| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
The harmonic shift equations implemented in
7f81c9901489f8a94493320a27437bd125b69010 are correct only for the W
conformal method, and lead to wrong results if the phi conformal
method is used. This commit corrects this.
|
|
|
|
| |
term for \tilde \Gamma^i in \partial_t B^i equation
|
|
|
|
|
|
| |
Fix the sign for 2nd and 6th order dissipation operators.
Signed-off-by: Peter Diener <diener@cct.lsu.edu>
|
|
|
|
|
|
| |
A typo in a8794cd2227c87c7457ba51d040e863be2f981e7 has caused the
additional CCZ4 terms to overwrite the BSSN value instead of adding to
it.
|
|
|
|
|
|
|
|
| |
Change the default value of apply_dissipation from "always" to "never".
Since the default dissipation strength is zero this should not change
results for users using default values but should save time.
Signed-off-by: Peter Diener <diener@cct.lsu.edu>
|
| |
|
| |
|
|
|
|
| |
They can be used with both BSSN and CCZ4 formulations.
|
|
|
|
| |
This still uses the same Kranc script as the standard BSSN code, but having a separate thorn means that the BSSN is not negatively affected performance-wise.
|
|
|
|
| |
The default selects BSSN for backwards compatibility.
|
|
|
|
|
|
| |
* Rename Tet -> Theta and Zet -> Z
* Introduce an enum to select between CMBSSNphi, CMBSSNW and CMCCZ4.
* Rename gamashift parameter to GammaShift
|
|\
| |
| |
| |
| | |
Conflicts:
m/McLachlan_BSSN.m
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
There terms were implemented wrong, probably when the advection terms were split out of the main RHS routine. Without this correction, Kerr-Schild is not manifestly stationary any more.
Some of these terms are in code paths that are (to my knowledge) unused, and so it is not clear what to do. I've tried to make these code paths as similar to the others as possible.
|
| | |
|
| | |
|
|\|
| |
| |
| |
| | |
Conflicts:
m/McLachlan_BSSN.m
|
| | |
|
| | |
|
| |
| |
| | |
No change to generated code
|
| | |
|
| |
| |
| | |
This allows use of better error handling provided by Kranc
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Do not mark ADMBase variables for non-checkpointing if they have
multiple timelevels. (Variables with multiple timelevels must always
be checkpointed, because the past timelevels cannot be regenerated
after recovery.)
Finally remove all perl post-processing of the auto-generated code;
instead, use proper Kranc mechanisms.
Schedule the ADM constraints and ADM quantities after MoL_PostStep,
since this is where the ADMBase variables are set.
Schedule enforcing the BSSN constraints in the new schedule group
MoL_PostStepModify, since they should not be enforced after recovery.
(This would lead to inconsistencies at floating-point round-off
level.)
Regenerate all thorns.
|
| |
| |
| |
| |
| | |
The conformal and covariant formulation of the Z4 system with constraint-violation
damping is described in detail in arXiv:1106.2254.
|
|/ |
|
| |
|
| |
|
|
|
|
| |
The RHS variables can only be computed on the interior in ANALYSIS, so initialise the entire grid to zero before computing the variable. An alternative would be to create a new looping method "Exterior" which looped over all the non-interior points. That would avoid setting the points twice, though setting to zero is inexpensive so this is not really necessary.
|
|
|
|
|
|
| |
It was only the tests which were wrong.
This reverts commit 05347a08d0c9bd2a87846ab4ad8990fe26274a4a.
|
|
|
|
|
|
|
|
| |
These are causing NaNs when run with poison. I don't know if this is
due to the tests or the code, so I am reverting the commits from
863a3e5b25e7150148f9d2b60b4b362628c675f7 to
2725eb1eb32525486df76a3686f8e550155c8e0c while the problem is being
diagnosed.
|
|
|
|
| |
This is necessary to temporarily work around a problem with multipatch (points which are both interpatch and outer boundary are not initialised in the correct order)
|
|
|
|
|
|
|
| |
The Jacobian gridfunction groups are no longer hard-coded into McLachlan, and the Coordinates thorn is no longer inherited. Instead, the user must use GenericFD parameters to specify the Jacobian to use. The new Kranc Jacobian implementation allows a single map to be specified on which the Jacobian is not applied, which greatly improves performance in typical multipatch simulations. To use the new Jacobian method with Llama, set
GenericFD::jacobian_group = "Coordinates::jacobian"
GenericFD::jacobian_derivative_group = "Coordinates::jacobian2"
GenericFD::jacobian_identity_map = 0
|
|
|
| |
This helps to fit the RHS loops in the Intel instruction cache and benefits performance.
|
|
|
| |
Now controlled by parameter "apply_dissipation = always/never"
|
|
|
| |
Previously, the dissipation term for Xt^i was being added both in the Xt^i RHS and in the B^i RHS, due to the way the temporary variable for dot[X^i} was used in the Gamma driver shift.
|
| |
|
|
|
|
| |
reduce code size
|
|
|
|
| |
the time evolution; this simplifies the generated code significantly.
|
| |
|
|
|
|
|
|
|
|
|
| |
Use a new function Upwind to calculate upwind derivatives.
Introduce a new (Mathematica) parameter that decides whether to implement upwind derivatives the old way (using IfThen depending on the direction) or the new way (using Abs and the symmetric/antisymmetric parts of the stencils).
Improve how to create partial calculations automatically.
Evaluate the constraints in two partial calculations.
|
| |
|
| |
|
|
|
|
|
|
| |
Reintroduce an optimization in the evolution calculation, that was previously only introduced in the hand split optimised calculation.
Signed-off-by: Peter Diener <diener@cct.lsu.edu>
|
| |
|
|
|
|
|
|
| |
Create a new function PartialCalculation, which splits a calculation, retaining only those parts evaluating certain variables. This is useful to more easily split calculations.
Modify the way upwind derivatives are calculated. Instead of using integer dir^i selectors, split them into an antisymmetric and a symmetric part, which are multiplied by the shift and its absolute value, respectively.
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
ML_BSSN/src/ML_BSSN_RHS1.c
ML_BSSN_MP/src/ML_BSSN_MP_RHS1.c
ML_BSSN_O2/src/ML_BSSN_O2_RHS1.c
ML_BSSN_O8/src/ML_BSSN_O8_RHS1.c
m/McLachlan_BSSN.m
|