[Paraview] Streamlines with an octree/hierarchical grid

Ethan Hereth e.a.hereth at gmail.com
Thu Jul 14 10:56:24 EDT 2016


Thank you so much Andy,

That's precisely the type of answer I was looking for. Now I know where to
start looking and approximately the scope of the problem.

Cheers!

On Thu, Jul 14, 2016 at 10:25 AM Andy Bauer <andy.bauer at kitware.com> wrote:

> Hi Ethan,
>
> I think you're going to need to export your data differently from your
> solver. You could hack around for a solution but it would probably cause
> different issues with different filters and I don't see any filters that
> would get you to a proper representation of your data in the VTK data
> model.
>
> The ParaView Catalyst User's Guide (
> http://www.paraview.org/files/catalyst/docs/ParaViewCatalystUsersGuide_v2.pdf)
> has some more in-depth information on the different data sets in VTK and
> some explanations on how to programmatically construct them. It's probably
> not exactly what you want but more detailed than the ParaView User's Guide.
> A short description of the format you probably want to use is
> http://www.paraview.org/Wiki/ParaView/Users_Guide/List_of_readers#XML_UniformGrid_AMR_Reader
> .
>
> Best,
> Andy
>
>
> On Wed, Jul 13, 2016 at 4:57 PM, Ethan Hereth <e.a.hereth at gmail.com>
> wrote:
>
>> Thanks for looking into this for me.
>>
>> I'm unclear how exactly to implement the solution you have suggested.
>> Does this solution require me to export my data differently from my solver?
>> Or can I somehow use paraview to convert my dataset into one of the
>> AMR/Hierarchical datasets you mentioned? I'm sorry to sound so noobish,
>> please bear with me.
>>
>> I looked in the community edition Paraview user guide (for version 5.0)
>> and didn't find anything about any of these filters. Am I missing something
>> or looking for the wrong things?
>>
>> I guess the crux of my question here is, can I use the data I have
>> already and have paraview convert it into something more appropriate? Or do
>> I need to write code to either export my data differently or convert my
>> data outside of paraview? And, if you will, could you give me an outline of
>> the appropriate approach to get me started?
>>
>> Thanks a lot.
>>
>> On Wed, Jul 13, 2016 at 9:18 AM Andy Bauer <andy.bauer at kitware.com>
>> wrote:
>>
>>> Hi Ethan,
>>>
>>> The issue here is that unstructured grids (which is what you have here)
>>> doesn't support non-conforming grids (e.g. octree grids with "hanging"
>>> nodes). So in this case the stream tracer filter is trying to traverse the
>>> grid by using cell adjacency information and because there isn't proper
>>> connectivity information at the interfaces between different octree levels
>>> the grid traversal thinks it has hit a boundary and stops.
>>>
>>> The proper way to model this octree grid in VTK is through a
>>> vtkNonOverlappingAMR, vtkOverlappingAMR or vtkHierarchicalBoxDataSet. See
>>> http://www.vtk.org/doc/nightly/html/classvtkUniformGridAMR.html for
>>> information on that and either the VTK or ParaView users guides.
>>>
>>> Cheers,
>>> Andy
>>>
>>> On Tue, Jul 12, 2016 at 4:27 PM, Ethan Hereth <e.a.hereth at gmail.com>
>>> wrote:
>>>
>>>> Andy,
>>>>
>>>> Thanks again.
>>>>
>>>> I don't think that there are any gaps, slicing the dataset surely
>>>> doesn't seem to indicate that to me. I don't follow you with respect to
>>>> using the clip filter to 'convert the AMR grid to an unstructured grid with
>>>> hex cells' What does that mean? I use the clip filter a lot, but for
>>>> isolating parts of the mesh that I'm particularly interested in. Am I
>>>> missing something here?
>>>>
>>>> I'll attach a state file demonstrating the issue I'm seeing on a much
>>>> simpler example case as well as the data. Maybe you'll have some time to
>>>> glance at it and point out my blunder? This case has three dimensional flow
>>>> but you'll notice how the streamlines simply terminate in the middle of the
>>>> flow field for no apparent reason, usually where elements in the grid
>>>> change level.
>>>>
>>>> I do sincerely appreciate your help here. It would help me out a lot if
>>>> you could help me figure out how to make nice streamlines with this kind of
>>>> data.
>>>>
>>>> Cheers,
>>>>
>>>> Ethan Alan
>>>>
>>>> On Tue, Jul 12, 2016 at 4:08 PM Andy Bauer <andy.bauer at kitware.com>
>>>> wrote:
>>>>
>>>>> Hi Ethan,
>>>>>
>>>>> I'm not sure updating to a newer version of ParaView will help here
>>>>> but it should be an easy thing to test out.
>>>>>
>>>>> I think the issue is that the grids aren't quite fitting tightly
>>>>> together like you think they are. It's tough to say why that is without
>>>>> having access to the data set but I'd suggest doing some slice planes
>>>>> through where the streamlines terminate early to see if there are any gaps
>>>>> there. The slice plane will automatically remove the ghost/blanked cells so
>>>>> it should be much easier to see any gaps between the octree leaves.
>>>>>
>>>>> I don't think the cell types should matter here but if you want to
>>>>> test out my assumption you can use the clip filter to convert the AMR grids
>>>>> to unstructured grids with hex cells. This will blow up the memory usage so
>>>>> it's not a good long term solution but ok for testing.
>>>>>
>>>>> Best,
>>>>> Andy
>>>>>
>>>>> On Tue, Jul 12, 2016 at 3:47 PM, Ethan Hereth <e.a.hereth at gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Andy,
>>>>>>
>>>>>> Thanks for your rapid response. The streamlines do indeed seem to end
>>>>>> near interfaces between leaves in the grid, but specifically when they are
>>>>>> at different levels in the octree; i.e. when one element has four neighbors
>>>>>> across any of its faces. I should be able to give an example of this
>>>>>> behavior. But I thought I'd give you this update first. At least most of
>>>>>> the times, in the cases that I've been experimenting with this afternoon,
>>>>>> the reason for termination is 1/'out of domain'
>>>>>>
>>>>>> I'm using a newish version of paraview (4.4.0) but I'll try on 5.0
>>>>>> soon. Also, I'm not sure that this is important, but he elements are VTK
>>>>>> Voxels, not hexahedra.
>>>>>>
>>>>>> Thanks for your help,
>>>>>>
>>>>>> On Tue, Jul 12, 2016 at 2:30 PM Andy Bauer <andy.bauer at kitware.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi Ethan,
>>>>>>>
>>>>>>> I've been able to use streamlines with a general multiblock data set
>>>>>>> that uses blanking. This may be slightly different than your data set but I
>>>>>>> don't see why it shouldn't work for you.
>>>>>>>
>>>>>>> Are the streamlines terminating near the interfaces between
>>>>>>> different leaves of the octree grid? If you look at the
>>>>>>> ReasonForTermination cell data output that should give you an idea. Note
>>>>>>> that values for that are:
>>>>>>>
>>>>>>>    1. out of domain
>>>>>>>    2. not initialized
>>>>>>>    3. unexpected value
>>>>>>>    4. streamline max length reached
>>>>>>>    5. maximum number of integration time steps reached
>>>>>>>    6. stagnation (velocity too close to zero)
>>>>>>>
>>>>>>>
>>>>>>> There are termination criteria for the filter (e.g. the options
>>>>>>> under Integration Parameters and Streamline Parameters in the Properties
>>>>>>> panel, some of them are advanced options so click on the gear to get access
>>>>>>> to those) so you may want to play with those.
>>>>>>>
>>>>>>> If you still have problems with this, could you share your data set
>>>>>>> for us to test with?
>>>>>>>
>>>>>>> Cheers,
>>>>>>> Andy
>>>>>>>
>>>>>>> On Tue, Jul 12, 2016 at 2:14 PM, Ethan Hereth <e.a.hereth at gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Good afternoon,
>>>>>>>>
>>>>>>>> I am trying to generate streamlines on a solution generated on an
>>>>>>>> octree style grid with hanging nodes/faces. I have cell centered data. The
>>>>>>>> problem is that the streamlines always end too early. I assume this has to
>>>>>>>> do with the incomplete connectivity inherent within this type of grid.
>>>>>>>>
>>>>>>>> My questions is, has anybody dealt with this before? And if so,
>>>>>>>> what might I try to get this to work?
>>>>>>>>
>>>>>>>> I've tried creating a 3D Delaunay tessellation from the cell
>>>>>>>> centers (obtained from the Cell Centers filter) but, at least for this
>>>>>>>> case, Paraview crashes. Also, converting the cell data to point data does
>>>>>>>> not take care of the problem.
>>>>>>>>
>>>>>>>> I've thought about attempting to interpolate my data onto a uniform
>>>>>>>> structured mesh and use that new dataset as the source for the streamline
>>>>>>>> filter, but I'm not sure how to go about doing that.
>>>>>>>>
>>>>>>>> Does anybody done this before or have any ideas about how I might
>>>>>>>> solve this problem?
>>>>>>>>
>>>>>>>> Thanks for your time,
>>>>>>>>
>>>>>>>> Ethan Alan
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Powered by www.kitware.com
>>>>>>>>
>>>>>>>> Visit other Kitware open-source projects at
>>>>>>>> http://www.kitware.com/opensource/opensource.html
>>>>>>>>
>>>>>>>> Please keep messages on-topic and check the ParaView Wiki at:
>>>>>>>> http://paraview.org/Wiki/ParaView
>>>>>>>>
>>>>>>>> Search the list archives at: http://markmail.org/search/?q=ParaView
>>>>>>>>
>>>>>>>> Follow this link to subscribe/unsubscribe:
>>>>>>>> http://public.kitware.com/mailman/listinfo/paraview
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>
>>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20160714/9515577c/attachment.html>


More information about the ParaView mailing list