<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<tt>Actually, a supernova is another (heat) source term. So rather
than "adjust", simply "heat" and no modifications to the code are
needed.<br>
<br>
Tomek<br>
--</tt><br>
<div class="moz-cite-prefix">On 06/07/17 11:03, Joshua Wall wrote:<br>
</div>
<blockquote
cite="mid:CAHnUEoxKxmV8DZ=g3-q1TjDdHVOFft_yp=QH1PYFJkSydq3s-A@mail.gmail.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<div dir="ltr">Hello all,
<div><br>
</div>
<div> Actually, I don't normally use the USM solver (though
I'm trying it recently thanks to Sean!) so I hadn't looked at
the Driver_evolveFlash for it. But I now noticed that it looks
like it calculates the timestep for everything *before*
Simulation_adjustEvolution is called. I think if the line for
Simulation_adjustEvolution is moved ahead of the timestep
calculation (where presumably the sound speed / velocity /
pressure of the gas is changed) then the timestep calculation
will pick it up and set the correct timestep for Hydro to take
(which is likely larger than dtinit but smaller than before
the SN explosion).</div>
<div><br>
</div>
<div> So I guess I'm advocating this should likely be the
default ordering in Flash.</div>
<div><br>
</div>
<div>Cordially,</div>
<div><br>
</div>
<div>Josh</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr">On Wed, Jun 7, 2017 at 4:55 PM Sean M. Couch <<a
moz-do-not-send="true" href="mailto:couch@pa.msu.edu">couch@pa.msu.edu</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word">
<div id="m_4322912710388861993bloop_customfont"
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">Hi
Jon,</div>
<div id="m_4322912710388861993bloop_customfont"
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><br>
</div>
<div id="m_4322912710388861993bloop_customfont"
style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">I
think you could have also simply set the runtime parameter
`dtmax` equal to `dtinit`, or some other small value, to
achieve this in a simpler way without editing the code.</div>
<br>
<div
id="m_4322912710388861993bloop_sign_1496847266096630016"
class="m_4322912710388861993bloop_sign">Cheers,
<div>Sean</div>
</div>
</div>
<div style="word-wrap:break-word">
<br>
<p class="m_4322912710388861993airmail_on">On June 7, 2017
at 9:37:19 AM, Slavin, Jonathan (<a moz-do-not-send="true"
href="mailto:jslavin@cfa.harvard.edu" target="_blank">jslavin@cfa.harvard.edu</a>)
wrote:</p>
<blockquote type="cite"
class="m_4322912710388861993clean_bq"><span>
<div>
<div>
<div dir="ltr">
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif;font-size:small">
Hi all,</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif;font-size:small">
<br>
</div>
<div class="gmail_default"
style="font-family:arial,helvetica,sans-serif;font-size:small">
Just thought that I'd let you know that I got my
multiple explosion runs working. What made all
the difference is setting the time step to a
very small value, I used the initial dt value.
So this involved adding</div>
<div class="gmail_default"><font face="arial,
helvetica, sans-serif">use Driver_data, ONLY :
dr_dtInit</font><br>
</div>
<div class="gmail_default"><font face="arial,
helvetica, sans-serif"><br>
</font></div>
<div class="gmail_default"><font face="arial,
helvetica, sans-serif">and changing the
declaration of dt to</font></div>
<div class="gmail_default"><font face="arial,
helvetica, sans-serif">real, intent(inout) ::
dt<br>
</font></div>
<div class="gmail_default"><font face="arial,
helvetica, sans-serif">(Can one change a value
of a variable declared intent(in)?)</font></div>
<div class="gmail_default"><font face="arial,
helvetica, sans-serif">and then when the
explosion is initiated setting dt = dr_dtInit</font></div>
<div class="gmail_default"><font face="arial,
helvetica, sans-serif">So all the issues of
large B fluctuations was due to the overly
large time step at the moment the explosion is
initiated.</font></div>
<div class="gmail_default"><font face="arial,
helvetica, sans-serif"><br>
</font></div>
<div class="gmail_default"><font face="arial,
helvetica, sans-serif">Jon</font></div>
<div class="gmail_default"><font face="arial,
helvetica, sans-serif"><br>
</font></div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Mon, Jun 5, 2017 at
4:22 AM, Joshua Wall <span dir="ltr">
<<a moz-do-not-send="true"
href="mailto:joshua.e.wall@gmail.com"
target="_blank">joshua.e.wall@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px
#ccc solid;padding-left:1ex">
<div dir="ltr">Hello Jon and Klaus,
<div><br>
</div>
<div> I have been thinking about guard
cell filling in Jon's problem (and I'm
also tracking down a bug at the moment I
think is related to gc filling) and
perhaps have hit on something. So I
wanted to check with Klaus and see if
this is correct.</div>
<div><br>
</div>
<div> I see in the call for
Grid_fillGuardCells.F90 right at the
top:</div>
<div><br>
</div>
<div>
<div><font face="monospace"> !We can
skip this guard cell fill if the
guard cells are up to date.</font></div>
<div><font face="monospace"> if
(gridDataStruct /= WORK) then</font></div>
<div><font face="monospace">
skipThisGcellFill =
gr_gcellsUpToDate</font></div>
<div><font face="monospace"> else</font></div>
<div><font face="monospace">
skipThisGcellFill = .false.</font></div>
<div><font face="monospace"> end if</font></div>
<div><br>
</div>
<div>This looks to me like if I haven't
called:</div>
<div><br>
</div>
<div><font face="monospace">call
Grid_notifySolnDataUpdate( (/
EINT_VAR, DENS_VAR, ENER_VAR /) )</font><br>
</div>
<div><br>
</div>
That silently the guard cell filling
call will be ignored if they were filled
just before my routine modified
variables without notifying the Grid
unit. Is that correct Klaus?</div>
<div><br>
</div>
<div>If so, this may also be Jon's error.</div>
<div><br>
</div>
<div>Cordially,</div>
<div><br>
</div>
<div>Josh</div>
<div>
<div class="m_4322912710388861993h5">
<div><br>
</div>
<div><br>
</div>
<div><br>
<div class="gmail_quote">
<div dir="ltr">On Wed, May 31,
2017 at 12:01 AM Klaus Weide
<<a moz-do-not-send="true"
href="mailto:klaus@flash.uchicago.edu"
target="_blank">klaus@flash.uchicago.edu</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote"
style="margin:0 0 0
.8ex;border-left:1px #ccc
solid;padding-left:1ex">
On Fri, 26 May 2017, Joshua Wall
wrote:<br>
<br>
> Hello Jon,<br>
><br>
> There's two ways to do
the EOS update. One is to call
Eos_wrapped at<br>
> the end of the block loop
on each block you update as you
go through the<br>
> loop. Make sure you pass
which mode you want based on the
variables you<br>
> updated, which here sounds
like pressure and internal
energy.<br>
<br>
That's usually the way to do it.<br>
<br>
> So that would<br>
> look something like:<br>
><br>
><br>
> do blk=1, numBlocks<br>
><br>
> blockID = blockList(blk)<br>
><br>
> call
Grid_getBlkLimits(blockID,
blkLimits, blkLimitsGC)<br>
><br>
> call
Grid_getBlkPtr(blockID,
solnData)<br>
> do i<br>
> do j<br>
> do k<br>
><br>
>
solnData(DENS_VAR,i,j,k) =
stuff<br>
>
solnData(EINT_VAR,i,j,k) =
stuff<br>
<br>
To make sure the Eos_wrapped
call below does not get
confused,<br>
one should also modify ENER_VAR
when modifying EINT_VAR.<br>
Usually by adding the same
amount to both variables.<br>
(Even more variables should be
modified if using 3T Hydro<br>
and Eos.)<br>
<br>
><br>
> end do<br>
> end do<br>
> end do<br>
><br>
> call
Eos_wrapped(MODE_DENS_EI,
blkLimits, blockID)<br>
><br>
> end do<br>
><br>
> The other way to do it is
to:<br>
><br>
> call
Grid_fillGuardCells(CENTER,
ALL_DIR, LEAF, doEos=.true.,<br>
> eosMode=MODE_DENS_EI)<br>
<br>
1. This call is not valid as
written, or at least extremely
confusing.<br>
I assume the "LEAF" is meant as
a value for the (optional)<br>
"selectBlockType" dummy
argument; if that is true, the
call should be<br>
written as<br>
<br>
| call
Grid_fillGuardCells(CENTER,
ALL_DIR, selectBlockType=LEAF,<br>
|
doEos=.true.,eosMode=MODE_DENS_EI)<br>
<br>
Otherwise the compiler will
interpret it as
...,minLayers=LEAF,...,<br>
which is probably not intended.<br>
<br>
1. This call does *not* apply
the Eos to interior cells, but
only to<br>
(some) guard cells. In some
previous version of FLASH, the
doEos may have<br>
applied to all cells
(interior+guard), but that has
not been the case<br>
for several releases. Now the
Eos is only applied to guard
cells that<br>
correspond to neighboring blocks
at a different refinement.<br>
<br>
> This method ensures that
whatever happens next, not only
is the EOS updated<br>
> all values for each cell,
*but also those values are valid
in guard cells<br>
> on other processors*. I
mention this method because
using the Eos_wrapped<br>
> and forgetting to fill
guard cells after has been a
"gotcha" moment for me<br>
> in the past, and was a very
tricky error to track down. But
guard cell<br>
> filling is also expensive,
so if you know its safe to not
do it,<br>
> Eos_wrapped is the way to
go.<br>
<br>
The general rule should be:<br>
<br>
* call Eos_wrapped at the end
of your code, if you have
modified any<br>
variables that could make the
thermodynamic state
inconsistent;<br>
* call Grid_fillGuardCells at
the beginning of your code if
you need<br>
to refer to any variables in
guard cells - with or without
doEos<br>
depending on the needs of
your code.<br>
<br>
unless you *really* understand
the consequences of deviating
from this<br>
convention.<br>
<br>
Klaus<br>
</blockquote>
</div>
</div>
</div>
</div>
</div>
<div class="m_4322912710388861993HOEnZb">
<div class="m_4322912710388861993h5">
<div dir="ltr">--<br>
</div>
<div data-smartmail="gmail_signature">
<div dir="ltr">
<div>
<div>
<div>
<div>
<div>Joshua Wall<br>
</div>
Doctoral Candidate<br>
</div>
Department of Physics<br>
</div>
Drexel University<br>
</div>
3141 Chestnut Street<br>
</div>
Philadelphia, PA 19104<br>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
--<br>
<div
class="m_4322912710388861993gmail_signature"
data-smartmail="gmail_signature">
<div dir="ltr">
<div>
<div dir="ltr">________________________________________________________<br>
Jonathan D. Slavin
Harvard-Smithsonian CfA<br>
<a moz-do-not-send="true"
href="mailto:jslavin@cfa.harvard.edu"
target="_blank">jslavin@cfa.harvard.edu</a>
60 Garden Street, MS 83<br>
phone: <a moz-do-not-send="true"
href="tel:%28617%29%20496-7981"
value="+16174967981" target="_blank">(617)
496-7981</a> Cambridge, MA
02138-1516<br>
cell: <a moz-do-not-send="true"
href="tel:%28781%29%20363-0035"
value="+17813630035" target="_blank">(781)
363-0035</a> USA<br>
________________________________________________________<br>
<br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</span></blockquote>
</div>
</blockquote>
</div>
<div dir="ltr">-- <br>
</div>
<div data-smartmail="gmail_signature">
<div dir="ltr">
<div>
<div>
<div>
<div>
<div>Joshua Wall<br>
</div>
Doctoral Candidate<br>
</div>
Department of Physics<br>
</div>
Drexel University<br>
</div>
3141 Chestnut Street<br>
</div>
Philadelphia, PA 19104<br>
</div>
</div>
</blockquote>
<br>
</body>
</html>