aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorknarf <knarf@e296648e-0e4f-0410-bd07-d597d9acff87>2003-01-28 14:49:41 +0000
committerknarf <knarf@e296648e-0e4f-0410-bd07-d597d9acff87>2003-01-28 14:49:41 +0000
commitdf88cbc7f44eaed2786f331e9c839eed625ced44 (patch)
tree8141c6ac3a25a3ab8a6060812e6ec808a820b88d /src
parent34f58312bd04e64c06975d579afff005734288ba (diff)
- add one new metric: Minkowski/conf wave
This is Minkowski with a cosine in the conformal factor - added support for using a static conformal factor git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinInitialData/Exact/trunk@147 e296648e-0e4f-0410-bd07-d597d9acff87
Diffstat (limited to 'src')
-rw-r--r--src/Bona_Masso_data.F77192
-rw-r--r--src/ParamCheck.c4
-rw-r--r--src/blended_boundary.F7727
-rw-r--r--src/boundary.F7726
-rw-r--r--src/decode_pars.F772
-rw-r--r--src/gauge.F7768
-rw-r--r--src/include/Scalar_CalcTmunu.inc2
-rw-r--r--src/include/param_defs.inc1
-rw-r--r--src/initialize.F7760
-rw-r--r--src/metric.F7799
-rw-r--r--src/metrics/Alvi.F776
-rw-r--r--src/metrics/Bertotti.F776
-rw-r--r--src/metrics/Bianchi_I.F776
-rw-r--r--src/metrics/Goedel.F776
-rw-r--r--src/metrics/Gowdy.F776
-rw-r--r--src/metrics/Kasner_axisymmetric.F776
-rw-r--r--src/metrics/Kasner_generalized.F776
-rw-r--r--src/metrics/Kasner_like.F776
-rw-r--r--src/metrics/Kerr_BoyerLindquist.F776
-rw-r--r--src/metrics/Kerr_KerrSchild.F776
-rw-r--r--src/metrics/Lemaitre.F776
-rw-r--r--src/metrics/Milne.F774
-rw-r--r--src/metrics/Minkowski.F776
-rw-r--r--src/metrics/Minkowski_conf_wave.F7775
-rw-r--r--src/metrics/Minkowski_funny.F776
-rw-r--r--src/metrics/Minkowski_gauge_wave.F776
-rw-r--r--src/metrics/Minkowski_shift.F776
-rw-r--r--src/metrics/Robertson_Walker.F774
-rw-r--r--src/metrics/Schwarzschild_EF.F776
-rw-r--r--src/metrics/Schwarzschild_Lemaitre.F776
-rw-r--r--src/metrics/Schwarzschild_Novikov.F776
-rw-r--r--src/metrics/Schwarzschild_PG.F776
-rw-r--r--src/metrics/Thorne_fakebinary.F776
-rw-r--r--src/metrics/anti_de_Sitter_Lambda.F776
-rw-r--r--src/metrics/boost_rotation_symmetric.F776
-rw-r--r--src/metrics/bowl.F776
-rw-r--r--src/metrics/constant_density_star.F776
-rw-r--r--src/metrics/de_Sitter.F776
-rw-r--r--src/metrics/de_Sitter_Lambda.F776
-rw-r--r--src/metrics/make.code.defn1
-rw-r--r--src/metrics/multi_BH.F776
-rw-r--r--src/slice_data.F81
-rw-r--r--src/xyz_blended_boundary.F7726
43 files changed, 720 insertions, 114 deletions
diff --git a/src/Bona_Masso_data.F77 b/src/Bona_Masso_data.F77
index 9805e0a..8318c01 100644
--- a/src/Bona_Masso_data.F77
+++ b/src/Bona_Masso_data.F77
@@ -13,6 +13,8 @@ c $Header$
$ x, y, z, t,
$ gxx, gyy, gzz, gxy, gyz, gxz,
$ hxx, hyy, hzz, hxy, hyz, hxz,
+ $ psi, psix, psiy, psiz,
+ $ psixx, psiyy, psizz, psixy, psiyz, psixz,
$ dxgxx, dxgyy, dxgzz, dxgxy, dxgyz, dxgxz,
$ dygxx, dygyy, dygzz, dygxy, dygyz, dygxz,
$ dzgxx, dzgyy, dzgzz, dzgxy, dzgyz, dzgxz,
@@ -21,9 +23,12 @@ c $Header$
implicit none
CCTK_INT decoded_exact_model
+ CCTK_INT psi_on
CCTK_REAL x, y, z, t,
$ gxx, gyy, gzz, gxy, gyz, gxz,
$ hxx, hyy, hzz, hxy, hyz, hxz,
+ $ psi, psix, psiy, psiz,
+ $ psixx, psiyy, psizz, psixy, psiyz, psixz,
$ dxgxx, dxgyy, dxgzz, dxgxy, dxgyz, dxgxz,
$ dygxx, dygyy, dygzz, dygxy, dygyz, dygxz,
$ dzgxx, dzgyy, dzgzz, dzgxy, dzgyz, dzgxz,
@@ -37,7 +42,7 @@ C alp is N, betax is N^x etc.
C bxy is (/2) dN^y / dx (sic and sic!)
C ax is dN / dx / N (sic!)
- CCTK_REAL eps,
+ CCTK_REAL eps, four_eps2,
$ gdtt, gdtx, gdty, gdtz,
$ gutt, gutx, guty, gutz,
$ guxx, guyy, guzz, guxy, guyz, guxz,
@@ -45,13 +50,36 @@ C ax is dN / dx / N (sic!)
$ gdxx_p, gdyy_p, gdzz_p, gdxy_p, gdyz_p, gdxz_p,
$ gutt_p, gutx_p, guty_p, gutz_p,
$ guxx_p, guyy_p, guzz_p, guxy_p, guyz_p, guxz_p,
+ $ psix_p, psiy_p, psiz_p,
$ gdtt_m, gdtx_m, gdty_m, gdtz_m,
$ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
$ gutt_m, gutx_m, guty_m, gutz_m,
- $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m
+ $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m,
+ $ psix_m, psiy_m, psiz_m,
+ $ psix_px_p, psix_py_p, psix_pz_p,
+ $ psiy_py_p, psiy_pz_p,
+ $ psiz_pz_p,
+ $
+ $ psix_mx_m, psix_my_m, psix_mz_m,
+ $ psiy_my_m, psiy_mz_m,
+ $ psiz_mz_m,
+ $
+ $ psix_py_m, psix_pz_m,
+ $ psiy_pz_m,
+ $
+ $ psix_my_p, psix_mz_p,
+ $ psiy_mz_p
parameter (eps=1.d-6)
+C Save, if we have to provide the conformal factor
+
+ if (psi .gt. 0.0d0) then
+ psi_on=1
+ else
+ psi_on=0
+ end if
+
C Get the spacetime metric and its inverse at the base point.
call Exact__metric(
@@ -60,7 +88,7 @@ C Get the spacetime metric and its inverse at the base point.
$ gdtt, gdtx, gdty, gdtz,
$ gxx, gyy, gzz, gxy, gyz, gxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz, psi)
C Calculate lapse and shift from the upper metric.
@@ -82,14 +110,14 @@ C Calculate x-derivatives.
$ gdtt_p, gdtx_p, gdty_p, gdtz_p,
$ gdxx_p, gdyy_p, gdzz_p, gdxy_p, gdyz_p, gdxz_p,
$ gutt_p, gutx_p, guty_p, gutz_p,
- $ guxx_p, guyy_p, guzz_p, guxy_p, guyz_p, guxz_p)
+ $ guxx_p, guyy_p, guzz_p, guxy_p, guyz_p, guxz_p, psix_p)
call Exact__metric(
$ decoded_exact_model,
$ x-eps, y, z, t,
$ gdtt_m, gdtx_m, gdty_m, gdtz_m,
$ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
$ gutt_m, gutx_m, guty_m, gutz_m,
- $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m)
+ $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m, psix_m)
dxgxx = (gdxx_p - gdxx_m) / 4.d0 / eps
dxgyy = (gdyy_p - gdyy_m) / 4.d0 / eps
@@ -104,6 +132,7 @@ C Calculate x-derivatives.
bxy = ((- guty_p / gutt_p) - (- guty_m / gutt_m)) / 4.d0 / eps
bxz = ((- gutz_p / gutt_p) - (- gutz_m / gutt_m)) / 4.d0 / eps
+ psix = (psix_p - psix_m) / 2.0d0 / eps
C Calculate y-derivatives.
call Exact__metric(
@@ -112,14 +141,14 @@ C Calculate y-derivatives.
$ gdtt_p, gdtx_p, gdty_p, gdtz_p,
$ gdxx_p, gdyy_p, gdzz_p, gdxy_p, gdyz_p, gdxz_p,
$ gutt_p, gutx_p, guty_p, gutz_p,
- $ guxx_p, guyy_p, guzz_p, guxy_p, guyz_p, guxz_p)
+ $ guxx_p, guyy_p, guzz_p, guxy_p, guyz_p, guxz_p, psiy_p)
call Exact__metric(
$ decoded_exact_model,
$ x, y-eps, z, t,
$ gdtt_m, gdtx_m, gdty_m, gdtz_m,
$ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
$ gutt_m, gutx_m, guty_m, gutz_m,
- $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m)
+ $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m, psiy_m)
dygxx = (gdxx_p - gdxx_m) / 4.d0 / eps
dygyy = (gdyy_p - gdyy_m) / 4.d0 / eps
@@ -134,6 +163,7 @@ C Calculate y-derivatives.
byy = ((- guty_p / gutt_p) - (- guty_m / gutt_m)) / 4.d0 / eps
byz = ((- gutz_p / gutt_p) - (- gutz_m / gutt_m)) / 4.d0 / eps
+ psiy = (psiy_p - psiy_m) / 2.0d0 / eps
C Calculate z-derivatives.
call Exact__metric(
@@ -142,14 +172,14 @@ C Calculate z-derivatives.
$ gdtt_p, gdtx_p, gdty_p, gdtz_p,
$ gdxx_p, gdyy_p, gdzz_p, gdxy_p, gdyz_p, gdxz_p,
$ gutt_p, gutx_p, guty_p, gutz_p,
- $ guxx_p, guyy_p, guzz_p, guxy_p, guyz_p, guxz_p)
+ $ guxx_p, guyy_p, guzz_p, guxy_p, guyz_p, guxz_p, psiz_p)
call Exact__metric(
$ decoded_exact_model,
$ x, y, z-eps, t,
$ gdtt_m, gdtx_m, gdty_m, gdtz_m,
$ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
$ gutt_m, gutx_m, guty_m, gutz_m,
- $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m)
+ $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m, psiz_m)
dzgxx = (gdxx_p - gdxx_m) / 4.d0 / eps
dzgyy = (gdyy_p - gdyy_m) / 4.d0 / eps
@@ -164,6 +194,7 @@ C Calculate z-derivatives.
bzy = ((- guty_p / gutt_p) - (- guty_m / gutt_m)) / 4.d0 / eps
bzz = ((- gutz_p / gutt_p) - (- gutz_m / gutt_m)) / 4.d0 / eps
+ psiz = (psiz_p - psiz_m) / 2.0d0 / eps
C Calculate t-derivatives, and extrinsic curvature.
call Exact__metric(
@@ -172,14 +203,14 @@ C Calculate t-derivatives, and extrinsic curvature.
$ gdtt_p, gdtx_p, gdty_p, gdtz_p,
$ gdxx_p, gdyy_p, gdzz_p, gdxy_p, gdyz_p, gdxz_p,
$ gutt_p, gutx_p, guty_p, gutz_p,
- $ guxx_p, guyy_p, guzz_p, guxy_p, guyz_p, guxz_p)
+ $ guxx_p, guyy_p, guzz_p, guxy_p, guyz_p, guxz_p, psi)
call Exact__metric(
$ decoded_exact_model,
$ x, y, z, t-eps,
$ gdtt_m, gdtx_m, gdty_m, gdtz_m,
$ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
$ gutt_m, gutx_m, guty_m, gutz_m,
- $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m)
+ $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m, psi)
hxx = - (gdxx_p - gdxx_m) / 4.d0 / eps / alp
$ + (dxgxx * betax + dygxx * betay + dzgxx * betaz
@@ -208,6 +239,145 @@ C Calculate t-derivatives, and extrinsic curvature.
$ + bxx * gxz + bxy * gyz + bxz * gzz
$ + bzx * gxx + bzy * gxy + bzz * gxz) / alp
+C Calculate second derivatives of the conformal factor
+ if (psi_on .eq. 1) then
+ call Exact__metric(
+ $ decoded_exact_model,
+ $ x+eps+eps, y, z, t,
+ $ gdtt_m, gdtx_m, gdty_m, gdtz_m,
+ $ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
+ $ gutt_m, gutx_m, guty_m, gutz_m,
+ $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m, psix_px_p)
+ call Exact__metric(
+ $ decoded_exact_model,
+ $ x, y+eps+eps, z, t,
+ $ gdtt_m, gdtx_m, gdty_m, gdtz_m,
+ $ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
+ $ gutt_m, gutx_m, guty_m, gutz_m,
+ $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m, psiy_py_p)
+ call Exact__metric(
+ $ decoded_exact_model,
+ $ x, y, z+eps+eps, t,
+ $ gdtt_m, gdtx_m, gdty_m, gdtz_m,
+ $ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
+ $ gutt_m, gutx_m, guty_m, gutz_m,
+ $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m, psiz_pz_p)
+ call Exact__metric(
+ $ decoded_exact_model,
+ $ x-eps-eps, y, z, t,
+ $ gdtt_m, gdtx_m, gdty_m, gdtz_m,
+ $ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
+ $ gutt_m, gutx_m, guty_m, gutz_m,
+ $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m, psix_mx_m)
+ call Exact__metric(
+ $ decoded_exact_model,
+ $ x, y-eps-eps, z, t,
+ $ gdtt_m, gdtx_m, gdty_m, gdtz_m,
+ $ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
+ $ gutt_m, gutx_m, guty_m, gutz_m,
+ $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m, psiy_my_m)
+ call Exact__metric(
+ $ decoded_exact_model,
+ $ x, y, z-eps-eps, t,
+ $ gdtt_m, gdtx_m, gdty_m, gdtz_m,
+ $ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
+ $ gutt_m, gutx_m, guty_m, gutz_m,
+ $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m, psiz_mz_m)
+ call Exact__metric(
+ $ decoded_exact_model,
+ $ x+eps, y+eps, z, t,
+ $ gdtt_p, gdtx_p, gdty_p, gdtz_p,
+ $ gdxx_p, gdyy_p, gdzz_p, gdxy_p, gdyz_p, gdxz_p,
+ $ gutt_p, gutx_p, guty_p, gutz_p,
+ $ guxx_p, guyy_p, guzz_p, guxy_p, guyz_p, guxz_p, psix_py_p)
+ call Exact__metric(
+ $ decoded_exact_model,
+ $ x+eps, y, z+eps, t,
+ $ gdtt_m, gdtx_m, gdty_m, gdtz_m,
+ $ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
+ $ gutt_m, gutx_m, guty_m, gutz_m,
+ $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m, psix_pz_p)
+ call Exact__metric(
+ $ decoded_exact_model,
+ $ x, y+eps, z+eps, t,
+ $ gdtt_m, gdtx_m, gdty_m, gdtz_m,
+ $ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
+ $ gutt_m, gutx_m, guty_m, gutz_m,
+ $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m, psiy_pz_p)
+ call Exact__metric(
+ $ decoded_exact_model,
+ $ x-eps, y-eps, z, t,
+ $ gdtt_m, gdtx_m, gdty_m, gdtz_m,
+ $ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
+ $ gutt_m, gutx_m, guty_m, gutz_m,
+ $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m, psix_my_m)
+ call Exact__metric(
+ $ decoded_exact_model,
+ $ x-eps, y, z-eps, t,
+ $ gdtt_m, gdtx_m, gdty_m, gdtz_m,
+ $ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
+ $ gutt_m, gutx_m, guty_m, gutz_m,
+ $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m, psix_mz_m)
+ call Exact__metric(
+ $ decoded_exact_model,
+ $ x, y-eps, z-eps, t,
+ $ gdtt_m, gdtx_m, gdty_m, gdtz_m,
+ $ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
+ $ gutt_m, gutx_m, guty_m, gutz_m,
+ $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m, psiy_mz_m)
+ call Exact__metric(
+ $ decoded_exact_model,
+ $ x+eps, y-eps, z, t,
+ $ gdtt_m, gdtx_m, gdty_m, gdtz_m,
+ $ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
+ $ gutt_m, gutx_m, guty_m, gutz_m,
+ $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m, psix_py_m)
+ call Exact__metric(
+ $ decoded_exact_model,
+ $ x+eps, y, z-eps, t,
+ $ gdtt_m, gdtx_m, gdty_m, gdtz_m,
+ $ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
+ $ gutt_m, gutx_m, guty_m, gutz_m,
+ $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m, psix_pz_m)
+ call Exact__metric(
+ $ decoded_exact_model,
+ $ x-eps, y+eps, z, t,
+ $ gdtt_m, gdtx_m, gdty_m, gdtz_m,
+ $ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
+ $ gutt_m, gutx_m, guty_m, gutz_m,
+ $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m, psix_my_p)
+ call Exact__metric(
+ $ decoded_exact_model,
+ $ x-eps, y, z+eps, t,
+ $ gdtt_m, gdtx_m, gdty_m, gdtz_m,
+ $ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
+ $ gutt_m, gutx_m, guty_m, gutz_m,
+ $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m, psix_mz_p)
+ call Exact__metric(
+ $ decoded_exact_model,
+ $ x, y+eps, z-eps, t,
+ $ gdtt_m, gdtx_m, gdty_m, gdtz_m,
+ $ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
+ $ gutt_m, gutx_m, guty_m, gutz_m,
+ $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m, psiy_pz_m)
+ call Exact__metric(
+ $ decoded_exact_model,
+ $ x, y-eps, z+eps, t,
+ $ gdtt_m, gdtx_m, gdty_m, gdtz_m,
+ $ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
+ $ gutt_m, gutx_m, guty_m, gutz_m,
+ $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m, psiy_mz_p)
+
+ four_eps2 = 4.0d0 * eps**2
+
+ psixx = (psix_mx_m- 2*psi+ psix_px_p) / four_eps2
+ psiyy = (psiy_my_m- 2*psi+ psiy_py_p) / four_eps2
+ psizz = (psiz_mz_m- 2*psi+ psiz_pz_p) / four_eps2
+ psixy = (psix_my_m- psix_my_p- psix_py_m+ psix_py_p) / four_eps2
+ psixz = (psix_mz_m- psix_mz_p- psix_pz_m+ psix_pz_p) / four_eps2
+ psiyz = (psiy_mz_m- psiy_mz_p- psiy_pz_m+ psiy_pz_p) / four_eps2
+
+ end if
return
end
diff --git a/src/ParamCheck.c b/src/ParamCheck.c
index ed19b5b..c66125e 100644
--- a/src/ParamCheck.c
+++ b/src/ParamCheck.c
@@ -64,12 +64,12 @@ void Exact_ParamCheck(CCTK_ARGUMENTS);
void Exact_ParamCheck(CCTK_ARGUMENTS)
{
DECLARE_CCTK_PARAMETERS;
-
+/*
if(! CCTK_EQUALS(metric_type, "physical"))
{
CCTK_PARAMWARN("Unknown ADMBase::metric_type - known types are \"physical\"");
}
-
+*/
if ( CCTK_EQUALS(shift_evolution_method, "exact")
&& CCTK_EQUALS(initial_shift, "none") )
{
diff --git a/src/blended_boundary.F77 b/src/blended_boundary.F77
index 804f679..c51ac61 100644
--- a/src/blended_boundary.F77
+++ b/src/blended_boundary.F77
@@ -24,6 +24,12 @@ C $Header$
CCTK_REAL dygxxe, dygyye, dygzze, dygxye, dygyze, dygxze
CCTK_REAL dzgxxe, dzgyye, dzgzze, dzgxye, dzgyze, dzgxze
+ CCTK_REAL
+ $ exact_psi,
+ $ exact_psix, exact_psiy, exact_psiz,
+ $ exact_psixx, exact_psiyy, exact_psizz,
+ $ exact_psixy, exact_psiyz, exact_psixz
+
CCTK_REAL alpe, axe, aye, aze
CCTK_REAL betaxe,betaye,betaze
CCTK_REAL bxxe,bxye,bxze,byxe,byye,byze,bzxe,bzye,bzze
@@ -84,11 +90,32 @@ c there.
if (r(i,j,k) .ge. rinner) then
+C Initialize the psi of exact
+C (also to tell the models about the conformal_state)
+ if (conformal_state .ne. 0) then
+ exact_psi = 1.0D0
+ else
+ exact_psi = 0.0D0
+ end if
+ exact_psix = 0.0D0
+ exact_psiy = 0.0D0
+ exact_psiz = 0.0D0
+ exact_psixx = 0.0D0
+ exact_psixx = 0.0D0
+ exact_psizz = 0.0D0
+ exact_psixy = 0.0D0
+ exact_psiyz = 0.0D0
+ exact_psixz = 0.0D0
+
call Exact__Bona_Masso_data(
$ decoded_exact_model,
$ x(i,j,k), y(i,j,k), z(i,j,k), time,
$ gxxe, gyye, gzze, gxye, gyze, gxze,
$ kxxe, kyye, kzze, kxye, kyze, kxze,
+ $ exact_psi,
+ $ exact_psix, exact_psiy, exact_psiz,
+ $ exact_psixx, exact_psiyy, exact_psizz,
+ $ exact_psixy, exact_psiyz, exact_psixz,
$ dxgxxe, dxgyye, dxgzze, dxgxye, dxgyze, dxgxze,
$ dygxxe, dygyye, dygzze, dygxye, dygyze, dygxze,
$ dzgxxe, dzgyye, dzgzze, dzgxye, dzgyze, dzgxze,
diff --git a/src/boundary.F77 b/src/boundary.F77
index 1862e43..3e65f53 100644
--- a/src/boundary.F77
+++ b/src/boundary.F77
@@ -25,6 +25,11 @@ C $Header$
$ bxxjunk, bxyjunk, bxzjunk,
$ byxjunk, byyjunk, byzjunk,
$ bzxjunk, bzyjunk, bzzjunk
+ CCTK_REAL
+ $ exact_psi,
+ $ exact_psix, exact_psiy, exact_psiz,
+ $ exact_psixx, exact_psiyy, exact_psizz,
+ $ exact_psixy, exact_psiyz, exact_psixz
C Grid parameters.
@@ -32,6 +37,23 @@ C Grid parameters.
ny = cctk_lsh(2)
nz = cctk_lsh(3)
+C Initialize the psi of exact
+C (also to tell the models about the conformal_state)
+ if (conformal_state .ne. 0) then
+ exact_psi = 1.0D0
+ else
+ exact_psi = 0.0D0
+ end if
+ exact_psix = 0.0D0
+ exact_psiy = 0.0D0
+ exact_psiz = 0.0D0
+ exact_psixx = 0.0D0
+ exact_psixx = 0.0D0
+ exact_psizz = 0.0D0
+ exact_psixy = 0.0D0
+ exact_psiyz = 0.0D0
+ exact_psixz = 0.0D0
+
C Set all initial data including dijk and vi on all points which
C are on the boundary of the domain if it really is the boundary
C of the complete grid. Treat all six sides of the grid cube this way.
@@ -55,6 +77,10 @@ C overwritten by Exact__gauge.
gxy(i,j,k), gyz(i,j,k), gxz(i,j,k), \
kxx(i,j,k), kyy(i,j,k), kzz(i,j,k), \
kxy(i,j,k), kyz(i,j,k), kxz(i,j,k), \
+ exact_psi, \
+ exact_psix, exact_psiy, exact_psiz, \
+ exact_psixx, exact_psiyy, exact_psizz, \
+ exact_psixy, exact_psiyz, exact_psixz, \
dxgxxjunk, dxgyyjunk, dxgzzjunk, \
dxgxyjunk, dxgyzjunk, dxgxzjunk, \
dygxxjunk, dygyyjunk, dygzzjunk, \
diff --git a/src/decode_pars.F77 b/src/decode_pars.F77
index 1368f11..7790171 100644
--- a/src/decode_pars.F77
+++ b/src/decode_pars.F77
@@ -57,6 +57,8 @@ c Minkowski spacetime
decoded_exact_model = EXACT__Minkowski_funny
elseif (CCTK_Equals(exact_model, "Minkowski/gauge wave") .ne. 0) then
decoded_exact_model = EXACT__Minkowski_gauge_wave
+ elseif (CCTK_Equals(exact_model, "Minkowski/conf wave") .ne. 0) then
+ decoded_exact_model = EXACT__Minkowski_conf_wave
c black hole spacetimes
elseif (CCTK_Equals(exact_model, "Schwarzschild/EF") .ne. 0) then
diff --git a/src/gauge.F77 b/src/gauge.F77
index f5c2e88..4df2cb7 100644
--- a/src/gauge.F77
+++ b/src/gauge.F77
@@ -34,6 +34,11 @@ C $Header$
$ bxxjunk, bxyjunk, bxzjunk,
$ byxjunk, byyjunk, byzjunk,
$ bzxjunk, bzyjunk, bzzjunk
+ CCTK_REAL
+ $ exact_psi,
+ $ exact_psix, exact_psiy, exact_psiz,
+ $ exact_psixx, exact_psiyy, exact_psizz,
+ $ exact_psixy, exact_psiyz, exact_psixz
C Grid parameters.
@@ -58,6 +63,23 @@ C Set both lapse and shift.
do j=1,ny
do i=1,nx
+C Initialize the psi of exact
+C (also to tell the models about the conformal_state)
+ if (conformal_state .ne. 0) then
+ exact_psi = 1.0D0
+ else
+ exact_psi = 0.0D0
+ end if
+ exact_psix = 0.0D0
+ exact_psiy = 0.0D0
+ exact_psiz = 0.0D0
+ exact_psixx = 0.0D0
+ exact_psixx = 0.0D0
+ exact_psizz = 0.0D0
+ exact_psixy = 0.0D0
+ exact_psiyz = 0.0D0
+ exact_psixz = 0.0D0
+
call Exact__Bona_Masso_data(
$ decoded_exact_model,
$ x(i,j,k), y(i,j,k), z(i,j,k), tplushalf,
@@ -65,6 +87,10 @@ C Set both lapse and shift.
$ gxyjunk, gyzjunk, gxzjunk,
$ hxxjunk, hyyjunk, hzzjunk,
$ hxyjunk, hyzjunk, hxzjunk,
+ $ exact_psi,
+ $ exact_psix, exact_psiy, exact_psiz,
+ $ exact_psixx, exact_psiyy, exact_psizz,
+ $ exact_psixy, exact_psiyz, exact_psixz,
$ dxgxxjunk, dxgyyjunk, dxgzzjunk,
$ dxgxyjunk, dxgyzjunk, dxgxzjunk,
$ dygxxjunk, dygyyjunk, dygzzjunk,
@@ -89,6 +115,23 @@ C Set lapse only.
do j=1,ny
do i=1,nx
+C Initialize the psi of exact
+C (also to tell the models about the conformal_state)
+ if (conformal_state .ne. 0) then
+ exact_psi = 1.0D0
+ else
+ exact_psi = 0.0D0
+ end if
+ exact_psix = 0.0D0
+ exact_psiy = 0.0D0
+ exact_psiz = 0.0D0
+ exact_psixx = 0.0D0
+ exact_psixx = 0.0D0
+ exact_psizz = 0.0D0
+ exact_psixy = 0.0D0
+ exact_psiyz = 0.0D0
+ exact_psixz = 0.0D0
+
call Exact__Bona_Masso_data(
$ decoded_exact_model,
$ x(i,j,k), y(i,j,k), z(i,j,k), tplushalf,
@@ -96,6 +139,10 @@ C Set lapse only.
$ gxyjunk, gyzjunk, gxzjunk,
$ hxxjunk, hyyjunk, hzzjunk,
$ hxyjunk, hyzjunk, hxzjunk,
+ $ exact_psi,
+ $ exact_psix, exact_psiy, exact_psiz,
+ $ exact_psixx, exact_psiyy, exact_psizz,
+ $ exact_psixy, exact_psiyz, exact_psixz,
$ dxgxxjunk, dxgyyjunk, dxgzzjunk,
$ dxgxyjunk, dxgyzjunk, dxgxzjunk,
$ dygxxjunk, dygyyjunk, dygzzjunk,
@@ -121,6 +168,23 @@ C Set shift only.
do j=1,ny
do i=1,nx
+C Initialize the psi of exact
+C (also to tell the models about the conformal_state)
+ if (conformal_state .ne. 0) then
+ exact_psi = 1.0D0
+ else
+ exact_psi = 0.0D0
+ end if
+ exact_psix = 0.0D0
+ exact_psiy = 0.0D0
+ exact_psiz = 0.0D0
+ exact_psixx = 0.0D0
+ exact_psixx = 0.0D0
+ exact_psizz = 0.0D0
+ exact_psixy = 0.0D0
+ exact_psiyz = 0.0D0
+ exact_psixz = 0.0D0
+
call Exact__Bona_Masso_data(
$ decoded_exact_model,
$ x(i,j,k), y(i,j,k), z(i,j,k), tplushalf,
@@ -128,6 +192,10 @@ C Set shift only.
$ gxyjunk, gyzjunk, gxzjunk,
$ hxxjunk, hyyjunk, hzzjunk,
$ hxyjunk, hyzjunk, hxzjunk,
+ $ exact_psi,
+ $ exact_psix, exact_psiy, exact_psiz,
+ $ exact_psixx, exact_psiyy, exact_psizz,
+ $ exact_psixy, exact_psiyz, exact_psixz,
$ dxgxxjunk, dxgyyjunk, dxgzzjunk,
$ dxgxyjunk, dxgyzjunk, dxgxzjunk,
$ dygxxjunk, dygyyjunk, dygzzjunk,
diff --git a/src/include/Scalar_CalcTmunu.inc b/src/include/Scalar_CalcTmunu.inc
index 4f5f240..50020cd 100644
--- a/src/include/Scalar_CalcTmunu.inc
+++ b/src/include/Scalar_CalcTmunu.inc
@@ -40,6 +40,8 @@ c no stress-energy tensor in this model
c no stress-energy tensor in this model
elseif (decoded_exact_model .eq. EXACT__Minkowski_gauge_wave) then
c no stress-energy tensor in this model
+ elseif (decoded_exact_model .eq. EXACT__Minkowski_conf_wave) then
+c no stress-energy tensor in this model
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
ccccc black hole spacetimes cccccccccccccccccccccccccccccccccccccccccccccccccccc
diff --git a/src/include/param_defs.inc b/src/include/param_defs.inc
index df25a06..45642ba 100644
--- a/src/include/param_defs.inc
+++ b/src/include/param_defs.inc
@@ -34,6 +34,7 @@ c Minkowski spacetime
#define EXACT__Minkowski_shift 2
#define EXACT__Minkowski_funny 3
#define EXACT__Minkowski_gauge_wave 4
+#define EXACT__Minkowski_conf_wave 5
c black hole spacetimes
#define EXACT__Schwarzschild_EF 10
diff --git a/src/initialize.F77 b/src/initialize.F77
index 00fca60..74d47f6 100644
--- a/src/initialize.F77
+++ b/src/initialize.F77
@@ -30,9 +30,25 @@ C $Header$
$ dygxyjunk, dygyzjunk, dygxzjunk,
$ dzgxxjunk, dzgyyjunk, dzgzzjunk,
$ dzgxyjunk, dzgyzjunk, dzgxzjunk
+ CCTK_REAL
+ $ exact_psi,
+ $ exact_psix, exact_psiy, exact_psiz,
+ $ exact_psixx, exact_psiyy, exact_psizz,
+ $ exact_psixy, exact_psiyz, exact_psixz
call CCTK_INFO('setting exact data on slice')
+C Set conformal state
+ if (CCTK_EQUALS(metric_type, "static conformal")) then
+ conformal_state=1
+ if (CCTK_EQUALS(conformal_storage,"factor+derivs")) then
+ conformal_state = 2
+ else if (CCTK_EQUALS(conformal_storage,
+ $ "factor+derivs+2nd derivs")) then
+ conformal_state = 3
+ end if
+ end if
+
C Note I assume time has been initialized to physical time.
C Set data pointwise.
@@ -43,7 +59,24 @@ C Set data pointwise.
do k=1,nz
do j=1,ny
do i=1,nx
-
+
+C Initialize the psi of exact
+C (also to tell the models about the conformal_state)
+ if (conformal_state .ne. 0) then
+ exact_psi = 1.0D0
+ else
+ exact_psi = 0.0D0
+ end if
+ exact_psix = 0.0D0
+ exact_psiy = 0.0D0
+ exact_psiz = 0.0D0
+ exact_psixx = 0.0D0
+ exact_psixx = 0.0D0
+ exact_psizz = 0.0D0
+ exact_psixy = 0.0D0
+ exact_psiyz = 0.0D0
+ exact_psixz = 0.0D0
+
call Exact__Bona_Masso_data(
$ decoded_exact_model,
$ x(i,j,k), y(i,j,k), z(i,j,k), cctk_time,
@@ -51,6 +84,10 @@ C Set data pointwise.
$ gxy(i,j,k), gyz(i,j,k), gxz(i,j,k),
$ kxx(i,j,k), kyy(i,j,k), kzz(i,j,k),
$ kxy(i,j,k), kyz(i,j,k), kxz(i,j,k),
+ $ exact_psi,
+ $ exact_psix, exact_psiy, exact_psiz,
+ $ exact_psixx, exact_psiyy, exact_psizz,
+ $ exact_psixy, exact_psiyz, exact_psixz,
$ dxgxxjunk, dxgyyjunk, dxgzzjunk,
$ dxgxyjunk, dxgyzjunk, dxgxzjunk,
$ dygxxjunk, dygyyjunk, dygzzjunk,
@@ -63,6 +100,24 @@ C Set data pointwise.
$ byxjunk, byyjunk, byzjunk,
$ bzxjunk, bzyjunk, bzzjunk)
+C Save the conformal factor if wanted
+ if (conformal_state .ne. 0) then
+ psi(i,j,k) = exact_psi
+ if (conformal_state .gt. 1) then
+ psix(i,j,k) = exact_psix
+ psiy(i,j,k) = exact_psiy
+ psiz(i,j,k) = exact_psiz
+ if (conformal_state .gt. 2) then
+ psixx(i,j,k) = exact_psixx
+ psiyy(i,j,k) = exact_psiyy
+ psizz(i,j,k) = exact_psizz
+ psixy(i,j,k) = exact_psixy
+ psiyz(i,j,k) = exact_psiyz
+ psixz(i,j,k) = exact_psixz
+ end if
+ end if
+ end if
+
end do
end do
end do
@@ -71,8 +126,7 @@ C Tell the code there is no need to treat the conformal factor
C as a separate field. That is, we have set the physical metric here.
c Commented out in einstein revamp, now Exact doesnot inherit anything
c about the conformal factor
-c conformal_state = 0
-c psi = 1.0D0
+c Now ot does again (see above, knarf)
return
end
diff --git a/src/metric.F77 b/src/metric.F77
index c547b8d..32cbf81 100644
--- a/src/metric.F77
+++ b/src/metric.F77
@@ -14,7 +14,7 @@ C $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz,rama)
+ $ guxx, guyy, guzz, guxy, guyz, guxz, psi, rama)
implicit none
DECLARE_CCTK_FUNCTIONS
@@ -25,7 +25,7 @@ c arguments
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz, rama
+ $ guxx, guyy, guzz, guxy, guyz, guxz, psi, rama
c local variables
character*100 warn_buffer
@@ -42,7 +42,8 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
elseif (decoded_exact_model .eq. EXACT__Minkowski_shift) then
call Exact__Minkowski_shift(
@@ -50,7 +51,8 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
elseif (decoded_exact_model .eq. EXACT__Minkowski_funny) then
call Exact__Minkowski_funny(
@@ -58,7 +60,8 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
elseif (decoded_exact_model .eq. EXACT__Minkowski_gauge_wave) then
call Exact__Minkowski_gauge_wave(
@@ -66,7 +69,17 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
+
+ elseif (decoded_exact_model .eq. EXACT__Minkowski_conf_wave) then
+ call Exact__Minkowski_conf_wave(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
@@ -80,7 +93,8 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
elseif (decoded_exact_model .eq. EXACT__Schwarzschild_PG) then
call Exact__Schwarzschild_PG(
@@ -88,14 +102,16 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
elseif (decoded_exact_model .eq. EXACT__Schwarzschild_Novikov) then
call Exact__Schwarzschild_Novikov(x,y,z,t,
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
elseif (decoded_exact_model .eq. EXACT__Kerr_BoyerLindquist) then
call Exact__Kerr_BoyerLindquist(
@@ -103,7 +119,8 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
elseif (decoded_exact_model .eq. EXACT__Kerr_KerrSchild) then
call Exact__Kerr_KerrSchild(
@@ -111,7 +128,8 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
elseif (decoded_exact_model .eq. EXACT__Schwarzschild_Lemaitre) then
call Exact__Schwarzschild_Lemaitre(
@@ -119,7 +137,8 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
elseif (decoded_exact_model .eq. EXACT__multi_BH) then
call Exact__multi_BH(
@@ -127,7 +146,8 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
c
c not fully implemented yet -- see Nina Jansen for details
@@ -138,7 +158,8 @@ c $ x, y, z, t,
c $ gdtt, gdtx, gdty, gdtz,
c $ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
c $ gutt, gutx, guty, gutz,
-c $ guxx, guyy, guzz, guxy, guyz, guxz)
+c $ guxx, guyy, guzz, guxy, guyz, guxz,
+c $ psi)
c
elseif (decoded_exact_model .eq. EXACT__Thorne_fakebinary) then
@@ -147,7 +168,8 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
@@ -161,7 +183,8 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
elseif (decoded_exact_model .eq. EXACT__Robertson_Walker) then
call Exact__Robertson_Walker(
@@ -169,7 +192,7 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz,rama)
+ $ guxx, guyy, guzz, guxy, guyz, guxz, psi, rama)
elseif (decoded_exact_model .eq. EXACT__de_Sitter) then
call Exact__de_Sitter(
@@ -177,7 +200,8 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
elseif (decoded_exact_model .eq. EXACT__de_Sitter_Lambda) then
call Exact__de_Sitter_Lambda(
@@ -185,7 +209,8 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
elseif (decoded_exact_model .eq. EXACT__anti_de_Sitter_Lambda) then
call Exact__anti_de_Sitter_Lambda(
@@ -193,7 +218,8 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
elseif (decoded_exact_model .eq. EXACT__Bianchi_I) then
call Exact__Bianchi_I(
@@ -201,7 +227,8 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
elseif (decoded_exact_model .eq. EXACT__Goedel) then
call Exact__Goedel(
@@ -209,7 +236,8 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
elseif (decoded_exact_model .eq. EXACT__Bertotti) then
call Exact__Bertotti(
@@ -217,7 +245,8 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
elseif (decoded_exact_model .eq. EXACT__Kasner_like) then
call Exact__Kasner_like(
@@ -225,7 +254,8 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
elseif (decoded_exact_model .eq. EXACT__Kasner_axisymmetric) then
call Exact__Kasner_axisymmetric(
@@ -233,7 +263,8 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
elseif (decoded_exact_model .eq. EXACT__Kasner_generalized) then
call Exact__Kasner_generalized(
@@ -241,7 +272,8 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
elseif (decoded_exact_model .eq. EXACT__Gowdy_wave) then
call Exact__Gowdy_wave(
@@ -249,7 +281,8 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
elseif (decoded_exact_model .eq. EXACT__Milne) then
call Exact__Milne(
@@ -257,7 +290,8 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
@@ -271,7 +305,8 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
elseif (decoded_exact_model .eq. EXACT__bowl) then
call Exact__bowl(
@@ -279,7 +314,8 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
elseif (decoded_exact_model .eq. EXACT__constant_density_star) then
call Exact__constant_density_star(
@@ -287,7 +323,8 @@ c
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
diff --git a/src/metrics/Alvi.F77 b/src/metrics/Alvi.F77
index 81789e6..7ee21fb 100644
--- a/src/metrics/Alvi.F77
+++ b/src/metrics/Alvi.F77
@@ -11,7 +11,8 @@ C $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
implicit none
@@ -30,7 +31,8 @@ C $Header$
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
CCTK_REAL rin1,rin2,rout,x1,x2, r1, r2, r3, results(10)
diff --git a/src/metrics/Bertotti.F77 b/src/metrics/Bertotti.F77
index f9b32df..5533422 100644
--- a/src/metrics/Bertotti.F77
+++ b/src/metrics/Bertotti.F77
@@ -10,7 +10,8 @@ C $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
implicit none
@@ -20,7 +21,8 @@ C $Header$
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
logical firstcall
diff --git a/src/metrics/Bianchi_I.F77 b/src/metrics/Bianchi_I.F77
index 0af7b12..feece73 100644
--- a/src/metrics/Bianchi_I.F77
+++ b/src/metrics/Bianchi_I.F77
@@ -12,7 +12,8 @@ C $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
implicit none
@@ -22,7 +23,8 @@ C $Header$
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
logical firstcall
diff --git a/src/metrics/Goedel.F77 b/src/metrics/Goedel.F77
index fec2c73..513e3e1 100644
--- a/src/metrics/Goedel.F77
+++ b/src/metrics/Goedel.F77
@@ -12,7 +12,8 @@ C $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
implicit none
@@ -22,7 +23,8 @@ C $Header$
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
logical firstcall
diff --git a/src/metrics/Gowdy.F77 b/src/metrics/Gowdy.F77
index 06370bf..8573710 100644
--- a/src/metrics/Gowdy.F77
+++ b/src/metrics/Gowdy.F77
@@ -20,7 +20,8 @@ C @@
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
implicit none
@@ -30,7 +31,8 @@ C @@
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
logical firstcall
diff --git a/src/metrics/Kasner_axisymmetric.F77 b/src/metrics/Kasner_axisymmetric.F77
index 0dc98d1..d6480dd 100644
--- a/src/metrics/Kasner_axisymmetric.F77
+++ b/src/metrics/Kasner_axisymmetric.F77
@@ -10,7 +10,8 @@ C $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
implicit none
@@ -20,7 +21,8 @@ C $Header$
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
gdtt = -t**(-0.5d0)
gdtx = 0.d0
diff --git a/src/metrics/Kasner_generalized.F77 b/src/metrics/Kasner_generalized.F77
index 9ec71d5..c3e8a63 100644
--- a/src/metrics/Kasner_generalized.F77
+++ b/src/metrics/Kasner_generalized.F77
@@ -10,7 +10,8 @@ C $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
implicit none
@@ -20,7 +21,8 @@ C $Header$
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
logical firstcall
diff --git a/src/metrics/Kasner_like.F77 b/src/metrics/Kasner_like.F77
index 15e5cff..bd24380 100644
--- a/src/metrics/Kasner_like.F77
+++ b/src/metrics/Kasner_like.F77
@@ -14,7 +14,8 @@ C $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
implicit none
@@ -24,7 +25,8 @@ C $Header$
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
logical firstcall
diff --git a/src/metrics/Kerr_BoyerLindquist.F77 b/src/metrics/Kerr_BoyerLindquist.F77
index 3a16cc6..076d9f8 100644
--- a/src/metrics/Kerr_BoyerLindquist.F77
+++ b/src/metrics/Kerr_BoyerLindquist.F77
@@ -11,7 +11,8 @@ C $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
implicit none
@@ -21,7 +22,8 @@ C $Header$
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
logical firstcall
diff --git a/src/metrics/Kerr_KerrSchild.F77 b/src/metrics/Kerr_KerrSchild.F77
index d998fb4..ad9ac27 100644
--- a/src/metrics/Kerr_KerrSchild.F77
+++ b/src/metrics/Kerr_KerrSchild.F77
@@ -12,7 +12,8 @@ C $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
implicit none
@@ -23,7 +24,8 @@ C $Header$
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
CCTK_REAL gamma, t0, z0, x0, y0, rho02, r02, r0, costheta0,
$ lt0, lx0, ly0, lz0, hh, lt, lx, ly, lz
diff --git a/src/metrics/Lemaitre.F77 b/src/metrics/Lemaitre.F77
index 2062f4b..9819c45 100644
--- a/src/metrics/Lemaitre.F77
+++ b/src/metrics/Lemaitre.F77
@@ -12,7 +12,8 @@ C $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
implicit none
@@ -24,7 +25,8 @@ C $Header$
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
logical firstcall
diff --git a/src/metrics/Milne.F77 b/src/metrics/Milne.F77
index 0167873..d441cb6 100644
--- a/src/metrics/Milne.F77
+++ b/src/metrics/Milne.F77
@@ -12,7 +12,8 @@ C $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
implicit none
@@ -26,6 +27,7 @@ c Output.
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
$ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi,
$ coef, x2,y2,z2,t2
x2= x*x
diff --git a/src/metrics/Minkowski.F77 b/src/metrics/Minkowski.F77
index 5318332..88031c2 100644
--- a/src/metrics/Minkowski.F77
+++ b/src/metrics/Minkowski.F77
@@ -8,7 +8,8 @@ C $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
implicit none
@@ -21,7 +22,8 @@ c Output.
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
gdtt = -1.d0
gdtx = 0.d0
diff --git a/src/metrics/Minkowski_conf_wave.F77 b/src/metrics/Minkowski_conf_wave.F77
new file mode 100644
index 0000000..301fb62
--- /dev/null
+++ b/src/metrics/Minkowski_conf_wave.F77
@@ -0,0 +1,75 @@
+c $Header$
+
+C Author: Frank Loeffler (frank.loeffler@aei.mpg.de)
+C Licence: GPL 2 or later
+
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+
+#define Pi (4 * atan(1.d0))
+
+
+ subroutine Exact__Minkowski_conf_wave(
+ $ x, y, z, t,
+ $ gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
+
+ implicit none
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ CCTK_REAL x, y, z, t
+ CCTK_REAL gdtt, gdtx, gdty, gdtz,
+ $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
+ $ gutt, gutx, guty, gutz,
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
+
+C write conformal factor
+ if (Minkowski_conf_wave__direction .eq. 0) then
+ psi = Minkowski_conf_wave__amplitude *
+ . sin(2.0d0*Pi/Minkowski_conf_wave__wavelength* x ) + 1.0d0
+ else if (Minkowski_conf_wave__direction .eq. 1) then
+ psi = Minkowski_conf_wave__amplitude *
+ . sin(2.0d0*Pi/Minkowski_conf_wave__wavelength* y ) + 1.0d0
+ else if (Minkowski_conf_wave__direction .eq. 2) then
+ psi = Minkowski_conf_wave__amplitude *
+ . sin(2.0d0*Pi/Minkowski_conf_wave__wavelength* z ) + 1.0d0
+ end if
+
+C write metric.
+
+ gdxx = psi**(-4.0d0)
+ gdyy = gdxx
+ gdzz = gdxx
+
+ gdxy = 0.0d0
+ gdyz = 0.0d0
+ gdzx = 0.0d0
+
+ gdtt = -1.0d0
+ gdtx = 0.0d0
+ gdty = 0.0d0
+ gdtz = 0.0d0
+
+C and upper metric.
+
+ guxx = psi**4.0d0
+ guyy = guxx
+ guzz = guxx
+
+ guxy = 0.0d0
+ guyz = 0.0d0
+ guzx = 0.0d0
+
+ gutt = -1.0d0
+ gutx = 0.0d0
+ guty = 0.0d0
+ gutz = 0.0d0
+
+ return
+ end
diff --git a/src/metrics/Minkowski_funny.F77 b/src/metrics/Minkowski_funny.F77
index 5a9c8e2..a1b5af7 100644
--- a/src/metrics/Minkowski_funny.F77
+++ b/src/metrics/Minkowski_funny.F77
@@ -19,7 +19,8 @@ c $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
implicit none
@@ -34,7 +35,8 @@ c Output.
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
c Internal.
diff --git a/src/metrics/Minkowski_gauge_wave.F77 b/src/metrics/Minkowski_gauge_wave.F77
index 5e67a70..a4f8a6f 100644
--- a/src/metrics/Minkowski_gauge_wave.F77
+++ b/src/metrics/Minkowski_gauge_wave.F77
@@ -12,7 +12,8 @@ c $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
implicit none
DECLARE_CCTK_PARAMETERS
@@ -22,7 +23,8 @@ c $Header$
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
logical firstcall
diff --git a/src/metrics/Minkowski_shift.F77 b/src/metrics/Minkowski_shift.F77
index f999d15..ab8bca4 100644
--- a/src/metrics/Minkowski_shift.F77
+++ b/src/metrics/Minkowski_shift.F77
@@ -21,7 +21,8 @@ c $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
implicit none
@@ -36,7 +37,8 @@ c Output.
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
c Internal.
diff --git a/src/metrics/Robertson_Walker.F77 b/src/metrics/Robertson_Walker.F77
index 85e0739..8335762 100644
--- a/src/metrics/Robertson_Walker.F77
+++ b/src/metrics/Robertson_Walker.F77
@@ -13,7 +13,7 @@ C $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx,rama)
+ $ guxx, guyy, guzz, guxy, guyz, guzx, psi, rama)
implicit none
@@ -25,7 +25,7 @@ C $Header$
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx,rama
+ $ guxx, guyy, guzz, guxy, guyz, guzx, psi, rama
logical firstcall
diff --git a/src/metrics/Schwarzschild_EF.F77 b/src/metrics/Schwarzschild_EF.F77
index a53858d..4f69802 100644
--- a/src/metrics/Schwarzschild_EF.F77
+++ b/src/metrics/Schwarzschild_EF.F77
@@ -10,7 +10,8 @@ c $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
implicit none
@@ -20,7 +21,8 @@ c $Header$
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
logical firstcall
diff --git a/src/metrics/Schwarzschild_Lemaitre.F77 b/src/metrics/Schwarzschild_Lemaitre.F77
index 9ff7835..6d9d033 100644
--- a/src/metrics/Schwarzschild_Lemaitre.F77
+++ b/src/metrics/Schwarzschild_Lemaitre.F77
@@ -12,7 +12,8 @@ C $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
implicit none
@@ -22,7 +23,8 @@ C $Header$
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
logical firstcall
diff --git a/src/metrics/Schwarzschild_Novikov.F77 b/src/metrics/Schwarzschild_Novikov.F77
index 61a2d1a..38dafc7 100644
--- a/src/metrics/Schwarzschild_Novikov.F77
+++ b/src/metrics/Schwarzschild_Novikov.F77
@@ -14,7 +14,8 @@ C $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
implicit none
@@ -29,7 +30,8 @@ c Output.
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
c Internal.
logical firstcall
diff --git a/src/metrics/Schwarzschild_PG.F77 b/src/metrics/Schwarzschild_PG.F77
index 37072fc..13db0f1 100644
--- a/src/metrics/Schwarzschild_PG.F77
+++ b/src/metrics/Schwarzschild_PG.F77
@@ -11,7 +11,8 @@ c $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
implicit none
@@ -21,7 +22,8 @@ c $Header$
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
logical firstcall
diff --git a/src/metrics/Thorne_fakebinary.F77 b/src/metrics/Thorne_fakebinary.F77
index 2cd954b..8c3f842 100644
--- a/src/metrics/Thorne_fakebinary.F77
+++ b/src/metrics/Thorne_fakebinary.F77
@@ -15,7 +15,8 @@ C $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi)
implicit none
DECLARE_CCTK_PARAMETERS
@@ -28,7 +29,8 @@ C output
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz
+ $ guxx, guyy, guzz, guxy, guyz, guxz,
+ $ psi
C static
diff --git a/src/metrics/anti_de_Sitter_Lambda.F77 b/src/metrics/anti_de_Sitter_Lambda.F77
index 5e2733c..483d847 100644
--- a/src/metrics/anti_de_Sitter_Lambda.F77
+++ b/src/metrics/anti_de_Sitter_Lambda.F77
@@ -10,7 +10,8 @@ C $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
implicit none
@@ -20,7 +21,8 @@ C $Header$
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
logical firstcall
diff --git a/src/metrics/boost_rotation_symmetric.F77 b/src/metrics/boost_rotation_symmetric.F77
index ec3dbf9..0a69f8d 100644
--- a/src/metrics/boost_rotation_symmetric.F77
+++ b/src/metrics/boost_rotation_symmetric.F77
@@ -10,7 +10,8 @@ c $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
implicit none
@@ -20,7 +21,8 @@ c $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
CCTK_REAL a, b, mu0, mu1, lam1, mu2, lam2,
$ lam3, mu4, lam4, mu5, lam5, num, div, f,
$ elam, emu0, delta, gfunc, tmp
diff --git a/src/metrics/bowl.F77 b/src/metrics/bowl.F77
index 192c4e0..36a1cf7 100644
--- a/src/metrics/bowl.F77
+++ b/src/metrics/bowl.F77
@@ -57,7 +57,8 @@ c $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
implicit none
@@ -71,7 +72,8 @@ c Output.
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
logical firstcall,evolve
diff --git a/src/metrics/constant_density_star.F77 b/src/metrics/constant_density_star.F77
index ab3aa30..aecb4ab 100644
--- a/src/metrics/constant_density_star.F77
+++ b/src/metrics/constant_density_star.F77
@@ -15,7 +15,8 @@ c $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
c
c The metric is given as a conformally flat metric.
@@ -39,7 +40,8 @@ c Output.
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
c Internal.
diff --git a/src/metrics/de_Sitter.F77 b/src/metrics/de_Sitter.F77
index 2ced3e5..f073d73 100644
--- a/src/metrics/de_Sitter.F77
+++ b/src/metrics/de_Sitter.F77
@@ -16,7 +16,8 @@ C $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
implicit none
@@ -26,7 +27,8 @@ C $Header$
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
logical firstcall
diff --git a/src/metrics/de_Sitter_Lambda.F77 b/src/metrics/de_Sitter_Lambda.F77
index 381159b..868557a 100644
--- a/src/metrics/de_Sitter_Lambda.F77
+++ b/src/metrics/de_Sitter_Lambda.F77
@@ -10,7 +10,8 @@ C $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
implicit none
@@ -20,7 +21,8 @@ C $Header$
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
logical firstcall
diff --git a/src/metrics/make.code.defn b/src/metrics/make.code.defn
index 9c33332..ccd943d 100644
--- a/src/metrics/make.code.defn
+++ b/src/metrics/make.code.defn
@@ -10,6 +10,7 @@ SRCS = Minkowski.F77 \
Minkowski_funny.F77 \
Minkowski_shift.F77 \
Minkowski_gauge_wave.F77 \
+ Minkowski_conf_wave.F77 \
\
Schwarzschild_EF.F77 \
Schwarzschild_PG.F77 \
diff --git a/src/metrics/multi_BH.F77 b/src/metrics/multi_BH.F77
index a942c67..0068db0 100644
--- a/src/metrics/multi_BH.F77
+++ b/src/metrics/multi_BH.F77
@@ -24,7 +24,8 @@ c $Header$
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx)
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi)
implicit none
@@ -37,7 +38,8 @@ c Output.
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guzx
+ $ guxx, guyy, guzz, guxy, guyz, guzx,
+ $ psi
logical firstcall
diff --git a/src/slice_data.F b/src/slice_data.F
index f7edb5e..088f635 100644
--- a/src/slice_data.F
+++ b/src/slice_data.F
@@ -18,7 +18,7 @@ c #define-ing the symbol EXACT_NO_F90 will turn this subroutine into a no-op
CCTK_REAL s1d(4,3), nd(4), nu(4), norm, gd(4,4), gu(4,4), g3(3,3),
$ gd_p(4,4), gd_m(4,4), gd1d(4,4,4), s2d(4,3,3), k3(3,3),
- $ ex_eps, d3(3,3,3), dx, dy, dz
+ $ ex_eps, d3(3,3,3), dx, dy, dz, exact_psi
parameter (ex_eps=1.d-6)
C Grid parameters.
@@ -55,6 +55,13 @@ C Calculate first derivatives of slice coordinates.
s1d(4,2) = 0.5d0 * (slicet(i,j+1,k) - slicet(i,j-1,k))/dy
s1d(4,3) = 0.5d0 * (slicet(i,j,k+1) - slicet(i,j,k-1))/dz
+C Preset the conformal factor
+ if (conformal_state .ne. 0) then
+ exact_psi=1.0d0
+ else
+ exact_psi=0.0d0
+ end if
+
C Now we need the exact solution metric in the preferred coordinates x^A.
call Exact__metric(
@@ -66,7 +73,7 @@ C Now we need the exact solution metric in the preferred coordinates x^A.
$ gd(1,2), gd(2,3), gd(1,3),
$ gu(4,4), gu(1,4), gu(2,4), gu(3,4),
$ gu(1,1), gu(2,2), gu(3,3),
- $ gu(1,2), gu(2,3), gu(1,3))
+ $ gu(1,2), gu(2,3), gu(1,3), exact_psi)
C Calculate n^A and dx^A/dt
@@ -165,6 +172,12 @@ C with an editor (hint for proofreading).
C Calculate g_AB,C. Need to sum explicitly over C. Do this with
C the editor.
+C Preset the conformal factor
+ if (conformal_state .ne. 0) then
+ exact_psi=1.0d0
+ else
+ exact_psi=0.0d0
+ end if
call Exact__metric(
$ decoded_exact_model,
$ slicex(i,j,k)+ex_eps, slicey(i,j,k), slicez(i,j,k),
@@ -174,7 +187,14 @@ C the editor.
$ gd_p(1,2), gd_p(2,3), gd_p(1,3),
$ gu(4,4), gu(1,4), gu(2,4), gu(3,4),
$ gu(1,1), gu(2,2), gu(3,3),
- $ gu(1,2), gu(2,3), gu(1,3))
+ $ gu(1,2), gu(2,3), gu(1,3), exact_psi)
+
+C Preset the conformal factor
+ if (conformal_state .ne. 0) then
+ exact_psi=1.0d0
+ else
+ exact_psi=0.0d0
+ end if
call Exact__metric(
$ decoded_exact_model,
$ slicex(i,j,k)-ex_eps, slicey(i,j,k), slicez(i,j,k),
@@ -184,13 +204,19 @@ C the editor.
$ gd_m(1,2), gd_m(2,3), gd_m(1,3),
$ gu(4,4), gu(1,4), gu(2,4), gu(3,4),
$ gu(1,1), gu(2,2), gu(3,3),
- $ gu(1,2), gu(2,3), gu(1,3))
+ $ gu(1,2), gu(2,3), gu(1,3), exact_psi)
do m=1,4
do n=m,4
gd1d(m,n,1) = (gd_p(m,n) - gd_m(m,n)) / (2.*ex_eps)
end do
end do
+C Preset the conformal factor
+ if (conformal_state .ne. 0) then
+ exact_psi=1.0d0
+ else
+ exact_psi=0.0d0
+ end if
call Exact__metric(
$ decoded_exact_model,
$ slicex(i,j,k), slicey(i,j,k)+ex_eps, slicez(i,j,k),
@@ -200,7 +226,14 @@ C the editor.
$ gd_p(1,2), gd_p(2,3), gd_p(1,3),
$ gu(4,4), gu(1,4), gu(2,4), gu(3,4),
$ gu(1,1), gu(2,2), gu(3,3),
- $ gu(1,2), gu(2,3), gu(1,3))
+ $ gu(1,2), gu(2,3), gu(1,3), exact_psi)
+
+C Preset the conformal factor
+ if (conformal_state .ne. 0) then
+ exact_psi=1.0d0
+ else
+ exact_psi=0.0d0
+ end if
call Exact__metric(
$ decoded_exact_model,
$ slicex(i,j,k), slicey(i,j,k)-ex_eps, slicez(i,j,k),
@@ -210,13 +243,20 @@ C the editor.
$ gd_m(1,2), gd_m(2,3), gd_m(1,3),
$ gu(4,4), gu(1,4), gu(2,4), gu(3,4),
$ gu(1,1), gu(2,2), gu(3,3),
- $ gu(1,2), gu(2,3), gu(1,3))
+ $ gu(1,2), gu(2,3), gu(1,3), exact_psi)
do m=1,4
do n=m,4
gd1d(m,n,2) = (gd_p(m,n) - gd_m(m,n)) / (2.*ex_eps)
end do
end do
+
+C Preset the conformal factor
+ if (conformal_state .ne. 0) then
+ exact_psi=1.0d0
+ else
+ exact_psi=0.0d0
+ end if
call Exact__metric(
$ decoded_exact_model,
$ slicex(i,j,k), slicey(i,j,k), slicez(i,j,k)+ex_eps,
@@ -226,7 +266,14 @@ C the editor.
$ gd_p(1,2), gd_p(2,3), gd_p(1,3),
$ gu(4,4), gu(1,4), gu(2,4), gu(3,4),
$ gu(1,1), gu(2,2), gu(3,3),
- $ gu(1,2), gu(2,3), gu(1,3))
+ $ gu(1,2), gu(2,3), gu(1,3), exact_psi)
+
+C Preset the conformal factor
+ if (conformal_state .ne. 0) then
+ exact_psi=1.0d0
+ else
+ exact_psi=0.0d0
+ end if
call Exact__metric(
$ decoded_exact_model,
$ slicex(i,j,k), slicey(i,j,k), slicez(i,j,k)-ex_eps,
@@ -236,13 +283,20 @@ C the editor.
$ gd_m(1,2), gd_m(2,3), gd_m(1,3),
$ gu(4,4), gu(1,4), gu(2,4), gu(3,4),
$ gu(1,1), gu(2,2), gu(3,3),
- $ gu(1,2), gu(2,3), gu(1,3))
+ $ gu(1,2), gu(2,3), gu(1,3), exact_psi)
do m=1,4
do n=m,4
gd1d(m,n,3) = (gd_p(m,n) - gd_m(m,n)) / (2.*ex_eps)
end do
end do
+
+C Preset the conformal factor
+ if (conformal_state .ne. 0) then
+ exact_psi=1.0d0
+ else
+ exact_psi=0.0d0
+ end if
call Exact__metric(
$ decoded_exact_model,
$ slicex(i,j,k), slicey(i,j,k), slicez(i,j,k),
@@ -252,7 +306,14 @@ C the editor.
$ gd_p(1,2), gd_p(2,3), gd_p(1,3),
$ gu(4,4), gu(1,4), gu(2,4), gu(3,4),
$ gu(1,1), gu(2,2), gu(3,3),
- $ gu(1,2), gu(2,3), gu(1,3))
+ $ gu(1,2), gu(2,3), gu(1,3), exact_psi)
+
+C Preset the conformal factor
+ if (conformal_state .ne. 0) then
+ exact_psi=1.0d0
+ else
+ exact_psi=0.0d0
+ end if
call Exact__metric(
$ decoded_exact_model,
$ slicex(i,j,k), slicey(i,j,k), slicez(i,j,k),
@@ -262,7 +323,7 @@ C the editor.
$ gd_m(1,2), gd_m(2,3), gd_m(1,3),
$ gu(4,4), gu(1,4), gu(2,4), gu(3,4),
$ gu(1,1), gu(2,2), gu(3,3),
- $ gu(1,2), gu(2,3), gu(1,3))
+ $ gu(1,2), gu(2,3), gu(1,3), exact_psi)
do m=1,4
do n=m,4
gd1d(m,n,4) = (gd_p(m,n) - gd_m(m,n)) / (2.*ex_eps)
diff --git a/src/xyz_blended_boundary.F77 b/src/xyz_blended_boundary.F77
index 9c6ef44..ee0cd41 100644
--- a/src/xyz_blended_boundary.F77
+++ b/src/xyz_blended_boundary.F77
@@ -33,6 +33,11 @@ C $Header$
CCTK_REAL bxxe,bxye,bxze,byxe,byye,byze,bzxe,bzye,bzze
CCTK_REAL det, uxx, uxy, uxz, uyy, uyz, uzz
CCTK_REAL vxe,vye,vze,sav
+ CCTK_REAL
+ $ exact_psi,
+ $ exact_psix, exact_psiy, exact_psiz,
+ $ exact_psixx, exact_psiyy, exact_psizz,
+ $ exact_psixy, exact_psiyz, exact_psixz
CCTK_REAL dx,dy,dz,time
integer ierr
@@ -86,11 +91,32 @@ c We only do anything if in the blending region
$ z(i,j,k) .ge. zmax - zblend .or.
$ z(i,j,k) .le. zmin + zblend) then
+C Initialize the psi of exact
+C (also to tell the models about the conformal_state)
+ if (conformal_state .ne. 0) then
+ exact_psi = 1.0D0
+ else
+ exact_psi = 0.0D0
+ end if
+ exact_psix = 0.0D0
+ exact_psiy = 0.0D0
+ exact_psiz = 0.0D0
+ exact_psixx = 0.0D0
+ exact_psixx = 0.0D0
+ exact_psizz = 0.0D0
+ exact_psixy = 0.0D0
+ exact_psiyz = 0.0D0
+ exact_psixz = 0.0D0
+
call Exact__Bona_Masso_data(
$ decoded_exact_model,
$ x(i,j,k), y(i,j,k), z(i,j,k), time,
$ gxxe, gyye, gzze, gxye, gyze, gxze,
$ kxxe, kyye, kzze, kxye, kyze, kxze,
+ $ exact_psi,
+ $ exact_psix, exact_psiy, exact_psiz,
+ $ exact_psixx, exact_psiyy, exact_psizz,
+ $ exact_psixy, exact_psiyz, exact_psixz,
$ dxgxxe, dxgyye, dxgzze, dxgxye, dxgyze, dxgxze,
$ dygxxe, dygyye, dygzze, dygxye, dygyze, dygxze,
$ dzgxxe, dzgyye, dzgzze, dzgxye, dzgyze, dzgxze,