aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ADMConstraints.F67
1 files changed, 46 insertions, 21 deletions
diff --git a/src/ADMConstraints.F b/src/ADMConstraints.F
index 2fe6c23..1bcbe5f 100644
--- a/src/ADMConstraints.F
+++ b/src/ADMConstraints.F
@@ -1,26 +1,32 @@
-cc/*@@
-c @file ADMConstraints.F
-c @date Aug 98
-c @desc
-c Calculate the ADM Constraints for output:
-c
-c Hamiltonian Constraint is:
-c
-c R - K^i_j K^j_i + trK^2 - 16 Pi rho
-c
-c Momentum Constraints are:
-c
-c Del_j K_i^j - Del_i trK - 8 Pi j_i
-c
-c @enddesc
-c@@*/
+/*@@
+ @file ADMConstraints.F
+ @date August 98
+ @desc
+ Calculate the ADM Constraints for output:
+
+ Hamiltonian Constraint is:
+
+ H = R - K^i_j K^j_i + trK^2 - 16 Pi rho
+
+ Momentum Constraints are:
+
+ M_i = Del_j K_i^j - Del_i trK - 8 Pi j_i
+
+ @enddesc
+ @version $Header$
+@@*/
#include "cctk.h"
+
#include "cctk_Parameters.h"
#include "cctk_Arguments.h"
-
+#include "cctk_DefineThorn.h"
+
#include "CactusEinstein/Einstein/src/Einstein.h"
+#ifdef BETATHORNS_CARTOON2D
+#include "BetaThorns/Cartoon2D/src/Cartoon2D_tensors.h"
+#endif
subroutine ADMConstraints(CCTK_ARGUMENTS)
@@ -63,7 +69,8 @@ c Macros from Standard Einstein.
#include "CactusEinstein/Einstein/src/macro/MOMXADM_declare.h"
#include "CactusEinstein/Einstein/src/macro/MOMYADM_declare.h"
#include "CactusEinstein/Einstein/src/macro/MOMZADM_declare.h"
-
+#include "CactusEinstein/Einstein/src/macro/DETG_declare.h"
+#include "CactusEinstein/Einstein/src/macro/UPPERMET_declare.h"
c --------------------------------------------------------------
@@ -204,6 +211,8 @@ c = - (T_{i0} - beta^j T_{ij})/alpha
end do
end do
+#include "CactusEinstein/Einstein/src/macro/DETG_undefine.h"
+#include "CactusEinstein/Einstein/src/macro/UPPERMET_undefine.h"
#include "CactusEinstein/Einstein/src/macro/HAMADM_undefine.h"
#include "CactusEinstein/Einstein/src/macro/MOMXADM_undefine.h"
#include "CactusEinstein/Einstein/src/macro/MOMYADM_undefine.h"
@@ -211,18 +220,34 @@ c = - (T_{i0} - beta^j T_{ij})/alpha
c Apply symmetry boundary conditions.
- call CartSymGN(ierr,cctkGH,"admconstraints::admconstraints")
+ call CartSymGN(ierr,cctkGH,"admconstraints::hamiltonian")
+ call CartSymGN(ierr,cctkGH,"admconstraints::momentum")
c Apply flat boundary conditions at outer boundaries.
if (CCTK_Equals(bound,"flat") == 1) then
- call BndFlatGN(ierr,cctkGH,sw,"admconstraints::admconstraints")
+ call BndFlatGN(ierr,cctkGH,sw,"admconstraints::hamiltonian")
+ call BndFlatGN(ierr,cctkGH,sw,"admconstraints::momentum")
end if
c Synchronize.
if (constraint_communication.eq.1) then
- call CCTK_SyncGroup(cctkGH,"admconstraints::admconstraints")
+ call CCTK_SyncGroup(cctkGH,"admconstraints::hamiltonian")
+ call CCTK_SyncGroup(cctkGH,"admconstraints::momentum")
+ end if
+
+c Cartoon.
+
+ if (cartoon==1) then
+
+#ifdef BETATHORNS_CARTOON2D
+ call BndCartoon2DGN(ierr,cctkGH,TENSORTYPE_SCALAR,"admconstraints::hamiltonian")
+ call BndCartoon2DGN(ierr,cctkGH,TENSORTYPE_U,"admconstraints::momentum")
+#else
+ call CCTK_WARN(0,"You have not compiled with Cartoon2D")
+#endif
+
end if
c End