<div dir="ltr"><div>Thank you!, the method that you give me to stop the evolution, works perfectly. However, there is an error, I can&#39;t read the output data as initial data for my Brill wave evolution. <br></div><div><br></div><div>My thorn IDBrillMoL evolves the conformal factor (which I named phi because the initial data is obtained through a wave-like equation), and when the criteria is reached, it stops the evolution and saves a checkpoint with that iteration. For the evolution I wrote a thorn named BrillEvolve and I assigned memory to a variable named &quot;brillpsi&quot; which will store the initial conformal factor. When I read the data (checkpoint) I got the error:  No matching variable found for &#39;IDBRILLMOL::phi&#39;</div><div><br></div><div>According to the readingfile interface, I can read a variable and set in a different variable with the option alias, so, I try</div><div><br></div><div>IO::filereader_ID_vars  = &quot;BrillEvolve::brillpsi{alias=&#39;IDBRILLMOL::phi&#39;}&quot;</div><div><br></div><div>but I got the error above described. Can you help me with this? <span class="gmail-_5yl5"><span>Am I misunderstanding how the readingfile interface works?</span></span></div><div><span class="gmail-_5yl5"><span><br></span></span></div><div><span class="gmail-_5yl5"><span>Erik<br></span></span></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">El lun., 14 oct. 2019 a las 9:44, Haas, Roland (&lt;<a href="mailto:rhaas@illinois.edu" target="_blank">rhaas@illinois.edu</a>&gt;) escribió:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello Erik,<br>
<br>
as to how to decide to stop: the simplest way would be to compute a<br>
pointwise stopping criterion (maybe magnitude of the right-hand-side or<br>
so) then do a reduction on it using the CCTK_Reduce function<br>
(assuming you are using Carpet), see eg. the code in Hydro_Analysis to<br>
compute the center of mass: <br>
<br>
<a href="https://bitbucket.org/einsteintoolkit/einsteinanalysis/src/master/Hydro_Analysis/src/CoreCentroid.c#lines-100" rel="noreferrer" target="_blank">https://bitbucket.org/einsteintoolkit/einsteinanalysis/src/master/Hydro_Analysis/src/CoreCentroid.c#lines-100</a><br>
<br>
the function itself is documented here:<br>
<br>
<a href="https://www.einsteintoolkit.org/usersguide/UsersGuidech9.html#verbatim-63" rel="noreferrer" target="_blank">https://www.einsteintoolkit.org/usersguide/UsersGuidech9.html#verbatim-63</a><br>
<br>
Once you have decided to stop, terminate the simulation by calling<br>
CCTK_TerminateNext<br>
(<a href="https://www.einsteintoolkit.org/referencemanual/ReferenceManualch2.html#x4-192000A2" rel="noreferrer" target="_blank">https://www.einsteintoolkit.org/referencemanual/ReferenceManualch2.html#x4-192000A2</a>)<br>
making sure to have enabled the option to write a checkpoint when<br>
terminating (io::checkpoint_on_terminate = yes).<br>
<br>
You can read data from the checkpoint as initial data using the<br>
filereader interface <br>
<br>
<a href="https://www.einsteintoolkit.org/thornguide/CactusBase/IOUtil/documentation.html#x1-1000010" rel="noreferrer" target="_blank">https://www.einsteintoolkit.org/thornguide/CactusBase/IOUtil/documentation.html#x1-1000010</a><br>
<br>
and if you need to change grid structure, you can use the<br>
ReadInterpolate thorn<br>
(<a href="https://github.com/rhaas80/ReadInterpolate/tree/master/ReadInterpolate" rel="noreferrer" target="_blank">https://github.com/rhaas80/ReadInterpolate/tree/master/ReadInterpolate</a>),<br>
which is however a bit more complex to use.<br>
<br>
If you need to change data in between what was checkpointed and what<br>
needs to be evolved you will have to add routines to the INITIAL bin<br>
after IOUtil_RecoverIDFromDatafiles (see IOUtil&#39;s schedule.ccl).<br>
<br>
Hope this helps getting you started.<br>
<br>
Yours,<br>
Roland<br>
<br>
&gt; Dear all<br>
&gt; <br>
&gt; I&#39;m trying to construct Brill wave initial data by transforming the<br>
&gt; elliptic pde equation for the conformal factor in to a wave-like equation<br>
&gt; with a source. After reaching a stationary state, I want to stop the<br>
&gt; evolution and give the stationary state as an initial data for the BSSN<br>
&gt; system.<br>
&gt; <br>
&gt; I&#39;m evolving the wave-like equation with MoL and my question is, How can I<br>
&gt; stop the MoL evolution if the solution reaches the numerical tolerance and<br>
&gt; then pass it as initial data?<br>
&gt; <br>
&gt; Erik<br>
<br>
<br>
<br>
-- <br>
My email is as private as my paper mail. I therefore support encrypting<br>
and signing email messages. Get my PGP key from <a href="http://pgp.mit.edu" rel="noreferrer" target="_blank">http://pgp.mit.edu</a> .<br>
</blockquote></div>