| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
| |
Help ensure exact consistency while checkpointing and recovering:
Introduce new schedule groups MoL_PostStepModify and
MoL_PseudoEvolutionBoundaries. Correct scheduling of
MoL_PseudoEvolution.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@148 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
| |
than one map) exist on the current process
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@147 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I just encountered a weird case where evolving Minkowski with the
efficient RK4 implementation was not static. It turns out that the
reason was floating-point round-off error in RK4. During each of the
substeps, RK4 adds terms with factors of 1/3 and 2/3, and for the
final step, adds a term with a factor of 4/3. Due to round-off, these
terms do not cancel exactly, so that the time-evolved lapse is
slightly different from 1 (although all the lapse RHS terms are 0).
The same goes for the diagonal terms of the metric.
The attached patch keeps track of the round-off error when adding
these terms, leading to a more accurate integration result.
The problem described above is not always visible, but also depends on
optimisation settings.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@145 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@144 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Certain variables need to be calculated at every time step, but are
not evolved in time themselves. For example, the ADM constraints are
of this type.
Such calculations need to be scheduled in several locations:
- AT postinitial
- AT evol AFTER MoL_Evolution
- AT postregrid
- AT postregridinitial
- AT post_recover_variables (assuming these quantities are not checkpointed)
To simplify scheduling this, this new schedule group
MoL_PseudoEvolution is scheduled at all these times. Other thorns can
then schedule their calculations in this single location. This
simplifies their schedule specifications, and helps prevent errors
since people tend to forget to schedule at some of these times.
This group complements MoL_PostStep, where quantities can be
calculated that need to be re-calculated after every sub-time-step,
such as e.g. the ADM variables.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@139 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@138 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
| |
that boundary conditions, ADM variables etc. are correct after
recovering.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@137 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@133 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@132 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@131 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@130 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@129 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
| |
of calling it directly. This decouples thorn MoL from thorn
NaNChecker.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@128 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@127 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
| |
with 'Checkpoint="no"'
(fixes http://www.cactuscode.org/old/pipermail/developers/2007-October/005461.html)
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@126 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
| |
identified by Yosef Zlochower.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@125 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
|
|
|
| |
number of stusteps that the time integrator performs for one time
step.
This information can e.g. used to automatically calculate the
necessary number of buffer zones for mesh refinement.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@124 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
| |
boundaries and symmetries are applied correctly. (This is equivalent
to scheduling MoL_PostStep in POSTRESTRICT.)
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@123 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
| |
detected.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@122 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@121 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@120 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
| |
various routines in LEVEL mode.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@119 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@118 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@117 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
|
| |
arrays. This gets around the problems with the driver allocating the
scratch space differently on multiprocessors from the individual
arrays.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@116 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
| |
method. This fix should use minimal memory, and works even when there
is no storage for the array on the local processor.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@115 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
|
| |
This sets CCTK_DELTA_TIME in a different way to the standard MoL
method inside a bin in MoL_PostStep. I believe this is designed for
use with the standard Cactus Radiative boundary condition.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@114 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@113 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
| |
Schnetter. Due to default ordering this will make no difference to any
results.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@112 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@111 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
|
|
| |
This integrator is similar to the existing RK45 integrator. It also
supports adaptive time stepping, but uses slightly different
coefficients. The Numerical Recipes say that it has "slightly better
error properties".
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@110 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
| |
MoL::initial_data_is_crap copies
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@109 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@108 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
| |
MoL copies evolved variables *and* constrained variables *and*
save-and-restore variables.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@107 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
|
| |
As yet not altered to do grid arrays.
As with RK45, adaptive timestepping does not work with mesh refinement.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@106 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
|
|
| |
This saves calling CCTK_FirstVarIndex during each MoL iteration. This
function is expensive, as it performs case insensitive string
comparisons, and it showed up high on a profile of some of the Mexico
tests, which integrate small domains over long times.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@105 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
|
|
| |
Simplify some complex arithmetic.
Initialise the error variable in the RK45 integrator only after the
last iteration.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@104 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
|
|
| |
CCTK_SCALAR variables were rejected.
This is most likely just an oversight, since no one so far wanted to
integrate CCTK_SCALAR variables. The change is trivial.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@103 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
|
| |
Correct some typos in warnings.
Remove some commented out variable declarations.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@102 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
| |
The current time and the time step sizes were not set correctly. That
led to first order convergence instead of fifth order convergence.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@101 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@100 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
| |
Correct typo in warning message.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@99 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@98 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
| |
variable.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@97 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@96 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@95 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@94 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@91 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
###############################################################
### Certain operations, specifically boundary conditions ###
### applied to the RHS must be performed after all other ###
### operations. These can be scheduled in this bin, under ###
### the assumption that things like dissipation are ###
### scheduled in the MoL_PostRHS bin. It is the users ###
### problem to ensure that this is really done. ###
###############################################################
Fixes PR/1924.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@90 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
|
|
| |
complaining that it doesn't when copying data (if a constrained GF
only has one timelevel then such a copy is unnecessary).
Fixes PR/1921.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@89 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|