| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
this is to allow bit-wise recovery of Hydro data since con2prim runs in MoL_PostStep. Also we should be able to read in all data from a checkpoint and thus mol_poststep should not be required. Thorns that want to be clever and re-compute some quantities that can be recomputed from the checkpointed data should schedule themselves explicitly in Post_Recover_Variables.
See extensive discussion at https://trac.einsteintoolkit.org/ticket/1256
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@199 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
| |
This can be used as performance improvement, if timelevel cycling is
also modified to perform this copy instead.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@196 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@192 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
|
|
|
|
|
|
|
|
| |
boundary conditions (and synchronization, and prolongation)
to the initial data.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@181 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
|
|
|
|
|
|
|
|
|
|
|
|
| |
By default, MoL initialises the RHS variables to zero before calling
the CalcRHS routines. This is (a) superfluous in a well-written code,
and (b) makes it impossible to re-use a RHS that has been calculated
ahead of time, e.g. at the end of the previous time step.
This patch adds a parameter to disable this behaviour.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@173 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
| |
to match what happens to MoL_PostStep
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@154 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
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@149 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
identified by Yosef Zlochower.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@125 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
|
|
|
|
|
|
| |
various routines in LEVEL mode.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@119 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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
###############################################################
### 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
http://www.cactuscode.org/pipermail/developers/2005-March/000815.html
add a new parameter copy_ID_after_MoL_PostStep to control precisely
*when* in CCTK_POSTINITIAL MoL_FillAllLevels is scheduled
if initial_data_is_crap is set.
The default (MoL_FillAllLevels is scheduled *before* MoL_PostStep)
matches the previous behavior, so there's no change required to par
files unless you want the new behavior (MoL_FillAllLevels is scheduled
*after* MoL_PostStep).
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@87 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@84 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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fourth order accurate evolution with an additional fifth order step for error estimation. How much sense the error makes is unclear to me, but hey.
For the moment the error is stored in an internal MoL array ErrorEstimate; there is one per evolved variable. At a later point this may be moved out to user thorns who can register their own etc.
As the implementation uses 6 evaluations of the RHS (necessary) and 6 levels of scratch space (one more than necessary - laziness kicked in) then this is very expensive.
This is a partial fix for PR/1840.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@74 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@63 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
| |
scratch space. Should not have caused an error because of the
temporary statements.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@62 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
| |
zero sized variables.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@59 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
| |
Ensure that storage is not switched on for empty ArrayScratchSpace group.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@58 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
| |
This is necessary because MoL switches off boundary prolongation when
there is mesh refinement, leaving certain grid points undefined.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@54 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@53 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
|
| |
Schedule the report routines in META mode.
Schedule the timestep-bookkeeping routines in LEVEL mode.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@51 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@50 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
| |
request for storage for a zero sized group. This looks really horrible
and should be fixed.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@48 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@46 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@40 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
| |
This may be expensive but should stop me wondering "Why does that symmetry boundary look wrong?" when using a new thorn with Carpet.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@35 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@34 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
|
|
|
| |
RK3. The optimized version of the TVD RK3 solver. Requires no scratch space so is about as efficient as ICN, but third order.
Generic method from a parameter table. By specifying the number of intermediate steps and the alpha and beta arrays, create your own method at parameter time. Not well (or at all) documented because it doesn't seem to work correctly at the moment.
Some tidying of extraneous code as well.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@29 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
| |
steps are always at t+dt.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@24 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
| |
the default but should have no effect).
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@23 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@19 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
| |
BSSN_MoL testsuite bh_shift_rad to fail.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@18 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
| |
MoL. Don't know why I did this in the first place.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@15 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
| |
To use the complex variable stuff right now you need to uncomment the appropriate groups in the interface.ccl and #def MOLDOESCOMPLEX in the appropriate files. It still probably won't work.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@13 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
|
|
| |
Only works with ICN or RK2 for now - in fact this commit may break the generic RK methods temporarily.
Note the documentation isn't quite right - there's no longer a seperate function for each different type...
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@12 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|
|
|
|
|
|
|
| |
Change the grid scalar used in the schedule.ccl from MoL2->MoL (necessary).
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@4 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
|