On Tue, Dec 13, 2022 at 8:40 AM Guglielmo, Tyler Hardy via petsc-users < [email protected]> 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 > I think this is what TSTrajectory is for. I believe you want https://petsc.org/main/docs/manualpages/TS/TSTRAJECTORYMEMORY/ Thanks, Matt > Thanks for your time, > > Tyler > > > > +++++++++++++++++++++++++++++ > > Tyler Guglielmo > > Postdoctoral Researcher > > Lawrence Livermore National Lab > > Office: 925-423-6186 > > Cell: 210-480-8000 > > +++++++++++++++++++++++++++++ > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
