Hi all,
I have a small thorn which might be useful for debugging. It enables output of grid variables on each MoL substep, so you can see what is happening on each one. The variables are output into files with the substep number appended, so you get, for example,
phi.x.asc phi_0.x.asc phi_1.x.asc phi_2.x.asc
for a 3-step method (e.g. RK3). The first step is 0 (in contrast to how MoL counts internally, which is backwards).
This happens
in MoL_Step after MoL_RHSBoundaries before MoL_NaNCheck
which should be sufficient. You could also manually modify the schedule to investigate at other points, if that is useful to you.
You use the thorn by setting the parameter SubstepOutput::vars to the list of variables or groups you want to output, for example
SubstepOutput::vars = "Wave::phi Wave::pi Wave::phirhs Wave::pirhs"
You can also set the output method to use:
SubstepOutput::output_method = "IOHDF5"
It defaults to IOASCII_1D.
You can get this thorn using
git clone https://bitbucket.org/ianhinder/substepoutput.git SubstepOutput
It might be appropriate for this functionality to be implemented in MoL instead.
On Fri, Mar 16, 2012 at 7:03 AM, Ian Hinder ian.hinder@aei.mpg.de wrote:
Hi all,
I have a small thorn which might be useful for debugging. It enables output of grid variables on each MoL substep, so you can see what is happening on each one. The variables are output into files with the substep number appended, so you get, for example,
phi.x.asc phi_0.x.asc phi_1.x.asc phi_2.x.asc
for a 3-step method (e.g. RK3). The first step is 0 (in contrast to how MoL counts internally, which is backwards).
This happens
in MoL_Step after MoL_RHSBoundaries before MoL_NaNCheck
This means that the output corresponds to the internal state just before the respective step, right? If so, that should be worth mentioning -- Cactus output for iteration N corresponds to the state after iteration N, not before.
-erik
On 16 Mar 2012, at 14:04, Erik Schnetter wrote:
On Fri, Mar 16, 2012 at 7:03 AM, Ian Hinder ian.hinder@aei.mpg.de wrote:
Hi all,
I have a small thorn which might be useful for debugging. It enables output of grid variables on each MoL substep, so you can see what is happening on each one. The variables are output into files with the substep number appended, so you get, for example,
phi.x.asc phi_0.x.asc phi_1.x.asc phi_2.x.ascfor a 3-step method (e.g. RK3). The first step is 0 (in contrast to how MoL counts internally, which is backwards).
This happens
in MoL_Step after MoL_RHSBoundaries before MoL_NaNCheckThis means that the output corresponds to the internal state just before the respective step, right? If so, that should be worth mentioning -- Cactus output for iteration N corresponds to the state after iteration N, not before.
Yes. It's the output before the time integrator "addition" step, but after the right-hand-sides are calculated. So the first right hand side is in 0, the second in 1, etc. For the evolved variables, phi_0 should contain the phi of the previous time-step.
users@lists.einsteintoolkit.org