[petsc-users] how to get full trajectory from TS into petsc binary

Ed Bueler elbueler at alaska.edu
Tue Mar 1 00:39:57 CST 2016


Barry --

Will try it.

> ... since, presumably, other more powerful IO tools exist that would be
used for "real" problems?

I know there are tools for snapshotting from PETSc, e.g. VecView to .vtk.
In fact petsc binary seems fairly convenient for that.  On the other hand,
I am not sure I've ever done anything "real".  ;-)

Anyone out there:  Are there a good *convenient* tools for saving
space/time-series (= movies) from PETSc TS?  I want to add frames and
movies from PETSc into slides, etc.  I can think of NetCDF but it seems
not-very-convenient, and I am worried not well-supported from PETSc.  Is
setting up TS with events (=TSSetEventMonitor()) and writing separate
snapshot files the preferred scalable usage, despite the extra effort
compared to "-ts_monitor_solution binary:foo.dat"?

Ed


On Mon, Feb 29, 2016 at 8:53 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:

>
>   Ed,
>
>    I have added a branch barry/feature-ts-monitor-binary  that supports
> -ts_monitor binary:timesteps that will store in simple binary format each
> of the time steps associated with each solution. This in conjugation with
> -ts_monitor_solution binary:solutions will give you two files you can read
> in. But note that timesteps is a simple binary file of double precision
> numbers you should read in directly in python, you cannot use
> PetscBinaryIO.py which is what you will use to read in the solutions file.
>
>   Barry
>
> Currently PETSc has a binary file format where we can save Vec, Mat, IS,
> each is marked with a type id for PetscBinaryIO.py to detect, we do not
> have type ids for simple double precision numbers or arrays of numbers.
> This is why I have no way of saving the time steps in a way that
> PetscBinaryIO.py could read them in currently. I don't know how far we want
> to go in "spiffing up" the PETSc binary format to do more elaborate things
> since, presumably, other more power IO tools exist that would be used for
> "real" problems?
>
>
> > On Feb 29, 2016, at 3:24 PM, Ed Bueler <elbueler at alaska.edu> wrote:
> >
> > Dear PETSc --
> >
> > I have a short C ode code that uses TS to solve  y' = g(t,y)  where y(t)
> is a 2-dim'l vector.  My code defaults to -ts_type rk so it does adaptive
> time-stepping; thus using -ts_monitor shows times at stdout:
> >
> > $ ./ode -ts_monitor
> > solving from t0 = 0.000 with initial time step dt = 0.10000 ...
> > 0 TS dt 0.1 time 0.
> > 1 TS dt 0.170141 time 0.1
> > 2 TS dt 0.169917 time 0.270141
> > 3 TS dt 0.171145 time 0.440058
> > 4 TS dt 0.173931 time 0.611203
> > 5 TS dt 0.178719 time 0.785134
> > 6 TS dt 0.0361473 time 0.963853
> > 7 TS dt 0.188252 time 1.
> > error at tf = 1.000 :  |y-y_exact|_inf = 0.000144484
> >
> > I want to output the trajectory in PETSc binary and plot it in python
> using bin/PetscBinaryIO.py.  Clearly I need the times shown above to do
> that.
> >
> > Note "-ts_monitor_solution binary:XX" gives me a binary file with only y
> values in it, but not the corresponding times.
> >
> > My question is, how to get those times in either the same binary file
> (preferred) or separate binary files?  I have tried
> >
> > $ ./ode -ts_monitor binary:foo.dat    # invalid
> > $ ./ode -ts_monitor_solution binary:bar.dat   # no t in file
> > $ ./ode -ts_monitor_solution binary:baz.dat -ts_save_trajectory   # no t
> in file
> >
> > without success.  (I am not sure what the boolean option
> -ts_save_trajectory does, by the way.)
> >
> > Thanks!
> >
> > Ed
> >
> > PS Sorry if this is a "RTFM" question, but so far I can't find the
> documentation.
> >
> >
> > --
> > Ed Bueler
> > Dept of Math and Stat and Geophysical Institute
> > University of Alaska Fairbanks
> > Fairbanks, AK 99775-6660
> > 301C Chapman and 410D Elvey
> > 907 474-7693 and 907 474-7199  (fax 907 474-5394)
>
>


-- 
Ed Bueler
Dept of Math and Stat and Geophysical Institute
University of Alaska Fairbanks
Fairbanks, AK 99775-6660
301C Chapman and 410D Elvey
907 474-7693 and 907 474-7199  (fax 907 474-5394)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20160229/966f9f67/attachment.html>


More information about the petsc-users mailing list