aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Introduce new schedule groups, correct scheduling of others.eschnett2011-08-02
| | | | | | | | | | 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
* Correct calculation of sum_alpha when more than one component (or moreeschnett2011-05-24
| | | | | | | 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
* Improve roundoff accuracy of efficient RK4eschnett2011-03-25
| | | | | | | | | | | | | | | | | | | | 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
* Correct signatures of scheduled functionseschnett2011-01-21
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@144 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Add new schedule group MoL_PseudoEvolution.schnetter2010-02-19
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Rename schedule group so that its name remains MoL_PostStep.schnetter2010-02-10
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@138 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Schedule MoL_PostStep also at post_recover_variables. This ensuresschnetter2010-02-10
| | | | | | | | 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
* Include Licence in READMEknarf2009-01-27
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@133 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* remove old thornliststradke2009-01-27
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@132 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Unify README file formatknarf2009-01-26
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@131 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* use correct latex package, typoknarf2009-01-22
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@130 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Parallelise loops with OpenMP.schnetter2008-09-23
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@129 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Call the NaNChecker via the aliased function CheckVarsForNaN insteadschnetter2008-09-22
| | | | | | | | 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
* Remove outdated commentschnetter2007-12-07
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@127 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* tag grid function groups MoL::ScratchSpace and MoL::SandRScratchSpacetradke2007-10-18
| | | | | | | | 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
* Correct scheduling error of MoL_RestoreSandR and MoL_FinishLoophawke2007-09-07
| | | | | | | identified by Yosef Zlochower. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@125 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Add new aliased function MoLNumIntegratorSubsteps, which returns theschnetter2007-09-05
| | | | | | | | | | | 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
* Schedule the MoL_PostStep parts in the POSTREGRID bin so thatschnetter2007-05-23
| | | | | | | | 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
* Correct logic error in parameter checking. Not all RK4 errors wereschnetter2006-12-05
| | | | | | | detected. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@122 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Remove incorrect statement about sync'ing.hawke2006-09-20
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@121 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Theta ICN. Patch from Frank Loeffler.hawke2006-08-24
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@120 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Correct the problem with scheduling the "Old Style" Boundaries by running ↵hawke2006-08-24
| | | | | | various routines in LEVEL mode. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@119 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Correct thorn name in READMEschnetter2006-08-23
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@118 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Make certain not to try and allocate a zero sized array.hawke2006-08-04
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@117 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Modification for evolving array variables; change to localhawke2006-08-01
| | | | | | | | | 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
* Fix for evolving arrays on multi-processors with the generic RKhawke2006-07-28
| | | | | | | | 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
* "Old boundary" interface, as provided by Yosef Zlochower.hawke2006-07-28
| | | | | | | | | 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
* Efficient RK4, as provided by Yosef Zlochower.hawke2006-07-28
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@113 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Fix error in scheduling of MoL_DecrementCounter spotted by Erikhawke2006-06-01
| | | | | | | | 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
* Tag all MoL variables except the ErrorScalars with Checkpoint="no".tradke2006-05-16
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@111 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Implement RK45 Cash-Karp integrator in MoL.schnetter2006-02-19
| | | | | | | | | | 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
* further wording clarification as to just which variablesjthorn2006-02-06
| | | | | | | MoL::initial_data_is_crap copies git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@109 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* tiny wording tweakjthorn2006-02-06
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@108 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* clarify that when MoL::initial_data_is_crap is set,jthorn2006-02-06
| | | | | | | | 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
* Peter Diener's RK65 and RK87 adaptive timestep integrators.hawke2006-01-23
| | | | | | | | | 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
* Remember the variable index of the scratch variables.schnetter2005-12-11
| | | | | | | | | | 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
* Add const and restrict qualifiers to the pointers.schnetter2005-12-11
| | | | | | | | | | 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
* Handle CCTK_SCALAR in the same way as CCTK_ARRAY. Previously,schnetter2005-12-11
| | | | | | | | | | 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
* Replace "MoL" by CCTK_THORNSTRING in calls to CCTK_VWarn.schnetter2005-12-11
| | | | | | | | | 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
* Correct critical error in the RK45 time integrator.schnetter2005-12-11
| | | | | | | | 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
* Replace "MoL" in CCTK_VWarn by CCTK_THORNSTRING.schnetter2005-12-11
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@100 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Replace "MoL" in CCTK_VWarn by CCTK_THORNSTRING.schnetter2005-12-11
| | | | | | | Correct typo in warning message. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@99 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Correct unimportant typographical errorschnetter2005-12-11
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@98 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Correct error in calculating the number of grid points for the Countschnetter2005-11-22
| | | | | | | variable. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@97 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Correct email address in copyright statement.schnetter2005-10-22
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@96 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Correct email address in copyright statement.schnetter2005-10-22
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@95 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Correct email address of Cactus maintainers.schnetter2005-10-22
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@94 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Small optimisation: substitute division by multiplication with the inverse.tradke2005-08-29
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@91 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Provide a new schedule bin MoL_RHSBoundaries:hawke2005-05-09
| | | | | | | | | | | | | | | | ############################################################### ### 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
* Check that a constrained GF may have more than one timelevel beforehawke2005-05-04
| | | | | | | | | | 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