<div dir="ltr">Ian<div><br></div><div>The operating system will zero all pages before the application sees them. Malloc and friends will reuse memory from the operating system without zeroing it. In practice, the first malloc calls will see all zeros, later ones (especially for smaller regions) might see non-zeros. Carpet does not set anything to zero, but it can set things to nan if you ask it to. MoL will also set the RHS to zero by default before every iteration.</div><div><br></div><div>-erik</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Oct 7, 2016 at 9:31 AM, Roland Haas <span dir="ltr">&lt;<a href="mailto:rhaas@illinois.edu" target="_blank">rhaas@illinois.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello Ian,<br>
<br>
ah, these are all tricky questions.<br>
<span class=""><br>
&gt; which is a bit surprising.  This might come from the old issue of the<br>
&gt; intersection between outer boundaries and interpatch boundaries not<br>
&gt; being correctly initialised by the combination of Interpolate2 and<br>
&gt; McLachlan.  Last time I checked though, this may have been fixed.  If<br>
&gt; you don&#39;t use poison, does Carpet zero the variables, or leave them<br>
&gt; uninitialised?  In which case, does the OS zero them?  Presumably new<br>
&gt; memory from the OS is zeroed (for security/privacy reasons), but if<br>
&gt; the memory has been malloc/freed already by the cactus process, then<br>
&gt; maybe it is random.<br>
</span>Yes, the OS would zero, malloc does not have to. new() on the other<br>
hand will also zero (you&#39;d have to check if CarpetLib uses new() or<br>
malloc() or posix_memalign() to get new memory, I believe it is<br>
actually malloc).<br>
<span class=""><br>
&gt; Now, another related question.  Is it possible to change the number<br>
&gt; of CarpetRegrid2 centres during evolution?  The num_centres parameter<br>
&gt; is non-steerable, and indeed CarpetRegrid2 only looks at the centre<br>
&gt; parameters initially (otherwise every recovery would overwrite the<br>
&gt; dynamical centre variables with the parameter values).  Ideally, I<br>
&gt; would have set num_centres to a larger value when I started the run,<br>
&gt; but I didn&#39;t.<br>
&gt;<br>
&gt; We just need to make sure that CarpetRegrid2 runs INIT_CENTRE (from<br>
&gt; initialise.cc) on any newly added centres on recovery.  This is done<br>
&gt; in WRAGH, and then similar to the previous issue, overwritten by<br>
&gt; recovery.  So this should just work?<br>
</span>Yes that would work. You just have to make sure you can identify new<br>
levels, eg. by their number of levels being -42 or similar. The<br>
alternative is to use the Trigger thorn and set the grid scalars (see<br>
the NSNS gallery parfile and look for<br>
<br>
Trigger::Trigger_Steered_<wbr>Scalar[1] = &quot;CarpetRegrid2::num_levels[2]&quot;<br>
<br>
Since you can change the grid scalars and &quot;activate&quot; more levels.<br>
<div class="HOEnZb"><div class="h5"><br>
Yours,<br>
Roland<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://keys.gnupg.net" rel="noreferrer" target="_blank">http://keys.gnupg.net</a>.<br>
</div></div><br>______________________________<wbr>_________________<br>
Users mailing list<br>
<a href="mailto:Users@einsteintoolkit.org">Users@einsteintoolkit.org</a><br>
<a href="http://lists.einsteintoolkit.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.einsteintoolkit.<wbr>org/mailman/listinfo/users</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Erik Schnetter &lt;<a href="mailto:schnetter@cct.lsu.edu" target="_blank">schnetter@cct.lsu.edu</a>&gt;<br><a href="http://www.perimeterinstitute.ca/personal/eschnetter/" target="_blank">http://www.perimeterinstitute.ca/personal/eschnetter/</a></div>
</div>