<div dir="ltr"><div dir="ltr">On Tue, Dec 13, 2022 at 8:40 AM Guglielmo, Tyler Hardy via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="msg-556685674926605150">





<div lang="EN-US" style="overflow-wrap: break-word;">
<div class="m_-3462357312958937551WordSection1">
<p class="MsoNormal">Hi all,<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">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!).<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">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.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">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</p></div></div></div></blockquote><div><br></div><div>I think this is what TSTrajectory is for. I believe you want <a href="https://petsc.org/main/docs/manualpages/TS/TSTRAJECTORYMEMORY/">https://petsc.org/main/docs/manualpages/TS/TSTRAJECTORYMEMORY/</a></div><div><br></div><div>  Thanks,</div><div><br></div><div>      Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="msg-556685674926605150"><div lang="EN-US" style="overflow-wrap: break-word;"><div class="m_-3462357312958937551WordSection1">
<p class="MsoNormal">Thanks for your time,<u></u><u></u></p>
<p class="MsoNormal">Tyler<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">+++++++++++++++++++++++++++++<u></u><u></u></p>
<p class="MsoNormal">Tyler Guglielmo<u></u><u></u></p>
<p class="MsoNormal">Postdoctoral Researcher<u></u><u></u></p>
<p class="MsoNormal">Lawrence Livermore National Lab<u></u><u></u></p>
<p class="MsoNormal">Office: 925-423-6186<u></u><u></u></p>
<p class="MsoNormal">Cell: 210-480-8000<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal">+++++++++++++++++++++++++++++<u></u><u></u></p>
</div>
</div>

</div></blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>