aboutsummaryrefslogtreecommitdiff
path: root/src/overwrite.F90
diff options
context:
space:
mode:
Diffstat (limited to 'src/overwrite.F90')
-rw-r--r--src/overwrite.F9088
1 files changed, 88 insertions, 0 deletions
diff --git a/src/overwrite.F90 b/src/overwrite.F90
new file mode 100644
index 0000000..c7949ae
--- /dev/null
+++ b/src/overwrite.F90
@@ -0,0 +1,88 @@
+! $Header$
+
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Functions.h"
+#include "cctk_Parameters.h"
+
+subroutine NoExcision_Overwrite (CCTK_ARGUMENTS)
+ implicit none
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_FUNCTIONS
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL :: cx, cy, cz, rad
+ integer :: n
+
+ do n = 1, num_regions
+
+ cx = centre_x(n)
+ cy = centre_y(n)
+ cz = centre_z(n)
+ rad = radius(n)
+
+ if (overwrite_geometry /= 0) then
+
+ if (conformal_state >= 1) then
+ where ((x - cx)**2 + (y - cy)**2 + (z - cz)**2 <= rad**2)
+ psi = 1
+ end where
+ end if
+ if (conformal_state >= 2) then
+ where ((x - cx)**2 + (y - cy)**2 + (z - cz)**2 <= rad**2)
+ psix = 0
+ psiy = 0
+ psiz = 0
+ end where
+ end if
+ if (conformal_state >= 3) then
+ where ((x - cx)**2 + (y - cy)**2 + (z - cz)**2 <= rad**2)
+ psixx = 0
+ psixy = 0
+ psixz = 0
+ psiyy = 0
+ psiyz = 0
+ psizz = 0
+ end where
+ end if
+
+ where ((x - cx)**2 + (y - cy)**2 + (z - cz)**2 <= rad**2)
+ gxx = 1
+ gxy = 0
+ gxz = 0
+ gyy = 1
+ gyz = 0
+ gzz = 1
+ kxx = 0
+ kxy = 0
+ kxz = 0
+ kyy = 0
+ kyz = 0
+ kzz = 0
+ end where
+
+ end if
+
+ if (overwrite_lapse /= 0) then
+
+ where ((x - cx)**2 + (y - cy)**2 + (z - cz)**2 <= rad**2)
+ alp = 1
+ end where
+
+ end if
+
+ if (overwrite_shift /= 0) then
+
+ if (shift_state /= 0) then
+ where ((x - cx)**2 + (y - cy)**2 + (z - cz)**2 <= rad**2)
+ betax = 0
+ betay = 0
+ betaz = 0
+ end where
+ end if
+
+ end if
+
+ end do
+
+end subroutine NoExcision_Overwrite