| Commit message (Collapse) | Author | Age |
|
|
|
| |
The latter has higher overhead.
|
| |
|
| |
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@195 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
| |
the message affected evolved slow variables where it would output the currently
registered fast evolved variables instead of the slow ones.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@194 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@193 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
limit
Currently when a thorn tries to register more evolved/constrained/sandr
variables than the respective parameters allow, MoL aborts with an error
message "You have tried to register more evolved variables than the
accumulator parameter MoL_Num_Evolved_Variables allows. Check that you are
accumulating onto this parameter correctly." which is not terribly helpful in
finding out why this is happening.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@191 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New integrator Euler. This is an explicit, first-order method, mostly
useful for debugging.
New integrators AB (Adams-Bashforth) with various orders. These are
explicit integrators using several past timelevels to provide
higher-order integration with a single RHS evaluation each.
Introduce LinearCombination, a generic routine to calculate linear
combinations of grid functions. This simplifies existing code, and can
be overloaded if MoL should run on a device (e.g. with OpenCL).
Replace cctk_lsh with cctk_ash where necessary.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@190 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
| |
The compiler doesn't know that CCTK_WARN(0,…) is fatal.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@189 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@188 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@187 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
| |
Declare variables where they are first used.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@183 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@182 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@180 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@179 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
|
| |
combines several loops into one, and reduces the required scratch space.
Code originally by Erik, tested by Christian Reisswig.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@178 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
|
|
|
| |
Flags indicate whether it is time to execute slow RHS computation.
For instance, in the RK4-RK2 scheme, there are 4 substeps in total, but the RK2 RHS are only evaluated in the very first and in the very last step of the four substeps.
From: Christian Reisswig, minor changes by Roland Haas
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@175 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@165 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
| |
Remove now-unused and currently broken OldBoundary infrastructure
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@153 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
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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@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@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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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@91 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
|
|
|
|
|
|
|
|
|
| |
registered as SandR and then as evolved it was not correctly removed
from the SandR list, leading to incorrect evolution. Thanks to J
Thornburg for finding this one.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@86 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
| |
verbose, so that you have some idea which thorn did it.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@85 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
| |
properly try to register, e.g., evolved function with MoL before the
index arrays have been set up.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@83 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
|
|
|
| |
Note that if you want to use this with Carpet you currently have to
use the development (darcs) version of Carpet together with the
parameter
carpet::adaptive_stepsize = "yes".
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@82 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
| |
not reset until evolution so NaNChecker was finding NaNs after INITIAL
in certain cases (according to Bela Szilagyi).
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@81 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|