aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorallen <allen@b7a48df3-cbbf-4440-997f-b4b717c9f7fc>2002-05-27 18:26:50 +0000
committerallen <allen@b7a48df3-cbbf-4440-997f-b4b717c9f7fc>2002-05-27 18:26:50 +0000
commit812c1f169ce7678111dd0c21c878f38ced014b67 (patch)
tree720c52f8a10cbf6cfc592aec7547ecf4f0107c56
parent0e9d7de52d12fc6f3f2d7179aec4187bae08e90a (diff)
Use mask without using excision calls, this may need some more tweaking
depending on how excision labels points in the mask, but this will be sorted out in the near future. Converted to F77, then realised that this might be a bad idea since people might be including F90 in the CalcTmunu stuff, so left the files labeled as F90 for now. git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/ADMConstraints/trunk@69 b7a48df3-cbbf-4440-997f-b4b717c9f7fc
-rw-r--r--param.ccl14
-rw-r--r--src/ADMConstraints.F240
-rw-r--r--src/InitSymBound.F25
-rw-r--r--src/ParamCheck.c6
-rw-r--r--test/ADMConstraints_Mask.par52
-rw-r--r--test/ADMConstraints_Mask/ADMConstraints_Mask.par46
-rw-r--r--test/ADMConstraints_Mask/ham_maximum.xg5
-rw-r--r--test/ADMConstraints_Mask/ham_minimum.xg5
-rw-r--r--test/ADMConstraints_Mask/ham_norm1.xg5
-rw-r--r--test/ADMConstraints_Mask/ham_norm2.xg5
-rw-r--r--test/ADMConstraints_Mask/momx_maximum.xg5
-rw-r--r--test/ADMConstraints_Mask/momx_minimum.xg5
-rw-r--r--test/ADMConstraints_Mask/momx_norm1.xg5
-rw-r--r--test/ADMConstraints_Mask/momx_norm2.xg5
-rw-r--r--test/ADMConstraints_Mask/momy_maximum.xg5
-rw-r--r--test/ADMConstraints_Mask/momy_minimum.xg5
-rw-r--r--test/ADMConstraints_Mask/momy_norm1.xg5
-rw-r--r--test/ADMConstraints_Mask/momy_norm2.xg5
-rw-r--r--test/ADMConstraints_Mask/momz_maximum.xg5
-rw-r--r--test/ADMConstraints_Mask/momz_minimum.xg5
-rw-r--r--test/ADMConstraints_Mask/momz_norm1.xg5
-rw-r--r--test/ADMConstraints_Mask/momz_norm2.xg5
-rw-r--r--test/ADMConstraints_Physical.par51
-rw-r--r--test/ADMConstraints_Physical/ADMConstraints_Physical.par45
-rw-r--r--test/ADMConstraints_Physical/ham_maximum.xg5
-rw-r--r--test/ADMConstraints_Physical/ham_minimum.xg5
-rw-r--r--test/ADMConstraints_Physical/ham_norm1.xg5
-rw-r--r--test/ADMConstraints_Physical/ham_norm2.xg5
-rw-r--r--test/ADMConstraints_Physical/momx_maximum.xg5
-rw-r--r--test/ADMConstraints_Physical/momx_minimum.xg5
-rw-r--r--test/ADMConstraints_Physical/momx_norm1.xg5
-rw-r--r--test/ADMConstraints_Physical/momx_norm2.xg5
-rw-r--r--test/ADMConstraints_Physical/momy_maximum.xg5
-rw-r--r--test/ADMConstraints_Physical/momy_minimum.xg5
-rw-r--r--test/ADMConstraints_Physical/momy_norm1.xg5
-rw-r--r--test/ADMConstraints_Physical/momy_norm2.xg5
-rw-r--r--test/ADMConstraints_Physical/momz_maximum.xg5
-rw-r--r--test/ADMConstraints_Physical/momz_minimum.xg5
-rw-r--r--test/ADMConstraints_Physical/momz_norm1.xg5
-rw-r--r--test/ADMConstraints_Physical/momz_norm2.xg5
-rw-r--r--test/ADMConstraints_Shift.par52
-rw-r--r--test/ADMConstraints_Shift/ADMConstraints_Shift.par46
-rw-r--r--test/ADMConstraints_Shift/ham_maximum.xg5
-rw-r--r--test/ADMConstraints_Shift/ham_minimum.xg5
-rw-r--r--test/ADMConstraints_Shift/ham_norm1.xg5
-rw-r--r--test/ADMConstraints_Shift/ham_norm2.xg5
-rw-r--r--test/ADMConstraints_Shift/momx_maximum.xg5
-rw-r--r--test/ADMConstraints_Shift/momx_minimum.xg5
-rw-r--r--test/ADMConstraints_Shift/momx_norm1.xg5
-rw-r--r--test/ADMConstraints_Shift/momx_norm2.xg5
-rw-r--r--test/ADMConstraints_Shift/momy_maximum.xg5
-rw-r--r--test/ADMConstraints_Shift/momy_minimum.xg5
-rw-r--r--test/ADMConstraints_Shift/momy_norm1.xg5
-rw-r--r--test/ADMConstraints_Shift/momy_norm2.xg5
-rw-r--r--test/ADMConstraints_Shift/momz_maximum.xg5
-rw-r--r--test/ADMConstraints_Shift/momz_minimum.xg5
-rw-r--r--test/ADMConstraints_Shift/momz_norm1.xg5
-rw-r--r--test/ADMConstraints_Shift/momz_norm2.xg5
58 files changed, 678 insertions, 139 deletions
diff --git a/param.ccl b/param.ccl
index e142b69..f0768e7 100644
--- a/param.ccl
+++ b/param.ccl
@@ -1,6 +1,10 @@
# Parameter definitions for thorn ADMConstraints
# $Header$
+shares: spacemask
+
+USES BOOLEAN use_mask
+
shares: ADMBase
USES KEYWORD metric_type
@@ -33,8 +37,8 @@ BOOLEAN excise "Use excision?"
{
} "no"
-
-
-
-
-
+REAL excised_value "Value to use for any excised regions"
+{
+ *:* :: "Any value"
+} 0.0
+ \ No newline at end of file
diff --git a/src/ADMConstraints.F b/src/ADMConstraints.F
index 8eaba09..7715ce9 100644
--- a/src/ADMConstraints.F
+++ b/src/ADMConstraints.F
@@ -1,5 +1,5 @@
/*@@
- @file ADMConstraints.F
+ @file ADMConstraints.F77
@date August 98
@desc
Calculate the ADM Constraints for output:
@@ -34,17 +34,13 @@
DECLARE_CCTK_PARAMETERS
DECLARE_CCTK_FUNCTIONS
- integer :: i,j,k
- integer :: nx,ny,nz
-
-#ifdef EXCISION_LEGOEXCISION
- CCTK_REAL, allocatable, dimension (:,:,:) :: dirx,diry,dirz,aux
-#endif
+ integer i,j,k
+ integer nx,ny,nz
c Stencil width used for calculating constraints
c (for outer boundary condition)
- integer, dimension(3),parameter :: sw = 1
+ integer sw(3)
c Return code from Cactus sync routine and boundary conditions.
@@ -52,14 +48,14 @@ c Return code from Cactus sync routine and boundary conditions.
c Various real variables.
- CCTK_REAL :: dx,dy,dz
- CCTK_REAL :: m_rho,m_sx,m_sy,m_sz
- CCTK_REAL :: pi,ialp,ialp2
- CCTK_REAL :: det,uxx,uyy,uzz,uxy,uxz,uyz
+ CCTK_REAL dx,dy,dz
+ CCTK_REAL m_rho,m_sx,m_sy,m_sz
+ CCTK_REAL pi,ialp,ialp2
+ CCTK_REAL det,uxx,uyy,uzz,uxy,uxz,uyz
c Temporaries for the Stress-Energy tensor.
- CCTK_REAL :: Ttt,Ttx,Tty,Ttz,Txx,Txy,Txz,Tyy,Tyz,Tzz
+ CCTK_REAL Ttt,Ttx,Tty,Ttz,Txx,Txy,Txz,Tyy,Tyz,Tzz
c Matter declarations.
@@ -76,6 +72,10 @@ c Macros from Standard Einstein.
c --------------------------------------------------------------
+ sw(1) = 1
+ sw(2) = 1
+ sw(3) = 1
+
c Grid parameters.
dx = cctk_delta_space(1)
@@ -88,11 +88,19 @@ c Grid parameters.
c Fill with zeros.
- ham = 0.0D0
+ do k=1,nz
+ do j=1,ny
+ do i=1,nx
+
+ ham(i,j,k) = 0.0D0
+
+ momx(i,j,k) = 0.0D0
+ momy(i,j,k) = 0.0D0
+ momz(i,j,k) = 0.0D0
- momx = 0.0D0
- momy = 0.0D0
- momz = 0.0D0
+ end do
+ end do
+ end do
c Calculate constraints.
@@ -101,114 +109,125 @@ c Calculate constraints.
do k=2,nz-1
do j=2,ny-1
do i=2,nx-1
+
+ if ((use_mask .eq. 0) .or. (emask(i,j,k) .eq. 1)) then
- ialp = 1.0D0/alp(i,j,k)
- ialp2 = ialp**2
+ ialp = 1.0D0/alp(i,j,k)
+ ialp2 = ialp**2
+
+c Calculate the stress energy tensor at this point
+c ------------------------------------------------
-c Calculate the stress energy tensor at this point
-c ------------------------------------------------
-
-c This may be needed for CalcTmunu
+c This may be needed for CalcTmunu
#include "CactusEinstein/ADMMacros/src/macro/DETG_guts.h"
- det = DETG_DETCG
+ det = DETG_DETCG
#include "CactusEinstein/ADMMacros/src/macro/UPPERMET_guts.h"
- uxx = UPPERMET_UXX; uxy = UPPERMET_UXY; uxz = UPPERMET_UXZ
- uyy = UPPERMET_UYY; uyz = UPPERMET_UYZ; uzz = UPPERMET_UZZ
-
-c Initialize stress-energy tensor components.
+ uxx = UPPERMET_UXX; uxy = UPPERMET_UXY; uxz = UPPERMET_UXZ
+ uyy = UPPERMET_UYY; uyz = UPPERMET_UYZ; uzz = UPPERMET_UZZ
- Ttt = 0.0D0
+c Initialize stress-energy tensor components.
- Ttx = 0.0D0; Tty = 0.0D0; Ttz = 0.0D0
+ Ttt = 0.0D0
+
+ Ttx = 0.0D0; Tty = 0.0D0; Ttz = 0.0D0
+
+ Txx = 0.0D0; Tyy = 0.0D0; Tzz = 0.0D0
+ Txy = 0.0D0; Txz = 0.0D0; Tyz = 0.0D0
- Txx = 0.0D0; Tyy = 0.0D0; Tzz = 0.0D0
- Txy = 0.0D0; Txz = 0.0D0; Tyz = 0.0D0
-
-c Include macro for stress energy tensor.
+c Include macro for stress energy tensor.
#include "CalcTmunu.inc"
-c Calculate the hamiltonian constraint
-c ------------------------------------
+c Calculate the hamiltonian constraint
+c ------------------------------------
-c Geometric piece.
+c Geometric piece.
#include "CactusEinstein/ADMMacros/src/macro/HAMADM_guts.h"
-c Add matter terms: - 16*pi*rho
+c Add matter terms: - 16*pi*rho
c
-c with rho defined as:
+c with rho defined as:
c
-c rho = n_a n_b T^{ab} = n^a n^b T_{ab}
-c = (T_00 - 2 beta^i T_{i0} + beta^i beta^j T_{ij})/alpha^2
+c rho = n_a n_b T^{ab} = n^a n^b T_{ab}
+c = (T_00 - 2 beta^i T_{i0} + beta^i beta^j T_{ij})/alpha^2
- m_rho = ialp2*Ttt
+ m_rho = ialp2*Ttt
- if (shift_state .eq. 1) then
+ if (shift_state .eq. 1) then
- m_rho = m_rho + ialp2
- & *(betax(i,j,k)**2*Txx
- & + betay(i,j,k)**2*Tyy
- & + betaz(i,j,k)**2*Tzz
- & +(betax(i,j,k)*betay(i,j,k)*Txy
- & + betax(i,j,k)*betaz(i,j,k)*Txz
- & + betay(i,j,k)*betaz(i,j,k)*Tyz)*2.0D0
- & -(betax(i,j,k)*Ttx
- & + betay(i,j,k)*Tty
- & + betaz(i,j,k)*Ttz)*2.0D0)
+ m_rho = m_rho + ialp2
+ & *(betax(i,j,k)**2*Txx
+ & + betay(i,j,k)**2*Tyy
+ & + betaz(i,j,k)**2*Tzz
+ & +(betax(i,j,k)*betay(i,j,k)*Txy
+ & + betax(i,j,k)*betaz(i,j,k)*Txz
+ & + betay(i,j,k)*betaz(i,j,k)*Tyz)*2.0D0
+ & -(betax(i,j,k)*Ttx
+ & + betay(i,j,k)*Tty
+ & + betaz(i,j,k)*Ttz)*2.0D0)
- end if
+ end if
- ham(i,j,k) = HAMADM_HAMADM - 16.0D0*pi*m_rho
+ ham(i,j,k) = HAMADM_HAMADM - 16.0D0*pi*m_rho
-c Calculate the Momentum constraints
-c ----------------------------------
+c Calculate the Momentum constraints
+c ----------------------------------
-c Geometric piece.
+c Geometric piece.
#include "CactusEinstein/ADMMacros/src/macro/MOMXADM_guts.h"
#include "CactusEinstein/ADMMacros/src/macro/MOMYADM_guts.h"
#include "CactusEinstein/ADMMacros/src/macro/MOMZADM_guts.h"
-c Add matter terms: - 8*pi*S_i
+c Add matter terms: - 8*pi*S_i
c
-c with S_i defined as:
+c with S_i defined as:
c
-c S_i = - g_{ia} n_b T^{ab} = - g_i^a n^b T_{ab}
-c = - (T_{i0} - beta^j T_{ij})/alpha
-
- m_sx = - ialp*Ttx
- m_sy = - ialp*Tty
- m_sz = - ialp*Ttz
-
- if (shift_state .eq. 1) then
-
- m_sx = m_sx + ialp
- & *(betax(i,j,k)*Txx
- & + betay(i,j,k)*Txy
- & + betaz(i,j,k)*Txz)
-
- m_sy = m_sy + ialp
- & *(betax(i,j,k)*Txy
- & + betay(i,j,k)*Tyy
- & + betaz(i,j,k)*Tyz)
-
- m_sz = m_sz + ialp
- & *(betax(i,j,k)*Txz
- & + betay(i,j,k)*Tyz
- & + betaz(i,j,k)*Tzz)
+c S_i = - g_{ia} n_b T^{ab} = - g_i^a n^b T_{ab}
+c = - (T_{i0} - beta^j T_{ij})/alpha
+
+ m_sx = - ialp*Ttx
+ m_sy = - ialp*Tty
+ m_sz = - ialp*Ttz
+
+ if (shift_state .eq. 1) then
+
+ m_sx = m_sx + ialp
+ & *(betax(i,j,k)*Txx
+ & + betay(i,j,k)*Txy
+ & + betaz(i,j,k)*Txz)
+
+ m_sy = m_sy + ialp
+ & *(betax(i,j,k)*Txy
+ & + betay(i,j,k)*Tyy
+ & + betaz(i,j,k)*Tyz)
+
+ m_sz = m_sz + ialp
+ & *(betax(i,j,k)*Txz
+ & + betay(i,j,k)*Tyz
+ & + betaz(i,j,k)*Tzz)
+
+ end if
+
+ momx(i,j,k) = MOMXADM_MOMXADM - 8.0D0*pi*m_sx
+ momy(i,j,k) = MOMYADM_MOMYADM - 8.0D0*pi*m_sy
+ momz(i,j,k) = MOMZADM_MOMZADM - 8.0D0*pi*m_sz
+
+ else
+
+ ham(i,j,k) = excised_value
+ momx(i,j,k) = excised_value
+ momy(i,j,k) = excised_value
+ momz(i,j,k) = excised_value
end if
- momx(i,j,k) = MOMXADM_MOMXADM - 8.0D0*pi*m_sx
- momy(i,j,k) = MOMYADM_MOMYADM - 8.0D0*pi*m_sy
- momz(i,j,k) = MOMZADM_MOMZADM - 8.0D0*pi*m_sz
-
end do
end do
end do
@@ -220,42 +239,6 @@ c = - (T_{i0} - beta^j T_{ij})/alpha
#include "CactusEinstein/ADMMacros/src/macro/MOMYADM_undefine.h"
#include "CactusEinstein/ADMMacros/src/macro/MOMZADM_undefine.h"
-c LegoExcision (must be done before symmetries are applied).
-
- if (excise==1) then
-
-#ifdef EXCISION_LEGOEXCISION
-
- allocate(dirx(nx,ny,nz),diry(nx,ny,nz),dirz(nx,ny,nz))
- allocate(aux(nx,ny,nz))
-
- aux = 0.0D0
-
- call excision_findboundary(ierr,emask,nx,ny,nz)
-
- call CCTK_SyncGroup(ierr,cctkGH,"einstein::mask")
- call CartSymGN(ierr,cctkGH,"einstein::mask")
-
- call excision_findnormals(ierr,emask,dirx,diry,dirz,nx,ny,nz)
-
- call excision_extrapolate(ierr,ham ,aux,emask,
- . dirx,diry,dirz,nx,ny,nz,0.0D0)
- call excision_extrapolate(ierr,momx,aux,emask,
- . dirx,diry,dirz,nx,ny,nz,0.0D0)
- call excision_extrapolate(ierr,momy,aux,emask,
- . dirx,diry,dirz,nx,ny,nz,0.0D0)
- call excision_extrapolate(ierr,momz,aux,emask,
- . dirx,diry,dirz,nx,ny,nz,0.0D0)
-
- deallocate(dirx,diry,dirz)
- deallocate(aux)
-
-#else
- call CCTK_WARN(0,"You have not compiled with LegoExcision")
-#endif
-
- end if
-
c Apply symmetry boundary conditions.
call CartSymGN(ierr,cctkGH,"admconstraints::hamiltonian")
@@ -280,15 +263,16 @@ 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")
+ if (CCTK_IsThornActive("Cartoon2D")==1) then
+ call BndCartoon2DGN(ierr,cctkGH,TENSORTYPE_SCALAR,"admconstraints::hamiltonian")
+ call BndCartoon2DGN(ierr,cctkGH,TENSORTYPE_U,"admconstraints::momentum")
+ end if
#else
call CCTK_WARN(0,"You have not compiled with Cartoon2D")
#endif
end if
-c End
-
- end subroutine ADMConstraints
+ return
+ end
diff --git a/src/InitSymBound.F b/src/InitSymBound.F
index fdefad6..00cfefa 100644
--- a/src/InitSymBound.F
+++ b/src/InitSymBound.F
@@ -5,6 +5,7 @@
@desc
Sets the symmetries for the Constraint grid functions
@enddesc
+ @version $Header$
@@*/
#include "cctk.h"
@@ -31,29 +32,41 @@
DECLARE_CCTK_ARGUMENTS
- INTEGER, PARAMETER :: one = 1
- INTEGER, DIMENSION(3) :: sym
- INTEGER :: ierr
+ INTEGER one
+ PARAMETER (one=1)
+
+ INTEGER sym(3)
+ INTEGER ierr
-c GROUP: constraints
sym(1) = one
sym(2) = one
sym(3) = one
call SetCartSymVN(ierr, cctkGH, sym, 'admconstraints::ham')
+ if (ierr .lt. 0) then
+ call CCTK_WARN(0,"Error setting symmetries for ADMConstraints::ham")
+ end if
sym(1) = -one
sym(2) = one
sym(3) = one
call SetCartSymVN(ierr, cctkGH, sym, 'admconstraints::momx')
+ if (ierr .lt. 0) then
+ call CCTK_WARN(0,"Error setting symmetries for ADMConstraints::momx")
+ end if
sym(1) = one
sym(2) = -one
sym(3) = one
call SetCartSymVN(ierr, cctkGH, sym, 'admconstraints::momy')
+ if (ierr .lt. 0) then
+ call CCTK_WARN(0,"Error setting symmetries for ADMConstraints::momy")
+ end if
sym(1) = one
sym(2) = one
sym(3) = -one
call SetCartSymVN(ierr, cctkGH, sym, 'admconstraints::momz')
+ if (ierr .lt. 0) then
+ call CCTK_WARN(0,"Error setting symmetries for ADMConstraints::momz")
+ end if
return
-
- end subroutine ADMConstraint_InitSymbound
+ end
diff --git a/src/ParamCheck.c b/src/ParamCheck.c
index 45c15e9..0ca88e8 100644
--- a/src/ParamCheck.c
+++ b/src/ParamCheck.c
@@ -75,6 +75,12 @@ void ADMConstraints_ParamCheck(CCTK_ARGUMENTS)
CCTK_PARAMWARN("ADMConstraints can currently only work with a physical metric or a static conformal metric with second derivatives");
}
+ CCTK_INFO("ADMConstraints contains ifdefs for Cartoon2D");
+ if (cartoon && !CCTK_IsThornActive("Cartoon2D"))
+ {
+ CCTK_WARN(0," ... using Cartoon2D but it is not active");
+ }
+
}
/*@@
diff --git a/test/ADMConstraints_Mask.par b/test/ADMConstraints_Mask.par
new file mode 100644
index 0000000..20d1678
--- /dev/null
+++ b/test/ADMConstraints_Mask.par
@@ -0,0 +1,52 @@
+!DESC "Constraints for Schwarzschild with mask activated"
+
+# $Header$
+#
+# /*@@
+# @file test_ADM_1.par
+# @date Sunday 24th July
+# @author Gabrielle Allen
+# @desc
+# ADMConstraints test file
+# @enddesc
+# @@*/
+
+# Required thorns
+ActiveThorns = "Boundary Time ADMconstraints pugh ADM CoordGauge pughreduce cartgrid3d ADMBase StaticConformal admmacros spacemask idanalyticbh ioutil iobasic"
+
+# GENERAL
+
+driver::global_nx = 20
+driver::global_ny = 20
+driver::global_nz = 20
+
+grid::type = "byspacing"
+grid::dxyz = 0.2
+grid::domain = "octant"
+
+cactus::cctk_itlast = 3
+
+
+# Einstein
+
+SpaceMask::use_mask = "yes"
+
+ADMBase::initial_data = "schwarzschild"
+ADMBase::metric_type = "static conformal"
+ADMBase::evolution_method = "ADM"
+ADMBase::lapse_evolution_method = "1+log"
+
+adm::method = "stagleap"
+adm::bound = "flat"
+
+# Output
+
+IO::out_dir = "ADMConstraints_Mask"
+IO::out_fileinfo = "none"
+
+IOBasic::outScalar_every = 1
+IOBasic::outScalar_vars = "admconstraints::hamiltonian admconstraints::momentum"
+
+IOBasic::outInfo_every = 1
+IOBasic::outInfo_vars = "admconstraints::ham admbase::gxx"
+
diff --git a/test/ADMConstraints_Mask/ADMConstraints_Mask.par b/test/ADMConstraints_Mask/ADMConstraints_Mask.par
new file mode 100644
index 0000000..9aa0995
--- /dev/null
+++ b/test/ADMConstraints_Mask/ADMConstraints_Mask.par
@@ -0,0 +1,46 @@
+!DESC "Constraints for Schwarzschild with mask activated"
+
+# $Header$
+#
+# /*@@
+# @file test_ADM_1.par
+# @date Sunday 24th July
+# @author Gabrielle Allen
+# @desc
+# ADMConstraints test file
+# @enddesc
+# @@*/
+
+# Required thorns
+ActiveThorns = "Boundary Time ADMconstraints pugh pughreduce cartgrid3d ADMBase StaticConformal admmacros spacemask idanalyticbh ioutil iobasic"
+
+# GENERAL
+
+driver::global_nx = 20
+driver::global_ny = 20
+driver::global_nz = 20
+
+grid::type = "byspacing"
+grid::dxyz = 0.2
+grid::domain = "octant"
+
+cactus::cctk_itlast = 0
+
+
+# Einstein
+
+SpaceMask::use_mask = "yes"
+ADMBase::initial_data = "schwarzschild"
+ADMBase::metric_type = "static conformal"
+
+# Output
+
+IO::out_dir = "ADMConstraints_Mask"
+IO::out_fileinfo = "none"
+
+IOBasic::outScalar_every = 1
+IOBasic::outScalar_vars = "admconstraints::hamiltonian admconstraints::momentum"
+
+IOBasic::outInfo_every = 1
+IOBasic::outInfo_vars = "admconstraints::ham admbase::gxx"
+
diff --git a/test/ADMConstraints_Mask/ham_maximum.xg b/test/ADMConstraints_Mask/ham_maximum.xg
new file mode 100644
index 0000000..ad2b029
--- /dev/null
+++ b/test/ADMConstraints_Mask/ham_maximum.xg
@@ -0,0 +1,5 @@
+"ham v time
+0.0000000000000 0.0000000000000
+0.1000000000000 0.0002044852710
+0.2000000000000 0.0007982173981
+0.3000000000000 0.0017258133454
diff --git a/test/ADMConstraints_Mask/ham_minimum.xg b/test/ADMConstraints_Mask/ham_minimum.xg
new file mode 100644
index 0000000..f342654
--- /dev/null
+++ b/test/ADMConstraints_Mask/ham_minimum.xg
@@ -0,0 +1,5 @@
+"ham v time
+0.0000000000000 -0.0000000000000
+0.1000000000000 -0.0001124590969
+0.2000000000000 -0.0004379400554
+0.3000000000000 -0.0009426106873
diff --git a/test/ADMConstraints_Mask/ham_norm1.xg b/test/ADMConstraints_Mask/ham_norm1.xg
new file mode 100644
index 0000000..d923144
--- /dev/null
+++ b/test/ADMConstraints_Mask/ham_norm1.xg
@@ -0,0 +1,5 @@
+"ham v time
+0.0000000000000 0.0000000000000
+0.1000000000000 0.0000159379883
+0.2000000000000 0.0000628594942
+0.3000000000000 0.0001383184346
diff --git a/test/ADMConstraints_Mask/ham_norm2.xg b/test/ADMConstraints_Mask/ham_norm2.xg
new file mode 100644
index 0000000..74a3289
--- /dev/null
+++ b/test/ADMConstraints_Mask/ham_norm2.xg
@@ -0,0 +1,5 @@
+"ham v time
+0.0000000000000 0.0000000000000
+0.1000000000000 0.0000382103057
+0.2000000000000 0.0001490771389
+0.3000000000000 0.0003222790671
diff --git a/test/ADMConstraints_Mask/momx_maximum.xg b/test/ADMConstraints_Mask/momx_maximum.xg
new file mode 100644
index 0000000..e5594a2
--- /dev/null
+++ b/test/ADMConstraints_Mask/momx_maximum.xg
@@ -0,0 +1,5 @@
+"momx v time
+0.0000000000000 -0.0000000000000
+0.1000000000000 0.0055634120450
+0.2000000000000 0.0111123908075
+0.3000000000000 0.0166325230605
diff --git a/test/ADMConstraints_Mask/momx_minimum.xg b/test/ADMConstraints_Mask/momx_minimum.xg
new file mode 100644
index 0000000..dc5df80
--- /dev/null
+++ b/test/ADMConstraints_Mask/momx_minimum.xg
@@ -0,0 +1,5 @@
+"momx v time
+0.0000000000000 -0.0000000000000
+0.1000000000000 -0.0055634120450
+0.2000000000000 -0.0111123908075
+0.3000000000000 -0.0166325230605
diff --git a/test/ADMConstraints_Mask/momx_norm1.xg b/test/ADMConstraints_Mask/momx_norm1.xg
new file mode 100644
index 0000000..d9c62fe
--- /dev/null
+++ b/test/ADMConstraints_Mask/momx_norm1.xg
@@ -0,0 +1,5 @@
+"momx v time
+0.0000000000000 0.0000000000000
+0.1000000000000 0.0000998180019
+0.2000000000000 0.0002004327396
+0.3000000000000 0.0003032309573
diff --git a/test/ADMConstraints_Mask/momx_norm2.xg b/test/ADMConstraints_Mask/momx_norm2.xg
new file mode 100644
index 0000000..ffbb440
--- /dev/null
+++ b/test/ADMConstraints_Mask/momx_norm2.xg
@@ -0,0 +1,5 @@
+"momx v time
+0.0000000000000 0.0000000000000
+0.1000000000000 0.0003573831141
+0.2000000000000 0.0007153714352
+0.3000000000000 0.0010746503210
diff --git a/test/ADMConstraints_Mask/momy_maximum.xg b/test/ADMConstraints_Mask/momy_maximum.xg
new file mode 100644
index 0000000..fc20965
--- /dev/null
+++ b/test/ADMConstraints_Mask/momy_maximum.xg
@@ -0,0 +1,5 @@
+"momy v time
+0.0000000000000 -0.0000000000000
+0.1000000000000 0.0055634120450
+0.2000000000000 0.0111123908075
+0.3000000000000 0.0166325230605
diff --git a/test/ADMConstraints_Mask/momy_minimum.xg b/test/ADMConstraints_Mask/momy_minimum.xg
new file mode 100644
index 0000000..7b818df
--- /dev/null
+++ b/test/ADMConstraints_Mask/momy_minimum.xg
@@ -0,0 +1,5 @@
+"momy v time
+0.0000000000000 -0.0000000000000
+0.1000000000000 -0.0055634120450
+0.2000000000000 -0.0111123908075
+0.3000000000000 -0.0166325230605
diff --git a/test/ADMConstraints_Mask/momy_norm1.xg b/test/ADMConstraints_Mask/momy_norm1.xg
new file mode 100644
index 0000000..734505a
--- /dev/null
+++ b/test/ADMConstraints_Mask/momy_norm1.xg
@@ -0,0 +1,5 @@
+"momy v time
+0.0000000000000 0.0000000000000
+0.1000000000000 0.0000998180019
+0.2000000000000 0.0002004327396
+0.3000000000000 0.0003032309573
diff --git a/test/ADMConstraints_Mask/momy_norm2.xg b/test/ADMConstraints_Mask/momy_norm2.xg
new file mode 100644
index 0000000..479b003
--- /dev/null
+++ b/test/ADMConstraints_Mask/momy_norm2.xg
@@ -0,0 +1,5 @@
+"momy v time
+0.0000000000000 0.0000000000000
+0.1000000000000 0.0003573831141
+0.2000000000000 0.0007153714352
+0.3000000000000 0.0010746503210
diff --git a/test/ADMConstraints_Mask/momz_maximum.xg b/test/ADMConstraints_Mask/momz_maximum.xg
new file mode 100644
index 0000000..52bbbf3
--- /dev/null
+++ b/test/ADMConstraints_Mask/momz_maximum.xg
@@ -0,0 +1,5 @@
+"momz v time
+0.0000000000000 -0.0000000000000
+0.1000000000000 0.0055634120450
+0.2000000000000 0.0111123908075
+0.3000000000000 0.0166325230605
diff --git a/test/ADMConstraints_Mask/momz_minimum.xg b/test/ADMConstraints_Mask/momz_minimum.xg
new file mode 100644
index 0000000..51ac7bb
--- /dev/null
+++ b/test/ADMConstraints_Mask/momz_minimum.xg
@@ -0,0 +1,5 @@
+"momz v time
+0.0000000000000 -0.0000000000000
+0.1000000000000 -0.0055634120450
+0.2000000000000 -0.0111123908075
+0.3000000000000 -0.0166325230605
diff --git a/test/ADMConstraints_Mask/momz_norm1.xg b/test/ADMConstraints_Mask/momz_norm1.xg
new file mode 100644
index 0000000..4600896
--- /dev/null
+++ b/test/ADMConstraints_Mask/momz_norm1.xg
@@ -0,0 +1,5 @@
+"momz v time
+0.0000000000000 0.0000000000000
+0.1000000000000 0.0000998180019
+0.2000000000000 0.0002004327396
+0.3000000000000 0.0003032309573
diff --git a/test/ADMConstraints_Mask/momz_norm2.xg b/test/ADMConstraints_Mask/momz_norm2.xg
new file mode 100644
index 0000000..11f584a
--- /dev/null
+++ b/test/ADMConstraints_Mask/momz_norm2.xg
@@ -0,0 +1,5 @@
+"momz v time
+0.0000000000000 0.0000000000000
+0.1000000000000 0.0003573831141
+0.2000000000000 0.0007153714352
+0.3000000000000 0.0010746503210
diff --git a/test/ADMConstraints_Physical.par b/test/ADMConstraints_Physical.par
new file mode 100644
index 0000000..5c68559
--- /dev/null
+++ b/test/ADMConstraints_Physical.par
@@ -0,0 +1,51 @@
+!DESC "Constraints for Schwarzschild with physical metric"
+
+# $Header$
+#
+# /*@@
+# @file test_ADM_1.par
+# @date Sunday 24th July
+# @author Gabrielle Allen
+# @desc
+# ADMConstraints test file
+# @enddesc
+# @@*/
+
+# Required thorns
+ActiveThorns = "Boundary Time ADMconstraints ADM CoordGauge pugh pughreduce cartgrid3d ADMBase StaticConformal admmacros spacemask idanalyticbh ioutil iobasic"
+
+# GENERAL
+
+driver::global_nx = 20
+driver::global_ny = 20
+driver::global_nz = 20
+
+grid::type = "byspacing"
+grid::dxyz = 0.2
+grid::domain = "octant"
+
+cactus::cctk_itlast = 3
+
+
+# Einstein
+
+ADMBase::initial_data = "schwarzschild"
+ADMBase::metric_type = "physical"
+
+ADMBase::evolution_method = "ADM"
+ADMBase::lapse_evolution_method = "1+log"
+
+adm::method = "stagleap"
+adm::bound = "flat"
+
+# Output
+
+IO::out_dir = "ADMConstraints_Physical"
+IO::out_fileinfo = "none"
+
+IOBasic::outScalar_every = 1
+IOBasic::outScalar_vars = "admconstraints::hamiltonian admconstraints::momentum"
+
+IOBasic::outInfo_every = 1
+IOBasic::outInfo_vars = "admconstraints::ham admbase::gxx"
+
diff --git a/test/ADMConstraints_Physical/ADMConstraints_Physical.par b/test/ADMConstraints_Physical/ADMConstraints_Physical.par
new file mode 100644
index 0000000..d8820ea
--- /dev/null
+++ b/test/ADMConstraints_Physical/ADMConstraints_Physical.par
@@ -0,0 +1,45 @@
+!DESC "Constraints for Schwarzschild with physical metric"
+
+# $Header$
+#
+# /*@@
+# @file test_ADM_1.par
+# @date Sunday 24th July
+# @author Gabrielle Allen
+# @desc
+# ADMConstraints test file
+# @enddesc
+# @@*/
+
+# Required thorns
+ActiveThorns = "Boundary Time ADMconstraints pugh pughreduce cartgrid3d ADMBase StaticConformal admmacros spacemask idanalyticbh ioutil iobasic"
+
+# GENERAL
+
+driver::global_nx = 20
+driver::global_ny = 20
+driver::global_nz = 20
+
+grid::type = "byspacing"
+grid::dxyz = 0.2
+grid::domain = "octant"
+
+cactus::cctk_itlast = 0
+
+
+# Einstein
+
+ADMBase::initial_data = "schwarzschild"
+ADMBase::metric_type = "physical"
+
+# Output
+
+IO::out_dir = "ADMConstraints_Physical"
+IO::out_fileinfo = "none"
+
+IOBasic::outScalar_every = 1
+IOBasic::outScalar_vars = "admconstraints::hamiltonian admconstraints::momentum"
+
+IOBasic::outInfo_every = 1
+IOBasic::outInfo_vars = "admconstraints::ham admbase::gxx"
+
diff --git a/test/ADMConstraints_Physical/ham_maximum.xg b/test/ADMConstraints_Physical/ham_maximum.xg
new file mode 100644
index 0000000..66cdec8
--- /dev/null
+++ b/test/ADMConstraints_Physical/ham_maximum.xg
@@ -0,0 +1,5 @@
+"ham v time
+0.0000000000000 13.3168913178387
+0.1000000000000 17.5306768916953
+0.2000000000000 41.2644137187818
+0.3000000000000 156.0398679535504
diff --git a/test/ADMConstraints_Physical/ham_minimum.xg b/test/ADMConstraints_Physical/ham_minimum.xg
new file mode 100644
index 0000000..53985a0
--- /dev/null
+++ b/test/ADMConstraints_Physical/ham_minimum.xg
@@ -0,0 +1,5 @@
+"ham v time
+0.0000000000000 -3.1663435079891
+0.1000000000000 -3.0475853008326
+0.2000000000000 -3.0625005210252
+0.3000000000000 -4.4414962230179
diff --git a/test/ADMConstraints_Physical/ham_norm1.xg b/test/ADMConstraints_Physical/ham_norm1.xg
new file mode 100644
index 0000000..c3c3ad9
--- /dev/null
+++ b/test/ADMConstraints_Physical/ham_norm1.xg
@@ -0,0 +1,5 @@
+"ham v time
+0.0000000000000 0.1774902308936
+0.1000000000000 0.1859891876737
+0.2000000000000 0.2171187752997
+0.3000000000000 0.3839334253993
diff --git a/test/ADMConstraints_Physical/ham_norm2.xg b/test/ADMConstraints_Physical/ham_norm2.xg
new file mode 100644
index 0000000..7de4efb
--- /dev/null
+++ b/test/ADMConstraints_Physical/ham_norm2.xg
@@ -0,0 +1,5 @@
+"ham v time
+0.0000000000000 0.7570518624213
+0.1000000000000 0.8624322037758
+0.2000000000000 1.6660412222337
+0.3000000000000 6.0614293230497
diff --git a/test/ADMConstraints_Physical/momx_maximum.xg b/test/ADMConstraints_Physical/momx_maximum.xg
new file mode 100644
index 0000000..46c9206
--- /dev/null
+++ b/test/ADMConstraints_Physical/momx_maximum.xg
@@ -0,0 +1,5 @@
+"momx v time
+0.0000000000000 -0.0000000000000
+0.1000000000000 8.8861212674441
+0.2000000000000 18.9391397990672
+0.3000000000000 32.4033169212092
diff --git a/test/ADMConstraints_Physical/momx_minimum.xg b/test/ADMConstraints_Physical/momx_minimum.xg
new file mode 100644
index 0000000..42ba04e
--- /dev/null
+++ b/test/ADMConstraints_Physical/momx_minimum.xg
@@ -0,0 +1,5 @@
+"momx v time
+0.0000000000000 -0.0000000000000
+0.1000000000000 -42.3928226636914
+0.2000000000000 -121.2722920912621
+0.3000000000000 -321.7412887542507
diff --git a/test/ADMConstraints_Physical/momx_norm1.xg b/test/ADMConstraints_Physical/momx_norm1.xg
new file mode 100644
index 0000000..5ccc2f0
--- /dev/null
+++ b/test/ADMConstraints_Physical/momx_norm1.xg
@@ -0,0 +1,5 @@
+"momx v time
+0.0000000000000 0.0000000000000
+0.1000000000000 0.0433446383591
+0.2000000000000 0.1036637106385
+0.3000000000000 0.2413492859555
diff --git a/test/ADMConstraints_Physical/momx_norm2.xg b/test/ADMConstraints_Physical/momx_norm2.xg
new file mode 100644
index 0000000..d289f52
--- /dev/null
+++ b/test/ADMConstraints_Physical/momx_norm2.xg
@@ -0,0 +1,5 @@
+"momx v time
+0.0000000000000 0.0000000000000
+0.1000000000000 0.9816315303820
+0.2000000000000 2.7621791337128
+0.3000000000000 7.2651806317338
diff --git a/test/ADMConstraints_Physical/momy_maximum.xg b/test/ADMConstraints_Physical/momy_maximum.xg
new file mode 100644
index 0000000..1298451
--- /dev/null
+++ b/test/ADMConstraints_Physical/momy_maximum.xg
@@ -0,0 +1,5 @@
+"momy v time
+0.0000000000000 -0.0000000000000
+0.1000000000000 8.8861212674441
+0.2000000000000 18.9391397990672
+0.3000000000000 32.4033169212092
diff --git a/test/ADMConstraints_Physical/momy_minimum.xg b/test/ADMConstraints_Physical/momy_minimum.xg
new file mode 100644
index 0000000..5e878ff
--- /dev/null
+++ b/test/ADMConstraints_Physical/momy_minimum.xg
@@ -0,0 +1,5 @@
+"momy v time
+0.0000000000000 -0.0000000000000
+0.1000000000000 -42.3928226636914
+0.2000000000000 -121.2722920912621
+0.3000000000000 -321.7412887542507
diff --git a/test/ADMConstraints_Physical/momy_norm1.xg b/test/ADMConstraints_Physical/momy_norm1.xg
new file mode 100644
index 0000000..7099c8f
--- /dev/null
+++ b/test/ADMConstraints_Physical/momy_norm1.xg
@@ -0,0 +1,5 @@
+"momy v time
+0.0000000000000 0.0000000000000
+0.1000000000000 0.0433446383591
+0.2000000000000 0.1036637106385
+0.3000000000000 0.2413492859555
diff --git a/test/ADMConstraints_Physical/momy_norm2.xg b/test/ADMConstraints_Physical/momy_norm2.xg
new file mode 100644
index 0000000..adb1db6
--- /dev/null
+++ b/test/ADMConstraints_Physical/momy_norm2.xg
@@ -0,0 +1,5 @@
+"momy v time
+0.0000000000000 0.0000000000000
+0.1000000000000 0.9816315303820
+0.2000000000000 2.7621791337128
+0.3000000000000 7.2651806317338
diff --git a/test/ADMConstraints_Physical/momz_maximum.xg b/test/ADMConstraints_Physical/momz_maximum.xg
new file mode 100644
index 0000000..4413bcd
--- /dev/null
+++ b/test/ADMConstraints_Physical/momz_maximum.xg
@@ -0,0 +1,5 @@
+"momz v time
+0.0000000000000 -0.0000000000000
+0.1000000000000 8.8861212674441
+0.2000000000000 18.9391397990672
+0.3000000000000 32.4033169212092
diff --git a/test/ADMConstraints_Physical/momz_minimum.xg b/test/ADMConstraints_Physical/momz_minimum.xg
new file mode 100644
index 0000000..ebe3852
--- /dev/null
+++ b/test/ADMConstraints_Physical/momz_minimum.xg
@@ -0,0 +1,5 @@
+"momz v time
+0.0000000000000 -0.0000000000000
+0.1000000000000 -42.3928226636914
+0.2000000000000 -121.2722920912622
+0.3000000000000 -321.7412887542508
diff --git a/test/ADMConstraints_Physical/momz_norm1.xg b/test/ADMConstraints_Physical/momz_norm1.xg
new file mode 100644
index 0000000..c22a155
--- /dev/null
+++ b/test/ADMConstraints_Physical/momz_norm1.xg
@@ -0,0 +1,5 @@
+"momz v time
+0.0000000000000 0.0000000000000
+0.1000000000000 0.0433446383591
+0.2000000000000 0.1036637106385
+0.3000000000000 0.2413492859555
diff --git a/test/ADMConstraints_Physical/momz_norm2.xg b/test/ADMConstraints_Physical/momz_norm2.xg
new file mode 100644
index 0000000..3d8c65d
--- /dev/null
+++ b/test/ADMConstraints_Physical/momz_norm2.xg
@@ -0,0 +1,5 @@
+"momz v time
+0.0000000000000 0.0000000000000
+0.1000000000000 0.9816315303820
+0.2000000000000 2.7621791337128
+0.3000000000000 7.2651806317338
diff --git a/test/ADMConstraints_Shift.par b/test/ADMConstraints_Shift.par
new file mode 100644
index 0000000..2a95f5e
--- /dev/null
+++ b/test/ADMConstraints_Shift.par
@@ -0,0 +1,52 @@
+!DESC "Constraints for Schwarzschild with mask and shift activated"
+
+# $Header$
+#
+# /*@@
+# @file test_ADM_1.par
+# @date Sunday 24th July
+# @author Gabrielle Allen
+# @desc
+# ADMConstraints test file
+# @enddesc
+# @@*/
+
+# Required thorns
+ActiveThorns = "Boundary Time ADMconstraints ADM CoordGauge pugh pughreduce cartgrid3d ADMBase StaticConformal admmacros spacemask idanalyticbh ioutil iobasic"
+
+# GENERAL
+
+driver::global_nx = 20
+driver::global_ny = 20
+driver::global_nz = 20
+
+grid::type = "byspacing"
+grid::dxyz = 0.2
+grid::domain = "octant"
+
+cactus::cctk_itlast = 3
+
+
+# Einstein
+
+ADMBase::initial_data = "schwarzschild"
+ADMBase::metric_type = "static conformal"
+ADMBase::initial_shift = "zero"
+
+ADMBase::evolution_method = "ADM"
+ADMBase::lapse_evolution_method = "1+log"
+
+adm::method = "stagleap"
+adm::bound = "flat"
+
+# Output
+
+IO::out_dir = "ADMConstraints_Shift"
+IO::out_fileinfo = "none"
+
+IOBasic::outScalar_every = 1
+IOBasic::outScalar_vars = "admconstraints::hamiltonian admconstraints::momentum"
+
+IOBasic::outInfo_every = 1
+IOBasic::outInfo_vars = "admconstraints::ham admbase::gxx"
+
diff --git a/test/ADMConstraints_Shift/ADMConstraints_Shift.par b/test/ADMConstraints_Shift/ADMConstraints_Shift.par
new file mode 100644
index 0000000..a1bb161
--- /dev/null
+++ b/test/ADMConstraints_Shift/ADMConstraints_Shift.par
@@ -0,0 +1,46 @@
+!DESC "Constraints for Schwarzschild with mask and shift activated"
+
+# $Header$
+#
+# /*@@
+# @file test_ADM_1.par
+# @date Sunday 24th July
+# @author Gabrielle Allen
+# @desc
+# ADMConstraints test file
+# @enddesc
+# @@*/
+
+# Required thorns
+ActiveThorns = "Boundary Time ADMconstraints pugh pughreduce cartgrid3d ADMBase StaticConformal admmacros spacemask idanalyticbh ioutil iobasic"
+
+# GENERAL
+
+driver::global_nx = 20
+driver::global_ny = 20
+driver::global_nz = 20
+
+grid::type = "byspacing"
+grid::dxyz = 0.2
+grid::domain = "octant"
+
+cactus::cctk_itlast = 0
+
+
+# Einstein
+
+ADMBase::initial_data = "schwarzschild"
+ADMBase::metric_type = "static conformal"
+ADMBase::initial_shift = "zero"
+
+# Output
+
+IO::out_dir = "ADMConstraints_Shift"
+IO::out_fileinfo = "none"
+
+IOBasic::outScalar_every = 1
+IOBasic::outScalar_vars = "admconstraints::hamiltonian admconstraints::momentum"
+
+IOBasic::outInfo_every = 1
+IOBasic::outInfo_vars = "admconstraints::ham admbase::gxx"
+
diff --git a/test/ADMConstraints_Shift/ham_maximum.xg b/test/ADMConstraints_Shift/ham_maximum.xg
new file mode 100644
index 0000000..ad2b029
--- /dev/null
+++ b/test/ADMConstraints_Shift/ham_maximum.xg
@@ -0,0 +1,5 @@
+"ham v time
+0.0000000000000 0.0000000000000
+0.1000000000000 0.0002044852710
+0.2000000000000 0.0007982173981
+0.3000000000000 0.0017258133454
diff --git a/test/ADMConstraints_Shift/ham_minimum.xg b/test/ADMConstraints_Shift/ham_minimum.xg
new file mode 100644
index 0000000..f342654
--- /dev/null
+++ b/test/ADMConstraints_Shift/ham_minimum.xg
@@ -0,0 +1,5 @@
+"ham v time
+0.0000000000000 -0.0000000000000
+0.1000000000000 -0.0001124590969
+0.2000000000000 -0.0004379400554
+0.3000000000000 -0.0009426106873
diff --git a/test/ADMConstraints_Shift/ham_norm1.xg b/test/ADMConstraints_Shift/ham_norm1.xg
new file mode 100644
index 0000000..d923144
--- /dev/null
+++ b/test/ADMConstraints_Shift/ham_norm1.xg
@@ -0,0 +1,5 @@
+"ham v time
+0.0000000000000 0.0000000000000
+0.1000000000000 0.0000159379883
+0.2000000000000 0.0000628594942
+0.3000000000000 0.0001383184346
diff --git a/test/ADMConstraints_Shift/ham_norm2.xg b/test/ADMConstraints_Shift/ham_norm2.xg
new file mode 100644
index 0000000..74a3289
--- /dev/null
+++ b/test/ADMConstraints_Shift/ham_norm2.xg
@@ -0,0 +1,5 @@
+"ham v time
+0.0000000000000 0.0000000000000
+0.1000000000000 0.0000382103057
+0.2000000000000 0.0001490771389
+0.3000000000000 0.0003222790671
diff --git a/test/ADMConstraints_Shift/momx_maximum.xg b/test/ADMConstraints_Shift/momx_maximum.xg
new file mode 100644
index 0000000..e5594a2
--- /dev/null
+++ b/test/ADMConstraints_Shift/momx_maximum.xg
@@ -0,0 +1,5 @@
+"momx v time
+0.0000000000000 -0.0000000000000
+0.1000000000000 0.0055634120450
+0.2000000000000 0.0111123908075
+0.3000000000000 0.0166325230605
diff --git a/test/ADMConstraints_Shift/momx_minimum.xg b/test/ADMConstraints_Shift/momx_minimum.xg
new file mode 100644
index 0000000..dc5df80
--- /dev/null
+++ b/test/ADMConstraints_Shift/momx_minimum.xg
@@ -0,0 +1,5 @@
+"momx v time
+0.0000000000000 -0.0000000000000
+0.1000000000000 -0.0055634120450
+0.2000000000000 -0.0111123908075
+0.3000000000000 -0.0166325230605
diff --git a/test/ADMConstraints_Shift/momx_norm1.xg b/test/ADMConstraints_Shift/momx_norm1.xg
new file mode 100644
index 0000000..d9c62fe
--- /dev/null
+++ b/test/ADMConstraints_Shift/momx_norm1.xg
@@ -0,0 +1,5 @@
+"momx v time
+0.0000000000000 0.0000000000000
+0.1000000000000 0.0000998180019
+0.2000000000000 0.0002004327396
+0.3000000000000 0.0003032309573
diff --git a/test/ADMConstraints_Shift/momx_norm2.xg b/test/ADMConstraints_Shift/momx_norm2.xg
new file mode 100644
index 0000000..ffbb440
--- /dev/null
+++ b/test/ADMConstraints_Shift/momx_norm2.xg
@@ -0,0 +1,5 @@
+"momx v time
+0.0000000000000 0.0000000000000
+0.1000000000000 0.0003573831141
+0.2000000000000 0.0007153714352
+0.3000000000000 0.0010746503210
diff --git a/test/ADMConstraints_Shift/momy_maximum.xg b/test/ADMConstraints_Shift/momy_maximum.xg
new file mode 100644
index 0000000..fc20965
--- /dev/null
+++ b/test/ADMConstraints_Shift/momy_maximum.xg
@@ -0,0 +1,5 @@
+"momy v time
+0.0000000000000 -0.0000000000000
+0.1000000000000 0.0055634120450
+0.2000000000000 0.0111123908075
+0.3000000000000 0.0166325230605
diff --git a/test/ADMConstraints_Shift/momy_minimum.xg b/test/ADMConstraints_Shift/momy_minimum.xg
new file mode 100644
index 0000000..7b818df
--- /dev/null
+++ b/test/ADMConstraints_Shift/momy_minimum.xg
@@ -0,0 +1,5 @@
+"momy v time
+0.0000000000000 -0.0000000000000
+0.1000000000000 -0.0055634120450
+0.2000000000000 -0.0111123908075
+0.3000000000000 -0.0166325230605
diff --git a/test/ADMConstraints_Shift/momy_norm1.xg b/test/ADMConstraints_Shift/momy_norm1.xg
new file mode 100644
index 0000000..734505a
--- /dev/null
+++ b/test/ADMConstraints_Shift/momy_norm1.xg
@@ -0,0 +1,5 @@
+"momy v time
+0.0000000000000 0.0000000000000
+0.1000000000000 0.0000998180019
+0.2000000000000 0.0002004327396
+0.3000000000000 0.0003032309573
diff --git a/test/ADMConstraints_Shift/momy_norm2.xg b/test/ADMConstraints_Shift/momy_norm2.xg
new file mode 100644
index 0000000..479b003
--- /dev/null
+++ b/test/ADMConstraints_Shift/momy_norm2.xg
@@ -0,0 +1,5 @@
+"momy v time
+0.0000000000000 0.0000000000000
+0.1000000000000 0.0003573831141
+0.2000000000000 0.0007153714352
+0.3000000000000 0.0010746503210
diff --git a/test/ADMConstraints_Shift/momz_maximum.xg b/test/ADMConstraints_Shift/momz_maximum.xg
new file mode 100644
index 0000000..52bbbf3
--- /dev/null
+++ b/test/ADMConstraints_Shift/momz_maximum.xg
@@ -0,0 +1,5 @@
+"momz v time
+0.0000000000000 -0.0000000000000
+0.1000000000000 0.0055634120450
+0.2000000000000 0.0111123908075
+0.3000000000000 0.0166325230605
diff --git a/test/ADMConstraints_Shift/momz_minimum.xg b/test/ADMConstraints_Shift/momz_minimum.xg
new file mode 100644
index 0000000..51ac7bb
--- /dev/null
+++ b/test/ADMConstraints_Shift/momz_minimum.xg
@@ -0,0 +1,5 @@
+"momz v time
+0.0000000000000 -0.0000000000000
+0.1000000000000 -0.0055634120450
+0.2000000000000 -0.0111123908075
+0.3000000000000 -0.0166325230605
diff --git a/test/ADMConstraints_Shift/momz_norm1.xg b/test/ADMConstraints_Shift/momz_norm1.xg
new file mode 100644
index 0000000..4600896
--- /dev/null
+++ b/test/ADMConstraints_Shift/momz_norm1.xg
@@ -0,0 +1,5 @@
+"momz v time
+0.0000000000000 0.0000000000000
+0.1000000000000 0.0000998180019
+0.2000000000000 0.0002004327396
+0.3000000000000 0.0003032309573
diff --git a/test/ADMConstraints_Shift/momz_norm2.xg b/test/ADMConstraints_Shift/momz_norm2.xg
new file mode 100644
index 0000000..11f584a
--- /dev/null
+++ b/test/ADMConstraints_Shift/momz_norm2.xg
@@ -0,0 +1,5 @@
+"momz v time
+0.0000000000000 0.0000000000000
+0.1000000000000 0.0003573831141
+0.2000000000000 0.0007153714352
+0.3000000000000 0.0010746503210