It is also possible to read the solutions back from the trajectory object 
from your running code. It is not just for saving to files.


> On Dec 13, 2022, at 12:51 PM, Zhang, Hong via petsc-users 
> <petsc-users@mcs.anl.gov> wrote:
> 
> Tyler,
> 
> The quickest solution is to use TSTrajectory as Matt mentioned. You can add 
> the following command line options to save the solution into a binary file 
> under a folder at each time step.
> 
> -ts_save_trajectory -ts_trajectory_type visualization 
> 
> The folder name and the file name can be customized with 
> -ts_trajectory_dirname and -ts_trajectory_file_template.
> 
> If you want to load these files into Matlab, you can use some scripts in 
> share/petsc/matlab/ such as PetscReadBinaryTrajectory.m and PetscBinaryRead.m.
> 
> The python versions of these scripts are available in lib/petsc/bin/.
> 
> Hong(Mr.)
> 
>> On Dec 13, 2022, at 12:14 AM, Guglielmo, Tyler Hardy via petsc-users 
>> <petsc-users@mcs.anl.gov <mailto:petsc-users@mcs.anl.gov>> wrote:
>> 
>> Hi all,
>>  
>> I am a new PETSc user (and new to MPI in general), and was wondering if 
>> someone could help me out with what I am sure is a basic question (if this 
>> is not the appropriate email list or there is a better place please let me 
>> know!).
>>  
>> Basically, I am writing a code that requires a solution to an ODE that will 
>> be used later on during runtime.  I have written the basic ODE solver using 
>> TSRK, however I haven’t thought of a good way to store the actual solution 
>> at all time steps throughout the time evolution.  I would like to avoid 
>> writing each time step to a file through the monitor function, and instead 
>> just plug each time step into an array.
>>  
>> How is this usually done?  I suppose the user defined struct that gets 
>> passed into the monitor function could contain a pointer to an array in 
>> main?  This is how I would do this if the program wasn’t of the MPI variety, 
>> but I am not sure how to properly declare a pointer to an array declared as 
>> Vec and built through the usual PETSc process.  Any tips are greatly 
>> appreciated!
>>  
>> Thanks for your time,
>> Tyler
>>  
>> +++++++++++++++++++++++++++++
>> Tyler Guglielmo
>> Postdoctoral Researcher
>> Lawrence Livermore National Lab
>> Office: 925-423-6186
>> Cell: 210-480-8000
>> +++++++++++++++++++++++++++++
> 

Reply via email to