[aspect-devel] Postprocessing scripts

John Naliboff jbnaliboff at ucdavis.edu
Tue Oct 30 16:00:02 PDT 2018


Hi Max,

That would be great, thank you!

Cheers,
John

On 10/30/18 1:35 PM, Max Rudolph wrote:
> I am happy to open a pull request containing my python scripts to 
> interpolate output. They won't work for all conceivable cases, 
> especially DG elements where nodal values can be multiply defined.
>
> Max
>
> On Tue, Oct 30, 2018 at 1:29 PM John Naliboff <jbnaliboff at ucdavis.edu 
> <mailto:jbnaliboff at ucdavis.edu>> wrote:
>
>     Hi all,
>
>     I agree with Jonathan that a repository containing post processing
>     scripts (Paraview, Visit, Python, etc, etc) would be incredibly
>     useful.  In fact, Max Rudolph raised this question on the mailing
>     with respect to post processing scripts developed at CIDER. I
>     believe the consensus was that we should include this type of
>     script collection in the main repository.
>
>     Marine - If you prefer to work outside of Paraview, you can also
>     import unstructured VTK data into numpy arrays in python.
>
>      Here is a link to an example of doing this data conversion (VTK
>     to numpy):
>     https://stackoverflow.com/questions/23138112/vtk-to-maplotlib-using-numpy
>
>     Happy to send over some of my own scripts as well.
>
>     However, as Wolfgang noted for very large data sets this will be
>     prohibitively time consuming and memory intensive. Perhaps there
>     are way to speed this up through cython and  python's openmp
>     functionality, but I have not looked into it. Paraview can be run
>     in parallel and it really is the most efficient way to process and
>     explore large data sets.
>
>     Cheers,
>     John
>
>     On 10/30/18 11:32 AM, Jonathan Perry-Houts wrote:
>>     Perhaps a repository of paraview filters would be useful. It's possible
>>     to save a "pipeline" as a filter, and expose certain variables to the
>>     user through it.
>>
>>     Marine: I agree with Wolfgang that this is not an efficient way to do
>>     things, but it does come in handy sometimes. For what it's worth, here's
>>     a script to convert vtk output to csv, which you can then handle with
>>     the usual python tools:
>>
>>     ```
>>        import glob
>>        from paraview import simple as pvsimple
>>
>>        for ifname in glob('output/solution/*.pvtu'):
>>          ofname = ifname.rsplit('.', 1)[0]+'.csv'
>>
>>          reader = pvsimple.OpenDataFile(ifname)
>>          writer = pvsimple.CreateWriter(ofname, reader)
>>          writer.FieldAssociation = 'Points'
>>          writer.UpdatePipeline()
>>     ```
>>
>>     I also highly recommend compressing those files, because they'll
>>     probably be enormous:
>>
>>     ```
>>        import gzip, os, shutil
>>
>>        with open(ofname, 'rb') as f_in, \
>>          gzip.open(ofname+'.gz', 'wb') as f_out:
>>            shutil.copyfileobj(f_in, f_out)
>>
>>        os.remove(ofname)
>>     ```
>>
>>     numpy (and probably Pandas and whatnot) automatically recognize gzipped
>>     data and treat it transparently as a plain csv file.
>>
>>     Hope that helps someone,
>>     -JPH
>>
>>     On 10/30/18 10:11 AM, Wolfgang Bangerth wrote:
>>>     Marine,
>>>     I'm not sure anyone ever answered this email -- so let me do this 3
>>>     months late...
>>>
>>>
>>>>     But to be able to do a good comparisons with existing results, I'll need
>>>>     things like horizontal averages (of composition, temperature,
>>>>     velocities) and difference between the field and the horizontal average
>>>>     (of composition, temperature). But the horizontal here is average over a
>>>>     sphere, so I am guessing the post-processors are not so easy. (to get
>>>>     average radial profiles)
>>>     This is actually what our 'depth average' postprocessor does -- average
>>>     over all points at a certain depth where depth is defined differently
>>>     for each geometry.
>>>
>>>
>>>>     I'm definitely not used to paraview, and I'm more used to do all my data
>>>>     processing by hand... So a good tutorial on how to implement that with
>>>>     paraview or equivalent, with a scripting (I usually have several dozens
>>>>     of runs to process at a time) would be nice :-) But so far, I think that
>>>>     a way to obtain a list of the points and values in the volume (without
>>>>     duplicates), and maybe something to do the interpolation at required
>>>>     points would be nice.
>>>     This isn't going to be efficient. There may be tens of millions of
>>>     points in a simulation, and they are stored by maybe hundreds of
>>>     processors, and the interpolation between individual points is really
>>>     quite complicated if you have a non-trivial geometry. There are really
>>>     only two efficient ways to deal with this much data: by outputting the
>>>     data in specialized file formats for visualization, and by implementing
>>>     postprocessors within ASPECT. I know that you'd like to do this by hand
>>>     in some scripting language, but don't do it -- you won't be happy this
>>>     way if the data just becomes too large.
>>>
>>>     Best
>>>        W.
>>>
>>     _______________________________________________
>>     Aspect-devel has MOVED to our new forum.  Please head tohttps://community.geodynamics.org.
>>
>>     This mailing address will be disabled at the end of October.
>>     _______________________________________________
>>     Aspect-devel mailing list
>>     Aspect-devel at geodynamics.org  <mailto:Aspect-devel at geodynamics.org>
>>     http://lists.geodynamics.org/cgi-bin/mailman/listinfo/aspect-devel
>
>     _______________________________________________
>     Aspect-devel has MOVED to our new forum.  Please head to
>     https://community.geodynamics.org.
>
>     This mailing address will be disabled at the end of October.
>     _______________________________________________
>     Aspect-devel mailing list
>     Aspect-devel at geodynamics.org <mailto:Aspect-devel at geodynamics.org>
>     http://lists.geodynamics.org/cgi-bin/mailman/listinfo/aspect-devel
>
>
> _______________________________________________
> Aspect-devel has MOVED to our new forum.  Please head to https://community.geodynamics.org.
>
> This mailing address will be disabled at the end of October.
> _______________________________________________
> Aspect-devel mailing list
> Aspect-devel at geodynamics.org
> http://lists.geodynamics.org/cgi-bin/mailman/listinfo/aspect-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.geodynamics.org/pipermail/aspect-devel/attachments/20181030/b78b316d/attachment.html>


More information about the Aspect-devel mailing list