diff options
author | Erik Schnetter <schnetter@cct.lsu.edu> | 2011-01-03 21:01:50 -0500 |
---|---|---|
committer | Erik Schnetter <schnetter@cct.lsu.edu> | 2011-01-03 21:01:50 -0500 |
commit | c14ee6f3d20ffb6e9099de25f03a5c2f49544dab (patch) | |
tree | fe1e4d9818d677b88e1d4258027a25e580d2fa69 | |
parent | fcd47f9d3637004987ac59562574f9e3d09e1a5c (diff) |
Re-generate code
148 files changed, 3324 insertions, 5269 deletions
diff --git a/ML_ADM/param.ccl b/ML_ADM/param.ccl index 20250f5..f4da383 100644 --- a/ML_ADM/param.ccl +++ b/ML_ADM/param.ccl @@ -3,11 +3,6 @@ shares: GenericFD -USES CCTK_INT stencil_width -USES CCTK_INT stencil_width_x -USES CCTK_INT stencil_width_y -USES CCTK_INT stencil_width_z -USES CCTK_INT boundary_width shares: MethodOfLines @@ -15,7 +10,7 @@ shares: MethodOfLines USES CCTK_INT MoL_Num_Evolved_Vars restricted: -CCTK_INT verbose "verbose" +CCTK_INT verbose "verbose" STEERABLE=ALWAYS { *:* :: "" } 0 @@ -35,109 +30,109 @@ KEYWORD my_boundary_condition "my_boundary_condition" } "none" restricted: -CCTK_INT ML_ADM_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars +CCTK_INT ML_ADM_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars STEERABLE=RECOVER { 16:16 :: "Number of evolved variables used by this thorn" } 16 restricted: -CCTK_INT timelevels "Number of active timelevels" +CCTK_INT timelevels "Number of active timelevels" STEERABLE=RECOVER { 0:3 :: "" } 3 restricted: -CCTK_INT rhs_timelevels "Number of active RHS timelevels" +CCTK_INT rhs_timelevels "Number of active RHS timelevels" STEERABLE=RECOVER { 0:3 :: "" } 1 restricted: -CCTK_INT ML_ADM_Minkowski_calc_every "ML_ADM_Minkowski_calc_every" +CCTK_INT ML_ADM_Minkowski_calc_every "ML_ADM_Minkowski_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_ADM_convertFromADMBase_calc_every "ML_ADM_convertFromADMBase_calc_every" +CCTK_INT ML_ADM_convertFromADMBase_calc_every "ML_ADM_convertFromADMBase_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_ADM_RHS_calc_every "ML_ADM_RHS_calc_every" +CCTK_INT ML_ADM_RHS_calc_every "ML_ADM_RHS_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_ADM_boundary_calc_every "ML_ADM_boundary_calc_every" +CCTK_INT ML_ADM_boundary_calc_every "ML_ADM_boundary_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_ADM_convertToADMBase_calc_every "ML_ADM_convertToADMBase_calc_every" +CCTK_INT ML_ADM_convertToADMBase_calc_every "ML_ADM_convertToADMBase_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_ADM_constraints_calc_every "ML_ADM_constraints_calc_every" +CCTK_INT ML_ADM_constraints_calc_every "ML_ADM_constraints_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_ADM_constraints_boundary_calc_every "ML_ADM_constraints_boundary_calc_every" +CCTK_INT ML_ADM_constraints_boundary_calc_every "ML_ADM_constraints_boundary_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_ADM_Minkowski_calc_offset "ML_ADM_Minkowski_calc_offset" +CCTK_INT ML_ADM_Minkowski_calc_offset "ML_ADM_Minkowski_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_ADM_convertFromADMBase_calc_offset "ML_ADM_convertFromADMBase_calc_offset" +CCTK_INT ML_ADM_convertFromADMBase_calc_offset "ML_ADM_convertFromADMBase_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_ADM_RHS_calc_offset "ML_ADM_RHS_calc_offset" +CCTK_INT ML_ADM_RHS_calc_offset "ML_ADM_RHS_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_ADM_boundary_calc_offset "ML_ADM_boundary_calc_offset" +CCTK_INT ML_ADM_boundary_calc_offset "ML_ADM_boundary_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_ADM_convertToADMBase_calc_offset "ML_ADM_convertToADMBase_calc_offset" +CCTK_INT ML_ADM_convertToADMBase_calc_offset "ML_ADM_convertToADMBase_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_ADM_constraints_calc_offset "ML_ADM_constraints_calc_offset" +CCTK_INT ML_ADM_constraints_calc_offset "ML_ADM_constraints_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_ADM_constraints_boundary_calc_offset "ML_ADM_constraints_boundary_calc_offset" +CCTK_INT ML_ADM_constraints_boundary_calc_offset "ML_ADM_constraints_boundary_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 private: -KEYWORD K11_bound "Boundary condition to implement" +KEYWORD K11_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -149,7 +144,7 @@ KEYWORD K11_bound "Boundary condition to implement" } "skip" private: -KEYWORD K12_bound "Boundary condition to implement" +KEYWORD K12_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -161,7 +156,7 @@ KEYWORD K12_bound "Boundary condition to implement" } "skip" private: -KEYWORD K13_bound "Boundary condition to implement" +KEYWORD K13_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -173,7 +168,7 @@ KEYWORD K13_bound "Boundary condition to implement" } "skip" private: -KEYWORD K22_bound "Boundary condition to implement" +KEYWORD K22_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -185,7 +180,7 @@ KEYWORD K22_bound "Boundary condition to implement" } "skip" private: -KEYWORD K23_bound "Boundary condition to implement" +KEYWORD K23_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -197,7 +192,7 @@ KEYWORD K23_bound "Boundary condition to implement" } "skip" private: -KEYWORD K33_bound "Boundary condition to implement" +KEYWORD K33_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -209,7 +204,7 @@ KEYWORD K33_bound "Boundary condition to implement" } "skip" private: -KEYWORD alpha_bound "Boundary condition to implement" +KEYWORD alpha_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -221,7 +216,7 @@ KEYWORD alpha_bound "Boundary condition to implement" } "skip" private: -KEYWORD g11_bound "Boundary condition to implement" +KEYWORD g11_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -233,7 +228,7 @@ KEYWORD g11_bound "Boundary condition to implement" } "skip" private: -KEYWORD g12_bound "Boundary condition to implement" +KEYWORD g12_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -245,7 +240,7 @@ KEYWORD g12_bound "Boundary condition to implement" } "skip" private: -KEYWORD g13_bound "Boundary condition to implement" +KEYWORD g13_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -257,7 +252,7 @@ KEYWORD g13_bound "Boundary condition to implement" } "skip" private: -KEYWORD g22_bound "Boundary condition to implement" +KEYWORD g22_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -269,7 +264,7 @@ KEYWORD g22_bound "Boundary condition to implement" } "skip" private: -KEYWORD g23_bound "Boundary condition to implement" +KEYWORD g23_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -281,7 +276,7 @@ KEYWORD g23_bound "Boundary condition to implement" } "skip" private: -KEYWORD g33_bound "Boundary condition to implement" +KEYWORD g33_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -293,7 +288,7 @@ KEYWORD g33_bound "Boundary condition to implement" } "skip" private: -KEYWORD beta1_bound "Boundary condition to implement" +KEYWORD beta1_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -305,7 +300,7 @@ KEYWORD beta1_bound "Boundary condition to implement" } "skip" private: -KEYWORD beta2_bound "Boundary condition to implement" +KEYWORD beta2_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -317,7 +312,7 @@ KEYWORD beta2_bound "Boundary condition to implement" } "skip" private: -KEYWORD beta3_bound "Boundary condition to implement" +KEYWORD beta3_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -329,7 +324,7 @@ KEYWORD beta3_bound "Boundary condition to implement" } "skip" private: -KEYWORD ML_curv_bound "Boundary condition to implement" +KEYWORD ML_curv_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -338,10 +333,10 @@ KEYWORD ML_curv_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_lapse_bound "Boundary condition to implement" +KEYWORD ML_lapse_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -350,10 +345,10 @@ KEYWORD ML_lapse_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_metric_bound "Boundary condition to implement" +KEYWORD ML_metric_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -362,10 +357,10 @@ KEYWORD ML_metric_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_shift_bound "Boundary condition to implement" +KEYWORD ML_shift_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -374,364 +369,364 @@ KEYWORD ML_shift_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -CCTK_REAL K11_bound_speed "characteristic speed at boundary" +CCTK_REAL K11_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL K12_bound_speed "characteristic speed at boundary" +CCTK_REAL K12_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL K13_bound_speed "characteristic speed at boundary" +CCTK_REAL K13_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL K22_bound_speed "characteristic speed at boundary" +CCTK_REAL K22_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL K23_bound_speed "characteristic speed at boundary" +CCTK_REAL K23_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL K33_bound_speed "characteristic speed at boundary" +CCTK_REAL K33_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL alpha_bound_speed "characteristic speed at boundary" +CCTK_REAL alpha_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL g11_bound_speed "characteristic speed at boundary" +CCTK_REAL g11_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL g12_bound_speed "characteristic speed at boundary" +CCTK_REAL g12_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL g13_bound_speed "characteristic speed at boundary" +CCTK_REAL g13_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL g22_bound_speed "characteristic speed at boundary" +CCTK_REAL g22_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL g23_bound_speed "characteristic speed at boundary" +CCTK_REAL g23_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL g33_bound_speed "characteristic speed at boundary" +CCTK_REAL g33_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL beta1_bound_speed "characteristic speed at boundary" +CCTK_REAL beta1_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL beta2_bound_speed "characteristic speed at boundary" +CCTK_REAL beta2_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL beta3_bound_speed "characteristic speed at boundary" +CCTK_REAL beta3_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_curv_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_curv_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_lapse_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_lapse_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_metric_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_metric_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_shift_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_shift_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL K11_bound_limit "limit value for r -> infinity" +CCTK_REAL K11_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL K12_bound_limit "limit value for r -> infinity" +CCTK_REAL K12_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL K13_bound_limit "limit value for r -> infinity" +CCTK_REAL K13_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL K22_bound_limit "limit value for r -> infinity" +CCTK_REAL K22_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL K23_bound_limit "limit value for r -> infinity" +CCTK_REAL K23_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL K33_bound_limit "limit value for r -> infinity" +CCTK_REAL K33_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL alpha_bound_limit "limit value for r -> infinity" +CCTK_REAL alpha_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL g11_bound_limit "limit value for r -> infinity" +CCTK_REAL g11_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL g12_bound_limit "limit value for r -> infinity" +CCTK_REAL g12_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL g13_bound_limit "limit value for r -> infinity" +CCTK_REAL g13_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL g22_bound_limit "limit value for r -> infinity" +CCTK_REAL g22_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL g23_bound_limit "limit value for r -> infinity" +CCTK_REAL g23_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL g33_bound_limit "limit value for r -> infinity" +CCTK_REAL g33_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL beta1_bound_limit "limit value for r -> infinity" +CCTK_REAL beta1_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL beta2_bound_limit "limit value for r -> infinity" +CCTK_REAL beta2_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL beta3_bound_limit "limit value for r -> infinity" +CCTK_REAL beta3_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_curv_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_curv_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_lapse_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_lapse_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_metric_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_metric_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_shift_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_shift_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL K11_bound_scalar "Dirichlet boundary value" +CCTK_REAL K11_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL K12_bound_scalar "Dirichlet boundary value" +CCTK_REAL K12_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL K13_bound_scalar "Dirichlet boundary value" +CCTK_REAL K13_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL K22_bound_scalar "Dirichlet boundary value" +CCTK_REAL K22_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL K23_bound_scalar "Dirichlet boundary value" +CCTK_REAL K23_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL K33_bound_scalar "Dirichlet boundary value" +CCTK_REAL K33_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL alpha_bound_scalar "Dirichlet boundary value" +CCTK_REAL alpha_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL g11_bound_scalar "Dirichlet boundary value" +CCTK_REAL g11_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL g12_bound_scalar "Dirichlet boundary value" +CCTK_REAL g12_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL g13_bound_scalar "Dirichlet boundary value" +CCTK_REAL g13_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL g22_bound_scalar "Dirichlet boundary value" +CCTK_REAL g22_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL g23_bound_scalar "Dirichlet boundary value" +CCTK_REAL g23_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL g33_bound_scalar "Dirichlet boundary value" +CCTK_REAL g33_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL beta1_bound_scalar "Dirichlet boundary value" +CCTK_REAL beta1_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL beta2_bound_scalar "Dirichlet boundary value" +CCTK_REAL beta2_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL beta3_bound_scalar "Dirichlet boundary value" +CCTK_REAL beta3_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_curv_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_curv_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_lapse_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_lapse_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_metric_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_metric_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_shift_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_shift_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. diff --git a/ML_ADM/schedule.ccl b/ML_ADM/schedule.ccl index 93e7205..6e7faee 100644 --- a/ML_ADM/schedule.ccl +++ b/ML_ADM/schedule.ccl @@ -203,7 +203,7 @@ schedule ML_ADM_CheckBoundaries at BASEGRID OPTIONS: meta } "check boundaries treatment" -schedule group ApplyBCs as ML_ADM_ApplyBCs in MoL_PostStep after ML_ADM_SelectBoundConds +schedule group ApplyBCs as ML_ADM_ApplyBCs in MoL_PostStep after ML_ADM_SelectBoundConds { # no language specified } "Apply boundary conditions controlled by thorn Boundary" diff --git a/ML_ADM/src/ML_ADM_Minkowski.c b/ML_ADM/src/ML_ADM_Minkowski.c index dedcb1a..7f8bf6f 100644 --- a/ML_ADM/src/ML_ADM_Minkowski.c +++ b/ML_ADM/src/ML_ADM_Minkowski.c @@ -38,9 +38,6 @@ void ML_ADM_Minkowski_Body(cGH const * restrict const cctkGH, int const dir, int return; } - const char *groups[] = {"ML_ADM::ML_curv","ML_ADM::ML_lapse","ML_ADM::ML_metric","ML_ADM::ML_shift"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_ADM_Minkowski", 4, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_ADM/src/ML_ADM_RHS.c b/ML_ADM/src/ML_ADM_RHS.c index 4511fdd..f23b5d6 100644 --- a/ML_ADM/src/ML_ADM_RHS.c +++ b/ML_ADM/src/ML_ADM_RHS.c @@ -59,9 +59,6 @@ void ML_ADM_RHS_Body(cGH const * restrict const cctkGH, int const dir, int const return; } - const char *groups[] = {"ML_ADM::ML_curv","ML_ADM::ML_curvrhs","ML_ADM::ML_lapse","ML_ADM::ML_lapserhs","ML_ADM::ML_metric","ML_ADM::ML_metricrhs","ML_ADM::ML_shift","ML_ADM::ML_shiftrhs"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_ADM_RHS", 8, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_ADM/src/ML_ADM_boundary.c b/ML_ADM/src/ML_ADM_boundary.c index 1a182ec..2cbdbf5 100644 --- a/ML_ADM/src/ML_ADM_boundary.c +++ b/ML_ADM/src/ML_ADM_boundary.c @@ -59,9 +59,6 @@ void ML_ADM_boundary_Body(cGH const * restrict const cctkGH, int const dir, int return; } - const char *groups[] = {"ML_ADM::ML_curv","ML_ADM::ML_lapse","ML_ADM::ML_metric","ML_ADM::ML_shift"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_ADM_boundary", 4, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_ADM/src/ML_ADM_constraints.c b/ML_ADM/src/ML_ADM_constraints.c index 43c64b9..1346268 100644 --- a/ML_ADM/src/ML_ADM_constraints.c +++ b/ML_ADM/src/ML_ADM_constraints.c @@ -53,9 +53,6 @@ void ML_ADM_constraints_Body(cGH const * restrict const cctkGH, int const dir, i return; } - const char *groups[] = {"ML_ADM::ML_curv","ML_ADM::ML_Ham","ML_ADM::ML_metric","ML_ADM::ML_mom"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_ADM_constraints", 4, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_ADM/src/ML_ADM_constraints_boundary.c b/ML_ADM/src/ML_ADM_constraints_boundary.c index 496ddea..fc5cfd4 100644 --- a/ML_ADM/src/ML_ADM_constraints_boundary.c +++ b/ML_ADM/src/ML_ADM_constraints_boundary.c @@ -53,9 +53,6 @@ void ML_ADM_constraints_boundary_Body(cGH const * restrict const cctkGH, int con return; } - const char *groups[] = {"ML_ADM::ML_Ham","ML_ADM::ML_mom"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_ADM_constraints_boundary", 2, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_ADM/src/ML_ADM_convertFromADMBase.c b/ML_ADM/src/ML_ADM_convertFromADMBase.c index dd3b1fe..43fc8be 100644 --- a/ML_ADM/src/ML_ADM_convertFromADMBase.c +++ b/ML_ADM/src/ML_ADM_convertFromADMBase.c @@ -38,9 +38,6 @@ void ML_ADM_convertFromADMBase_Body(cGH const * restrict const cctkGH, int const return; } - const char *groups[] = {"ADMBase::curv","ADMBase::lapse","ADMBase::metric","ADMBase::shift","ML_ADM::ML_curv","ML_ADM::ML_lapse","ML_ADM::ML_metric","ML_ADM::ML_shift"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_ADM_convertFromADMBase", 8, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_ADM/src/ML_ADM_convertToADMBase.c b/ML_ADM/src/ML_ADM_convertToADMBase.c index 2ad72d9..3a00d9f 100644 --- a/ML_ADM/src/ML_ADM_convertToADMBase.c +++ b/ML_ADM/src/ML_ADM_convertToADMBase.c @@ -38,9 +38,6 @@ void ML_ADM_convertToADMBase_Body(cGH const * restrict const cctkGH, int const d return; } - const char *groups[] = {"ADMBase::curv","ADMBase::dtlapse","ADMBase::dtshift","ADMBase::lapse","ADMBase::metric","ADMBase::shift","ML_ADM::ML_curv","ML_ADM::ML_lapse","ML_ADM::ML_metric","ML_ADM::ML_shift"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_ADM_convertToADMBase", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_ADMConstraints/param.ccl b/ML_ADMConstraints/param.ccl index d35f62d..460ea74 100644 --- a/ML_ADMConstraints/param.ccl +++ b/ML_ADMConstraints/param.ccl @@ -3,11 +3,6 @@ shares: GenericFD -USES CCTK_INT stencil_width -USES CCTK_INT stencil_width_x -USES CCTK_INT stencil_width_y -USES CCTK_INT stencil_width_z -USES CCTK_INT boundary_width shares: MethodOfLines @@ -15,37 +10,37 @@ shares: MethodOfLines USES CCTK_INT MoL_Num_Evolved_Vars restricted: -CCTK_INT verbose "verbose" +CCTK_INT verbose "verbose" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_ADMConstraints_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars +CCTK_INT ML_ADMConstraints_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars STEERABLE=RECOVER { 0:0 :: "Number of evolved variables used by this thorn" } 0 restricted: -CCTK_INT timelevels "Number of active timelevels" +CCTK_INT timelevels "Number of active timelevels" STEERABLE=RECOVER { 0:3 :: "" } 3 restricted: -CCTK_INT rhs_timelevels "Number of active RHS timelevels" +CCTK_INT rhs_timelevels "Number of active RHS timelevels" STEERABLE=RECOVER { 0:3 :: "" } 1 restricted: -CCTK_INT ML_ADMConstraints_calc_every "ML_ADMConstraints_calc_every" +CCTK_INT ML_ADMConstraints_calc_every "ML_ADMConstraints_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_ADMConstraints_calc_offset "ML_ADMConstraints_calc_offset" +CCTK_INT ML_ADMConstraints_calc_offset "ML_ADMConstraints_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 diff --git a/ML_ADMConstraints/schedule.ccl b/ML_ADMConstraints/schedule.ccl index 74b3d66..fa471af 100644 --- a/ML_ADMConstraints/schedule.ccl +++ b/ML_ADMConstraints/schedule.ccl @@ -73,7 +73,7 @@ schedule ML_ADMConstraints_CheckBoundaries at BASEGRID OPTIONS: meta } "check boundaries treatment" -schedule group ApplyBCs as ML_ADMConstraints_ApplyBCs in MoL_PseudoEvolution after ML_ADMConstraints_SelectBoundConds +schedule group ApplyBCs as ML_ADMConstraints_ApplyBCs in MoL_PseudoEvolution after ML_ADMConstraints_SelectBoundConds { # no language specified } "Apply boundary conditions controlled by thorn Boundary" diff --git a/ML_ADMConstraints/src/Differencing.h b/ML_ADMConstraints/src/Differencing.h index 1cdce99..aa21060 100644 --- a/ML_ADMConstraints/src/Differencing.h +++ b/ML_ADMConstraints/src/Differencing.h @@ -10,9 +10,3 @@ #define PDstandardNth23(u,i,j,k) (p1o144dydz*(-64*((u)[index+di*(0)+dj*(-1)+dk*(1)] + (u)[index+di*(0)+dj*(1)+dk*(-1)]) + 64*((u)[index+di*(0)+dj*(-1)+dk*(-1)] + (u)[index+di*(0)+dj*(1)+dk*(1)]) + 8*((u)[index+di*(0)+dj*(-1)+dk*(2)] + (u)[index+di*(0)+dj*(1)+dk*(-2)] + (u)[index+di*(0)+dj*(-2)+dk*(1)] + (u)[index+di*(0)+dj*(2)+dk*(-1)]) - 8*((u)[index+di*(0)+dj*(-1)+dk*(-2)] + (u)[index+di*(0)+dj*(1)+dk*(2)] + (u)[index+di*(0)+dj*(-2)+dk*(-1)] + (u)[index+di*(0)+dj*(2)+dk*(1)]) + (u)[index+di*(0)+dj*(-2)+dk*(-2)] - (u)[index+di*(0)+dj*(-2)+dk*(2)] - (u)[index+di*(0)+dj*(2)+dk*(-2)] + (u)[index+di*(0)+dj*(2)+dk*(2)])) #define PDstandardNth31(u,i,j,k) (p1o144dxdz*(-64*((u)[index+di*(-1)+dj*(0)+dk*(1)] + (u)[index+di*(1)+dj*(0)+dk*(-1)]) + 64*((u)[index+di*(-1)+dj*(0)+dk*(-1)] + (u)[index+di*(1)+dj*(0)+dk*(1)]) + 8*((u)[index+di*(-1)+dj*(0)+dk*(2)] + (u)[index+di*(1)+dj*(0)+dk*(-2)] + (u)[index+di*(-2)+dj*(0)+dk*(1)] + (u)[index+di*(2)+dj*(0)+dk*(-1)]) - 8*((u)[index+di*(-1)+dj*(0)+dk*(-2)] + (u)[index+di*(1)+dj*(0)+dk*(2)] + (u)[index+di*(-2)+dj*(0)+dk*(-1)] + (u)[index+di*(2)+dj*(0)+dk*(1)]) + (u)[index+di*(-2)+dj*(0)+dk*(-2)] - (u)[index+di*(-2)+dj*(0)+dk*(2)] - (u)[index+di*(2)+dj*(0)+dk*(-2)] + (u)[index+di*(2)+dj*(0)+dk*(2)])) #define PDstandardNth32(u,i,j,k) (p1o144dydz*(-64*((u)[index+di*(0)+dj*(-1)+dk*(1)] + (u)[index+di*(0)+dj*(1)+dk*(-1)]) + 64*((u)[index+di*(0)+dj*(-1)+dk*(-1)] + (u)[index+di*(0)+dj*(1)+dk*(1)]) + 8*((u)[index+di*(0)+dj*(-1)+dk*(2)] + (u)[index+di*(0)+dj*(1)+dk*(-2)] + (u)[index+di*(0)+dj*(-2)+dk*(1)] + (u)[index+di*(0)+dj*(2)+dk*(-1)]) - 8*((u)[index+di*(0)+dj*(-1)+dk*(-2)] + (u)[index+di*(0)+dj*(1)+dk*(2)] + (u)[index+di*(0)+dj*(-2)+dk*(-1)] + (u)[index+di*(0)+dj*(2)+dk*(1)]) + (u)[index+di*(0)+dj*(-2)+dk*(-2)] - (u)[index+di*(0)+dj*(-2)+dk*(2)] - (u)[index+di*(0)+dj*(2)+dk*(-2)] + (u)[index+di*(0)+dj*(2)+dk*(2)])) -#define PDupwindNth1(u,i,j,k) (p1o12dx*(-10*(u)[index+di*(0)+dj*(0)+dk*(0)] - 6*(u)[index+di*(2*dir1)+dj*(0)+dk*(0)] + (u)[index+di*(3*dir1)+dj*(0)+dk*(0)] - 3*(u)[index+di*(-dir1)+dj*(0)+dk*(0)] + 18*(u)[index+di*(dir1)+dj*(0)+dk*(0)])*dir1) -#define PDupwindNth2(u,i,j,k) (p1o12dy*(-10*(u)[index+di*(0)+dj*(0)+dk*(0)] - 6*(u)[index+di*(0)+dj*(2*dir2)+dk*(0)] + (u)[index+di*(0)+dj*(3*dir2)+dk*(0)] - 3*(u)[index+di*(0)+dj*(-dir2)+dk*(0)] + 18*(u)[index+di*(0)+dj*(dir2)+dk*(0)])*dir2) -#define PDupwindNth3(u,i,j,k) (p1o12dz*(-10*(u)[index+di*(0)+dj*(0)+dk*(0)] - 6*(u)[index+di*(0)+dj*(0)+dk*(2*dir3)] + (u)[index+di*(0)+dj*(0)+dk*(3*dir3)] - 3*(u)[index+di*(0)+dj*(0)+dk*(-dir3)] + 18*(u)[index+di*(0)+dj*(0)+dk*(dir3)])*dir3) -#define PDonesided1(u,i,j,k) (p1odx*(-(u)[index+di*(0)+dj*(0)+dk*(0)] + (u)[index+di*(dir1)+dj*(0)+dk*(0)])*dir1) -#define PDonesided2(u,i,j,k) (p1ody*(-(u)[index+di*(0)+dj*(0)+dk*(0)] + (u)[index+di*(0)+dj*(dir2)+dk*(0)])*dir2) -#define PDonesided3(u,i,j,k) (p1odz*(-(u)[index+di*(0)+dj*(0)+dk*(0)] + (u)[index+di*(0)+dj*(0)+dk*(dir3)])*dir3) diff --git a/ML_ADMConstraints/src/ML_ADMConstraints.c b/ML_ADMConstraints/src/ML_ADMConstraints.c index 54035b8..44990c1 100644 --- a/ML_ADMConstraints/src/ML_ADMConstraints.c +++ b/ML_ADMConstraints/src/ML_ADMConstraints.c @@ -53,9 +53,6 @@ void ML_ADMConstraints_Body(cGH const * restrict const cctkGH, int const dir, in return; } - const char *groups[] = {"ADMBase::curv","ADMBase::lapse","ADMBase::metric","ADMBase::shift","ML_ADMConstraints::ML_Ham","ML_ADMConstraints::ML_mom"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_ADMConstraints", 6, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -84,9 +81,6 @@ void ML_ADMConstraints_Body(cGH const * restrict const cctkGH, int const dir, in CCTK_REAL const p1o144dxdy = (INV(dx)*INV(dy))/144.; CCTK_REAL const p1o144dxdz = (INV(dx)*INV(dz))/144.; CCTK_REAL const p1o144dydz = (INV(dy)*INV(dz))/144.; - CCTK_REAL const p1odx = INV(dx); - CCTK_REAL const p1ody = INV(dy); - CCTK_REAL const p1odz = INV(dz); CCTK_REAL const pm1o12dx2 = -pow(dx,-2)/12.; CCTK_REAL const pm1o12dy2 = -pow(dy,-2)/12.; CCTK_REAL const pm1o12dz2 = -pow(dz,-2)/12.; diff --git a/ML_ADMConstraints_MP/param.ccl b/ML_ADMConstraints_MP/param.ccl index cf4d97b..f27f674 100644 --- a/ML_ADMConstraints_MP/param.ccl +++ b/ML_ADMConstraints_MP/param.ccl @@ -3,11 +3,6 @@ shares: GenericFD -USES CCTK_INT stencil_width -USES CCTK_INT stencil_width_x -USES CCTK_INT stencil_width_y -USES CCTK_INT stencil_width_z -USES CCTK_INT boundary_width shares: MethodOfLines @@ -15,37 +10,37 @@ shares: MethodOfLines USES CCTK_INT MoL_Num_Evolved_Vars restricted: -CCTK_INT verbose "verbose" +CCTK_INT verbose "verbose" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_ADMConstraints_MP_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars +CCTK_INT ML_ADMConstraints_MP_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars STEERABLE=RECOVER { 0:0 :: "Number of evolved variables used by this thorn" } 0 restricted: -CCTK_INT timelevels "Number of active timelevels" +CCTK_INT timelevels "Number of active timelevels" STEERABLE=RECOVER { 0:3 :: "" } 3 restricted: -CCTK_INT rhs_timelevels "Number of active RHS timelevels" +CCTK_INT rhs_timelevels "Number of active RHS timelevels" STEERABLE=RECOVER { 0:3 :: "" } 1 restricted: -CCTK_INT ML_ADMConstraints_MP_calc_every "ML_ADMConstraints_MP_calc_every" +CCTK_INT ML_ADMConstraints_MP_calc_every "ML_ADMConstraints_MP_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_ADMConstraints_MP_calc_offset "ML_ADMConstraints_MP_calc_offset" +CCTK_INT ML_ADMConstraints_MP_calc_offset "ML_ADMConstraints_MP_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 diff --git a/ML_ADMConstraints_MP/schedule.ccl b/ML_ADMConstraints_MP/schedule.ccl index 28964ab..afd599a 100644 --- a/ML_ADMConstraints_MP/schedule.ccl +++ b/ML_ADMConstraints_MP/schedule.ccl @@ -73,7 +73,7 @@ schedule ML_ADMConstraints_MP_CheckBoundaries at BASEGRID OPTIONS: meta } "check boundaries treatment" -schedule group ApplyBCs as ML_ADMConstraints_MP_ApplyBCs in MoL_PseudoEvolution after ML_ADMConstraints_MP_SelectBoundConds +schedule group ApplyBCs as ML_ADMConstraints_MP_ApplyBCs in MoL_PseudoEvolution after ML_ADMConstraints_MP_SelectBoundConds { # no language specified } "Apply boundary conditions controlled by thorn Boundary" diff --git a/ML_ADMConstraints_MP/src/Differencing.h b/ML_ADMConstraints_MP/src/Differencing.h index 1cdce99..aa21060 100644 --- a/ML_ADMConstraints_MP/src/Differencing.h +++ b/ML_ADMConstraints_MP/src/Differencing.h @@ -10,9 +10,3 @@ #define PDstandardNth23(u,i,j,k) (p1o144dydz*(-64*((u)[index+di*(0)+dj*(-1)+dk*(1)] + (u)[index+di*(0)+dj*(1)+dk*(-1)]) + 64*((u)[index+di*(0)+dj*(-1)+dk*(-1)] + (u)[index+di*(0)+dj*(1)+dk*(1)]) + 8*((u)[index+di*(0)+dj*(-1)+dk*(2)] + (u)[index+di*(0)+dj*(1)+dk*(-2)] + (u)[index+di*(0)+dj*(-2)+dk*(1)] + (u)[index+di*(0)+dj*(2)+dk*(-1)]) - 8*((u)[index+di*(0)+dj*(-1)+dk*(-2)] + (u)[index+di*(0)+dj*(1)+dk*(2)] + (u)[index+di*(0)+dj*(-2)+dk*(-1)] + (u)[index+di*(0)+dj*(2)+dk*(1)]) + (u)[index+di*(0)+dj*(-2)+dk*(-2)] - (u)[index+di*(0)+dj*(-2)+dk*(2)] - (u)[index+di*(0)+dj*(2)+dk*(-2)] + (u)[index+di*(0)+dj*(2)+dk*(2)])) #define PDstandardNth31(u,i,j,k) (p1o144dxdz*(-64*((u)[index+di*(-1)+dj*(0)+dk*(1)] + (u)[index+di*(1)+dj*(0)+dk*(-1)]) + 64*((u)[index+di*(-1)+dj*(0)+dk*(-1)] + (u)[index+di*(1)+dj*(0)+dk*(1)]) + 8*((u)[index+di*(-1)+dj*(0)+dk*(2)] + (u)[index+di*(1)+dj*(0)+dk*(-2)] + (u)[index+di*(-2)+dj*(0)+dk*(1)] + (u)[index+di*(2)+dj*(0)+dk*(-1)]) - 8*((u)[index+di*(-1)+dj*(0)+dk*(-2)] + (u)[index+di*(1)+dj*(0)+dk*(2)] + (u)[index+di*(-2)+dj*(0)+dk*(-1)] + (u)[index+di*(2)+dj*(0)+dk*(1)]) + (u)[index+di*(-2)+dj*(0)+dk*(-2)] - (u)[index+di*(-2)+dj*(0)+dk*(2)] - (u)[index+di*(2)+dj*(0)+dk*(-2)] + (u)[index+di*(2)+dj*(0)+dk*(2)])) #define PDstandardNth32(u,i,j,k) (p1o144dydz*(-64*((u)[index+di*(0)+dj*(-1)+dk*(1)] + (u)[index+di*(0)+dj*(1)+dk*(-1)]) + 64*((u)[index+di*(0)+dj*(-1)+dk*(-1)] + (u)[index+di*(0)+dj*(1)+dk*(1)]) + 8*((u)[index+di*(0)+dj*(-1)+dk*(2)] + (u)[index+di*(0)+dj*(1)+dk*(-2)] + (u)[index+di*(0)+dj*(-2)+dk*(1)] + (u)[index+di*(0)+dj*(2)+dk*(-1)]) - 8*((u)[index+di*(0)+dj*(-1)+dk*(-2)] + (u)[index+di*(0)+dj*(1)+dk*(2)] + (u)[index+di*(0)+dj*(-2)+dk*(-1)] + (u)[index+di*(0)+dj*(2)+dk*(1)]) + (u)[index+di*(0)+dj*(-2)+dk*(-2)] - (u)[index+di*(0)+dj*(-2)+dk*(2)] - (u)[index+di*(0)+dj*(2)+dk*(-2)] + (u)[index+di*(0)+dj*(2)+dk*(2)])) -#define PDupwindNth1(u,i,j,k) (p1o12dx*(-10*(u)[index+di*(0)+dj*(0)+dk*(0)] - 6*(u)[index+di*(2*dir1)+dj*(0)+dk*(0)] + (u)[index+di*(3*dir1)+dj*(0)+dk*(0)] - 3*(u)[index+di*(-dir1)+dj*(0)+dk*(0)] + 18*(u)[index+di*(dir1)+dj*(0)+dk*(0)])*dir1) -#define PDupwindNth2(u,i,j,k) (p1o12dy*(-10*(u)[index+di*(0)+dj*(0)+dk*(0)] - 6*(u)[index+di*(0)+dj*(2*dir2)+dk*(0)] + (u)[index+di*(0)+dj*(3*dir2)+dk*(0)] - 3*(u)[index+di*(0)+dj*(-dir2)+dk*(0)] + 18*(u)[index+di*(0)+dj*(dir2)+dk*(0)])*dir2) -#define PDupwindNth3(u,i,j,k) (p1o12dz*(-10*(u)[index+di*(0)+dj*(0)+dk*(0)] - 6*(u)[index+di*(0)+dj*(0)+dk*(2*dir3)] + (u)[index+di*(0)+dj*(0)+dk*(3*dir3)] - 3*(u)[index+di*(0)+dj*(0)+dk*(-dir3)] + 18*(u)[index+di*(0)+dj*(0)+dk*(dir3)])*dir3) -#define PDonesided1(u,i,j,k) (p1odx*(-(u)[index+di*(0)+dj*(0)+dk*(0)] + (u)[index+di*(dir1)+dj*(0)+dk*(0)])*dir1) -#define PDonesided2(u,i,j,k) (p1ody*(-(u)[index+di*(0)+dj*(0)+dk*(0)] + (u)[index+di*(0)+dj*(dir2)+dk*(0)])*dir2) -#define PDonesided3(u,i,j,k) (p1odz*(-(u)[index+di*(0)+dj*(0)+dk*(0)] + (u)[index+di*(0)+dj*(0)+dk*(dir3)])*dir3) diff --git a/ML_ADMConstraints_MP/src/ML_ADMConstraints_MP.c b/ML_ADMConstraints_MP/src/ML_ADMConstraints_MP.c index 9055234..8d4a4b6 100644 --- a/ML_ADMConstraints_MP/src/ML_ADMConstraints_MP.c +++ b/ML_ADMConstraints_MP/src/ML_ADMConstraints_MP.c @@ -53,9 +53,6 @@ void ML_ADMConstraints_MP_Body(cGH const * restrict const cctkGH, int const dir, return; } - const char *groups[] = {"ADMBase::curv","ADMBase::lapse","ADMBase::metric","ADMBase::shift","Coordinates::jacobian","Coordinates::jacobian2","ML_ADMConstraints_MP::ML_Ham","ML_ADMConstraints_MP::ML_mom"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_ADMConstraints_MP", 8, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -84,9 +81,6 @@ void ML_ADMConstraints_MP_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL const p1o144dxdy = (INV(dx)*INV(dy))/144.; CCTK_REAL const p1o144dxdz = (INV(dx)*INV(dz))/144.; CCTK_REAL const p1o144dydz = (INV(dy)*INV(dz))/144.; - CCTK_REAL const p1odx = INV(dx); - CCTK_REAL const p1ody = INV(dy); - CCTK_REAL const p1odz = INV(dz); CCTK_REAL const pm1o12dx2 = -pow(dx,-2)/12.; CCTK_REAL const pm1o12dy2 = -pow(dy,-2)/12.; CCTK_REAL const pm1o12dz2 = -pow(dz,-2)/12.; diff --git a/ML_ADMConstraints_O2/param.ccl b/ML_ADMConstraints_O2/param.ccl index c659cee..1215702 100644 --- a/ML_ADMConstraints_O2/param.ccl +++ b/ML_ADMConstraints_O2/param.ccl @@ -3,11 +3,6 @@ shares: GenericFD -USES CCTK_INT stencil_width -USES CCTK_INT stencil_width_x -USES CCTK_INT stencil_width_y -USES CCTK_INT stencil_width_z -USES CCTK_INT boundary_width shares: MethodOfLines @@ -15,37 +10,37 @@ shares: MethodOfLines USES CCTK_INT MoL_Num_Evolved_Vars restricted: -CCTK_INT verbose "verbose" +CCTK_INT verbose "verbose" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_ADMConstraints_O2_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars +CCTK_INT ML_ADMConstraints_O2_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars STEERABLE=RECOVER { 0:0 :: "Number of evolved variables used by this thorn" } 0 restricted: -CCTK_INT timelevels "Number of active timelevels" +CCTK_INT timelevels "Number of active timelevels" STEERABLE=RECOVER { 0:3 :: "" } 3 restricted: -CCTK_INT rhs_timelevels "Number of active RHS timelevels" +CCTK_INT rhs_timelevels "Number of active RHS timelevels" STEERABLE=RECOVER { 0:3 :: "" } 1 restricted: -CCTK_INT ML_ADMConstraints_O2_calc_every "ML_ADMConstraints_O2_calc_every" +CCTK_INT ML_ADMConstraints_O2_calc_every "ML_ADMConstraints_O2_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_ADMConstraints_O2_calc_offset "ML_ADMConstraints_O2_calc_offset" +CCTK_INT ML_ADMConstraints_O2_calc_offset "ML_ADMConstraints_O2_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 diff --git a/ML_ADMConstraints_O2/schedule.ccl b/ML_ADMConstraints_O2/schedule.ccl index f89b3cd..f7d2f7a 100644 --- a/ML_ADMConstraints_O2/schedule.ccl +++ b/ML_ADMConstraints_O2/schedule.ccl @@ -73,7 +73,7 @@ schedule ML_ADMConstraints_O2_CheckBoundaries at BASEGRID OPTIONS: meta } "check boundaries treatment" -schedule group ApplyBCs as ML_ADMConstraints_O2_ApplyBCs in MoL_PseudoEvolution after ML_ADMConstraints_O2_SelectBoundConds +schedule group ApplyBCs as ML_ADMConstraints_O2_ApplyBCs in MoL_PseudoEvolution after ML_ADMConstraints_O2_SelectBoundConds { # no language specified } "Apply boundary conditions controlled by thorn Boundary" diff --git a/ML_ADMConstraints_O2/src/Differencing.h b/ML_ADMConstraints_O2/src/Differencing.h index ba07758..9f8428b 100644 --- a/ML_ADMConstraints_O2/src/Differencing.h +++ b/ML_ADMConstraints_O2/src/Differencing.h @@ -10,9 +10,3 @@ #define PDstandardNth23(u,i,j,k) (p1o4dydz*((u)[index+di*(0)+dj*(-1)+dk*(-1)] - (u)[index+di*(0)+dj*(-1)+dk*(1)] - (u)[index+di*(0)+dj*(1)+dk*(-1)] + (u)[index+di*(0)+dj*(1)+dk*(1)])) #define PDstandardNth31(u,i,j,k) (p1o4dxdz*((u)[index+di*(-1)+dj*(0)+dk*(-1)] - (u)[index+di*(-1)+dj*(0)+dk*(1)] - (u)[index+di*(1)+dj*(0)+dk*(-1)] + (u)[index+di*(1)+dj*(0)+dk*(1)])) #define PDstandardNth32(u,i,j,k) (p1o4dydz*((u)[index+di*(0)+dj*(-1)+dk*(-1)] - (u)[index+di*(0)+dj*(-1)+dk*(1)] - (u)[index+di*(0)+dj*(1)+dk*(-1)] + (u)[index+di*(0)+dj*(1)+dk*(1)])) -#define PDupwindNth1(u,i,j,k) (pm1o2dx*(3*(u)[index+di*(0)+dj*(0)+dk*(0)] + (u)[index+di*(2*dir1)+dj*(0)+dk*(0)] - 4*(u)[index+di*(dir1)+dj*(0)+dk*(0)])*dir1) -#define PDupwindNth2(u,i,j,k) (pm1o2dy*(3*(u)[index+di*(0)+dj*(0)+dk*(0)] + (u)[index+di*(0)+dj*(2*dir2)+dk*(0)] - 4*(u)[index+di*(0)+dj*(dir2)+dk*(0)])*dir2) -#define PDupwindNth3(u,i,j,k) (pm1o2dz*(3*(u)[index+di*(0)+dj*(0)+dk*(0)] + (u)[index+di*(0)+dj*(0)+dk*(2*dir3)] - 4*(u)[index+di*(0)+dj*(0)+dk*(dir3)])*dir3) -#define PDonesided1(u,i,j,k) (p1odx*(-(u)[index+di*(0)+dj*(0)+dk*(0)] + (u)[index+di*(dir1)+dj*(0)+dk*(0)])*dir1) -#define PDonesided2(u,i,j,k) (p1ody*(-(u)[index+di*(0)+dj*(0)+dk*(0)] + (u)[index+di*(0)+dj*(dir2)+dk*(0)])*dir2) -#define PDonesided3(u,i,j,k) (p1odz*(-(u)[index+di*(0)+dj*(0)+dk*(0)] + (u)[index+di*(0)+dj*(0)+dk*(dir3)])*dir3) diff --git a/ML_ADMConstraints_O2/src/ML_ADMConstraints_O2.c b/ML_ADMConstraints_O2/src/ML_ADMConstraints_O2.c index 63b3977..81c5183 100644 --- a/ML_ADMConstraints_O2/src/ML_ADMConstraints_O2.c +++ b/ML_ADMConstraints_O2/src/ML_ADMConstraints_O2.c @@ -53,9 +53,6 @@ void ML_ADMConstraints_O2_Body(cGH const * restrict const cctkGH, int const dir, return; } - const char *groups[] = {"ADMBase::curv","ADMBase::lapse","ADMBase::metric","ADMBase::shift","ML_ADMConstraints_O2::ML_Ham","ML_ADMConstraints_O2::ML_mom"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_ADMConstraints_O2", 6, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -84,15 +81,9 @@ void ML_ADMConstraints_O2_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL const p1o4dxdy = (INV(dx)*INV(dy))/4.; CCTK_REAL const p1o4dxdz = (INV(dx)*INV(dz))/4.; CCTK_REAL const p1o4dydz = (INV(dy)*INV(dz))/4.; - CCTK_REAL const p1odx = INV(dx); CCTK_REAL const p1odx2 = pow(dx,-2); - CCTK_REAL const p1ody = INV(dy); CCTK_REAL const p1ody2 = pow(dy,-2); - CCTK_REAL const p1odz = INV(dz); CCTK_REAL const p1odz2 = pow(dz,-2); - CCTK_REAL const pm1o2dx = -(khalf*INV(dx)); - CCTK_REAL const pm1o2dy = -(khalf*INV(dy)); - CCTK_REAL const pm1o2dz = -(khalf*INV(dz)); /* Loop over the grid points */ #pragma omp parallel diff --git a/ML_ADMQuantities/param.ccl b/ML_ADMQuantities/param.ccl index 37d0295..09afed3 100644 --- a/ML_ADMQuantities/param.ccl +++ b/ML_ADMQuantities/param.ccl @@ -3,11 +3,6 @@ shares: GenericFD -USES CCTK_INT stencil_width -USES CCTK_INT stencil_width_x -USES CCTK_INT stencil_width_y -USES CCTK_INT stencil_width_z -USES CCTK_INT boundary_width shares: MethodOfLines @@ -15,7 +10,7 @@ shares: MethodOfLines USES CCTK_INT MoL_Num_Evolved_Vars restricted: -CCTK_INT verbose "verbose" +CCTK_INT verbose "verbose" STEERABLE=ALWAYS { *:* :: "" } 0 @@ -27,31 +22,31 @@ CCTK_INT conformalMethod "Treatment of conformal factor" } 0 restricted: -CCTK_INT ML_ADMQuantities_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars +CCTK_INT ML_ADMQuantities_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars STEERABLE=RECOVER { 0:0 :: "Number of evolved variables used by this thorn" } 0 restricted: -CCTK_INT timelevels "Number of active timelevels" +CCTK_INT timelevels "Number of active timelevels" STEERABLE=RECOVER { 0:3 :: "" } 3 restricted: -CCTK_INT rhs_timelevels "Number of active RHS timelevels" +CCTK_INT rhs_timelevels "Number of active RHS timelevels" STEERABLE=RECOVER { 0:3 :: "" } 1 restricted: -CCTK_INT ML_ADMQuantities_calc_every "ML_ADMQuantities_calc_every" +CCTK_INT ML_ADMQuantities_calc_every "ML_ADMQuantities_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_ADMQuantities_calc_offset "ML_ADMQuantities_calc_offset" +CCTK_INT ML_ADMQuantities_calc_offset "ML_ADMQuantities_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 diff --git a/ML_ADMQuantities/schedule.ccl b/ML_ADMQuantities/schedule.ccl index 76e5a43..4f50b25 100644 --- a/ML_ADMQuantities/schedule.ccl +++ b/ML_ADMQuantities/schedule.ccl @@ -73,7 +73,7 @@ schedule ML_ADMQuantities_CheckBoundaries at BASEGRID OPTIONS: meta } "check boundaries treatment" -schedule group ApplyBCs as ML_ADMQuantities_ApplyBCs in MoL_PseudoEvolution after ML_ADMQuantities_SelectBoundConds +schedule group ApplyBCs as ML_ADMQuantities_ApplyBCs in MoL_PseudoEvolution after ML_ADMQuantities_SelectBoundConds { # no language specified } "Apply boundary conditions controlled by thorn Boundary" diff --git a/ML_ADMQuantities/src/ML_ADMQuantities.c b/ML_ADMQuantities/src/ML_ADMQuantities.c index 581811d..741fd5b 100644 --- a/ML_ADMQuantities/src/ML_ADMQuantities.c +++ b/ML_ADMQuantities/src/ML_ADMQuantities.c @@ -53,9 +53,6 @@ void ML_ADMQuantities_Body(cGH const * restrict const cctkGH, int const dir, int return; } - const char *groups[] = {"grid::coordinates","Grid::coordinates","McLachlan::ML_curv","McLachlan::ML_Gamma","McLachlan::ML_lapse","McLachlan::ML_log_confac","McLachlan::ML_metric","McLachlan::ML_shift","McLachlan::ML_trace_curv","ML_ADMQuantities::ML_Jadm","ML_ADMQuantities::ML_Madm"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_ADMQuantities", 11, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -294,27 +291,27 @@ void ML_ADMQuantities_Body(cGH const * restrict const cctkGH, int const dir, int PDstandardNth1gt33*SQR(gtu31); CCTK_REAL dgtu211 = -(gtu11*gtu21*PDstandardNth1gt11) - - gtu11*gtu22*PDstandardNth1gt12 - gtu21*gtu31*PDstandardNth1gt13 - - gtu11*gtu32*PDstandardNth1gt13 - gtu21*gtu22*PDstandardNth1gt22 - - gtu22*gtu31*PDstandardNth1gt23 - gtu21*gtu32*PDstandardNth1gt23 - - gtu31*gtu32*PDstandardNth1gt33 - PDstandardNth1gt12*SQR(gtu21); + gtu21*gtu31*PDstandardNth1gt13 - gtu11*gtu32*PDstandardNth1gt13 - + gtu21*gtu22*PDstandardNth1gt22 - gtu22*gtu31*PDstandardNth1gt23 - + gtu21*gtu32*PDstandardNth1gt23 - gtu31*gtu32*PDstandardNth1gt33 - + PDstandardNth1gt12*(gtu11*gtu22 + SQR(gtu21)); - CCTK_REAL dgtu311 = -(gtu11*gtu31*PDstandardNth1gt11) - - gtu21*gtu31*PDstandardNth1gt12 - gtu11*gtu32*PDstandardNth1gt12 - - gtu11*gtu33*PDstandardNth1gt13 - gtu21*gtu32*PDstandardNth1gt22 - - gtu31*gtu32*PDstandardNth1gt23 - gtu21*gtu33*PDstandardNth1gt23 - - gtu31*gtu33*PDstandardNth1gt33 - PDstandardNth1gt13*SQR(gtu31); + CCTK_REAL dgtu311 = -(gtu11*gtu31*PDstandardNth1gt11) - (gtu21*gtu31 + + gtu11*gtu32)*PDstandardNth1gt12 - gtu11*gtu33*PDstandardNth1gt13 - + gtu21*gtu32*PDstandardNth1gt22 - gtu31*gtu32*PDstandardNth1gt23 - + gtu21*gtu33*PDstandardNth1gt23 - gtu31*gtu33*PDstandardNth1gt33 - + PDstandardNth1gt13*SQR(gtu31); CCTK_REAL dgtu221 = -2*(gtu21*gtu22*PDstandardNth1gt12 + gtu21*gtu32*PDstandardNth1gt13 + gtu22*gtu32*PDstandardNth1gt23) - PDstandardNth1gt11*SQR(gtu21) - PDstandardNth1gt22*SQR(gtu22) - PDstandardNth1gt33*SQR(gtu32); - CCTK_REAL dgtu321 = -(gtu21*gtu31*PDstandardNth1gt11) - - gtu22*gtu31*PDstandardNth1gt12 - gtu21*gtu32*PDstandardNth1gt12 - - gtu31*gtu32*PDstandardNth1gt13 - gtu21*gtu33*PDstandardNth1gt13 - - gtu22*gtu32*PDstandardNth1gt22 - gtu22*gtu33*PDstandardNth1gt23 - - gtu32*gtu33*PDstandardNth1gt33 - PDstandardNth1gt23*SQR(gtu32); + CCTK_REAL dgtu321 = -(gtu21*gtu31*PDstandardNth1gt11) - (gtu22*gtu31 + + gtu21*gtu32)*PDstandardNth1gt12 - gtu31*gtu32*PDstandardNth1gt13 - + gtu21*gtu33*PDstandardNth1gt13 - gtu22*gtu32*PDstandardNth1gt22 - + gtu22*gtu33*PDstandardNth1gt23 - gtu32*gtu33*PDstandardNth1gt33 - + PDstandardNth1gt23*SQR(gtu32); CCTK_REAL dgtu331 = -2*(gtu31*gtu32*PDstandardNth1gt12 + gtu31*gtu33*PDstandardNth1gt13 + gtu32*gtu33*PDstandardNth1gt23) - @@ -327,27 +324,27 @@ void ML_ADMQuantities_Body(cGH const * restrict const cctkGH, int const dir, int PDstandardNth2gt33*SQR(gtu31); CCTK_REAL dgtu212 = -(gtu11*gtu21*PDstandardNth2gt11) - - gtu11*gtu22*PDstandardNth2gt12 - gtu21*gtu31*PDstandardNth2gt13 - - gtu11*gtu32*PDstandardNth2gt13 - gtu21*gtu22*PDstandardNth2gt22 - - gtu22*gtu31*PDstandardNth2gt23 - gtu21*gtu32*PDstandardNth2gt23 - - gtu31*gtu32*PDstandardNth2gt33 - PDstandardNth2gt12*SQR(gtu21); + gtu21*gtu31*PDstandardNth2gt13 - gtu11*gtu32*PDstandardNth2gt13 - + gtu21*gtu22*PDstandardNth2gt22 - gtu22*gtu31*PDstandardNth2gt23 - + gtu21*gtu32*PDstandardNth2gt23 - gtu31*gtu32*PDstandardNth2gt33 - + PDstandardNth2gt12*(gtu11*gtu22 + SQR(gtu21)); - CCTK_REAL dgtu312 = -(gtu11*gtu31*PDstandardNth2gt11) - - gtu21*gtu31*PDstandardNth2gt12 - gtu11*gtu32*PDstandardNth2gt12 - - gtu11*gtu33*PDstandardNth2gt13 - gtu21*gtu32*PDstandardNth2gt22 - - gtu31*gtu32*PDstandardNth2gt23 - gtu21*gtu33*PDstandardNth2gt23 - - gtu31*gtu33*PDstandardNth2gt33 - PDstandardNth2gt13*SQR(gtu31); + CCTK_REAL dgtu312 = -(gtu11*gtu31*PDstandardNth2gt11) - (gtu21*gtu31 + + gtu11*gtu32)*PDstandardNth2gt12 - gtu11*gtu33*PDstandardNth2gt13 - + gtu21*gtu32*PDstandardNth2gt22 - gtu31*gtu32*PDstandardNth2gt23 - + gtu21*gtu33*PDstandardNth2gt23 - gtu31*gtu33*PDstandardNth2gt33 - + PDstandardNth2gt13*SQR(gtu31); CCTK_REAL dgtu222 = -2*(gtu21*gtu22*PDstandardNth2gt12 + gtu21*gtu32*PDstandardNth2gt13 + gtu22*gtu32*PDstandardNth2gt23) - PDstandardNth2gt11*SQR(gtu21) - PDstandardNth2gt22*SQR(gtu22) - PDstandardNth2gt33*SQR(gtu32); - CCTK_REAL dgtu322 = -(gtu21*gtu31*PDstandardNth2gt11) - - gtu22*gtu31*PDstandardNth2gt12 - gtu21*gtu32*PDstandardNth2gt12 - - gtu31*gtu32*PDstandardNth2gt13 - gtu21*gtu33*PDstandardNth2gt13 - - gtu22*gtu32*PDstandardNth2gt22 - gtu22*gtu33*PDstandardNth2gt23 - - gtu32*gtu33*PDstandardNth2gt33 - PDstandardNth2gt23*SQR(gtu32); + CCTK_REAL dgtu322 = -(gtu21*gtu31*PDstandardNth2gt11) - (gtu22*gtu31 + + gtu21*gtu32)*PDstandardNth2gt12 - gtu31*gtu32*PDstandardNth2gt13 - + gtu21*gtu33*PDstandardNth2gt13 - gtu22*gtu32*PDstandardNth2gt22 - + gtu22*gtu33*PDstandardNth2gt23 - gtu32*gtu33*PDstandardNth2gt33 - + PDstandardNth2gt23*SQR(gtu32); CCTK_REAL dgtu332 = -2*(gtu31*gtu32*PDstandardNth2gt12 + gtu31*gtu33*PDstandardNth2gt13 + gtu32*gtu33*PDstandardNth2gt23) - @@ -360,27 +357,27 @@ void ML_ADMQuantities_Body(cGH const * restrict const cctkGH, int const dir, int PDstandardNth3gt33*SQR(gtu31); CCTK_REAL dgtu213 = -(gtu11*gtu21*PDstandardNth3gt11) - - gtu11*gtu22*PDstandardNth3gt12 - gtu21*gtu31*PDstandardNth3gt13 - - gtu11*gtu32*PDstandardNth3gt13 - gtu21*gtu22*PDstandardNth3gt22 - - gtu22*gtu31*PDstandardNth3gt23 - gtu21*gtu32*PDstandardNth3gt23 - - gtu31*gtu32*PDstandardNth3gt33 - PDstandardNth3gt12*SQR(gtu21); + gtu21*gtu31*PDstandardNth3gt13 - gtu11*gtu32*PDstandardNth3gt13 - + gtu21*gtu22*PDstandardNth3gt22 - gtu22*gtu31*PDstandardNth3gt23 - + gtu21*gtu32*PDstandardNth3gt23 - gtu31*gtu32*PDstandardNth3gt33 - + PDstandardNth3gt12*(gtu11*gtu22 + SQR(gtu21)); - CCTK_REAL dgtu313 = -(gtu11*gtu31*PDstandardNth3gt11) - - gtu21*gtu31*PDstandardNth3gt12 - gtu11*gtu32*PDstandardNth3gt12 - - gtu11*gtu33*PDstandardNth3gt13 - gtu21*gtu32*PDstandardNth3gt22 - - gtu31*gtu32*PDstandardNth3gt23 - gtu21*gtu33*PDstandardNth3gt23 - - gtu31*gtu33*PDstandardNth3gt33 - PDstandardNth3gt13*SQR(gtu31); + CCTK_REAL dgtu313 = -(gtu11*gtu31*PDstandardNth3gt11) - (gtu21*gtu31 + + gtu11*gtu32)*PDstandardNth3gt12 - gtu11*gtu33*PDstandardNth3gt13 - + gtu21*gtu32*PDstandardNth3gt22 - gtu31*gtu32*PDstandardNth3gt23 - + gtu21*gtu33*PDstandardNth3gt23 - gtu31*gtu33*PDstandardNth3gt33 - + PDstandardNth3gt13*SQR(gtu31); CCTK_REAL dgtu223 = -2*(gtu21*gtu22*PDstandardNth3gt12 + gtu21*gtu32*PDstandardNth3gt13 + gtu22*gtu32*PDstandardNth3gt23) - PDstandardNth3gt11*SQR(gtu21) - PDstandardNth3gt22*SQR(gtu22) - PDstandardNth3gt33*SQR(gtu32); - CCTK_REAL dgtu323 = -(gtu21*gtu31*PDstandardNth3gt11) - - gtu22*gtu31*PDstandardNth3gt12 - gtu21*gtu32*PDstandardNth3gt12 - - gtu31*gtu32*PDstandardNth3gt13 - gtu21*gtu33*PDstandardNth3gt13 - - gtu22*gtu32*PDstandardNth3gt22 - gtu22*gtu33*PDstandardNth3gt23 - - gtu32*gtu33*PDstandardNth3gt33 - PDstandardNth3gt23*SQR(gtu32); + CCTK_REAL dgtu323 = -(gtu21*gtu31*PDstandardNth3gt11) - (gtu22*gtu31 + + gtu21*gtu32)*PDstandardNth3gt12 - gtu31*gtu32*PDstandardNth3gt13 - + gtu21*gtu33*PDstandardNth3gt13 - gtu22*gtu32*PDstandardNth3gt22 - + gtu22*gtu33*PDstandardNth3gt23 - gtu32*gtu33*PDstandardNth3gt33 - + PDstandardNth3gt23*SQR(gtu32); CCTK_REAL dgtu333 = -2*(gtu31*gtu32*PDstandardNth3gt12 + gtu31*gtu33*PDstandardNth3gt13 + gtu32*gtu33*PDstandardNth3gt23) - diff --git a/ML_ADMQuantities_MP/param.ccl b/ML_ADMQuantities_MP/param.ccl index 4ffd973..9ab5802 100644 --- a/ML_ADMQuantities_MP/param.ccl +++ b/ML_ADMQuantities_MP/param.ccl @@ -3,11 +3,6 @@ shares: GenericFD -USES CCTK_INT stencil_width -USES CCTK_INT stencil_width_x -USES CCTK_INT stencil_width_y -USES CCTK_INT stencil_width_z -USES CCTK_INT boundary_width shares: MethodOfLines @@ -15,7 +10,7 @@ shares: MethodOfLines USES CCTK_INT MoL_Num_Evolved_Vars restricted: -CCTK_INT verbose "verbose" +CCTK_INT verbose "verbose" STEERABLE=ALWAYS { *:* :: "" } 0 @@ -27,31 +22,31 @@ CCTK_INT conformalMethod "Treatment of conformal factor" } 0 restricted: -CCTK_INT ML_ADMQuantities_MP_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars +CCTK_INT ML_ADMQuantities_MP_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars STEERABLE=RECOVER { 0:0 :: "Number of evolved variables used by this thorn" } 0 restricted: -CCTK_INT timelevels "Number of active timelevels" +CCTK_INT timelevels "Number of active timelevels" STEERABLE=RECOVER { 0:3 :: "" } 3 restricted: -CCTK_INT rhs_timelevels "Number of active RHS timelevels" +CCTK_INT rhs_timelevels "Number of active RHS timelevels" STEERABLE=RECOVER { 0:3 :: "" } 1 restricted: -CCTK_INT ML_ADMQuantities_MP_calc_every "ML_ADMQuantities_MP_calc_every" +CCTK_INT ML_ADMQuantities_MP_calc_every "ML_ADMQuantities_MP_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_ADMQuantities_MP_calc_offset "ML_ADMQuantities_MP_calc_offset" +CCTK_INT ML_ADMQuantities_MP_calc_offset "ML_ADMQuantities_MP_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 diff --git a/ML_ADMQuantities_MP/schedule.ccl b/ML_ADMQuantities_MP/schedule.ccl index 1a66d54..10a5c21 100644 --- a/ML_ADMQuantities_MP/schedule.ccl +++ b/ML_ADMQuantities_MP/schedule.ccl @@ -73,7 +73,7 @@ schedule ML_ADMQuantities_MP_CheckBoundaries at BASEGRID OPTIONS: meta } "check boundaries treatment" -schedule group ApplyBCs as ML_ADMQuantities_MP_ApplyBCs in MoL_PseudoEvolution after ML_ADMQuantities_MP_SelectBoundConds +schedule group ApplyBCs as ML_ADMQuantities_MP_ApplyBCs in MoL_PseudoEvolution after ML_ADMQuantities_MP_SelectBoundConds { # no language specified } "Apply boundary conditions controlled by thorn Boundary" diff --git a/ML_ADMQuantities_MP/src/ML_ADMQuantities_MP.c b/ML_ADMQuantities_MP/src/ML_ADMQuantities_MP.c index c0c0817..7a7e588 100644 --- a/ML_ADMQuantities_MP/src/ML_ADMQuantities_MP.c +++ b/ML_ADMQuantities_MP/src/ML_ADMQuantities_MP.c @@ -53,9 +53,6 @@ void ML_ADMQuantities_MP_Body(cGH const * restrict const cctkGH, int const dir, return; } - const char *groups[] = {"Coordinates::jacobian","Coordinates::jacobian2","grid::coordinates","Grid::coordinates","McLachlan::ML_curv","McLachlan::ML_Gamma","McLachlan::ML_lapse","McLachlan::ML_log_confac","McLachlan::ML_metric","McLachlan::ML_shift","McLachlan::ML_trace_curv","ML_ADMQuantities_MP::ML_Jadm","ML_ADMQuantities_MP::ML_Madm"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_ADMQuantities_MP", 13, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -727,10 +724,10 @@ void ML_ADMQuantities_MP_Body(cGH const * restrict const cctkGH, int const dir, J21L*khalf*PDstandardNth2gt33 + J33L*PDstandardNth3gt13 - J31L*khalf*PDstandardNth3gt33; - CCTK_REAL Gtl211 = khalf*(-(J12L*PDstandardNth1gt11) + - 2*J11L*PDstandardNth1gt12 - J22L*PDstandardNth2gt11 + - 2*J21L*PDstandardNth2gt12 - J32L*PDstandardNth3gt11 + - 2*J31L*PDstandardNth3gt12); + CCTK_REAL Gtl211 = -(J12L*khalf*PDstandardNth1gt11) + + J11L*PDstandardNth1gt12 - J22L*khalf*PDstandardNth2gt11 + + J21L*PDstandardNth2gt12 - J32L*khalf*PDstandardNth3gt11 + + J31L*PDstandardNth3gt12; CCTK_REAL Gtl212 = khalf*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + J31L*PDstandardNth3gt22); @@ -752,10 +749,10 @@ void ML_ADMQuantities_MP_Body(cGH const * restrict const cctkGH, int const dir, J22L*khalf*PDstandardNth2gt33 + J33L*PDstandardNth3gt23 - J32L*khalf*PDstandardNth3gt33; - CCTK_REAL Gtl311 = khalf*(-(J13L*PDstandardNth1gt11) + - 2*J11L*PDstandardNth1gt13 - J23L*PDstandardNth2gt11 + - 2*J21L*PDstandardNth2gt13 - J33L*PDstandardNth3gt11 + - 2*J31L*PDstandardNth3gt13); + CCTK_REAL Gtl311 = -(J13L*khalf*PDstandardNth1gt11) + + J11L*PDstandardNth1gt13 - J23L*khalf*PDstandardNth2gt11 + + J21L*PDstandardNth2gt13 - J33L*khalf*PDstandardNth3gt11 + + J31L*PDstandardNth3gt13; CCTK_REAL Gtl312 = khalf*(-(J13L*PDstandardNth1gt12) + J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 - @@ -766,10 +763,10 @@ void ML_ADMQuantities_MP_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL Gtl313 = khalf*(J11L*PDstandardNth1gt33 + J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33); - CCTK_REAL Gtl322 = khalf*(-(J13L*PDstandardNth1gt22) + - 2*J12L*PDstandardNth1gt23 - J23L*PDstandardNth2gt22 + - 2*J22L*PDstandardNth2gt23 - J33L*PDstandardNth3gt22 + - 2*J32L*PDstandardNth3gt23); + CCTK_REAL Gtl322 = -(J13L*khalf*PDstandardNth1gt22) + + J12L*PDstandardNth1gt23 - J23L*khalf*PDstandardNth2gt22 + + J22L*PDstandardNth2gt23 - J33L*khalf*PDstandardNth3gt22 + + J32L*PDstandardNth3gt23; CCTK_REAL Gtl323 = khalf*(J12L*PDstandardNth1gt33 + J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33); diff --git a/ML_ADMQuantities_O2/param.ccl b/ML_ADMQuantities_O2/param.ccl index cee29ee..62595cd 100644 --- a/ML_ADMQuantities_O2/param.ccl +++ b/ML_ADMQuantities_O2/param.ccl @@ -3,11 +3,6 @@ shares: GenericFD -USES CCTK_INT stencil_width -USES CCTK_INT stencil_width_x -USES CCTK_INT stencil_width_y -USES CCTK_INT stencil_width_z -USES CCTK_INT boundary_width shares: MethodOfLines @@ -15,7 +10,7 @@ shares: MethodOfLines USES CCTK_INT MoL_Num_Evolved_Vars restricted: -CCTK_INT verbose "verbose" +CCTK_INT verbose "verbose" STEERABLE=ALWAYS { *:* :: "" } 0 @@ -27,31 +22,31 @@ CCTK_INT conformalMethod "Treatment of conformal factor" } 0 restricted: -CCTK_INT ML_ADMQuantities_O2_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars +CCTK_INT ML_ADMQuantities_O2_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars STEERABLE=RECOVER { 0:0 :: "Number of evolved variables used by this thorn" } 0 restricted: -CCTK_INT timelevels "Number of active timelevels" +CCTK_INT timelevels "Number of active timelevels" STEERABLE=RECOVER { 0:3 :: "" } 3 restricted: -CCTK_INT rhs_timelevels "Number of active RHS timelevels" +CCTK_INT rhs_timelevels "Number of active RHS timelevels" STEERABLE=RECOVER { 0:3 :: "" } 1 restricted: -CCTK_INT ML_ADMQuantities_O2_calc_every "ML_ADMQuantities_O2_calc_every" +CCTK_INT ML_ADMQuantities_O2_calc_every "ML_ADMQuantities_O2_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_ADMQuantities_O2_calc_offset "ML_ADMQuantities_O2_calc_offset" +CCTK_INT ML_ADMQuantities_O2_calc_offset "ML_ADMQuantities_O2_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 diff --git a/ML_ADMQuantities_O2/schedule.ccl b/ML_ADMQuantities_O2/schedule.ccl index 449cc06..7bea726 100644 --- a/ML_ADMQuantities_O2/schedule.ccl +++ b/ML_ADMQuantities_O2/schedule.ccl @@ -73,7 +73,7 @@ schedule ML_ADMQuantities_O2_CheckBoundaries at BASEGRID OPTIONS: meta } "check boundaries treatment" -schedule group ApplyBCs as ML_ADMQuantities_O2_ApplyBCs in MoL_PseudoEvolution after ML_ADMQuantities_O2_SelectBoundConds +schedule group ApplyBCs as ML_ADMQuantities_O2_ApplyBCs in MoL_PseudoEvolution after ML_ADMQuantities_O2_SelectBoundConds { # no language specified } "Apply boundary conditions controlled by thorn Boundary" diff --git a/ML_ADMQuantities_O2/src/ML_ADMQuantities_O2.c b/ML_ADMQuantities_O2/src/ML_ADMQuantities_O2.c index 0ef82da..40e863a 100644 --- a/ML_ADMQuantities_O2/src/ML_ADMQuantities_O2.c +++ b/ML_ADMQuantities_O2/src/ML_ADMQuantities_O2.c @@ -53,9 +53,6 @@ void ML_ADMQuantities_O2_Body(cGH const * restrict const cctkGH, int const dir, return; } - const char *groups[] = {"grid::coordinates","Grid::coordinates","McLachlan::ML_curv","McLachlan::ML_Gamma","McLachlan::ML_lapse","McLachlan::ML_log_confac","McLachlan::ML_metric","McLachlan::ML_shift","McLachlan::ML_trace_curv","ML_ADMQuantities_O2::ML_Jadm","ML_ADMQuantities_O2::ML_Madm"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_ADMQuantities_O2", 11, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -297,27 +294,27 @@ void ML_ADMQuantities_O2_Body(cGH const * restrict const cctkGH, int const dir, PDstandardNth1gt33*SQR(gtu31); CCTK_REAL dgtu211 = -(gtu11*gtu21*PDstandardNth1gt11) - - gtu11*gtu22*PDstandardNth1gt12 - gtu21*gtu31*PDstandardNth1gt13 - - gtu11*gtu32*PDstandardNth1gt13 - gtu21*gtu22*PDstandardNth1gt22 - - gtu22*gtu31*PDstandardNth1gt23 - gtu21*gtu32*PDstandardNth1gt23 - - gtu31*gtu32*PDstandardNth1gt33 - PDstandardNth1gt12*SQR(gtu21); + gtu21*gtu31*PDstandardNth1gt13 - gtu11*gtu32*PDstandardNth1gt13 - + gtu21*gtu22*PDstandardNth1gt22 - gtu22*gtu31*PDstandardNth1gt23 - + gtu21*gtu32*PDstandardNth1gt23 - gtu31*gtu32*PDstandardNth1gt33 - + PDstandardNth1gt12*(gtu11*gtu22 + SQR(gtu21)); - CCTK_REAL dgtu311 = -(gtu11*gtu31*PDstandardNth1gt11) - - gtu21*gtu31*PDstandardNth1gt12 - gtu11*gtu32*PDstandardNth1gt12 - - gtu11*gtu33*PDstandardNth1gt13 - gtu21*gtu32*PDstandardNth1gt22 - - gtu31*gtu32*PDstandardNth1gt23 - gtu21*gtu33*PDstandardNth1gt23 - - gtu31*gtu33*PDstandardNth1gt33 - PDstandardNth1gt13*SQR(gtu31); + CCTK_REAL dgtu311 = -(gtu11*gtu31*PDstandardNth1gt11) - (gtu21*gtu31 + + gtu11*gtu32)*PDstandardNth1gt12 - gtu11*gtu33*PDstandardNth1gt13 - + gtu21*gtu32*PDstandardNth1gt22 - gtu31*gtu32*PDstandardNth1gt23 - + gtu21*gtu33*PDstandardNth1gt23 - gtu31*gtu33*PDstandardNth1gt33 - + PDstandardNth1gt13*SQR(gtu31); CCTK_REAL dgtu221 = -2*(gtu21*gtu22*PDstandardNth1gt12 + gtu21*gtu32*PDstandardNth1gt13 + gtu22*gtu32*PDstandardNth1gt23) - PDstandardNth1gt11*SQR(gtu21) - PDstandardNth1gt22*SQR(gtu22) - PDstandardNth1gt33*SQR(gtu32); - CCTK_REAL dgtu321 = -(gtu21*gtu31*PDstandardNth1gt11) - - gtu22*gtu31*PDstandardNth1gt12 - gtu21*gtu32*PDstandardNth1gt12 - - gtu31*gtu32*PDstandardNth1gt13 - gtu21*gtu33*PDstandardNth1gt13 - - gtu22*gtu32*PDstandardNth1gt22 - gtu22*gtu33*PDstandardNth1gt23 - - gtu32*gtu33*PDstandardNth1gt33 - PDstandardNth1gt23*SQR(gtu32); + CCTK_REAL dgtu321 = -(gtu21*gtu31*PDstandardNth1gt11) - (gtu22*gtu31 + + gtu21*gtu32)*PDstandardNth1gt12 - gtu31*gtu32*PDstandardNth1gt13 - + gtu21*gtu33*PDstandardNth1gt13 - gtu22*gtu32*PDstandardNth1gt22 - + gtu22*gtu33*PDstandardNth1gt23 - gtu32*gtu33*PDstandardNth1gt33 - + PDstandardNth1gt23*SQR(gtu32); CCTK_REAL dgtu331 = -2*(gtu31*gtu32*PDstandardNth1gt12 + gtu31*gtu33*PDstandardNth1gt13 + gtu32*gtu33*PDstandardNth1gt23) - @@ -330,27 +327,27 @@ void ML_ADMQuantities_O2_Body(cGH const * restrict const cctkGH, int const dir, PDstandardNth2gt33*SQR(gtu31); CCTK_REAL dgtu212 = -(gtu11*gtu21*PDstandardNth2gt11) - - gtu11*gtu22*PDstandardNth2gt12 - gtu21*gtu31*PDstandardNth2gt13 - - gtu11*gtu32*PDstandardNth2gt13 - gtu21*gtu22*PDstandardNth2gt22 - - gtu22*gtu31*PDstandardNth2gt23 - gtu21*gtu32*PDstandardNth2gt23 - - gtu31*gtu32*PDstandardNth2gt33 - PDstandardNth2gt12*SQR(gtu21); + gtu21*gtu31*PDstandardNth2gt13 - gtu11*gtu32*PDstandardNth2gt13 - + gtu21*gtu22*PDstandardNth2gt22 - gtu22*gtu31*PDstandardNth2gt23 - + gtu21*gtu32*PDstandardNth2gt23 - gtu31*gtu32*PDstandardNth2gt33 - + PDstandardNth2gt12*(gtu11*gtu22 + SQR(gtu21)); - CCTK_REAL dgtu312 = -(gtu11*gtu31*PDstandardNth2gt11) - - gtu21*gtu31*PDstandardNth2gt12 - gtu11*gtu32*PDstandardNth2gt12 - - gtu11*gtu33*PDstandardNth2gt13 - gtu21*gtu32*PDstandardNth2gt22 - - gtu31*gtu32*PDstandardNth2gt23 - gtu21*gtu33*PDstandardNth2gt23 - - gtu31*gtu33*PDstandardNth2gt33 - PDstandardNth2gt13*SQR(gtu31); + CCTK_REAL dgtu312 = -(gtu11*gtu31*PDstandardNth2gt11) - (gtu21*gtu31 + + gtu11*gtu32)*PDstandardNth2gt12 - gtu11*gtu33*PDstandardNth2gt13 - + gtu21*gtu32*PDstandardNth2gt22 - gtu31*gtu32*PDstandardNth2gt23 - + gtu21*gtu33*PDstandardNth2gt23 - gtu31*gtu33*PDstandardNth2gt33 - + PDstandardNth2gt13*SQR(gtu31); CCTK_REAL dgtu222 = -2*(gtu21*gtu22*PDstandardNth2gt12 + gtu21*gtu32*PDstandardNth2gt13 + gtu22*gtu32*PDstandardNth2gt23) - PDstandardNth2gt11*SQR(gtu21) - PDstandardNth2gt22*SQR(gtu22) - PDstandardNth2gt33*SQR(gtu32); - CCTK_REAL dgtu322 = -(gtu21*gtu31*PDstandardNth2gt11) - - gtu22*gtu31*PDstandardNth2gt12 - gtu21*gtu32*PDstandardNth2gt12 - - gtu31*gtu32*PDstandardNth2gt13 - gtu21*gtu33*PDstandardNth2gt13 - - gtu22*gtu32*PDstandardNth2gt22 - gtu22*gtu33*PDstandardNth2gt23 - - gtu32*gtu33*PDstandardNth2gt33 - PDstandardNth2gt23*SQR(gtu32); + CCTK_REAL dgtu322 = -(gtu21*gtu31*PDstandardNth2gt11) - (gtu22*gtu31 + + gtu21*gtu32)*PDstandardNth2gt12 - gtu31*gtu32*PDstandardNth2gt13 - + gtu21*gtu33*PDstandardNth2gt13 - gtu22*gtu32*PDstandardNth2gt22 - + gtu22*gtu33*PDstandardNth2gt23 - gtu32*gtu33*PDstandardNth2gt33 - + PDstandardNth2gt23*SQR(gtu32); CCTK_REAL dgtu332 = -2*(gtu31*gtu32*PDstandardNth2gt12 + gtu31*gtu33*PDstandardNth2gt13 + gtu32*gtu33*PDstandardNth2gt23) - @@ -363,27 +360,27 @@ void ML_ADMQuantities_O2_Body(cGH const * restrict const cctkGH, int const dir, PDstandardNth3gt33*SQR(gtu31); CCTK_REAL dgtu213 = -(gtu11*gtu21*PDstandardNth3gt11) - - gtu11*gtu22*PDstandardNth3gt12 - gtu21*gtu31*PDstandardNth3gt13 - - gtu11*gtu32*PDstandardNth3gt13 - gtu21*gtu22*PDstandardNth3gt22 - - gtu22*gtu31*PDstandardNth3gt23 - gtu21*gtu32*PDstandardNth3gt23 - - gtu31*gtu32*PDstandardNth3gt33 - PDstandardNth3gt12*SQR(gtu21); + gtu21*gtu31*PDstandardNth3gt13 - gtu11*gtu32*PDstandardNth3gt13 - + gtu21*gtu22*PDstandardNth3gt22 - gtu22*gtu31*PDstandardNth3gt23 - + gtu21*gtu32*PDstandardNth3gt23 - gtu31*gtu32*PDstandardNth3gt33 - + PDstandardNth3gt12*(gtu11*gtu22 + SQR(gtu21)); - CCTK_REAL dgtu313 = -(gtu11*gtu31*PDstandardNth3gt11) - - gtu21*gtu31*PDstandardNth3gt12 - gtu11*gtu32*PDstandardNth3gt12 - - gtu11*gtu33*PDstandardNth3gt13 - gtu21*gtu32*PDstandardNth3gt22 - - gtu31*gtu32*PDstandardNth3gt23 - gtu21*gtu33*PDstandardNth3gt23 - - gtu31*gtu33*PDstandardNth3gt33 - PDstandardNth3gt13*SQR(gtu31); + CCTK_REAL dgtu313 = -(gtu11*gtu31*PDstandardNth3gt11) - (gtu21*gtu31 + + gtu11*gtu32)*PDstandardNth3gt12 - gtu11*gtu33*PDstandardNth3gt13 - + gtu21*gtu32*PDstandardNth3gt22 - gtu31*gtu32*PDstandardNth3gt23 - + gtu21*gtu33*PDstandardNth3gt23 - gtu31*gtu33*PDstandardNth3gt33 - + PDstandardNth3gt13*SQR(gtu31); CCTK_REAL dgtu223 = -2*(gtu21*gtu22*PDstandardNth3gt12 + gtu21*gtu32*PDstandardNth3gt13 + gtu22*gtu32*PDstandardNth3gt23) - PDstandardNth3gt11*SQR(gtu21) - PDstandardNth3gt22*SQR(gtu22) - PDstandardNth3gt33*SQR(gtu32); - CCTK_REAL dgtu323 = -(gtu21*gtu31*PDstandardNth3gt11) - - gtu22*gtu31*PDstandardNth3gt12 - gtu21*gtu32*PDstandardNth3gt12 - - gtu31*gtu32*PDstandardNth3gt13 - gtu21*gtu33*PDstandardNth3gt13 - - gtu22*gtu32*PDstandardNth3gt22 - gtu22*gtu33*PDstandardNth3gt23 - - gtu32*gtu33*PDstandardNth3gt33 - PDstandardNth3gt23*SQR(gtu32); + CCTK_REAL dgtu323 = -(gtu21*gtu31*PDstandardNth3gt11) - (gtu22*gtu31 + + gtu21*gtu32)*PDstandardNth3gt12 - gtu31*gtu32*PDstandardNth3gt13 - + gtu21*gtu33*PDstandardNth3gt13 - gtu22*gtu32*PDstandardNth3gt22 - + gtu22*gtu33*PDstandardNth3gt23 - gtu32*gtu33*PDstandardNth3gt33 - + PDstandardNth3gt23*SQR(gtu32); CCTK_REAL dgtu333 = -2*(gtu31*gtu32*PDstandardNth3gt12 + gtu31*gtu33*PDstandardNth3gt13 + gtu32*gtu33*PDstandardNth3gt23) - diff --git a/ML_BSSN/param.ccl b/ML_BSSN/param.ccl index 8b629ba..04b6af8 100644 --- a/ML_BSSN/param.ccl +++ b/ML_BSSN/param.ccl @@ -37,11 +37,6 @@ EXTENDS CCTK_KEYWORD dtshift_evolution_method "dtshift_evolution_method" shares: GenericFD -USES CCTK_INT stencil_width -USES CCTK_INT stencil_width_x -USES CCTK_INT stencil_width_y -USES CCTK_INT stencil_width_z -USES CCTK_INT boundary_width shares: MethodOfLines @@ -49,7 +44,7 @@ shares: MethodOfLines USES CCTK_INT MoL_Num_Evolved_Vars restricted: -CCTK_INT verbose "verbose" +CCTK_INT verbose "verbose" STEERABLE=ALWAYS { *:* :: "" } 0 @@ -195,193 +190,193 @@ KEYWORD dt_lapse_shift_method "Treatment of ADMBase dtlapse and dtshift" } "correct" restricted: -CCTK_INT ML_BSSN_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars +CCTK_INT ML_BSSN_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars STEERABLE=RECOVER { 25:25 :: "Number of evolved variables used by this thorn" } 25 restricted: -CCTK_INT timelevels "Number of active timelevels" +CCTK_INT timelevels "Number of active timelevels" STEERABLE=RECOVER { 0:3 :: "" } 3 restricted: -CCTK_INT rhs_timelevels "Number of active RHS timelevels" +CCTK_INT rhs_timelevels "Number of active RHS timelevels" STEERABLE=RECOVER { 0:3 :: "" } 1 restricted: -CCTK_INT ML_BSSN_Minkowski_calc_every "ML_BSSN_Minkowski_calc_every" +CCTK_INT ML_BSSN_Minkowski_calc_every "ML_BSSN_Minkowski_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_convertFromADMBase_calc_every "ML_BSSN_convertFromADMBase_calc_every" +CCTK_INT ML_BSSN_convertFromADMBase_calc_every "ML_BSSN_convertFromADMBase_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_convertFromADMBaseGamma_calc_every "ML_BSSN_convertFromADMBaseGamma_calc_every" +CCTK_INT ML_BSSN_convertFromADMBaseGamma_calc_every "ML_BSSN_convertFromADMBaseGamma_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_RHS1_calc_every "ML_BSSN_RHS1_calc_every" +CCTK_INT ML_BSSN_RHS1_calc_every "ML_BSSN_RHS1_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_RHS2_calc_every "ML_BSSN_RHS2_calc_every" +CCTK_INT ML_BSSN_RHS2_calc_every "ML_BSSN_RHS2_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_RHSStaticBoundary_calc_every "ML_BSSN_RHSStaticBoundary_calc_every" +CCTK_INT ML_BSSN_RHSStaticBoundary_calc_every "ML_BSSN_RHSStaticBoundary_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_enforce_calc_every "ML_BSSN_enforce_calc_every" +CCTK_INT ML_BSSN_enforce_calc_every "ML_BSSN_enforce_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_boundary_calc_every "ML_BSSN_boundary_calc_every" +CCTK_INT ML_BSSN_boundary_calc_every "ML_BSSN_boundary_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_convertToADMBase_calc_every "ML_BSSN_convertToADMBase_calc_every" +CCTK_INT ML_BSSN_convertToADMBase_calc_every "ML_BSSN_convertToADMBase_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_convertToADMBaseDtLapseShift_calc_every "ML_BSSN_convertToADMBaseDtLapseShift_calc_every" +CCTK_INT ML_BSSN_convertToADMBaseDtLapseShift_calc_every "ML_BSSN_convertToADMBaseDtLapseShift_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_convertToADMBaseDtLapseShiftBoundary_calc_every "ML_BSSN_convertToADMBaseDtLapseShiftBoundary_calc_every" +CCTK_INT ML_BSSN_convertToADMBaseDtLapseShiftBoundary_calc_every "ML_BSSN_convertToADMBaseDtLapseShiftBoundary_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_convertToADMBaseFakeDtLapseShift_calc_every "ML_BSSN_convertToADMBaseFakeDtLapseShift_calc_every" +CCTK_INT ML_BSSN_convertToADMBaseFakeDtLapseShift_calc_every "ML_BSSN_convertToADMBaseFakeDtLapseShift_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_constraints1_calc_every "ML_BSSN_constraints1_calc_every" +CCTK_INT ML_BSSN_constraints1_calc_every "ML_BSSN_constraints1_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_constraints2_calc_every "ML_BSSN_constraints2_calc_every" +CCTK_INT ML_BSSN_constraints2_calc_every "ML_BSSN_constraints2_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_Minkowski_calc_offset "ML_BSSN_Minkowski_calc_offset" +CCTK_INT ML_BSSN_Minkowski_calc_offset "ML_BSSN_Minkowski_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_convertFromADMBase_calc_offset "ML_BSSN_convertFromADMBase_calc_offset" +CCTK_INT ML_BSSN_convertFromADMBase_calc_offset "ML_BSSN_convertFromADMBase_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_convertFromADMBaseGamma_calc_offset "ML_BSSN_convertFromADMBaseGamma_calc_offset" +CCTK_INT ML_BSSN_convertFromADMBaseGamma_calc_offset "ML_BSSN_convertFromADMBaseGamma_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_RHS1_calc_offset "ML_BSSN_RHS1_calc_offset" +CCTK_INT ML_BSSN_RHS1_calc_offset "ML_BSSN_RHS1_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_RHS2_calc_offset "ML_BSSN_RHS2_calc_offset" +CCTK_INT ML_BSSN_RHS2_calc_offset "ML_BSSN_RHS2_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_RHSStaticBoundary_calc_offset "ML_BSSN_RHSStaticBoundary_calc_offset" +CCTK_INT ML_BSSN_RHSStaticBoundary_calc_offset "ML_BSSN_RHSStaticBoundary_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_enforce_calc_offset "ML_BSSN_enforce_calc_offset" +CCTK_INT ML_BSSN_enforce_calc_offset "ML_BSSN_enforce_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_boundary_calc_offset "ML_BSSN_boundary_calc_offset" +CCTK_INT ML_BSSN_boundary_calc_offset "ML_BSSN_boundary_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_convertToADMBase_calc_offset "ML_BSSN_convertToADMBase_calc_offset" +CCTK_INT ML_BSSN_convertToADMBase_calc_offset "ML_BSSN_convertToADMBase_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_convertToADMBaseDtLapseShift_calc_offset "ML_BSSN_convertToADMBaseDtLapseShift_calc_offset" +CCTK_INT ML_BSSN_convertToADMBaseDtLapseShift_calc_offset "ML_BSSN_convertToADMBaseDtLapseShift_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_convertToADMBaseDtLapseShiftBoundary_calc_offset "ML_BSSN_convertToADMBaseDtLapseShiftBoundary_calc_offset" +CCTK_INT ML_BSSN_convertToADMBaseDtLapseShiftBoundary_calc_offset "ML_BSSN_convertToADMBaseDtLapseShiftBoundary_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_convertToADMBaseFakeDtLapseShift_calc_offset "ML_BSSN_convertToADMBaseFakeDtLapseShift_calc_offset" +CCTK_INT ML_BSSN_convertToADMBaseFakeDtLapseShift_calc_offset "ML_BSSN_convertToADMBaseFakeDtLapseShift_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_constraints1_calc_offset "ML_BSSN_constraints1_calc_offset" +CCTK_INT ML_BSSN_constraints1_calc_offset "ML_BSSN_constraints1_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_constraints2_calc_offset "ML_BSSN_constraints2_calc_offset" +CCTK_INT ML_BSSN_constraints2_calc_offset "ML_BSSN_constraints2_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 private: -KEYWORD At11_bound "Boundary condition to implement" +KEYWORD At11_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -393,7 +388,7 @@ KEYWORD At11_bound "Boundary condition to implement" } "skip" private: -KEYWORD At12_bound "Boundary condition to implement" +KEYWORD At12_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -405,7 +400,7 @@ KEYWORD At12_bound "Boundary condition to implement" } "skip" private: -KEYWORD At13_bound "Boundary condition to implement" +KEYWORD At13_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -417,7 +412,7 @@ KEYWORD At13_bound "Boundary condition to implement" } "skip" private: -KEYWORD At22_bound "Boundary condition to implement" +KEYWORD At22_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -429,7 +424,7 @@ KEYWORD At22_bound "Boundary condition to implement" } "skip" private: -KEYWORD At23_bound "Boundary condition to implement" +KEYWORD At23_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -441,7 +436,7 @@ KEYWORD At23_bound "Boundary condition to implement" } "skip" private: -KEYWORD At33_bound "Boundary condition to implement" +KEYWORD At33_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -453,7 +448,7 @@ KEYWORD At33_bound "Boundary condition to implement" } "skip" private: -KEYWORD A_bound "Boundary condition to implement" +KEYWORD A_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -465,7 +460,7 @@ KEYWORD A_bound "Boundary condition to implement" } "skip" private: -KEYWORD B1_bound "Boundary condition to implement" +KEYWORD B1_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -477,7 +472,7 @@ KEYWORD B1_bound "Boundary condition to implement" } "skip" private: -KEYWORD B2_bound "Boundary condition to implement" +KEYWORD B2_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -489,7 +484,7 @@ KEYWORD B2_bound "Boundary condition to implement" } "skip" private: -KEYWORD B3_bound "Boundary condition to implement" +KEYWORD B3_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -501,7 +496,7 @@ KEYWORD B3_bound "Boundary condition to implement" } "skip" private: -KEYWORD Xt1_bound "Boundary condition to implement" +KEYWORD Xt1_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -513,7 +508,7 @@ KEYWORD Xt1_bound "Boundary condition to implement" } "skip" private: -KEYWORD Xt2_bound "Boundary condition to implement" +KEYWORD Xt2_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -525,7 +520,7 @@ KEYWORD Xt2_bound "Boundary condition to implement" } "skip" private: -KEYWORD Xt3_bound "Boundary condition to implement" +KEYWORD Xt3_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -537,7 +532,7 @@ KEYWORD Xt3_bound "Boundary condition to implement" } "skip" private: -KEYWORD alpha_bound "Boundary condition to implement" +KEYWORD alpha_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -549,7 +544,7 @@ KEYWORD alpha_bound "Boundary condition to implement" } "skip" private: -KEYWORD phi_bound "Boundary condition to implement" +KEYWORD phi_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -561,7 +556,7 @@ KEYWORD phi_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt11_bound "Boundary condition to implement" +KEYWORD gt11_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -573,7 +568,7 @@ KEYWORD gt11_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt12_bound "Boundary condition to implement" +KEYWORD gt12_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -585,7 +580,7 @@ KEYWORD gt12_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt13_bound "Boundary condition to implement" +KEYWORD gt13_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -597,7 +592,7 @@ KEYWORD gt13_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt22_bound "Boundary condition to implement" +KEYWORD gt22_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -609,7 +604,7 @@ KEYWORD gt22_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt23_bound "Boundary condition to implement" +KEYWORD gt23_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -621,7 +616,7 @@ KEYWORD gt23_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt33_bound "Boundary condition to implement" +KEYWORD gt33_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -633,7 +628,7 @@ KEYWORD gt33_bound "Boundary condition to implement" } "skip" private: -KEYWORD beta1_bound "Boundary condition to implement" +KEYWORD beta1_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -645,7 +640,7 @@ KEYWORD beta1_bound "Boundary condition to implement" } "skip" private: -KEYWORD beta2_bound "Boundary condition to implement" +KEYWORD beta2_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -657,7 +652,7 @@ KEYWORD beta2_bound "Boundary condition to implement" } "skip" private: -KEYWORD beta3_bound "Boundary condition to implement" +KEYWORD beta3_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -669,7 +664,7 @@ KEYWORD beta3_bound "Boundary condition to implement" } "skip" private: -KEYWORD trK_bound "Boundary condition to implement" +KEYWORD trK_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -681,7 +676,7 @@ KEYWORD trK_bound "Boundary condition to implement" } "skip" private: -KEYWORD ML_curv_bound "Boundary condition to implement" +KEYWORD ML_curv_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -690,10 +685,10 @@ KEYWORD ML_curv_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_dtlapse_bound "Boundary condition to implement" +KEYWORD ML_dtlapse_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -702,10 +697,10 @@ KEYWORD ML_dtlapse_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_dtshift_bound "Boundary condition to implement" +KEYWORD ML_dtshift_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -714,10 +709,10 @@ KEYWORD ML_dtshift_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_Gamma_bound "Boundary condition to implement" +KEYWORD ML_Gamma_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -726,10 +721,10 @@ KEYWORD ML_Gamma_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_lapse_bound "Boundary condition to implement" +KEYWORD ML_lapse_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -738,10 +733,10 @@ KEYWORD ML_lapse_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_log_confac_bound "Boundary condition to implement" +KEYWORD ML_log_confac_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -750,10 +745,10 @@ KEYWORD ML_log_confac_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_metric_bound "Boundary condition to implement" +KEYWORD ML_metric_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -762,10 +757,10 @@ KEYWORD ML_metric_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_shift_bound "Boundary condition to implement" +KEYWORD ML_shift_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -774,10 +769,10 @@ KEYWORD ML_shift_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_trace_curv_bound "Boundary condition to implement" +KEYWORD ML_trace_curv_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -786,616 +781,616 @@ KEYWORD ML_trace_curv_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -CCTK_REAL At11_bound_speed "characteristic speed at boundary" +CCTK_REAL At11_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At12_bound_speed "characteristic speed at boundary" +CCTK_REAL At12_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At13_bound_speed "characteristic speed at boundary" +CCTK_REAL At13_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At22_bound_speed "characteristic speed at boundary" +CCTK_REAL At22_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At23_bound_speed "characteristic speed at boundary" +CCTK_REAL At23_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At33_bound_speed "characteristic speed at boundary" +CCTK_REAL At33_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL A_bound_speed "characteristic speed at boundary" +CCTK_REAL A_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL B1_bound_speed "characteristic speed at boundary" +CCTK_REAL B1_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL B2_bound_speed "characteristic speed at boundary" +CCTK_REAL B2_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL B3_bound_speed "characteristic speed at boundary" +CCTK_REAL B3_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL Xt1_bound_speed "characteristic speed at boundary" +CCTK_REAL Xt1_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL Xt2_bound_speed "characteristic speed at boundary" +CCTK_REAL Xt2_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL Xt3_bound_speed "characteristic speed at boundary" +CCTK_REAL Xt3_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL alpha_bound_speed "characteristic speed at boundary" +CCTK_REAL alpha_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL phi_bound_speed "characteristic speed at boundary" +CCTK_REAL phi_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt11_bound_speed "characteristic speed at boundary" +CCTK_REAL gt11_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt12_bound_speed "characteristic speed at boundary" +CCTK_REAL gt12_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt13_bound_speed "characteristic speed at boundary" +CCTK_REAL gt13_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt22_bound_speed "characteristic speed at boundary" +CCTK_REAL gt22_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt23_bound_speed "characteristic speed at boundary" +CCTK_REAL gt23_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt33_bound_speed "characteristic speed at boundary" +CCTK_REAL gt33_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL beta1_bound_speed "characteristic speed at boundary" +CCTK_REAL beta1_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL beta2_bound_speed "characteristic speed at boundary" +CCTK_REAL beta2_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL beta3_bound_speed "characteristic speed at boundary" +CCTK_REAL beta3_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL trK_bound_speed "characteristic speed at boundary" +CCTK_REAL trK_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_curv_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_curv_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_dtlapse_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_dtlapse_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_dtshift_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_dtshift_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_Gamma_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_Gamma_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_lapse_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_lapse_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_log_confac_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_log_confac_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_metric_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_metric_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_shift_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_shift_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_trace_curv_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_trace_curv_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At11_bound_limit "limit value for r -> infinity" +CCTK_REAL At11_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At12_bound_limit "limit value for r -> infinity" +CCTK_REAL At12_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At13_bound_limit "limit value for r -> infinity" +CCTK_REAL At13_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At22_bound_limit "limit value for r -> infinity" +CCTK_REAL At22_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At23_bound_limit "limit value for r -> infinity" +CCTK_REAL At23_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At33_bound_limit "limit value for r -> infinity" +CCTK_REAL At33_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL A_bound_limit "limit value for r -> infinity" +CCTK_REAL A_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL B1_bound_limit "limit value for r -> infinity" +CCTK_REAL B1_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL B2_bound_limit "limit value for r -> infinity" +CCTK_REAL B2_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL B3_bound_limit "limit value for r -> infinity" +CCTK_REAL B3_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL Xt1_bound_limit "limit value for r -> infinity" +CCTK_REAL Xt1_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL Xt2_bound_limit "limit value for r -> infinity" +CCTK_REAL Xt2_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL Xt3_bound_limit "limit value for r -> infinity" +CCTK_REAL Xt3_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL alpha_bound_limit "limit value for r -> infinity" +CCTK_REAL alpha_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL phi_bound_limit "limit value for r -> infinity" +CCTK_REAL phi_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt11_bound_limit "limit value for r -> infinity" +CCTK_REAL gt11_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt12_bound_limit "limit value for r -> infinity" +CCTK_REAL gt12_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt13_bound_limit "limit value for r -> infinity" +CCTK_REAL gt13_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt22_bound_limit "limit value for r -> infinity" +CCTK_REAL gt22_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt23_bound_limit "limit value for r -> infinity" +CCTK_REAL gt23_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt33_bound_limit "limit value for r -> infinity" +CCTK_REAL gt33_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL beta1_bound_limit "limit value for r -> infinity" +CCTK_REAL beta1_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL beta2_bound_limit "limit value for r -> infinity" +CCTK_REAL beta2_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL beta3_bound_limit "limit value for r -> infinity" +CCTK_REAL beta3_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL trK_bound_limit "limit value for r -> infinity" +CCTK_REAL trK_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_curv_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_curv_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_dtlapse_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_dtlapse_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_dtshift_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_dtshift_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_Gamma_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_Gamma_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_lapse_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_lapse_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_log_confac_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_log_confac_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_metric_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_metric_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_shift_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_shift_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_trace_curv_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_trace_curv_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At11_bound_scalar "Dirichlet boundary value" +CCTK_REAL At11_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At12_bound_scalar "Dirichlet boundary value" +CCTK_REAL At12_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At13_bound_scalar "Dirichlet boundary value" +CCTK_REAL At13_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At22_bound_scalar "Dirichlet boundary value" +CCTK_REAL At22_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At23_bound_scalar "Dirichlet boundary value" +CCTK_REAL At23_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At33_bound_scalar "Dirichlet boundary value" +CCTK_REAL At33_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL A_bound_scalar "Dirichlet boundary value" +CCTK_REAL A_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL B1_bound_scalar "Dirichlet boundary value" +CCTK_REAL B1_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL B2_bound_scalar "Dirichlet boundary value" +CCTK_REAL B2_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL B3_bound_scalar "Dirichlet boundary value" +CCTK_REAL B3_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL Xt1_bound_scalar "Dirichlet boundary value" +CCTK_REAL Xt1_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL Xt2_bound_scalar "Dirichlet boundary value" +CCTK_REAL Xt2_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL Xt3_bound_scalar "Dirichlet boundary value" +CCTK_REAL Xt3_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL alpha_bound_scalar "Dirichlet boundary value" +CCTK_REAL alpha_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL phi_bound_scalar "Dirichlet boundary value" +CCTK_REAL phi_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt11_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt11_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt12_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt12_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt13_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt13_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt22_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt22_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt23_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt23_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt33_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt33_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL beta1_bound_scalar "Dirichlet boundary value" +CCTK_REAL beta1_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL beta2_bound_scalar "Dirichlet boundary value" +CCTK_REAL beta2_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL beta3_bound_scalar "Dirichlet boundary value" +CCTK_REAL beta3_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL trK_bound_scalar "Dirichlet boundary value" +CCTK_REAL trK_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_curv_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_curv_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_dtlapse_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_dtlapse_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_dtshift_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_dtshift_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_Gamma_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_Gamma_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_lapse_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_lapse_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_log_confac_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_log_confac_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_metric_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_metric_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_shift_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_shift_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_trace_curv_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_trace_curv_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. diff --git a/ML_BSSN/schedule.ccl b/ML_BSSN/schedule.ccl index a6227b2..9954a33 100644 --- a/ML_BSSN/schedule.ccl +++ b/ML_BSSN/schedule.ccl @@ -374,8 +374,6 @@ schedule ML_BSSN_constraints1_SelectBCs in ML_BSSN_constraints1_bc_group { LANG: C OPTIONS: level - SYNC: ML_cons_detg - SYNC: ML_cons_Gamma SYNC: ML_Ham } "ML_BSSN_constraints1_SelectBCs" @@ -413,6 +411,8 @@ schedule ML_BSSN_constraints2_SelectBCs in ML_BSSN_constraints2_bc_group { LANG: C OPTIONS: level + SYNC: ML_cons_detg + SYNC: ML_cons_Gamma SYNC: ML_cons_traceA SYNC: ML_mom } "ML_BSSN_constraints2_SelectBCs" @@ -458,7 +458,7 @@ schedule ML_BSSN_CheckBoundaries at BASEGRID OPTIONS: meta } "check boundaries treatment" -schedule group ApplyBCs as ML_BSSN_ApplyBCs in MoL_PostStep after ML_BSSN_SelectBoundConds +schedule group ApplyBCs as ML_BSSN_ApplyBCs in MoL_PostStep after ML_BSSN_SelectBoundConds { # no language specified } "Apply boundary conditions controlled by thorn Boundary" diff --git a/ML_BSSN/src/ML_BSSN_Minkowski.c b/ML_BSSN/src/ML_BSSN_Minkowski.c index 7564156..6700d1d 100644 --- a/ML_BSSN/src/ML_BSSN_Minkowski.c +++ b/ML_BSSN/src/ML_BSSN_Minkowski.c @@ -38,9 +38,6 @@ void ML_BSSN_Minkowski_Body(cGH const * restrict const cctkGH, int const dir, in return; } - const char *groups[] = {"ML_BSSN::ML_curv","ML_BSSN::ML_dtlapse","ML_BSSN::ML_dtshift","ML_BSSN::ML_Gamma","ML_BSSN::ML_lapse","ML_BSSN::ML_log_confac","ML_BSSN::ML_metric","ML_BSSN::ML_shift","ML_BSSN::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_Minkowski", 9, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN/src/ML_BSSN_RHS1.c b/ML_BSSN/src/ML_BSSN_RHS1.c index 41adf25..22daf60 100644 --- a/ML_BSSN/src/ML_BSSN_RHS1.c +++ b/ML_BSSN/src/ML_BSSN_RHS1.c @@ -71,9 +71,6 @@ void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir, int con return; } - const char *groups[] = {"grid::coordinates","Grid::coordinates","ML_BSSN::ML_curv","ML_BSSN::ML_dtlapse","ML_BSSN::ML_dtlapserhs","ML_BSSN::ML_dtshift","ML_BSSN::ML_dtshiftrhs","ML_BSSN::ML_Gamma","ML_BSSN::ML_Gammarhs","ML_BSSN::ML_lapse","ML_BSSN::ML_lapserhs","ML_BSSN::ML_log_confac","ML_BSSN::ML_log_confacrhs","ML_BSSN::ML_metric","ML_BSSN::ML_metricrhs","ML_BSSN::ML_shift","ML_BSSN::ML_shiftrhs","ML_BSSN::ML_trace_curv","ML_BSSN::ML_trace_curvrhs"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_RHS1", 19, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN/src/ML_BSSN_RHS2.c b/ML_BSSN/src/ML_BSSN_RHS2.c index 60716d2..672e384 100644 --- a/ML_BSSN/src/ML_BSSN_RHS2.c +++ b/ML_BSSN/src/ML_BSSN_RHS2.c @@ -50,9 +50,6 @@ void ML_BSSN_RHS2_Body(cGH const * restrict const cctkGH, int const dir, int con return; } - const char *groups[] = {"ML_BSSN::ML_curv","ML_BSSN::ML_curvrhs","ML_BSSN::ML_Gamma","ML_BSSN::ML_lapse","ML_BSSN::ML_log_confac","ML_BSSN::ML_metric","ML_BSSN::ML_shift","ML_BSSN::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_RHS2", 8, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN/src/ML_BSSN_RHSStaticBoundary.c b/ML_BSSN/src/ML_BSSN_RHSStaticBoundary.c index 7f177c5..a322308 100644 --- a/ML_BSSN/src/ML_BSSN_RHSStaticBoundary.c +++ b/ML_BSSN/src/ML_BSSN_RHSStaticBoundary.c @@ -74,9 +74,6 @@ void ML_BSSN_RHSStaticBoundary_Body(cGH const * restrict const cctkGH, int const return; } - const char *groups[] = {"ML_BSSN::ML_curvrhs","ML_BSSN::ML_dtlapserhs","ML_BSSN::ML_dtshiftrhs","ML_BSSN::ML_Gammarhs","ML_BSSN::ML_lapserhs","ML_BSSN::ML_log_confacrhs","ML_BSSN::ML_metricrhs","ML_BSSN::ML_shiftrhs","ML_BSSN::ML_trace_curvrhs"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_RHSStaticBoundary", 9, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN/src/ML_BSSN_boundary.c b/ML_BSSN/src/ML_BSSN_boundary.c index 0abd9b1..eac45fc 100644 --- a/ML_BSSN/src/ML_BSSN_boundary.c +++ b/ML_BSSN/src/ML_BSSN_boundary.c @@ -74,9 +74,6 @@ void ML_BSSN_boundary_Body(cGH const * restrict const cctkGH, int const dir, int return; } - const char *groups[] = {"ML_BSSN::ML_curv","ML_BSSN::ML_dtlapse","ML_BSSN::ML_dtshift","ML_BSSN::ML_Gamma","ML_BSSN::ML_lapse","ML_BSSN::ML_log_confac","ML_BSSN::ML_metric","ML_BSSN::ML_shift","ML_BSSN::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_boundary", 9, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN/src/ML_BSSN_constraints1.c b/ML_BSSN/src/ML_BSSN_constraints1.c index 9f344f3..2b3c1f4 100644 --- a/ML_BSSN/src/ML_BSSN_constraints1.c +++ b/ML_BSSN/src/ML_BSSN_constraints1.c @@ -26,12 +26,6 @@ void ML_BSSN_constraints1_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_PARAMETERS; CCTK_INT ierr = 0; - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_cons_detg","flat"); - if (ierr < 0) - CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_cons_detg."); - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_cons_Gamma","flat"); - if (ierr < 0) - CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_cons_Gamma."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_Ham","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_Ham."); @@ -56,9 +50,6 @@ void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int const dir, return; } - const char *groups[] = {"ML_BSSN::ML_cons_detg","ML_BSSN::ML_cons_Gamma","ML_BSSN::ML_curv","ML_BSSN::ML_Gamma","ML_BSSN::ML_Ham","ML_BSSN::ML_lapse","ML_BSSN::ML_log_confac","ML_BSSN::ML_metric","ML_BSSN::ML_shift","ML_BSSN::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_constraints1", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -306,457 +297,218 @@ void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L)); - CCTK_REAL Gt111 = khalf*(gtu11*PDstandardNth1gt11 + - 2*(gtu12*PDstandardNth1gt12 + gtu13*PDstandardNth1gt13) - - gtu12*PDstandardNth2gt11 - gtu13*PDstandardNth3gt11); - - CCTK_REAL Gt211 = khalf*(gtu12*PDstandardNth1gt11 + - 2*(gtu22*PDstandardNth1gt12 + gtu23*PDstandardNth1gt13) - - gtu22*PDstandardNth2gt11 - gtu23*PDstandardNth3gt11); - - CCTK_REAL Gt311 = khalf*(gtu13*PDstandardNth1gt11 + - 2*(gtu23*PDstandardNth1gt12 + gtu33*PDstandardNth1gt13) - - gtu23*PDstandardNth2gt11 - gtu33*PDstandardNth3gt11); - - CCTK_REAL Gt112 = khalf*(gtu12*PDstandardNth1gt22 + - gtu11*PDstandardNth2gt11 + gtu13*(PDstandardNth1gt23 + - PDstandardNth2gt13 - PDstandardNth3gt12)); - - CCTK_REAL Gt212 = khalf*(gtu22*PDstandardNth1gt22 + - gtu12*PDstandardNth2gt11 + gtu23*(PDstandardNth1gt23 + - PDstandardNth2gt13 - PDstandardNth3gt12)); - - CCTK_REAL Gt312 = khalf*(gtu23*PDstandardNth1gt22 + - gtu13*PDstandardNth2gt11 + gtu33*(PDstandardNth1gt23 + - PDstandardNth2gt13 - PDstandardNth3gt12)); - - CCTK_REAL Gt113 = khalf*(gtu13*PDstandardNth1gt33 + - gtu11*PDstandardNth3gt11 + gtu12*(PDstandardNth1gt23 - - PDstandardNth2gt13 + PDstandardNth3gt12)); - - CCTK_REAL Gt213 = khalf*(gtu23*PDstandardNth1gt33 + - gtu12*PDstandardNth3gt11 + gtu22*(PDstandardNth1gt23 - - PDstandardNth2gt13 + PDstandardNth3gt12)); - - CCTK_REAL Gt313 = khalf*(gtu33*PDstandardNth1gt33 + - gtu13*PDstandardNth3gt11 + gtu23*(PDstandardNth1gt23 - - PDstandardNth2gt13 + PDstandardNth3gt12)); - - CCTK_REAL Gt122 = khalf*(gtu11*(-PDstandardNth1gt22 + - 2*PDstandardNth2gt12) + gtu12*PDstandardNth2gt22 + - gtu13*(2*PDstandardNth2gt23 - PDstandardNth3gt22)); - - CCTK_REAL Gt222 = khalf*(gtu12*(-PDstandardNth1gt22 + - 2*PDstandardNth2gt12) + gtu22*PDstandardNth2gt22 + - gtu23*(2*PDstandardNth2gt23 - PDstandardNth3gt22)); - - CCTK_REAL Gt322 = khalf*(gtu13*(-PDstandardNth1gt22 + - 2*PDstandardNth2gt12) + gtu23*PDstandardNth2gt22 + - gtu33*(2*PDstandardNth2gt23 - PDstandardNth3gt22)); - - CCTK_REAL Gt123 = khalf*(gtu13*PDstandardNth2gt33 + - gtu11*(-PDstandardNth1gt23 + PDstandardNth2gt13 + PDstandardNth3gt12) + - gtu12*PDstandardNth3gt22); - - CCTK_REAL Gt223 = khalf*(gtu23*PDstandardNth2gt33 + - gtu12*(-PDstandardNth1gt23 + PDstandardNth2gt13 + PDstandardNth3gt12) + - gtu22*PDstandardNth3gt22); - - CCTK_REAL Gt323 = khalf*(gtu33*PDstandardNth2gt33 + - gtu13*(-PDstandardNth1gt23 + PDstandardNth2gt13 + PDstandardNth3gt12) + - gtu23*PDstandardNth3gt22); - - CCTK_REAL Gt133 = khalf*(-(gtu11*PDstandardNth1gt33) - - gtu12*PDstandardNth2gt33 + 2*gtu11*PDstandardNth3gt13 + - 2*gtu12*PDstandardNth3gt23 + gtu13*PDstandardNth3gt33); - - CCTK_REAL Gt233 = khalf*(-(gtu12*PDstandardNth1gt33) - - gtu22*PDstandardNth2gt33 + 2*gtu12*PDstandardNth3gt13 + - 2*gtu22*PDstandardNth3gt23 + gtu23*PDstandardNth3gt33); - - CCTK_REAL Gt333 = khalf*(-(gtu13*PDstandardNth1gt33) - - gtu23*PDstandardNth2gt33 + 2*gtu13*PDstandardNth3gt13 + - 2*gtu23*PDstandardNth3gt23 + gtu33*PDstandardNth3gt33); - - CCTK_REAL Rt11 = -(gtu11*khalf*PDstandardNth11gt11) + - gtu12*(2*Gt211*Gt212*gt22L + 4*Gt112*gt13L*Gt311 + 2*Gt113*gt11L*Gt312 - + 2*gt13L*Gt312*Gt313 + 2*gt13L*Gt211*Gt322 + 2*gt13L*Gt311*Gt323 + - 2*Gt311*Gt312*gt33L - PDstandardNth12gt11) - gtu13*PDstandardNth13gt11 - + gt11L*PDstandardNth1Xt1 + gt12L*(4*Gt111*Gt212*gtu12 + - 2*Gt211*Gt222*gtu12 + 4*Gt113*Gt211*gtu13 + 4*Gt112*Gt212*gtu22 + - 4*Gt113*Gt212*gtu23 + 4*Gt113*Gt213*gtu33 + PDstandardNth1Xt2) + - gt13L*(4*Gt111*Gt312*gtu12 + 2*Gt212*Gt312*gtu12 + 4*Gt113*Gt311*gtu13 - + 2*Gt212*Gt322*gtu22 + 4*Gt113*Gt312*gtu23 + 4*Gt113*Gt313*gtu33 + - PDstandardNth1Xt3) - gtu22*khalf*PDstandardNth22gt11 - - gtu23*PDstandardNth23gt11 - gtu33*khalf*PDstandardNth33gt11 + - Gt111*(6*Gt113*gt11L*gtu13 + 4*gt12L*Gt213*gtu13 + gt11L*Xt1L) + - Gt211*(2*Gt112*gt11L*gtu11 + 4*Gt111*gt12L*gtu11 + 2*gt11L*Gt122*gtu12 - + 2*gt11L*Gt123*gtu13 + gt12L*Xt1L) + Gt311*(4*Gt111*gt13L*gtu11 + - 2*gt12L*Gt213*gtu11 + 2*gt13L*Gt313*gtu11 + 2*gt11L*Gt123*gtu12 + - 2*gt11L*Gt133*gtu13 + gt13L*Xt1L) + gt12L*Gt212*Xt2L + gt13L*Gt312*Xt2L - + Gt112*(6*Gt111*gt11L*gtu12 + 4*gt12L*Gt211*gtu12 + - 2*gt11L*Gt213*gtu13 + 4*gt13L*Gt312*gtu22 + 6*Gt113*gt11L*gtu23 + - gt11L*Xt2L) + Gt113*gt11L*Xt3L + Gt213*(2*gt11L*Gt122*gtu23 + - 4*Gt112*gt12L*gtu23 + 2*gt11L*Gt123*gtu33 + gt12L*Xt3L) + - Gt313*(4*Gt111*gt13L*gtu13 + 2*gt12L*Gt213*gtu13 + 2*gt11L*Gt123*gtu23 - + 4*Gt112*gt13L*gtu23 + 2*gt12L*Gt223*gtu23 + 2*gt11L*Gt133*gtu33 + - gt13L*Xt3L) + 3*gt11L*gtu11*SQR(Gt111) + 3*gt11L*gtu22*SQR(Gt112) + - 3*gt11L*gtu33*SQR(Gt113) + gt22L*gtu11*SQR(Gt211) + - gt22L*gtu22*SQR(Gt212) + 2*(gt12L*Gt211*Gt212*gtu11 + - Gt113*gt11L*Gt311*gtu11 + Gt211*gt23L*Gt311*gtu11 + - gt13L*Gt211*Gt312*gtu11 + Gt112*gt11L*Gt212*gtu12 + - gt12L*Gt223*Gt311*gtu12 + Gt212*gt23L*Gt311*gtu12 + - gt12L*Gt213*Gt312*gtu12 + Gt211*gt23L*Gt312*gtu12 + - gt12L*Gt212*Gt213*gtu13 + gt12L*Gt211*Gt223*gtu13 + - Gt211*Gt213*gt22L*gtu13 + gt12L*Gt233*Gt311*gtu13 + - Gt213*gt23L*Gt311*gtu13 + gt13L*Gt213*Gt312*gtu13 + - Gt113*gt11L*Gt313*gtu13 + Gt211*gt23L*Gt313*gtu13 + - gt13L*Gt211*Gt323*gtu13 + gt13L*Gt311*Gt333*gtu13 + - Gt311*Gt313*gt33L*gtu13 + gt11L*Gt122*Gt212*gtu22 + - gt12L*Gt212*Gt222*gtu22 + gt11L*Gt123*Gt312*gtu22 + - gt12L*Gt223*Gt312*gtu22 + Gt212*gt23L*Gt312*gtu22 + - gt13L*Gt312*Gt323*gtu22 + gt11L*Gt123*Gt212*gtu23 + - gt12L*Gt213*Gt222*gtu23 + gt12L*Gt212*Gt223*gtu23 + - Gt212*Gt213*gt22L*gtu23 + gt11L*Gt133*Gt312*gtu23 + - gt12L*Gt233*Gt312*gtu23 + Gt213*gt23L*Gt312*gtu23 + - Gt212*gt23L*Gt313*gtu23 + gt13L*Gt213*Gt322*gtu23 + - gt13L*Gt212*Gt323*gtu23 + gt13L*Gt313*Gt323*gtu23 + - gt13L*Gt312*Gt333*gtu23 + Gt312*Gt313*gt33L*gtu23 + - gt12L*Gt213*Gt223*gtu33 + gt12L*Gt233*Gt313*gtu33 + - Gt213*gt23L*Gt313*gtu33 + gt13L*Gt213*Gt323*gtu33 + - gt13L*Gt313*Gt333*gtu33 + gt12L*gtu12*SQR(Gt212)) + - gt22L*gtu33*SQR(Gt213) + gt33L*gtu11*SQR(Gt311) + - gt33L*gtu22*SQR(Gt312) + 2*gt13L*gtu13*SQR(Gt313) + - gt33L*gtu33*SQR(Gt313); - - CCTK_REAL Rt12 = khalf*(-(gtu11*PDstandardNth11gt12) - + CCTK_REAL Gtl111 = khalf*PDstandardNth1gt11; + + CCTK_REAL Gtl112 = khalf*PDstandardNth2gt11; + + CCTK_REAL Gtl113 = khalf*PDstandardNth3gt11; + + CCTK_REAL Gtl122 = -(khalf*PDstandardNth1gt22) + PDstandardNth2gt12; + + CCTK_REAL Gtl123 = khalf*(-PDstandardNth1gt23 + PDstandardNth2gt13 + + PDstandardNth3gt12); + + CCTK_REAL Gtl133 = -(khalf*PDstandardNth1gt33) + PDstandardNth3gt13; + + CCTK_REAL Gtl211 = PDstandardNth1gt12 - khalf*PDstandardNth2gt11; + + CCTK_REAL Gtl212 = khalf*PDstandardNth1gt22; + + CCTK_REAL Gtl213 = khalf*(PDstandardNth1gt23 - PDstandardNth2gt13 + + PDstandardNth3gt12); + + CCTK_REAL Gtl222 = khalf*PDstandardNth2gt22; + + CCTK_REAL Gtl223 = khalf*PDstandardNth3gt22; + + CCTK_REAL Gtl233 = -(khalf*PDstandardNth2gt33) + PDstandardNth3gt23; + + CCTK_REAL Gtl311 = PDstandardNth1gt13 - khalf*PDstandardNth3gt11; + + CCTK_REAL Gtl312 = khalf*(PDstandardNth1gt23 + PDstandardNth2gt13 - + PDstandardNth3gt12); + + CCTK_REAL Gtl313 = khalf*PDstandardNth1gt33; + + CCTK_REAL Gtl322 = PDstandardNth2gt23 - khalf*PDstandardNth3gt22; + + CCTK_REAL Gtl323 = khalf*PDstandardNth2gt33; + + CCTK_REAL Gtl333 = khalf*PDstandardNth3gt33; + + CCTK_REAL Gtlu111 = Gtl111*gtu11 + Gtl112*gtu12 + Gtl113*gtu13; + + CCTK_REAL Gtlu112 = Gtl111*gtu12 + Gtl112*gtu22 + Gtl113*gtu23; + + CCTK_REAL Gtlu113 = Gtl111*gtu13 + Gtl112*gtu23 + Gtl113*gtu33; + + CCTK_REAL Gtlu121 = Gtl112*gtu11 + Gtl122*gtu12 + Gtl123*gtu13; + + CCTK_REAL Gtlu122 = Gtl112*gtu12 + Gtl122*gtu22 + Gtl123*gtu23; + + CCTK_REAL Gtlu123 = Gtl112*gtu13 + Gtl122*gtu23 + Gtl123*gtu33; + + CCTK_REAL Gtlu131 = Gtl113*gtu11 + Gtl123*gtu12 + Gtl133*gtu13; + + CCTK_REAL Gtlu132 = Gtl113*gtu12 + Gtl123*gtu22 + Gtl133*gtu23; + + CCTK_REAL Gtlu133 = Gtl113*gtu13 + Gtl123*gtu23 + Gtl133*gtu33; + + CCTK_REAL Gtlu211 = Gtl211*gtu11 + Gtl212*gtu12 + Gtl213*gtu13; + + CCTK_REAL Gtlu212 = Gtl211*gtu12 + Gtl212*gtu22 + Gtl213*gtu23; + + CCTK_REAL Gtlu213 = Gtl211*gtu13 + Gtl212*gtu23 + Gtl213*gtu33; + + CCTK_REAL Gtlu221 = Gtl212*gtu11 + Gtl222*gtu12 + Gtl223*gtu13; + + CCTK_REAL Gtlu222 = Gtl212*gtu12 + Gtl222*gtu22 + Gtl223*gtu23; + + CCTK_REAL Gtlu223 = Gtl212*gtu13 + Gtl222*gtu23 + Gtl223*gtu33; + + CCTK_REAL Gtlu231 = Gtl213*gtu11 + Gtl223*gtu12 + Gtl233*gtu13; + + CCTK_REAL Gtlu232 = Gtl213*gtu12 + Gtl223*gtu22 + Gtl233*gtu23; + + CCTK_REAL Gtlu233 = Gtl213*gtu13 + Gtl223*gtu23 + Gtl233*gtu33; + + CCTK_REAL Gtlu311 = Gtl311*gtu11 + Gtl312*gtu12 + Gtl313*gtu13; + + CCTK_REAL Gtlu312 = Gtl311*gtu12 + Gtl312*gtu22 + Gtl313*gtu23; + + CCTK_REAL Gtlu313 = Gtl311*gtu13 + Gtl312*gtu23 + Gtl313*gtu33; + + CCTK_REAL Gtlu321 = Gtl312*gtu11 + Gtl322*gtu12 + Gtl323*gtu13; + + CCTK_REAL Gtlu322 = Gtl312*gtu12 + Gtl322*gtu22 + Gtl323*gtu23; + + CCTK_REAL Gtlu323 = Gtl312*gtu13 + Gtl322*gtu23 + Gtl323*gtu33; + + CCTK_REAL Gtlu331 = Gtl313*gtu11 + Gtl323*gtu12 + Gtl333*gtu13; + + CCTK_REAL Gtlu332 = Gtl313*gtu12 + Gtl323*gtu22 + Gtl333*gtu23; + + CCTK_REAL Gtlu333 = Gtl313*gtu13 + Gtl323*gtu23 + Gtl333*gtu33; + + CCTK_REAL Gt111 = Gtl111*gtu11 + Gtl211*gtu12 + Gtl311*gtu13; + + CCTK_REAL Gt211 = Gtl111*gtu12 + Gtl211*gtu22 + Gtl311*gtu23; + + CCTK_REAL Gt311 = Gtl111*gtu13 + Gtl211*gtu23 + Gtl311*gtu33; + + CCTK_REAL Gt112 = Gtl112*gtu11 + Gtl212*gtu12 + Gtl312*gtu13; + + CCTK_REAL Gt212 = Gtl112*gtu12 + Gtl212*gtu22 + Gtl312*gtu23; + + CCTK_REAL Gt312 = Gtl112*gtu13 + Gtl212*gtu23 + Gtl312*gtu33; + + CCTK_REAL Gt113 = Gtl113*gtu11 + Gtl213*gtu12 + Gtl313*gtu13; + + CCTK_REAL Gt213 = Gtl113*gtu12 + Gtl213*gtu22 + Gtl313*gtu23; + + CCTK_REAL Gt313 = Gtl113*gtu13 + Gtl213*gtu23 + Gtl313*gtu33; + + CCTK_REAL Gt122 = Gtl122*gtu11 + Gtl222*gtu12 + Gtl322*gtu13; + + CCTK_REAL Gt222 = Gtl122*gtu12 + Gtl222*gtu22 + Gtl322*gtu23; + + CCTK_REAL Gt322 = Gtl122*gtu13 + Gtl222*gtu23 + Gtl322*gtu33; + + CCTK_REAL Gt123 = Gtl123*gtu11 + Gtl223*gtu12 + Gtl323*gtu13; + + CCTK_REAL Gt223 = Gtl123*gtu12 + Gtl223*gtu22 + Gtl323*gtu23; + + CCTK_REAL Gt323 = Gtl123*gtu13 + Gtl223*gtu23 + Gtl323*gtu33; + + CCTK_REAL Gt133 = Gtl133*gtu11 + Gtl233*gtu12 + Gtl333*gtu13; + + CCTK_REAL Gt233 = Gtl133*gtu12 + Gtl233*gtu22 + Gtl333*gtu23; + + CCTK_REAL Gt333 = Gtl133*gtu13 + Gtl233*gtu23 + Gtl333*gtu33; + + CCTK_REAL Xtn1 = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu12 + + Gt113*gtu13 + Gt123*gtu23) + Gt133*gtu33; + + CCTK_REAL Xtn2 = Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu12 + + Gt213*gtu13 + Gt223*gtu23) + Gt233*gtu33; + + CCTK_REAL Xtn3 = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu12 + + Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33; + + CCTK_REAL Rt11 = 3*(Gt111*Gtlu111 + Gt112*Gtlu112 + Gt113*Gtlu113) + + 2*(Gt211*Gtlu121 + Gt212*Gtlu122 + Gt213*Gtlu123 + Gt311*Gtlu131 + + Gt312*Gtlu132 + Gt313*Gtlu133) + Gt211*Gtlu211 + Gt212*Gtlu212 + + Gt213*Gtlu213 + Gt311*Gtlu311 + Gt312*Gtlu312 + Gt313*Gtlu313 + + gt11L*PDstandardNth1Xt1 + gt12L*PDstandardNth1Xt2 + + gt13L*PDstandardNth1Xt3 + khalf*(-(gtu11*PDstandardNth11gt11) - + 2*gtu12*PDstandardNth12gt11 - 2*gtu13*PDstandardNth13gt11 - + gtu22*PDstandardNth22gt11 - 2*gtu23*PDstandardNth23gt11 - + gtu33*PDstandardNth33gt11) + Gtl111*Xtn1 + Gtl112*Xtn2 + Gtl113*Xtn3; + + CCTK_REAL Rt12 = khalf*(4*(Gt211*Gtlu221 + Gt212*Gtlu222 + + Gt213*Gtlu223) + 2*(Gt112*Gtlu111 + Gt122*Gtlu112 + Gt123*Gtlu113 + + Gt111*Gtlu121 + Gt212*Gtlu121 + Gt112*Gtlu122 + Gt222*Gtlu122 + + Gt113*Gtlu123 + Gt223*Gtlu123 + Gt312*Gtlu131 + Gt322*Gtlu132 + + Gt323*Gtlu133 + Gt111*Gtlu211 + Gt112*Gtlu212 + Gt113*Gtlu213 + + Gt311*Gtlu231 + Gt312*Gtlu232 + Gt313*Gtlu233 + Gt311*Gtlu321 + + Gt312*Gtlu322 + Gt313*Gtlu323) - gtu11*PDstandardNth11gt12 - 2*gtu12*PDstandardNth12gt12 - 2*gtu13*PDstandardNth13gt12 + gt12L*PDstandardNth1Xt1 + gt22L*PDstandardNth1Xt2 + gt23L*PDstandardNth1Xt3 - gtu22*PDstandardNth22gt12 - 2*gtu23*PDstandardNth23gt12 + gt11L*PDstandardNth2Xt1 + gt12L*PDstandardNth2Xt2 + gt13L*PDstandardNth2Xt3 - - gtu33*PDstandardNth33gt12 + (Gt111*gt12L + Gt211*gt22L + - gt23L*Gt311)*Xt1L + (Gt112*gt11L + gt12L*Gt212 + gt13L*Gt312)*Xt1L + - (Gt112*gt12L + Gt212*gt22L + gt23L*Gt312)*Xt2L + (gt11L*Gt122 + - gt12L*Gt222 + gt13L*Gt322)*Xt2L + (Gt113*gt12L + Gt213*gt22L + - gt23L*Gt313)*Xt3L + (gt11L*Gt123 + gt12L*Gt223 + gt13L*Gt323)*Xt3L + - 2*gtu12*(Gt112*gt11L*Gt222 + Gt112*Gt211*gt22L + Gt211*Gt222*gt22L + - 2*Gt122*gt13L*Gt311 + Gt112*gt23L*Gt311 + Gt222*gt23L*Gt311 + - gt13L*Gt222*Gt312 + Gt213*gt22L*Gt312 + Gt212*gt23L*Gt312 + - gt23L*Gt312*Gt313 + Gt113*gt11L*Gt322 + Gt211*gt23L*Gt322 + - gt13L*Gt313*Gt322 + Gt111*(2*gt11L*Gt122 + Gt112*gt12L + gt12L*Gt222 + - gt13L*Gt322) + gt12L*(2*Gt122*Gt211 + Gt112*Gt212 + Gt212*Gt222 + - Gt113*Gt312 + Gt213*Gt322) + Gt311*Gt322*gt33L + gt22L*SQR(Gt212)) + - 2*((Gt123*gt12L*Gt211 + Gt113*gt12L*Gt212 + 2*Gt112*gt12L*Gt213 + - gt12L*Gt212*Gt223 + Gt212*Gt213*gt22L + Gt211*Gt223*gt22L + - gt12L*Gt133*Gt311 + gt22L*Gt233*Gt311 + Gt113*gt13L*Gt312 + - gt12L*Gt233*Gt312 + Gt213*gt23L*Gt312 + gt11L*(2*Gt112*Gt113 + - Gt123*Gt212 + Gt133*Gt312) + 2*Gt112*gt13L*Gt313 + Gt212*gt23L*Gt313 + - Gt111*(Gt113*gt12L + Gt213*gt22L + gt23L*Gt313) + gt13L*Gt212*Gt323 + - Gt211*gt23L*Gt323 + gt23L*Gt311*Gt333 + gt13L*Gt312*Gt333 + - Gt312*Gt313*gt33L)*gtu13 + (Gt123*gt12L*Gt212 + 2*Gt122*gt12L*Gt213 + - Gt113*gt12L*Gt222 + gt12L*Gt222*Gt223 + Gt213*Gt222*gt22L + - Gt212*Gt223*gt22L + gt12L*Gt133*Gt312 + gt22L*Gt233*Gt312 + - 2*Gt122*gt13L*Gt313 + Gt222*gt23L*Gt313 + Gt112*(Gt113*gt12L + - Gt213*gt22L + gt23L*Gt313) + Gt113*gt13L*Gt322 + gt12L*Gt233*Gt322 + - Gt213*gt23L*Gt322 + gt11L*(2*Gt113*Gt122 + Gt123*Gt222 + Gt133*Gt322) + - gt13L*Gt222*Gt323 + Gt212*gt23L*Gt323 + gt23L*Gt312*Gt333 + - gt13L*Gt322*Gt333 + Gt313*Gt322*gt33L)*gtu23 + - gtu11*(3*Gt112*gt12L*Gt211 + 2*Gt211*Gt212*gt22L + Gt113*gt12L*Gt311 + - 2*Gt112*gt13L*Gt311 + Gt213*gt22L*Gt311 + Gt212*gt23L*Gt311 + - gt13L*Gt212*Gt312 + gt12L*Gt213*Gt312 + 2*Gt211*gt23L*Gt312 + - gt11L*(2*Gt111*Gt112 + Gt112*Gt212 + Gt113*Gt312) + Gt111*(gt12L*Gt212 - + Gt211*gt22L + gt23L*Gt311 + gt13L*Gt312) + gt23L*Gt311*Gt313 + - gt13L*Gt312*Gt313 + Gt311*Gt312*gt33L + gt12L*SQR(Gt111) + - gt12L*SQR(Gt212))) + 2*gtu22*(gt11L*Gt122*Gt222 + 2*Gt212*Gt222*gt22L + - 2*Gt122*gt13L*Gt312 + Gt223*gt22L*Gt312 + Gt222*gt23L*Gt312 + - gt11L*Gt123*Gt322 + gt13L*Gt222*Gt322 + 2*Gt212*gt23L*Gt322 + - Gt112*(2*gt11L*Gt122 + gt12L*Gt222 + Gt212*gt22L + gt23L*Gt312 + - gt13L*Gt322) + gt23L*Gt312*Gt323 + gt13L*Gt322*Gt323 + - Gt312*Gt322*gt33L + gt12L*SQR(Gt112) + gt12L*(3*Gt122*Gt212 + - Gt123*Gt312 + Gt223*Gt322 + SQR(Gt222))) + 2*gtu33*(gt11L*Gt123*Gt223 + - 2*Gt213*Gt223*gt22L + 2*Gt123*gt13L*Gt313 + gt22L*Gt233*Gt313 + - Gt223*gt23L*Gt313 + gt11L*Gt133*Gt323 + gt13L*Gt223*Gt323 + - 2*Gt213*gt23L*Gt323 + Gt113*(2*gt11L*Gt123 + gt12L*Gt223 + Gt213*gt22L - + gt23L*Gt313 + gt13L*Gt323) + gt23L*Gt313*Gt333 + gt13L*Gt323*Gt333 + - Gt313*Gt323*gt33L + gt12L*SQR(Gt113) + gt12L*(3*Gt123*Gt213 + - Gt133*Gt313 + Gt233*Gt323 + SQR(Gt223))) + 2*gtu12*(Gt122*gt12L*Gt211 + - 3*Gt112*gt12L*Gt212 + gt12L*Gt212*Gt222 + Gt211*Gt222*gt22L + - Gt123*gt12L*Gt311 + Gt223*gt22L*Gt311 + 3*Gt112*gt13L*Gt312 + - gt12L*Gt223*Gt312 + 2*Gt212*gt23L*Gt312 + Gt111*(Gt112*gt12L + - Gt212*gt22L + gt23L*Gt312) + gt13L*Gt212*Gt322 + Gt211*gt23L*Gt322 + - gt23L*Gt311*Gt323 + gt13L*Gt312*Gt323 + gt11L*(Gt122*Gt212 + - Gt123*Gt312 + 2*SQR(Gt112)) + gt22L*SQR(Gt212) + gt33L*SQR(Gt312)) + - 2*gtu13*(Gt112*gt11L*Gt223 + Gt113*Gt211*gt22L + Gt212*Gt213*gt22L + - Gt211*Gt223*gt22L + 2*Gt123*gt13L*Gt311 + Gt113*gt23L*Gt311 + - Gt223*gt23L*Gt311 + gt13L*Gt223*Gt312 + Gt213*gt23L*Gt312 + - Gt213*gt22L*Gt313 + Gt113*gt11L*Gt323 + Gt211*gt23L*Gt323 + - gt13L*Gt313*Gt323 + Gt111*(2*gt11L*Gt123 + Gt113*gt12L + gt12L*Gt223 + - gt13L*Gt323) + gt12L*(2*Gt123*Gt211 + Gt112*Gt213 + Gt212*Gt223 + - Gt113*Gt313 + Gt213*Gt323) + Gt311*Gt323*gt33L + gt23L*SQR(Gt313)) + - 2*gtu23*(gt11L*Gt122*Gt223 + Gt113*Gt212*gt22L + Gt213*Gt222*gt22L + - Gt212*Gt223*gt22L + 2*Gt123*gt13L*Gt312 + Gt113*gt23L*Gt312 + - Gt223*gt23L*Gt312 + Gt223*gt22L*Gt313 + gt13L*Gt223*Gt322 + - Gt213*gt23L*Gt322 + gt11L*Gt123*Gt323 + Gt212*gt23L*Gt323 + - gt23L*Gt313*Gt323 + Gt112*(2*gt11L*Gt123 + Gt113*gt12L + gt12L*Gt223 + - gt13L*Gt323) + gt12L*(Gt122*Gt213 + Gt123*(2*Gt212 + Gt313) + - Gt223*(Gt222 + Gt323)) + Gt312*Gt323*gt33L + gt13L*SQR(Gt323))); - - CCTK_REAL Rt13 = khalf*(-(gtu11*PDstandardNth11gt13) - + gtu33*PDstandardNth33gt12 + Gtl112*Xtn1 + Gtl211*Xtn1 + Gtl122*Xtn2 + + Gtl212*Xtn2 + Gtl123*Xtn3 + Gtl213*Xtn3); + + CCTK_REAL Rt13 = khalf*(2*(Gt113*Gtlu111 + Gt123*Gtlu112 + + Gt133*Gtlu113 + Gt213*Gtlu121 + Gt223*Gtlu122 + Gt233*Gtlu123 + + Gt111*Gtlu131 + Gt313*Gtlu131 + Gt112*Gtlu132 + Gt323*Gtlu132 + + Gt113*Gtlu133 + Gt333*Gtlu133 + Gt211*Gtlu231 + Gt212*Gtlu232 + + Gt213*Gtlu233 + Gt111*Gtlu311 + Gt112*Gtlu312 + Gt113*Gtlu313 + + Gt211*Gtlu321 + Gt212*Gtlu322 + Gt213*Gtlu323) + 4*(Gt311*Gtlu331 + + Gt312*Gtlu332 + Gt313*Gtlu333) - gtu11*PDstandardNth11gt13 - 2*gtu12*PDstandardNth12gt13 - 2*gtu13*PDstandardNth13gt13 + gt13L*PDstandardNth1Xt1 + gt23L*PDstandardNth1Xt2 + gt33L*PDstandardNth1Xt3 - gtu22*PDstandardNth22gt13 - 2*gtu23*PDstandardNth23gt13 - gtu33*PDstandardNth33gt13 + gt11L*PDstandardNth3Xt1 + gt12L*PDstandardNth3Xt2 + - gt13L*PDstandardNth3Xt3 + (Gt113*gt11L + gt12L*Gt213 + - gt13L*Gt313)*Xt1L + (Gt111*gt13L + Gt211*gt23L + Gt311*gt33L)*Xt1L + - (gt11L*Gt123 + gt12L*Gt223 + gt13L*Gt323)*Xt2L + (Gt112*gt13L + - Gt212*gt23L + Gt312*gt33L)*Xt2L + (gt11L*Gt133 + gt12L*Gt233 + - gt13L*Gt333)*Xt3L + (Gt113*gt13L + Gt213*gt23L + Gt313*gt33L)*Xt3L + - 2*((Gt122*gt13L*Gt211 + 2*Gt113*gt12L*Gt212 + Gt112*gt12L*Gt213 + - gt12L*Gt213*Gt222 + Gt212*Gt213*gt22L + Gt211*Gt222*gt23L + - Gt123*gt13L*Gt311 + Gt223*gt23L*Gt311 + 2*Gt113*gt13L*Gt312 + - Gt213*gt23L*Gt312 + Gt112*gt13L*Gt313 + gt12L*Gt223*Gt313 + - Gt212*gt23L*Gt313 + gt11L*(2*Gt112*Gt113 + Gt122*Gt213 + Gt123*Gt313) + - gt13L*Gt213*Gt322 + gt13L*Gt313*Gt323 + Gt312*Gt313*gt33L + - Gt211*Gt322*gt33L + Gt311*Gt323*gt33L + Gt111*(Gt112*gt13L + - Gt212*gt23L + Gt312*gt33L))*gtu12 + (Gt122*gt13L*Gt213 + - gt11L*Gt122*Gt233 + Gt212*gt22L*Gt233 + Gt113*Gt212*gt23L + - Gt213*Gt222*gt23L + 2*Gt133*gt13L*Gt312 + Gt233*gt23L*Gt312 + - Gt123*gt13L*Gt313 + Gt223*gt23L*Gt313 + gt13L*Gt233*Gt322 + - gt11L*Gt123*Gt333 + Gt212*gt23L*Gt333 + gt13L*Gt323*Gt333 + - Gt112*(2*gt11L*Gt133 + Gt113*gt13L + gt12L*Gt233 + gt13L*Gt333) + - gt12L*(2*Gt133*Gt212 + Gt222*Gt233 + Gt223*Gt333) + Gt113*Gt312*gt33L + - Gt213*Gt322*gt33L + Gt313*Gt323*gt33L + Gt312*Gt333*gt33L)*gtu23 + - gtu12*(2*Gt123*gt12L*Gt211 + Gt112*gt13L*Gt212 + gt12L*Gt212*Gt223 + - Gt211*Gt223*gt22L + Gt112*Gt211*gt23L + 2*Gt123*gt13L*Gt311 + - Gt223*gt23L*Gt311 + Gt113*gt13L*Gt312 + gt13L*Gt223*Gt312 + - Gt213*gt23L*Gt312 + gt12L*Gt213*Gt323 + Gt211*gt23L*Gt323 + - gt13L*Gt313*Gt323 + gt11L*(2*Gt111*Gt123 + Gt112*Gt223 + Gt113*Gt323) + - Gt111*(Gt112*gt13L + gt12L*Gt223 + gt13L*Gt323) + Gt112*Gt311*gt33L + - Gt212*Gt312*gt33L + Gt312*Gt313*gt33L + Gt311*Gt323*gt33L + - gt23L*SQR(Gt212))) + 2*gtu23*(Gt123*gt13L*Gt212 + 2*Gt123*gt12L*Gt213 + - Gt113*gt12L*Gt223 + Gt213*Gt223*gt22L + Gt212*Gt223*gt23L + - Gt133*gt13L*Gt312 + Gt233*gt23L*Gt312 + 2*Gt123*gt13L*Gt313 + - Gt223*gt23L*Gt313 + Gt113*gt13L*Gt323 + gt13L*Gt223*Gt323 + - gt12L*Gt233*Gt323 + Gt213*gt23L*Gt323 + gt11L*(2*Gt113*Gt123 + - Gt123*Gt223 + Gt133*Gt323) + gt13L*Gt323*Gt333 + Gt212*Gt323*gt33L + - Gt313*Gt323*gt33L + Gt312*Gt333*gt33L + Gt112*(Gt113*gt13L + - Gt213*gt23L + Gt313*gt33L) + gt12L*SQR(Gt223)) + - 2*gtu11*(2*Gt113*gt12L*Gt211 + Gt112*gt13L*Gt211 + gt12L*Gt212*Gt213 + - Gt211*Gt213*gt22L + Gt211*Gt212*gt23L + 3*Gt113*gt13L*Gt311 + - 2*Gt213*gt23L*Gt311 + gt13L*Gt213*Gt312 + gt12L*Gt213*Gt313 + - Gt211*gt23L*Gt313 + gt11L*(2*Gt111*Gt113 + Gt112*Gt213 + Gt113*Gt313) + - Gt211*Gt312*gt33L + 2*Gt311*Gt313*gt33L + Gt111*(gt12L*Gt213 + - Gt211*gt23L + gt13L*Gt313 + Gt311*gt33L) + gt13L*SQR(Gt111) + - gt13L*SQR(Gt313)) + 2*gtu13*(Gt112*gt13L*Gt213 + Gt112*gt11L*Gt233 + - Gt211*gt22L*Gt233 + Gt113*Gt211*gt23L + Gt212*Gt213*gt23L + - 2*Gt133*gt13L*Gt311 + Gt233*gt23L*Gt311 + gt13L*Gt233*Gt312 + - Gt113*gt13L*Gt313 + Gt213*gt23L*Gt313 + Gt113*gt11L*Gt333 + - Gt211*gt23L*Gt333 + gt13L*Gt313*Gt333 + Gt111*(2*gt11L*Gt133 + - Gt113*gt13L + gt12L*Gt233 + gt13L*Gt333) + gt12L*(2*Gt133*Gt211 + - Gt212*Gt233 + Gt213*Gt333) + Gt113*Gt311*gt33L + Gt213*Gt312*gt33L + - Gt311*Gt333*gt33L + gt33L*SQR(Gt313)) + 2*gtu13*(Gt123*gt13L*Gt211 + - 3*Gt113*gt12L*Gt213 + gt12L*Gt213*Gt223 + Gt211*Gt223*gt23L + - Gt133*gt13L*Gt311 + Gt233*gt23L*Gt311 + 3*Gt113*gt13L*Gt313 + - gt12L*Gt233*Gt313 + 2*Gt213*gt23L*Gt313 + gt13L*Gt213*Gt323 + - gt13L*Gt313*Gt333 + Gt211*Gt323*gt33L + Gt311*Gt333*gt33L + - Gt111*(Gt113*gt13L + Gt213*gt23L + Gt313*gt33L) + gt11L*(Gt123*Gt213 + - Gt133*Gt313 + 2*SQR(Gt113)) + gt22L*SQR(Gt213) + gt33L*SQR(Gt313)) + - 2*gtu22*(2*Gt123*gt12L*Gt212 + Gt122*gt13L*Gt212 + gt12L*Gt222*Gt223 + - Gt212*Gt223*gt22L + Gt212*Gt222*gt23L + 3*Gt123*gt13L*Gt312 + - 2*Gt223*gt23L*Gt312 + gt13L*Gt223*Gt322 + gt12L*Gt223*Gt323 + - Gt212*gt23L*Gt323 + gt11L*(2*Gt112*Gt123 + Gt122*Gt223 + Gt123*Gt323) + - Gt212*Gt322*gt33L + 2*Gt312*Gt323*gt33L + Gt112*(gt12L*Gt223 + - Gt212*gt23L + gt13L*Gt323 + Gt312*gt33L) + gt13L*SQR(Gt112) + - gt13L*SQR(Gt323)) + 2*gtu33*(2*gt12L*Gt133*Gt213 + Gt123*gt13L*Gt213 + - gt11L*Gt123*Gt233 + gt12L*Gt223*Gt233 + Gt213*gt22L*Gt233 + - Gt213*Gt223*gt23L + 3*Gt133*gt13L*Gt313 + 2*Gt233*gt23L*Gt313 + - gt13L*Gt233*Gt323 + gt11L*Gt133*Gt333 + gt12L*Gt233*Gt333 + - Gt213*gt23L*Gt333 + Gt213*Gt323*gt33L + 2*Gt313*Gt333*gt33L + - Gt113*(2*gt11L*Gt133 + gt12L*Gt233 + Gt213*gt23L + gt13L*Gt333 + - Gt313*gt33L) + gt13L*SQR(Gt113) + gt13L*SQR(Gt333))); - - CCTK_REAL Rt22 = 4*(Gt122*gt12L*Gt212*gtu12 + Gt112*gt12L*Gt222*gtu12 - + Gt123*gt12L*Gt212*gtu13 + Gt122*gt12L*Gt222*gtu22 + - Gt123*gt12L*Gt222*gtu23 + Gt123*gt12L*Gt223*gtu33) - - gtu11*khalf*PDstandardNth11gt22 + gtu12*(6*Gt212*Gt222*gt22L + - 2*Gt122*gt23L*Gt311 + 2*Gt122*gt13L*Gt312 + 4*Gt222*gt23L*Gt312 + - 2*Gt113*gt12L*Gt322 + 2*gt23L*Gt312*Gt323 + 2*Gt312*Gt322*gt33L - - PDstandardNth12gt22) + gtu13*(6*Gt212*Gt223*gt22L + 2*Gt123*gt13L*Gt312 - + 2*Gt112*gt23L*Gt313 + 2*Gt113*gt12L*Gt323 + 2*gt23L*Gt312*Gt333 + - 2*Gt312*Gt323*gt33L - PDstandardNth13gt22) - - gtu22*khalf*PDstandardNth22gt22 + gtu23*(4*Gt122*gt12L*Gt223 + - 2*Gt123*Gt212*gt22L + 2*gt12L*Gt133*Gt322 + 4*Gt223*gt23L*Gt322 + - 2*Gt123*gt12L*Gt323 + 4*Gt222*gt23L*Gt323 + 2*gt23L*Gt322*Gt333 + - 2*Gt322*Gt323*gt33L - PDstandardNth23gt22) + gt12L*(2*Gt111*Gt123*gtu13 - + 4*Gt112*Gt223*gtu13 + 2*Gt123*Gt322*gtu22 + 2*Gt113*Gt122*gtu23 + - 2*Gt113*Gt123*gtu33 + PDstandardNth2Xt1) + gt22L*(2*Gt122*Gt213*gtu23 + - 6*Gt222*Gt223*gtu23 + 2*Gt123*Gt213*gtu33 + PDstandardNth2Xt2) + - gt23L*(4*Gt212*Gt322*gtu12 + 2*Gt313*Gt322*gtu12 + 2*Gt123*Gt311*gtu13 - + 4*Gt212*Gt323*gtu13 + 2*Gt313*Gt323*gtu13 + 4*Gt222*Gt322*gtu22 + - 2*Gt122*Gt313*gtu23 + 2*Gt123*Gt313*gtu33 + 4*Gt223*Gt323*gtu33 + - 2*Gt323*Gt333*gtu33 + PDstandardNth2Xt3) - - gtu33*khalf*PDstandardNth33gt22 + Gt212*gt22L*Xt1L + - Gt112*(2*Gt111*gt12L*gtu11 + 4*gt12L*Gt212*gtu11 + 2*gt11L*Gt122*gtu12 - + 2*gt11L*Gt123*gtu13 + 2*Gt122*gt12L*gtu22 + 2*Gt123*gt12L*gtu23 + - gt12L*Xt1L) + Gt312*(2*Gt213*gt22L*gtu11 + 4*Gt212*gt23L*gtu11 + - 2*gt23L*Gt313*gtu11 + 2*Gt123*gt12L*gtu12 + 2*gt12L*Gt133*gtu13 + - 2*gt22L*Gt233*gtu13 + 4*Gt223*gt23L*gtu13 + 2*Gt122*gt23L*gtu22 + - 2*Gt123*gt23L*gtu23 + gt23L*Xt1L) + Gt122*gt12L*Xt2L + Gt222*gt22L*Xt2L - + gt23L*Gt322*Xt2L + Gt123*gt12L*Xt3L + Gt223*gt22L*Xt3L + - gt23L*Gt323*Xt3L + gt11L*gtu11*SQR(Gt112) + 2*(Gt112*Gt211*gt22L*gtu11 - + Gt112*gt23L*Gt311*gtu11 + Gt113*gt12L*Gt312*gtu11 + - Gt112*gt13L*Gt312*gtu11 + Gt111*Gt122*gt12L*gtu12 + - Gt122*Gt211*gt22L*gtu12 + Gt112*Gt212*gt22L*gtu12 + - Gt223*gt22L*Gt312*gtu12 + Gt112*gt23L*Gt312*gtu12 + - Gt112*gt13L*Gt322*gtu12 + Gt213*gt22L*Gt322*gtu12 + - Gt112*Gt113*gt12L*gtu13 + Gt123*Gt211*gt22L*gtu13 + - Gt112*Gt213*gt22L*gtu13 + Gt112*gt13L*Gt323*gtu13 + - Gt213*gt22L*Gt323*gtu13 + Gt122*Gt212*gt22L*gtu22 + - Gt122*gt13L*Gt322*gtu22 + Gt223*gt22L*Gt322*gtu22 + - gt23L*Gt322*Gt323*gtu22 + gt11L*Gt122*Gt123*gtu23 + - Gt123*gt13L*Gt322*gtu23 + gt22L*Gt233*Gt322*gtu23 + - Gt122*gt13L*Gt323*gtu23 + Gt223*gt22L*Gt323*gtu23 + - gt12L*Gt133*Gt323*gtu33 + Gt123*gt13L*Gt323*gtu33 + - gt22L*Gt233*Gt323*gtu33 + gt12L*gtu12*SQR(Gt112)) + - gt11L*gtu22*SQR(Gt122) + gt11L*gtu33*SQR(Gt123) + - 3*gt22L*gtu11*SQR(Gt212) + 3*gt22L*gtu22*SQR(Gt222) + - 3*gt22L*gtu33*SQR(Gt223) + gt33L*gtu11*SQR(Gt312) + - gt33L*gtu22*SQR(Gt322) + 2*gt23L*gtu23*SQR(Gt323) + - gt33L*gtu33*SQR(Gt323); - - CCTK_REAL Rt23 = khalf*(-(gtu11*PDstandardNth11gt23) - + gt13L*PDstandardNth3Xt3 + Gtl113*Xtn1 + Gtl311*Xtn1 + Gtl123*Xtn2 + + Gtl312*Xtn2 + Gtl133*Xtn3 + Gtl313*Xtn3); + + CCTK_REAL Rt22 = Gt112*(Gtlu121 + 2*Gtlu211) + Gt122*(Gtlu122 + + 2*Gtlu212) + Gt123*(Gtlu123 + 2*Gtlu213) + 3*(Gt212*Gtlu221 + + Gt222*Gtlu222 + Gt223*Gtlu223) + 2*(Gt312*Gtlu231 + Gt322*Gtlu232 + + Gt323*Gtlu233) + Gt312*Gtlu321 + Gt322*Gtlu322 + Gt323*Gtlu323 + + gt12L*PDstandardNth2Xt1 + gt22L*PDstandardNth2Xt2 + + gt23L*PDstandardNth2Xt3 + khalf*(-(gtu11*PDstandardNth11gt22) - + 2*gtu12*PDstandardNth12gt22 - 2*gtu13*PDstandardNth13gt22 - + gtu22*PDstandardNth22gt22 - 2*gtu23*PDstandardNth23gt22 - + gtu33*PDstandardNth33gt22) + Gtl212*Xtn1 + Gtl222*Xtn2 + Gtl223*Xtn3; + + CCTK_REAL Rt23 = khalf*(2*(Gt112*Gtlu131 + Gt122*Gtlu132 + + Gt123*Gtlu133 + Gt113*Gtlu211 + Gt123*Gtlu212 + Gt133*Gtlu213 + + Gt213*Gtlu221 + Gt223*Gtlu222 + Gt233*Gtlu223 + Gt212*Gtlu231 + + Gt313*Gtlu231 + Gt222*Gtlu232 + Gt323*Gtlu232 + Gt223*Gtlu233 + + Gt333*Gtlu233 + Gt112*Gtlu311 + Gt122*Gtlu312 + Gt123*Gtlu313 + + Gt212*Gtlu321 + Gt222*Gtlu322 + Gt223*Gtlu323) + 4*(Gt312*Gtlu331 + + Gt322*Gtlu332 + Gt323*Gtlu333) - gtu11*PDstandardNth11gt23 - 2*gtu12*PDstandardNth12gt23 - 2*gtu13*PDstandardNth13gt23 - gtu22*PDstandardNth22gt23 - 2*gtu23*PDstandardNth23gt23 + gt13L*PDstandardNth2Xt1 + gt23L*PDstandardNth2Xt2 + gt33L*PDstandardNth2Xt3 - gtu33*PDstandardNth33gt23 + gt12L*PDstandardNth3Xt1 + gt22L*PDstandardNth3Xt2 + - gt23L*PDstandardNth3Xt3 + (Gt113*gt12L + Gt213*gt22L + - gt23L*Gt313)*Xt1L + (Gt112*gt13L + Gt212*gt23L + Gt312*gt33L)*Xt1L + - (Gt123*gt12L + Gt223*gt22L + gt23L*Gt323)*Xt2L + (Gt122*gt13L + - Gt222*gt23L + Gt322*gt33L)*Xt2L + (gt12L*Gt133 + gt22L*Gt233 + - gt23L*Gt333)*Xt3L + (Gt123*gt13L + Gt223*gt23L + Gt323*gt33L)*Xt3L + - 2*((Gt112*gt11L*Gt123 + Gt111*Gt123*gt12L + Gt111*Gt122*gt13L + - Gt123*gt12L*Gt212 + Gt112*gt13L*Gt222 + 2*Gt112*gt12L*Gt223 + - Gt123*Gt211*gt22L + 2*Gt212*Gt223*gt22L + Gt122*Gt211*gt23L + - Gt212*Gt222*gt23L + Gt123*gt23L*Gt311 + Gt123*gt13L*Gt312 + - 2*Gt223*gt23L*Gt312 + Gt113*gt13L*Gt322 + Gt213*gt23L*Gt322 + - Gt113*gt12L*Gt323 + Gt112*gt13L*Gt323 + Gt213*gt22L*Gt323 + - Gt212*gt23L*Gt323 + gt23L*Gt313*Gt323 + Gt122*Gt311*gt33L + - Gt222*Gt312*gt33L + Gt313*Gt322*gt33L + Gt312*Gt323*gt33L)*gtu12 + - (Gt112*gt11L*Gt133 + Gt111*gt12L*Gt133 + Gt111*Gt123*gt13L + - gt12L*Gt133*Gt212 + Gt112*gt13L*Gt223 + Gt133*Gt211*gt22L + - 2*Gt112*gt12L*Gt233 + 2*Gt212*gt22L*Gt233 + Gt123*Gt211*gt23L + - Gt212*Gt223*gt23L + Gt133*gt23L*Gt311 + Gt133*gt13L*Gt312 + - 2*Gt233*gt23L*Gt312 + Gt113*gt13L*Gt323 + Gt213*gt23L*Gt323 + - Gt113*gt12L*Gt333 + Gt112*gt13L*Gt333 + Gt213*gt22L*Gt333 + - Gt212*gt23L*Gt333 + gt23L*Gt313*Gt333 + Gt123*Gt311*gt33L + - Gt223*Gt312*gt33L + Gt313*Gt323*gt33L + Gt312*Gt333*gt33L)*gtu13 + - gtu12*(Gt113*gt11L*Gt122 + Gt122*gt13L*Gt212 + 2*Gt122*gt12L*Gt213 + - Gt113*gt12L*Gt222 + Gt113*Gt212*gt22L + 2*Gt213*Gt222*gt22L + - Gt212*Gt222*gt23L + Gt123*gt13L*Gt312 + Gt113*gt23L*Gt312 + - Gt223*gt23L*Gt312 + Gt123*gt12L*Gt313 + Gt122*gt13L*Gt313 + - Gt223*gt22L*Gt313 + Gt222*gt23L*Gt313 + Gt113*gt13L*Gt322 + - 2*Gt213*gt23L*Gt322 + gt23L*Gt313*Gt323 + Gt212*Gt322*gt33L + - Gt313*Gt322*gt33L + Gt312*Gt323*gt33L + Gt112*(Gt113*gt12L + - Gt212*gt23L + Gt312*gt33L) + gt13L*SQR(Gt112))) + - 2*gtu13*(2*Gt213*Gt223*gt22L + Gt112*Gt213*gt23L + Gt212*Gt223*gt23L + - Gt133*gt13L*Gt312 + Gt233*gt23L*Gt312 + gt12L*Gt133*Gt313 + - gt22L*Gt233*Gt313 + Gt223*gt23L*Gt313 + Gt123*(2*gt12L*Gt213 + - gt13L*(Gt212 + Gt313)) + 2*Gt213*gt23L*Gt323 + Gt113*(gt11L*Gt123 + - Gt112*gt13L + gt12L*Gt223 + Gt213*gt22L + gt23L*Gt313 + gt13L*Gt323) + - gt23L*Gt313*Gt333 + Gt112*Gt313*gt33L + Gt212*Gt323*gt33L + - Gt313*Gt323*gt33L + Gt312*Gt333*gt33L + gt12L*SQR(Gt113)) + - 2*gtu11*(Gt112*Gt113*gt11L + Gt111*Gt113*gt12L + Gt111*Gt112*gt13L + - Gt113*gt12L*Gt212 + Gt112*gt13L*Gt212 + 2*Gt112*gt12L*Gt213 + - Gt113*Gt211*gt22L + 2*Gt212*Gt213*gt22L + Gt112*Gt211*gt23L + - Gt113*gt23L*Gt311 + 2*Gt113*gt13L*Gt312 + 3*Gt213*gt23L*Gt312 + - Gt113*gt12L*Gt313 + Gt112*gt13L*Gt313 + Gt213*gt22L*Gt313 + - Gt212*gt23L*Gt313 + Gt112*Gt311*gt33L + Gt212*Gt312*gt33L + - 2*Gt312*Gt313*gt33L + gt23L*SQR(Gt212) + gt23L*SQR(Gt313)) + - 2*gtu22*(gt11L*Gt122*Gt123 + Gt112*Gt123*gt12L + Gt112*Gt122*gt13L + - Gt123*gt12L*Gt222 + Gt122*gt13L*Gt222 + 2*Gt122*gt12L*Gt223 + - Gt123*Gt212*gt22L + 2*Gt222*Gt223*gt22L + Gt122*Gt212*gt23L + - Gt123*gt23L*Gt312 + 2*Gt123*gt13L*Gt322 + 3*Gt223*gt23L*Gt322 + - Gt123*gt12L*Gt323 + Gt122*gt13L*Gt323 + Gt223*gt22L*Gt323 + - Gt222*gt23L*Gt323 + Gt122*Gt312*gt33L + Gt222*Gt322*gt33L + - 2*Gt322*Gt323*gt33L + gt23L*SQR(Gt222) + gt23L*SQR(Gt323)) + - 2*gtu23*(gt11L*Gt122*Gt133 + Gt112*gt12L*Gt133 + Gt112*Gt123*gt13L + - gt12L*Gt133*Gt222 + Gt122*gt13L*Gt223 + Gt133*Gt212*gt22L + - 2*Gt122*gt12L*Gt233 + 2*Gt222*gt22L*Gt233 + Gt123*Gt212*gt23L + - Gt222*Gt223*gt23L + Gt133*gt23L*Gt312 + Gt133*gt13L*Gt322 + - 2*Gt233*gt23L*Gt322 + Gt123*gt13L*Gt323 + Gt223*gt23L*Gt323 + - Gt123*gt12L*Gt333 + Gt122*gt13L*Gt333 + Gt223*gt22L*Gt333 + - Gt222*gt23L*Gt333 + gt23L*Gt323*Gt333 + Gt123*Gt312*gt33L + - Gt223*Gt322*gt33L + Gt322*Gt333*gt33L + gt33L*SQR(Gt323)) + - 2*gtu23*(Gt113*Gt123*gt12L + Gt113*Gt122*gt13L + Gt123*gt13L*Gt222 + - 3*Gt123*gt12L*Gt223 + Gt123*Gt213*gt22L + Gt122*Gt213*gt23L + - Gt222*Gt223*gt23L + Gt123*gt23L*Gt313 + Gt133*gt13L*Gt322 + - Gt233*gt23L*Gt322 + gt12L*Gt133*Gt323 + 2*Gt123*gt13L*Gt323 + - gt22L*Gt233*Gt323 + 3*Gt223*gt23L*Gt323 + gt23L*Gt323*Gt333 + - Gt122*Gt313*gt33L + Gt222*Gt323*gt33L + Gt322*Gt333*gt33L + - gt11L*SQR(Gt123) + 2*gt22L*SQR(Gt223) + gt33L*SQR(Gt323)) + - 2*gtu33*(gt11L*Gt123*Gt133 + Gt113*gt12L*Gt133 + Gt113*Gt123*gt13L + - gt12L*Gt133*Gt223 + Gt123*gt13L*Gt223 + Gt133*Gt213*gt22L + - 2*Gt123*gt12L*Gt233 + 2*Gt223*gt22L*Gt233 + Gt123*Gt213*gt23L + - Gt133*gt23L*Gt313 + 2*Gt133*gt13L*Gt323 + 3*Gt233*gt23L*Gt323 + - gt12L*Gt133*Gt333 + Gt123*gt13L*Gt333 + gt22L*Gt233*Gt333 + - Gt223*gt23L*Gt333 + Gt123*Gt313*gt33L + Gt223*Gt323*gt33L + - 2*Gt323*Gt333*gt33L + gt23L*SQR(Gt223) + gt23L*SQR(Gt333))); - - CCTK_REAL Rt33 = 4*(Gt133*gt13L*Gt313*gtu13 + Gt233*gt23L*Gt313*gtu13 - + Gt113*gt13L*Gt333*gtu13 + Gt213*gt23L*Gt333*gtu13 + - Gt123*gt13L*Gt323*gtu22 + Gt133*gt13L*Gt323*gtu23 + - Gt123*gt13L*Gt333*gtu23 + Gt223*gt23L*Gt333*gtu23 + - Gt133*gt13L*Gt333*gtu33) + gtu12*(2*Gt212*Gt223*gt23L + - 4*Gt123*gt13L*Gt313 + 4*Gt223*gt23L*Gt313 + 4*Gt113*gt13L*Gt323 + - 4*Gt213*gt23L*Gt323 + 2*Gt123*Gt311*gt33L - PDstandardNth12gt33) - - gtu13*PDstandardNth13gt33 - gtu22*khalf*PDstandardNth22gt33 - - gtu23*PDstandardNth23gt33 - gtu33*khalf*PDstandardNth33gt33 + + gt23L*PDstandardNth3Xt3 + Gtl213*Xtn1 + Gtl312*Xtn1 + Gtl223*Xtn2 + + Gtl322*Xtn2 + Gtl233*Xtn3 + Gtl323*Xtn3); + + CCTK_REAL Rt33 = Gt113*(Gtlu131 + 2*Gtlu311) + Gt123*(Gtlu132 + + 2*Gtlu312) + Gt133*(Gtlu133 + 2*Gtlu313) + Gt213*(Gtlu231 + 2*Gtlu321) + + Gt223*(Gtlu232 + 2*Gtlu322) + Gt233*(Gtlu233 + 2*Gtlu323) + + 3*(Gt313*Gtlu331 + Gt323*Gtlu332 + Gt333*Gtlu333) + + khalf*(-(gtu11*PDstandardNth11gt33) - 2*gtu12*PDstandardNth12gt33 - + 2*gtu13*PDstandardNth13gt33 - gtu22*PDstandardNth22gt33 - + 2*gtu23*PDstandardNth23gt33 - gtu33*PDstandardNth33gt33) + gt13L*PDstandardNth3Xt1 + gt23L*PDstandardNth3Xt2 + - gt33L*(2*Gt213*Gt322*gtu12 + 6*Gt313*Gt323*gtu12 + 2*Gt133*Gt311*gtu13 - + 2*Gt213*Gt323*gtu13 + 6*Gt313*Gt333*gtu13 + 2*Gt123*Gt312*gtu22 + - 2*Gt133*Gt312*gtu23 + 2*Gt133*Gt313*gtu33 + PDstandardNth3Xt3) + - Gt113*gt13L*Xt1L + Gt213*gt23L*Xt1L + Gt313*gt33L*Xt1L + - Gt123*gt13L*Xt2L + Gt223*(4*gt23L*Gt323*gtu22 + 2*Gt322*gt33L*gtu22 + - 2*gt12L*Gt133*gtu23 + 2*Gt233*gt23L*gtu33 + gt23L*Xt2L) + - Gt323*(2*Gt223*gt33L*gtu23 + 6*Gt333*gt33L*gtu23 + 2*Gt233*gt33L*gtu33 - + gt33L*Xt2L) + Gt133*gt13L*Xt3L + Gt333*gt33L*Xt3L + - Gt233*(2*Gt222*gt23L*gtu23 + 4*gt23L*Gt323*gtu23 + 2*gt12L*Gt133*gtu33 - + 4*gt23L*Gt333*gtu33 + gt23L*Xt3L) + gtu11*(2*Gt212*Gt213*gt23L + - 4*Gt113*gt13L*Gt313 + 4*Gt213*gt23L*Gt313 + 2*Gt113*Gt311*gt33L + - 2*Gt213*Gt312*gt33L - khalf*PDstandardNth11gt33 + gt11L*SQR(Gt113)) + - 2*(Gt111*Gt113*gt13L*gtu11 + Gt113*gt12L*Gt213*gtu11 + - Gt112*gt13L*Gt213*gtu11 + Gt113*Gt211*gt23L*gtu11 + - Gt113*gt11L*Gt123*gtu12 + Gt112*Gt113*gt13L*gtu12 + - Gt111*Gt123*gt13L*gtu12 + Gt123*gt12L*Gt213*gtu12 + - Gt122*gt13L*Gt213*gtu12 + Gt113*gt12L*Gt223*gtu12 + - Gt112*gt13L*Gt223*gtu12 + Gt213*Gt223*gt22L*gtu12 + - Gt123*Gt211*gt23L*gtu12 + Gt113*Gt212*gt23L*gtu12 + - Gt213*Gt222*gt23L*gtu12 + Gt113*Gt312*gt33L*gtu12 + - Gt223*Gt312*gt33L*gtu12 + Gt113*gt11L*Gt133*gtu13 + - Gt111*Gt133*gt13L*gtu13 + gt12L*Gt133*Gt213*gtu13 + - Gt123*gt13L*Gt213*gtu13 + Gt113*gt12L*Gt233*gtu13 + - Gt112*gt13L*Gt233*gtu13 + Gt213*gt22L*Gt233*gtu13 + - Gt133*Gt211*gt23L*gtu13 + Gt113*Gt213*gt23L*gtu13 + - Gt213*Gt223*gt23L*gtu13 + Gt212*Gt233*gt23L*gtu13 + - Gt233*Gt312*gt33L*gtu13 + Gt113*Gt313*gt33L*gtu13 + - Gt112*Gt123*gt13L*gtu22 + Gt123*gt12L*Gt223*gtu22 + - Gt122*gt13L*Gt223*gtu22 + Gt123*Gt212*gt23L*gtu22 + - Gt222*Gt223*gt23L*gtu22 + gt11L*Gt123*Gt133*gtu23 + - Gt113*Gt123*gt13L*gtu23 + Gt112*Gt133*gt13L*gtu23 + - Gt123*gt13L*Gt223*gtu23 + Gt123*gt12L*Gt233*gtu23 + - Gt122*gt13L*Gt233*gtu23 + Gt223*gt22L*Gt233*gtu23 + - Gt133*Gt212*gt23L*gtu23 + Gt123*Gt213*gt23L*gtu23 + - Gt123*Gt313*gt33L*gtu23 + Gt233*Gt322*gt33L*gtu23 + - Gt113*Gt133*gt13L*gtu33 + Gt123*gt13L*Gt233*gtu33 + - Gt133*Gt213*gt23L*gtu33 + gt13L*gtu13*SQR(Gt113)) + - gt11L*gtu22*SQR(Gt123) + gt11L*gtu33*SQR(Gt133) + - gt22L*gtu11*SQR(Gt213) + gt22L*gtu22*SQR(Gt223) + - 2*gt23L*gtu23*SQR(Gt223) + gt22L*gtu33*SQR(Gt233) + - 3*gt33L*gtu11*SQR(Gt313) + 3*gt33L*gtu22*SQR(Gt323) + - 3*gt33L*gtu33*SQR(Gt333); + gt33L*PDstandardNth3Xt3 + Gtl313*Xtn1 + Gtl323*Xtn2 + Gtl333*Xtn3; CCTK_REAL fac1 = IfThen(conformalMethod,-(khalf*INV(phiL)),1); @@ -887,23 +639,8 @@ void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int const dir, SQR(Atm22) + SQR(Atm33)) + 0.6666666666666666666666666666666666666667*SQR(trKL); - CCTK_REAL cSL = Log(detgt); - - CCTK_REAL cXt1L = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu12 + - Gt113*gtu13 + Gt123*gtu23) + Gt133*gtu33 - Xt1L; - - CCTK_REAL cXt2L = Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu12 + - Gt213*gtu13 + Gt223*gtu23) + Gt233*gtu33 - Xt2L; - - CCTK_REAL cXt3L = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu12 + - Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33 - Xt3L; - /* Copy local copies back to grid functions */ - cS[index] = cSL; - cXt1[index] = cXt1L; - cXt2[index] = cXt2L; - cXt3[index] = cXt3L; H[index] = HL; } LC_ENDLOOP3 (ML_BSSN_constraints1); diff --git a/ML_BSSN/src/ML_BSSN_constraints2.c b/ML_BSSN/src/ML_BSSN_constraints2.c index dd6174c..a9d2d52 100644 --- a/ML_BSSN/src/ML_BSSN_constraints2.c +++ b/ML_BSSN/src/ML_BSSN_constraints2.c @@ -26,6 +26,12 @@ void ML_BSSN_constraints2_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_PARAMETERS; CCTK_INT ierr = 0; + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_cons_detg","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_cons_detg."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_cons_Gamma","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_cons_Gamma."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_cons_traceA","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_cons_traceA."); @@ -53,9 +59,6 @@ void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int const dir, return; } - const char *groups[] = {"ML_BSSN::ML_cons_traceA","ML_BSSN::ML_curv","ML_BSSN::ML_lapse","ML_BSSN::ML_log_confac","ML_BSSN::ML_metric","ML_BSSN::ML_mom","ML_BSSN::ML_shift","ML_BSSN::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_constraints2", 8, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -177,6 +180,9 @@ void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL gt33L = gt33[index]; CCTK_REAL phiL = phi[index]; CCTK_REAL trKL = trK[index]; + CCTK_REAL Xt1L = Xt1[index]; + CCTK_REAL Xt2L = Xt2[index]; + CCTK_REAL Xt3L = Xt3[index]; /* Include user supplied include files */ @@ -239,77 +245,80 @@ void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L)); - CCTK_REAL Gt111 = khalf*(gtu11*PDstandardNth1gt11 + - 2*(gtu12*PDstandardNth1gt12 + gtu13*PDstandardNth1gt13) - - gtu12*PDstandardNth2gt11 - gtu13*PDstandardNth3gt11); + CCTK_REAL Gtl111 = khalf*PDstandardNth1gt11; + + CCTK_REAL Gtl112 = khalf*PDstandardNth2gt11; + + CCTK_REAL Gtl113 = khalf*PDstandardNth3gt11; + + CCTK_REAL Gtl122 = -(khalf*PDstandardNth1gt22) + PDstandardNth2gt12; + + CCTK_REAL Gtl123 = khalf*(-PDstandardNth1gt23 + PDstandardNth2gt13 + + PDstandardNth3gt12); + + CCTK_REAL Gtl133 = -(khalf*PDstandardNth1gt33) + PDstandardNth3gt13; + + CCTK_REAL Gtl211 = PDstandardNth1gt12 - khalf*PDstandardNth2gt11; + + CCTK_REAL Gtl212 = khalf*PDstandardNth1gt22; + + CCTK_REAL Gtl213 = khalf*(PDstandardNth1gt23 - PDstandardNth2gt13 + + PDstandardNth3gt12); + + CCTK_REAL Gtl222 = khalf*PDstandardNth2gt22; + + CCTK_REAL Gtl223 = khalf*PDstandardNth3gt22; - CCTK_REAL Gt211 = khalf*(gtu12*PDstandardNth1gt11 + - 2*(gtu22*PDstandardNth1gt12 + gtu23*PDstandardNth1gt13) - - gtu22*PDstandardNth2gt11 - gtu23*PDstandardNth3gt11); + CCTK_REAL Gtl233 = -(khalf*PDstandardNth2gt33) + PDstandardNth3gt23; - CCTK_REAL Gt311 = khalf*(gtu13*PDstandardNth1gt11 + - 2*(gtu23*PDstandardNth1gt12 + gtu33*PDstandardNth1gt13) - - gtu23*PDstandardNth2gt11 - gtu33*PDstandardNth3gt11); + CCTK_REAL Gtl311 = PDstandardNth1gt13 - khalf*PDstandardNth3gt11; - CCTK_REAL Gt112 = khalf*(gtu12*PDstandardNth1gt22 + - gtu11*PDstandardNth2gt11 + gtu13*(PDstandardNth1gt23 + - PDstandardNth2gt13 - PDstandardNth3gt12)); + CCTK_REAL Gtl312 = khalf*(PDstandardNth1gt23 + PDstandardNth2gt13 - + PDstandardNth3gt12); - CCTK_REAL Gt212 = khalf*(gtu22*PDstandardNth1gt22 + - gtu12*PDstandardNth2gt11 + gtu23*(PDstandardNth1gt23 + - PDstandardNth2gt13 - PDstandardNth3gt12)); + CCTK_REAL Gtl313 = khalf*PDstandardNth1gt33; - CCTK_REAL Gt312 = khalf*(gtu23*PDstandardNth1gt22 + - gtu13*PDstandardNth2gt11 + gtu33*(PDstandardNth1gt23 + - PDstandardNth2gt13 - PDstandardNth3gt12)); + CCTK_REAL Gtl322 = PDstandardNth2gt23 - khalf*PDstandardNth3gt22; - CCTK_REAL Gt113 = khalf*(gtu13*PDstandardNth1gt33 + - gtu11*PDstandardNth3gt11 + gtu12*(PDstandardNth1gt23 - - PDstandardNth2gt13 + PDstandardNth3gt12)); + CCTK_REAL Gtl323 = khalf*PDstandardNth2gt33; - CCTK_REAL Gt213 = khalf*(gtu23*PDstandardNth1gt33 + - gtu12*PDstandardNth3gt11 + gtu22*(PDstandardNth1gt23 - - PDstandardNth2gt13 + PDstandardNth3gt12)); + CCTK_REAL Gtl333 = khalf*PDstandardNth3gt33; - CCTK_REAL Gt313 = khalf*(gtu33*PDstandardNth1gt33 + - gtu13*PDstandardNth3gt11 + gtu23*(PDstandardNth1gt23 - - PDstandardNth2gt13 + PDstandardNth3gt12)); + CCTK_REAL Gt111 = Gtl111*gtu11 + Gtl211*gtu12 + Gtl311*gtu13; - CCTK_REAL Gt122 = khalf*(gtu11*(-PDstandardNth1gt22 + - 2*PDstandardNth2gt12) + gtu12*PDstandardNth2gt22 + - gtu13*(2*PDstandardNth2gt23 - PDstandardNth3gt22)); + CCTK_REAL Gt211 = Gtl111*gtu12 + Gtl211*gtu22 + Gtl311*gtu23; - CCTK_REAL Gt222 = khalf*(gtu12*(-PDstandardNth1gt22 + - 2*PDstandardNth2gt12) + gtu22*PDstandardNth2gt22 + - gtu23*(2*PDstandardNth2gt23 - PDstandardNth3gt22)); + CCTK_REAL Gt311 = Gtl111*gtu13 + Gtl211*gtu23 + Gtl311*gtu33; - CCTK_REAL Gt322 = khalf*(gtu13*(-PDstandardNth1gt22 + - 2*PDstandardNth2gt12) + gtu23*PDstandardNth2gt22 + - gtu33*(2*PDstandardNth2gt23 - PDstandardNth3gt22)); + CCTK_REAL Gt112 = Gtl112*gtu11 + Gtl212*gtu12 + Gtl312*gtu13; - CCTK_REAL Gt123 = khalf*(gtu13*PDstandardNth2gt33 + - gtu11*(-PDstandardNth1gt23 + PDstandardNth2gt13 + PDstandardNth3gt12) + - gtu12*PDstandardNth3gt22); + CCTK_REAL Gt212 = Gtl112*gtu12 + Gtl212*gtu22 + Gtl312*gtu23; - CCTK_REAL Gt223 = khalf*(gtu23*PDstandardNth2gt33 + - gtu12*(-PDstandardNth1gt23 + PDstandardNth2gt13 + PDstandardNth3gt12) + - gtu22*PDstandardNth3gt22); + CCTK_REAL Gt312 = Gtl112*gtu13 + Gtl212*gtu23 + Gtl312*gtu33; - CCTK_REAL Gt323 = khalf*(gtu33*PDstandardNth2gt33 + - gtu13*(-PDstandardNth1gt23 + PDstandardNth2gt13 + PDstandardNth3gt12) + - gtu23*PDstandardNth3gt22); + CCTK_REAL Gt113 = Gtl113*gtu11 + Gtl213*gtu12 + Gtl313*gtu13; - CCTK_REAL Gt133 = khalf*(-(gtu11*PDstandardNth1gt33) - - gtu12*PDstandardNth2gt33 + 2*gtu11*PDstandardNth3gt13 + - 2*gtu12*PDstandardNth3gt23 + gtu13*PDstandardNth3gt33); + CCTK_REAL Gt213 = Gtl113*gtu12 + Gtl213*gtu22 + Gtl313*gtu23; - CCTK_REAL Gt233 = khalf*(-(gtu12*PDstandardNth1gt33) - - gtu22*PDstandardNth2gt33 + 2*gtu12*PDstandardNth3gt13 + - 2*gtu22*PDstandardNth3gt23 + gtu23*PDstandardNth3gt33); + CCTK_REAL Gt313 = Gtl113*gtu13 + Gtl213*gtu23 + Gtl313*gtu33; - CCTK_REAL Gt333 = khalf*(-(gtu13*PDstandardNth1gt33) - - gtu23*PDstandardNth2gt33 + 2*gtu13*PDstandardNth3gt13 + - 2*gtu23*PDstandardNth3gt23 + gtu33*PDstandardNth3gt33); + CCTK_REAL Gt122 = Gtl122*gtu11 + Gtl222*gtu12 + Gtl322*gtu13; + + CCTK_REAL Gt222 = Gtl122*gtu12 + Gtl222*gtu22 + Gtl322*gtu23; + + CCTK_REAL Gt322 = Gtl122*gtu13 + Gtl222*gtu23 + Gtl322*gtu33; + + CCTK_REAL Gt123 = Gtl123*gtu11 + Gtl223*gtu12 + Gtl323*gtu13; + + CCTK_REAL Gt223 = Gtl123*gtu12 + Gtl223*gtu22 + Gtl323*gtu23; + + CCTK_REAL Gt323 = Gtl123*gtu13 + Gtl223*gtu23 + Gtl323*gtu33; + + CCTK_REAL Gt133 = Gtl133*gtu11 + Gtl233*gtu12 + Gtl333*gtu13; + + CCTK_REAL Gt233 = Gtl133*gtu12 + Gtl233*gtu22 + Gtl333*gtu23; + + CCTK_REAL Gt333 = Gtl133*gtu13 + Gtl233*gtu23 + Gtl333*gtu33; CCTK_REAL fac1 = IfThen(conformalMethod,-(khalf*INV(phiL)),1); @@ -383,12 +392,27 @@ void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int const dir, 0.6666666666666666666666666666666666666667*PDstandardNth3trK - 25.13274122871834590770114706623602307358*S3; + CCTK_REAL cSL = Log(detgt); + + CCTK_REAL cXt1L = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu12 + + Gt113*gtu13 + Gt123*gtu23) + Gt133*gtu33 - Xt1L; + + CCTK_REAL cXt2L = Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu12 + + Gt213*gtu13 + Gt223*gtu23) + Gt233*gtu33 - Xt2L; + + CCTK_REAL cXt3L = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu12 + + Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33 - Xt3L; + CCTK_REAL cAL = At11L*gtu11 + At22L*gtu22 + 2*(At12L*gtu12 + At13L*gtu13 + At23L*gtu23) + At33L*gtu33; /* Copy local copies back to grid functions */ cA[index] = cAL; + cS[index] = cSL; + cXt1[index] = cXt1L; + cXt2[index] = cXt2L; + cXt3[index] = cXt3L; M1[index] = M1L; M2[index] = M2L; M3[index] = M3L; diff --git a/ML_BSSN/src/ML_BSSN_convertFromADMBase.c b/ML_BSSN/src/ML_BSSN_convertFromADMBase.c index 91129d0..b0f0b93 100644 --- a/ML_BSSN/src/ML_BSSN_convertFromADMBase.c +++ b/ML_BSSN/src/ML_BSSN_convertFromADMBase.c @@ -38,9 +38,6 @@ void ML_BSSN_convertFromADMBase_Body(cGH const * restrict const cctkGH, int cons return; } - const char *groups[] = {"ADMBase::curv","ADMBase::lapse","ADMBase::metric","ADMBase::shift","ML_BSSN::ML_curv","ML_BSSN::ML_lapse","ML_BSSN::ML_log_confac","ML_BSSN::ML_metric","ML_BSSN::ML_shift","ML_BSSN::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_convertFromADMBase", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c b/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c index a8d3f99..05d2c3b 100644 --- a/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c +++ b/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c @@ -56,9 +56,6 @@ void ML_BSSN_convertFromADMBaseGamma_Body(cGH const * restrict const cctkGH, int return; } - const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","grid::coordinates","Grid::coordinates","ML_BSSN::ML_dtlapse","ML_BSSN::ML_dtshift","ML_BSSN::ML_Gamma","ML_BSSN::ML_lapse","ML_BSSN::ML_metric","ML_BSSN::ML_shift"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_convertFromADMBaseGamma", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN/src/ML_BSSN_convertToADMBase.c b/ML_BSSN/src/ML_BSSN_convertToADMBase.c index 9aac628..95058c1 100644 --- a/ML_BSSN/src/ML_BSSN_convertToADMBase.c +++ b/ML_BSSN/src/ML_BSSN_convertToADMBase.c @@ -38,9 +38,6 @@ void ML_BSSN_convertToADMBase_Body(cGH const * restrict const cctkGH, int const return; } - const char *groups[] = {"ADMBase::curv","ADMBase::lapse","ADMBase::metric","ADMBase::shift","ML_BSSN::ML_curv","ML_BSSN::ML_lapse","ML_BSSN::ML_log_confac","ML_BSSN::ML_metric","ML_BSSN::ML_shift","ML_BSSN::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_convertToADMBase", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShift.c b/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShift.c index 4122892..b8fe647 100644 --- a/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShift.c +++ b/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShift.c @@ -53,9 +53,6 @@ void ML_BSSN_convertToADMBaseDtLapseShift_Body(cGH const * restrict const cctkGH return; } - const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","grid::coordinates","Grid::coordinates","ML_BSSN::ML_dtlapse","ML_BSSN::ML_dtshift","ML_BSSN::ML_Gamma","ML_BSSN::ML_lapse","ML_BSSN::ML_shift","ML_BSSN::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_convertToADMBaseDtLapseShift", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShiftBoundary.c b/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShiftBoundary.c index 98d402c..72c6ff2 100644 --- a/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShiftBoundary.c +++ b/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShiftBoundary.c @@ -53,9 +53,6 @@ void ML_BSSN_convertToADMBaseDtLapseShiftBoundary_Body(cGH const * restrict cons return; } - const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","grid::coordinates","Grid::coordinates","ML_BSSN::ML_dtlapse","ML_BSSN::ML_dtshift","ML_BSSN::ML_Gamma","ML_BSSN::ML_lapse","ML_BSSN::ML_shift","ML_BSSN::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_convertToADMBaseDtLapseShiftBoundary", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN/src/ML_BSSN_convertToADMBaseFakeDtLapseShift.c b/ML_BSSN/src/ML_BSSN_convertToADMBaseFakeDtLapseShift.c index d4a0c76..e2d008c 100644 --- a/ML_BSSN/src/ML_BSSN_convertToADMBaseFakeDtLapseShift.c +++ b/ML_BSSN/src/ML_BSSN_convertToADMBaseFakeDtLapseShift.c @@ -38,9 +38,6 @@ void ML_BSSN_convertToADMBaseFakeDtLapseShift_Body(cGH const * restrict const cc return; } - const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","grid::coordinates","Grid::coordinates","ML_BSSN::ML_dtlapse","ML_BSSN::ML_dtshift","ML_BSSN::ML_Gamma","ML_BSSN::ML_lapse","ML_BSSN::ML_shift","ML_BSSN::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_convertToADMBaseFakeDtLapseShift", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN/src/ML_BSSN_enforce.c b/ML_BSSN/src/ML_BSSN_enforce.c index 0e7b581..d8b0d21 100644 --- a/ML_BSSN/src/ML_BSSN_enforce.c +++ b/ML_BSSN/src/ML_BSSN_enforce.c @@ -38,9 +38,6 @@ void ML_BSSN_enforce_Body(cGH const * restrict const cctkGH, int const dir, int return; } - const char *groups[] = {"ML_BSSN::ML_curv","ML_BSSN::ML_lapse","ML_BSSN::ML_metric"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_enforce", 3, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_Helper/schedule.ccl b/ML_BSSN_Helper/schedule.ccl index 15ad760..ac73898 100644 --- a/ML_BSSN_Helper/schedule.ccl +++ b/ML_BSSN_Helper/schedule.ccl @@ -139,15 +139,15 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN")) { } else if (CCTK_EQUALS (calculate_ADMBase_variables_at, "CCTK_ANALYSIS")) { + SCHEDULE GROUP ML_BSSN_convertToADMBaseGroupWrapper AT post_recover_variables + { + } "Calculate ADM variables" + SCHEDULE GROUP ML_BSSN_convertToADMBaseGroupWrapper AT analysis BEFORE (ADMBase_SetADMVars Whisky_PostStep) { } "Calculate ADM variables" } - SCHEDULE GROUP ML_BSSN_convertToADMBaseGroupWrapper AT post_recover_variables - { - } "Calculate ADM variables" - SCHEDULE ML_BSSN_SelectBCsADMBase IN ML_BSSN_convertToADMBaseGroupWrapper AFTER ML_BSSN_convertToADMBaseGroup { LANG: C diff --git a/ML_BSSN_MP/param.ccl b/ML_BSSN_MP/param.ccl index 4cebbe6..9dfaf57 100644 --- a/ML_BSSN_MP/param.ccl +++ b/ML_BSSN_MP/param.ccl @@ -37,11 +37,6 @@ EXTENDS CCTK_KEYWORD dtshift_evolution_method "dtshift_evolution_method" shares: GenericFD -USES CCTK_INT stencil_width -USES CCTK_INT stencil_width_x -USES CCTK_INT stencil_width_y -USES CCTK_INT stencil_width_z -USES CCTK_INT boundary_width shares: MethodOfLines @@ -49,7 +44,7 @@ shares: MethodOfLines USES CCTK_INT MoL_Num_Evolved_Vars restricted: -CCTK_INT verbose "verbose" +CCTK_INT verbose "verbose" STEERABLE=ALWAYS { *:* :: "" } 0 @@ -195,193 +190,193 @@ KEYWORD dt_lapse_shift_method "Treatment of ADMBase dtlapse and dtshift" } "correct" restricted: -CCTK_INT ML_BSSN_MP_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars +CCTK_INT ML_BSSN_MP_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars STEERABLE=RECOVER { 25:25 :: "Number of evolved variables used by this thorn" } 25 restricted: -CCTK_INT timelevels "Number of active timelevels" +CCTK_INT timelevels "Number of active timelevels" STEERABLE=RECOVER { 0:3 :: "" } 3 restricted: -CCTK_INT rhs_timelevels "Number of active RHS timelevels" +CCTK_INT rhs_timelevels "Number of active RHS timelevels" STEERABLE=RECOVER { 0:3 :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_Minkowski_calc_every "ML_BSSN_MP_Minkowski_calc_every" +CCTK_INT ML_BSSN_MP_Minkowski_calc_every "ML_BSSN_MP_Minkowski_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_convertFromADMBase_calc_every "ML_BSSN_MP_convertFromADMBase_calc_every" +CCTK_INT ML_BSSN_MP_convertFromADMBase_calc_every "ML_BSSN_MP_convertFromADMBase_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_convertFromADMBaseGamma_calc_every "ML_BSSN_MP_convertFromADMBaseGamma_calc_every" +CCTK_INT ML_BSSN_MP_convertFromADMBaseGamma_calc_every "ML_BSSN_MP_convertFromADMBaseGamma_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_RHS1_calc_every "ML_BSSN_MP_RHS1_calc_every" +CCTK_INT ML_BSSN_MP_RHS1_calc_every "ML_BSSN_MP_RHS1_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_RHS2_calc_every "ML_BSSN_MP_RHS2_calc_every" +CCTK_INT ML_BSSN_MP_RHS2_calc_every "ML_BSSN_MP_RHS2_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_RHSStaticBoundary_calc_every "ML_BSSN_MP_RHSStaticBoundary_calc_every" +CCTK_INT ML_BSSN_MP_RHSStaticBoundary_calc_every "ML_BSSN_MP_RHSStaticBoundary_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_enforce_calc_every "ML_BSSN_MP_enforce_calc_every" +CCTK_INT ML_BSSN_MP_enforce_calc_every "ML_BSSN_MP_enforce_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_boundary_calc_every "ML_BSSN_MP_boundary_calc_every" +CCTK_INT ML_BSSN_MP_boundary_calc_every "ML_BSSN_MP_boundary_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_convertToADMBase_calc_every "ML_BSSN_MP_convertToADMBase_calc_every" +CCTK_INT ML_BSSN_MP_convertToADMBase_calc_every "ML_BSSN_MP_convertToADMBase_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_convertToADMBaseDtLapseShift_calc_every "ML_BSSN_MP_convertToADMBaseDtLapseShift_calc_every" +CCTK_INT ML_BSSN_MP_convertToADMBaseDtLapseShift_calc_every "ML_BSSN_MP_convertToADMBaseDtLapseShift_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_convertToADMBaseDtLapseShiftBoundary_calc_every "ML_BSSN_MP_convertToADMBaseDtLapseShiftBoundary_calc_every" +CCTK_INT ML_BSSN_MP_convertToADMBaseDtLapseShiftBoundary_calc_every "ML_BSSN_MP_convertToADMBaseDtLapseShiftBoundary_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_convertToADMBaseFakeDtLapseShift_calc_every "ML_BSSN_MP_convertToADMBaseFakeDtLapseShift_calc_every" +CCTK_INT ML_BSSN_MP_convertToADMBaseFakeDtLapseShift_calc_every "ML_BSSN_MP_convertToADMBaseFakeDtLapseShift_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_constraints1_calc_every "ML_BSSN_MP_constraints1_calc_every" +CCTK_INT ML_BSSN_MP_constraints1_calc_every "ML_BSSN_MP_constraints1_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_constraints2_calc_every "ML_BSSN_MP_constraints2_calc_every" +CCTK_INT ML_BSSN_MP_constraints2_calc_every "ML_BSSN_MP_constraints2_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_Minkowski_calc_offset "ML_BSSN_MP_Minkowski_calc_offset" +CCTK_INT ML_BSSN_MP_Minkowski_calc_offset "ML_BSSN_MP_Minkowski_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_MP_convertFromADMBase_calc_offset "ML_BSSN_MP_convertFromADMBase_calc_offset" +CCTK_INT ML_BSSN_MP_convertFromADMBase_calc_offset "ML_BSSN_MP_convertFromADMBase_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_MP_convertFromADMBaseGamma_calc_offset "ML_BSSN_MP_convertFromADMBaseGamma_calc_offset" +CCTK_INT ML_BSSN_MP_convertFromADMBaseGamma_calc_offset "ML_BSSN_MP_convertFromADMBaseGamma_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_MP_RHS1_calc_offset "ML_BSSN_MP_RHS1_calc_offset" +CCTK_INT ML_BSSN_MP_RHS1_calc_offset "ML_BSSN_MP_RHS1_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_MP_RHS2_calc_offset "ML_BSSN_MP_RHS2_calc_offset" +CCTK_INT ML_BSSN_MP_RHS2_calc_offset "ML_BSSN_MP_RHS2_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_MP_RHSStaticBoundary_calc_offset "ML_BSSN_MP_RHSStaticBoundary_calc_offset" +CCTK_INT ML_BSSN_MP_RHSStaticBoundary_calc_offset "ML_BSSN_MP_RHSStaticBoundary_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_MP_enforce_calc_offset "ML_BSSN_MP_enforce_calc_offset" +CCTK_INT ML_BSSN_MP_enforce_calc_offset "ML_BSSN_MP_enforce_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_MP_boundary_calc_offset "ML_BSSN_MP_boundary_calc_offset" +CCTK_INT ML_BSSN_MP_boundary_calc_offset "ML_BSSN_MP_boundary_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_MP_convertToADMBase_calc_offset "ML_BSSN_MP_convertToADMBase_calc_offset" +CCTK_INT ML_BSSN_MP_convertToADMBase_calc_offset "ML_BSSN_MP_convertToADMBase_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_MP_convertToADMBaseDtLapseShift_calc_offset "ML_BSSN_MP_convertToADMBaseDtLapseShift_calc_offset" +CCTK_INT ML_BSSN_MP_convertToADMBaseDtLapseShift_calc_offset "ML_BSSN_MP_convertToADMBaseDtLapseShift_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_MP_convertToADMBaseDtLapseShiftBoundary_calc_offset "ML_BSSN_MP_convertToADMBaseDtLapseShiftBoundary_calc_offset" +CCTK_INT ML_BSSN_MP_convertToADMBaseDtLapseShiftBoundary_calc_offset "ML_BSSN_MP_convertToADMBaseDtLapseShiftBoundary_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_MP_convertToADMBaseFakeDtLapseShift_calc_offset "ML_BSSN_MP_convertToADMBaseFakeDtLapseShift_calc_offset" +CCTK_INT ML_BSSN_MP_convertToADMBaseFakeDtLapseShift_calc_offset "ML_BSSN_MP_convertToADMBaseFakeDtLapseShift_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_MP_constraints1_calc_offset "ML_BSSN_MP_constraints1_calc_offset" +CCTK_INT ML_BSSN_MP_constraints1_calc_offset "ML_BSSN_MP_constraints1_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_MP_constraints2_calc_offset "ML_BSSN_MP_constraints2_calc_offset" +CCTK_INT ML_BSSN_MP_constraints2_calc_offset "ML_BSSN_MP_constraints2_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 private: -KEYWORD At11_bound "Boundary condition to implement" +KEYWORD At11_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -393,7 +388,7 @@ KEYWORD At11_bound "Boundary condition to implement" } "skip" private: -KEYWORD At12_bound "Boundary condition to implement" +KEYWORD At12_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -405,7 +400,7 @@ KEYWORD At12_bound "Boundary condition to implement" } "skip" private: -KEYWORD At13_bound "Boundary condition to implement" +KEYWORD At13_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -417,7 +412,7 @@ KEYWORD At13_bound "Boundary condition to implement" } "skip" private: -KEYWORD At22_bound "Boundary condition to implement" +KEYWORD At22_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -429,7 +424,7 @@ KEYWORD At22_bound "Boundary condition to implement" } "skip" private: -KEYWORD At23_bound "Boundary condition to implement" +KEYWORD At23_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -441,7 +436,7 @@ KEYWORD At23_bound "Boundary condition to implement" } "skip" private: -KEYWORD At33_bound "Boundary condition to implement" +KEYWORD At33_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -453,7 +448,7 @@ KEYWORD At33_bound "Boundary condition to implement" } "skip" private: -KEYWORD A_bound "Boundary condition to implement" +KEYWORD A_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -465,7 +460,7 @@ KEYWORD A_bound "Boundary condition to implement" } "skip" private: -KEYWORD B1_bound "Boundary condition to implement" +KEYWORD B1_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -477,7 +472,7 @@ KEYWORD B1_bound "Boundary condition to implement" } "skip" private: -KEYWORD B2_bound "Boundary condition to implement" +KEYWORD B2_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -489,7 +484,7 @@ KEYWORD B2_bound "Boundary condition to implement" } "skip" private: -KEYWORD B3_bound "Boundary condition to implement" +KEYWORD B3_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -501,7 +496,7 @@ KEYWORD B3_bound "Boundary condition to implement" } "skip" private: -KEYWORD Xt1_bound "Boundary condition to implement" +KEYWORD Xt1_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -513,7 +508,7 @@ KEYWORD Xt1_bound "Boundary condition to implement" } "skip" private: -KEYWORD Xt2_bound "Boundary condition to implement" +KEYWORD Xt2_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -525,7 +520,7 @@ KEYWORD Xt2_bound "Boundary condition to implement" } "skip" private: -KEYWORD Xt3_bound "Boundary condition to implement" +KEYWORD Xt3_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -537,7 +532,7 @@ KEYWORD Xt3_bound "Boundary condition to implement" } "skip" private: -KEYWORD alpha_bound "Boundary condition to implement" +KEYWORD alpha_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -549,7 +544,7 @@ KEYWORD alpha_bound "Boundary condition to implement" } "skip" private: -KEYWORD phi_bound "Boundary condition to implement" +KEYWORD phi_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -561,7 +556,7 @@ KEYWORD phi_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt11_bound "Boundary condition to implement" +KEYWORD gt11_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -573,7 +568,7 @@ KEYWORD gt11_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt12_bound "Boundary condition to implement" +KEYWORD gt12_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -585,7 +580,7 @@ KEYWORD gt12_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt13_bound "Boundary condition to implement" +KEYWORD gt13_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -597,7 +592,7 @@ KEYWORD gt13_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt22_bound "Boundary condition to implement" +KEYWORD gt22_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -609,7 +604,7 @@ KEYWORD gt22_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt23_bound "Boundary condition to implement" +KEYWORD gt23_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -621,7 +616,7 @@ KEYWORD gt23_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt33_bound "Boundary condition to implement" +KEYWORD gt33_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -633,7 +628,7 @@ KEYWORD gt33_bound "Boundary condition to implement" } "skip" private: -KEYWORD beta1_bound "Boundary condition to implement" +KEYWORD beta1_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -645,7 +640,7 @@ KEYWORD beta1_bound "Boundary condition to implement" } "skip" private: -KEYWORD beta2_bound "Boundary condition to implement" +KEYWORD beta2_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -657,7 +652,7 @@ KEYWORD beta2_bound "Boundary condition to implement" } "skip" private: -KEYWORD beta3_bound "Boundary condition to implement" +KEYWORD beta3_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -669,7 +664,7 @@ KEYWORD beta3_bound "Boundary condition to implement" } "skip" private: -KEYWORD trK_bound "Boundary condition to implement" +KEYWORD trK_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -681,7 +676,7 @@ KEYWORD trK_bound "Boundary condition to implement" } "skip" private: -KEYWORD ML_curv_bound "Boundary condition to implement" +KEYWORD ML_curv_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -690,10 +685,10 @@ KEYWORD ML_curv_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_dtlapse_bound "Boundary condition to implement" +KEYWORD ML_dtlapse_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -702,10 +697,10 @@ KEYWORD ML_dtlapse_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_dtshift_bound "Boundary condition to implement" +KEYWORD ML_dtshift_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -714,10 +709,10 @@ KEYWORD ML_dtshift_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_Gamma_bound "Boundary condition to implement" +KEYWORD ML_Gamma_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -726,10 +721,10 @@ KEYWORD ML_Gamma_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_lapse_bound "Boundary condition to implement" +KEYWORD ML_lapse_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -738,10 +733,10 @@ KEYWORD ML_lapse_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_log_confac_bound "Boundary condition to implement" +KEYWORD ML_log_confac_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -750,10 +745,10 @@ KEYWORD ML_log_confac_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_metric_bound "Boundary condition to implement" +KEYWORD ML_metric_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -762,10 +757,10 @@ KEYWORD ML_metric_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_shift_bound "Boundary condition to implement" +KEYWORD ML_shift_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -774,10 +769,10 @@ KEYWORD ML_shift_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_trace_curv_bound "Boundary condition to implement" +KEYWORD ML_trace_curv_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -786,616 +781,616 @@ KEYWORD ML_trace_curv_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -CCTK_REAL At11_bound_speed "characteristic speed at boundary" +CCTK_REAL At11_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At12_bound_speed "characteristic speed at boundary" +CCTK_REAL At12_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At13_bound_speed "characteristic speed at boundary" +CCTK_REAL At13_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At22_bound_speed "characteristic speed at boundary" +CCTK_REAL At22_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At23_bound_speed "characteristic speed at boundary" +CCTK_REAL At23_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At33_bound_speed "characteristic speed at boundary" +CCTK_REAL At33_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL A_bound_speed "characteristic speed at boundary" +CCTK_REAL A_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL B1_bound_speed "characteristic speed at boundary" +CCTK_REAL B1_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL B2_bound_speed "characteristic speed at boundary" +CCTK_REAL B2_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL B3_bound_speed "characteristic speed at boundary" +CCTK_REAL B3_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL Xt1_bound_speed "characteristic speed at boundary" +CCTK_REAL Xt1_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL Xt2_bound_speed "characteristic speed at boundary" +CCTK_REAL Xt2_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL Xt3_bound_speed "characteristic speed at boundary" +CCTK_REAL Xt3_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL alpha_bound_speed "characteristic speed at boundary" +CCTK_REAL alpha_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL phi_bound_speed "characteristic speed at boundary" +CCTK_REAL phi_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt11_bound_speed "characteristic speed at boundary" +CCTK_REAL gt11_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt12_bound_speed "characteristic speed at boundary" +CCTK_REAL gt12_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt13_bound_speed "characteristic speed at boundary" +CCTK_REAL gt13_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt22_bound_speed "characteristic speed at boundary" +CCTK_REAL gt22_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt23_bound_speed "characteristic speed at boundary" +CCTK_REAL gt23_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt33_bound_speed "characteristic speed at boundary" +CCTK_REAL gt33_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL beta1_bound_speed "characteristic speed at boundary" +CCTK_REAL beta1_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL beta2_bound_speed "characteristic speed at boundary" +CCTK_REAL beta2_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL beta3_bound_speed "characteristic speed at boundary" +CCTK_REAL beta3_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL trK_bound_speed "characteristic speed at boundary" +CCTK_REAL trK_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_curv_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_curv_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_dtlapse_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_dtlapse_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_dtshift_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_dtshift_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_Gamma_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_Gamma_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_lapse_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_lapse_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_log_confac_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_log_confac_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_metric_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_metric_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_shift_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_shift_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_trace_curv_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_trace_curv_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At11_bound_limit "limit value for r -> infinity" +CCTK_REAL At11_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At12_bound_limit "limit value for r -> infinity" +CCTK_REAL At12_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At13_bound_limit "limit value for r -> infinity" +CCTK_REAL At13_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At22_bound_limit "limit value for r -> infinity" +CCTK_REAL At22_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At23_bound_limit "limit value for r -> infinity" +CCTK_REAL At23_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At33_bound_limit "limit value for r -> infinity" +CCTK_REAL At33_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL A_bound_limit "limit value for r -> infinity" +CCTK_REAL A_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL B1_bound_limit "limit value for r -> infinity" +CCTK_REAL B1_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL B2_bound_limit "limit value for r -> infinity" +CCTK_REAL B2_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL B3_bound_limit "limit value for r -> infinity" +CCTK_REAL B3_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL Xt1_bound_limit "limit value for r -> infinity" +CCTK_REAL Xt1_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL Xt2_bound_limit "limit value for r -> infinity" +CCTK_REAL Xt2_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL Xt3_bound_limit "limit value for r -> infinity" +CCTK_REAL Xt3_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL alpha_bound_limit "limit value for r -> infinity" +CCTK_REAL alpha_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL phi_bound_limit "limit value for r -> infinity" +CCTK_REAL phi_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt11_bound_limit "limit value for r -> infinity" +CCTK_REAL gt11_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt12_bound_limit "limit value for r -> infinity" +CCTK_REAL gt12_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt13_bound_limit "limit value for r -> infinity" +CCTK_REAL gt13_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt22_bound_limit "limit value for r -> infinity" +CCTK_REAL gt22_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt23_bound_limit "limit value for r -> infinity" +CCTK_REAL gt23_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt33_bound_limit "limit value for r -> infinity" +CCTK_REAL gt33_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL beta1_bound_limit "limit value for r -> infinity" +CCTK_REAL beta1_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL beta2_bound_limit "limit value for r -> infinity" +CCTK_REAL beta2_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL beta3_bound_limit "limit value for r -> infinity" +CCTK_REAL beta3_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL trK_bound_limit "limit value for r -> infinity" +CCTK_REAL trK_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_curv_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_curv_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_dtlapse_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_dtlapse_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_dtshift_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_dtshift_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_Gamma_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_Gamma_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_lapse_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_lapse_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_log_confac_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_log_confac_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_metric_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_metric_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_shift_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_shift_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_trace_curv_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_trace_curv_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At11_bound_scalar "Dirichlet boundary value" +CCTK_REAL At11_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At12_bound_scalar "Dirichlet boundary value" +CCTK_REAL At12_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At13_bound_scalar "Dirichlet boundary value" +CCTK_REAL At13_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At22_bound_scalar "Dirichlet boundary value" +CCTK_REAL At22_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At23_bound_scalar "Dirichlet boundary value" +CCTK_REAL At23_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At33_bound_scalar "Dirichlet boundary value" +CCTK_REAL At33_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL A_bound_scalar "Dirichlet boundary value" +CCTK_REAL A_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL B1_bound_scalar "Dirichlet boundary value" +CCTK_REAL B1_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL B2_bound_scalar "Dirichlet boundary value" +CCTK_REAL B2_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL B3_bound_scalar "Dirichlet boundary value" +CCTK_REAL B3_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL Xt1_bound_scalar "Dirichlet boundary value" +CCTK_REAL Xt1_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL Xt2_bound_scalar "Dirichlet boundary value" +CCTK_REAL Xt2_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL Xt3_bound_scalar "Dirichlet boundary value" +CCTK_REAL Xt3_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL alpha_bound_scalar "Dirichlet boundary value" +CCTK_REAL alpha_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL phi_bound_scalar "Dirichlet boundary value" +CCTK_REAL phi_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt11_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt11_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt12_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt12_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt13_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt13_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt22_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt22_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt23_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt23_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt33_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt33_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL beta1_bound_scalar "Dirichlet boundary value" +CCTK_REAL beta1_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL beta2_bound_scalar "Dirichlet boundary value" +CCTK_REAL beta2_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL beta3_bound_scalar "Dirichlet boundary value" +CCTK_REAL beta3_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL trK_bound_scalar "Dirichlet boundary value" +CCTK_REAL trK_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_curv_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_curv_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_dtlapse_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_dtlapse_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_dtshift_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_dtshift_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_Gamma_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_Gamma_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_lapse_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_lapse_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_log_confac_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_log_confac_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_metric_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_metric_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_shift_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_shift_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_trace_curv_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_trace_curv_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. diff --git a/ML_BSSN_MP/schedule.ccl b/ML_BSSN_MP/schedule.ccl index ab05d20..6d9ce6c 100644 --- a/ML_BSSN_MP/schedule.ccl +++ b/ML_BSSN_MP/schedule.ccl @@ -374,8 +374,6 @@ schedule ML_BSSN_MP_constraints1_SelectBCs in ML_BSSN_MP_constraints1_bc_group { LANG: C OPTIONS: level - SYNC: ML_cons_detg - SYNC: ML_cons_Gamma SYNC: ML_Ham } "ML_BSSN_MP_constraints1_SelectBCs" @@ -413,6 +411,8 @@ schedule ML_BSSN_MP_constraints2_SelectBCs in ML_BSSN_MP_constraints2_bc_group { LANG: C OPTIONS: level + SYNC: ML_cons_detg + SYNC: ML_cons_Gamma SYNC: ML_cons_traceA SYNC: ML_mom } "ML_BSSN_MP_constraints2_SelectBCs" @@ -458,7 +458,7 @@ schedule ML_BSSN_MP_CheckBoundaries at BASEGRID OPTIONS: meta } "check boundaries treatment" -schedule group ApplyBCs as ML_BSSN_MP_ApplyBCs in MoL_PostStep after ML_BSSN_MP_SelectBoundConds +schedule group ApplyBCs as ML_BSSN_MP_ApplyBCs in MoL_PostStep after ML_BSSN_MP_SelectBoundConds { # no language specified } "Apply boundary conditions controlled by thorn Boundary" diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_Minkowski.c b/ML_BSSN_MP/src/ML_BSSN_MP_Minkowski.c index 203a7ef..fb2bce4 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_Minkowski.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_Minkowski.c @@ -38,9 +38,6 @@ void ML_BSSN_MP_Minkowski_Body(cGH const * restrict const cctkGH, int const dir, return; } - const char *groups[] = {"ML_BSSN_MP::ML_curv","ML_BSSN_MP::ML_dtlapse","ML_BSSN_MP::ML_dtshift","ML_BSSN_MP::ML_Gamma","ML_BSSN_MP::ML_lapse","ML_BSSN_MP::ML_log_confac","ML_BSSN_MP::ML_metric","ML_BSSN_MP::ML_shift","ML_BSSN_MP::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_Minkowski", 9, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_RHS1.c b/ML_BSSN_MP/src/ML_BSSN_MP_RHS1.c index c0c3ddf..56036a7 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_RHS1.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_RHS1.c @@ -71,9 +71,6 @@ void ML_BSSN_MP_RHS1_Body(cGH const * restrict const cctkGH, int const dir, int return; } - const char *groups[] = {"Coordinates::jacobian","Coordinates::jacobian2","grid::coordinates","Grid::coordinates","ML_BSSN_MP::ML_curv","ML_BSSN_MP::ML_dtlapse","ML_BSSN_MP::ML_dtlapserhs","ML_BSSN_MP::ML_dtshift","ML_BSSN_MP::ML_dtshiftrhs","ML_BSSN_MP::ML_Gamma","ML_BSSN_MP::ML_Gammarhs","ML_BSSN_MP::ML_lapse","ML_BSSN_MP::ML_lapserhs","ML_BSSN_MP::ML_log_confac","ML_BSSN_MP::ML_log_confacrhs","ML_BSSN_MP::ML_metric","ML_BSSN_MP::ML_metricrhs","ML_BSSN_MP::ML_shift","ML_BSSN_MP::ML_shiftrhs","ML_BSSN_MP::ML_trace_curv","ML_BSSN_MP::ML_trace_curvrhs"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_RHS1", 21, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -708,10 +705,10 @@ void ML_BSSN_MP_RHS1_Body(cGH const * restrict const cctkGH, int const dir, int J21L*khalf*PDstandardNth2gt33 + J33L*PDstandardNth3gt13 - J31L*khalf*PDstandardNth3gt33; - CCTK_REAL Gtl211 = khalf*(-(J12L*PDstandardNth1gt11) + - 2*J11L*PDstandardNth1gt12 - J22L*PDstandardNth2gt11 + - 2*J21L*PDstandardNth2gt12 - J32L*PDstandardNth3gt11 + - 2*J31L*PDstandardNth3gt12); + CCTK_REAL Gtl211 = -(J12L*khalf*PDstandardNth1gt11) + + J11L*PDstandardNth1gt12 - J22L*khalf*PDstandardNth2gt11 + + J21L*PDstandardNth2gt12 - J32L*khalf*PDstandardNth3gt11 + + J31L*PDstandardNth3gt12; CCTK_REAL Gtl212 = khalf*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + J31L*PDstandardNth3gt22); @@ -733,10 +730,10 @@ void ML_BSSN_MP_RHS1_Body(cGH const * restrict const cctkGH, int const dir, int J22L*khalf*PDstandardNth2gt33 + J33L*PDstandardNth3gt23 - J32L*khalf*PDstandardNth3gt33; - CCTK_REAL Gtl311 = khalf*(-(J13L*PDstandardNth1gt11) + - 2*J11L*PDstandardNth1gt13 - J23L*PDstandardNth2gt11 + - 2*J21L*PDstandardNth2gt13 - J33L*PDstandardNth3gt11 + - 2*J31L*PDstandardNth3gt13); + CCTK_REAL Gtl311 = -(J13L*khalf*PDstandardNth1gt11) + + J11L*PDstandardNth1gt13 - J23L*khalf*PDstandardNth2gt11 + + J21L*PDstandardNth2gt13 - J33L*khalf*PDstandardNth3gt11 + + J31L*PDstandardNth3gt13; CCTK_REAL Gtl312 = khalf*(-(J13L*PDstandardNth1gt12) + J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 - @@ -747,10 +744,10 @@ void ML_BSSN_MP_RHS1_Body(cGH const * restrict const cctkGH, int const dir, int CCTK_REAL Gtl313 = khalf*(J11L*PDstandardNth1gt33 + J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33); - CCTK_REAL Gtl322 = khalf*(-(J13L*PDstandardNth1gt22) + - 2*J12L*PDstandardNth1gt23 - J23L*PDstandardNth2gt22 + - 2*J22L*PDstandardNth2gt23 - J33L*PDstandardNth3gt22 + - 2*J32L*PDstandardNth3gt23); + CCTK_REAL Gtl322 = -(J13L*khalf*PDstandardNth1gt22) + + J12L*PDstandardNth1gt23 - J23L*khalf*PDstandardNth2gt22 + + J22L*PDstandardNth2gt23 - J33L*khalf*PDstandardNth3gt22 + + J32L*PDstandardNth3gt23; CCTK_REAL Gtl323 = khalf*(J12L*PDstandardNth1gt33 + J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33); diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_RHS2.c b/ML_BSSN_MP/src/ML_BSSN_MP_RHS2.c index a8c0311..3f91255 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_RHS2.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_RHS2.c @@ -50,9 +50,6 @@ void ML_BSSN_MP_RHS2_Body(cGH const * restrict const cctkGH, int const dir, int return; } - const char *groups[] = {"Coordinates::jacobian","Coordinates::jacobian2","ML_BSSN_MP::ML_curv","ML_BSSN_MP::ML_curvrhs","ML_BSSN_MP::ML_Gamma","ML_BSSN_MP::ML_lapse","ML_BSSN_MP::ML_log_confac","ML_BSSN_MP::ML_metric","ML_BSSN_MP::ML_shift","ML_BSSN_MP::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_RHS2", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -504,10 +501,10 @@ void ML_BSSN_MP_RHS2_Body(cGH const * restrict const cctkGH, int const dir, int J21L*khalf*PDstandardNth2gt33 + J33L*PDstandardNth3gt13 - J31L*khalf*PDstandardNth3gt33; - CCTK_REAL Gtl211 = khalf*(-(J12L*PDstandardNth1gt11) + - 2*J11L*PDstandardNth1gt12 - J22L*PDstandardNth2gt11 + - 2*J21L*PDstandardNth2gt12 - J32L*PDstandardNth3gt11 + - 2*J31L*PDstandardNth3gt12); + CCTK_REAL Gtl211 = -(J12L*khalf*PDstandardNth1gt11) + + J11L*PDstandardNth1gt12 - J22L*khalf*PDstandardNth2gt11 + + J21L*PDstandardNth2gt12 - J32L*khalf*PDstandardNth3gt11 + + J31L*PDstandardNth3gt12; CCTK_REAL Gtl212 = khalf*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + J31L*PDstandardNth3gt22); @@ -529,10 +526,10 @@ void ML_BSSN_MP_RHS2_Body(cGH const * restrict const cctkGH, int const dir, int J22L*khalf*PDstandardNth2gt33 + J33L*PDstandardNth3gt23 - J32L*khalf*PDstandardNth3gt33; - CCTK_REAL Gtl311 = khalf*(-(J13L*PDstandardNth1gt11) + - 2*J11L*PDstandardNth1gt13 - J23L*PDstandardNth2gt11 + - 2*J21L*PDstandardNth2gt13 - J33L*PDstandardNth3gt11 + - 2*J31L*PDstandardNth3gt13); + CCTK_REAL Gtl311 = -(J13L*khalf*PDstandardNth1gt11) + + J11L*PDstandardNth1gt13 - J23L*khalf*PDstandardNth2gt11 + + J21L*PDstandardNth2gt13 - J33L*khalf*PDstandardNth3gt11 + + J31L*PDstandardNth3gt13; CCTK_REAL Gtl312 = khalf*(-(J13L*PDstandardNth1gt12) + J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 - @@ -543,10 +540,10 @@ void ML_BSSN_MP_RHS2_Body(cGH const * restrict const cctkGH, int const dir, int CCTK_REAL Gtl313 = khalf*(J11L*PDstandardNth1gt33 + J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33); - CCTK_REAL Gtl322 = khalf*(-(J13L*PDstandardNth1gt22) + - 2*J12L*PDstandardNth1gt23 - J23L*PDstandardNth2gt22 + - 2*J22L*PDstandardNth2gt23 - J33L*PDstandardNth3gt22 + - 2*J32L*PDstandardNth3gt23); + CCTK_REAL Gtl322 = -(J13L*khalf*PDstandardNth1gt22) + + J12L*PDstandardNth1gt23 - J23L*khalf*PDstandardNth2gt22 + + J22L*PDstandardNth2gt23 - J33L*khalf*PDstandardNth3gt22 + + J32L*PDstandardNth3gt23; CCTK_REAL Gtl323 = khalf*(J12L*PDstandardNth1gt33 + J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33); diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_RHSStaticBoundary.c b/ML_BSSN_MP/src/ML_BSSN_MP_RHSStaticBoundary.c index 5fca917..a505bfd 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_RHSStaticBoundary.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_RHSStaticBoundary.c @@ -74,9 +74,6 @@ void ML_BSSN_MP_RHSStaticBoundary_Body(cGH const * restrict const cctkGH, int co return; } - const char *groups[] = {"ML_BSSN_MP::ML_curvrhs","ML_BSSN_MP::ML_dtlapserhs","ML_BSSN_MP::ML_dtshiftrhs","ML_BSSN_MP::ML_Gammarhs","ML_BSSN_MP::ML_lapserhs","ML_BSSN_MP::ML_log_confacrhs","ML_BSSN_MP::ML_metricrhs","ML_BSSN_MP::ML_shiftrhs","ML_BSSN_MP::ML_trace_curvrhs"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_RHSStaticBoundary", 9, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_boundary.c b/ML_BSSN_MP/src/ML_BSSN_MP_boundary.c index d80c0d1..f484db3 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_boundary.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_boundary.c @@ -74,9 +74,6 @@ void ML_BSSN_MP_boundary_Body(cGH const * restrict const cctkGH, int const dir, return; } - const char *groups[] = {"ML_BSSN_MP::ML_curv","ML_BSSN_MP::ML_dtlapse","ML_BSSN_MP::ML_dtshift","ML_BSSN_MP::ML_Gamma","ML_BSSN_MP::ML_lapse","ML_BSSN_MP::ML_log_confac","ML_BSSN_MP::ML_metric","ML_BSSN_MP::ML_shift","ML_BSSN_MP::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_boundary", 9, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_constraints1.c b/ML_BSSN_MP/src/ML_BSSN_MP_constraints1.c index 82eec84..161a67c 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_constraints1.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_constraints1.c @@ -26,12 +26,6 @@ void ML_BSSN_MP_constraints1_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_PARAMETERS; CCTK_INT ierr = 0; - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_cons_detg","flat"); - if (ierr < 0) - CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_cons_detg."); - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_cons_Gamma","flat"); - if (ierr < 0) - CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_cons_Gamma."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_Ham","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_Ham."); @@ -56,9 +50,6 @@ void ML_BSSN_MP_constraints1_Body(cGH const * restrict const cctkGH, int const d return; } - const char *groups[] = {"Coordinates::jacobian","Coordinates::jacobian2","ML_BSSN_MP::ML_cons_detg","ML_BSSN_MP::ML_cons_Gamma","ML_BSSN_MP::ML_curv","ML_BSSN_MP::ML_Gamma","ML_BSSN_MP::ML_Ham","ML_BSSN_MP::ML_lapse","ML_BSSN_MP::ML_log_confac","ML_BSSN_MP::ML_metric","ML_BSSN_MP::ML_shift","ML_BSSN_MP::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_constraints1", 12, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -333,201 +324,189 @@ void ML_BSSN_MP_constraints1_Body(cGH const * restrict const cctkGH, int const d CCTK_REAL gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L)); - CCTK_REAL Gt111 = khalf*((gtu11*J11L - gtu12*J12L - - gtu13*J13L)*PDstandardNth1gt11 + (gtu11*J21L - gtu12*J22L - - gtu13*J23L)*PDstandardNth2gt11 + (gtu11*J31L - gtu12*J32L - - gtu13*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu12*PDstandardNth1gt12 + - gtu13*PDstandardNth1gt13) + J21L*(gtu12*PDstandardNth2gt12 + - gtu13*PDstandardNth2gt13) + J31L*(gtu12*PDstandardNth3gt12 + - gtu13*PDstandardNth3gt13))); - - CCTK_REAL Gt211 = khalf*((gtu12*J11L - gtu22*J12L - - gtu23*J13L)*PDstandardNth1gt11 + (gtu12*J21L - gtu22*J22L - - gtu23*J23L)*PDstandardNth2gt11 + (gtu12*J31L - gtu22*J32L - - gtu23*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu22*PDstandardNth1gt12 + - gtu23*PDstandardNth1gt13) + J21L*(gtu22*PDstandardNth2gt12 + - gtu23*PDstandardNth2gt13) + J31L*(gtu22*PDstandardNth3gt12 + - gtu23*PDstandardNth3gt13))); - - CCTK_REAL Gt311 = khalf*((gtu13*J11L - gtu23*J12L - - gtu33*J13L)*PDstandardNth1gt11 + (gtu13*J21L - gtu23*J22L - - gtu33*J23L)*PDstandardNth2gt11 + (gtu13*J31L - gtu23*J32L - - gtu33*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu23*PDstandardNth1gt12 + - gtu33*PDstandardNth1gt13) + J21L*(gtu23*PDstandardNth2gt12 + - gtu33*PDstandardNth2gt13) + J31L*(gtu23*PDstandardNth3gt12 + - gtu33*PDstandardNth3gt13))); - - CCTK_REAL Gt112 = khalf*(gtu11*(J12L*PDstandardNth1gt11 + - J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11) + - gtu12*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + - J31L*PDstandardNth3gt22) + gtu13*(-(J13L*PDstandardNth1gt12) + - J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 - - J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 + - J21L*PDstandardNth2gt23 - J33L*PDstandardNth3gt12 + - J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23)); + CCTK_REAL Gtl111 = khalf*(J11L*PDstandardNth1gt11 + + J21L*PDstandardNth2gt11 + J31L*PDstandardNth3gt11); - CCTK_REAL Gt212 = khalf*(gtu12*(J12L*PDstandardNth1gt11 + - J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11) + - gtu22*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + - J31L*PDstandardNth3gt22) + gtu23*(-(J13L*PDstandardNth1gt12) + - J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 - - J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 + - J21L*PDstandardNth2gt23 - J33L*PDstandardNth3gt12 + - J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23)); + CCTK_REAL Gtl112 = khalf*(J12L*PDstandardNth1gt11 + + J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11); + + CCTK_REAL Gtl113 = khalf*(J13L*PDstandardNth1gt11 + + J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11); + + CCTK_REAL Gtl122 = J12L*PDstandardNth1gt12 - + J11L*khalf*PDstandardNth1gt22 + J22L*PDstandardNth2gt12 - + J21L*khalf*PDstandardNth2gt22 + J32L*PDstandardNth3gt12 - + J31L*khalf*PDstandardNth3gt22; + + CCTK_REAL Gtl123 = khalf*(J13L*PDstandardNth1gt12 + + J12L*PDstandardNth1gt13 - J11L*PDstandardNth1gt23 + + J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 - + J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 + + J32L*PDstandardNth3gt13 - J31L*PDstandardNth3gt23); + + CCTK_REAL Gtl133 = J13L*PDstandardNth1gt13 - + J11L*khalf*PDstandardNth1gt33 + J23L*PDstandardNth2gt13 - + J21L*khalf*PDstandardNth2gt33 + J33L*PDstandardNth3gt13 - + J31L*khalf*PDstandardNth3gt33; + + CCTK_REAL Gtl211 = -(J12L*khalf*PDstandardNth1gt11) + + J11L*PDstandardNth1gt12 - J22L*khalf*PDstandardNth2gt11 + + J21L*PDstandardNth2gt12 - J32L*khalf*PDstandardNth3gt11 + + J31L*PDstandardNth3gt12; + + CCTK_REAL Gtl212 = khalf*(J11L*PDstandardNth1gt22 + + J21L*PDstandardNth2gt22 + J31L*PDstandardNth3gt22); + + CCTK_REAL Gtl213 = khalf*(J13L*PDstandardNth1gt12 - + J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 + + J23L*PDstandardNth2gt12 - J22L*PDstandardNth2gt13 + + J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 - + J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23); + + CCTK_REAL Gtl222 = khalf*(J12L*PDstandardNth1gt22 + + J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22); + + CCTK_REAL Gtl223 = khalf*(J13L*PDstandardNth1gt22 + + J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22); + + CCTK_REAL Gtl233 = J13L*PDstandardNth1gt23 - + J12L*khalf*PDstandardNth1gt33 + J23L*PDstandardNth2gt23 - + J22L*khalf*PDstandardNth2gt33 + J33L*PDstandardNth3gt23 - + J32L*khalf*PDstandardNth3gt33; + + CCTK_REAL Gtl311 = -(J13L*khalf*PDstandardNth1gt11) + + J11L*PDstandardNth1gt13 - J23L*khalf*PDstandardNth2gt11 + + J21L*PDstandardNth2gt13 - J33L*khalf*PDstandardNth3gt11 + + J31L*PDstandardNth3gt13; - CCTK_REAL Gt312 = khalf*(gtu13*(J12L*PDstandardNth1gt11 + - J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11) + - gtu23*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + - J31L*PDstandardNth3gt22) + gtu33*(-(J13L*PDstandardNth1gt12) + + CCTK_REAL Gtl312 = khalf*(-(J13L*PDstandardNth1gt12) + J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 - J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 - J33L*PDstandardNth3gt12 + - J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23)); - - CCTK_REAL Gt113 = khalf*(gtu11*(J13L*PDstandardNth1gt11 + - J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11) + - gtu12*(J13L*PDstandardNth1gt12 - J12L*PDstandardNth1gt13 + - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 - - J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 + - J33L*PDstandardNth3gt12 - J32L*PDstandardNth3gt13 + - J31L*PDstandardNth3gt23) + gtu13*(J11L*PDstandardNth1gt33 + - J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33)); - - CCTK_REAL Gt213 = khalf*(gtu12*(J13L*PDstandardNth1gt11 + - J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11) + - gtu22*(J13L*PDstandardNth1gt12 - J12L*PDstandardNth1gt13 + - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 - - J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 + - J33L*PDstandardNth3gt12 - J32L*PDstandardNth3gt13 + - J31L*PDstandardNth3gt23) + gtu23*(J11L*PDstandardNth1gt33 + - J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33)); - - CCTK_REAL Gt313 = khalf*(gtu13*(J13L*PDstandardNth1gt11 + - J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11) + - gtu23*(J13L*PDstandardNth1gt12 - J12L*PDstandardNth1gt13 + - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 - - J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 + - J33L*PDstandardNth3gt12 - J32L*PDstandardNth3gt13 + - J31L*PDstandardNth3gt23) + gtu33*(J11L*PDstandardNth1gt33 + - J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33)); - - CCTK_REAL Gt122 = khalf*(gtu11*(-(J11L*PDstandardNth1gt22) + - 2*(J12L*PDstandardNth1gt12 + J22L*PDstandardNth2gt12) - - J21L*PDstandardNth2gt22 + 2*J32L*PDstandardNth3gt12 - - J31L*PDstandardNth3gt22) + gtu12*(J12L*PDstandardNth1gt22 + - J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22) - - gtu13*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + - J33L*PDstandardNth3gt22 - 2*(J12L*PDstandardNth1gt23 + - J22L*PDstandardNth2gt23 + J32L*PDstandardNth3gt23))); - - CCTK_REAL Gt222 = khalf*(gtu12*(-(J11L*PDstandardNth1gt22) + - 2*(J12L*PDstandardNth1gt12 + J22L*PDstandardNth2gt12) - - J21L*PDstandardNth2gt22 + 2*J32L*PDstandardNth3gt12 - - J31L*PDstandardNth3gt22) + gtu22*(J12L*PDstandardNth1gt22 + - J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22) - - gtu23*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + - J33L*PDstandardNth3gt22 - 2*(J12L*PDstandardNth1gt23 + - J22L*PDstandardNth2gt23 + J32L*PDstandardNth3gt23))); - - CCTK_REAL Gt322 = khalf*(gtu13*(-(J11L*PDstandardNth1gt22) + - 2*(J12L*PDstandardNth1gt12 + J22L*PDstandardNth2gt12) - - J21L*PDstandardNth2gt22 + 2*J32L*PDstandardNth3gt12 - - J31L*PDstandardNth3gt22) + gtu23*(J12L*PDstandardNth1gt22 + - J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22) - - gtu33*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + - J33L*PDstandardNth3gt22 - 2*(J12L*PDstandardNth1gt23 + - J22L*PDstandardNth2gt23 + J32L*PDstandardNth3gt23))); - - CCTK_REAL Gt123 = khalf*(gtu12*(J13L*PDstandardNth1gt22 + - J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22) + - gtu11*(J13L*PDstandardNth1gt12 + J12L*PDstandardNth1gt13 - - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 + - J22L*PDstandardNth2gt13 - J21L*PDstandardNth2gt23 + - J33L*PDstandardNth3gt12 + J32L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt23) + gtu13*(J12L*PDstandardNth1gt33 + - J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33)); - - CCTK_REAL Gt223 = khalf*(gtu22*(J13L*PDstandardNth1gt22 + - J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22) + - gtu12*(J13L*PDstandardNth1gt12 + J12L*PDstandardNth1gt13 - - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 + - J22L*PDstandardNth2gt13 - J21L*PDstandardNth2gt23 + - J33L*PDstandardNth3gt12 + J32L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt23) + gtu23*(J12L*PDstandardNth1gt33 + - J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33)); - - CCTK_REAL Gt323 = khalf*(gtu23*(J13L*PDstandardNth1gt22 + - J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22) + - gtu13*(J13L*PDstandardNth1gt12 + J12L*PDstandardNth1gt13 - - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 + - J22L*PDstandardNth2gt13 - J21L*PDstandardNth2gt23 + - J33L*PDstandardNth3gt12 + J32L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt23) + gtu33*(J12L*PDstandardNth1gt33 + - J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33)); - - CCTK_REAL Gt133 = khalf*(gtu11*(-(J11L*PDstandardNth1gt33) + - 2*(J13L*PDstandardNth1gt13 + J23L*PDstandardNth2gt13) - - J21L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt33) + gtu12*(-(J12L*PDstandardNth1gt33) + - 2*(J13L*PDstandardNth1gt23 + J23L*PDstandardNth2gt23) - - J22L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt23 - - J32L*PDstandardNth3gt33) + gtu13*(J13L*PDstandardNth1gt33 + - J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33)); - - CCTK_REAL Gt233 = khalf*(gtu12*(-(J11L*PDstandardNth1gt33) + - 2*(J13L*PDstandardNth1gt13 + J23L*PDstandardNth2gt13) - - J21L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt33) + gtu22*(-(J12L*PDstandardNth1gt33) + - 2*(J13L*PDstandardNth1gt23 + J23L*PDstandardNth2gt23) - - J22L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt23 - - J32L*PDstandardNth3gt33) + gtu23*(J13L*PDstandardNth1gt33 + - J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33)); - - CCTK_REAL Gt333 = khalf*(gtu13*(-(J11L*PDstandardNth1gt33) + - 2*(J13L*PDstandardNth1gt13 + J23L*PDstandardNth2gt13) - - J21L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt33) + gtu23*(-(J12L*PDstandardNth1gt33) + - 2*(J13L*PDstandardNth1gt23 + J23L*PDstandardNth2gt23) - - J22L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt23 - - J32L*PDstandardNth3gt33) + gtu33*(J13L*PDstandardNth1gt33 + - J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33)); - - CCTK_REAL Rt11 = (Gt113*(gt13L*Gt312 + 3*(gt12L*Gt212 + gt13L*Gt312)) - + gt12L*(Gt213*(4*Gt112 + 2*Gt222) + Gt212*(Gt113 + 2*Gt223) + - 2*(Gt233*Gt312 + Gt223*Gt313)) + gt11L*(6*Gt112*Gt113 + 2*(Gt122*Gt213 - + Gt133*Gt312 + Gt123*(Gt212 + Gt313))) + gt13L*(2*Gt213*Gt322 + - Gt313*(4*Gt112 + 2*Gt323)) + 2*(Gt213*(Gt212*gt22L + gt23L*Gt312) + - Gt212*(gt23L*Gt313 + gt13L*Gt323) + Gt312*(gt13L*Gt333 + - Gt313*gt33L)))*gtu23 + J11L*(gt11L*PDstandardNth1Xt1 + - gt12L*PDstandardNth1Xt2 + gt13L*PDstandardNth1Xt3) + - J21L*(gt11L*PDstandardNth2Xt1 + gt12L*PDstandardNth2Xt2 + - gt13L*PDstandardNth2Xt3) + J31L*(gt11L*PDstandardNth3Xt1 + - gt12L*PDstandardNth3Xt2 + gt13L*PDstandardNth3Xt3) + (Gt111*gt11L + - gt12L*Gt211 + gt13L*Gt311)*Xt1L + (Gt112*gt11L + gt12L*Gt212 + - gt13L*Gt312)*Xt2L + (Gt113*gt11L + gt12L*Gt213 + gt13L*Gt313)*Xt3L + - gtu12*(Gt112*(gt13L*Gt311 + 3*(gt12L*Gt211 + gt13L*Gt311)) + - gt11L*(Gt112*(6*Gt111 + 2*Gt212) + 2*(Gt122*Gt211 + Gt123*Gt311 + - Gt113*Gt312)) + 2*(Gt212*(Gt211*gt22L + gt23L*Gt311 + gt13L*Gt312) + - gt13L*(Gt211*Gt322 + Gt311*Gt323)) + Gt312*(gt13L*(4*Gt111 + 2*Gt313) + - 2*(Gt211*gt23L + Gt311*gt33L)) + gt12L*(4*Gt111*Gt212 + Gt211*(Gt112 + - 2*Gt222) + 2*(Gt223*Gt311 + Gt213*Gt312 + SQR(Gt212)))) + - gtu11*(4*Gt111*(gt12L*Gt211 + gt13L*Gt311) + 2*(gt12L*(Gt211*Gt212 + - Gt213*Gt311) + Gt211*(gt23L*Gt311 + gt13L*Gt312) + gt13L*Gt311*Gt313) + - gt11L*(2*(Gt112*Gt211 + Gt113*Gt311) + 3*SQR(Gt111)) + gt22L*SQR(Gt211) - + gt33L*SQR(Gt311)) + gtu22*(4*Gt112*(gt12L*Gt212 + gt13L*Gt312) + - 2*(gt12L*(Gt212*Gt222 + Gt223*Gt312) + Gt212*(gt23L*Gt312 + - gt13L*Gt322) + gt13L*Gt312*Gt323) + gt11L*(2*(Gt122*Gt212 + - Gt123*Gt312) + 3*SQR(Gt112)) + gt22L*SQR(Gt212) + gt33L*SQR(Gt312)) + - gtu33*(4*Gt113*(gt12L*Gt213 + gt13L*Gt313) + 2*(gt12L*(Gt213*Gt223 + - Gt233*Gt313) + Gt213*(gt23L*Gt313 + gt13L*Gt323) + gt13L*Gt313*Gt333) + - gt11L*(2*(Gt123*Gt213 + Gt133*Gt313) + 3*SQR(Gt113)) + gt22L*SQR(Gt213) - + gt33L*SQR(Gt313)) + gtu13*(Gt113*(gt13L*Gt311 + 3*(gt12L*Gt211 + - gt13L*Gt311)) + gt11L*(2*(Gt123*Gt211 + Gt112*Gt213 + Gt133*Gt311) + - Gt113*(6*Gt111 + 2*Gt313)) + gt12L*(Gt211*(Gt113 + 2*Gt223) + - 2*Gt233*Gt311 + Gt213*(4*Gt111 + 2*(Gt212 + Gt313))) + - 2*(Gt213*(Gt211*gt22L + gt23L*Gt311 + gt13L*Gt312) + gt13L*Gt311*Gt333 - + Gt313*(Gt211*gt23L + Gt311*gt33L)) + gt13L*(4*Gt111*Gt313 + - 2*(Gt211*Gt323 + SQR(Gt313)))) + + J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23); + + CCTK_REAL Gtl313 = khalf*(J11L*PDstandardNth1gt33 + + J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33); + + CCTK_REAL Gtl322 = -(J13L*khalf*PDstandardNth1gt22) + + J12L*PDstandardNth1gt23 - J23L*khalf*PDstandardNth2gt22 + + J22L*PDstandardNth2gt23 - J33L*khalf*PDstandardNth3gt22 + + J32L*PDstandardNth3gt23; + + CCTK_REAL Gtl323 = khalf*(J12L*PDstandardNth1gt33 + + J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33); + + CCTK_REAL Gtl333 = khalf*(J13L*PDstandardNth1gt33 + + J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33); + + CCTK_REAL Gtlu111 = Gtl111*gtu11 + Gtl112*gtu12 + Gtl113*gtu13; + + CCTK_REAL Gtlu112 = Gtl111*gtu12 + Gtl112*gtu22 + Gtl113*gtu23; + + CCTK_REAL Gtlu113 = Gtl111*gtu13 + Gtl112*gtu23 + Gtl113*gtu33; + + CCTK_REAL Gtlu121 = Gtl112*gtu11 + Gtl122*gtu12 + Gtl123*gtu13; + + CCTK_REAL Gtlu122 = Gtl112*gtu12 + Gtl122*gtu22 + Gtl123*gtu23; + + CCTK_REAL Gtlu123 = Gtl112*gtu13 + Gtl122*gtu23 + Gtl123*gtu33; + + CCTK_REAL Gtlu131 = Gtl113*gtu11 + Gtl123*gtu12 + Gtl133*gtu13; + + CCTK_REAL Gtlu132 = Gtl113*gtu12 + Gtl123*gtu22 + Gtl133*gtu23; + + CCTK_REAL Gtlu133 = Gtl113*gtu13 + Gtl123*gtu23 + Gtl133*gtu33; + + CCTK_REAL Gtlu211 = Gtl211*gtu11 + Gtl212*gtu12 + Gtl213*gtu13; + + CCTK_REAL Gtlu212 = Gtl211*gtu12 + Gtl212*gtu22 + Gtl213*gtu23; + + CCTK_REAL Gtlu213 = Gtl211*gtu13 + Gtl212*gtu23 + Gtl213*gtu33; + + CCTK_REAL Gtlu221 = Gtl212*gtu11 + Gtl222*gtu12 + Gtl223*gtu13; + + CCTK_REAL Gtlu222 = Gtl212*gtu12 + Gtl222*gtu22 + Gtl223*gtu23; + + CCTK_REAL Gtlu223 = Gtl212*gtu13 + Gtl222*gtu23 + Gtl223*gtu33; + + CCTK_REAL Gtlu231 = Gtl213*gtu11 + Gtl223*gtu12 + Gtl233*gtu13; + + CCTK_REAL Gtlu232 = Gtl213*gtu12 + Gtl223*gtu22 + Gtl233*gtu23; + + CCTK_REAL Gtlu233 = Gtl213*gtu13 + Gtl223*gtu23 + Gtl233*gtu33; + + CCTK_REAL Gtlu311 = Gtl311*gtu11 + Gtl312*gtu12 + Gtl313*gtu13; + + CCTK_REAL Gtlu312 = Gtl311*gtu12 + Gtl312*gtu22 + Gtl313*gtu23; + + CCTK_REAL Gtlu313 = Gtl311*gtu13 + Gtl312*gtu23 + Gtl313*gtu33; + + CCTK_REAL Gtlu321 = Gtl312*gtu11 + Gtl322*gtu12 + Gtl323*gtu13; + + CCTK_REAL Gtlu322 = Gtl312*gtu12 + Gtl322*gtu22 + Gtl323*gtu23; + + CCTK_REAL Gtlu323 = Gtl312*gtu13 + Gtl322*gtu23 + Gtl323*gtu33; + + CCTK_REAL Gtlu331 = Gtl313*gtu11 + Gtl323*gtu12 + Gtl333*gtu13; + + CCTK_REAL Gtlu332 = Gtl313*gtu12 + Gtl323*gtu22 + Gtl333*gtu23; + + CCTK_REAL Gtlu333 = Gtl313*gtu13 + Gtl323*gtu23 + Gtl333*gtu33; + + CCTK_REAL Gt111 = Gtl111*gtu11 + Gtl211*gtu12 + Gtl311*gtu13; + + CCTK_REAL Gt211 = Gtl111*gtu12 + Gtl211*gtu22 + Gtl311*gtu23; + + CCTK_REAL Gt311 = Gtl111*gtu13 + Gtl211*gtu23 + Gtl311*gtu33; + + CCTK_REAL Gt112 = Gtl112*gtu11 + Gtl212*gtu12 + Gtl312*gtu13; + + CCTK_REAL Gt212 = Gtl112*gtu12 + Gtl212*gtu22 + Gtl312*gtu23; + + CCTK_REAL Gt312 = Gtl112*gtu13 + Gtl212*gtu23 + Gtl312*gtu33; + + CCTK_REAL Gt113 = Gtl113*gtu11 + Gtl213*gtu12 + Gtl313*gtu13; + + CCTK_REAL Gt213 = Gtl113*gtu12 + Gtl213*gtu22 + Gtl313*gtu23; + + CCTK_REAL Gt313 = Gtl113*gtu13 + Gtl213*gtu23 + Gtl313*gtu33; + + CCTK_REAL Gt122 = Gtl122*gtu11 + Gtl222*gtu12 + Gtl322*gtu13; + + CCTK_REAL Gt222 = Gtl122*gtu12 + Gtl222*gtu22 + Gtl322*gtu23; + + CCTK_REAL Gt322 = Gtl122*gtu13 + Gtl222*gtu23 + Gtl322*gtu33; + + CCTK_REAL Gt123 = Gtl123*gtu11 + Gtl223*gtu12 + Gtl323*gtu13; + + CCTK_REAL Gt223 = Gtl123*gtu12 + Gtl223*gtu22 + Gtl323*gtu23; + + CCTK_REAL Gt323 = Gtl123*gtu13 + Gtl223*gtu23 + Gtl323*gtu33; + + CCTK_REAL Gt133 = Gtl133*gtu11 + Gtl233*gtu12 + Gtl333*gtu13; + + CCTK_REAL Gt233 = Gtl133*gtu12 + Gtl233*gtu22 + Gtl333*gtu23; + + CCTK_REAL Gt333 = Gtl133*gtu13 + Gtl233*gtu23 + Gtl333*gtu33; + + CCTK_REAL Xtn1 = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu12 + + Gt113*gtu13 + Gt123*gtu23) + Gt133*gtu33; + + CCTK_REAL Xtn2 = Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu12 + + Gt213*gtu13 + Gt223*gtu23) + Gt233*gtu33; + + CCTK_REAL Xtn3 = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu12 + + Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33; + + CCTK_REAL Rt11 = 3*(Gt111*Gtlu111 + Gt112*Gtlu112 + Gt113*Gtlu113) + + 2*(Gt211*Gtlu121 + Gt212*Gtlu122 + Gt213*Gtlu123 + Gt311*Gtlu131 + + Gt312*Gtlu132 + Gt313*Gtlu133) + Gt211*Gtlu211 + Gt212*Gtlu212 + + Gt213*Gtlu213 + Gt311*Gtlu311 + Gt312*Gtlu312 + Gt313*Gtlu313 + + J11L*(gt11L*PDstandardNth1Xt1 + gt12L*PDstandardNth1Xt2 + + gt13L*PDstandardNth1Xt3) + J21L*(gt11L*PDstandardNth2Xt1 + + gt12L*PDstandardNth2Xt2 + gt13L*PDstandardNth2Xt3) + + J31L*(gt11L*PDstandardNth3Xt1 + gt12L*PDstandardNth3Xt2 + + gt13L*PDstandardNth3Xt3) + Gtl111*Xtn1 + Gtl112*Xtn2 + Gtl113*Xtn3 + khalf*(-2*(gtu12*(J11L*J12L*PDstandardNth11gt11 + J12L*J21L*PDstandardNth12gt11 + J11L*J22L*PDstandardNth12gt11 + J12L*J31L*PDstandardNth13gt11 + J11L*J32L*PDstandardNth13gt11 + @@ -562,8 +541,14 @@ void ML_BSSN_MP_constraints1_Body(cGH const * restrict const cctkGH, int const d dJ333L*PDstandardNth3gt11 + PDstandardNth11gt11*SQR(J13L) + PDstandardNth22gt11*SQR(J23L) + PDstandardNth33gt11*SQR(J33L))); - CCTK_REAL Rt12 = khalf*((gt12L*J11L + gt11L*J12L)*PDstandardNth1Xt1 + - (gt22L*J11L + gt12L*J12L)*PDstandardNth1Xt2 + (gt23L*J11L + + CCTK_REAL Rt12 = Gt122*Gtlu112 + Gt123*Gtlu113 + (Gt111 + + Gt212)*Gtlu121 + Gt222*Gtlu122 + (Gt113 + Gt223)*Gtlu123 + + Gt322*Gtlu132 + Gt323*Gtlu133 + Gt111*Gtlu211 + Gt112*(Gtlu111 + + Gtlu122 + Gtlu212) + Gt113*Gtlu213 + 2*(Gt211*Gtlu221 + Gt212*Gtlu222 + + Gt213*Gtlu223) + Gt311*(Gtlu231 + Gtlu321) + Gt312*(Gtlu131 + Gtlu232 + + Gtlu322) + Gt313*(Gtlu233 + Gtlu323) + khalf*((gt12L*J11L + + gt11L*J12L)*PDstandardNth1Xt1 + (gt22L*J11L + + gt12L*J12L)*PDstandardNth1Xt2 + (gt23L*J11L + gt13L*J12L)*PDstandardNth1Xt3 + (gt12L*J21L + gt11L*J22L)*PDstandardNth2Xt1 + (gt22L*J21L + gt12L*J22L)*PDstandardNth2Xt2 + (gt23L*J21L + @@ -588,72 +573,8 @@ void ML_BSSN_MP_constraints1_Body(cGH const * restrict const cctkGH, int const d dJ323L*PDstandardNth3gt12)) + (gt12L*J31L + gt11L*J32L)*PDstandardNth3Xt1 + (gt22L*J31L + gt12L*J32L)*PDstandardNth3Xt2 + (gt23L*J31L + - gt13L*J32L)*PDstandardNth3Xt3 + (Gt112*gt11L + Gt111*gt12L + - gt12L*Gt212 + Gt211*gt22L + gt23L*Gt311 + gt13L*Gt312)*Xt1L + - (gt11L*Gt122 + Gt112*gt12L + gt12L*Gt222 + Gt212*gt22L + gt23L*Gt312 + - gt13L*Gt322)*Xt2L + (gt11L*Gt123 + Gt113*gt12L + gt12L*Gt223 + - Gt213*gt22L + gt23L*Gt313 + gt13L*Gt323)*Xt3L + 2*((Gt123*gt12L*Gt211 + - Gt113*gt12L*Gt212 + 2*Gt112*gt12L*Gt213 + gt12L*Gt212*Gt223 + - Gt212*Gt213*gt22L + Gt211*Gt223*gt22L + gt12L*Gt133*Gt311 + - gt22L*Gt233*Gt311 + Gt113*gt13L*Gt312 + gt12L*Gt233*Gt312 + - Gt213*gt23L*Gt312 + gt11L*(2*Gt112*Gt113 + Gt123*Gt212 + Gt133*Gt312) + - 2*Gt112*gt13L*Gt313 + Gt212*gt23L*Gt313 + Gt111*(Gt113*gt12L + - Gt213*gt22L + gt23L*Gt313) + gt13L*Gt212*Gt323 + Gt211*gt23L*Gt323 + - gt23L*Gt311*Gt333 + gt13L*Gt312*Gt333 + Gt312*Gt313*gt33L)*gtu13 + - (Gt123*gt12L*Gt212 + 2*Gt122*gt12L*Gt213 + Gt113*gt12L*Gt222 + - gt12L*Gt222*Gt223 + Gt213*Gt222*gt22L + Gt212*Gt223*gt22L + - gt12L*Gt133*Gt312 + gt22L*Gt233*Gt312 + 2*Gt122*gt13L*Gt313 + - Gt222*gt23L*Gt313 + Gt112*(Gt113*gt12L + Gt213*gt22L + gt23L*Gt313) + - Gt113*gt13L*Gt322 + gt12L*Gt233*Gt322 + Gt213*gt23L*Gt322 + - gt11L*(2*Gt113*Gt122 + Gt123*Gt222 + Gt133*Gt322) + gt13L*Gt222*Gt323 + - Gt212*gt23L*Gt323 + gt23L*Gt312*Gt333 + gt13L*Gt322*Gt333 + - Gt313*Gt322*gt33L)*gtu23 + gtu11*(3*Gt112*gt12L*Gt211 + - 2*Gt211*Gt212*gt22L + Gt113*gt12L*Gt311 + 2*Gt112*gt13L*Gt311 + - Gt213*gt22L*Gt311 + Gt212*gt23L*Gt311 + gt13L*Gt212*Gt312 + - gt12L*Gt213*Gt312 + 2*Gt211*gt23L*Gt312 + gt11L*(2*Gt111*Gt112 + - Gt112*Gt212 + Gt113*Gt312) + Gt111*(gt12L*Gt212 + Gt211*gt22L + - gt23L*Gt311 + gt13L*Gt312) + gt23L*Gt311*Gt313 + gt13L*Gt312*Gt313 + - Gt311*Gt312*gt33L + gt12L*SQR(Gt111) + gt12L*SQR(Gt212)) + - gtu12*(Gt112*gt11L*Gt222 + Gt112*Gt211*gt22L + Gt211*Gt222*gt22L + - 2*Gt122*gt13L*Gt311 + Gt112*gt23L*Gt311 + Gt222*gt23L*Gt311 + - gt13L*Gt222*Gt312 + Gt213*gt22L*Gt312 + Gt212*gt23L*Gt312 + - gt23L*Gt312*Gt313 + Gt113*gt11L*Gt322 + Gt211*gt23L*Gt322 + - gt13L*Gt313*Gt322 + Gt111*(2*gt11L*Gt122 + Gt112*gt12L + gt12L*Gt222 + - gt13L*Gt322) + gt12L*(2*Gt122*Gt211 + Gt112*Gt212 + Gt212*Gt222 + - Gt113*Gt312 + Gt213*Gt322) + Gt311*Gt322*gt33L + gt22L*SQR(Gt212)) + - gtu22*(gt11L*Gt122*Gt222 + 2*Gt212*Gt222*gt22L + 2*Gt122*gt13L*Gt312 + - Gt223*gt22L*Gt312 + Gt222*gt23L*Gt312 + gt11L*Gt123*Gt322 + - gt13L*Gt222*Gt322 + 2*Gt212*gt23L*Gt322 + Gt112*(2*gt11L*Gt122 + - gt12L*Gt222 + Gt212*gt22L + gt23L*Gt312 + gt13L*Gt322) + - gt23L*Gt312*Gt323 + gt13L*Gt322*Gt323 + Gt312*Gt322*gt33L + - gt12L*SQR(Gt112) + gt12L*(3*Gt122*Gt212 + Gt123*Gt312 + Gt223*Gt322 + - SQR(Gt222))) + gtu33*(gt11L*Gt123*Gt223 + 2*Gt213*Gt223*gt22L + - 2*Gt123*gt13L*Gt313 + gt22L*Gt233*Gt313 + Gt223*gt23L*Gt313 + - gt11L*Gt133*Gt323 + gt13L*Gt223*Gt323 + 2*Gt213*gt23L*Gt323 + - Gt113*(2*gt11L*Gt123 + gt12L*Gt223 + Gt213*gt22L + gt23L*Gt313 + - gt13L*Gt323) + gt23L*Gt313*Gt333 + gt13L*Gt323*Gt333 + - Gt313*Gt323*gt33L + gt12L*SQR(Gt113) + gt12L*(3*Gt123*Gt213 + - Gt133*Gt313 + Gt233*Gt323 + SQR(Gt223))) + gtu12*(Gt122*gt12L*Gt211 + - 3*Gt112*gt12L*Gt212 + gt12L*Gt212*Gt222 + Gt211*Gt222*gt22L + - Gt123*gt12L*Gt311 + Gt223*gt22L*Gt311 + 3*Gt112*gt13L*Gt312 + - gt12L*Gt223*Gt312 + 2*Gt212*gt23L*Gt312 + Gt111*(Gt112*gt12L + - Gt212*gt22L + gt23L*Gt312) + gt13L*Gt212*Gt322 + Gt211*gt23L*Gt322 + - gt23L*Gt311*Gt323 + gt13L*Gt312*Gt323 + gt11L*(Gt122*Gt212 + - Gt123*Gt312 + 2*SQR(Gt112)) + gt22L*SQR(Gt212) + gt33L*SQR(Gt312)) + - gtu13*(Gt112*gt11L*Gt223 + Gt113*Gt211*gt22L + Gt212*Gt213*gt22L + - Gt211*Gt223*gt22L + 2*Gt123*gt13L*Gt311 + Gt113*gt23L*Gt311 + - Gt223*gt23L*Gt311 + gt13L*Gt223*Gt312 + Gt213*gt23L*Gt312 + - Gt213*gt22L*Gt313 + Gt113*gt11L*Gt323 + Gt211*gt23L*Gt323 + - gt13L*Gt313*Gt323 + Gt111*(2*gt11L*Gt123 + Gt113*gt12L + gt12L*Gt223 + - gt13L*Gt323) + gt12L*(2*Gt123*Gt211 + Gt112*Gt213 + Gt212*Gt223 + - Gt113*Gt313 + Gt213*Gt323) + Gt311*Gt323*gt33L + gt23L*SQR(Gt313)) + - gtu23*(gt11L*Gt122*Gt223 + Gt113*Gt212*gt22L + Gt213*Gt222*gt22L + - Gt212*Gt223*gt22L + 2*Gt123*gt13L*Gt312 + Gt113*gt23L*Gt312 + - Gt223*gt23L*Gt312 + Gt223*gt22L*Gt313 + gt13L*Gt223*Gt322 + - Gt213*gt23L*Gt322 + gt11L*Gt123*Gt323 + Gt212*gt23L*Gt323 + - gt23L*Gt313*Gt323 + Gt112*(2*gt11L*Gt123 + Gt113*gt12L + gt12L*Gt223 + - gt13L*Gt323) + gt12L*(Gt122*Gt213 + Gt123*(2*Gt212 + Gt313) + - Gt223*(Gt222 + Gt323)) + Gt312*Gt323*gt33L + gt13L*SQR(Gt323))) - + gt13L*J32L)*PDstandardNth3Xt3 + (Gtl112 + Gtl211)*Xtn1 + (Gtl122 + + Gtl212)*Xtn2 + (Gtl123 + Gtl213)*Xtn3 - gtu11*(2*J11L*J21L*PDstandardNth12gt12 + 2*J11L*J31L*PDstandardNth13gt12 + dJ111L*PDstandardNth1gt12 + 2*J21L*J31L*PDstandardNth23gt12 + dJ211L*PDstandardNth2gt12 + @@ -670,8 +591,14 @@ void ML_BSSN_MP_constraints1_Body(cGH const * restrict const cctkGH, int const d dJ333L*PDstandardNth3gt12 + PDstandardNth11gt12*SQR(J13L) + PDstandardNth22gt12*SQR(J23L) + PDstandardNth33gt12*SQR(J33L))); - CCTK_REAL Rt13 = khalf*((gt13L*J11L + gt11L*J13L)*PDstandardNth1Xt1 + - (gt23L*J11L + gt12L*J13L)*PDstandardNth1Xt2 + (gt33L*J11L + + CCTK_REAL Rt13 = Gt123*Gtlu112 + Gt133*Gtlu113 + Gt223*Gtlu122 + + Gt233*Gtlu123 + (Gt111 + Gt313)*Gtlu131 + (Gt112 + Gt323)*Gtlu132 + + Gt333*Gtlu133 + Gt111*Gtlu311 + Gt112*Gtlu312 + Gt113*(Gtlu111 + + Gtlu133 + Gtlu313) + Gt211*(Gtlu231 + Gtlu321) + Gt212*(Gtlu232 + + Gtlu322) + Gt213*(Gtlu121 + Gtlu233 + Gtlu323) + 2*(Gt311*Gtlu331 + + Gt312*Gtlu332 + Gt313*Gtlu333) + khalf*((gt13L*J11L + + gt11L*J13L)*PDstandardNth1Xt1 + (gt23L*J11L + + gt12L*J13L)*PDstandardNth1Xt2 + (gt33L*J11L + gt13L*J13L)*PDstandardNth1Xt3 + (gt13L*J21L + gt11L*J23L)*PDstandardNth2Xt1 + (gt23L*J21L + gt12L*J23L)*PDstandardNth2Xt2 + (gt33L*J21L + @@ -696,74 +623,8 @@ void ML_BSSN_MP_constraints1_Body(cGH const * restrict const cctkGH, int const d dJ323L*PDstandardNth3gt13)) + (gt13L*J31L + gt11L*J33L)*PDstandardNth3Xt1 + (gt23L*J31L + gt12L*J33L)*PDstandardNth3Xt2 + (gt33L*J31L + - gt13L*J33L)*PDstandardNth3Xt3 + (Gt113*gt11L + Gt111*gt13L + - gt12L*Gt213 + Gt211*gt23L + gt13L*Gt313 + Gt311*gt33L)*Xt1L + - (gt11L*Gt123 + Gt112*gt13L + gt12L*Gt223 + Gt212*gt23L + gt13L*Gt323 + - Gt312*gt33L)*Xt2L + (gt11L*Gt133 + Gt113*gt13L + gt12L*Gt233 + - Gt213*gt23L + gt13L*Gt333 + Gt313*gt33L)*Xt3L + 2*((Gt122*gt13L*Gt211 + - 2*Gt113*gt12L*Gt212 + Gt112*gt12L*Gt213 + gt12L*Gt213*Gt222 + - Gt212*Gt213*gt22L + Gt211*Gt222*gt23L + Gt123*gt13L*Gt311 + - Gt223*gt23L*Gt311 + 2*Gt113*gt13L*Gt312 + Gt213*gt23L*Gt312 + - Gt112*gt13L*Gt313 + gt12L*Gt223*Gt313 + Gt212*gt23L*Gt313 + - gt11L*(2*Gt112*Gt113 + Gt122*Gt213 + Gt123*Gt313) + gt13L*Gt213*Gt322 + - gt13L*Gt313*Gt323 + Gt312*Gt313*gt33L + Gt211*Gt322*gt33L + - Gt311*Gt323*gt33L + Gt111*(Gt112*gt13L + Gt212*gt23L + - Gt312*gt33L))*gtu12 + (Gt122*gt13L*Gt213 + gt11L*Gt122*Gt233 + - Gt212*gt22L*Gt233 + Gt113*Gt212*gt23L + Gt213*Gt222*gt23L + - 2*Gt133*gt13L*Gt312 + Gt233*gt23L*Gt312 + Gt123*gt13L*Gt313 + - Gt223*gt23L*Gt313 + gt13L*Gt233*Gt322 + gt11L*Gt123*Gt333 + - Gt212*gt23L*Gt333 + gt13L*Gt323*Gt333 + Gt112*(2*gt11L*Gt133 + - Gt113*gt13L + gt12L*Gt233 + gt13L*Gt333) + gt12L*(2*Gt133*Gt212 + - Gt222*Gt233 + Gt223*Gt333) + Gt113*Gt312*gt33L + Gt213*Gt322*gt33L + - Gt313*Gt323*gt33L + Gt312*Gt333*gt33L)*gtu23 + - gtu12*(2*Gt123*gt12L*Gt211 + Gt112*gt13L*Gt212 + gt12L*Gt212*Gt223 + - Gt211*Gt223*gt22L + Gt112*Gt211*gt23L + 2*Gt123*gt13L*Gt311 + - Gt223*gt23L*Gt311 + Gt113*gt13L*Gt312 + gt13L*Gt223*Gt312 + - Gt213*gt23L*Gt312 + gt12L*Gt213*Gt323 + Gt211*gt23L*Gt323 + - gt13L*Gt313*Gt323 + gt11L*(2*Gt111*Gt123 + Gt112*Gt223 + Gt113*Gt323) + - Gt111*(Gt112*gt13L + gt12L*Gt223 + gt13L*Gt323) + Gt112*Gt311*gt33L + - Gt212*Gt312*gt33L + Gt312*Gt313*gt33L + Gt311*Gt323*gt33L + - gt23L*SQR(Gt212)) + gtu23*(Gt123*gt13L*Gt212 + 2*Gt123*gt12L*Gt213 + - Gt113*gt12L*Gt223 + Gt213*Gt223*gt22L + Gt212*Gt223*gt23L + - Gt133*gt13L*Gt312 + Gt233*gt23L*Gt312 + 2*Gt123*gt13L*Gt313 + - Gt223*gt23L*Gt313 + Gt113*gt13L*Gt323 + gt13L*Gt223*Gt323 + - gt12L*Gt233*Gt323 + Gt213*gt23L*Gt323 + gt11L*(2*Gt113*Gt123 + - Gt123*Gt223 + Gt133*Gt323) + gt13L*Gt323*Gt333 + Gt212*Gt323*gt33L + - Gt313*Gt323*gt33L + Gt312*Gt333*gt33L + Gt112*(Gt113*gt13L + - Gt213*gt23L + Gt313*gt33L) + gt12L*SQR(Gt223)) + - gtu11*(2*Gt113*gt12L*Gt211 + Gt112*gt13L*Gt211 + gt12L*Gt212*Gt213 + - Gt211*Gt213*gt22L + Gt211*Gt212*gt23L + 3*Gt113*gt13L*Gt311 + - 2*Gt213*gt23L*Gt311 + gt13L*Gt213*Gt312 + gt12L*Gt213*Gt313 + - Gt211*gt23L*Gt313 + gt11L*(2*Gt111*Gt113 + Gt112*Gt213 + Gt113*Gt313) + - Gt211*Gt312*gt33L + 2*Gt311*Gt313*gt33L + Gt111*(gt12L*Gt213 + - Gt211*gt23L + gt13L*Gt313 + Gt311*gt33L) + gt13L*SQR(Gt111) + - gt13L*SQR(Gt313)) + gtu13*(Gt112*gt13L*Gt213 + Gt112*gt11L*Gt233 + - Gt211*gt22L*Gt233 + Gt113*Gt211*gt23L + Gt212*Gt213*gt23L + - 2*Gt133*gt13L*Gt311 + Gt233*gt23L*Gt311 + gt13L*Gt233*Gt312 + - Gt113*gt13L*Gt313 + Gt213*gt23L*Gt313 + Gt113*gt11L*Gt333 + - Gt211*gt23L*Gt333 + gt13L*Gt313*Gt333 + Gt111*(2*gt11L*Gt133 + - Gt113*gt13L + gt12L*Gt233 + gt13L*Gt333) + gt12L*(2*Gt133*Gt211 + - Gt212*Gt233 + Gt213*Gt333) + Gt113*Gt311*gt33L + Gt213*Gt312*gt33L + - Gt311*Gt333*gt33L + gt33L*SQR(Gt313)) + gtu13*(Gt123*gt13L*Gt211 + - 3*Gt113*gt12L*Gt213 + gt12L*Gt213*Gt223 + Gt211*Gt223*gt23L + - Gt133*gt13L*Gt311 + Gt233*gt23L*Gt311 + 3*Gt113*gt13L*Gt313 + - gt12L*Gt233*Gt313 + 2*Gt213*gt23L*Gt313 + gt13L*Gt213*Gt323 + - gt13L*Gt313*Gt333 + Gt211*Gt323*gt33L + Gt311*Gt333*gt33L + - Gt111*(Gt113*gt13L + Gt213*gt23L + Gt313*gt33L) + gt11L*(Gt123*Gt213 + - Gt133*Gt313 + 2*SQR(Gt113)) + gt22L*SQR(Gt213) + gt33L*SQR(Gt313)) + - gtu22*(2*Gt123*gt12L*Gt212 + Gt122*gt13L*Gt212 + gt12L*Gt222*Gt223 + - Gt212*Gt223*gt22L + Gt212*Gt222*gt23L + 3*Gt123*gt13L*Gt312 + - 2*Gt223*gt23L*Gt312 + gt13L*Gt223*Gt322 + gt12L*Gt223*Gt323 + - Gt212*gt23L*Gt323 + gt11L*(2*Gt112*Gt123 + Gt122*Gt223 + Gt123*Gt323) + - Gt212*Gt322*gt33L + 2*Gt312*Gt323*gt33L + Gt112*(gt12L*Gt223 + - Gt212*gt23L + gt13L*Gt323 + Gt312*gt33L) + gt13L*SQR(Gt112) + - gt13L*SQR(Gt323)) + gtu33*(2*gt12L*Gt133*Gt213 + Gt123*gt13L*Gt213 + - gt11L*Gt123*Gt233 + gt12L*Gt223*Gt233 + Gt213*gt22L*Gt233 + - Gt213*Gt223*gt23L + 3*Gt133*gt13L*Gt313 + 2*Gt233*gt23L*Gt313 + - gt13L*Gt233*Gt323 + gt11L*Gt133*Gt333 + gt12L*Gt233*Gt333 + - Gt213*gt23L*Gt333 + Gt213*Gt323*gt33L + 2*Gt313*Gt333*gt33L + - Gt113*(2*gt11L*Gt133 + gt12L*Gt233 + Gt213*gt23L + gt13L*Gt333 + - Gt313*gt33L) + gt13L*SQR(Gt113) + gt13L*SQR(Gt333))) - + gt13L*J33L)*PDstandardNth3Xt3 + (Gtl113 + Gtl311)*Xtn1 + (Gtl123 + + Gtl312)*Xtn2 + (Gtl133 + Gtl313)*Xtn3 - gtu11*(2*J11L*J21L*PDstandardNth12gt13 + 2*J11L*J31L*PDstandardNth13gt13 + dJ111L*PDstandardNth1gt13 + 2*J21L*J31L*PDstandardNth23gt13 + dJ211L*PDstandardNth2gt13 + @@ -780,41 +641,15 @@ void ML_BSSN_MP_constraints1_Body(cGH const * restrict const cctkGH, int const d dJ333L*PDstandardNth3gt13 + PDstandardNth11gt13*SQR(J13L) + PDstandardNth22gt13*SQR(J23L) + PDstandardNth33gt13*SQR(J33L))); - CCTK_REAL Rt22 = (Gt223*(3*Gt112*gt12L + 6*Gt212*gt22L + - 4*gt23L*Gt312) + Gt123*(Gt112*gt11L + gt12L*(2*Gt111 + 4*Gt212) + - 2*(Gt211*gt22L + gt23L*Gt311 + gt13L*Gt312)) + Gt112*(gt11L*Gt123 + - gt12L*(2*Gt113 + Gt223) + 2*(Gt213*gt22L + gt23L*Gt313) + gt13L*Gt323) - + 2*(Gt113*gt12L*Gt323 + Gt312*(gt12L*Gt133 + gt22L*Gt233 + - gt23L*Gt333)) + Gt323*(Gt112*gt13L + 4*Gt212*gt23L + 2*(Gt213*gt22L + - gt23L*Gt313 + Gt312*gt33L)))*gtu13 + J12L*(gt12L*PDstandardNth1Xt1 + - gt22L*PDstandardNth1Xt2 + gt23L*PDstandardNth1Xt3) + - J22L*(gt12L*PDstandardNth2Xt1 + gt22L*PDstandardNth2Xt2 + - gt23L*PDstandardNth2Xt3) + J32L*(gt12L*PDstandardNth3Xt1 + - gt22L*PDstandardNth3Xt2 + gt23L*PDstandardNth3Xt3) + (Gt112*gt12L + - Gt212*gt22L + gt23L*Gt312)*Xt1L + (Gt122*gt12L + Gt222*gt22L + - gt23L*Gt322)*Xt2L + (Gt123*gt12L + Gt223*gt22L + gt23L*Gt323)*Xt3L + - gtu12*(Gt222*(3*Gt112*gt12L + 6*Gt212*gt22L + 4*gt23L*Gt312) + - Gt122*(Gt112*gt11L + gt12L*(2*Gt111 + 4*Gt212) + 2*(Gt211*gt22L + - gt23L*Gt311 + gt13L*Gt312)) + Gt112*(gt11L*Gt122 + gt12L*Gt222 + - 2*(Gt212*gt22L + gt23L*Gt312) + gt13L*Gt322) + Gt322*(Gt112*gt13L + - 4*Gt212*gt23L + 2*(Gt213*gt22L + gt23L*Gt313 + Gt312*gt33L)) + - 2*(Gt312*(Gt123*gt12L + Gt223*gt22L + gt23L*Gt323) + gt12L*(Gt113*Gt322 - + SQR(Gt112)))) + gtu11*(Gt112*(gt12L*(2*Gt111 + 4*Gt212) + - 2*(Gt211*gt22L + gt23L*Gt311 + gt13L*Gt312)) + Gt312*(2*(Gt113*gt12L + - Gt213*gt22L) + gt23L*(4*Gt212 + 2*Gt313)) + gt11L*SQR(Gt112) + - 3*gt22L*SQR(Gt212) + gt33L*SQR(Gt312)) + gtu22*(Gt122*(gt12L*(2*Gt112 + - 4*Gt222) + 2*(Gt212*gt22L + gt23L*Gt312 + gt13L*Gt322)) + - Gt322*(2*(Gt123*gt12L + Gt223*gt22L) + gt23L*(4*Gt222 + 2*Gt323)) + - gt11L*SQR(Gt122) + 3*gt22L*SQR(Gt222) + gt33L*SQR(Gt322)) + - gtu33*(Gt123*(gt12L*(2*Gt113 + 4*Gt223) + 2*(Gt213*gt22L + gt23L*Gt313 - + gt13L*Gt323)) + Gt323*(2*(gt12L*Gt133 + gt22L*Gt233) + gt23L*(4*Gt223 - + 2*Gt333)) + gt11L*SQR(Gt123) + 3*gt22L*SQR(Gt223) + gt33L*SQR(Gt323)) - + gtu23*(gt22L*(2*(Gt122*Gt213 + Gt233*Gt322) + Gt223*(6*Gt222 + - 2*Gt323)) + 4*(gt12L*(Gt123*Gt222 + Gt122*Gt223) + gt23L*(Gt223*Gt322 + - Gt222*Gt323)) + 2*(Gt123*(Gt112*gt12L + Gt212*gt22L + gt23L*Gt312 + - gt13L*Gt322) + gt12L*(Gt133*Gt322 + Gt123*Gt323) + Gt122*(gt11L*Gt123 + - Gt113*gt12L + gt23L*Gt313 + gt13L*Gt323) + Gt322*(gt23L*Gt333 + - Gt323*gt33L) + gt23L*SQR(Gt323))) + + CCTK_REAL Rt22 = Gt112*(Gtlu121 + 2*Gtlu211) + Gt122*(Gtlu122 + + 2*Gtlu212) + Gt123*(Gtlu123 + 2*Gtlu213) + 3*(Gt212*Gtlu221 + + Gt222*Gtlu222 + Gt223*Gtlu223) + 2*(Gt312*Gtlu231 + Gt322*Gtlu232 + + Gt323*Gtlu233) + Gt312*Gtlu321 + Gt322*Gtlu322 + Gt323*Gtlu323 + + J12L*(gt12L*PDstandardNth1Xt1 + gt22L*PDstandardNth1Xt2 + + gt23L*PDstandardNth1Xt3) + J22L*(gt12L*PDstandardNth2Xt1 + + gt22L*PDstandardNth2Xt2 + gt23L*PDstandardNth2Xt3) + + J32L*(gt12L*PDstandardNth3Xt1 + gt22L*PDstandardNth3Xt2 + + gt23L*PDstandardNth3Xt3) + Gtl212*Xtn1 + Gtl222*Xtn2 + Gtl223*Xtn3 + khalf*(-2*(gtu12*(J11L*J12L*PDstandardNth11gt22 + J12L*J21L*PDstandardNth12gt22 + J11L*J22L*PDstandardNth12gt22 + J12L*J31L*PDstandardNth13gt22 + J11L*J32L*PDstandardNth13gt22 + @@ -849,7 +684,12 @@ void ML_BSSN_MP_constraints1_Body(cGH const * restrict const cctkGH, int const d dJ333L*PDstandardNth3gt22 + PDstandardNth11gt22*SQR(J13L) + PDstandardNth22gt22*SQR(J23L) + PDstandardNth33gt22*SQR(J33L))); - CCTK_REAL Rt23 = khalf*((gt13L*J12L + gt12L*J13L)*PDstandardNth1Xt1 + + CCTK_REAL Rt23 = Gt113*Gtlu211 + Gt133*Gtlu213 + Gt213*Gtlu221 + + Gt233*Gtlu223 + (Gt212 + Gt313)*Gtlu231 + (Gt222 + Gt323)*Gtlu232 + + Gt333*Gtlu233 + Gt112*(Gtlu131 + Gtlu311) + Gt122*(Gtlu132 + Gtlu312) + + Gt123*(Gtlu133 + Gtlu212 + Gtlu313) + Gt212*Gtlu321 + Gt222*Gtlu322 + + Gt223*(Gtlu222 + Gtlu233 + Gtlu323) + 2*(Gt312*Gtlu331 + Gt322*Gtlu332 + + Gt323*Gtlu333) + khalf*((gt13L*J12L + gt12L*J13L)*PDstandardNth1Xt1 + (gt23L*J12L + gt22L*J13L)*PDstandardNth1Xt2 + (gt33L*J12L + gt23L*J13L)*PDstandardNth1Xt3 + (gt13L*J22L + gt12L*J23L)*PDstandardNth2Xt1 + (gt23L*J22L + @@ -875,78 +715,9 @@ void ML_BSSN_MP_constraints1_Body(cGH const * restrict const cctkGH, int const d dJ323L*PDstandardNth3gt23)) + (gt13L*J32L + gt12L*J33L)*PDstandardNth3Xt1 + (gt23L*J32L + gt22L*J33L)*PDstandardNth3Xt2 + (gt33L*J32L + - gt23L*J33L)*PDstandardNth3Xt3 + (Gt113*gt12L + Gt112*gt13L + - Gt213*gt22L + Gt212*gt23L + gt23L*Gt313 + Gt312*gt33L)*Xt1L + - (Gt123*gt12L + Gt122*gt13L + Gt223*gt22L + Gt222*gt23L + gt23L*Gt323 + - Gt322*gt33L)*Xt2L + (gt12L*Gt133 + Gt123*gt13L + gt22L*Gt233 + - Gt223*gt23L + gt23L*Gt333 + Gt323*gt33L)*Xt3L + 2*((Gt112*gt11L*Gt123 + - Gt111*Gt123*gt12L + Gt111*Gt122*gt13L + Gt123*gt12L*Gt212 + - Gt112*gt13L*Gt222 + 2*Gt112*gt12L*Gt223 + Gt123*Gt211*gt22L + - 2*Gt212*Gt223*gt22L + Gt122*Gt211*gt23L + Gt212*Gt222*gt23L + - Gt123*gt23L*Gt311 + Gt123*gt13L*Gt312 + 2*Gt223*gt23L*Gt312 + - Gt113*gt13L*Gt322 + Gt213*gt23L*Gt322 + Gt113*gt12L*Gt323 + - Gt112*gt13L*Gt323 + Gt213*gt22L*Gt323 + Gt212*gt23L*Gt323 + - gt23L*Gt313*Gt323 + Gt122*Gt311*gt33L + Gt222*Gt312*gt33L + - Gt313*Gt322*gt33L + Gt312*Gt323*gt33L)*gtu12 + (Gt112*gt11L*Gt133 + - Gt111*gt12L*Gt133 + Gt111*Gt123*gt13L + gt12L*Gt133*Gt212 + - Gt112*gt13L*Gt223 + Gt133*Gt211*gt22L + 2*Gt112*gt12L*Gt233 + - 2*Gt212*gt22L*Gt233 + Gt123*Gt211*gt23L + Gt212*Gt223*gt23L + - Gt133*gt23L*Gt311 + Gt133*gt13L*Gt312 + 2*Gt233*gt23L*Gt312 + - Gt113*gt13L*Gt323 + Gt213*gt23L*Gt323 + Gt113*gt12L*Gt333 + - Gt112*gt13L*Gt333 + Gt213*gt22L*Gt333 + Gt212*gt23L*Gt333 + - gt23L*Gt313*Gt333 + Gt123*Gt311*gt33L + Gt223*Gt312*gt33L + - Gt313*Gt323*gt33L + Gt312*Gt333*gt33L)*gtu13 + gtu12*(Gt113*gt11L*Gt122 - + Gt122*gt13L*Gt212 + 2*Gt122*gt12L*Gt213 + Gt113*gt12L*Gt222 + - Gt113*Gt212*gt22L + 2*Gt213*Gt222*gt22L + Gt212*Gt222*gt23L + - Gt123*gt13L*Gt312 + Gt113*gt23L*Gt312 + Gt223*gt23L*Gt312 + - Gt123*gt12L*Gt313 + Gt122*gt13L*Gt313 + Gt223*gt22L*Gt313 + - Gt222*gt23L*Gt313 + Gt113*gt13L*Gt322 + 2*Gt213*gt23L*Gt322 + - gt23L*Gt313*Gt323 + Gt212*Gt322*gt33L + Gt313*Gt322*gt33L + - Gt312*Gt323*gt33L + Gt112*(Gt113*gt12L + Gt212*gt23L + Gt312*gt33L) + - gt13L*SQR(Gt112)) + gtu13*(2*Gt213*Gt223*gt22L + Gt112*Gt213*gt23L + - Gt212*Gt223*gt23L + Gt133*gt13L*Gt312 + Gt233*gt23L*Gt312 + - gt12L*Gt133*Gt313 + gt22L*Gt233*Gt313 + Gt223*gt23L*Gt313 + - Gt123*(2*gt12L*Gt213 + gt13L*(Gt212 + Gt313)) + 2*Gt213*gt23L*Gt323 + - Gt113*(gt11L*Gt123 + Gt112*gt13L + gt12L*Gt223 + Gt213*gt22L + - gt23L*Gt313 + gt13L*Gt323) + gt23L*Gt313*Gt333 + Gt112*Gt313*gt33L + - Gt212*Gt323*gt33L + Gt313*Gt323*gt33L + Gt312*Gt333*gt33L + - gt12L*SQR(Gt113)) + gtu11*(Gt112*Gt113*gt11L + Gt111*Gt113*gt12L + - Gt111*Gt112*gt13L + Gt113*gt12L*Gt212 + Gt112*gt13L*Gt212 + - 2*Gt112*gt12L*Gt213 + Gt113*Gt211*gt22L + 2*Gt212*Gt213*gt22L + - Gt112*Gt211*gt23L + Gt113*gt23L*Gt311 + 2*Gt113*gt13L*Gt312 + - 3*Gt213*gt23L*Gt312 + Gt113*gt12L*Gt313 + Gt112*gt13L*Gt313 + - Gt213*gt22L*Gt313 + Gt212*gt23L*Gt313 + Gt112*Gt311*gt33L + - Gt212*Gt312*gt33L + 2*Gt312*Gt313*gt33L + gt23L*SQR(Gt212) + - gt23L*SQR(Gt313)) + gtu22*(gt11L*Gt122*Gt123 + Gt112*Gt123*gt12L + - Gt112*Gt122*gt13L + Gt123*gt12L*Gt222 + Gt122*gt13L*Gt222 + - 2*Gt122*gt12L*Gt223 + Gt123*Gt212*gt22L + 2*Gt222*Gt223*gt22L + - Gt122*Gt212*gt23L + Gt123*gt23L*Gt312 + 2*Gt123*gt13L*Gt322 + - 3*Gt223*gt23L*Gt322 + Gt123*gt12L*Gt323 + Gt122*gt13L*Gt323 + - Gt223*gt22L*Gt323 + Gt222*gt23L*Gt323 + Gt122*Gt312*gt33L + - Gt222*Gt322*gt33L + 2*Gt322*Gt323*gt33L + gt23L*SQR(Gt222) + - gt23L*SQR(Gt323)) + gtu23*(gt11L*Gt122*Gt133 + Gt112*gt12L*Gt133 + - Gt112*Gt123*gt13L + gt12L*Gt133*Gt222 + Gt122*gt13L*Gt223 + - Gt133*Gt212*gt22L + 2*Gt122*gt12L*Gt233 + 2*Gt222*gt22L*Gt233 + - Gt123*Gt212*gt23L + Gt222*Gt223*gt23L + Gt133*gt23L*Gt312 + - Gt133*gt13L*Gt322 + 2*Gt233*gt23L*Gt322 + Gt123*gt13L*Gt323 + - Gt223*gt23L*Gt323 + Gt123*gt12L*Gt333 + Gt122*gt13L*Gt333 + - Gt223*gt22L*Gt333 + Gt222*gt23L*Gt333 + gt23L*Gt323*Gt333 + - Gt123*Gt312*gt33L + Gt223*Gt322*gt33L + Gt322*Gt333*gt33L + - gt33L*SQR(Gt323)) + gtu23*(Gt113*Gt123*gt12L + Gt113*Gt122*gt13L + - Gt123*gt13L*Gt222 + 3*Gt123*gt12L*Gt223 + Gt123*Gt213*gt22L + - Gt122*Gt213*gt23L + Gt222*Gt223*gt23L + Gt123*gt23L*Gt313 + - Gt133*gt13L*Gt322 + Gt233*gt23L*Gt322 + gt12L*Gt133*Gt323 + - 2*Gt123*gt13L*Gt323 + gt22L*Gt233*Gt323 + 3*Gt223*gt23L*Gt323 + - gt23L*Gt323*Gt333 + Gt122*Gt313*gt33L + Gt222*Gt323*gt33L + - Gt322*Gt333*gt33L + gt11L*SQR(Gt123) + 2*gt22L*SQR(Gt223) + - gt33L*SQR(Gt323)) + gtu33*(gt11L*Gt123*Gt133 + Gt113*gt12L*Gt133 + - Gt113*Gt123*gt13L + gt12L*Gt133*Gt223 + Gt123*gt13L*Gt223 + - Gt133*Gt213*gt22L + 2*Gt123*gt12L*Gt233 + 2*Gt223*gt22L*Gt233 + - Gt123*Gt213*gt23L + Gt133*gt23L*Gt313 + 2*Gt133*gt13L*Gt323 + - 3*Gt233*gt23L*Gt323 + gt12L*Gt133*Gt333 + Gt123*gt13L*Gt333 + - gt22L*Gt233*Gt333 + Gt223*gt23L*Gt333 + Gt123*Gt313*gt33L + - Gt223*Gt323*gt33L + 2*Gt323*Gt333*gt33L + gt23L*SQR(Gt223) + - gt23L*SQR(Gt333))) - gtu11*(2*J11L*J21L*PDstandardNth12gt23 + + gt23L*J33L)*PDstandardNth3Xt3 + (Gtl213 + Gtl312)*Xtn1 + (Gtl223 + + Gtl322)*Xtn2 + (Gtl233 + Gtl323)*Xtn3 - + gtu11*(2*J11L*J21L*PDstandardNth12gt23 + 2*J11L*J31L*PDstandardNth13gt23 + dJ111L*PDstandardNth1gt23 + 2*J21L*J31L*PDstandardNth23gt23 + dJ211L*PDstandardNth2gt23 + dJ311L*PDstandardNth3gt23 + PDstandardNth11gt23*SQR(J11L) + @@ -962,41 +733,15 @@ void ML_BSSN_MP_constraints1_Body(cGH const * restrict const cctkGH, int const d dJ333L*PDstandardNth3gt23 + PDstandardNth11gt23*SQR(J13L) + PDstandardNth22gt23*SQR(J23L) + PDstandardNth33gt23*SQR(J33L))); - CCTK_REAL Rt33 = (4*((Gt123*gt13L + Gt223*gt23L)*Gt313 + (Gt113*gt13L - + Gt213*gt23L)*Gt323) + (2*Gt213*Gt322 + 6*Gt313*Gt323)*gt33L + - 2*(gt13L*(Gt122*Gt213 + Gt112*Gt223) + Gt213*(Gt223*gt22L + - Gt222*gt23L) + Gt123*(Gt111*gt13L + gt12L*Gt213 + Gt211*gt23L + - Gt311*gt33L) + Gt223*(Gt212*gt23L + Gt312*gt33L) + Gt113*(gt11L*Gt123 + - Gt112*gt13L + gt12L*Gt223 + Gt212*gt23L + Gt312*gt33L)))*gtu12 + + CCTK_REAL Rt33 = Gt113*(Gtlu131 + 2*Gtlu311) + Gt123*(Gtlu132 + + 2*Gtlu312) + Gt133*(Gtlu133 + 2*Gtlu313) + Gt213*(Gtlu231 + 2*Gtlu321) + + Gt223*(Gtlu232 + 2*Gtlu322) + Gt233*(Gtlu233 + 2*Gtlu323) + + 3*(Gt313*Gtlu331 + Gt323*Gtlu332 + Gt333*Gtlu333) + J13L*(gt13L*PDstandardNth1Xt1 + gt23L*PDstandardNth1Xt2 + gt33L*PDstandardNth1Xt3) + J23L*(gt13L*PDstandardNth2Xt1 + gt23L*PDstandardNth2Xt2 + gt33L*PDstandardNth2Xt3) + J33L*(gt13L*PDstandardNth3Xt1 + gt23L*PDstandardNth3Xt2 + - gt33L*PDstandardNth3Xt3) + (Gt113*gt13L + Gt213*gt23L + - Gt313*gt33L)*Xt1L + (Gt123*gt13L + Gt223*gt23L + Gt323*gt33L)*Xt2L + - (Gt133*gt13L + Gt233*gt23L + Gt333*gt33L)*Xt3L + - gtu13*(Gt133*(Gt113*gt11L + 2*(Gt111*gt13L + gt12L*Gt213 + Gt211*gt23L) - + 4*gt13L*Gt313) + Gt333*(3*Gt113*gt13L + 4*Gt213*gt23L + - 6*Gt313*gt33L) + Gt233*(Gt113*gt12L + 4*gt23L*Gt313 + 2*(Gt213*gt22L + - Gt212*gt23L + Gt312*gt33L)) + Gt113*(gt11L*Gt133 + gt12L*Gt233 + - gt13L*Gt333 + 2*(Gt213*gt23L + Gt313*gt33L)) + 2*(Gt133*Gt311*gt33L + - Gt213*(Gt223*gt23L + Gt323*gt33L) + gt13L*(Gt123*Gt213 + Gt112*Gt233 + - SQR(Gt113)))) + gtu23*(4*((Gt133*gt13L + Gt233*gt23L)*Gt323 + - (Gt123*gt13L + Gt223*gt23L)*Gt333) + Gt323*(2*Gt223 + 6*Gt333)*gt33L + - 2*(Gt133*(Gt112*gt13L + gt12L*Gt223 + Gt212*gt23L + Gt312*gt33L) + - Gt123*(gt11L*Gt133 + gt13L*(Gt113 + Gt223) + gt12L*Gt233 + Gt213*gt23L - + Gt313*gt33L) + Gt233*(Gt122*gt13L + Gt223*gt22L + Gt222*gt23L + - Gt322*gt33L) + gt23L*SQR(Gt223))) + gtu11*(4*(Gt113*gt13L + - Gt213*gt23L)*Gt313 + 2*(Gt113*(Gt111*gt13L + gt12L*Gt213 + Gt211*gt23L - + Gt311*gt33L) + Gt213*(Gt112*gt13L + Gt212*gt23L + Gt312*gt33L)) + - gt11L*SQR(Gt113) + gt22L*SQR(Gt213) + 3*gt33L*SQR(Gt313)) + - gtu22*(4*(Gt123*gt13L + Gt223*gt23L)*Gt323 + 2*(Gt123*(Gt112*gt13L + - gt12L*Gt223 + Gt212*gt23L + Gt312*gt33L) + Gt223*(Gt122*gt13L + - Gt222*gt23L + Gt322*gt33L)) + gt11L*SQR(Gt123) + gt22L*SQR(Gt223) + - 3*gt33L*SQR(Gt323)) + gtu33*(4*(Gt133*gt13L + Gt233*gt23L)*Gt333 + - 2*(Gt133*(Gt113*gt13L + gt12L*Gt233 + Gt213*gt23L + Gt313*gt33L) + - Gt233*(Gt123*gt13L + Gt223*gt23L + Gt323*gt33L)) + gt11L*SQR(Gt133) + - gt22L*SQR(Gt233) + 3*gt33L*SQR(Gt333)) + + gt33L*PDstandardNth3Xt3) + Gtl313*Xtn1 + Gtl323*Xtn2 + Gtl333*Xtn3 + khalf*(-2*(gtu12*(J11L*J12L*PDstandardNth11gt33 + J12L*J21L*PDstandardNth12gt33 + J11L*J22L*PDstandardNth12gt33 + J12L*J31L*PDstandardNth13gt33 + J11L*J32L*PDstandardNth13gt33 + @@ -1205,23 +950,8 @@ void ML_BSSN_MP_constraints1_Body(cGH const * restrict const cctkGH, int const d SQR(Atm22) + SQR(Atm33)) + 0.6666666666666666666666666666666666666667*SQR(trKL); - CCTK_REAL cSL = Log(detgt); - - CCTK_REAL cXt1L = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu12 + - Gt113*gtu13 + Gt123*gtu23) + Gt133*gtu33 - Xt1L; - - CCTK_REAL cXt2L = Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu12 + - Gt213*gtu13 + Gt223*gtu23) + Gt233*gtu33 - Xt2L; - - CCTK_REAL cXt3L = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu12 + - Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33 - Xt3L; - /* Copy local copies back to grid functions */ - cS[index] = cSL; - cXt1[index] = cXt1L; - cXt2[index] = cXt2L; - cXt3[index] = cXt3L; H[index] = HL; } LC_ENDLOOP3 (ML_BSSN_MP_constraints1); diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_constraints2.c b/ML_BSSN_MP/src/ML_BSSN_MP_constraints2.c index d21ae4a..cc71cd2 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_constraints2.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_constraints2.c @@ -26,6 +26,12 @@ void ML_BSSN_MP_constraints2_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_PARAMETERS; CCTK_INT ierr = 0; + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_cons_detg","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_cons_detg."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_cons_Gamma","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_cons_Gamma."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_cons_traceA","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_cons_traceA."); @@ -53,9 +59,6 @@ void ML_BSSN_MP_constraints2_Body(cGH const * restrict const cctkGH, int const d return; } - const char *groups[] = {"Coordinates::jacobian","ML_BSSN_MP::ML_cons_traceA","ML_BSSN_MP::ML_curv","ML_BSSN_MP::ML_lapse","ML_BSSN_MP::ML_log_confac","ML_BSSN_MP::ML_metric","ML_BSSN_MP::ML_mom","ML_BSSN_MP::ML_shift","ML_BSSN_MP::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_constraints2", 9, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -186,6 +189,9 @@ void ML_BSSN_MP_constraints2_Body(cGH const * restrict const cctkGH, int const d CCTK_REAL J33L = J33[index]; CCTK_REAL phiL = phi[index]; CCTK_REAL trKL = trK[index]; + CCTK_REAL Xt1L = Xt1[index]; + CCTK_REAL Xt2L = Xt2[index]; + CCTK_REAL Xt3L = Xt3[index]; /* Include user supplied include files */ @@ -248,164 +254,116 @@ void ML_BSSN_MP_constraints2_Body(cGH const * restrict const cctkGH, int const d CCTK_REAL gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L)); - CCTK_REAL Gt111 = khalf*((gtu11*J11L - gtu12*J12L - - gtu13*J13L)*PDstandardNth1gt11 + (gtu11*J21L - gtu12*J22L - - gtu13*J23L)*PDstandardNth2gt11 + (gtu11*J31L - gtu12*J32L - - gtu13*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu12*PDstandardNth1gt12 + - gtu13*PDstandardNth1gt13) + J21L*(gtu12*PDstandardNth2gt12 + - gtu13*PDstandardNth2gt13) + J31L*(gtu12*PDstandardNth3gt12 + - gtu13*PDstandardNth3gt13))); - - CCTK_REAL Gt211 = khalf*((gtu12*J11L - gtu22*J12L - - gtu23*J13L)*PDstandardNth1gt11 + (gtu12*J21L - gtu22*J22L - - gtu23*J23L)*PDstandardNth2gt11 + (gtu12*J31L - gtu22*J32L - - gtu23*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu22*PDstandardNth1gt12 + - gtu23*PDstandardNth1gt13) + J21L*(gtu22*PDstandardNth2gt12 + - gtu23*PDstandardNth2gt13) + J31L*(gtu22*PDstandardNth3gt12 + - gtu23*PDstandardNth3gt13))); - - CCTK_REAL Gt311 = khalf*((gtu13*J11L - gtu23*J12L - - gtu33*J13L)*PDstandardNth1gt11 + (gtu13*J21L - gtu23*J22L - - gtu33*J23L)*PDstandardNth2gt11 + (gtu13*J31L - gtu23*J32L - - gtu33*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu23*PDstandardNth1gt12 + - gtu33*PDstandardNth1gt13) + J21L*(gtu23*PDstandardNth2gt12 + - gtu33*PDstandardNth2gt13) + J31L*(gtu23*PDstandardNth3gt12 + - gtu33*PDstandardNth3gt13))); - - CCTK_REAL Gt112 = khalf*(gtu11*(J12L*PDstandardNth1gt11 + - J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11) + - gtu12*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + - J31L*PDstandardNth3gt22) + gtu13*(-(J13L*PDstandardNth1gt12) + - J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 - - J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 + - J21L*PDstandardNth2gt23 - J33L*PDstandardNth3gt12 + - J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23)); + CCTK_REAL Gtl111 = khalf*(J11L*PDstandardNth1gt11 + + J21L*PDstandardNth2gt11 + J31L*PDstandardNth3gt11); - CCTK_REAL Gt212 = khalf*(gtu12*(J12L*PDstandardNth1gt11 + - J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11) + - gtu22*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + - J31L*PDstandardNth3gt22) + gtu23*(-(J13L*PDstandardNth1gt12) + - J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 - - J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 + - J21L*PDstandardNth2gt23 - J33L*PDstandardNth3gt12 + - J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23)); + CCTK_REAL Gtl112 = khalf*(J12L*PDstandardNth1gt11 + + J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11); + + CCTK_REAL Gtl113 = khalf*(J13L*PDstandardNth1gt11 + + J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11); + + CCTK_REAL Gtl122 = J12L*PDstandardNth1gt12 - + J11L*khalf*PDstandardNth1gt22 + J22L*PDstandardNth2gt12 - + J21L*khalf*PDstandardNth2gt22 + J32L*PDstandardNth3gt12 - + J31L*khalf*PDstandardNth3gt22; + + CCTK_REAL Gtl123 = khalf*(J13L*PDstandardNth1gt12 + + J12L*PDstandardNth1gt13 - J11L*PDstandardNth1gt23 + + J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 - + J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 + + J32L*PDstandardNth3gt13 - J31L*PDstandardNth3gt23); - CCTK_REAL Gt312 = khalf*(gtu13*(J12L*PDstandardNth1gt11 + - J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11) + - gtu23*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + - J31L*PDstandardNth3gt22) + gtu33*(-(J13L*PDstandardNth1gt12) + + CCTK_REAL Gtl133 = J13L*PDstandardNth1gt13 - + J11L*khalf*PDstandardNth1gt33 + J23L*PDstandardNth2gt13 - + J21L*khalf*PDstandardNth2gt33 + J33L*PDstandardNth3gt13 - + J31L*khalf*PDstandardNth3gt33; + + CCTK_REAL Gtl211 = -(J12L*khalf*PDstandardNth1gt11) + + J11L*PDstandardNth1gt12 - J22L*khalf*PDstandardNth2gt11 + + J21L*PDstandardNth2gt12 - J32L*khalf*PDstandardNth3gt11 + + J31L*PDstandardNth3gt12; + + CCTK_REAL Gtl212 = khalf*(J11L*PDstandardNth1gt22 + + J21L*PDstandardNth2gt22 + J31L*PDstandardNth3gt22); + + CCTK_REAL Gtl213 = khalf*(J13L*PDstandardNth1gt12 - + J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 + + J23L*PDstandardNth2gt12 - J22L*PDstandardNth2gt13 + + J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 - + J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23); + + CCTK_REAL Gtl222 = khalf*(J12L*PDstandardNth1gt22 + + J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22); + + CCTK_REAL Gtl223 = khalf*(J13L*PDstandardNth1gt22 + + J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22); + + CCTK_REAL Gtl233 = J13L*PDstandardNth1gt23 - + J12L*khalf*PDstandardNth1gt33 + J23L*PDstandardNth2gt23 - + J22L*khalf*PDstandardNth2gt33 + J33L*PDstandardNth3gt23 - + J32L*khalf*PDstandardNth3gt33; + + CCTK_REAL Gtl311 = -(J13L*khalf*PDstandardNth1gt11) + + J11L*PDstandardNth1gt13 - J23L*khalf*PDstandardNth2gt11 + + J21L*PDstandardNth2gt13 - J33L*khalf*PDstandardNth3gt11 + + J31L*PDstandardNth3gt13; + + CCTK_REAL Gtl312 = khalf*(-(J13L*PDstandardNth1gt12) + J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 - J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 - J33L*PDstandardNth3gt12 + - J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23)); - - CCTK_REAL Gt113 = khalf*(gtu11*(J13L*PDstandardNth1gt11 + - J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11) + - gtu12*(J13L*PDstandardNth1gt12 - J12L*PDstandardNth1gt13 + - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 - - J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 + - J33L*PDstandardNth3gt12 - J32L*PDstandardNth3gt13 + - J31L*PDstandardNth3gt23) + gtu13*(J11L*PDstandardNth1gt33 + - J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33)); - - CCTK_REAL Gt213 = khalf*(gtu12*(J13L*PDstandardNth1gt11 + - J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11) + - gtu22*(J13L*PDstandardNth1gt12 - J12L*PDstandardNth1gt13 + - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 - - J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 + - J33L*PDstandardNth3gt12 - J32L*PDstandardNth3gt13 + - J31L*PDstandardNth3gt23) + gtu23*(J11L*PDstandardNth1gt33 + - J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33)); - - CCTK_REAL Gt313 = khalf*(gtu13*(J13L*PDstandardNth1gt11 + - J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11) + - gtu23*(J13L*PDstandardNth1gt12 - J12L*PDstandardNth1gt13 + - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 - - J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 + - J33L*PDstandardNth3gt12 - J32L*PDstandardNth3gt13 + - J31L*PDstandardNth3gt23) + gtu33*(J11L*PDstandardNth1gt33 + - J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33)); - - CCTK_REAL Gt122 = khalf*(gtu11*(-(J11L*PDstandardNth1gt22) + - 2*(J12L*PDstandardNth1gt12 + J22L*PDstandardNth2gt12) - - J21L*PDstandardNth2gt22 + 2*J32L*PDstandardNth3gt12 - - J31L*PDstandardNth3gt22) + gtu12*(J12L*PDstandardNth1gt22 + - J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22) - - gtu13*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + - J33L*PDstandardNth3gt22 - 2*(J12L*PDstandardNth1gt23 + - J22L*PDstandardNth2gt23 + J32L*PDstandardNth3gt23))); - - CCTK_REAL Gt222 = khalf*(gtu12*(-(J11L*PDstandardNth1gt22) + - 2*(J12L*PDstandardNth1gt12 + J22L*PDstandardNth2gt12) - - J21L*PDstandardNth2gt22 + 2*J32L*PDstandardNth3gt12 - - J31L*PDstandardNth3gt22) + gtu22*(J12L*PDstandardNth1gt22 + - J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22) - - gtu23*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + - J33L*PDstandardNth3gt22 - 2*(J12L*PDstandardNth1gt23 + - J22L*PDstandardNth2gt23 + J32L*PDstandardNth3gt23))); - - CCTK_REAL Gt322 = khalf*(gtu13*(-(J11L*PDstandardNth1gt22) + - 2*(J12L*PDstandardNth1gt12 + J22L*PDstandardNth2gt12) - - J21L*PDstandardNth2gt22 + 2*J32L*PDstandardNth3gt12 - - J31L*PDstandardNth3gt22) + gtu23*(J12L*PDstandardNth1gt22 + - J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22) - - gtu33*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + - J33L*PDstandardNth3gt22 - 2*(J12L*PDstandardNth1gt23 + - J22L*PDstandardNth2gt23 + J32L*PDstandardNth3gt23))); - - CCTK_REAL Gt123 = khalf*(gtu12*(J13L*PDstandardNth1gt22 + - J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22) + - gtu11*(J13L*PDstandardNth1gt12 + J12L*PDstandardNth1gt13 - - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 + - J22L*PDstandardNth2gt13 - J21L*PDstandardNth2gt23 + - J33L*PDstandardNth3gt12 + J32L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt23) + gtu13*(J12L*PDstandardNth1gt33 + - J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33)); - - CCTK_REAL Gt223 = khalf*(gtu22*(J13L*PDstandardNth1gt22 + - J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22) + - gtu12*(J13L*PDstandardNth1gt12 + J12L*PDstandardNth1gt13 - - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 + - J22L*PDstandardNth2gt13 - J21L*PDstandardNth2gt23 + - J33L*PDstandardNth3gt12 + J32L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt23) + gtu23*(J12L*PDstandardNth1gt33 + - J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33)); - - CCTK_REAL Gt323 = khalf*(gtu23*(J13L*PDstandardNth1gt22 + - J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22) + - gtu13*(J13L*PDstandardNth1gt12 + J12L*PDstandardNth1gt13 - - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 + - J22L*PDstandardNth2gt13 - J21L*PDstandardNth2gt23 + - J33L*PDstandardNth3gt12 + J32L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt23) + gtu33*(J12L*PDstandardNth1gt33 + - J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33)); - - CCTK_REAL Gt133 = khalf*(gtu11*(-(J11L*PDstandardNth1gt33) + - 2*(J13L*PDstandardNth1gt13 + J23L*PDstandardNth2gt13) - - J21L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt33) + gtu12*(-(J12L*PDstandardNth1gt33) + - 2*(J13L*PDstandardNth1gt23 + J23L*PDstandardNth2gt23) - - J22L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt23 - - J32L*PDstandardNth3gt33) + gtu13*(J13L*PDstandardNth1gt33 + - J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33)); - - CCTK_REAL Gt233 = khalf*(gtu12*(-(J11L*PDstandardNth1gt33) + - 2*(J13L*PDstandardNth1gt13 + J23L*PDstandardNth2gt13) - - J21L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt33) + gtu22*(-(J12L*PDstandardNth1gt33) + - 2*(J13L*PDstandardNth1gt23 + J23L*PDstandardNth2gt23) - - J22L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt23 - - J32L*PDstandardNth3gt33) + gtu23*(J13L*PDstandardNth1gt33 + - J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33)); - - CCTK_REAL Gt333 = khalf*(gtu13*(-(J11L*PDstandardNth1gt33) + - 2*(J13L*PDstandardNth1gt13 + J23L*PDstandardNth2gt13) - - J21L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt33) + gtu23*(-(J12L*PDstandardNth1gt33) + - 2*(J13L*PDstandardNth1gt23 + J23L*PDstandardNth2gt23) - - J22L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt23 - - J32L*PDstandardNth3gt33) + gtu33*(J13L*PDstandardNth1gt33 + - J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33)); + J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23); + + CCTK_REAL Gtl313 = khalf*(J11L*PDstandardNth1gt33 + + J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33); + + CCTK_REAL Gtl322 = -(J13L*khalf*PDstandardNth1gt22) + + J12L*PDstandardNth1gt23 - J23L*khalf*PDstandardNth2gt22 + + J22L*PDstandardNth2gt23 - J33L*khalf*PDstandardNth3gt22 + + J32L*PDstandardNth3gt23; + + CCTK_REAL Gtl323 = khalf*(J12L*PDstandardNth1gt33 + + J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33); + + CCTK_REAL Gtl333 = khalf*(J13L*PDstandardNth1gt33 + + J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33); + + CCTK_REAL Gt111 = Gtl111*gtu11 + Gtl211*gtu12 + Gtl311*gtu13; + + CCTK_REAL Gt211 = Gtl111*gtu12 + Gtl211*gtu22 + Gtl311*gtu23; + + CCTK_REAL Gt311 = Gtl111*gtu13 + Gtl211*gtu23 + Gtl311*gtu33; + + CCTK_REAL Gt112 = Gtl112*gtu11 + Gtl212*gtu12 + Gtl312*gtu13; + + CCTK_REAL Gt212 = Gtl112*gtu12 + Gtl212*gtu22 + Gtl312*gtu23; + + CCTK_REAL Gt312 = Gtl112*gtu13 + Gtl212*gtu23 + Gtl312*gtu33; + + CCTK_REAL Gt113 = Gtl113*gtu11 + Gtl213*gtu12 + Gtl313*gtu13; + + CCTK_REAL Gt213 = Gtl113*gtu12 + Gtl213*gtu22 + Gtl313*gtu23; + + CCTK_REAL Gt313 = Gtl113*gtu13 + Gtl213*gtu23 + Gtl313*gtu33; + + CCTK_REAL Gt122 = Gtl122*gtu11 + Gtl222*gtu12 + Gtl322*gtu13; + + CCTK_REAL Gt222 = Gtl122*gtu12 + Gtl222*gtu22 + Gtl322*gtu23; + + CCTK_REAL Gt322 = Gtl122*gtu13 + Gtl222*gtu23 + Gtl322*gtu33; + + CCTK_REAL Gt123 = Gtl123*gtu11 + Gtl223*gtu12 + Gtl323*gtu13; + + CCTK_REAL Gt223 = Gtl123*gtu12 + Gtl223*gtu22 + Gtl323*gtu23; + + CCTK_REAL Gt323 = Gtl123*gtu13 + Gtl223*gtu23 + Gtl323*gtu33; + + CCTK_REAL Gt133 = Gtl133*gtu11 + Gtl233*gtu12 + Gtl333*gtu13; + + CCTK_REAL Gt233 = Gtl133*gtu12 + Gtl233*gtu22 + Gtl333*gtu23; + + CCTK_REAL Gt333 = Gtl133*gtu13 + Gtl233*gtu23 + Gtl333*gtu33; CCTK_REAL fac1 = IfThen(conformalMethod,-(khalf*INV(phiL)),1); @@ -521,12 +479,27 @@ void ML_BSSN_MP_constraints2_Body(cGH const * restrict const cctkGH, int const d J33L*ktwothird*PDstandardNth3trK - 25.13274122871834590770114706623602307358*S3; + CCTK_REAL cSL = Log(detgt); + + CCTK_REAL cXt1L = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu12 + + Gt113*gtu13 + Gt123*gtu23) + Gt133*gtu33 - Xt1L; + + CCTK_REAL cXt2L = Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu12 + + Gt213*gtu13 + Gt223*gtu23) + Gt233*gtu33 - Xt2L; + + CCTK_REAL cXt3L = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu12 + + Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33 - Xt3L; + CCTK_REAL cAL = At11L*gtu11 + At22L*gtu22 + 2*(At12L*gtu12 + At13L*gtu13 + At23L*gtu23) + At33L*gtu33; /* Copy local copies back to grid functions */ cA[index] = cAL; + cS[index] = cSL; + cXt1[index] = cXt1L; + cXt2[index] = cXt2L; + cXt3[index] = cXt3L; M1[index] = M1L; M2[index] = M2L; M3[index] = M3L; diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBase.c b/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBase.c index 3ebb554..40f2691 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBase.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBase.c @@ -38,9 +38,6 @@ void ML_BSSN_MP_convertFromADMBase_Body(cGH const * restrict const cctkGH, int c return; } - const char *groups[] = {"ADMBase::curv","ADMBase::lapse","ADMBase::metric","ADMBase::shift","ML_BSSN_MP::ML_curv","ML_BSSN_MP::ML_lapse","ML_BSSN_MP::ML_log_confac","ML_BSSN_MP::ML_metric","ML_BSSN_MP::ML_shift","ML_BSSN_MP::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_convertFromADMBase", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c b/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c index 59b4d8e..eda350c 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c @@ -56,9 +56,6 @@ void ML_BSSN_MP_convertFromADMBaseGamma_Body(cGH const * restrict const cctkGH, return; } - const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","Coordinates::jacobian","grid::coordinates","Grid::coordinates","ML_BSSN_MP::ML_dtlapse","ML_BSSN_MP::ML_dtshift","ML_BSSN_MP::ML_Gamma","ML_BSSN_MP::ML_lapse","ML_BSSN_MP::ML_metric","ML_BSSN_MP::ML_shift"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_convertFromADMBaseGamma", 11, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBase.c b/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBase.c index f1f81f5..ef2fc34 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBase.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBase.c @@ -38,9 +38,6 @@ void ML_BSSN_MP_convertToADMBase_Body(cGH const * restrict const cctkGH, int con return; } - const char *groups[] = {"ADMBase::curv","ADMBase::lapse","ADMBase::metric","ADMBase::shift","ML_BSSN_MP::ML_curv","ML_BSSN_MP::ML_lapse","ML_BSSN_MP::ML_log_confac","ML_BSSN_MP::ML_metric","ML_BSSN_MP::ML_shift","ML_BSSN_MP::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_convertToADMBase", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBaseDtLapseShift.c b/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBaseDtLapseShift.c index 87bf947..6798639 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBaseDtLapseShift.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBaseDtLapseShift.c @@ -53,9 +53,6 @@ void ML_BSSN_MP_convertToADMBaseDtLapseShift_Body(cGH const * restrict const cct return; } - const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","Coordinates::jacobian","grid::coordinates","Grid::coordinates","ML_BSSN_MP::ML_dtlapse","ML_BSSN_MP::ML_dtshift","ML_BSSN_MP::ML_Gamma","ML_BSSN_MP::ML_lapse","ML_BSSN_MP::ML_shift","ML_BSSN_MP::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_convertToADMBaseDtLapseShift", 11, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBaseDtLapseShiftBoundary.c b/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBaseDtLapseShiftBoundary.c index 7b43e9b..44523f0 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBaseDtLapseShiftBoundary.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBaseDtLapseShiftBoundary.c @@ -53,9 +53,6 @@ void ML_BSSN_MP_convertToADMBaseDtLapseShiftBoundary_Body(cGH const * restrict c return; } - const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","grid::coordinates","Grid::coordinates","ML_BSSN_MP::ML_dtlapse","ML_BSSN_MP::ML_dtshift","ML_BSSN_MP::ML_Gamma","ML_BSSN_MP::ML_lapse","ML_BSSN_MP::ML_shift","ML_BSSN_MP::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_convertToADMBaseDtLapseShiftBoundary", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBaseFakeDtLapseShift.c b/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBaseFakeDtLapseShift.c index b7941fd..22c7e99 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBaseFakeDtLapseShift.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBaseFakeDtLapseShift.c @@ -38,9 +38,6 @@ void ML_BSSN_MP_convertToADMBaseFakeDtLapseShift_Body(cGH const * restrict const return; } - const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","grid::coordinates","Grid::coordinates","ML_BSSN_MP::ML_dtlapse","ML_BSSN_MP::ML_dtshift","ML_BSSN_MP::ML_Gamma","ML_BSSN_MP::ML_lapse","ML_BSSN_MP::ML_shift","ML_BSSN_MP::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_convertToADMBaseFakeDtLapseShift", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_enforce.c b/ML_BSSN_MP/src/ML_BSSN_MP_enforce.c index e8c01ef..a79f095 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_enforce.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_enforce.c @@ -38,9 +38,6 @@ void ML_BSSN_MP_enforce_Body(cGH const * restrict const cctkGH, int const dir, i return; } - const char *groups[] = {"ML_BSSN_MP::ML_curv","ML_BSSN_MP::ML_lapse","ML_BSSN_MP::ML_metric"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_enforce", 3, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_MP_Helper/schedule.ccl b/ML_BSSN_MP_Helper/schedule.ccl index 43fff13..14dbea9 100644 --- a/ML_BSSN_MP_Helper/schedule.ccl +++ b/ML_BSSN_MP_Helper/schedule.ccl @@ -139,15 +139,15 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN_MP")) { } else if (CCTK_EQUALS (calculate_ADMBase_variables_at, "CCTK_ANALYSIS")) { + SCHEDULE GROUP ML_BSSN_MP_convertToADMBaseGroupWrapper AT post_recover_variables + { + } "Calculate ADM variables" + SCHEDULE GROUP ML_BSSN_MP_convertToADMBaseGroupWrapper AT analysis BEFORE (ADMBase_SetADMVars Whisky_PostStep) { } "Calculate ADM variables" } - SCHEDULE GROUP ML_BSSN_MP_convertToADMBaseGroupWrapper AT post_recover_variables - { - } "Calculate ADM variables" - SCHEDULE ML_BSSN_MP_SelectBCsADMBase IN ML_BSSN_MP_convertToADMBaseGroupWrapper AFTER ML_BSSN_MP_convertToADMBaseGroup { LANG: C diff --git a/ML_BSSN_MP_O8/param.ccl b/ML_BSSN_MP_O8/param.ccl index 184ff9f..32d58f5 100644 --- a/ML_BSSN_MP_O8/param.ccl +++ b/ML_BSSN_MP_O8/param.ccl @@ -37,11 +37,6 @@ EXTENDS CCTK_KEYWORD dtshift_evolution_method "dtshift_evolution_method" shares: GenericFD -USES CCTK_INT stencil_width -USES CCTK_INT stencil_width_x -USES CCTK_INT stencil_width_y -USES CCTK_INT stencil_width_z -USES CCTK_INT boundary_width shares: MethodOfLines @@ -49,7 +44,7 @@ shares: MethodOfLines USES CCTK_INT MoL_Num_Evolved_Vars restricted: -CCTK_INT verbose "verbose" +CCTK_INT verbose "verbose" STEERABLE=ALWAYS { *:* :: "" } 0 @@ -195,193 +190,193 @@ KEYWORD dt_lapse_shift_method "Treatment of ADMBase dtlapse and dtshift" } "correct" restricted: -CCTK_INT ML_BSSN_MP_O8_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars +CCTK_INT ML_BSSN_MP_O8_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars STEERABLE=RECOVER { 25:25 :: "Number of evolved variables used by this thorn" } 25 restricted: -CCTK_INT timelevels "Number of active timelevels" +CCTK_INT timelevels "Number of active timelevels" STEERABLE=RECOVER { 0:3 :: "" } 3 restricted: -CCTK_INT rhs_timelevels "Number of active RHS timelevels" +CCTK_INT rhs_timelevels "Number of active RHS timelevels" STEERABLE=RECOVER { 0:3 :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_O8_Minkowski_calc_every "ML_BSSN_MP_O8_Minkowski_calc_every" +CCTK_INT ML_BSSN_MP_O8_Minkowski_calc_every "ML_BSSN_MP_O8_Minkowski_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_O8_convertFromADMBase_calc_every "ML_BSSN_MP_O8_convertFromADMBase_calc_every" +CCTK_INT ML_BSSN_MP_O8_convertFromADMBase_calc_every "ML_BSSN_MP_O8_convertFromADMBase_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_O8_convertFromADMBaseGamma_calc_every "ML_BSSN_MP_O8_convertFromADMBaseGamma_calc_every" +CCTK_INT ML_BSSN_MP_O8_convertFromADMBaseGamma_calc_every "ML_BSSN_MP_O8_convertFromADMBaseGamma_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_O8_RHS1_calc_every "ML_BSSN_MP_O8_RHS1_calc_every" +CCTK_INT ML_BSSN_MP_O8_RHS1_calc_every "ML_BSSN_MP_O8_RHS1_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_O8_RHS2_calc_every "ML_BSSN_MP_O8_RHS2_calc_every" +CCTK_INT ML_BSSN_MP_O8_RHS2_calc_every "ML_BSSN_MP_O8_RHS2_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_O8_RHSStaticBoundary_calc_every "ML_BSSN_MP_O8_RHSStaticBoundary_calc_every" +CCTK_INT ML_BSSN_MP_O8_RHSStaticBoundary_calc_every "ML_BSSN_MP_O8_RHSStaticBoundary_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_O8_enforce_calc_every "ML_BSSN_MP_O8_enforce_calc_every" +CCTK_INT ML_BSSN_MP_O8_enforce_calc_every "ML_BSSN_MP_O8_enforce_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_O8_boundary_calc_every "ML_BSSN_MP_O8_boundary_calc_every" +CCTK_INT ML_BSSN_MP_O8_boundary_calc_every "ML_BSSN_MP_O8_boundary_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_O8_convertToADMBase_calc_every "ML_BSSN_MP_O8_convertToADMBase_calc_every" +CCTK_INT ML_BSSN_MP_O8_convertToADMBase_calc_every "ML_BSSN_MP_O8_convertToADMBase_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_O8_convertToADMBaseDtLapseShift_calc_every "ML_BSSN_MP_O8_convertToADMBaseDtLapseShift_calc_every" +CCTK_INT ML_BSSN_MP_O8_convertToADMBaseDtLapseShift_calc_every "ML_BSSN_MP_O8_convertToADMBaseDtLapseShift_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_O8_convertToADMBaseDtLapseShiftBoundary_calc_every "ML_BSSN_MP_O8_convertToADMBaseDtLapseShiftBoundary_calc_every" +CCTK_INT ML_BSSN_MP_O8_convertToADMBaseDtLapseShiftBoundary_calc_every "ML_BSSN_MP_O8_convertToADMBaseDtLapseShiftBoundary_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_O8_convertToADMBaseFakeDtLapseShift_calc_every "ML_BSSN_MP_O8_convertToADMBaseFakeDtLapseShift_calc_every" +CCTK_INT ML_BSSN_MP_O8_convertToADMBaseFakeDtLapseShift_calc_every "ML_BSSN_MP_O8_convertToADMBaseFakeDtLapseShift_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_O8_constraints1_calc_every "ML_BSSN_MP_O8_constraints1_calc_every" +CCTK_INT ML_BSSN_MP_O8_constraints1_calc_every "ML_BSSN_MP_O8_constraints1_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_O8_constraints2_calc_every "ML_BSSN_MP_O8_constraints2_calc_every" +CCTK_INT ML_BSSN_MP_O8_constraints2_calc_every "ML_BSSN_MP_O8_constraints2_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_MP_O8_Minkowski_calc_offset "ML_BSSN_MP_O8_Minkowski_calc_offset" +CCTK_INT ML_BSSN_MP_O8_Minkowski_calc_offset "ML_BSSN_MP_O8_Minkowski_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_MP_O8_convertFromADMBase_calc_offset "ML_BSSN_MP_O8_convertFromADMBase_calc_offset" +CCTK_INT ML_BSSN_MP_O8_convertFromADMBase_calc_offset "ML_BSSN_MP_O8_convertFromADMBase_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_MP_O8_convertFromADMBaseGamma_calc_offset "ML_BSSN_MP_O8_convertFromADMBaseGamma_calc_offset" +CCTK_INT ML_BSSN_MP_O8_convertFromADMBaseGamma_calc_offset "ML_BSSN_MP_O8_convertFromADMBaseGamma_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_MP_O8_RHS1_calc_offset "ML_BSSN_MP_O8_RHS1_calc_offset" +CCTK_INT ML_BSSN_MP_O8_RHS1_calc_offset "ML_BSSN_MP_O8_RHS1_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_MP_O8_RHS2_calc_offset "ML_BSSN_MP_O8_RHS2_calc_offset" +CCTK_INT ML_BSSN_MP_O8_RHS2_calc_offset "ML_BSSN_MP_O8_RHS2_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_MP_O8_RHSStaticBoundary_calc_offset "ML_BSSN_MP_O8_RHSStaticBoundary_calc_offset" +CCTK_INT ML_BSSN_MP_O8_RHSStaticBoundary_calc_offset "ML_BSSN_MP_O8_RHSStaticBoundary_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_MP_O8_enforce_calc_offset "ML_BSSN_MP_O8_enforce_calc_offset" +CCTK_INT ML_BSSN_MP_O8_enforce_calc_offset "ML_BSSN_MP_O8_enforce_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_MP_O8_boundary_calc_offset "ML_BSSN_MP_O8_boundary_calc_offset" +CCTK_INT ML_BSSN_MP_O8_boundary_calc_offset "ML_BSSN_MP_O8_boundary_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_MP_O8_convertToADMBase_calc_offset "ML_BSSN_MP_O8_convertToADMBase_calc_offset" +CCTK_INT ML_BSSN_MP_O8_convertToADMBase_calc_offset "ML_BSSN_MP_O8_convertToADMBase_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_MP_O8_convertToADMBaseDtLapseShift_calc_offset "ML_BSSN_MP_O8_convertToADMBaseDtLapseShift_calc_offset" +CCTK_INT ML_BSSN_MP_O8_convertToADMBaseDtLapseShift_calc_offset "ML_BSSN_MP_O8_convertToADMBaseDtLapseShift_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_MP_O8_convertToADMBaseDtLapseShiftBoundary_calc_offset "ML_BSSN_MP_O8_convertToADMBaseDtLapseShiftBoundary_calc_offset" +CCTK_INT ML_BSSN_MP_O8_convertToADMBaseDtLapseShiftBoundary_calc_offset "ML_BSSN_MP_O8_convertToADMBaseDtLapseShiftBoundary_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_MP_O8_convertToADMBaseFakeDtLapseShift_calc_offset "ML_BSSN_MP_O8_convertToADMBaseFakeDtLapseShift_calc_offset" +CCTK_INT ML_BSSN_MP_O8_convertToADMBaseFakeDtLapseShift_calc_offset "ML_BSSN_MP_O8_convertToADMBaseFakeDtLapseShift_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_MP_O8_constraints1_calc_offset "ML_BSSN_MP_O8_constraints1_calc_offset" +CCTK_INT ML_BSSN_MP_O8_constraints1_calc_offset "ML_BSSN_MP_O8_constraints1_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_MP_O8_constraints2_calc_offset "ML_BSSN_MP_O8_constraints2_calc_offset" +CCTK_INT ML_BSSN_MP_O8_constraints2_calc_offset "ML_BSSN_MP_O8_constraints2_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 private: -KEYWORD At11_bound "Boundary condition to implement" +KEYWORD At11_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -393,7 +388,7 @@ KEYWORD At11_bound "Boundary condition to implement" } "skip" private: -KEYWORD At12_bound "Boundary condition to implement" +KEYWORD At12_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -405,7 +400,7 @@ KEYWORD At12_bound "Boundary condition to implement" } "skip" private: -KEYWORD At13_bound "Boundary condition to implement" +KEYWORD At13_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -417,7 +412,7 @@ KEYWORD At13_bound "Boundary condition to implement" } "skip" private: -KEYWORD At22_bound "Boundary condition to implement" +KEYWORD At22_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -429,7 +424,7 @@ KEYWORD At22_bound "Boundary condition to implement" } "skip" private: -KEYWORD At23_bound "Boundary condition to implement" +KEYWORD At23_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -441,7 +436,7 @@ KEYWORD At23_bound "Boundary condition to implement" } "skip" private: -KEYWORD At33_bound "Boundary condition to implement" +KEYWORD At33_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -453,7 +448,7 @@ KEYWORD At33_bound "Boundary condition to implement" } "skip" private: -KEYWORD A_bound "Boundary condition to implement" +KEYWORD A_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -465,7 +460,7 @@ KEYWORD A_bound "Boundary condition to implement" } "skip" private: -KEYWORD B1_bound "Boundary condition to implement" +KEYWORD B1_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -477,7 +472,7 @@ KEYWORD B1_bound "Boundary condition to implement" } "skip" private: -KEYWORD B2_bound "Boundary condition to implement" +KEYWORD B2_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -489,7 +484,7 @@ KEYWORD B2_bound "Boundary condition to implement" } "skip" private: -KEYWORD B3_bound "Boundary condition to implement" +KEYWORD B3_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -501,7 +496,7 @@ KEYWORD B3_bound "Boundary condition to implement" } "skip" private: -KEYWORD Xt1_bound "Boundary condition to implement" +KEYWORD Xt1_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -513,7 +508,7 @@ KEYWORD Xt1_bound "Boundary condition to implement" } "skip" private: -KEYWORD Xt2_bound "Boundary condition to implement" +KEYWORD Xt2_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -525,7 +520,7 @@ KEYWORD Xt2_bound "Boundary condition to implement" } "skip" private: -KEYWORD Xt3_bound "Boundary condition to implement" +KEYWORD Xt3_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -537,7 +532,7 @@ KEYWORD Xt3_bound "Boundary condition to implement" } "skip" private: -KEYWORD alpha_bound "Boundary condition to implement" +KEYWORD alpha_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -549,7 +544,7 @@ KEYWORD alpha_bound "Boundary condition to implement" } "skip" private: -KEYWORD phi_bound "Boundary condition to implement" +KEYWORD phi_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -561,7 +556,7 @@ KEYWORD phi_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt11_bound "Boundary condition to implement" +KEYWORD gt11_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -573,7 +568,7 @@ KEYWORD gt11_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt12_bound "Boundary condition to implement" +KEYWORD gt12_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -585,7 +580,7 @@ KEYWORD gt12_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt13_bound "Boundary condition to implement" +KEYWORD gt13_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -597,7 +592,7 @@ KEYWORD gt13_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt22_bound "Boundary condition to implement" +KEYWORD gt22_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -609,7 +604,7 @@ KEYWORD gt22_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt23_bound "Boundary condition to implement" +KEYWORD gt23_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -621,7 +616,7 @@ KEYWORD gt23_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt33_bound "Boundary condition to implement" +KEYWORD gt33_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -633,7 +628,7 @@ KEYWORD gt33_bound "Boundary condition to implement" } "skip" private: -KEYWORD beta1_bound "Boundary condition to implement" +KEYWORD beta1_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -645,7 +640,7 @@ KEYWORD beta1_bound "Boundary condition to implement" } "skip" private: -KEYWORD beta2_bound "Boundary condition to implement" +KEYWORD beta2_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -657,7 +652,7 @@ KEYWORD beta2_bound "Boundary condition to implement" } "skip" private: -KEYWORD beta3_bound "Boundary condition to implement" +KEYWORD beta3_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -669,7 +664,7 @@ KEYWORD beta3_bound "Boundary condition to implement" } "skip" private: -KEYWORD trK_bound "Boundary condition to implement" +KEYWORD trK_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -681,7 +676,7 @@ KEYWORD trK_bound "Boundary condition to implement" } "skip" private: -KEYWORD ML_curv_bound "Boundary condition to implement" +KEYWORD ML_curv_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -690,10 +685,10 @@ KEYWORD ML_curv_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_dtlapse_bound "Boundary condition to implement" +KEYWORD ML_dtlapse_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -702,10 +697,10 @@ KEYWORD ML_dtlapse_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_dtshift_bound "Boundary condition to implement" +KEYWORD ML_dtshift_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -714,10 +709,10 @@ KEYWORD ML_dtshift_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_Gamma_bound "Boundary condition to implement" +KEYWORD ML_Gamma_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -726,10 +721,10 @@ KEYWORD ML_Gamma_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_lapse_bound "Boundary condition to implement" +KEYWORD ML_lapse_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -738,10 +733,10 @@ KEYWORD ML_lapse_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_log_confac_bound "Boundary condition to implement" +KEYWORD ML_log_confac_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -750,10 +745,10 @@ KEYWORD ML_log_confac_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_metric_bound "Boundary condition to implement" +KEYWORD ML_metric_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -762,10 +757,10 @@ KEYWORD ML_metric_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_shift_bound "Boundary condition to implement" +KEYWORD ML_shift_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -774,10 +769,10 @@ KEYWORD ML_shift_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_trace_curv_bound "Boundary condition to implement" +KEYWORD ML_trace_curv_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -786,616 +781,616 @@ KEYWORD ML_trace_curv_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -CCTK_REAL At11_bound_speed "characteristic speed at boundary" +CCTK_REAL At11_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At12_bound_speed "characteristic speed at boundary" +CCTK_REAL At12_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At13_bound_speed "characteristic speed at boundary" +CCTK_REAL At13_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At22_bound_speed "characteristic speed at boundary" +CCTK_REAL At22_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At23_bound_speed "characteristic speed at boundary" +CCTK_REAL At23_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At33_bound_speed "characteristic speed at boundary" +CCTK_REAL At33_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL A_bound_speed "characteristic speed at boundary" +CCTK_REAL A_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL B1_bound_speed "characteristic speed at boundary" +CCTK_REAL B1_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL B2_bound_speed "characteristic speed at boundary" +CCTK_REAL B2_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL B3_bound_speed "characteristic speed at boundary" +CCTK_REAL B3_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL Xt1_bound_speed "characteristic speed at boundary" +CCTK_REAL Xt1_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL Xt2_bound_speed "characteristic speed at boundary" +CCTK_REAL Xt2_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL Xt3_bound_speed "characteristic speed at boundary" +CCTK_REAL Xt3_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL alpha_bound_speed "characteristic speed at boundary" +CCTK_REAL alpha_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL phi_bound_speed "characteristic speed at boundary" +CCTK_REAL phi_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt11_bound_speed "characteristic speed at boundary" +CCTK_REAL gt11_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt12_bound_speed "characteristic speed at boundary" +CCTK_REAL gt12_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt13_bound_speed "characteristic speed at boundary" +CCTK_REAL gt13_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt22_bound_speed "characteristic speed at boundary" +CCTK_REAL gt22_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt23_bound_speed "characteristic speed at boundary" +CCTK_REAL gt23_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt33_bound_speed "characteristic speed at boundary" +CCTK_REAL gt33_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL beta1_bound_speed "characteristic speed at boundary" +CCTK_REAL beta1_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL beta2_bound_speed "characteristic speed at boundary" +CCTK_REAL beta2_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL beta3_bound_speed "characteristic speed at boundary" +CCTK_REAL beta3_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL trK_bound_speed "characteristic speed at boundary" +CCTK_REAL trK_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_curv_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_curv_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_dtlapse_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_dtlapse_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_dtshift_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_dtshift_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_Gamma_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_Gamma_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_lapse_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_lapse_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_log_confac_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_log_confac_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_metric_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_metric_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_shift_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_shift_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_trace_curv_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_trace_curv_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At11_bound_limit "limit value for r -> infinity" +CCTK_REAL At11_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At12_bound_limit "limit value for r -> infinity" +CCTK_REAL At12_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At13_bound_limit "limit value for r -> infinity" +CCTK_REAL At13_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At22_bound_limit "limit value for r -> infinity" +CCTK_REAL At22_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At23_bound_limit "limit value for r -> infinity" +CCTK_REAL At23_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At33_bound_limit "limit value for r -> infinity" +CCTK_REAL At33_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL A_bound_limit "limit value for r -> infinity" +CCTK_REAL A_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL B1_bound_limit "limit value for r -> infinity" +CCTK_REAL B1_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL B2_bound_limit "limit value for r -> infinity" +CCTK_REAL B2_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL B3_bound_limit "limit value for r -> infinity" +CCTK_REAL B3_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL Xt1_bound_limit "limit value for r -> infinity" +CCTK_REAL Xt1_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL Xt2_bound_limit "limit value for r -> infinity" +CCTK_REAL Xt2_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL Xt3_bound_limit "limit value for r -> infinity" +CCTK_REAL Xt3_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL alpha_bound_limit "limit value for r -> infinity" +CCTK_REAL alpha_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL phi_bound_limit "limit value for r -> infinity" +CCTK_REAL phi_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt11_bound_limit "limit value for r -> infinity" +CCTK_REAL gt11_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt12_bound_limit "limit value for r -> infinity" +CCTK_REAL gt12_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt13_bound_limit "limit value for r -> infinity" +CCTK_REAL gt13_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt22_bound_limit "limit value for r -> infinity" +CCTK_REAL gt22_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt23_bound_limit "limit value for r -> infinity" +CCTK_REAL gt23_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt33_bound_limit "limit value for r -> infinity" +CCTK_REAL gt33_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL beta1_bound_limit "limit value for r -> infinity" +CCTK_REAL beta1_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL beta2_bound_limit "limit value for r -> infinity" +CCTK_REAL beta2_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL beta3_bound_limit "limit value for r -> infinity" +CCTK_REAL beta3_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL trK_bound_limit "limit value for r -> infinity" +CCTK_REAL trK_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_curv_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_curv_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_dtlapse_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_dtlapse_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_dtshift_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_dtshift_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_Gamma_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_Gamma_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_lapse_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_lapse_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_log_confac_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_log_confac_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_metric_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_metric_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_shift_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_shift_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_trace_curv_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_trace_curv_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At11_bound_scalar "Dirichlet boundary value" +CCTK_REAL At11_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At12_bound_scalar "Dirichlet boundary value" +CCTK_REAL At12_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At13_bound_scalar "Dirichlet boundary value" +CCTK_REAL At13_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At22_bound_scalar "Dirichlet boundary value" +CCTK_REAL At22_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At23_bound_scalar "Dirichlet boundary value" +CCTK_REAL At23_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At33_bound_scalar "Dirichlet boundary value" +CCTK_REAL At33_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL A_bound_scalar "Dirichlet boundary value" +CCTK_REAL A_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL B1_bound_scalar "Dirichlet boundary value" +CCTK_REAL B1_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL B2_bound_scalar "Dirichlet boundary value" +CCTK_REAL B2_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL B3_bound_scalar "Dirichlet boundary value" +CCTK_REAL B3_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL Xt1_bound_scalar "Dirichlet boundary value" +CCTK_REAL Xt1_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL Xt2_bound_scalar "Dirichlet boundary value" +CCTK_REAL Xt2_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL Xt3_bound_scalar "Dirichlet boundary value" +CCTK_REAL Xt3_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL alpha_bound_scalar "Dirichlet boundary value" +CCTK_REAL alpha_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL phi_bound_scalar "Dirichlet boundary value" +CCTK_REAL phi_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt11_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt11_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt12_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt12_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt13_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt13_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt22_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt22_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt23_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt23_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt33_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt33_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL beta1_bound_scalar "Dirichlet boundary value" +CCTK_REAL beta1_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL beta2_bound_scalar "Dirichlet boundary value" +CCTK_REAL beta2_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL beta3_bound_scalar "Dirichlet boundary value" +CCTK_REAL beta3_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL trK_bound_scalar "Dirichlet boundary value" +CCTK_REAL trK_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_curv_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_curv_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_dtlapse_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_dtlapse_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_dtshift_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_dtshift_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_Gamma_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_Gamma_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_lapse_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_lapse_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_log_confac_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_log_confac_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_metric_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_metric_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_shift_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_shift_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_trace_curv_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_trace_curv_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. diff --git a/ML_BSSN_MP_O8/schedule.ccl b/ML_BSSN_MP_O8/schedule.ccl index d3179d0..7f811ca 100644 --- a/ML_BSSN_MP_O8/schedule.ccl +++ b/ML_BSSN_MP_O8/schedule.ccl @@ -374,8 +374,6 @@ schedule ML_BSSN_MP_O8_constraints1_SelectBCs in ML_BSSN_MP_O8_constraints1_bc_g { LANG: C OPTIONS: level - SYNC: ML_cons_detg - SYNC: ML_cons_Gamma SYNC: ML_Ham } "ML_BSSN_MP_O8_constraints1_SelectBCs" @@ -413,6 +411,8 @@ schedule ML_BSSN_MP_O8_constraints2_SelectBCs in ML_BSSN_MP_O8_constraints2_bc_g { LANG: C OPTIONS: level + SYNC: ML_cons_detg + SYNC: ML_cons_Gamma SYNC: ML_cons_traceA SYNC: ML_mom } "ML_BSSN_MP_O8_constraints2_SelectBCs" @@ -458,7 +458,7 @@ schedule ML_BSSN_MP_O8_CheckBoundaries at BASEGRID OPTIONS: meta } "check boundaries treatment" -schedule group ApplyBCs as ML_BSSN_MP_O8_ApplyBCs in MoL_PostStep after ML_BSSN_MP_O8_SelectBoundConds +schedule group ApplyBCs as ML_BSSN_MP_O8_ApplyBCs in MoL_PostStep after ML_BSSN_MP_O8_SelectBoundConds { # no language specified } "Apply boundary conditions controlled by thorn Boundary" diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_Minkowski.c b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_Minkowski.c index b08cd40..1e7301f 100644 --- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_Minkowski.c +++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_Minkowski.c @@ -38,9 +38,6 @@ void ML_BSSN_MP_O8_Minkowski_Body(cGH const * restrict const cctkGH, int const d return; } - const char *groups[] = {"ML_BSSN_MP_O8::ML_curv","ML_BSSN_MP_O8::ML_dtlapse","ML_BSSN_MP_O8::ML_dtshift","ML_BSSN_MP_O8::ML_Gamma","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_log_confac","ML_BSSN_MP_O8::ML_metric","ML_BSSN_MP_O8::ML_shift","ML_BSSN_MP_O8::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_Minkowski", 9, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHS1.c b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHS1.c index e04f79d..d30f8f7 100644 --- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHS1.c +++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHS1.c @@ -71,9 +71,6 @@ void ML_BSSN_MP_O8_RHS1_Body(cGH const * restrict const cctkGH, int const dir, i return; } - const char *groups[] = {"Coordinates::jacobian","Coordinates::jacobian2","grid::coordinates","Grid::coordinates","ML_BSSN_MP_O8::ML_curv","ML_BSSN_MP_O8::ML_dtlapse","ML_BSSN_MP_O8::ML_dtlapserhs","ML_BSSN_MP_O8::ML_dtshift","ML_BSSN_MP_O8::ML_dtshiftrhs","ML_BSSN_MP_O8::ML_Gamma","ML_BSSN_MP_O8::ML_Gammarhs","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_lapserhs","ML_BSSN_MP_O8::ML_log_confac","ML_BSSN_MP_O8::ML_log_confacrhs","ML_BSSN_MP_O8::ML_metric","ML_BSSN_MP_O8::ML_metricrhs","ML_BSSN_MP_O8::ML_shift","ML_BSSN_MP_O8::ML_shiftrhs","ML_BSSN_MP_O8::ML_trace_curv","ML_BSSN_MP_O8::ML_trace_curvrhs"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_RHS1", 21, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -714,10 +711,10 @@ void ML_BSSN_MP_O8_RHS1_Body(cGH const * restrict const cctkGH, int const dir, i J21L*khalf*PDstandardNth2gt33 + J33L*PDstandardNth3gt13 - J31L*khalf*PDstandardNth3gt33; - CCTK_REAL Gtl211 = khalf*(-(J12L*PDstandardNth1gt11) + - 2*J11L*PDstandardNth1gt12 - J22L*PDstandardNth2gt11 + - 2*J21L*PDstandardNth2gt12 - J32L*PDstandardNth3gt11 + - 2*J31L*PDstandardNth3gt12); + CCTK_REAL Gtl211 = -(J12L*khalf*PDstandardNth1gt11) + + J11L*PDstandardNth1gt12 - J22L*khalf*PDstandardNth2gt11 + + J21L*PDstandardNth2gt12 - J32L*khalf*PDstandardNth3gt11 + + J31L*PDstandardNth3gt12; CCTK_REAL Gtl212 = khalf*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + J31L*PDstandardNth3gt22); @@ -739,10 +736,10 @@ void ML_BSSN_MP_O8_RHS1_Body(cGH const * restrict const cctkGH, int const dir, i J22L*khalf*PDstandardNth2gt33 + J33L*PDstandardNth3gt23 - J32L*khalf*PDstandardNth3gt33; - CCTK_REAL Gtl311 = khalf*(-(J13L*PDstandardNth1gt11) + - 2*J11L*PDstandardNth1gt13 - J23L*PDstandardNth2gt11 + - 2*J21L*PDstandardNth2gt13 - J33L*PDstandardNth3gt11 + - 2*J31L*PDstandardNth3gt13); + CCTK_REAL Gtl311 = -(J13L*khalf*PDstandardNth1gt11) + + J11L*PDstandardNth1gt13 - J23L*khalf*PDstandardNth2gt11 + + J21L*PDstandardNth2gt13 - J33L*khalf*PDstandardNth3gt11 + + J31L*PDstandardNth3gt13; CCTK_REAL Gtl312 = khalf*(-(J13L*PDstandardNth1gt12) + J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 - @@ -753,10 +750,10 @@ void ML_BSSN_MP_O8_RHS1_Body(cGH const * restrict const cctkGH, int const dir, i CCTK_REAL Gtl313 = khalf*(J11L*PDstandardNth1gt33 + J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33); - CCTK_REAL Gtl322 = khalf*(-(J13L*PDstandardNth1gt22) + - 2*J12L*PDstandardNth1gt23 - J23L*PDstandardNth2gt22 + - 2*J22L*PDstandardNth2gt23 - J33L*PDstandardNth3gt22 + - 2*J32L*PDstandardNth3gt23); + CCTK_REAL Gtl322 = -(J13L*khalf*PDstandardNth1gt22) + + J12L*PDstandardNth1gt23 - J23L*khalf*PDstandardNth2gt22 + + J22L*PDstandardNth2gt23 - J33L*khalf*PDstandardNth3gt22 + + J32L*PDstandardNth3gt23; CCTK_REAL Gtl323 = khalf*(J12L*PDstandardNth1gt33 + J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33); diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHS2.c b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHS2.c index 526974b..4b8a2d2 100644 --- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHS2.c +++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHS2.c @@ -50,9 +50,6 @@ void ML_BSSN_MP_O8_RHS2_Body(cGH const * restrict const cctkGH, int const dir, i return; } - const char *groups[] = {"Coordinates::jacobian","Coordinates::jacobian2","ML_BSSN_MP_O8::ML_curv","ML_BSSN_MP_O8::ML_curvrhs","ML_BSSN_MP_O8::ML_Gamma","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_log_confac","ML_BSSN_MP_O8::ML_metric","ML_BSSN_MP_O8::ML_shift","ML_BSSN_MP_O8::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_RHS2", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -510,10 +507,10 @@ void ML_BSSN_MP_O8_RHS2_Body(cGH const * restrict const cctkGH, int const dir, i J21L*khalf*PDstandardNth2gt33 + J33L*PDstandardNth3gt13 - J31L*khalf*PDstandardNth3gt33; - CCTK_REAL Gtl211 = khalf*(-(J12L*PDstandardNth1gt11) + - 2*J11L*PDstandardNth1gt12 - J22L*PDstandardNth2gt11 + - 2*J21L*PDstandardNth2gt12 - J32L*PDstandardNth3gt11 + - 2*J31L*PDstandardNth3gt12); + CCTK_REAL Gtl211 = -(J12L*khalf*PDstandardNth1gt11) + + J11L*PDstandardNth1gt12 - J22L*khalf*PDstandardNth2gt11 + + J21L*PDstandardNth2gt12 - J32L*khalf*PDstandardNth3gt11 + + J31L*PDstandardNth3gt12; CCTK_REAL Gtl212 = khalf*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + J31L*PDstandardNth3gt22); @@ -535,10 +532,10 @@ void ML_BSSN_MP_O8_RHS2_Body(cGH const * restrict const cctkGH, int const dir, i J22L*khalf*PDstandardNth2gt33 + J33L*PDstandardNth3gt23 - J32L*khalf*PDstandardNth3gt33; - CCTK_REAL Gtl311 = khalf*(-(J13L*PDstandardNth1gt11) + - 2*J11L*PDstandardNth1gt13 - J23L*PDstandardNth2gt11 + - 2*J21L*PDstandardNth2gt13 - J33L*PDstandardNth3gt11 + - 2*J31L*PDstandardNth3gt13); + CCTK_REAL Gtl311 = -(J13L*khalf*PDstandardNth1gt11) + + J11L*PDstandardNth1gt13 - J23L*khalf*PDstandardNth2gt11 + + J21L*PDstandardNth2gt13 - J33L*khalf*PDstandardNth3gt11 + + J31L*PDstandardNth3gt13; CCTK_REAL Gtl312 = khalf*(-(J13L*PDstandardNth1gt12) + J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 - @@ -549,10 +546,10 @@ void ML_BSSN_MP_O8_RHS2_Body(cGH const * restrict const cctkGH, int const dir, i CCTK_REAL Gtl313 = khalf*(J11L*PDstandardNth1gt33 + J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33); - CCTK_REAL Gtl322 = khalf*(-(J13L*PDstandardNth1gt22) + - 2*J12L*PDstandardNth1gt23 - J23L*PDstandardNth2gt22 + - 2*J22L*PDstandardNth2gt23 - J33L*PDstandardNth3gt22 + - 2*J32L*PDstandardNth3gt23); + CCTK_REAL Gtl322 = -(J13L*khalf*PDstandardNth1gt22) + + J12L*PDstandardNth1gt23 - J23L*khalf*PDstandardNth2gt22 + + J22L*PDstandardNth2gt23 - J33L*khalf*PDstandardNth3gt22 + + J32L*PDstandardNth3gt23; CCTK_REAL Gtl323 = khalf*(J12L*PDstandardNth1gt33 + J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33); diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHSStaticBoundary.c b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHSStaticBoundary.c index e0b158a..377f0ef 100644 --- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHSStaticBoundary.c +++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHSStaticBoundary.c @@ -74,9 +74,6 @@ void ML_BSSN_MP_O8_RHSStaticBoundary_Body(cGH const * restrict const cctkGH, int return; } - const char *groups[] = {"ML_BSSN_MP_O8::ML_curvrhs","ML_BSSN_MP_O8::ML_dtlapserhs","ML_BSSN_MP_O8::ML_dtshiftrhs","ML_BSSN_MP_O8::ML_Gammarhs","ML_BSSN_MP_O8::ML_lapserhs","ML_BSSN_MP_O8::ML_log_confacrhs","ML_BSSN_MP_O8::ML_metricrhs","ML_BSSN_MP_O8::ML_shiftrhs","ML_BSSN_MP_O8::ML_trace_curvrhs"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_RHSStaticBoundary", 9, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_boundary.c b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_boundary.c index 03bff1a..42332b8 100644 --- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_boundary.c +++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_boundary.c @@ -74,9 +74,6 @@ void ML_BSSN_MP_O8_boundary_Body(cGH const * restrict const cctkGH, int const di return; } - const char *groups[] = {"ML_BSSN_MP_O8::ML_curv","ML_BSSN_MP_O8::ML_dtlapse","ML_BSSN_MP_O8::ML_dtshift","ML_BSSN_MP_O8::ML_Gamma","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_log_confac","ML_BSSN_MP_O8::ML_metric","ML_BSSN_MP_O8::ML_shift","ML_BSSN_MP_O8::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_boundary", 9, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_constraints1.c b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_constraints1.c index 3f78bca..6fb0b75 100644 --- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_constraints1.c +++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_constraints1.c @@ -26,12 +26,6 @@ void ML_BSSN_MP_O8_constraints1_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_PARAMETERS; CCTK_INT ierr = 0; - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP_O8::ML_cons_detg","flat"); - if (ierr < 0) - CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP_O8::ML_cons_detg."); - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP_O8::ML_cons_Gamma","flat"); - if (ierr < 0) - CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP_O8::ML_cons_Gamma."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP_O8::ML_Ham","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP_O8::ML_Ham."); @@ -56,9 +50,6 @@ void ML_BSSN_MP_O8_constraints1_Body(cGH const * restrict const cctkGH, int cons return; } - const char *groups[] = {"Coordinates::jacobian","Coordinates::jacobian2","ML_BSSN_MP_O8::ML_cons_detg","ML_BSSN_MP_O8::ML_cons_Gamma","ML_BSSN_MP_O8::ML_curv","ML_BSSN_MP_O8::ML_Gamma","ML_BSSN_MP_O8::ML_Ham","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_log_confac","ML_BSSN_MP_O8::ML_metric","ML_BSSN_MP_O8::ML_shift","ML_BSSN_MP_O8::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_constraints1", 12, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -339,201 +330,189 @@ void ML_BSSN_MP_O8_constraints1_Body(cGH const * restrict const cctkGH, int cons CCTK_REAL gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L)); - CCTK_REAL Gt111 = khalf*((gtu11*J11L - gtu12*J12L - - gtu13*J13L)*PDstandardNth1gt11 + (gtu11*J21L - gtu12*J22L - - gtu13*J23L)*PDstandardNth2gt11 + (gtu11*J31L - gtu12*J32L - - gtu13*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu12*PDstandardNth1gt12 + - gtu13*PDstandardNth1gt13) + J21L*(gtu12*PDstandardNth2gt12 + - gtu13*PDstandardNth2gt13) + J31L*(gtu12*PDstandardNth3gt12 + - gtu13*PDstandardNth3gt13))); - - CCTK_REAL Gt211 = khalf*((gtu12*J11L - gtu22*J12L - - gtu23*J13L)*PDstandardNth1gt11 + (gtu12*J21L - gtu22*J22L - - gtu23*J23L)*PDstandardNth2gt11 + (gtu12*J31L - gtu22*J32L - - gtu23*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu22*PDstandardNth1gt12 + - gtu23*PDstandardNth1gt13) + J21L*(gtu22*PDstandardNth2gt12 + - gtu23*PDstandardNth2gt13) + J31L*(gtu22*PDstandardNth3gt12 + - gtu23*PDstandardNth3gt13))); - - CCTK_REAL Gt311 = khalf*((gtu13*J11L - gtu23*J12L - - gtu33*J13L)*PDstandardNth1gt11 + (gtu13*J21L - gtu23*J22L - - gtu33*J23L)*PDstandardNth2gt11 + (gtu13*J31L - gtu23*J32L - - gtu33*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu23*PDstandardNth1gt12 + - gtu33*PDstandardNth1gt13) + J21L*(gtu23*PDstandardNth2gt12 + - gtu33*PDstandardNth2gt13) + J31L*(gtu23*PDstandardNth3gt12 + - gtu33*PDstandardNth3gt13))); - - CCTK_REAL Gt112 = khalf*(gtu11*(J12L*PDstandardNth1gt11 + - J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11) + - gtu12*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + - J31L*PDstandardNth3gt22) + gtu13*(-(J13L*PDstandardNth1gt12) + - J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 - - J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 + - J21L*PDstandardNth2gt23 - J33L*PDstandardNth3gt12 + - J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23)); + CCTK_REAL Gtl111 = khalf*(J11L*PDstandardNth1gt11 + + J21L*PDstandardNth2gt11 + J31L*PDstandardNth3gt11); - CCTK_REAL Gt212 = khalf*(gtu12*(J12L*PDstandardNth1gt11 + - J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11) + - gtu22*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + - J31L*PDstandardNth3gt22) + gtu23*(-(J13L*PDstandardNth1gt12) + - J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 - - J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 + - J21L*PDstandardNth2gt23 - J33L*PDstandardNth3gt12 + - J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23)); + CCTK_REAL Gtl112 = khalf*(J12L*PDstandardNth1gt11 + + J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11); + + CCTK_REAL Gtl113 = khalf*(J13L*PDstandardNth1gt11 + + J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11); + + CCTK_REAL Gtl122 = J12L*PDstandardNth1gt12 - + J11L*khalf*PDstandardNth1gt22 + J22L*PDstandardNth2gt12 - + J21L*khalf*PDstandardNth2gt22 + J32L*PDstandardNth3gt12 - + J31L*khalf*PDstandardNth3gt22; + + CCTK_REAL Gtl123 = khalf*(J13L*PDstandardNth1gt12 + + J12L*PDstandardNth1gt13 - J11L*PDstandardNth1gt23 + + J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 - + J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 + + J32L*PDstandardNth3gt13 - J31L*PDstandardNth3gt23); + + CCTK_REAL Gtl133 = J13L*PDstandardNth1gt13 - + J11L*khalf*PDstandardNth1gt33 + J23L*PDstandardNth2gt13 - + J21L*khalf*PDstandardNth2gt33 + J33L*PDstandardNth3gt13 - + J31L*khalf*PDstandardNth3gt33; + + CCTK_REAL Gtl211 = -(J12L*khalf*PDstandardNth1gt11) + + J11L*PDstandardNth1gt12 - J22L*khalf*PDstandardNth2gt11 + + J21L*PDstandardNth2gt12 - J32L*khalf*PDstandardNth3gt11 + + J31L*PDstandardNth3gt12; + + CCTK_REAL Gtl212 = khalf*(J11L*PDstandardNth1gt22 + + J21L*PDstandardNth2gt22 + J31L*PDstandardNth3gt22); + + CCTK_REAL Gtl213 = khalf*(J13L*PDstandardNth1gt12 - + J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 + + J23L*PDstandardNth2gt12 - J22L*PDstandardNth2gt13 + + J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 - + J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23); + + CCTK_REAL Gtl222 = khalf*(J12L*PDstandardNth1gt22 + + J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22); + + CCTK_REAL Gtl223 = khalf*(J13L*PDstandardNth1gt22 + + J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22); + + CCTK_REAL Gtl233 = J13L*PDstandardNth1gt23 - + J12L*khalf*PDstandardNth1gt33 + J23L*PDstandardNth2gt23 - + J22L*khalf*PDstandardNth2gt33 + J33L*PDstandardNth3gt23 - + J32L*khalf*PDstandardNth3gt33; + + CCTK_REAL Gtl311 = -(J13L*khalf*PDstandardNth1gt11) + + J11L*PDstandardNth1gt13 - J23L*khalf*PDstandardNth2gt11 + + J21L*PDstandardNth2gt13 - J33L*khalf*PDstandardNth3gt11 + + J31L*PDstandardNth3gt13; - CCTK_REAL Gt312 = khalf*(gtu13*(J12L*PDstandardNth1gt11 + - J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11) + - gtu23*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + - J31L*PDstandardNth3gt22) + gtu33*(-(J13L*PDstandardNth1gt12) + + CCTK_REAL Gtl312 = khalf*(-(J13L*PDstandardNth1gt12) + J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 - J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 - J33L*PDstandardNth3gt12 + - J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23)); - - CCTK_REAL Gt113 = khalf*(gtu11*(J13L*PDstandardNth1gt11 + - J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11) + - gtu12*(J13L*PDstandardNth1gt12 - J12L*PDstandardNth1gt13 + - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 - - J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 + - J33L*PDstandardNth3gt12 - J32L*PDstandardNth3gt13 + - J31L*PDstandardNth3gt23) + gtu13*(J11L*PDstandardNth1gt33 + - J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33)); - - CCTK_REAL Gt213 = khalf*(gtu12*(J13L*PDstandardNth1gt11 + - J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11) + - gtu22*(J13L*PDstandardNth1gt12 - J12L*PDstandardNth1gt13 + - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 - - J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 + - J33L*PDstandardNth3gt12 - J32L*PDstandardNth3gt13 + - J31L*PDstandardNth3gt23) + gtu23*(J11L*PDstandardNth1gt33 + - J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33)); - - CCTK_REAL Gt313 = khalf*(gtu13*(J13L*PDstandardNth1gt11 + - J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11) + - gtu23*(J13L*PDstandardNth1gt12 - J12L*PDstandardNth1gt13 + - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 - - J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 + - J33L*PDstandardNth3gt12 - J32L*PDstandardNth3gt13 + - J31L*PDstandardNth3gt23) + gtu33*(J11L*PDstandardNth1gt33 + - J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33)); - - CCTK_REAL Gt122 = khalf*(gtu11*(-(J11L*PDstandardNth1gt22) + - 2*(J12L*PDstandardNth1gt12 + J22L*PDstandardNth2gt12) - - J21L*PDstandardNth2gt22 + 2*J32L*PDstandardNth3gt12 - - J31L*PDstandardNth3gt22) + gtu12*(J12L*PDstandardNth1gt22 + - J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22) - - gtu13*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + - J33L*PDstandardNth3gt22 - 2*(J12L*PDstandardNth1gt23 + - J22L*PDstandardNth2gt23 + J32L*PDstandardNth3gt23))); - - CCTK_REAL Gt222 = khalf*(gtu12*(-(J11L*PDstandardNth1gt22) + - 2*(J12L*PDstandardNth1gt12 + J22L*PDstandardNth2gt12) - - J21L*PDstandardNth2gt22 + 2*J32L*PDstandardNth3gt12 - - J31L*PDstandardNth3gt22) + gtu22*(J12L*PDstandardNth1gt22 + - J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22) - - gtu23*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + - J33L*PDstandardNth3gt22 - 2*(J12L*PDstandardNth1gt23 + - J22L*PDstandardNth2gt23 + J32L*PDstandardNth3gt23))); - - CCTK_REAL Gt322 = khalf*(gtu13*(-(J11L*PDstandardNth1gt22) + - 2*(J12L*PDstandardNth1gt12 + J22L*PDstandardNth2gt12) - - J21L*PDstandardNth2gt22 + 2*J32L*PDstandardNth3gt12 - - J31L*PDstandardNth3gt22) + gtu23*(J12L*PDstandardNth1gt22 + - J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22) - - gtu33*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + - J33L*PDstandardNth3gt22 - 2*(J12L*PDstandardNth1gt23 + - J22L*PDstandardNth2gt23 + J32L*PDstandardNth3gt23))); - - CCTK_REAL Gt123 = khalf*(gtu12*(J13L*PDstandardNth1gt22 + - J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22) + - gtu11*(J13L*PDstandardNth1gt12 + J12L*PDstandardNth1gt13 - - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 + - J22L*PDstandardNth2gt13 - J21L*PDstandardNth2gt23 + - J33L*PDstandardNth3gt12 + J32L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt23) + gtu13*(J12L*PDstandardNth1gt33 + - J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33)); - - CCTK_REAL Gt223 = khalf*(gtu22*(J13L*PDstandardNth1gt22 + - J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22) + - gtu12*(J13L*PDstandardNth1gt12 + J12L*PDstandardNth1gt13 - - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 + - J22L*PDstandardNth2gt13 - J21L*PDstandardNth2gt23 + - J33L*PDstandardNth3gt12 + J32L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt23) + gtu23*(J12L*PDstandardNth1gt33 + - J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33)); - - CCTK_REAL Gt323 = khalf*(gtu23*(J13L*PDstandardNth1gt22 + - J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22) + - gtu13*(J13L*PDstandardNth1gt12 + J12L*PDstandardNth1gt13 - - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 + - J22L*PDstandardNth2gt13 - J21L*PDstandardNth2gt23 + - J33L*PDstandardNth3gt12 + J32L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt23) + gtu33*(J12L*PDstandardNth1gt33 + - J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33)); - - CCTK_REAL Gt133 = khalf*(gtu11*(-(J11L*PDstandardNth1gt33) + - 2*(J13L*PDstandardNth1gt13 + J23L*PDstandardNth2gt13) - - J21L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt33) + gtu12*(-(J12L*PDstandardNth1gt33) + - 2*(J13L*PDstandardNth1gt23 + J23L*PDstandardNth2gt23) - - J22L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt23 - - J32L*PDstandardNth3gt33) + gtu13*(J13L*PDstandardNth1gt33 + - J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33)); - - CCTK_REAL Gt233 = khalf*(gtu12*(-(J11L*PDstandardNth1gt33) + - 2*(J13L*PDstandardNth1gt13 + J23L*PDstandardNth2gt13) - - J21L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt33) + gtu22*(-(J12L*PDstandardNth1gt33) + - 2*(J13L*PDstandardNth1gt23 + J23L*PDstandardNth2gt23) - - J22L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt23 - - J32L*PDstandardNth3gt33) + gtu23*(J13L*PDstandardNth1gt33 + - J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33)); - - CCTK_REAL Gt333 = khalf*(gtu13*(-(J11L*PDstandardNth1gt33) + - 2*(J13L*PDstandardNth1gt13 + J23L*PDstandardNth2gt13) - - J21L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt33) + gtu23*(-(J12L*PDstandardNth1gt33) + - 2*(J13L*PDstandardNth1gt23 + J23L*PDstandardNth2gt23) - - J22L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt23 - - J32L*PDstandardNth3gt33) + gtu33*(J13L*PDstandardNth1gt33 + - J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33)); - - CCTK_REAL Rt11 = (Gt113*(gt13L*Gt312 + 3*(gt12L*Gt212 + gt13L*Gt312)) - + gt12L*(Gt213*(4*Gt112 + 2*Gt222) + Gt212*(Gt113 + 2*Gt223) + - 2*(Gt233*Gt312 + Gt223*Gt313)) + gt11L*(6*Gt112*Gt113 + 2*(Gt122*Gt213 - + Gt133*Gt312 + Gt123*(Gt212 + Gt313))) + gt13L*(2*Gt213*Gt322 + - Gt313*(4*Gt112 + 2*Gt323)) + 2*(Gt213*(Gt212*gt22L + gt23L*Gt312) + - Gt212*(gt23L*Gt313 + gt13L*Gt323) + Gt312*(gt13L*Gt333 + - Gt313*gt33L)))*gtu23 + J11L*(gt11L*PDstandardNth1Xt1 + - gt12L*PDstandardNth1Xt2 + gt13L*PDstandardNth1Xt3) + - J21L*(gt11L*PDstandardNth2Xt1 + gt12L*PDstandardNth2Xt2 + - gt13L*PDstandardNth2Xt3) + J31L*(gt11L*PDstandardNth3Xt1 + - gt12L*PDstandardNth3Xt2 + gt13L*PDstandardNth3Xt3) + (Gt111*gt11L + - gt12L*Gt211 + gt13L*Gt311)*Xt1L + (Gt112*gt11L + gt12L*Gt212 + - gt13L*Gt312)*Xt2L + (Gt113*gt11L + gt12L*Gt213 + gt13L*Gt313)*Xt3L + - gtu12*(Gt112*(gt13L*Gt311 + 3*(gt12L*Gt211 + gt13L*Gt311)) + - gt11L*(Gt112*(6*Gt111 + 2*Gt212) + 2*(Gt122*Gt211 + Gt123*Gt311 + - Gt113*Gt312)) + 2*(Gt212*(Gt211*gt22L + gt23L*Gt311 + gt13L*Gt312) + - gt13L*(Gt211*Gt322 + Gt311*Gt323)) + Gt312*(gt13L*(4*Gt111 + 2*Gt313) + - 2*(Gt211*gt23L + Gt311*gt33L)) + gt12L*(4*Gt111*Gt212 + Gt211*(Gt112 + - 2*Gt222) + 2*(Gt223*Gt311 + Gt213*Gt312 + SQR(Gt212)))) + - gtu11*(4*Gt111*(gt12L*Gt211 + gt13L*Gt311) + 2*(gt12L*(Gt211*Gt212 + - Gt213*Gt311) + Gt211*(gt23L*Gt311 + gt13L*Gt312) + gt13L*Gt311*Gt313) + - gt11L*(2*(Gt112*Gt211 + Gt113*Gt311) + 3*SQR(Gt111)) + gt22L*SQR(Gt211) - + gt33L*SQR(Gt311)) + gtu22*(4*Gt112*(gt12L*Gt212 + gt13L*Gt312) + - 2*(gt12L*(Gt212*Gt222 + Gt223*Gt312) + Gt212*(gt23L*Gt312 + - gt13L*Gt322) + gt13L*Gt312*Gt323) + gt11L*(2*(Gt122*Gt212 + - Gt123*Gt312) + 3*SQR(Gt112)) + gt22L*SQR(Gt212) + gt33L*SQR(Gt312)) + - gtu33*(4*Gt113*(gt12L*Gt213 + gt13L*Gt313) + 2*(gt12L*(Gt213*Gt223 + - Gt233*Gt313) + Gt213*(gt23L*Gt313 + gt13L*Gt323) + gt13L*Gt313*Gt333) + - gt11L*(2*(Gt123*Gt213 + Gt133*Gt313) + 3*SQR(Gt113)) + gt22L*SQR(Gt213) - + gt33L*SQR(Gt313)) + gtu13*(Gt113*(gt13L*Gt311 + 3*(gt12L*Gt211 + - gt13L*Gt311)) + gt11L*(2*(Gt123*Gt211 + Gt112*Gt213 + Gt133*Gt311) + - Gt113*(6*Gt111 + 2*Gt313)) + gt12L*(Gt211*(Gt113 + 2*Gt223) + - 2*Gt233*Gt311 + Gt213*(4*Gt111 + 2*(Gt212 + Gt313))) + - 2*(Gt213*(Gt211*gt22L + gt23L*Gt311 + gt13L*Gt312) + gt13L*Gt311*Gt333 - + Gt313*(Gt211*gt23L + Gt311*gt33L)) + gt13L*(4*Gt111*Gt313 + - 2*(Gt211*Gt323 + SQR(Gt313)))) + + J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23); + + CCTK_REAL Gtl313 = khalf*(J11L*PDstandardNth1gt33 + + J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33); + + CCTK_REAL Gtl322 = -(J13L*khalf*PDstandardNth1gt22) + + J12L*PDstandardNth1gt23 - J23L*khalf*PDstandardNth2gt22 + + J22L*PDstandardNth2gt23 - J33L*khalf*PDstandardNth3gt22 + + J32L*PDstandardNth3gt23; + + CCTK_REAL Gtl323 = khalf*(J12L*PDstandardNth1gt33 + + J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33); + + CCTK_REAL Gtl333 = khalf*(J13L*PDstandardNth1gt33 + + J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33); + + CCTK_REAL Gtlu111 = Gtl111*gtu11 + Gtl112*gtu12 + Gtl113*gtu13; + + CCTK_REAL Gtlu112 = Gtl111*gtu12 + Gtl112*gtu22 + Gtl113*gtu23; + + CCTK_REAL Gtlu113 = Gtl111*gtu13 + Gtl112*gtu23 + Gtl113*gtu33; + + CCTK_REAL Gtlu121 = Gtl112*gtu11 + Gtl122*gtu12 + Gtl123*gtu13; + + CCTK_REAL Gtlu122 = Gtl112*gtu12 + Gtl122*gtu22 + Gtl123*gtu23; + + CCTK_REAL Gtlu123 = Gtl112*gtu13 + Gtl122*gtu23 + Gtl123*gtu33; + + CCTK_REAL Gtlu131 = Gtl113*gtu11 + Gtl123*gtu12 + Gtl133*gtu13; + + CCTK_REAL Gtlu132 = Gtl113*gtu12 + Gtl123*gtu22 + Gtl133*gtu23; + + CCTK_REAL Gtlu133 = Gtl113*gtu13 + Gtl123*gtu23 + Gtl133*gtu33; + + CCTK_REAL Gtlu211 = Gtl211*gtu11 + Gtl212*gtu12 + Gtl213*gtu13; + + CCTK_REAL Gtlu212 = Gtl211*gtu12 + Gtl212*gtu22 + Gtl213*gtu23; + + CCTK_REAL Gtlu213 = Gtl211*gtu13 + Gtl212*gtu23 + Gtl213*gtu33; + + CCTK_REAL Gtlu221 = Gtl212*gtu11 + Gtl222*gtu12 + Gtl223*gtu13; + + CCTK_REAL Gtlu222 = Gtl212*gtu12 + Gtl222*gtu22 + Gtl223*gtu23; + + CCTK_REAL Gtlu223 = Gtl212*gtu13 + Gtl222*gtu23 + Gtl223*gtu33; + + CCTK_REAL Gtlu231 = Gtl213*gtu11 + Gtl223*gtu12 + Gtl233*gtu13; + + CCTK_REAL Gtlu232 = Gtl213*gtu12 + Gtl223*gtu22 + Gtl233*gtu23; + + CCTK_REAL Gtlu233 = Gtl213*gtu13 + Gtl223*gtu23 + Gtl233*gtu33; + + CCTK_REAL Gtlu311 = Gtl311*gtu11 + Gtl312*gtu12 + Gtl313*gtu13; + + CCTK_REAL Gtlu312 = Gtl311*gtu12 + Gtl312*gtu22 + Gtl313*gtu23; + + CCTK_REAL Gtlu313 = Gtl311*gtu13 + Gtl312*gtu23 + Gtl313*gtu33; + + CCTK_REAL Gtlu321 = Gtl312*gtu11 + Gtl322*gtu12 + Gtl323*gtu13; + + CCTK_REAL Gtlu322 = Gtl312*gtu12 + Gtl322*gtu22 + Gtl323*gtu23; + + CCTK_REAL Gtlu323 = Gtl312*gtu13 + Gtl322*gtu23 + Gtl323*gtu33; + + CCTK_REAL Gtlu331 = Gtl313*gtu11 + Gtl323*gtu12 + Gtl333*gtu13; + + CCTK_REAL Gtlu332 = Gtl313*gtu12 + Gtl323*gtu22 + Gtl333*gtu23; + + CCTK_REAL Gtlu333 = Gtl313*gtu13 + Gtl323*gtu23 + Gtl333*gtu33; + + CCTK_REAL Gt111 = Gtl111*gtu11 + Gtl211*gtu12 + Gtl311*gtu13; + + CCTK_REAL Gt211 = Gtl111*gtu12 + Gtl211*gtu22 + Gtl311*gtu23; + + CCTK_REAL Gt311 = Gtl111*gtu13 + Gtl211*gtu23 + Gtl311*gtu33; + + CCTK_REAL Gt112 = Gtl112*gtu11 + Gtl212*gtu12 + Gtl312*gtu13; + + CCTK_REAL Gt212 = Gtl112*gtu12 + Gtl212*gtu22 + Gtl312*gtu23; + + CCTK_REAL Gt312 = Gtl112*gtu13 + Gtl212*gtu23 + Gtl312*gtu33; + + CCTK_REAL Gt113 = Gtl113*gtu11 + Gtl213*gtu12 + Gtl313*gtu13; + + CCTK_REAL Gt213 = Gtl113*gtu12 + Gtl213*gtu22 + Gtl313*gtu23; + + CCTK_REAL Gt313 = Gtl113*gtu13 + Gtl213*gtu23 + Gtl313*gtu33; + + CCTK_REAL Gt122 = Gtl122*gtu11 + Gtl222*gtu12 + Gtl322*gtu13; + + CCTK_REAL Gt222 = Gtl122*gtu12 + Gtl222*gtu22 + Gtl322*gtu23; + + CCTK_REAL Gt322 = Gtl122*gtu13 + Gtl222*gtu23 + Gtl322*gtu33; + + CCTK_REAL Gt123 = Gtl123*gtu11 + Gtl223*gtu12 + Gtl323*gtu13; + + CCTK_REAL Gt223 = Gtl123*gtu12 + Gtl223*gtu22 + Gtl323*gtu23; + + CCTK_REAL Gt323 = Gtl123*gtu13 + Gtl223*gtu23 + Gtl323*gtu33; + + CCTK_REAL Gt133 = Gtl133*gtu11 + Gtl233*gtu12 + Gtl333*gtu13; + + CCTK_REAL Gt233 = Gtl133*gtu12 + Gtl233*gtu22 + Gtl333*gtu23; + + CCTK_REAL Gt333 = Gtl133*gtu13 + Gtl233*gtu23 + Gtl333*gtu33; + + CCTK_REAL Xtn1 = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu12 + + Gt113*gtu13 + Gt123*gtu23) + Gt133*gtu33; + + CCTK_REAL Xtn2 = Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu12 + + Gt213*gtu13 + Gt223*gtu23) + Gt233*gtu33; + + CCTK_REAL Xtn3 = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu12 + + Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33; + + CCTK_REAL Rt11 = 3*(Gt111*Gtlu111 + Gt112*Gtlu112 + Gt113*Gtlu113) + + 2*(Gt211*Gtlu121 + Gt212*Gtlu122 + Gt213*Gtlu123 + Gt311*Gtlu131 + + Gt312*Gtlu132 + Gt313*Gtlu133) + Gt211*Gtlu211 + Gt212*Gtlu212 + + Gt213*Gtlu213 + Gt311*Gtlu311 + Gt312*Gtlu312 + Gt313*Gtlu313 + + J11L*(gt11L*PDstandardNth1Xt1 + gt12L*PDstandardNth1Xt2 + + gt13L*PDstandardNth1Xt3) + J21L*(gt11L*PDstandardNth2Xt1 + + gt12L*PDstandardNth2Xt2 + gt13L*PDstandardNth2Xt3) + + J31L*(gt11L*PDstandardNth3Xt1 + gt12L*PDstandardNth3Xt2 + + gt13L*PDstandardNth3Xt3) + Gtl111*Xtn1 + Gtl112*Xtn2 + Gtl113*Xtn3 + khalf*(-2*(gtu12*(J11L*J12L*PDstandardNth11gt11 + J12L*J21L*PDstandardNth12gt11 + J11L*J22L*PDstandardNth12gt11 + J12L*J31L*PDstandardNth13gt11 + J11L*J32L*PDstandardNth13gt11 + @@ -568,8 +547,14 @@ void ML_BSSN_MP_O8_constraints1_Body(cGH const * restrict const cctkGH, int cons dJ333L*PDstandardNth3gt11 + PDstandardNth11gt11*SQR(J13L) + PDstandardNth22gt11*SQR(J23L) + PDstandardNth33gt11*SQR(J33L))); - CCTK_REAL Rt12 = khalf*((gt12L*J11L + gt11L*J12L)*PDstandardNth1Xt1 + - (gt22L*J11L + gt12L*J12L)*PDstandardNth1Xt2 + (gt23L*J11L + + CCTK_REAL Rt12 = Gt122*Gtlu112 + Gt123*Gtlu113 + (Gt111 + + Gt212)*Gtlu121 + Gt222*Gtlu122 + (Gt113 + Gt223)*Gtlu123 + + Gt322*Gtlu132 + Gt323*Gtlu133 + Gt111*Gtlu211 + Gt112*(Gtlu111 + + Gtlu122 + Gtlu212) + Gt113*Gtlu213 + 2*(Gt211*Gtlu221 + Gt212*Gtlu222 + + Gt213*Gtlu223) + Gt311*(Gtlu231 + Gtlu321) + Gt312*(Gtlu131 + Gtlu232 + + Gtlu322) + Gt313*(Gtlu233 + Gtlu323) + khalf*((gt12L*J11L + + gt11L*J12L)*PDstandardNth1Xt1 + (gt22L*J11L + + gt12L*J12L)*PDstandardNth1Xt2 + (gt23L*J11L + gt13L*J12L)*PDstandardNth1Xt3 + (gt12L*J21L + gt11L*J22L)*PDstandardNth2Xt1 + (gt22L*J21L + gt12L*J22L)*PDstandardNth2Xt2 + (gt23L*J21L + @@ -594,72 +579,8 @@ void ML_BSSN_MP_O8_constraints1_Body(cGH const * restrict const cctkGH, int cons dJ323L*PDstandardNth3gt12)) + (gt12L*J31L + gt11L*J32L)*PDstandardNth3Xt1 + (gt22L*J31L + gt12L*J32L)*PDstandardNth3Xt2 + (gt23L*J31L + - gt13L*J32L)*PDstandardNth3Xt3 + (Gt112*gt11L + Gt111*gt12L + - gt12L*Gt212 + Gt211*gt22L + gt23L*Gt311 + gt13L*Gt312)*Xt1L + - (gt11L*Gt122 + Gt112*gt12L + gt12L*Gt222 + Gt212*gt22L + gt23L*Gt312 + - gt13L*Gt322)*Xt2L + (gt11L*Gt123 + Gt113*gt12L + gt12L*Gt223 + - Gt213*gt22L + gt23L*Gt313 + gt13L*Gt323)*Xt3L + 2*((Gt123*gt12L*Gt211 + - Gt113*gt12L*Gt212 + 2*Gt112*gt12L*Gt213 + gt12L*Gt212*Gt223 + - Gt212*Gt213*gt22L + Gt211*Gt223*gt22L + gt12L*Gt133*Gt311 + - gt22L*Gt233*Gt311 + Gt113*gt13L*Gt312 + gt12L*Gt233*Gt312 + - Gt213*gt23L*Gt312 + gt11L*(2*Gt112*Gt113 + Gt123*Gt212 + Gt133*Gt312) + - 2*Gt112*gt13L*Gt313 + Gt212*gt23L*Gt313 + Gt111*(Gt113*gt12L + - Gt213*gt22L + gt23L*Gt313) + gt13L*Gt212*Gt323 + Gt211*gt23L*Gt323 + - gt23L*Gt311*Gt333 + gt13L*Gt312*Gt333 + Gt312*Gt313*gt33L)*gtu13 + - (Gt123*gt12L*Gt212 + 2*Gt122*gt12L*Gt213 + Gt113*gt12L*Gt222 + - gt12L*Gt222*Gt223 + Gt213*Gt222*gt22L + Gt212*Gt223*gt22L + - gt12L*Gt133*Gt312 + gt22L*Gt233*Gt312 + 2*Gt122*gt13L*Gt313 + - Gt222*gt23L*Gt313 + Gt112*(Gt113*gt12L + Gt213*gt22L + gt23L*Gt313) + - Gt113*gt13L*Gt322 + gt12L*Gt233*Gt322 + Gt213*gt23L*Gt322 + - gt11L*(2*Gt113*Gt122 + Gt123*Gt222 + Gt133*Gt322) + gt13L*Gt222*Gt323 + - Gt212*gt23L*Gt323 + gt23L*Gt312*Gt333 + gt13L*Gt322*Gt333 + - Gt313*Gt322*gt33L)*gtu23 + gtu11*(3*Gt112*gt12L*Gt211 + - 2*Gt211*Gt212*gt22L + Gt113*gt12L*Gt311 + 2*Gt112*gt13L*Gt311 + - Gt213*gt22L*Gt311 + Gt212*gt23L*Gt311 + gt13L*Gt212*Gt312 + - gt12L*Gt213*Gt312 + 2*Gt211*gt23L*Gt312 + gt11L*(2*Gt111*Gt112 + - Gt112*Gt212 + Gt113*Gt312) + Gt111*(gt12L*Gt212 + Gt211*gt22L + - gt23L*Gt311 + gt13L*Gt312) + gt23L*Gt311*Gt313 + gt13L*Gt312*Gt313 + - Gt311*Gt312*gt33L + gt12L*SQR(Gt111) + gt12L*SQR(Gt212)) + - gtu12*(Gt112*gt11L*Gt222 + Gt112*Gt211*gt22L + Gt211*Gt222*gt22L + - 2*Gt122*gt13L*Gt311 + Gt112*gt23L*Gt311 + Gt222*gt23L*Gt311 + - gt13L*Gt222*Gt312 + Gt213*gt22L*Gt312 + Gt212*gt23L*Gt312 + - gt23L*Gt312*Gt313 + Gt113*gt11L*Gt322 + Gt211*gt23L*Gt322 + - gt13L*Gt313*Gt322 + Gt111*(2*gt11L*Gt122 + Gt112*gt12L + gt12L*Gt222 + - gt13L*Gt322) + gt12L*(2*Gt122*Gt211 + Gt112*Gt212 + Gt212*Gt222 + - Gt113*Gt312 + Gt213*Gt322) + Gt311*Gt322*gt33L + gt22L*SQR(Gt212)) + - gtu22*(gt11L*Gt122*Gt222 + 2*Gt212*Gt222*gt22L + 2*Gt122*gt13L*Gt312 + - Gt223*gt22L*Gt312 + Gt222*gt23L*Gt312 + gt11L*Gt123*Gt322 + - gt13L*Gt222*Gt322 + 2*Gt212*gt23L*Gt322 + Gt112*(2*gt11L*Gt122 + - gt12L*Gt222 + Gt212*gt22L + gt23L*Gt312 + gt13L*Gt322) + - gt23L*Gt312*Gt323 + gt13L*Gt322*Gt323 + Gt312*Gt322*gt33L + - gt12L*SQR(Gt112) + gt12L*(3*Gt122*Gt212 + Gt123*Gt312 + Gt223*Gt322 + - SQR(Gt222))) + gtu33*(gt11L*Gt123*Gt223 + 2*Gt213*Gt223*gt22L + - 2*Gt123*gt13L*Gt313 + gt22L*Gt233*Gt313 + Gt223*gt23L*Gt313 + - gt11L*Gt133*Gt323 + gt13L*Gt223*Gt323 + 2*Gt213*gt23L*Gt323 + - Gt113*(2*gt11L*Gt123 + gt12L*Gt223 + Gt213*gt22L + gt23L*Gt313 + - gt13L*Gt323) + gt23L*Gt313*Gt333 + gt13L*Gt323*Gt333 + - Gt313*Gt323*gt33L + gt12L*SQR(Gt113) + gt12L*(3*Gt123*Gt213 + - Gt133*Gt313 + Gt233*Gt323 + SQR(Gt223))) + gtu12*(Gt122*gt12L*Gt211 + - 3*Gt112*gt12L*Gt212 + gt12L*Gt212*Gt222 + Gt211*Gt222*gt22L + - Gt123*gt12L*Gt311 + Gt223*gt22L*Gt311 + 3*Gt112*gt13L*Gt312 + - gt12L*Gt223*Gt312 + 2*Gt212*gt23L*Gt312 + Gt111*(Gt112*gt12L + - Gt212*gt22L + gt23L*Gt312) + gt13L*Gt212*Gt322 + Gt211*gt23L*Gt322 + - gt23L*Gt311*Gt323 + gt13L*Gt312*Gt323 + gt11L*(Gt122*Gt212 + - Gt123*Gt312 + 2*SQR(Gt112)) + gt22L*SQR(Gt212) + gt33L*SQR(Gt312)) + - gtu13*(Gt112*gt11L*Gt223 + Gt113*Gt211*gt22L + Gt212*Gt213*gt22L + - Gt211*Gt223*gt22L + 2*Gt123*gt13L*Gt311 + Gt113*gt23L*Gt311 + - Gt223*gt23L*Gt311 + gt13L*Gt223*Gt312 + Gt213*gt23L*Gt312 + - Gt213*gt22L*Gt313 + Gt113*gt11L*Gt323 + Gt211*gt23L*Gt323 + - gt13L*Gt313*Gt323 + Gt111*(2*gt11L*Gt123 + Gt113*gt12L + gt12L*Gt223 + - gt13L*Gt323) + gt12L*(2*Gt123*Gt211 + Gt112*Gt213 + Gt212*Gt223 + - Gt113*Gt313 + Gt213*Gt323) + Gt311*Gt323*gt33L + gt23L*SQR(Gt313)) + - gtu23*(gt11L*Gt122*Gt223 + Gt113*Gt212*gt22L + Gt213*Gt222*gt22L + - Gt212*Gt223*gt22L + 2*Gt123*gt13L*Gt312 + Gt113*gt23L*Gt312 + - Gt223*gt23L*Gt312 + Gt223*gt22L*Gt313 + gt13L*Gt223*Gt322 + - Gt213*gt23L*Gt322 + gt11L*Gt123*Gt323 + Gt212*gt23L*Gt323 + - gt23L*Gt313*Gt323 + Gt112*(2*gt11L*Gt123 + Gt113*gt12L + gt12L*Gt223 + - gt13L*Gt323) + gt12L*(Gt122*Gt213 + Gt123*(2*Gt212 + Gt313) + - Gt223*(Gt222 + Gt323)) + Gt312*Gt323*gt33L + gt13L*SQR(Gt323))) - + gt13L*J32L)*PDstandardNth3Xt3 + (Gtl112 + Gtl211)*Xtn1 + (Gtl122 + + Gtl212)*Xtn2 + (Gtl123 + Gtl213)*Xtn3 - gtu11*(2*J11L*J21L*PDstandardNth12gt12 + 2*J11L*J31L*PDstandardNth13gt12 + dJ111L*PDstandardNth1gt12 + 2*J21L*J31L*PDstandardNth23gt12 + dJ211L*PDstandardNth2gt12 + @@ -676,8 +597,14 @@ void ML_BSSN_MP_O8_constraints1_Body(cGH const * restrict const cctkGH, int cons dJ333L*PDstandardNth3gt12 + PDstandardNth11gt12*SQR(J13L) + PDstandardNth22gt12*SQR(J23L) + PDstandardNth33gt12*SQR(J33L))); - CCTK_REAL Rt13 = khalf*((gt13L*J11L + gt11L*J13L)*PDstandardNth1Xt1 + - (gt23L*J11L + gt12L*J13L)*PDstandardNth1Xt2 + (gt33L*J11L + + CCTK_REAL Rt13 = Gt123*Gtlu112 + Gt133*Gtlu113 + Gt223*Gtlu122 + + Gt233*Gtlu123 + (Gt111 + Gt313)*Gtlu131 + (Gt112 + Gt323)*Gtlu132 + + Gt333*Gtlu133 + Gt111*Gtlu311 + Gt112*Gtlu312 + Gt113*(Gtlu111 + + Gtlu133 + Gtlu313) + Gt211*(Gtlu231 + Gtlu321) + Gt212*(Gtlu232 + + Gtlu322) + Gt213*(Gtlu121 + Gtlu233 + Gtlu323) + 2*(Gt311*Gtlu331 + + Gt312*Gtlu332 + Gt313*Gtlu333) + khalf*((gt13L*J11L + + gt11L*J13L)*PDstandardNth1Xt1 + (gt23L*J11L + + gt12L*J13L)*PDstandardNth1Xt2 + (gt33L*J11L + gt13L*J13L)*PDstandardNth1Xt3 + (gt13L*J21L + gt11L*J23L)*PDstandardNth2Xt1 + (gt23L*J21L + gt12L*J23L)*PDstandardNth2Xt2 + (gt33L*J21L + @@ -702,74 +629,8 @@ void ML_BSSN_MP_O8_constraints1_Body(cGH const * restrict const cctkGH, int cons dJ323L*PDstandardNth3gt13)) + (gt13L*J31L + gt11L*J33L)*PDstandardNth3Xt1 + (gt23L*J31L + gt12L*J33L)*PDstandardNth3Xt2 + (gt33L*J31L + - gt13L*J33L)*PDstandardNth3Xt3 + (Gt113*gt11L + Gt111*gt13L + - gt12L*Gt213 + Gt211*gt23L + gt13L*Gt313 + Gt311*gt33L)*Xt1L + - (gt11L*Gt123 + Gt112*gt13L + gt12L*Gt223 + Gt212*gt23L + gt13L*Gt323 + - Gt312*gt33L)*Xt2L + (gt11L*Gt133 + Gt113*gt13L + gt12L*Gt233 + - Gt213*gt23L + gt13L*Gt333 + Gt313*gt33L)*Xt3L + 2*((Gt122*gt13L*Gt211 + - 2*Gt113*gt12L*Gt212 + Gt112*gt12L*Gt213 + gt12L*Gt213*Gt222 + - Gt212*Gt213*gt22L + Gt211*Gt222*gt23L + Gt123*gt13L*Gt311 + - Gt223*gt23L*Gt311 + 2*Gt113*gt13L*Gt312 + Gt213*gt23L*Gt312 + - Gt112*gt13L*Gt313 + gt12L*Gt223*Gt313 + Gt212*gt23L*Gt313 + - gt11L*(2*Gt112*Gt113 + Gt122*Gt213 + Gt123*Gt313) + gt13L*Gt213*Gt322 + - gt13L*Gt313*Gt323 + Gt312*Gt313*gt33L + Gt211*Gt322*gt33L + - Gt311*Gt323*gt33L + Gt111*(Gt112*gt13L + Gt212*gt23L + - Gt312*gt33L))*gtu12 + (Gt122*gt13L*Gt213 + gt11L*Gt122*Gt233 + - Gt212*gt22L*Gt233 + Gt113*Gt212*gt23L + Gt213*Gt222*gt23L + - 2*Gt133*gt13L*Gt312 + Gt233*gt23L*Gt312 + Gt123*gt13L*Gt313 + - Gt223*gt23L*Gt313 + gt13L*Gt233*Gt322 + gt11L*Gt123*Gt333 + - Gt212*gt23L*Gt333 + gt13L*Gt323*Gt333 + Gt112*(2*gt11L*Gt133 + - Gt113*gt13L + gt12L*Gt233 + gt13L*Gt333) + gt12L*(2*Gt133*Gt212 + - Gt222*Gt233 + Gt223*Gt333) + Gt113*Gt312*gt33L + Gt213*Gt322*gt33L + - Gt313*Gt323*gt33L + Gt312*Gt333*gt33L)*gtu23 + - gtu12*(2*Gt123*gt12L*Gt211 + Gt112*gt13L*Gt212 + gt12L*Gt212*Gt223 + - Gt211*Gt223*gt22L + Gt112*Gt211*gt23L + 2*Gt123*gt13L*Gt311 + - Gt223*gt23L*Gt311 + Gt113*gt13L*Gt312 + gt13L*Gt223*Gt312 + - Gt213*gt23L*Gt312 + gt12L*Gt213*Gt323 + Gt211*gt23L*Gt323 + - gt13L*Gt313*Gt323 + gt11L*(2*Gt111*Gt123 + Gt112*Gt223 + Gt113*Gt323) + - Gt111*(Gt112*gt13L + gt12L*Gt223 + gt13L*Gt323) + Gt112*Gt311*gt33L + - Gt212*Gt312*gt33L + Gt312*Gt313*gt33L + Gt311*Gt323*gt33L + - gt23L*SQR(Gt212)) + gtu23*(Gt123*gt13L*Gt212 + 2*Gt123*gt12L*Gt213 + - Gt113*gt12L*Gt223 + Gt213*Gt223*gt22L + Gt212*Gt223*gt23L + - Gt133*gt13L*Gt312 + Gt233*gt23L*Gt312 + 2*Gt123*gt13L*Gt313 + - Gt223*gt23L*Gt313 + Gt113*gt13L*Gt323 + gt13L*Gt223*Gt323 + - gt12L*Gt233*Gt323 + Gt213*gt23L*Gt323 + gt11L*(2*Gt113*Gt123 + - Gt123*Gt223 + Gt133*Gt323) + gt13L*Gt323*Gt333 + Gt212*Gt323*gt33L + - Gt313*Gt323*gt33L + Gt312*Gt333*gt33L + Gt112*(Gt113*gt13L + - Gt213*gt23L + Gt313*gt33L) + gt12L*SQR(Gt223)) + - gtu11*(2*Gt113*gt12L*Gt211 + Gt112*gt13L*Gt211 + gt12L*Gt212*Gt213 + - Gt211*Gt213*gt22L + Gt211*Gt212*gt23L + 3*Gt113*gt13L*Gt311 + - 2*Gt213*gt23L*Gt311 + gt13L*Gt213*Gt312 + gt12L*Gt213*Gt313 + - Gt211*gt23L*Gt313 + gt11L*(2*Gt111*Gt113 + Gt112*Gt213 + Gt113*Gt313) + - Gt211*Gt312*gt33L + 2*Gt311*Gt313*gt33L + Gt111*(gt12L*Gt213 + - Gt211*gt23L + gt13L*Gt313 + Gt311*gt33L) + gt13L*SQR(Gt111) + - gt13L*SQR(Gt313)) + gtu13*(Gt112*gt13L*Gt213 + Gt112*gt11L*Gt233 + - Gt211*gt22L*Gt233 + Gt113*Gt211*gt23L + Gt212*Gt213*gt23L + - 2*Gt133*gt13L*Gt311 + Gt233*gt23L*Gt311 + gt13L*Gt233*Gt312 + - Gt113*gt13L*Gt313 + Gt213*gt23L*Gt313 + Gt113*gt11L*Gt333 + - Gt211*gt23L*Gt333 + gt13L*Gt313*Gt333 + Gt111*(2*gt11L*Gt133 + - Gt113*gt13L + gt12L*Gt233 + gt13L*Gt333) + gt12L*(2*Gt133*Gt211 + - Gt212*Gt233 + Gt213*Gt333) + Gt113*Gt311*gt33L + Gt213*Gt312*gt33L + - Gt311*Gt333*gt33L + gt33L*SQR(Gt313)) + gtu13*(Gt123*gt13L*Gt211 + - 3*Gt113*gt12L*Gt213 + gt12L*Gt213*Gt223 + Gt211*Gt223*gt23L + - Gt133*gt13L*Gt311 + Gt233*gt23L*Gt311 + 3*Gt113*gt13L*Gt313 + - gt12L*Gt233*Gt313 + 2*Gt213*gt23L*Gt313 + gt13L*Gt213*Gt323 + - gt13L*Gt313*Gt333 + Gt211*Gt323*gt33L + Gt311*Gt333*gt33L + - Gt111*(Gt113*gt13L + Gt213*gt23L + Gt313*gt33L) + gt11L*(Gt123*Gt213 + - Gt133*Gt313 + 2*SQR(Gt113)) + gt22L*SQR(Gt213) + gt33L*SQR(Gt313)) + - gtu22*(2*Gt123*gt12L*Gt212 + Gt122*gt13L*Gt212 + gt12L*Gt222*Gt223 + - Gt212*Gt223*gt22L + Gt212*Gt222*gt23L + 3*Gt123*gt13L*Gt312 + - 2*Gt223*gt23L*Gt312 + gt13L*Gt223*Gt322 + gt12L*Gt223*Gt323 + - Gt212*gt23L*Gt323 + gt11L*(2*Gt112*Gt123 + Gt122*Gt223 + Gt123*Gt323) + - Gt212*Gt322*gt33L + 2*Gt312*Gt323*gt33L + Gt112*(gt12L*Gt223 + - Gt212*gt23L + gt13L*Gt323 + Gt312*gt33L) + gt13L*SQR(Gt112) + - gt13L*SQR(Gt323)) + gtu33*(2*gt12L*Gt133*Gt213 + Gt123*gt13L*Gt213 + - gt11L*Gt123*Gt233 + gt12L*Gt223*Gt233 + Gt213*gt22L*Gt233 + - Gt213*Gt223*gt23L + 3*Gt133*gt13L*Gt313 + 2*Gt233*gt23L*Gt313 + - gt13L*Gt233*Gt323 + gt11L*Gt133*Gt333 + gt12L*Gt233*Gt333 + - Gt213*gt23L*Gt333 + Gt213*Gt323*gt33L + 2*Gt313*Gt333*gt33L + - Gt113*(2*gt11L*Gt133 + gt12L*Gt233 + Gt213*gt23L + gt13L*Gt333 + - Gt313*gt33L) + gt13L*SQR(Gt113) + gt13L*SQR(Gt333))) - + gt13L*J33L)*PDstandardNth3Xt3 + (Gtl113 + Gtl311)*Xtn1 + (Gtl123 + + Gtl312)*Xtn2 + (Gtl133 + Gtl313)*Xtn3 - gtu11*(2*J11L*J21L*PDstandardNth12gt13 + 2*J11L*J31L*PDstandardNth13gt13 + dJ111L*PDstandardNth1gt13 + 2*J21L*J31L*PDstandardNth23gt13 + dJ211L*PDstandardNth2gt13 + @@ -786,41 +647,15 @@ void ML_BSSN_MP_O8_constraints1_Body(cGH const * restrict const cctkGH, int cons dJ333L*PDstandardNth3gt13 + PDstandardNth11gt13*SQR(J13L) + PDstandardNth22gt13*SQR(J23L) + PDstandardNth33gt13*SQR(J33L))); - CCTK_REAL Rt22 = (Gt223*(3*Gt112*gt12L + 6*Gt212*gt22L + - 4*gt23L*Gt312) + Gt123*(Gt112*gt11L + gt12L*(2*Gt111 + 4*Gt212) + - 2*(Gt211*gt22L + gt23L*Gt311 + gt13L*Gt312)) + Gt112*(gt11L*Gt123 + - gt12L*(2*Gt113 + Gt223) + 2*(Gt213*gt22L + gt23L*Gt313) + gt13L*Gt323) - + 2*(Gt113*gt12L*Gt323 + Gt312*(gt12L*Gt133 + gt22L*Gt233 + - gt23L*Gt333)) + Gt323*(Gt112*gt13L + 4*Gt212*gt23L + 2*(Gt213*gt22L + - gt23L*Gt313 + Gt312*gt33L)))*gtu13 + J12L*(gt12L*PDstandardNth1Xt1 + - gt22L*PDstandardNth1Xt2 + gt23L*PDstandardNth1Xt3) + - J22L*(gt12L*PDstandardNth2Xt1 + gt22L*PDstandardNth2Xt2 + - gt23L*PDstandardNth2Xt3) + J32L*(gt12L*PDstandardNth3Xt1 + - gt22L*PDstandardNth3Xt2 + gt23L*PDstandardNth3Xt3) + (Gt112*gt12L + - Gt212*gt22L + gt23L*Gt312)*Xt1L + (Gt122*gt12L + Gt222*gt22L + - gt23L*Gt322)*Xt2L + (Gt123*gt12L + Gt223*gt22L + gt23L*Gt323)*Xt3L + - gtu12*(Gt222*(3*Gt112*gt12L + 6*Gt212*gt22L + 4*gt23L*Gt312) + - Gt122*(Gt112*gt11L + gt12L*(2*Gt111 + 4*Gt212) + 2*(Gt211*gt22L + - gt23L*Gt311 + gt13L*Gt312)) + Gt112*(gt11L*Gt122 + gt12L*Gt222 + - 2*(Gt212*gt22L + gt23L*Gt312) + gt13L*Gt322) + Gt322*(Gt112*gt13L + - 4*Gt212*gt23L + 2*(Gt213*gt22L + gt23L*Gt313 + Gt312*gt33L)) + - 2*(Gt312*(Gt123*gt12L + Gt223*gt22L + gt23L*Gt323) + gt12L*(Gt113*Gt322 - + SQR(Gt112)))) + gtu11*(Gt112*(gt12L*(2*Gt111 + 4*Gt212) + - 2*(Gt211*gt22L + gt23L*Gt311 + gt13L*Gt312)) + Gt312*(2*(Gt113*gt12L + - Gt213*gt22L) + gt23L*(4*Gt212 + 2*Gt313)) + gt11L*SQR(Gt112) + - 3*gt22L*SQR(Gt212) + gt33L*SQR(Gt312)) + gtu22*(Gt122*(gt12L*(2*Gt112 + - 4*Gt222) + 2*(Gt212*gt22L + gt23L*Gt312 + gt13L*Gt322)) + - Gt322*(2*(Gt123*gt12L + Gt223*gt22L) + gt23L*(4*Gt222 + 2*Gt323)) + - gt11L*SQR(Gt122) + 3*gt22L*SQR(Gt222) + gt33L*SQR(Gt322)) + - gtu33*(Gt123*(gt12L*(2*Gt113 + 4*Gt223) + 2*(Gt213*gt22L + gt23L*Gt313 - + gt13L*Gt323)) + Gt323*(2*(gt12L*Gt133 + gt22L*Gt233) + gt23L*(4*Gt223 - + 2*Gt333)) + gt11L*SQR(Gt123) + 3*gt22L*SQR(Gt223) + gt33L*SQR(Gt323)) - + gtu23*(gt22L*(2*(Gt122*Gt213 + Gt233*Gt322) + Gt223*(6*Gt222 + - 2*Gt323)) + 4*(gt12L*(Gt123*Gt222 + Gt122*Gt223) + gt23L*(Gt223*Gt322 + - Gt222*Gt323)) + 2*(Gt123*(Gt112*gt12L + Gt212*gt22L + gt23L*Gt312 + - gt13L*Gt322) + gt12L*(Gt133*Gt322 + Gt123*Gt323) + Gt122*(gt11L*Gt123 + - Gt113*gt12L + gt23L*Gt313 + gt13L*Gt323) + Gt322*(gt23L*Gt333 + - Gt323*gt33L) + gt23L*SQR(Gt323))) + + CCTK_REAL Rt22 = Gt112*(Gtlu121 + 2*Gtlu211) + Gt122*(Gtlu122 + + 2*Gtlu212) + Gt123*(Gtlu123 + 2*Gtlu213) + 3*(Gt212*Gtlu221 + + Gt222*Gtlu222 + Gt223*Gtlu223) + 2*(Gt312*Gtlu231 + Gt322*Gtlu232 + + Gt323*Gtlu233) + Gt312*Gtlu321 + Gt322*Gtlu322 + Gt323*Gtlu323 + + J12L*(gt12L*PDstandardNth1Xt1 + gt22L*PDstandardNth1Xt2 + + gt23L*PDstandardNth1Xt3) + J22L*(gt12L*PDstandardNth2Xt1 + + gt22L*PDstandardNth2Xt2 + gt23L*PDstandardNth2Xt3) + + J32L*(gt12L*PDstandardNth3Xt1 + gt22L*PDstandardNth3Xt2 + + gt23L*PDstandardNth3Xt3) + Gtl212*Xtn1 + Gtl222*Xtn2 + Gtl223*Xtn3 + khalf*(-2*(gtu12*(J11L*J12L*PDstandardNth11gt22 + J12L*J21L*PDstandardNth12gt22 + J11L*J22L*PDstandardNth12gt22 + J12L*J31L*PDstandardNth13gt22 + J11L*J32L*PDstandardNth13gt22 + @@ -855,7 +690,12 @@ void ML_BSSN_MP_O8_constraints1_Body(cGH const * restrict const cctkGH, int cons dJ333L*PDstandardNth3gt22 + PDstandardNth11gt22*SQR(J13L) + PDstandardNth22gt22*SQR(J23L) + PDstandardNth33gt22*SQR(J33L))); - CCTK_REAL Rt23 = khalf*((gt13L*J12L + gt12L*J13L)*PDstandardNth1Xt1 + + CCTK_REAL Rt23 = Gt113*Gtlu211 + Gt133*Gtlu213 + Gt213*Gtlu221 + + Gt233*Gtlu223 + (Gt212 + Gt313)*Gtlu231 + (Gt222 + Gt323)*Gtlu232 + + Gt333*Gtlu233 + Gt112*(Gtlu131 + Gtlu311) + Gt122*(Gtlu132 + Gtlu312) + + Gt123*(Gtlu133 + Gtlu212 + Gtlu313) + Gt212*Gtlu321 + Gt222*Gtlu322 + + Gt223*(Gtlu222 + Gtlu233 + Gtlu323) + 2*(Gt312*Gtlu331 + Gt322*Gtlu332 + + Gt323*Gtlu333) + khalf*((gt13L*J12L + gt12L*J13L)*PDstandardNth1Xt1 + (gt23L*J12L + gt22L*J13L)*PDstandardNth1Xt2 + (gt33L*J12L + gt23L*J13L)*PDstandardNth1Xt3 + (gt13L*J22L + gt12L*J23L)*PDstandardNth2Xt1 + (gt23L*J22L + @@ -881,78 +721,9 @@ void ML_BSSN_MP_O8_constraints1_Body(cGH const * restrict const cctkGH, int cons dJ323L*PDstandardNth3gt23)) + (gt13L*J32L + gt12L*J33L)*PDstandardNth3Xt1 + (gt23L*J32L + gt22L*J33L)*PDstandardNth3Xt2 + (gt33L*J32L + - gt23L*J33L)*PDstandardNth3Xt3 + (Gt113*gt12L + Gt112*gt13L + - Gt213*gt22L + Gt212*gt23L + gt23L*Gt313 + Gt312*gt33L)*Xt1L + - (Gt123*gt12L + Gt122*gt13L + Gt223*gt22L + Gt222*gt23L + gt23L*Gt323 + - Gt322*gt33L)*Xt2L + (gt12L*Gt133 + Gt123*gt13L + gt22L*Gt233 + - Gt223*gt23L + gt23L*Gt333 + Gt323*gt33L)*Xt3L + 2*((Gt112*gt11L*Gt123 + - Gt111*Gt123*gt12L + Gt111*Gt122*gt13L + Gt123*gt12L*Gt212 + - Gt112*gt13L*Gt222 + 2*Gt112*gt12L*Gt223 + Gt123*Gt211*gt22L + - 2*Gt212*Gt223*gt22L + Gt122*Gt211*gt23L + Gt212*Gt222*gt23L + - Gt123*gt23L*Gt311 + Gt123*gt13L*Gt312 + 2*Gt223*gt23L*Gt312 + - Gt113*gt13L*Gt322 + Gt213*gt23L*Gt322 + Gt113*gt12L*Gt323 + - Gt112*gt13L*Gt323 + Gt213*gt22L*Gt323 + Gt212*gt23L*Gt323 + - gt23L*Gt313*Gt323 + Gt122*Gt311*gt33L + Gt222*Gt312*gt33L + - Gt313*Gt322*gt33L + Gt312*Gt323*gt33L)*gtu12 + (Gt112*gt11L*Gt133 + - Gt111*gt12L*Gt133 + Gt111*Gt123*gt13L + gt12L*Gt133*Gt212 + - Gt112*gt13L*Gt223 + Gt133*Gt211*gt22L + 2*Gt112*gt12L*Gt233 + - 2*Gt212*gt22L*Gt233 + Gt123*Gt211*gt23L + Gt212*Gt223*gt23L + - Gt133*gt23L*Gt311 + Gt133*gt13L*Gt312 + 2*Gt233*gt23L*Gt312 + - Gt113*gt13L*Gt323 + Gt213*gt23L*Gt323 + Gt113*gt12L*Gt333 + - Gt112*gt13L*Gt333 + Gt213*gt22L*Gt333 + Gt212*gt23L*Gt333 + - gt23L*Gt313*Gt333 + Gt123*Gt311*gt33L + Gt223*Gt312*gt33L + - Gt313*Gt323*gt33L + Gt312*Gt333*gt33L)*gtu13 + gtu12*(Gt113*gt11L*Gt122 - + Gt122*gt13L*Gt212 + 2*Gt122*gt12L*Gt213 + Gt113*gt12L*Gt222 + - Gt113*Gt212*gt22L + 2*Gt213*Gt222*gt22L + Gt212*Gt222*gt23L + - Gt123*gt13L*Gt312 + Gt113*gt23L*Gt312 + Gt223*gt23L*Gt312 + - Gt123*gt12L*Gt313 + Gt122*gt13L*Gt313 + Gt223*gt22L*Gt313 + - Gt222*gt23L*Gt313 + Gt113*gt13L*Gt322 + 2*Gt213*gt23L*Gt322 + - gt23L*Gt313*Gt323 + Gt212*Gt322*gt33L + Gt313*Gt322*gt33L + - Gt312*Gt323*gt33L + Gt112*(Gt113*gt12L + Gt212*gt23L + Gt312*gt33L) + - gt13L*SQR(Gt112)) + gtu13*(2*Gt213*Gt223*gt22L + Gt112*Gt213*gt23L + - Gt212*Gt223*gt23L + Gt133*gt13L*Gt312 + Gt233*gt23L*Gt312 + - gt12L*Gt133*Gt313 + gt22L*Gt233*Gt313 + Gt223*gt23L*Gt313 + - Gt123*(2*gt12L*Gt213 + gt13L*(Gt212 + Gt313)) + 2*Gt213*gt23L*Gt323 + - Gt113*(gt11L*Gt123 + Gt112*gt13L + gt12L*Gt223 + Gt213*gt22L + - gt23L*Gt313 + gt13L*Gt323) + gt23L*Gt313*Gt333 + Gt112*Gt313*gt33L + - Gt212*Gt323*gt33L + Gt313*Gt323*gt33L + Gt312*Gt333*gt33L + - gt12L*SQR(Gt113)) + gtu11*(Gt112*Gt113*gt11L + Gt111*Gt113*gt12L + - Gt111*Gt112*gt13L + Gt113*gt12L*Gt212 + Gt112*gt13L*Gt212 + - 2*Gt112*gt12L*Gt213 + Gt113*Gt211*gt22L + 2*Gt212*Gt213*gt22L + - Gt112*Gt211*gt23L + Gt113*gt23L*Gt311 + 2*Gt113*gt13L*Gt312 + - 3*Gt213*gt23L*Gt312 + Gt113*gt12L*Gt313 + Gt112*gt13L*Gt313 + - Gt213*gt22L*Gt313 + Gt212*gt23L*Gt313 + Gt112*Gt311*gt33L + - Gt212*Gt312*gt33L + 2*Gt312*Gt313*gt33L + gt23L*SQR(Gt212) + - gt23L*SQR(Gt313)) + gtu22*(gt11L*Gt122*Gt123 + Gt112*Gt123*gt12L + - Gt112*Gt122*gt13L + Gt123*gt12L*Gt222 + Gt122*gt13L*Gt222 + - 2*Gt122*gt12L*Gt223 + Gt123*Gt212*gt22L + 2*Gt222*Gt223*gt22L + - Gt122*Gt212*gt23L + Gt123*gt23L*Gt312 + 2*Gt123*gt13L*Gt322 + - 3*Gt223*gt23L*Gt322 + Gt123*gt12L*Gt323 + Gt122*gt13L*Gt323 + - Gt223*gt22L*Gt323 + Gt222*gt23L*Gt323 + Gt122*Gt312*gt33L + - Gt222*Gt322*gt33L + 2*Gt322*Gt323*gt33L + gt23L*SQR(Gt222) + - gt23L*SQR(Gt323)) + gtu23*(gt11L*Gt122*Gt133 + Gt112*gt12L*Gt133 + - Gt112*Gt123*gt13L + gt12L*Gt133*Gt222 + Gt122*gt13L*Gt223 + - Gt133*Gt212*gt22L + 2*Gt122*gt12L*Gt233 + 2*Gt222*gt22L*Gt233 + - Gt123*Gt212*gt23L + Gt222*Gt223*gt23L + Gt133*gt23L*Gt312 + - Gt133*gt13L*Gt322 + 2*Gt233*gt23L*Gt322 + Gt123*gt13L*Gt323 + - Gt223*gt23L*Gt323 + Gt123*gt12L*Gt333 + Gt122*gt13L*Gt333 + - Gt223*gt22L*Gt333 + Gt222*gt23L*Gt333 + gt23L*Gt323*Gt333 + - Gt123*Gt312*gt33L + Gt223*Gt322*gt33L + Gt322*Gt333*gt33L + - gt33L*SQR(Gt323)) + gtu23*(Gt113*Gt123*gt12L + Gt113*Gt122*gt13L + - Gt123*gt13L*Gt222 + 3*Gt123*gt12L*Gt223 + Gt123*Gt213*gt22L + - Gt122*Gt213*gt23L + Gt222*Gt223*gt23L + Gt123*gt23L*Gt313 + - Gt133*gt13L*Gt322 + Gt233*gt23L*Gt322 + gt12L*Gt133*Gt323 + - 2*Gt123*gt13L*Gt323 + gt22L*Gt233*Gt323 + 3*Gt223*gt23L*Gt323 + - gt23L*Gt323*Gt333 + Gt122*Gt313*gt33L + Gt222*Gt323*gt33L + - Gt322*Gt333*gt33L + gt11L*SQR(Gt123) + 2*gt22L*SQR(Gt223) + - gt33L*SQR(Gt323)) + gtu33*(gt11L*Gt123*Gt133 + Gt113*gt12L*Gt133 + - Gt113*Gt123*gt13L + gt12L*Gt133*Gt223 + Gt123*gt13L*Gt223 + - Gt133*Gt213*gt22L + 2*Gt123*gt12L*Gt233 + 2*Gt223*gt22L*Gt233 + - Gt123*Gt213*gt23L + Gt133*gt23L*Gt313 + 2*Gt133*gt13L*Gt323 + - 3*Gt233*gt23L*Gt323 + gt12L*Gt133*Gt333 + Gt123*gt13L*Gt333 + - gt22L*Gt233*Gt333 + Gt223*gt23L*Gt333 + Gt123*Gt313*gt33L + - Gt223*Gt323*gt33L + 2*Gt323*Gt333*gt33L + gt23L*SQR(Gt223) + - gt23L*SQR(Gt333))) - gtu11*(2*J11L*J21L*PDstandardNth12gt23 + + gt23L*J33L)*PDstandardNth3Xt3 + (Gtl213 + Gtl312)*Xtn1 + (Gtl223 + + Gtl322)*Xtn2 + (Gtl233 + Gtl323)*Xtn3 - + gtu11*(2*J11L*J21L*PDstandardNth12gt23 + 2*J11L*J31L*PDstandardNth13gt23 + dJ111L*PDstandardNth1gt23 + 2*J21L*J31L*PDstandardNth23gt23 + dJ211L*PDstandardNth2gt23 + dJ311L*PDstandardNth3gt23 + PDstandardNth11gt23*SQR(J11L) + @@ -968,41 +739,15 @@ void ML_BSSN_MP_O8_constraints1_Body(cGH const * restrict const cctkGH, int cons dJ333L*PDstandardNth3gt23 + PDstandardNth11gt23*SQR(J13L) + PDstandardNth22gt23*SQR(J23L) + PDstandardNth33gt23*SQR(J33L))); - CCTK_REAL Rt33 = (4*((Gt123*gt13L + Gt223*gt23L)*Gt313 + (Gt113*gt13L - + Gt213*gt23L)*Gt323) + (2*Gt213*Gt322 + 6*Gt313*Gt323)*gt33L + - 2*(gt13L*(Gt122*Gt213 + Gt112*Gt223) + Gt213*(Gt223*gt22L + - Gt222*gt23L) + Gt123*(Gt111*gt13L + gt12L*Gt213 + Gt211*gt23L + - Gt311*gt33L) + Gt223*(Gt212*gt23L + Gt312*gt33L) + Gt113*(gt11L*Gt123 + - Gt112*gt13L + gt12L*Gt223 + Gt212*gt23L + Gt312*gt33L)))*gtu12 + + CCTK_REAL Rt33 = Gt113*(Gtlu131 + 2*Gtlu311) + Gt123*(Gtlu132 + + 2*Gtlu312) + Gt133*(Gtlu133 + 2*Gtlu313) + Gt213*(Gtlu231 + 2*Gtlu321) + + Gt223*(Gtlu232 + 2*Gtlu322) + Gt233*(Gtlu233 + 2*Gtlu323) + + 3*(Gt313*Gtlu331 + Gt323*Gtlu332 + Gt333*Gtlu333) + J13L*(gt13L*PDstandardNth1Xt1 + gt23L*PDstandardNth1Xt2 + gt33L*PDstandardNth1Xt3) + J23L*(gt13L*PDstandardNth2Xt1 + gt23L*PDstandardNth2Xt2 + gt33L*PDstandardNth2Xt3) + J33L*(gt13L*PDstandardNth3Xt1 + gt23L*PDstandardNth3Xt2 + - gt33L*PDstandardNth3Xt3) + (Gt113*gt13L + Gt213*gt23L + - Gt313*gt33L)*Xt1L + (Gt123*gt13L + Gt223*gt23L + Gt323*gt33L)*Xt2L + - (Gt133*gt13L + Gt233*gt23L + Gt333*gt33L)*Xt3L + - gtu13*(Gt133*(Gt113*gt11L + 2*(Gt111*gt13L + gt12L*Gt213 + Gt211*gt23L) - + 4*gt13L*Gt313) + Gt333*(3*Gt113*gt13L + 4*Gt213*gt23L + - 6*Gt313*gt33L) + Gt233*(Gt113*gt12L + 4*gt23L*Gt313 + 2*(Gt213*gt22L + - Gt212*gt23L + Gt312*gt33L)) + Gt113*(gt11L*Gt133 + gt12L*Gt233 + - gt13L*Gt333 + 2*(Gt213*gt23L + Gt313*gt33L)) + 2*(Gt133*Gt311*gt33L + - Gt213*(Gt223*gt23L + Gt323*gt33L) + gt13L*(Gt123*Gt213 + Gt112*Gt233 + - SQR(Gt113)))) + gtu23*(4*((Gt133*gt13L + Gt233*gt23L)*Gt323 + - (Gt123*gt13L + Gt223*gt23L)*Gt333) + Gt323*(2*Gt223 + 6*Gt333)*gt33L + - 2*(Gt133*(Gt112*gt13L + gt12L*Gt223 + Gt212*gt23L + Gt312*gt33L) + - Gt123*(gt11L*Gt133 + gt13L*(Gt113 + Gt223) + gt12L*Gt233 + Gt213*gt23L - + Gt313*gt33L) + Gt233*(Gt122*gt13L + Gt223*gt22L + Gt222*gt23L + - Gt322*gt33L) + gt23L*SQR(Gt223))) + gtu11*(4*(Gt113*gt13L + - Gt213*gt23L)*Gt313 + 2*(Gt113*(Gt111*gt13L + gt12L*Gt213 + Gt211*gt23L - + Gt311*gt33L) + Gt213*(Gt112*gt13L + Gt212*gt23L + Gt312*gt33L)) + - gt11L*SQR(Gt113) + gt22L*SQR(Gt213) + 3*gt33L*SQR(Gt313)) + - gtu22*(4*(Gt123*gt13L + Gt223*gt23L)*Gt323 + 2*(Gt123*(Gt112*gt13L + - gt12L*Gt223 + Gt212*gt23L + Gt312*gt33L) + Gt223*(Gt122*gt13L + - Gt222*gt23L + Gt322*gt33L)) + gt11L*SQR(Gt123) + gt22L*SQR(Gt223) + - 3*gt33L*SQR(Gt323)) + gtu33*(4*(Gt133*gt13L + Gt233*gt23L)*Gt333 + - 2*(Gt133*(Gt113*gt13L + gt12L*Gt233 + Gt213*gt23L + Gt313*gt33L) + - Gt233*(Gt123*gt13L + Gt223*gt23L + Gt323*gt33L)) + gt11L*SQR(Gt133) + - gt22L*SQR(Gt233) + 3*gt33L*SQR(Gt333)) + + gt33L*PDstandardNth3Xt3) + Gtl313*Xtn1 + Gtl323*Xtn2 + Gtl333*Xtn3 + khalf*(-2*(gtu12*(J11L*J12L*PDstandardNth11gt33 + J12L*J21L*PDstandardNth12gt33 + J11L*J22L*PDstandardNth12gt33 + J12L*J31L*PDstandardNth13gt33 + J11L*J32L*PDstandardNth13gt33 + @@ -1211,23 +956,8 @@ void ML_BSSN_MP_O8_constraints1_Body(cGH const * restrict const cctkGH, int cons SQR(Atm22) + SQR(Atm33)) + 0.6666666666666666666666666666666666666667*SQR(trKL); - CCTK_REAL cSL = Log(detgt); - - CCTK_REAL cXt1L = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu12 + - Gt113*gtu13 + Gt123*gtu23) + Gt133*gtu33 - Xt1L; - - CCTK_REAL cXt2L = Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu12 + - Gt213*gtu13 + Gt223*gtu23) + Gt233*gtu33 - Xt2L; - - CCTK_REAL cXt3L = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu12 + - Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33 - Xt3L; - /* Copy local copies back to grid functions */ - cS[index] = cSL; - cXt1[index] = cXt1L; - cXt2[index] = cXt2L; - cXt3[index] = cXt3L; H[index] = HL; } LC_ENDLOOP3 (ML_BSSN_MP_O8_constraints1); diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_constraints2.c b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_constraints2.c index fb5d2e5..5733cd9 100644 --- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_constraints2.c +++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_constraints2.c @@ -26,6 +26,12 @@ void ML_BSSN_MP_O8_constraints2_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_PARAMETERS; CCTK_INT ierr = 0; + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP_O8::ML_cons_detg","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP_O8::ML_cons_detg."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP_O8::ML_cons_Gamma","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP_O8::ML_cons_Gamma."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP_O8::ML_cons_traceA","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP_O8::ML_cons_traceA."); @@ -53,9 +59,6 @@ void ML_BSSN_MP_O8_constraints2_Body(cGH const * restrict const cctkGH, int cons return; } - const char *groups[] = {"Coordinates::jacobian","ML_BSSN_MP_O8::ML_cons_traceA","ML_BSSN_MP_O8::ML_curv","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_log_confac","ML_BSSN_MP_O8::ML_metric","ML_BSSN_MP_O8::ML_mom","ML_BSSN_MP_O8::ML_shift","ML_BSSN_MP_O8::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_constraints2", 9, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -192,6 +195,9 @@ void ML_BSSN_MP_O8_constraints2_Body(cGH const * restrict const cctkGH, int cons CCTK_REAL J33L = J33[index]; CCTK_REAL phiL = phi[index]; CCTK_REAL trKL = trK[index]; + CCTK_REAL Xt1L = Xt1[index]; + CCTK_REAL Xt2L = Xt2[index]; + CCTK_REAL Xt3L = Xt3[index]; /* Include user supplied include files */ @@ -254,164 +260,116 @@ void ML_BSSN_MP_O8_constraints2_Body(cGH const * restrict const cctkGH, int cons CCTK_REAL gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L)); - CCTK_REAL Gt111 = khalf*((gtu11*J11L - gtu12*J12L - - gtu13*J13L)*PDstandardNth1gt11 + (gtu11*J21L - gtu12*J22L - - gtu13*J23L)*PDstandardNth2gt11 + (gtu11*J31L - gtu12*J32L - - gtu13*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu12*PDstandardNth1gt12 + - gtu13*PDstandardNth1gt13) + J21L*(gtu12*PDstandardNth2gt12 + - gtu13*PDstandardNth2gt13) + J31L*(gtu12*PDstandardNth3gt12 + - gtu13*PDstandardNth3gt13))); - - CCTK_REAL Gt211 = khalf*((gtu12*J11L - gtu22*J12L - - gtu23*J13L)*PDstandardNth1gt11 + (gtu12*J21L - gtu22*J22L - - gtu23*J23L)*PDstandardNth2gt11 + (gtu12*J31L - gtu22*J32L - - gtu23*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu22*PDstandardNth1gt12 + - gtu23*PDstandardNth1gt13) + J21L*(gtu22*PDstandardNth2gt12 + - gtu23*PDstandardNth2gt13) + J31L*(gtu22*PDstandardNth3gt12 + - gtu23*PDstandardNth3gt13))); - - CCTK_REAL Gt311 = khalf*((gtu13*J11L - gtu23*J12L - - gtu33*J13L)*PDstandardNth1gt11 + (gtu13*J21L - gtu23*J22L - - gtu33*J23L)*PDstandardNth2gt11 + (gtu13*J31L - gtu23*J32L - - gtu33*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu23*PDstandardNth1gt12 + - gtu33*PDstandardNth1gt13) + J21L*(gtu23*PDstandardNth2gt12 + - gtu33*PDstandardNth2gt13) + J31L*(gtu23*PDstandardNth3gt12 + - gtu33*PDstandardNth3gt13))); - - CCTK_REAL Gt112 = khalf*(gtu11*(J12L*PDstandardNth1gt11 + - J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11) + - gtu12*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + - J31L*PDstandardNth3gt22) + gtu13*(-(J13L*PDstandardNth1gt12) + - J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 - - J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 + - J21L*PDstandardNth2gt23 - J33L*PDstandardNth3gt12 + - J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23)); + CCTK_REAL Gtl111 = khalf*(J11L*PDstandardNth1gt11 + + J21L*PDstandardNth2gt11 + J31L*PDstandardNth3gt11); - CCTK_REAL Gt212 = khalf*(gtu12*(J12L*PDstandardNth1gt11 + - J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11) + - gtu22*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + - J31L*PDstandardNth3gt22) + gtu23*(-(J13L*PDstandardNth1gt12) + - J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 - - J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 + - J21L*PDstandardNth2gt23 - J33L*PDstandardNth3gt12 + - J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23)); + CCTK_REAL Gtl112 = khalf*(J12L*PDstandardNth1gt11 + + J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11); + + CCTK_REAL Gtl113 = khalf*(J13L*PDstandardNth1gt11 + + J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11); + + CCTK_REAL Gtl122 = J12L*PDstandardNth1gt12 - + J11L*khalf*PDstandardNth1gt22 + J22L*PDstandardNth2gt12 - + J21L*khalf*PDstandardNth2gt22 + J32L*PDstandardNth3gt12 - + J31L*khalf*PDstandardNth3gt22; + + CCTK_REAL Gtl123 = khalf*(J13L*PDstandardNth1gt12 + + J12L*PDstandardNth1gt13 - J11L*PDstandardNth1gt23 + + J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 - + J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 + + J32L*PDstandardNth3gt13 - J31L*PDstandardNth3gt23); - CCTK_REAL Gt312 = khalf*(gtu13*(J12L*PDstandardNth1gt11 + - J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11) + - gtu23*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + - J31L*PDstandardNth3gt22) + gtu33*(-(J13L*PDstandardNth1gt12) + + CCTK_REAL Gtl133 = J13L*PDstandardNth1gt13 - + J11L*khalf*PDstandardNth1gt33 + J23L*PDstandardNth2gt13 - + J21L*khalf*PDstandardNth2gt33 + J33L*PDstandardNth3gt13 - + J31L*khalf*PDstandardNth3gt33; + + CCTK_REAL Gtl211 = -(J12L*khalf*PDstandardNth1gt11) + + J11L*PDstandardNth1gt12 - J22L*khalf*PDstandardNth2gt11 + + J21L*PDstandardNth2gt12 - J32L*khalf*PDstandardNth3gt11 + + J31L*PDstandardNth3gt12; + + CCTK_REAL Gtl212 = khalf*(J11L*PDstandardNth1gt22 + + J21L*PDstandardNth2gt22 + J31L*PDstandardNth3gt22); + + CCTK_REAL Gtl213 = khalf*(J13L*PDstandardNth1gt12 - + J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 + + J23L*PDstandardNth2gt12 - J22L*PDstandardNth2gt13 + + J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 - + J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23); + + CCTK_REAL Gtl222 = khalf*(J12L*PDstandardNth1gt22 + + J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22); + + CCTK_REAL Gtl223 = khalf*(J13L*PDstandardNth1gt22 + + J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22); + + CCTK_REAL Gtl233 = J13L*PDstandardNth1gt23 - + J12L*khalf*PDstandardNth1gt33 + J23L*PDstandardNth2gt23 - + J22L*khalf*PDstandardNth2gt33 + J33L*PDstandardNth3gt23 - + J32L*khalf*PDstandardNth3gt33; + + CCTK_REAL Gtl311 = -(J13L*khalf*PDstandardNth1gt11) + + J11L*PDstandardNth1gt13 - J23L*khalf*PDstandardNth2gt11 + + J21L*PDstandardNth2gt13 - J33L*khalf*PDstandardNth3gt11 + + J31L*PDstandardNth3gt13; + + CCTK_REAL Gtl312 = khalf*(-(J13L*PDstandardNth1gt12) + J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 - J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 - J33L*PDstandardNth3gt12 + - J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23)); - - CCTK_REAL Gt113 = khalf*(gtu11*(J13L*PDstandardNth1gt11 + - J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11) + - gtu12*(J13L*PDstandardNth1gt12 - J12L*PDstandardNth1gt13 + - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 - - J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 + - J33L*PDstandardNth3gt12 - J32L*PDstandardNth3gt13 + - J31L*PDstandardNth3gt23) + gtu13*(J11L*PDstandardNth1gt33 + - J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33)); - - CCTK_REAL Gt213 = khalf*(gtu12*(J13L*PDstandardNth1gt11 + - J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11) + - gtu22*(J13L*PDstandardNth1gt12 - J12L*PDstandardNth1gt13 + - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 - - J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 + - J33L*PDstandardNth3gt12 - J32L*PDstandardNth3gt13 + - J31L*PDstandardNth3gt23) + gtu23*(J11L*PDstandardNth1gt33 + - J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33)); - - CCTK_REAL Gt313 = khalf*(gtu13*(J13L*PDstandardNth1gt11 + - J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11) + - gtu23*(J13L*PDstandardNth1gt12 - J12L*PDstandardNth1gt13 + - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 - - J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 + - J33L*PDstandardNth3gt12 - J32L*PDstandardNth3gt13 + - J31L*PDstandardNth3gt23) + gtu33*(J11L*PDstandardNth1gt33 + - J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33)); - - CCTK_REAL Gt122 = khalf*(gtu11*(-(J11L*PDstandardNth1gt22) + - 2*(J12L*PDstandardNth1gt12 + J22L*PDstandardNth2gt12) - - J21L*PDstandardNth2gt22 + 2*J32L*PDstandardNth3gt12 - - J31L*PDstandardNth3gt22) + gtu12*(J12L*PDstandardNth1gt22 + - J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22) - - gtu13*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + - J33L*PDstandardNth3gt22 - 2*(J12L*PDstandardNth1gt23 + - J22L*PDstandardNth2gt23 + J32L*PDstandardNth3gt23))); - - CCTK_REAL Gt222 = khalf*(gtu12*(-(J11L*PDstandardNth1gt22) + - 2*(J12L*PDstandardNth1gt12 + J22L*PDstandardNth2gt12) - - J21L*PDstandardNth2gt22 + 2*J32L*PDstandardNth3gt12 - - J31L*PDstandardNth3gt22) + gtu22*(J12L*PDstandardNth1gt22 + - J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22) - - gtu23*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + - J33L*PDstandardNth3gt22 - 2*(J12L*PDstandardNth1gt23 + - J22L*PDstandardNth2gt23 + J32L*PDstandardNth3gt23))); - - CCTK_REAL Gt322 = khalf*(gtu13*(-(J11L*PDstandardNth1gt22) + - 2*(J12L*PDstandardNth1gt12 + J22L*PDstandardNth2gt12) - - J21L*PDstandardNth2gt22 + 2*J32L*PDstandardNth3gt12 - - J31L*PDstandardNth3gt22) + gtu23*(J12L*PDstandardNth1gt22 + - J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22) - - gtu33*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + - J33L*PDstandardNth3gt22 - 2*(J12L*PDstandardNth1gt23 + - J22L*PDstandardNth2gt23 + J32L*PDstandardNth3gt23))); - - CCTK_REAL Gt123 = khalf*(gtu12*(J13L*PDstandardNth1gt22 + - J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22) + - gtu11*(J13L*PDstandardNth1gt12 + J12L*PDstandardNth1gt13 - - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 + - J22L*PDstandardNth2gt13 - J21L*PDstandardNth2gt23 + - J33L*PDstandardNth3gt12 + J32L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt23) + gtu13*(J12L*PDstandardNth1gt33 + - J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33)); - - CCTK_REAL Gt223 = khalf*(gtu22*(J13L*PDstandardNth1gt22 + - J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22) + - gtu12*(J13L*PDstandardNth1gt12 + J12L*PDstandardNth1gt13 - - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 + - J22L*PDstandardNth2gt13 - J21L*PDstandardNth2gt23 + - J33L*PDstandardNth3gt12 + J32L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt23) + gtu23*(J12L*PDstandardNth1gt33 + - J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33)); - - CCTK_REAL Gt323 = khalf*(gtu23*(J13L*PDstandardNth1gt22 + - J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22) + - gtu13*(J13L*PDstandardNth1gt12 + J12L*PDstandardNth1gt13 - - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 + - J22L*PDstandardNth2gt13 - J21L*PDstandardNth2gt23 + - J33L*PDstandardNth3gt12 + J32L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt23) + gtu33*(J12L*PDstandardNth1gt33 + - J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33)); - - CCTK_REAL Gt133 = khalf*(gtu11*(-(J11L*PDstandardNth1gt33) + - 2*(J13L*PDstandardNth1gt13 + J23L*PDstandardNth2gt13) - - J21L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt33) + gtu12*(-(J12L*PDstandardNth1gt33) + - 2*(J13L*PDstandardNth1gt23 + J23L*PDstandardNth2gt23) - - J22L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt23 - - J32L*PDstandardNth3gt33) + gtu13*(J13L*PDstandardNth1gt33 + - J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33)); - - CCTK_REAL Gt233 = khalf*(gtu12*(-(J11L*PDstandardNth1gt33) + - 2*(J13L*PDstandardNth1gt13 + J23L*PDstandardNth2gt13) - - J21L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt33) + gtu22*(-(J12L*PDstandardNth1gt33) + - 2*(J13L*PDstandardNth1gt23 + J23L*PDstandardNth2gt23) - - J22L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt23 - - J32L*PDstandardNth3gt33) + gtu23*(J13L*PDstandardNth1gt33 + - J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33)); - - CCTK_REAL Gt333 = khalf*(gtu13*(-(J11L*PDstandardNth1gt33) + - 2*(J13L*PDstandardNth1gt13 + J23L*PDstandardNth2gt13) - - J21L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt33) + gtu23*(-(J12L*PDstandardNth1gt33) + - 2*(J13L*PDstandardNth1gt23 + J23L*PDstandardNth2gt23) - - J22L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt23 - - J32L*PDstandardNth3gt33) + gtu33*(J13L*PDstandardNth1gt33 + - J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33)); + J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23); + + CCTK_REAL Gtl313 = khalf*(J11L*PDstandardNth1gt33 + + J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33); + + CCTK_REAL Gtl322 = -(J13L*khalf*PDstandardNth1gt22) + + J12L*PDstandardNth1gt23 - J23L*khalf*PDstandardNth2gt22 + + J22L*PDstandardNth2gt23 - J33L*khalf*PDstandardNth3gt22 + + J32L*PDstandardNth3gt23; + + CCTK_REAL Gtl323 = khalf*(J12L*PDstandardNth1gt33 + + J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33); + + CCTK_REAL Gtl333 = khalf*(J13L*PDstandardNth1gt33 + + J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33); + + CCTK_REAL Gt111 = Gtl111*gtu11 + Gtl211*gtu12 + Gtl311*gtu13; + + CCTK_REAL Gt211 = Gtl111*gtu12 + Gtl211*gtu22 + Gtl311*gtu23; + + CCTK_REAL Gt311 = Gtl111*gtu13 + Gtl211*gtu23 + Gtl311*gtu33; + + CCTK_REAL Gt112 = Gtl112*gtu11 + Gtl212*gtu12 + Gtl312*gtu13; + + CCTK_REAL Gt212 = Gtl112*gtu12 + Gtl212*gtu22 + Gtl312*gtu23; + + CCTK_REAL Gt312 = Gtl112*gtu13 + Gtl212*gtu23 + Gtl312*gtu33; + + CCTK_REAL Gt113 = Gtl113*gtu11 + Gtl213*gtu12 + Gtl313*gtu13; + + CCTK_REAL Gt213 = Gtl113*gtu12 + Gtl213*gtu22 + Gtl313*gtu23; + + CCTK_REAL Gt313 = Gtl113*gtu13 + Gtl213*gtu23 + Gtl313*gtu33; + + CCTK_REAL Gt122 = Gtl122*gtu11 + Gtl222*gtu12 + Gtl322*gtu13; + + CCTK_REAL Gt222 = Gtl122*gtu12 + Gtl222*gtu22 + Gtl322*gtu23; + + CCTK_REAL Gt322 = Gtl122*gtu13 + Gtl222*gtu23 + Gtl322*gtu33; + + CCTK_REAL Gt123 = Gtl123*gtu11 + Gtl223*gtu12 + Gtl323*gtu13; + + CCTK_REAL Gt223 = Gtl123*gtu12 + Gtl223*gtu22 + Gtl323*gtu23; + + CCTK_REAL Gt323 = Gtl123*gtu13 + Gtl223*gtu23 + Gtl323*gtu33; + + CCTK_REAL Gt133 = Gtl133*gtu11 + Gtl233*gtu12 + Gtl333*gtu13; + + CCTK_REAL Gt233 = Gtl133*gtu12 + Gtl233*gtu22 + Gtl333*gtu23; + + CCTK_REAL Gt333 = Gtl133*gtu13 + Gtl233*gtu23 + Gtl333*gtu33; CCTK_REAL fac1 = IfThen(conformalMethod,-(khalf*INV(phiL)),1); @@ -527,12 +485,27 @@ void ML_BSSN_MP_O8_constraints2_Body(cGH const * restrict const cctkGH, int cons J33L*ktwothird*PDstandardNth3trK - 25.13274122871834590770114706623602307358*S3; + CCTK_REAL cSL = Log(detgt); + + CCTK_REAL cXt1L = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu12 + + Gt113*gtu13 + Gt123*gtu23) + Gt133*gtu33 - Xt1L; + + CCTK_REAL cXt2L = Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu12 + + Gt213*gtu13 + Gt223*gtu23) + Gt233*gtu33 - Xt2L; + + CCTK_REAL cXt3L = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu12 + + Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33 - Xt3L; + CCTK_REAL cAL = At11L*gtu11 + At22L*gtu22 + 2*(At12L*gtu12 + At13L*gtu13 + At23L*gtu23) + At33L*gtu33; /* Copy local copies back to grid functions */ cA[index] = cAL; + cS[index] = cSL; + cXt1[index] = cXt1L; + cXt2[index] = cXt2L; + cXt3[index] = cXt3L; M1[index] = M1L; M2[index] = M2L; M3[index] = M3L; diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertFromADMBase.c b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertFromADMBase.c index 12e6115..e017c3b 100644 --- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertFromADMBase.c +++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertFromADMBase.c @@ -38,9 +38,6 @@ void ML_BSSN_MP_O8_convertFromADMBase_Body(cGH const * restrict const cctkGH, in return; } - const char *groups[] = {"ADMBase::curv","ADMBase::lapse","ADMBase::metric","ADMBase::shift","ML_BSSN_MP_O8::ML_curv","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_log_confac","ML_BSSN_MP_O8::ML_metric","ML_BSSN_MP_O8::ML_shift","ML_BSSN_MP_O8::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_convertFromADMBase", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertFromADMBaseGamma.c b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertFromADMBaseGamma.c index 02a42da..1bba4d5 100644 --- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertFromADMBaseGamma.c +++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertFromADMBaseGamma.c @@ -56,9 +56,6 @@ void ML_BSSN_MP_O8_convertFromADMBaseGamma_Body(cGH const * restrict const cctkG return; } - const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","Coordinates::jacobian","grid::coordinates","Grid::coordinates","ML_BSSN_MP_O8::ML_dtlapse","ML_BSSN_MP_O8::ML_dtshift","ML_BSSN_MP_O8::ML_Gamma","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_metric","ML_BSSN_MP_O8::ML_shift"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_convertFromADMBaseGamma", 11, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBase.c b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBase.c index ce7d6b0..271bdbd 100644 --- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBase.c +++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBase.c @@ -38,9 +38,6 @@ void ML_BSSN_MP_O8_convertToADMBase_Body(cGH const * restrict const cctkGH, int return; } - const char *groups[] = {"ADMBase::curv","ADMBase::lapse","ADMBase::metric","ADMBase::shift","ML_BSSN_MP_O8::ML_curv","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_log_confac","ML_BSSN_MP_O8::ML_metric","ML_BSSN_MP_O8::ML_shift","ML_BSSN_MP_O8::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_convertToADMBase", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseDtLapseShift.c b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseDtLapseShift.c index 7bc9b65..14e2a27 100644 --- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseDtLapseShift.c +++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseDtLapseShift.c @@ -53,9 +53,6 @@ void ML_BSSN_MP_O8_convertToADMBaseDtLapseShift_Body(cGH const * restrict const return; } - const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","Coordinates::jacobian","grid::coordinates","Grid::coordinates","ML_BSSN_MP_O8::ML_dtlapse","ML_BSSN_MP_O8::ML_dtshift","ML_BSSN_MP_O8::ML_Gamma","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_shift","ML_BSSN_MP_O8::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_convertToADMBaseDtLapseShift", 11, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseDtLapseShiftBoundary.c b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseDtLapseShiftBoundary.c index 2cd7193..17dbb0d 100644 --- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseDtLapseShiftBoundary.c +++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseDtLapseShiftBoundary.c @@ -53,9 +53,6 @@ void ML_BSSN_MP_O8_convertToADMBaseDtLapseShiftBoundary_Body(cGH const * restric return; } - const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","grid::coordinates","Grid::coordinates","ML_BSSN_MP_O8::ML_dtlapse","ML_BSSN_MP_O8::ML_dtshift","ML_BSSN_MP_O8::ML_Gamma","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_shift","ML_BSSN_MP_O8::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_convertToADMBaseDtLapseShiftBoundary", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseFakeDtLapseShift.c b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseFakeDtLapseShift.c index 7cb4e9f..42ffbbc 100644 --- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseFakeDtLapseShift.c +++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseFakeDtLapseShift.c @@ -38,9 +38,6 @@ void ML_BSSN_MP_O8_convertToADMBaseFakeDtLapseShift_Body(cGH const * restrict co return; } - const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","grid::coordinates","Grid::coordinates","ML_BSSN_MP_O8::ML_dtlapse","ML_BSSN_MP_O8::ML_dtshift","ML_BSSN_MP_O8::ML_Gamma","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_shift","ML_BSSN_MP_O8::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_convertToADMBaseFakeDtLapseShift", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_enforce.c b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_enforce.c index beae16a..55fe661 100644 --- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_enforce.c +++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_enforce.c @@ -38,9 +38,6 @@ void ML_BSSN_MP_O8_enforce_Body(cGH const * restrict const cctkGH, int const dir return; } - const char *groups[] = {"ML_BSSN_MP_O8::ML_curv","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_metric"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_enforce", 3, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_MP_O8_Helper/schedule.ccl b/ML_BSSN_MP_O8_Helper/schedule.ccl index c831ca2..4d20be7 100644 --- a/ML_BSSN_MP_O8_Helper/schedule.ccl +++ b/ML_BSSN_MP_O8_Helper/schedule.ccl @@ -139,15 +139,15 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN_MP_O8")) { } else if (CCTK_EQUALS (calculate_ADMBase_variables_at, "CCTK_ANALYSIS")) { + SCHEDULE GROUP ML_BSSN_MP_O8_convertToADMBaseGroupWrapper AT post_recover_variables + { + } "Calculate ADM variables" + SCHEDULE GROUP ML_BSSN_MP_O8_convertToADMBaseGroupWrapper AT analysis BEFORE (ADMBase_SetADMVars Whisky_PostStep) { } "Calculate ADM variables" } - SCHEDULE GROUP ML_BSSN_MP_O8_convertToADMBaseGroupWrapper AT post_recover_variables - { - } "Calculate ADM variables" - SCHEDULE ML_BSSN_MP_O8_SelectBCsADMBase IN ML_BSSN_MP_O8_convertToADMBaseGroupWrapper AFTER ML_BSSN_MP_O8_convertToADMBaseGroup { LANG: C diff --git a/ML_BSSN_O2/param.ccl b/ML_BSSN_O2/param.ccl index 9e6fa43..26171e7 100644 --- a/ML_BSSN_O2/param.ccl +++ b/ML_BSSN_O2/param.ccl @@ -37,11 +37,6 @@ EXTENDS CCTK_KEYWORD dtshift_evolution_method "dtshift_evolution_method" shares: GenericFD -USES CCTK_INT stencil_width -USES CCTK_INT stencil_width_x -USES CCTK_INT stencil_width_y -USES CCTK_INT stencil_width_z -USES CCTK_INT boundary_width shares: MethodOfLines @@ -49,7 +44,7 @@ shares: MethodOfLines USES CCTK_INT MoL_Num_Evolved_Vars restricted: -CCTK_INT verbose "verbose" +CCTK_INT verbose "verbose" STEERABLE=ALWAYS { *:* :: "" } 0 @@ -195,193 +190,193 @@ KEYWORD dt_lapse_shift_method "Treatment of ADMBase dtlapse and dtshift" } "correct" restricted: -CCTK_INT ML_BSSN_O2_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars +CCTK_INT ML_BSSN_O2_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars STEERABLE=RECOVER { 25:25 :: "Number of evolved variables used by this thorn" } 25 restricted: -CCTK_INT timelevels "Number of active timelevels" +CCTK_INT timelevels "Number of active timelevels" STEERABLE=RECOVER { 0:3 :: "" } 3 restricted: -CCTK_INT rhs_timelevels "Number of active RHS timelevels" +CCTK_INT rhs_timelevels "Number of active RHS timelevels" STEERABLE=RECOVER { 0:3 :: "" } 1 restricted: -CCTK_INT ML_BSSN_O2_Minkowski_calc_every "ML_BSSN_O2_Minkowski_calc_every" +CCTK_INT ML_BSSN_O2_Minkowski_calc_every "ML_BSSN_O2_Minkowski_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O2_convertFromADMBase_calc_every "ML_BSSN_O2_convertFromADMBase_calc_every" +CCTK_INT ML_BSSN_O2_convertFromADMBase_calc_every "ML_BSSN_O2_convertFromADMBase_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O2_convertFromADMBaseGamma_calc_every "ML_BSSN_O2_convertFromADMBaseGamma_calc_every" +CCTK_INT ML_BSSN_O2_convertFromADMBaseGamma_calc_every "ML_BSSN_O2_convertFromADMBaseGamma_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O2_RHS1_calc_every "ML_BSSN_O2_RHS1_calc_every" +CCTK_INT ML_BSSN_O2_RHS1_calc_every "ML_BSSN_O2_RHS1_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O2_RHS2_calc_every "ML_BSSN_O2_RHS2_calc_every" +CCTK_INT ML_BSSN_O2_RHS2_calc_every "ML_BSSN_O2_RHS2_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O2_RHSStaticBoundary_calc_every "ML_BSSN_O2_RHSStaticBoundary_calc_every" +CCTK_INT ML_BSSN_O2_RHSStaticBoundary_calc_every "ML_BSSN_O2_RHSStaticBoundary_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O2_enforce_calc_every "ML_BSSN_O2_enforce_calc_every" +CCTK_INT ML_BSSN_O2_enforce_calc_every "ML_BSSN_O2_enforce_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O2_boundary_calc_every "ML_BSSN_O2_boundary_calc_every" +CCTK_INT ML_BSSN_O2_boundary_calc_every "ML_BSSN_O2_boundary_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O2_convertToADMBase_calc_every "ML_BSSN_O2_convertToADMBase_calc_every" +CCTK_INT ML_BSSN_O2_convertToADMBase_calc_every "ML_BSSN_O2_convertToADMBase_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O2_convertToADMBaseDtLapseShift_calc_every "ML_BSSN_O2_convertToADMBaseDtLapseShift_calc_every" +CCTK_INT ML_BSSN_O2_convertToADMBaseDtLapseShift_calc_every "ML_BSSN_O2_convertToADMBaseDtLapseShift_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O2_convertToADMBaseDtLapseShiftBoundary_calc_every "ML_BSSN_O2_convertToADMBaseDtLapseShiftBoundary_calc_every" +CCTK_INT ML_BSSN_O2_convertToADMBaseDtLapseShiftBoundary_calc_every "ML_BSSN_O2_convertToADMBaseDtLapseShiftBoundary_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O2_convertToADMBaseFakeDtLapseShift_calc_every "ML_BSSN_O2_convertToADMBaseFakeDtLapseShift_calc_every" +CCTK_INT ML_BSSN_O2_convertToADMBaseFakeDtLapseShift_calc_every "ML_BSSN_O2_convertToADMBaseFakeDtLapseShift_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O2_constraints1_calc_every "ML_BSSN_O2_constraints1_calc_every" +CCTK_INT ML_BSSN_O2_constraints1_calc_every "ML_BSSN_O2_constraints1_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O2_constraints2_calc_every "ML_BSSN_O2_constraints2_calc_every" +CCTK_INT ML_BSSN_O2_constraints2_calc_every "ML_BSSN_O2_constraints2_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O2_Minkowski_calc_offset "ML_BSSN_O2_Minkowski_calc_offset" +CCTK_INT ML_BSSN_O2_Minkowski_calc_offset "ML_BSSN_O2_Minkowski_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_O2_convertFromADMBase_calc_offset "ML_BSSN_O2_convertFromADMBase_calc_offset" +CCTK_INT ML_BSSN_O2_convertFromADMBase_calc_offset "ML_BSSN_O2_convertFromADMBase_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_O2_convertFromADMBaseGamma_calc_offset "ML_BSSN_O2_convertFromADMBaseGamma_calc_offset" +CCTK_INT ML_BSSN_O2_convertFromADMBaseGamma_calc_offset "ML_BSSN_O2_convertFromADMBaseGamma_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_O2_RHS1_calc_offset "ML_BSSN_O2_RHS1_calc_offset" +CCTK_INT ML_BSSN_O2_RHS1_calc_offset "ML_BSSN_O2_RHS1_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_O2_RHS2_calc_offset "ML_BSSN_O2_RHS2_calc_offset" +CCTK_INT ML_BSSN_O2_RHS2_calc_offset "ML_BSSN_O2_RHS2_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_O2_RHSStaticBoundary_calc_offset "ML_BSSN_O2_RHSStaticBoundary_calc_offset" +CCTK_INT ML_BSSN_O2_RHSStaticBoundary_calc_offset "ML_BSSN_O2_RHSStaticBoundary_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_O2_enforce_calc_offset "ML_BSSN_O2_enforce_calc_offset" +CCTK_INT ML_BSSN_O2_enforce_calc_offset "ML_BSSN_O2_enforce_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_O2_boundary_calc_offset "ML_BSSN_O2_boundary_calc_offset" +CCTK_INT ML_BSSN_O2_boundary_calc_offset "ML_BSSN_O2_boundary_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_O2_convertToADMBase_calc_offset "ML_BSSN_O2_convertToADMBase_calc_offset" +CCTK_INT ML_BSSN_O2_convertToADMBase_calc_offset "ML_BSSN_O2_convertToADMBase_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_O2_convertToADMBaseDtLapseShift_calc_offset "ML_BSSN_O2_convertToADMBaseDtLapseShift_calc_offset" +CCTK_INT ML_BSSN_O2_convertToADMBaseDtLapseShift_calc_offset "ML_BSSN_O2_convertToADMBaseDtLapseShift_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_O2_convertToADMBaseDtLapseShiftBoundary_calc_offset "ML_BSSN_O2_convertToADMBaseDtLapseShiftBoundary_calc_offset" +CCTK_INT ML_BSSN_O2_convertToADMBaseDtLapseShiftBoundary_calc_offset "ML_BSSN_O2_convertToADMBaseDtLapseShiftBoundary_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_O2_convertToADMBaseFakeDtLapseShift_calc_offset "ML_BSSN_O2_convertToADMBaseFakeDtLapseShift_calc_offset" +CCTK_INT ML_BSSN_O2_convertToADMBaseFakeDtLapseShift_calc_offset "ML_BSSN_O2_convertToADMBaseFakeDtLapseShift_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_O2_constraints1_calc_offset "ML_BSSN_O2_constraints1_calc_offset" +CCTK_INT ML_BSSN_O2_constraints1_calc_offset "ML_BSSN_O2_constraints1_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_O2_constraints2_calc_offset "ML_BSSN_O2_constraints2_calc_offset" +CCTK_INT ML_BSSN_O2_constraints2_calc_offset "ML_BSSN_O2_constraints2_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 private: -KEYWORD At11_bound "Boundary condition to implement" +KEYWORD At11_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -393,7 +388,7 @@ KEYWORD At11_bound "Boundary condition to implement" } "skip" private: -KEYWORD At12_bound "Boundary condition to implement" +KEYWORD At12_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -405,7 +400,7 @@ KEYWORD At12_bound "Boundary condition to implement" } "skip" private: -KEYWORD At13_bound "Boundary condition to implement" +KEYWORD At13_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -417,7 +412,7 @@ KEYWORD At13_bound "Boundary condition to implement" } "skip" private: -KEYWORD At22_bound "Boundary condition to implement" +KEYWORD At22_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -429,7 +424,7 @@ KEYWORD At22_bound "Boundary condition to implement" } "skip" private: -KEYWORD At23_bound "Boundary condition to implement" +KEYWORD At23_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -441,7 +436,7 @@ KEYWORD At23_bound "Boundary condition to implement" } "skip" private: -KEYWORD At33_bound "Boundary condition to implement" +KEYWORD At33_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -453,7 +448,7 @@ KEYWORD At33_bound "Boundary condition to implement" } "skip" private: -KEYWORD A_bound "Boundary condition to implement" +KEYWORD A_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -465,7 +460,7 @@ KEYWORD A_bound "Boundary condition to implement" } "skip" private: -KEYWORD B1_bound "Boundary condition to implement" +KEYWORD B1_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -477,7 +472,7 @@ KEYWORD B1_bound "Boundary condition to implement" } "skip" private: -KEYWORD B2_bound "Boundary condition to implement" +KEYWORD B2_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -489,7 +484,7 @@ KEYWORD B2_bound "Boundary condition to implement" } "skip" private: -KEYWORD B3_bound "Boundary condition to implement" +KEYWORD B3_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -501,7 +496,7 @@ KEYWORD B3_bound "Boundary condition to implement" } "skip" private: -KEYWORD Xt1_bound "Boundary condition to implement" +KEYWORD Xt1_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -513,7 +508,7 @@ KEYWORD Xt1_bound "Boundary condition to implement" } "skip" private: -KEYWORD Xt2_bound "Boundary condition to implement" +KEYWORD Xt2_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -525,7 +520,7 @@ KEYWORD Xt2_bound "Boundary condition to implement" } "skip" private: -KEYWORD Xt3_bound "Boundary condition to implement" +KEYWORD Xt3_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -537,7 +532,7 @@ KEYWORD Xt3_bound "Boundary condition to implement" } "skip" private: -KEYWORD alpha_bound "Boundary condition to implement" +KEYWORD alpha_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -549,7 +544,7 @@ KEYWORD alpha_bound "Boundary condition to implement" } "skip" private: -KEYWORD phi_bound "Boundary condition to implement" +KEYWORD phi_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -561,7 +556,7 @@ KEYWORD phi_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt11_bound "Boundary condition to implement" +KEYWORD gt11_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -573,7 +568,7 @@ KEYWORD gt11_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt12_bound "Boundary condition to implement" +KEYWORD gt12_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -585,7 +580,7 @@ KEYWORD gt12_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt13_bound "Boundary condition to implement" +KEYWORD gt13_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -597,7 +592,7 @@ KEYWORD gt13_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt22_bound "Boundary condition to implement" +KEYWORD gt22_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -609,7 +604,7 @@ KEYWORD gt22_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt23_bound "Boundary condition to implement" +KEYWORD gt23_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -621,7 +616,7 @@ KEYWORD gt23_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt33_bound "Boundary condition to implement" +KEYWORD gt33_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -633,7 +628,7 @@ KEYWORD gt33_bound "Boundary condition to implement" } "skip" private: -KEYWORD beta1_bound "Boundary condition to implement" +KEYWORD beta1_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -645,7 +640,7 @@ KEYWORD beta1_bound "Boundary condition to implement" } "skip" private: -KEYWORD beta2_bound "Boundary condition to implement" +KEYWORD beta2_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -657,7 +652,7 @@ KEYWORD beta2_bound "Boundary condition to implement" } "skip" private: -KEYWORD beta3_bound "Boundary condition to implement" +KEYWORD beta3_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -669,7 +664,7 @@ KEYWORD beta3_bound "Boundary condition to implement" } "skip" private: -KEYWORD trK_bound "Boundary condition to implement" +KEYWORD trK_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -681,7 +676,7 @@ KEYWORD trK_bound "Boundary condition to implement" } "skip" private: -KEYWORD ML_curv_bound "Boundary condition to implement" +KEYWORD ML_curv_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -690,10 +685,10 @@ KEYWORD ML_curv_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_dtlapse_bound "Boundary condition to implement" +KEYWORD ML_dtlapse_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -702,10 +697,10 @@ KEYWORD ML_dtlapse_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_dtshift_bound "Boundary condition to implement" +KEYWORD ML_dtshift_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -714,10 +709,10 @@ KEYWORD ML_dtshift_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_Gamma_bound "Boundary condition to implement" +KEYWORD ML_Gamma_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -726,10 +721,10 @@ KEYWORD ML_Gamma_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_lapse_bound "Boundary condition to implement" +KEYWORD ML_lapse_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -738,10 +733,10 @@ KEYWORD ML_lapse_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_log_confac_bound "Boundary condition to implement" +KEYWORD ML_log_confac_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -750,10 +745,10 @@ KEYWORD ML_log_confac_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_metric_bound "Boundary condition to implement" +KEYWORD ML_metric_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -762,10 +757,10 @@ KEYWORD ML_metric_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_shift_bound "Boundary condition to implement" +KEYWORD ML_shift_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -774,10 +769,10 @@ KEYWORD ML_shift_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_trace_curv_bound "Boundary condition to implement" +KEYWORD ML_trace_curv_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -786,616 +781,616 @@ KEYWORD ML_trace_curv_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -CCTK_REAL At11_bound_speed "characteristic speed at boundary" +CCTK_REAL At11_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At12_bound_speed "characteristic speed at boundary" +CCTK_REAL At12_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At13_bound_speed "characteristic speed at boundary" +CCTK_REAL At13_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At22_bound_speed "characteristic speed at boundary" +CCTK_REAL At22_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At23_bound_speed "characteristic speed at boundary" +CCTK_REAL At23_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At33_bound_speed "characteristic speed at boundary" +CCTK_REAL At33_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL A_bound_speed "characteristic speed at boundary" +CCTK_REAL A_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL B1_bound_speed "characteristic speed at boundary" +CCTK_REAL B1_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL B2_bound_speed "characteristic speed at boundary" +CCTK_REAL B2_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL B3_bound_speed "characteristic speed at boundary" +CCTK_REAL B3_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL Xt1_bound_speed "characteristic speed at boundary" +CCTK_REAL Xt1_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL Xt2_bound_speed "characteristic speed at boundary" +CCTK_REAL Xt2_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL Xt3_bound_speed "characteristic speed at boundary" +CCTK_REAL Xt3_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL alpha_bound_speed "characteristic speed at boundary" +CCTK_REAL alpha_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL phi_bound_speed "characteristic speed at boundary" +CCTK_REAL phi_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt11_bound_speed "characteristic speed at boundary" +CCTK_REAL gt11_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt12_bound_speed "characteristic speed at boundary" +CCTK_REAL gt12_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt13_bound_speed "characteristic speed at boundary" +CCTK_REAL gt13_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt22_bound_speed "characteristic speed at boundary" +CCTK_REAL gt22_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt23_bound_speed "characteristic speed at boundary" +CCTK_REAL gt23_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt33_bound_speed "characteristic speed at boundary" +CCTK_REAL gt33_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL beta1_bound_speed "characteristic speed at boundary" +CCTK_REAL beta1_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL beta2_bound_speed "characteristic speed at boundary" +CCTK_REAL beta2_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL beta3_bound_speed "characteristic speed at boundary" +CCTK_REAL beta3_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL trK_bound_speed "characteristic speed at boundary" +CCTK_REAL trK_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_curv_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_curv_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_dtlapse_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_dtlapse_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_dtshift_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_dtshift_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_Gamma_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_Gamma_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_lapse_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_lapse_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_log_confac_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_log_confac_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_metric_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_metric_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_shift_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_shift_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_trace_curv_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_trace_curv_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At11_bound_limit "limit value for r -> infinity" +CCTK_REAL At11_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At12_bound_limit "limit value for r -> infinity" +CCTK_REAL At12_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At13_bound_limit "limit value for r -> infinity" +CCTK_REAL At13_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At22_bound_limit "limit value for r -> infinity" +CCTK_REAL At22_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At23_bound_limit "limit value for r -> infinity" +CCTK_REAL At23_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At33_bound_limit "limit value for r -> infinity" +CCTK_REAL At33_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL A_bound_limit "limit value for r -> infinity" +CCTK_REAL A_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL B1_bound_limit "limit value for r -> infinity" +CCTK_REAL B1_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL B2_bound_limit "limit value for r -> infinity" +CCTK_REAL B2_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL B3_bound_limit "limit value for r -> infinity" +CCTK_REAL B3_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL Xt1_bound_limit "limit value for r -> infinity" +CCTK_REAL Xt1_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL Xt2_bound_limit "limit value for r -> infinity" +CCTK_REAL Xt2_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL Xt3_bound_limit "limit value for r -> infinity" +CCTK_REAL Xt3_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL alpha_bound_limit "limit value for r -> infinity" +CCTK_REAL alpha_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL phi_bound_limit "limit value for r -> infinity" +CCTK_REAL phi_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt11_bound_limit "limit value for r -> infinity" +CCTK_REAL gt11_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt12_bound_limit "limit value for r -> infinity" +CCTK_REAL gt12_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt13_bound_limit "limit value for r -> infinity" +CCTK_REAL gt13_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt22_bound_limit "limit value for r -> infinity" +CCTK_REAL gt22_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt23_bound_limit "limit value for r -> infinity" +CCTK_REAL gt23_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt33_bound_limit "limit value for r -> infinity" +CCTK_REAL gt33_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL beta1_bound_limit "limit value for r -> infinity" +CCTK_REAL beta1_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL beta2_bound_limit "limit value for r -> infinity" +CCTK_REAL beta2_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL beta3_bound_limit "limit value for r -> infinity" +CCTK_REAL beta3_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL trK_bound_limit "limit value for r -> infinity" +CCTK_REAL trK_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_curv_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_curv_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_dtlapse_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_dtlapse_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_dtshift_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_dtshift_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_Gamma_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_Gamma_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_lapse_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_lapse_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_log_confac_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_log_confac_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_metric_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_metric_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_shift_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_shift_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_trace_curv_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_trace_curv_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At11_bound_scalar "Dirichlet boundary value" +CCTK_REAL At11_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At12_bound_scalar "Dirichlet boundary value" +CCTK_REAL At12_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At13_bound_scalar "Dirichlet boundary value" +CCTK_REAL At13_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At22_bound_scalar "Dirichlet boundary value" +CCTK_REAL At22_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At23_bound_scalar "Dirichlet boundary value" +CCTK_REAL At23_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At33_bound_scalar "Dirichlet boundary value" +CCTK_REAL At33_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL A_bound_scalar "Dirichlet boundary value" +CCTK_REAL A_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL B1_bound_scalar "Dirichlet boundary value" +CCTK_REAL B1_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL B2_bound_scalar "Dirichlet boundary value" +CCTK_REAL B2_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL B3_bound_scalar "Dirichlet boundary value" +CCTK_REAL B3_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL Xt1_bound_scalar "Dirichlet boundary value" +CCTK_REAL Xt1_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL Xt2_bound_scalar "Dirichlet boundary value" +CCTK_REAL Xt2_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL Xt3_bound_scalar "Dirichlet boundary value" +CCTK_REAL Xt3_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL alpha_bound_scalar "Dirichlet boundary value" +CCTK_REAL alpha_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL phi_bound_scalar "Dirichlet boundary value" +CCTK_REAL phi_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt11_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt11_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt12_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt12_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt13_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt13_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt22_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt22_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt23_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt23_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt33_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt33_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL beta1_bound_scalar "Dirichlet boundary value" +CCTK_REAL beta1_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL beta2_bound_scalar "Dirichlet boundary value" +CCTK_REAL beta2_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL beta3_bound_scalar "Dirichlet boundary value" +CCTK_REAL beta3_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL trK_bound_scalar "Dirichlet boundary value" +CCTK_REAL trK_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_curv_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_curv_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_dtlapse_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_dtlapse_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_dtshift_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_dtshift_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_Gamma_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_Gamma_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_lapse_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_lapse_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_log_confac_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_log_confac_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_metric_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_metric_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_shift_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_shift_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_trace_curv_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_trace_curv_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. diff --git a/ML_BSSN_O2/schedule.ccl b/ML_BSSN_O2/schedule.ccl index 0930d04..207a728 100644 --- a/ML_BSSN_O2/schedule.ccl +++ b/ML_BSSN_O2/schedule.ccl @@ -374,8 +374,6 @@ schedule ML_BSSN_O2_constraints1_SelectBCs in ML_BSSN_O2_constraints1_bc_group { LANG: C OPTIONS: level - SYNC: ML_cons_detg - SYNC: ML_cons_Gamma SYNC: ML_Ham } "ML_BSSN_O2_constraints1_SelectBCs" @@ -413,6 +411,8 @@ schedule ML_BSSN_O2_constraints2_SelectBCs in ML_BSSN_O2_constraints2_bc_group { LANG: C OPTIONS: level + SYNC: ML_cons_detg + SYNC: ML_cons_Gamma SYNC: ML_cons_traceA SYNC: ML_mom } "ML_BSSN_O2_constraints2_SelectBCs" @@ -458,7 +458,7 @@ schedule ML_BSSN_O2_CheckBoundaries at BASEGRID OPTIONS: meta } "check boundaries treatment" -schedule group ApplyBCs as ML_BSSN_O2_ApplyBCs in MoL_PostStep after ML_BSSN_O2_SelectBoundConds +schedule group ApplyBCs as ML_BSSN_O2_ApplyBCs in MoL_PostStep after ML_BSSN_O2_SelectBoundConds { # no language specified } "Apply boundary conditions controlled by thorn Boundary" diff --git a/ML_BSSN_O2/src/ML_BSSN_O2_Minkowski.c b/ML_BSSN_O2/src/ML_BSSN_O2_Minkowski.c index d7711bc..d77467c 100644 --- a/ML_BSSN_O2/src/ML_BSSN_O2_Minkowski.c +++ b/ML_BSSN_O2/src/ML_BSSN_O2_Minkowski.c @@ -38,9 +38,6 @@ void ML_BSSN_O2_Minkowski_Body(cGH const * restrict const cctkGH, int const dir, return; } - const char *groups[] = {"ML_BSSN_O2::ML_curv","ML_BSSN_O2::ML_dtlapse","ML_BSSN_O2::ML_dtshift","ML_BSSN_O2::ML_Gamma","ML_BSSN_O2::ML_lapse","ML_BSSN_O2::ML_log_confac","ML_BSSN_O2::ML_metric","ML_BSSN_O2::ML_shift","ML_BSSN_O2::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O2_Minkowski", 9, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_O2/src/ML_BSSN_O2_RHS1.c b/ML_BSSN_O2/src/ML_BSSN_O2_RHS1.c index 0cb66cd..f94e894 100644 --- a/ML_BSSN_O2/src/ML_BSSN_O2_RHS1.c +++ b/ML_BSSN_O2/src/ML_BSSN_O2_RHS1.c @@ -71,9 +71,6 @@ void ML_BSSN_O2_RHS1_Body(cGH const * restrict const cctkGH, int const dir, int return; } - const char *groups[] = {"grid::coordinates","Grid::coordinates","ML_BSSN_O2::ML_curv","ML_BSSN_O2::ML_dtlapse","ML_BSSN_O2::ML_dtlapserhs","ML_BSSN_O2::ML_dtshift","ML_BSSN_O2::ML_dtshiftrhs","ML_BSSN_O2::ML_Gamma","ML_BSSN_O2::ML_Gammarhs","ML_BSSN_O2::ML_lapse","ML_BSSN_O2::ML_lapserhs","ML_BSSN_O2::ML_log_confac","ML_BSSN_O2::ML_log_confacrhs","ML_BSSN_O2::ML_metric","ML_BSSN_O2::ML_metricrhs","ML_BSSN_O2::ML_shift","ML_BSSN_O2::ML_shiftrhs","ML_BSSN_O2::ML_trace_curv","ML_BSSN_O2::ML_trace_curvrhs"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O2_RHS1", 19, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_O2/src/ML_BSSN_O2_RHS2.c b/ML_BSSN_O2/src/ML_BSSN_O2_RHS2.c index 8cb129c..b55f768 100644 --- a/ML_BSSN_O2/src/ML_BSSN_O2_RHS2.c +++ b/ML_BSSN_O2/src/ML_BSSN_O2_RHS2.c @@ -50,9 +50,6 @@ void ML_BSSN_O2_RHS2_Body(cGH const * restrict const cctkGH, int const dir, int return; } - const char *groups[] = {"ML_BSSN_O2::ML_curv","ML_BSSN_O2::ML_curvrhs","ML_BSSN_O2::ML_Gamma","ML_BSSN_O2::ML_lapse","ML_BSSN_O2::ML_log_confac","ML_BSSN_O2::ML_metric","ML_BSSN_O2::ML_shift","ML_BSSN_O2::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O2_RHS2", 8, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_O2/src/ML_BSSN_O2_RHSStaticBoundary.c b/ML_BSSN_O2/src/ML_BSSN_O2_RHSStaticBoundary.c index e40efbb..04def59 100644 --- a/ML_BSSN_O2/src/ML_BSSN_O2_RHSStaticBoundary.c +++ b/ML_BSSN_O2/src/ML_BSSN_O2_RHSStaticBoundary.c @@ -74,9 +74,6 @@ void ML_BSSN_O2_RHSStaticBoundary_Body(cGH const * restrict const cctkGH, int co return; } - const char *groups[] = {"ML_BSSN_O2::ML_curvrhs","ML_BSSN_O2::ML_dtlapserhs","ML_BSSN_O2::ML_dtshiftrhs","ML_BSSN_O2::ML_Gammarhs","ML_BSSN_O2::ML_lapserhs","ML_BSSN_O2::ML_log_confacrhs","ML_BSSN_O2::ML_metricrhs","ML_BSSN_O2::ML_shiftrhs","ML_BSSN_O2::ML_trace_curvrhs"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O2_RHSStaticBoundary", 9, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_O2/src/ML_BSSN_O2_boundary.c b/ML_BSSN_O2/src/ML_BSSN_O2_boundary.c index f307a73..527c18c 100644 --- a/ML_BSSN_O2/src/ML_BSSN_O2_boundary.c +++ b/ML_BSSN_O2/src/ML_BSSN_O2_boundary.c @@ -74,9 +74,6 @@ void ML_BSSN_O2_boundary_Body(cGH const * restrict const cctkGH, int const dir, return; } - const char *groups[] = {"ML_BSSN_O2::ML_curv","ML_BSSN_O2::ML_dtlapse","ML_BSSN_O2::ML_dtshift","ML_BSSN_O2::ML_Gamma","ML_BSSN_O2::ML_lapse","ML_BSSN_O2::ML_log_confac","ML_BSSN_O2::ML_metric","ML_BSSN_O2::ML_shift","ML_BSSN_O2::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O2_boundary", 9, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_O2/src/ML_BSSN_O2_constraints1.c b/ML_BSSN_O2/src/ML_BSSN_O2_constraints1.c index 9686e36..38b7ca8 100644 --- a/ML_BSSN_O2/src/ML_BSSN_O2_constraints1.c +++ b/ML_BSSN_O2/src/ML_BSSN_O2_constraints1.c @@ -26,12 +26,6 @@ void ML_BSSN_O2_constraints1_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_PARAMETERS; CCTK_INT ierr = 0; - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_O2::ML_cons_detg","flat"); - if (ierr < 0) - CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_O2::ML_cons_detg."); - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_O2::ML_cons_Gamma","flat"); - if (ierr < 0) - CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_O2::ML_cons_Gamma."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_O2::ML_Ham","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_O2::ML_Ham."); @@ -56,9 +50,6 @@ void ML_BSSN_O2_constraints1_Body(cGH const * restrict const cctkGH, int const d return; } - const char *groups[] = {"ML_BSSN_O2::ML_cons_detg","ML_BSSN_O2::ML_cons_Gamma","ML_BSSN_O2::ML_curv","ML_BSSN_O2::ML_Gamma","ML_BSSN_O2::ML_Ham","ML_BSSN_O2::ML_lapse","ML_BSSN_O2::ML_log_confac","ML_BSSN_O2::ML_metric","ML_BSSN_O2::ML_shift","ML_BSSN_O2::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O2_constraints1", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -312,457 +303,218 @@ void ML_BSSN_O2_constraints1_Body(cGH const * restrict const cctkGH, int const d CCTK_REAL gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L)); - CCTK_REAL Gt111 = khalf*(gtu11*PDstandardNth1gt11 + - 2*(gtu12*PDstandardNth1gt12 + gtu13*PDstandardNth1gt13) - - gtu12*PDstandardNth2gt11 - gtu13*PDstandardNth3gt11); - - CCTK_REAL Gt211 = khalf*(gtu12*PDstandardNth1gt11 + - 2*(gtu22*PDstandardNth1gt12 + gtu23*PDstandardNth1gt13) - - gtu22*PDstandardNth2gt11 - gtu23*PDstandardNth3gt11); - - CCTK_REAL Gt311 = khalf*(gtu13*PDstandardNth1gt11 + - 2*(gtu23*PDstandardNth1gt12 + gtu33*PDstandardNth1gt13) - - gtu23*PDstandardNth2gt11 - gtu33*PDstandardNth3gt11); - - CCTK_REAL Gt112 = khalf*(gtu12*PDstandardNth1gt22 + - gtu11*PDstandardNth2gt11 + gtu13*(PDstandardNth1gt23 + - PDstandardNth2gt13 - PDstandardNth3gt12)); - - CCTK_REAL Gt212 = khalf*(gtu22*PDstandardNth1gt22 + - gtu12*PDstandardNth2gt11 + gtu23*(PDstandardNth1gt23 + - PDstandardNth2gt13 - PDstandardNth3gt12)); - - CCTK_REAL Gt312 = khalf*(gtu23*PDstandardNth1gt22 + - gtu13*PDstandardNth2gt11 + gtu33*(PDstandardNth1gt23 + - PDstandardNth2gt13 - PDstandardNth3gt12)); - - CCTK_REAL Gt113 = khalf*(gtu13*PDstandardNth1gt33 + - gtu11*PDstandardNth3gt11 + gtu12*(PDstandardNth1gt23 - - PDstandardNth2gt13 + PDstandardNth3gt12)); - - CCTK_REAL Gt213 = khalf*(gtu23*PDstandardNth1gt33 + - gtu12*PDstandardNth3gt11 + gtu22*(PDstandardNth1gt23 - - PDstandardNth2gt13 + PDstandardNth3gt12)); - - CCTK_REAL Gt313 = khalf*(gtu33*PDstandardNth1gt33 + - gtu13*PDstandardNth3gt11 + gtu23*(PDstandardNth1gt23 - - PDstandardNth2gt13 + PDstandardNth3gt12)); - - CCTK_REAL Gt122 = khalf*(gtu11*(-PDstandardNth1gt22 + - 2*PDstandardNth2gt12) + gtu12*PDstandardNth2gt22 + - gtu13*(2*PDstandardNth2gt23 - PDstandardNth3gt22)); - - CCTK_REAL Gt222 = khalf*(gtu12*(-PDstandardNth1gt22 + - 2*PDstandardNth2gt12) + gtu22*PDstandardNth2gt22 + - gtu23*(2*PDstandardNth2gt23 - PDstandardNth3gt22)); - - CCTK_REAL Gt322 = khalf*(gtu13*(-PDstandardNth1gt22 + - 2*PDstandardNth2gt12) + gtu23*PDstandardNth2gt22 + - gtu33*(2*PDstandardNth2gt23 - PDstandardNth3gt22)); - - CCTK_REAL Gt123 = khalf*(gtu13*PDstandardNth2gt33 + - gtu11*(-PDstandardNth1gt23 + PDstandardNth2gt13 + PDstandardNth3gt12) + - gtu12*PDstandardNth3gt22); - - CCTK_REAL Gt223 = khalf*(gtu23*PDstandardNth2gt33 + - gtu12*(-PDstandardNth1gt23 + PDstandardNth2gt13 + PDstandardNth3gt12) + - gtu22*PDstandardNth3gt22); - - CCTK_REAL Gt323 = khalf*(gtu33*PDstandardNth2gt33 + - gtu13*(-PDstandardNth1gt23 + PDstandardNth2gt13 + PDstandardNth3gt12) + - gtu23*PDstandardNth3gt22); - - CCTK_REAL Gt133 = khalf*(-(gtu11*PDstandardNth1gt33) - - gtu12*PDstandardNth2gt33 + 2*gtu11*PDstandardNth3gt13 + - 2*gtu12*PDstandardNth3gt23 + gtu13*PDstandardNth3gt33); - - CCTK_REAL Gt233 = khalf*(-(gtu12*PDstandardNth1gt33) - - gtu22*PDstandardNth2gt33 + 2*gtu12*PDstandardNth3gt13 + - 2*gtu22*PDstandardNth3gt23 + gtu23*PDstandardNth3gt33); - - CCTK_REAL Gt333 = khalf*(-(gtu13*PDstandardNth1gt33) - - gtu23*PDstandardNth2gt33 + 2*gtu13*PDstandardNth3gt13 + - 2*gtu23*PDstandardNth3gt23 + gtu33*PDstandardNth3gt33); - - CCTK_REAL Rt11 = -(gtu11*khalf*PDstandardNth11gt11) + - gtu12*(2*Gt211*Gt212*gt22L + 4*Gt112*gt13L*Gt311 + 2*Gt113*gt11L*Gt312 - + 2*gt13L*Gt312*Gt313 + 2*gt13L*Gt211*Gt322 + 2*gt13L*Gt311*Gt323 + - 2*Gt311*Gt312*gt33L - PDstandardNth12gt11) - gtu13*PDstandardNth13gt11 - + gt11L*PDstandardNth1Xt1 + gt12L*(4*Gt111*Gt212*gtu12 + - 2*Gt211*Gt222*gtu12 + 4*Gt113*Gt211*gtu13 + 4*Gt112*Gt212*gtu22 + - 4*Gt113*Gt212*gtu23 + 4*Gt113*Gt213*gtu33 + PDstandardNth1Xt2) + - gt13L*(4*Gt111*Gt312*gtu12 + 2*Gt212*Gt312*gtu12 + 4*Gt113*Gt311*gtu13 - + 2*Gt212*Gt322*gtu22 + 4*Gt113*Gt312*gtu23 + 4*Gt113*Gt313*gtu33 + - PDstandardNth1Xt3) - gtu22*khalf*PDstandardNth22gt11 - - gtu23*PDstandardNth23gt11 - gtu33*khalf*PDstandardNth33gt11 + - Gt111*(6*Gt113*gt11L*gtu13 + 4*gt12L*Gt213*gtu13 + gt11L*Xt1L) + - Gt211*(2*Gt112*gt11L*gtu11 + 4*Gt111*gt12L*gtu11 + 2*gt11L*Gt122*gtu12 - + 2*gt11L*Gt123*gtu13 + gt12L*Xt1L) + Gt311*(4*Gt111*gt13L*gtu11 + - 2*gt12L*Gt213*gtu11 + 2*gt13L*Gt313*gtu11 + 2*gt11L*Gt123*gtu12 + - 2*gt11L*Gt133*gtu13 + gt13L*Xt1L) + gt12L*Gt212*Xt2L + gt13L*Gt312*Xt2L - + Gt112*(6*Gt111*gt11L*gtu12 + 4*gt12L*Gt211*gtu12 + - 2*gt11L*Gt213*gtu13 + 4*gt13L*Gt312*gtu22 + 6*Gt113*gt11L*gtu23 + - gt11L*Xt2L) + Gt113*gt11L*Xt3L + Gt213*(2*gt11L*Gt122*gtu23 + - 4*Gt112*gt12L*gtu23 + 2*gt11L*Gt123*gtu33 + gt12L*Xt3L) + - Gt313*(4*Gt111*gt13L*gtu13 + 2*gt12L*Gt213*gtu13 + 2*gt11L*Gt123*gtu23 - + 4*Gt112*gt13L*gtu23 + 2*gt12L*Gt223*gtu23 + 2*gt11L*Gt133*gtu33 + - gt13L*Xt3L) + 3*gt11L*gtu11*SQR(Gt111) + 3*gt11L*gtu22*SQR(Gt112) + - 3*gt11L*gtu33*SQR(Gt113) + gt22L*gtu11*SQR(Gt211) + - gt22L*gtu22*SQR(Gt212) + 2*(gt12L*Gt211*Gt212*gtu11 + - Gt113*gt11L*Gt311*gtu11 + Gt211*gt23L*Gt311*gtu11 + - gt13L*Gt211*Gt312*gtu11 + Gt112*gt11L*Gt212*gtu12 + - gt12L*Gt223*Gt311*gtu12 + Gt212*gt23L*Gt311*gtu12 + - gt12L*Gt213*Gt312*gtu12 + Gt211*gt23L*Gt312*gtu12 + - gt12L*Gt212*Gt213*gtu13 + gt12L*Gt211*Gt223*gtu13 + - Gt211*Gt213*gt22L*gtu13 + gt12L*Gt233*Gt311*gtu13 + - Gt213*gt23L*Gt311*gtu13 + gt13L*Gt213*Gt312*gtu13 + - Gt113*gt11L*Gt313*gtu13 + Gt211*gt23L*Gt313*gtu13 + - gt13L*Gt211*Gt323*gtu13 + gt13L*Gt311*Gt333*gtu13 + - Gt311*Gt313*gt33L*gtu13 + gt11L*Gt122*Gt212*gtu22 + - gt12L*Gt212*Gt222*gtu22 + gt11L*Gt123*Gt312*gtu22 + - gt12L*Gt223*Gt312*gtu22 + Gt212*gt23L*Gt312*gtu22 + - gt13L*Gt312*Gt323*gtu22 + gt11L*Gt123*Gt212*gtu23 + - gt12L*Gt213*Gt222*gtu23 + gt12L*Gt212*Gt223*gtu23 + - Gt212*Gt213*gt22L*gtu23 + gt11L*Gt133*Gt312*gtu23 + - gt12L*Gt233*Gt312*gtu23 + Gt213*gt23L*Gt312*gtu23 + - Gt212*gt23L*Gt313*gtu23 + gt13L*Gt213*Gt322*gtu23 + - gt13L*Gt212*Gt323*gtu23 + gt13L*Gt313*Gt323*gtu23 + - gt13L*Gt312*Gt333*gtu23 + Gt312*Gt313*gt33L*gtu23 + - gt12L*Gt213*Gt223*gtu33 + gt12L*Gt233*Gt313*gtu33 + - Gt213*gt23L*Gt313*gtu33 + gt13L*Gt213*Gt323*gtu33 + - gt13L*Gt313*Gt333*gtu33 + gt12L*gtu12*SQR(Gt212)) + - gt22L*gtu33*SQR(Gt213) + gt33L*gtu11*SQR(Gt311) + - gt33L*gtu22*SQR(Gt312) + 2*gt13L*gtu13*SQR(Gt313) + - gt33L*gtu33*SQR(Gt313); - - CCTK_REAL Rt12 = khalf*(-(gtu11*PDstandardNth11gt12) - + CCTK_REAL Gtl111 = khalf*PDstandardNth1gt11; + + CCTK_REAL Gtl112 = khalf*PDstandardNth2gt11; + + CCTK_REAL Gtl113 = khalf*PDstandardNth3gt11; + + CCTK_REAL Gtl122 = -(khalf*PDstandardNth1gt22) + PDstandardNth2gt12; + + CCTK_REAL Gtl123 = khalf*(-PDstandardNth1gt23 + PDstandardNth2gt13 + + PDstandardNth3gt12); + + CCTK_REAL Gtl133 = -(khalf*PDstandardNth1gt33) + PDstandardNth3gt13; + + CCTK_REAL Gtl211 = PDstandardNth1gt12 - khalf*PDstandardNth2gt11; + + CCTK_REAL Gtl212 = khalf*PDstandardNth1gt22; + + CCTK_REAL Gtl213 = khalf*(PDstandardNth1gt23 - PDstandardNth2gt13 + + PDstandardNth3gt12); + + CCTK_REAL Gtl222 = khalf*PDstandardNth2gt22; + + CCTK_REAL Gtl223 = khalf*PDstandardNth3gt22; + + CCTK_REAL Gtl233 = -(khalf*PDstandardNth2gt33) + PDstandardNth3gt23; + + CCTK_REAL Gtl311 = PDstandardNth1gt13 - khalf*PDstandardNth3gt11; + + CCTK_REAL Gtl312 = khalf*(PDstandardNth1gt23 + PDstandardNth2gt13 - + PDstandardNth3gt12); + + CCTK_REAL Gtl313 = khalf*PDstandardNth1gt33; + + CCTK_REAL Gtl322 = PDstandardNth2gt23 - khalf*PDstandardNth3gt22; + + CCTK_REAL Gtl323 = khalf*PDstandardNth2gt33; + + CCTK_REAL Gtl333 = khalf*PDstandardNth3gt33; + + CCTK_REAL Gtlu111 = Gtl111*gtu11 + Gtl112*gtu12 + Gtl113*gtu13; + + CCTK_REAL Gtlu112 = Gtl111*gtu12 + Gtl112*gtu22 + Gtl113*gtu23; + + CCTK_REAL Gtlu113 = Gtl111*gtu13 + Gtl112*gtu23 + Gtl113*gtu33; + + CCTK_REAL Gtlu121 = Gtl112*gtu11 + Gtl122*gtu12 + Gtl123*gtu13; + + CCTK_REAL Gtlu122 = Gtl112*gtu12 + Gtl122*gtu22 + Gtl123*gtu23; + + CCTK_REAL Gtlu123 = Gtl112*gtu13 + Gtl122*gtu23 + Gtl123*gtu33; + + CCTK_REAL Gtlu131 = Gtl113*gtu11 + Gtl123*gtu12 + Gtl133*gtu13; + + CCTK_REAL Gtlu132 = Gtl113*gtu12 + Gtl123*gtu22 + Gtl133*gtu23; + + CCTK_REAL Gtlu133 = Gtl113*gtu13 + Gtl123*gtu23 + Gtl133*gtu33; + + CCTK_REAL Gtlu211 = Gtl211*gtu11 + Gtl212*gtu12 + Gtl213*gtu13; + + CCTK_REAL Gtlu212 = Gtl211*gtu12 + Gtl212*gtu22 + Gtl213*gtu23; + + CCTK_REAL Gtlu213 = Gtl211*gtu13 + Gtl212*gtu23 + Gtl213*gtu33; + + CCTK_REAL Gtlu221 = Gtl212*gtu11 + Gtl222*gtu12 + Gtl223*gtu13; + + CCTK_REAL Gtlu222 = Gtl212*gtu12 + Gtl222*gtu22 + Gtl223*gtu23; + + CCTK_REAL Gtlu223 = Gtl212*gtu13 + Gtl222*gtu23 + Gtl223*gtu33; + + CCTK_REAL Gtlu231 = Gtl213*gtu11 + Gtl223*gtu12 + Gtl233*gtu13; + + CCTK_REAL Gtlu232 = Gtl213*gtu12 + Gtl223*gtu22 + Gtl233*gtu23; + + CCTK_REAL Gtlu233 = Gtl213*gtu13 + Gtl223*gtu23 + Gtl233*gtu33; + + CCTK_REAL Gtlu311 = Gtl311*gtu11 + Gtl312*gtu12 + Gtl313*gtu13; + + CCTK_REAL Gtlu312 = Gtl311*gtu12 + Gtl312*gtu22 + Gtl313*gtu23; + + CCTK_REAL Gtlu313 = Gtl311*gtu13 + Gtl312*gtu23 + Gtl313*gtu33; + + CCTK_REAL Gtlu321 = Gtl312*gtu11 + Gtl322*gtu12 + Gtl323*gtu13; + + CCTK_REAL Gtlu322 = Gtl312*gtu12 + Gtl322*gtu22 + Gtl323*gtu23; + + CCTK_REAL Gtlu323 = Gtl312*gtu13 + Gtl322*gtu23 + Gtl323*gtu33; + + CCTK_REAL Gtlu331 = Gtl313*gtu11 + Gtl323*gtu12 + Gtl333*gtu13; + + CCTK_REAL Gtlu332 = Gtl313*gtu12 + Gtl323*gtu22 + Gtl333*gtu23; + + CCTK_REAL Gtlu333 = Gtl313*gtu13 + Gtl323*gtu23 + Gtl333*gtu33; + + CCTK_REAL Gt111 = Gtl111*gtu11 + Gtl211*gtu12 + Gtl311*gtu13; + + CCTK_REAL Gt211 = Gtl111*gtu12 + Gtl211*gtu22 + Gtl311*gtu23; + + CCTK_REAL Gt311 = Gtl111*gtu13 + Gtl211*gtu23 + Gtl311*gtu33; + + CCTK_REAL Gt112 = Gtl112*gtu11 + Gtl212*gtu12 + Gtl312*gtu13; + + CCTK_REAL Gt212 = Gtl112*gtu12 + Gtl212*gtu22 + Gtl312*gtu23; + + CCTK_REAL Gt312 = Gtl112*gtu13 + Gtl212*gtu23 + Gtl312*gtu33; + + CCTK_REAL Gt113 = Gtl113*gtu11 + Gtl213*gtu12 + Gtl313*gtu13; + + CCTK_REAL Gt213 = Gtl113*gtu12 + Gtl213*gtu22 + Gtl313*gtu23; + + CCTK_REAL Gt313 = Gtl113*gtu13 + Gtl213*gtu23 + Gtl313*gtu33; + + CCTK_REAL Gt122 = Gtl122*gtu11 + Gtl222*gtu12 + Gtl322*gtu13; + + CCTK_REAL Gt222 = Gtl122*gtu12 + Gtl222*gtu22 + Gtl322*gtu23; + + CCTK_REAL Gt322 = Gtl122*gtu13 + Gtl222*gtu23 + Gtl322*gtu33; + + CCTK_REAL Gt123 = Gtl123*gtu11 + Gtl223*gtu12 + Gtl323*gtu13; + + CCTK_REAL Gt223 = Gtl123*gtu12 + Gtl223*gtu22 + Gtl323*gtu23; + + CCTK_REAL Gt323 = Gtl123*gtu13 + Gtl223*gtu23 + Gtl323*gtu33; + + CCTK_REAL Gt133 = Gtl133*gtu11 + Gtl233*gtu12 + Gtl333*gtu13; + + CCTK_REAL Gt233 = Gtl133*gtu12 + Gtl233*gtu22 + Gtl333*gtu23; + + CCTK_REAL Gt333 = Gtl133*gtu13 + Gtl233*gtu23 + Gtl333*gtu33; + + CCTK_REAL Xtn1 = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu12 + + Gt113*gtu13 + Gt123*gtu23) + Gt133*gtu33; + + CCTK_REAL Xtn2 = Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu12 + + Gt213*gtu13 + Gt223*gtu23) + Gt233*gtu33; + + CCTK_REAL Xtn3 = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu12 + + Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33; + + CCTK_REAL Rt11 = 3*(Gt111*Gtlu111 + Gt112*Gtlu112 + Gt113*Gtlu113) + + 2*(Gt211*Gtlu121 + Gt212*Gtlu122 + Gt213*Gtlu123 + Gt311*Gtlu131 + + Gt312*Gtlu132 + Gt313*Gtlu133) + Gt211*Gtlu211 + Gt212*Gtlu212 + + Gt213*Gtlu213 + Gt311*Gtlu311 + Gt312*Gtlu312 + Gt313*Gtlu313 + + gt11L*PDstandardNth1Xt1 + gt12L*PDstandardNth1Xt2 + + gt13L*PDstandardNth1Xt3 + khalf*(-(gtu11*PDstandardNth11gt11) - + 2*gtu12*PDstandardNth12gt11 - 2*gtu13*PDstandardNth13gt11 - + gtu22*PDstandardNth22gt11 - 2*gtu23*PDstandardNth23gt11 - + gtu33*PDstandardNth33gt11) + Gtl111*Xtn1 + Gtl112*Xtn2 + Gtl113*Xtn3; + + CCTK_REAL Rt12 = khalf*(4*(Gt211*Gtlu221 + Gt212*Gtlu222 + + Gt213*Gtlu223) + 2*(Gt112*Gtlu111 + Gt122*Gtlu112 + Gt123*Gtlu113 + + Gt111*Gtlu121 + Gt212*Gtlu121 + Gt112*Gtlu122 + Gt222*Gtlu122 + + Gt113*Gtlu123 + Gt223*Gtlu123 + Gt312*Gtlu131 + Gt322*Gtlu132 + + Gt323*Gtlu133 + Gt111*Gtlu211 + Gt112*Gtlu212 + Gt113*Gtlu213 + + Gt311*Gtlu231 + Gt312*Gtlu232 + Gt313*Gtlu233 + Gt311*Gtlu321 + + Gt312*Gtlu322 + Gt313*Gtlu323) - gtu11*PDstandardNth11gt12 - 2*gtu12*PDstandardNth12gt12 - 2*gtu13*PDstandardNth13gt12 + gt12L*PDstandardNth1Xt1 + gt22L*PDstandardNth1Xt2 + gt23L*PDstandardNth1Xt3 - gtu22*PDstandardNth22gt12 - 2*gtu23*PDstandardNth23gt12 + gt11L*PDstandardNth2Xt1 + gt12L*PDstandardNth2Xt2 + gt13L*PDstandardNth2Xt3 - - gtu33*PDstandardNth33gt12 + (Gt111*gt12L + Gt211*gt22L + - gt23L*Gt311)*Xt1L + (Gt112*gt11L + gt12L*Gt212 + gt13L*Gt312)*Xt1L + - (Gt112*gt12L + Gt212*gt22L + gt23L*Gt312)*Xt2L + (gt11L*Gt122 + - gt12L*Gt222 + gt13L*Gt322)*Xt2L + (Gt113*gt12L + Gt213*gt22L + - gt23L*Gt313)*Xt3L + (gt11L*Gt123 + gt12L*Gt223 + gt13L*Gt323)*Xt3L + - 2*gtu12*(Gt112*gt11L*Gt222 + Gt112*Gt211*gt22L + Gt211*Gt222*gt22L + - 2*Gt122*gt13L*Gt311 + Gt112*gt23L*Gt311 + Gt222*gt23L*Gt311 + - gt13L*Gt222*Gt312 + Gt213*gt22L*Gt312 + Gt212*gt23L*Gt312 + - gt23L*Gt312*Gt313 + Gt113*gt11L*Gt322 + Gt211*gt23L*Gt322 + - gt13L*Gt313*Gt322 + Gt111*(2*gt11L*Gt122 + Gt112*gt12L + gt12L*Gt222 + - gt13L*Gt322) + gt12L*(2*Gt122*Gt211 + Gt112*Gt212 + Gt212*Gt222 + - Gt113*Gt312 + Gt213*Gt322) + Gt311*Gt322*gt33L + gt22L*SQR(Gt212)) + - 2*((Gt123*gt12L*Gt211 + Gt113*gt12L*Gt212 + 2*Gt112*gt12L*Gt213 + - gt12L*Gt212*Gt223 + Gt212*Gt213*gt22L + Gt211*Gt223*gt22L + - gt12L*Gt133*Gt311 + gt22L*Gt233*Gt311 + Gt113*gt13L*Gt312 + - gt12L*Gt233*Gt312 + Gt213*gt23L*Gt312 + gt11L*(2*Gt112*Gt113 + - Gt123*Gt212 + Gt133*Gt312) + 2*Gt112*gt13L*Gt313 + Gt212*gt23L*Gt313 + - Gt111*(Gt113*gt12L + Gt213*gt22L + gt23L*Gt313) + gt13L*Gt212*Gt323 + - Gt211*gt23L*Gt323 + gt23L*Gt311*Gt333 + gt13L*Gt312*Gt333 + - Gt312*Gt313*gt33L)*gtu13 + (Gt123*gt12L*Gt212 + 2*Gt122*gt12L*Gt213 + - Gt113*gt12L*Gt222 + gt12L*Gt222*Gt223 + Gt213*Gt222*gt22L + - Gt212*Gt223*gt22L + gt12L*Gt133*Gt312 + gt22L*Gt233*Gt312 + - 2*Gt122*gt13L*Gt313 + Gt222*gt23L*Gt313 + Gt112*(Gt113*gt12L + - Gt213*gt22L + gt23L*Gt313) + Gt113*gt13L*Gt322 + gt12L*Gt233*Gt322 + - Gt213*gt23L*Gt322 + gt11L*(2*Gt113*Gt122 + Gt123*Gt222 + Gt133*Gt322) + - gt13L*Gt222*Gt323 + Gt212*gt23L*Gt323 + gt23L*Gt312*Gt333 + - gt13L*Gt322*Gt333 + Gt313*Gt322*gt33L)*gtu23 + - gtu11*(3*Gt112*gt12L*Gt211 + 2*Gt211*Gt212*gt22L + Gt113*gt12L*Gt311 + - 2*Gt112*gt13L*Gt311 + Gt213*gt22L*Gt311 + Gt212*gt23L*Gt311 + - gt13L*Gt212*Gt312 + gt12L*Gt213*Gt312 + 2*Gt211*gt23L*Gt312 + - gt11L*(2*Gt111*Gt112 + Gt112*Gt212 + Gt113*Gt312) + Gt111*(gt12L*Gt212 - + Gt211*gt22L + gt23L*Gt311 + gt13L*Gt312) + gt23L*Gt311*Gt313 + - gt13L*Gt312*Gt313 + Gt311*Gt312*gt33L + gt12L*SQR(Gt111) + - gt12L*SQR(Gt212))) + 2*gtu22*(gt11L*Gt122*Gt222 + 2*Gt212*Gt222*gt22L + - 2*Gt122*gt13L*Gt312 + Gt223*gt22L*Gt312 + Gt222*gt23L*Gt312 + - gt11L*Gt123*Gt322 + gt13L*Gt222*Gt322 + 2*Gt212*gt23L*Gt322 + - Gt112*(2*gt11L*Gt122 + gt12L*Gt222 + Gt212*gt22L + gt23L*Gt312 + - gt13L*Gt322) + gt23L*Gt312*Gt323 + gt13L*Gt322*Gt323 + - Gt312*Gt322*gt33L + gt12L*SQR(Gt112) + gt12L*(3*Gt122*Gt212 + - Gt123*Gt312 + Gt223*Gt322 + SQR(Gt222))) + 2*gtu33*(gt11L*Gt123*Gt223 + - 2*Gt213*Gt223*gt22L + 2*Gt123*gt13L*Gt313 + gt22L*Gt233*Gt313 + - Gt223*gt23L*Gt313 + gt11L*Gt133*Gt323 + gt13L*Gt223*Gt323 + - 2*Gt213*gt23L*Gt323 + Gt113*(2*gt11L*Gt123 + gt12L*Gt223 + Gt213*gt22L - + gt23L*Gt313 + gt13L*Gt323) + gt23L*Gt313*Gt333 + gt13L*Gt323*Gt333 + - Gt313*Gt323*gt33L + gt12L*SQR(Gt113) + gt12L*(3*Gt123*Gt213 + - Gt133*Gt313 + Gt233*Gt323 + SQR(Gt223))) + 2*gtu12*(Gt122*gt12L*Gt211 + - 3*Gt112*gt12L*Gt212 + gt12L*Gt212*Gt222 + Gt211*Gt222*gt22L + - Gt123*gt12L*Gt311 + Gt223*gt22L*Gt311 + 3*Gt112*gt13L*Gt312 + - gt12L*Gt223*Gt312 + 2*Gt212*gt23L*Gt312 + Gt111*(Gt112*gt12L + - Gt212*gt22L + gt23L*Gt312) + gt13L*Gt212*Gt322 + Gt211*gt23L*Gt322 + - gt23L*Gt311*Gt323 + gt13L*Gt312*Gt323 + gt11L*(Gt122*Gt212 + - Gt123*Gt312 + 2*SQR(Gt112)) + gt22L*SQR(Gt212) + gt33L*SQR(Gt312)) + - 2*gtu13*(Gt112*gt11L*Gt223 + Gt113*Gt211*gt22L + Gt212*Gt213*gt22L + - Gt211*Gt223*gt22L + 2*Gt123*gt13L*Gt311 + Gt113*gt23L*Gt311 + - Gt223*gt23L*Gt311 + gt13L*Gt223*Gt312 + Gt213*gt23L*Gt312 + - Gt213*gt22L*Gt313 + Gt113*gt11L*Gt323 + Gt211*gt23L*Gt323 + - gt13L*Gt313*Gt323 + Gt111*(2*gt11L*Gt123 + Gt113*gt12L + gt12L*Gt223 + - gt13L*Gt323) + gt12L*(2*Gt123*Gt211 + Gt112*Gt213 + Gt212*Gt223 + - Gt113*Gt313 + Gt213*Gt323) + Gt311*Gt323*gt33L + gt23L*SQR(Gt313)) + - 2*gtu23*(gt11L*Gt122*Gt223 + Gt113*Gt212*gt22L + Gt213*Gt222*gt22L + - Gt212*Gt223*gt22L + 2*Gt123*gt13L*Gt312 + Gt113*gt23L*Gt312 + - Gt223*gt23L*Gt312 + Gt223*gt22L*Gt313 + gt13L*Gt223*Gt322 + - Gt213*gt23L*Gt322 + gt11L*Gt123*Gt323 + Gt212*gt23L*Gt323 + - gt23L*Gt313*Gt323 + Gt112*(2*gt11L*Gt123 + Gt113*gt12L + gt12L*Gt223 + - gt13L*Gt323) + gt12L*(Gt122*Gt213 + Gt123*(2*Gt212 + Gt313) + - Gt223*(Gt222 + Gt323)) + Gt312*Gt323*gt33L + gt13L*SQR(Gt323))); - - CCTK_REAL Rt13 = khalf*(-(gtu11*PDstandardNth11gt13) - + gtu33*PDstandardNth33gt12 + Gtl112*Xtn1 + Gtl211*Xtn1 + Gtl122*Xtn2 + + Gtl212*Xtn2 + Gtl123*Xtn3 + Gtl213*Xtn3); + + CCTK_REAL Rt13 = khalf*(2*(Gt113*Gtlu111 + Gt123*Gtlu112 + + Gt133*Gtlu113 + Gt213*Gtlu121 + Gt223*Gtlu122 + Gt233*Gtlu123 + + Gt111*Gtlu131 + Gt313*Gtlu131 + Gt112*Gtlu132 + Gt323*Gtlu132 + + Gt113*Gtlu133 + Gt333*Gtlu133 + Gt211*Gtlu231 + Gt212*Gtlu232 + + Gt213*Gtlu233 + Gt111*Gtlu311 + Gt112*Gtlu312 + Gt113*Gtlu313 + + Gt211*Gtlu321 + Gt212*Gtlu322 + Gt213*Gtlu323) + 4*(Gt311*Gtlu331 + + Gt312*Gtlu332 + Gt313*Gtlu333) - gtu11*PDstandardNth11gt13 - 2*gtu12*PDstandardNth12gt13 - 2*gtu13*PDstandardNth13gt13 + gt13L*PDstandardNth1Xt1 + gt23L*PDstandardNth1Xt2 + gt33L*PDstandardNth1Xt3 - gtu22*PDstandardNth22gt13 - 2*gtu23*PDstandardNth23gt13 - gtu33*PDstandardNth33gt13 + gt11L*PDstandardNth3Xt1 + gt12L*PDstandardNth3Xt2 + - gt13L*PDstandardNth3Xt3 + (Gt113*gt11L + gt12L*Gt213 + - gt13L*Gt313)*Xt1L + (Gt111*gt13L + Gt211*gt23L + Gt311*gt33L)*Xt1L + - (gt11L*Gt123 + gt12L*Gt223 + gt13L*Gt323)*Xt2L + (Gt112*gt13L + - Gt212*gt23L + Gt312*gt33L)*Xt2L + (gt11L*Gt133 + gt12L*Gt233 + - gt13L*Gt333)*Xt3L + (Gt113*gt13L + Gt213*gt23L + Gt313*gt33L)*Xt3L + - 2*((Gt122*gt13L*Gt211 + 2*Gt113*gt12L*Gt212 + Gt112*gt12L*Gt213 + - gt12L*Gt213*Gt222 + Gt212*Gt213*gt22L + Gt211*Gt222*gt23L + - Gt123*gt13L*Gt311 + Gt223*gt23L*Gt311 + 2*Gt113*gt13L*Gt312 + - Gt213*gt23L*Gt312 + Gt112*gt13L*Gt313 + gt12L*Gt223*Gt313 + - Gt212*gt23L*Gt313 + gt11L*(2*Gt112*Gt113 + Gt122*Gt213 + Gt123*Gt313) + - gt13L*Gt213*Gt322 + gt13L*Gt313*Gt323 + Gt312*Gt313*gt33L + - Gt211*Gt322*gt33L + Gt311*Gt323*gt33L + Gt111*(Gt112*gt13L + - Gt212*gt23L + Gt312*gt33L))*gtu12 + (Gt122*gt13L*Gt213 + - gt11L*Gt122*Gt233 + Gt212*gt22L*Gt233 + Gt113*Gt212*gt23L + - Gt213*Gt222*gt23L + 2*Gt133*gt13L*Gt312 + Gt233*gt23L*Gt312 + - Gt123*gt13L*Gt313 + Gt223*gt23L*Gt313 + gt13L*Gt233*Gt322 + - gt11L*Gt123*Gt333 + Gt212*gt23L*Gt333 + gt13L*Gt323*Gt333 + - Gt112*(2*gt11L*Gt133 + Gt113*gt13L + gt12L*Gt233 + gt13L*Gt333) + - gt12L*(2*Gt133*Gt212 + Gt222*Gt233 + Gt223*Gt333) + Gt113*Gt312*gt33L + - Gt213*Gt322*gt33L + Gt313*Gt323*gt33L + Gt312*Gt333*gt33L)*gtu23 + - gtu12*(2*Gt123*gt12L*Gt211 + Gt112*gt13L*Gt212 + gt12L*Gt212*Gt223 + - Gt211*Gt223*gt22L + Gt112*Gt211*gt23L + 2*Gt123*gt13L*Gt311 + - Gt223*gt23L*Gt311 + Gt113*gt13L*Gt312 + gt13L*Gt223*Gt312 + - Gt213*gt23L*Gt312 + gt12L*Gt213*Gt323 + Gt211*gt23L*Gt323 + - gt13L*Gt313*Gt323 + gt11L*(2*Gt111*Gt123 + Gt112*Gt223 + Gt113*Gt323) + - Gt111*(Gt112*gt13L + gt12L*Gt223 + gt13L*Gt323) + Gt112*Gt311*gt33L + - Gt212*Gt312*gt33L + Gt312*Gt313*gt33L + Gt311*Gt323*gt33L + - gt23L*SQR(Gt212))) + 2*gtu23*(Gt123*gt13L*Gt212 + 2*Gt123*gt12L*Gt213 + - Gt113*gt12L*Gt223 + Gt213*Gt223*gt22L + Gt212*Gt223*gt23L + - Gt133*gt13L*Gt312 + Gt233*gt23L*Gt312 + 2*Gt123*gt13L*Gt313 + - Gt223*gt23L*Gt313 + Gt113*gt13L*Gt323 + gt13L*Gt223*Gt323 + - gt12L*Gt233*Gt323 + Gt213*gt23L*Gt323 + gt11L*(2*Gt113*Gt123 + - Gt123*Gt223 + Gt133*Gt323) + gt13L*Gt323*Gt333 + Gt212*Gt323*gt33L + - Gt313*Gt323*gt33L + Gt312*Gt333*gt33L + Gt112*(Gt113*gt13L + - Gt213*gt23L + Gt313*gt33L) + gt12L*SQR(Gt223)) + - 2*gtu11*(2*Gt113*gt12L*Gt211 + Gt112*gt13L*Gt211 + gt12L*Gt212*Gt213 + - Gt211*Gt213*gt22L + Gt211*Gt212*gt23L + 3*Gt113*gt13L*Gt311 + - 2*Gt213*gt23L*Gt311 + gt13L*Gt213*Gt312 + gt12L*Gt213*Gt313 + - Gt211*gt23L*Gt313 + gt11L*(2*Gt111*Gt113 + Gt112*Gt213 + Gt113*Gt313) + - Gt211*Gt312*gt33L + 2*Gt311*Gt313*gt33L + Gt111*(gt12L*Gt213 + - Gt211*gt23L + gt13L*Gt313 + Gt311*gt33L) + gt13L*SQR(Gt111) + - gt13L*SQR(Gt313)) + 2*gtu13*(Gt112*gt13L*Gt213 + Gt112*gt11L*Gt233 + - Gt211*gt22L*Gt233 + Gt113*Gt211*gt23L + Gt212*Gt213*gt23L + - 2*Gt133*gt13L*Gt311 + Gt233*gt23L*Gt311 + gt13L*Gt233*Gt312 + - Gt113*gt13L*Gt313 + Gt213*gt23L*Gt313 + Gt113*gt11L*Gt333 + - Gt211*gt23L*Gt333 + gt13L*Gt313*Gt333 + Gt111*(2*gt11L*Gt133 + - Gt113*gt13L + gt12L*Gt233 + gt13L*Gt333) + gt12L*(2*Gt133*Gt211 + - Gt212*Gt233 + Gt213*Gt333) + Gt113*Gt311*gt33L + Gt213*Gt312*gt33L + - Gt311*Gt333*gt33L + gt33L*SQR(Gt313)) + 2*gtu13*(Gt123*gt13L*Gt211 + - 3*Gt113*gt12L*Gt213 + gt12L*Gt213*Gt223 + Gt211*Gt223*gt23L + - Gt133*gt13L*Gt311 + Gt233*gt23L*Gt311 + 3*Gt113*gt13L*Gt313 + - gt12L*Gt233*Gt313 + 2*Gt213*gt23L*Gt313 + gt13L*Gt213*Gt323 + - gt13L*Gt313*Gt333 + Gt211*Gt323*gt33L + Gt311*Gt333*gt33L + - Gt111*(Gt113*gt13L + Gt213*gt23L + Gt313*gt33L) + gt11L*(Gt123*Gt213 + - Gt133*Gt313 + 2*SQR(Gt113)) + gt22L*SQR(Gt213) + gt33L*SQR(Gt313)) + - 2*gtu22*(2*Gt123*gt12L*Gt212 + Gt122*gt13L*Gt212 + gt12L*Gt222*Gt223 + - Gt212*Gt223*gt22L + Gt212*Gt222*gt23L + 3*Gt123*gt13L*Gt312 + - 2*Gt223*gt23L*Gt312 + gt13L*Gt223*Gt322 + gt12L*Gt223*Gt323 + - Gt212*gt23L*Gt323 + gt11L*(2*Gt112*Gt123 + Gt122*Gt223 + Gt123*Gt323) + - Gt212*Gt322*gt33L + 2*Gt312*Gt323*gt33L + Gt112*(gt12L*Gt223 + - Gt212*gt23L + gt13L*Gt323 + Gt312*gt33L) + gt13L*SQR(Gt112) + - gt13L*SQR(Gt323)) + 2*gtu33*(2*gt12L*Gt133*Gt213 + Gt123*gt13L*Gt213 + - gt11L*Gt123*Gt233 + gt12L*Gt223*Gt233 + Gt213*gt22L*Gt233 + - Gt213*Gt223*gt23L + 3*Gt133*gt13L*Gt313 + 2*Gt233*gt23L*Gt313 + - gt13L*Gt233*Gt323 + gt11L*Gt133*Gt333 + gt12L*Gt233*Gt333 + - Gt213*gt23L*Gt333 + Gt213*Gt323*gt33L + 2*Gt313*Gt333*gt33L + - Gt113*(2*gt11L*Gt133 + gt12L*Gt233 + Gt213*gt23L + gt13L*Gt333 + - Gt313*gt33L) + gt13L*SQR(Gt113) + gt13L*SQR(Gt333))); - - CCTK_REAL Rt22 = 4*(Gt122*gt12L*Gt212*gtu12 + Gt112*gt12L*Gt222*gtu12 - + Gt123*gt12L*Gt212*gtu13 + Gt122*gt12L*Gt222*gtu22 + - Gt123*gt12L*Gt222*gtu23 + Gt123*gt12L*Gt223*gtu33) - - gtu11*khalf*PDstandardNth11gt22 + gtu12*(6*Gt212*Gt222*gt22L + - 2*Gt122*gt23L*Gt311 + 2*Gt122*gt13L*Gt312 + 4*Gt222*gt23L*Gt312 + - 2*Gt113*gt12L*Gt322 + 2*gt23L*Gt312*Gt323 + 2*Gt312*Gt322*gt33L - - PDstandardNth12gt22) + gtu13*(6*Gt212*Gt223*gt22L + 2*Gt123*gt13L*Gt312 - + 2*Gt112*gt23L*Gt313 + 2*Gt113*gt12L*Gt323 + 2*gt23L*Gt312*Gt333 + - 2*Gt312*Gt323*gt33L - PDstandardNth13gt22) - - gtu22*khalf*PDstandardNth22gt22 + gtu23*(4*Gt122*gt12L*Gt223 + - 2*Gt123*Gt212*gt22L + 2*gt12L*Gt133*Gt322 + 4*Gt223*gt23L*Gt322 + - 2*Gt123*gt12L*Gt323 + 4*Gt222*gt23L*Gt323 + 2*gt23L*Gt322*Gt333 + - 2*Gt322*Gt323*gt33L - PDstandardNth23gt22) + gt12L*(2*Gt111*Gt123*gtu13 - + 4*Gt112*Gt223*gtu13 + 2*Gt123*Gt322*gtu22 + 2*Gt113*Gt122*gtu23 + - 2*Gt113*Gt123*gtu33 + PDstandardNth2Xt1) + gt22L*(2*Gt122*Gt213*gtu23 + - 6*Gt222*Gt223*gtu23 + 2*Gt123*Gt213*gtu33 + PDstandardNth2Xt2) + - gt23L*(4*Gt212*Gt322*gtu12 + 2*Gt313*Gt322*gtu12 + 2*Gt123*Gt311*gtu13 - + 4*Gt212*Gt323*gtu13 + 2*Gt313*Gt323*gtu13 + 4*Gt222*Gt322*gtu22 + - 2*Gt122*Gt313*gtu23 + 2*Gt123*Gt313*gtu33 + 4*Gt223*Gt323*gtu33 + - 2*Gt323*Gt333*gtu33 + PDstandardNth2Xt3) - - gtu33*khalf*PDstandardNth33gt22 + Gt212*gt22L*Xt1L + - Gt112*(2*Gt111*gt12L*gtu11 + 4*gt12L*Gt212*gtu11 + 2*gt11L*Gt122*gtu12 - + 2*gt11L*Gt123*gtu13 + 2*Gt122*gt12L*gtu22 + 2*Gt123*gt12L*gtu23 + - gt12L*Xt1L) + Gt312*(2*Gt213*gt22L*gtu11 + 4*Gt212*gt23L*gtu11 + - 2*gt23L*Gt313*gtu11 + 2*Gt123*gt12L*gtu12 + 2*gt12L*Gt133*gtu13 + - 2*gt22L*Gt233*gtu13 + 4*Gt223*gt23L*gtu13 + 2*Gt122*gt23L*gtu22 + - 2*Gt123*gt23L*gtu23 + gt23L*Xt1L) + Gt122*gt12L*Xt2L + Gt222*gt22L*Xt2L - + gt23L*Gt322*Xt2L + Gt123*gt12L*Xt3L + Gt223*gt22L*Xt3L + - gt23L*Gt323*Xt3L + gt11L*gtu11*SQR(Gt112) + 2*(Gt112*Gt211*gt22L*gtu11 - + Gt112*gt23L*Gt311*gtu11 + Gt113*gt12L*Gt312*gtu11 + - Gt112*gt13L*Gt312*gtu11 + Gt111*Gt122*gt12L*gtu12 + - Gt122*Gt211*gt22L*gtu12 + Gt112*Gt212*gt22L*gtu12 + - Gt223*gt22L*Gt312*gtu12 + Gt112*gt23L*Gt312*gtu12 + - Gt112*gt13L*Gt322*gtu12 + Gt213*gt22L*Gt322*gtu12 + - Gt112*Gt113*gt12L*gtu13 + Gt123*Gt211*gt22L*gtu13 + - Gt112*Gt213*gt22L*gtu13 + Gt112*gt13L*Gt323*gtu13 + - Gt213*gt22L*Gt323*gtu13 + Gt122*Gt212*gt22L*gtu22 + - Gt122*gt13L*Gt322*gtu22 + Gt223*gt22L*Gt322*gtu22 + - gt23L*Gt322*Gt323*gtu22 + gt11L*Gt122*Gt123*gtu23 + - Gt123*gt13L*Gt322*gtu23 + gt22L*Gt233*Gt322*gtu23 + - Gt122*gt13L*Gt323*gtu23 + Gt223*gt22L*Gt323*gtu23 + - gt12L*Gt133*Gt323*gtu33 + Gt123*gt13L*Gt323*gtu33 + - gt22L*Gt233*Gt323*gtu33 + gt12L*gtu12*SQR(Gt112)) + - gt11L*gtu22*SQR(Gt122) + gt11L*gtu33*SQR(Gt123) + - 3*gt22L*gtu11*SQR(Gt212) + 3*gt22L*gtu22*SQR(Gt222) + - 3*gt22L*gtu33*SQR(Gt223) + gt33L*gtu11*SQR(Gt312) + - gt33L*gtu22*SQR(Gt322) + 2*gt23L*gtu23*SQR(Gt323) + - gt33L*gtu33*SQR(Gt323); - - CCTK_REAL Rt23 = khalf*(-(gtu11*PDstandardNth11gt23) - + gt13L*PDstandardNth3Xt3 + Gtl113*Xtn1 + Gtl311*Xtn1 + Gtl123*Xtn2 + + Gtl312*Xtn2 + Gtl133*Xtn3 + Gtl313*Xtn3); + + CCTK_REAL Rt22 = Gt112*(Gtlu121 + 2*Gtlu211) + Gt122*(Gtlu122 + + 2*Gtlu212) + Gt123*(Gtlu123 + 2*Gtlu213) + 3*(Gt212*Gtlu221 + + Gt222*Gtlu222 + Gt223*Gtlu223) + 2*(Gt312*Gtlu231 + Gt322*Gtlu232 + + Gt323*Gtlu233) + Gt312*Gtlu321 + Gt322*Gtlu322 + Gt323*Gtlu323 + + gt12L*PDstandardNth2Xt1 + gt22L*PDstandardNth2Xt2 + + gt23L*PDstandardNth2Xt3 + khalf*(-(gtu11*PDstandardNth11gt22) - + 2*gtu12*PDstandardNth12gt22 - 2*gtu13*PDstandardNth13gt22 - + gtu22*PDstandardNth22gt22 - 2*gtu23*PDstandardNth23gt22 - + gtu33*PDstandardNth33gt22) + Gtl212*Xtn1 + Gtl222*Xtn2 + Gtl223*Xtn3; + + CCTK_REAL Rt23 = khalf*(2*(Gt112*Gtlu131 + Gt122*Gtlu132 + + Gt123*Gtlu133 + Gt113*Gtlu211 + Gt123*Gtlu212 + Gt133*Gtlu213 + + Gt213*Gtlu221 + Gt223*Gtlu222 + Gt233*Gtlu223 + Gt212*Gtlu231 + + Gt313*Gtlu231 + Gt222*Gtlu232 + Gt323*Gtlu232 + Gt223*Gtlu233 + + Gt333*Gtlu233 + Gt112*Gtlu311 + Gt122*Gtlu312 + Gt123*Gtlu313 + + Gt212*Gtlu321 + Gt222*Gtlu322 + Gt223*Gtlu323) + 4*(Gt312*Gtlu331 + + Gt322*Gtlu332 + Gt323*Gtlu333) - gtu11*PDstandardNth11gt23 - 2*gtu12*PDstandardNth12gt23 - 2*gtu13*PDstandardNth13gt23 - gtu22*PDstandardNth22gt23 - 2*gtu23*PDstandardNth23gt23 + gt13L*PDstandardNth2Xt1 + gt23L*PDstandardNth2Xt2 + gt33L*PDstandardNth2Xt3 - gtu33*PDstandardNth33gt23 + gt12L*PDstandardNth3Xt1 + gt22L*PDstandardNth3Xt2 + - gt23L*PDstandardNth3Xt3 + (Gt113*gt12L + Gt213*gt22L + - gt23L*Gt313)*Xt1L + (Gt112*gt13L + Gt212*gt23L + Gt312*gt33L)*Xt1L + - (Gt123*gt12L + Gt223*gt22L + gt23L*Gt323)*Xt2L + (Gt122*gt13L + - Gt222*gt23L + Gt322*gt33L)*Xt2L + (gt12L*Gt133 + gt22L*Gt233 + - gt23L*Gt333)*Xt3L + (Gt123*gt13L + Gt223*gt23L + Gt323*gt33L)*Xt3L + - 2*((Gt112*gt11L*Gt123 + Gt111*Gt123*gt12L + Gt111*Gt122*gt13L + - Gt123*gt12L*Gt212 + Gt112*gt13L*Gt222 + 2*Gt112*gt12L*Gt223 + - Gt123*Gt211*gt22L + 2*Gt212*Gt223*gt22L + Gt122*Gt211*gt23L + - Gt212*Gt222*gt23L + Gt123*gt23L*Gt311 + Gt123*gt13L*Gt312 + - 2*Gt223*gt23L*Gt312 + Gt113*gt13L*Gt322 + Gt213*gt23L*Gt322 + - Gt113*gt12L*Gt323 + Gt112*gt13L*Gt323 + Gt213*gt22L*Gt323 + - Gt212*gt23L*Gt323 + gt23L*Gt313*Gt323 + Gt122*Gt311*gt33L + - Gt222*Gt312*gt33L + Gt313*Gt322*gt33L + Gt312*Gt323*gt33L)*gtu12 + - (Gt112*gt11L*Gt133 + Gt111*gt12L*Gt133 + Gt111*Gt123*gt13L + - gt12L*Gt133*Gt212 + Gt112*gt13L*Gt223 + Gt133*Gt211*gt22L + - 2*Gt112*gt12L*Gt233 + 2*Gt212*gt22L*Gt233 + Gt123*Gt211*gt23L + - Gt212*Gt223*gt23L + Gt133*gt23L*Gt311 + Gt133*gt13L*Gt312 + - 2*Gt233*gt23L*Gt312 + Gt113*gt13L*Gt323 + Gt213*gt23L*Gt323 + - Gt113*gt12L*Gt333 + Gt112*gt13L*Gt333 + Gt213*gt22L*Gt333 + - Gt212*gt23L*Gt333 + gt23L*Gt313*Gt333 + Gt123*Gt311*gt33L + - Gt223*Gt312*gt33L + Gt313*Gt323*gt33L + Gt312*Gt333*gt33L)*gtu13 + - gtu12*(Gt113*gt11L*Gt122 + Gt122*gt13L*Gt212 + 2*Gt122*gt12L*Gt213 + - Gt113*gt12L*Gt222 + Gt113*Gt212*gt22L + 2*Gt213*Gt222*gt22L + - Gt212*Gt222*gt23L + Gt123*gt13L*Gt312 + Gt113*gt23L*Gt312 + - Gt223*gt23L*Gt312 + Gt123*gt12L*Gt313 + Gt122*gt13L*Gt313 + - Gt223*gt22L*Gt313 + Gt222*gt23L*Gt313 + Gt113*gt13L*Gt322 + - 2*Gt213*gt23L*Gt322 + gt23L*Gt313*Gt323 + Gt212*Gt322*gt33L + - Gt313*Gt322*gt33L + Gt312*Gt323*gt33L + Gt112*(Gt113*gt12L + - Gt212*gt23L + Gt312*gt33L) + gt13L*SQR(Gt112))) + - 2*gtu13*(2*Gt213*Gt223*gt22L + Gt112*Gt213*gt23L + Gt212*Gt223*gt23L + - Gt133*gt13L*Gt312 + Gt233*gt23L*Gt312 + gt12L*Gt133*Gt313 + - gt22L*Gt233*Gt313 + Gt223*gt23L*Gt313 + Gt123*(2*gt12L*Gt213 + - gt13L*(Gt212 + Gt313)) + 2*Gt213*gt23L*Gt323 + Gt113*(gt11L*Gt123 + - Gt112*gt13L + gt12L*Gt223 + Gt213*gt22L + gt23L*Gt313 + gt13L*Gt323) + - gt23L*Gt313*Gt333 + Gt112*Gt313*gt33L + Gt212*Gt323*gt33L + - Gt313*Gt323*gt33L + Gt312*Gt333*gt33L + gt12L*SQR(Gt113)) + - 2*gtu11*(Gt112*Gt113*gt11L + Gt111*Gt113*gt12L + Gt111*Gt112*gt13L + - Gt113*gt12L*Gt212 + Gt112*gt13L*Gt212 + 2*Gt112*gt12L*Gt213 + - Gt113*Gt211*gt22L + 2*Gt212*Gt213*gt22L + Gt112*Gt211*gt23L + - Gt113*gt23L*Gt311 + 2*Gt113*gt13L*Gt312 + 3*Gt213*gt23L*Gt312 + - Gt113*gt12L*Gt313 + Gt112*gt13L*Gt313 + Gt213*gt22L*Gt313 + - Gt212*gt23L*Gt313 + Gt112*Gt311*gt33L + Gt212*Gt312*gt33L + - 2*Gt312*Gt313*gt33L + gt23L*SQR(Gt212) + gt23L*SQR(Gt313)) + - 2*gtu22*(gt11L*Gt122*Gt123 + Gt112*Gt123*gt12L + Gt112*Gt122*gt13L + - Gt123*gt12L*Gt222 + Gt122*gt13L*Gt222 + 2*Gt122*gt12L*Gt223 + - Gt123*Gt212*gt22L + 2*Gt222*Gt223*gt22L + Gt122*Gt212*gt23L + - Gt123*gt23L*Gt312 + 2*Gt123*gt13L*Gt322 + 3*Gt223*gt23L*Gt322 + - Gt123*gt12L*Gt323 + Gt122*gt13L*Gt323 + Gt223*gt22L*Gt323 + - Gt222*gt23L*Gt323 + Gt122*Gt312*gt33L + Gt222*Gt322*gt33L + - 2*Gt322*Gt323*gt33L + gt23L*SQR(Gt222) + gt23L*SQR(Gt323)) + - 2*gtu23*(gt11L*Gt122*Gt133 + Gt112*gt12L*Gt133 + Gt112*Gt123*gt13L + - gt12L*Gt133*Gt222 + Gt122*gt13L*Gt223 + Gt133*Gt212*gt22L + - 2*Gt122*gt12L*Gt233 + 2*Gt222*gt22L*Gt233 + Gt123*Gt212*gt23L + - Gt222*Gt223*gt23L + Gt133*gt23L*Gt312 + Gt133*gt13L*Gt322 + - 2*Gt233*gt23L*Gt322 + Gt123*gt13L*Gt323 + Gt223*gt23L*Gt323 + - Gt123*gt12L*Gt333 + Gt122*gt13L*Gt333 + Gt223*gt22L*Gt333 + - Gt222*gt23L*Gt333 + gt23L*Gt323*Gt333 + Gt123*Gt312*gt33L + - Gt223*Gt322*gt33L + Gt322*Gt333*gt33L + gt33L*SQR(Gt323)) + - 2*gtu23*(Gt113*Gt123*gt12L + Gt113*Gt122*gt13L + Gt123*gt13L*Gt222 + - 3*Gt123*gt12L*Gt223 + Gt123*Gt213*gt22L + Gt122*Gt213*gt23L + - Gt222*Gt223*gt23L + Gt123*gt23L*Gt313 + Gt133*gt13L*Gt322 + - Gt233*gt23L*Gt322 + gt12L*Gt133*Gt323 + 2*Gt123*gt13L*Gt323 + - gt22L*Gt233*Gt323 + 3*Gt223*gt23L*Gt323 + gt23L*Gt323*Gt333 + - Gt122*Gt313*gt33L + Gt222*Gt323*gt33L + Gt322*Gt333*gt33L + - gt11L*SQR(Gt123) + 2*gt22L*SQR(Gt223) + gt33L*SQR(Gt323)) + - 2*gtu33*(gt11L*Gt123*Gt133 + Gt113*gt12L*Gt133 + Gt113*Gt123*gt13L + - gt12L*Gt133*Gt223 + Gt123*gt13L*Gt223 + Gt133*Gt213*gt22L + - 2*Gt123*gt12L*Gt233 + 2*Gt223*gt22L*Gt233 + Gt123*Gt213*gt23L + - Gt133*gt23L*Gt313 + 2*Gt133*gt13L*Gt323 + 3*Gt233*gt23L*Gt323 + - gt12L*Gt133*Gt333 + Gt123*gt13L*Gt333 + gt22L*Gt233*Gt333 + - Gt223*gt23L*Gt333 + Gt123*Gt313*gt33L + Gt223*Gt323*gt33L + - 2*Gt323*Gt333*gt33L + gt23L*SQR(Gt223) + gt23L*SQR(Gt333))); - - CCTK_REAL Rt33 = 4*(Gt133*gt13L*Gt313*gtu13 + Gt233*gt23L*Gt313*gtu13 - + Gt113*gt13L*Gt333*gtu13 + Gt213*gt23L*Gt333*gtu13 + - Gt123*gt13L*Gt323*gtu22 + Gt133*gt13L*Gt323*gtu23 + - Gt123*gt13L*Gt333*gtu23 + Gt223*gt23L*Gt333*gtu23 + - Gt133*gt13L*Gt333*gtu33) + gtu12*(2*Gt212*Gt223*gt23L + - 4*Gt123*gt13L*Gt313 + 4*Gt223*gt23L*Gt313 + 4*Gt113*gt13L*Gt323 + - 4*Gt213*gt23L*Gt323 + 2*Gt123*Gt311*gt33L - PDstandardNth12gt33) - - gtu13*PDstandardNth13gt33 - gtu22*khalf*PDstandardNth22gt33 - - gtu23*PDstandardNth23gt33 - gtu33*khalf*PDstandardNth33gt33 + + gt23L*PDstandardNth3Xt3 + Gtl213*Xtn1 + Gtl312*Xtn1 + Gtl223*Xtn2 + + Gtl322*Xtn2 + Gtl233*Xtn3 + Gtl323*Xtn3); + + CCTK_REAL Rt33 = Gt113*(Gtlu131 + 2*Gtlu311) + Gt123*(Gtlu132 + + 2*Gtlu312) + Gt133*(Gtlu133 + 2*Gtlu313) + Gt213*(Gtlu231 + 2*Gtlu321) + + Gt223*(Gtlu232 + 2*Gtlu322) + Gt233*(Gtlu233 + 2*Gtlu323) + + 3*(Gt313*Gtlu331 + Gt323*Gtlu332 + Gt333*Gtlu333) + + khalf*(-(gtu11*PDstandardNth11gt33) - 2*gtu12*PDstandardNth12gt33 - + 2*gtu13*PDstandardNth13gt33 - gtu22*PDstandardNth22gt33 - + 2*gtu23*PDstandardNth23gt33 - gtu33*PDstandardNth33gt33) + gt13L*PDstandardNth3Xt1 + gt23L*PDstandardNth3Xt2 + - gt33L*(2*Gt213*Gt322*gtu12 + 6*Gt313*Gt323*gtu12 + 2*Gt133*Gt311*gtu13 - + 2*Gt213*Gt323*gtu13 + 6*Gt313*Gt333*gtu13 + 2*Gt123*Gt312*gtu22 + - 2*Gt133*Gt312*gtu23 + 2*Gt133*Gt313*gtu33 + PDstandardNth3Xt3) + - Gt113*gt13L*Xt1L + Gt213*gt23L*Xt1L + Gt313*gt33L*Xt1L + - Gt123*gt13L*Xt2L + Gt223*(4*gt23L*Gt323*gtu22 + 2*Gt322*gt33L*gtu22 + - 2*gt12L*Gt133*gtu23 + 2*Gt233*gt23L*gtu33 + gt23L*Xt2L) + - Gt323*(2*Gt223*gt33L*gtu23 + 6*Gt333*gt33L*gtu23 + 2*Gt233*gt33L*gtu33 - + gt33L*Xt2L) + Gt133*gt13L*Xt3L + Gt333*gt33L*Xt3L + - Gt233*(2*Gt222*gt23L*gtu23 + 4*gt23L*Gt323*gtu23 + 2*gt12L*Gt133*gtu33 - + 4*gt23L*Gt333*gtu33 + gt23L*Xt3L) + gtu11*(2*Gt212*Gt213*gt23L + - 4*Gt113*gt13L*Gt313 + 4*Gt213*gt23L*Gt313 + 2*Gt113*Gt311*gt33L + - 2*Gt213*Gt312*gt33L - khalf*PDstandardNth11gt33 + gt11L*SQR(Gt113)) + - 2*(Gt111*Gt113*gt13L*gtu11 + Gt113*gt12L*Gt213*gtu11 + - Gt112*gt13L*Gt213*gtu11 + Gt113*Gt211*gt23L*gtu11 + - Gt113*gt11L*Gt123*gtu12 + Gt112*Gt113*gt13L*gtu12 + - Gt111*Gt123*gt13L*gtu12 + Gt123*gt12L*Gt213*gtu12 + - Gt122*gt13L*Gt213*gtu12 + Gt113*gt12L*Gt223*gtu12 + - Gt112*gt13L*Gt223*gtu12 + Gt213*Gt223*gt22L*gtu12 + - Gt123*Gt211*gt23L*gtu12 + Gt113*Gt212*gt23L*gtu12 + - Gt213*Gt222*gt23L*gtu12 + Gt113*Gt312*gt33L*gtu12 + - Gt223*Gt312*gt33L*gtu12 + Gt113*gt11L*Gt133*gtu13 + - Gt111*Gt133*gt13L*gtu13 + gt12L*Gt133*Gt213*gtu13 + - Gt123*gt13L*Gt213*gtu13 + Gt113*gt12L*Gt233*gtu13 + - Gt112*gt13L*Gt233*gtu13 + Gt213*gt22L*Gt233*gtu13 + - Gt133*Gt211*gt23L*gtu13 + Gt113*Gt213*gt23L*gtu13 + - Gt213*Gt223*gt23L*gtu13 + Gt212*Gt233*gt23L*gtu13 + - Gt233*Gt312*gt33L*gtu13 + Gt113*Gt313*gt33L*gtu13 + - Gt112*Gt123*gt13L*gtu22 + Gt123*gt12L*Gt223*gtu22 + - Gt122*gt13L*Gt223*gtu22 + Gt123*Gt212*gt23L*gtu22 + - Gt222*Gt223*gt23L*gtu22 + gt11L*Gt123*Gt133*gtu23 + - Gt113*Gt123*gt13L*gtu23 + Gt112*Gt133*gt13L*gtu23 + - Gt123*gt13L*Gt223*gtu23 + Gt123*gt12L*Gt233*gtu23 + - Gt122*gt13L*Gt233*gtu23 + Gt223*gt22L*Gt233*gtu23 + - Gt133*Gt212*gt23L*gtu23 + Gt123*Gt213*gt23L*gtu23 + - Gt123*Gt313*gt33L*gtu23 + Gt233*Gt322*gt33L*gtu23 + - Gt113*Gt133*gt13L*gtu33 + Gt123*gt13L*Gt233*gtu33 + - Gt133*Gt213*gt23L*gtu33 + gt13L*gtu13*SQR(Gt113)) + - gt11L*gtu22*SQR(Gt123) + gt11L*gtu33*SQR(Gt133) + - gt22L*gtu11*SQR(Gt213) + gt22L*gtu22*SQR(Gt223) + - 2*gt23L*gtu23*SQR(Gt223) + gt22L*gtu33*SQR(Gt233) + - 3*gt33L*gtu11*SQR(Gt313) + 3*gt33L*gtu22*SQR(Gt323) + - 3*gt33L*gtu33*SQR(Gt333); + gt33L*PDstandardNth3Xt3 + Gtl313*Xtn1 + Gtl323*Xtn2 + Gtl333*Xtn3; CCTK_REAL fac1 = IfThen(conformalMethod,-(khalf*INV(phiL)),1); @@ -893,23 +645,8 @@ void ML_BSSN_O2_constraints1_Body(cGH const * restrict const cctkGH, int const d SQR(Atm22) + SQR(Atm33)) + 0.6666666666666666666666666666666666666667*SQR(trKL); - CCTK_REAL cSL = Log(detgt); - - CCTK_REAL cXt1L = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu12 + - Gt113*gtu13 + Gt123*gtu23) + Gt133*gtu33 - Xt1L; - - CCTK_REAL cXt2L = Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu12 + - Gt213*gtu13 + Gt223*gtu23) + Gt233*gtu33 - Xt2L; - - CCTK_REAL cXt3L = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu12 + - Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33 - Xt3L; - /* Copy local copies back to grid functions */ - cS[index] = cSL; - cXt1[index] = cXt1L; - cXt2[index] = cXt2L; - cXt3[index] = cXt3L; H[index] = HL; } LC_ENDLOOP3 (ML_BSSN_O2_constraints1); diff --git a/ML_BSSN_O2/src/ML_BSSN_O2_constraints2.c b/ML_BSSN_O2/src/ML_BSSN_O2_constraints2.c index 138c802..b2fad30 100644 --- a/ML_BSSN_O2/src/ML_BSSN_O2_constraints2.c +++ b/ML_BSSN_O2/src/ML_BSSN_O2_constraints2.c @@ -26,6 +26,12 @@ void ML_BSSN_O2_constraints2_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_PARAMETERS; CCTK_INT ierr = 0; + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_O2::ML_cons_detg","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_O2::ML_cons_detg."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_O2::ML_cons_Gamma","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_O2::ML_cons_Gamma."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_O2::ML_cons_traceA","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_O2::ML_cons_traceA."); @@ -53,9 +59,6 @@ void ML_BSSN_O2_constraints2_Body(cGH const * restrict const cctkGH, int const d return; } - const char *groups[] = {"ML_BSSN_O2::ML_cons_traceA","ML_BSSN_O2::ML_curv","ML_BSSN_O2::ML_lapse","ML_BSSN_O2::ML_log_confac","ML_BSSN_O2::ML_metric","ML_BSSN_O2::ML_mom","ML_BSSN_O2::ML_shift","ML_BSSN_O2::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O2_constraints2", 8, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -183,6 +186,9 @@ void ML_BSSN_O2_constraints2_Body(cGH const * restrict const cctkGH, int const d CCTK_REAL gt33L = gt33[index]; CCTK_REAL phiL = phi[index]; CCTK_REAL trKL = trK[index]; + CCTK_REAL Xt1L = Xt1[index]; + CCTK_REAL Xt2L = Xt2[index]; + CCTK_REAL Xt3L = Xt3[index]; /* Include user supplied include files */ @@ -245,77 +251,80 @@ void ML_BSSN_O2_constraints2_Body(cGH const * restrict const cctkGH, int const d CCTK_REAL gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L)); - CCTK_REAL Gt111 = khalf*(gtu11*PDstandardNth1gt11 + - 2*(gtu12*PDstandardNth1gt12 + gtu13*PDstandardNth1gt13) - - gtu12*PDstandardNth2gt11 - gtu13*PDstandardNth3gt11); + CCTK_REAL Gtl111 = khalf*PDstandardNth1gt11; + + CCTK_REAL Gtl112 = khalf*PDstandardNth2gt11; + + CCTK_REAL Gtl113 = khalf*PDstandardNth3gt11; + + CCTK_REAL Gtl122 = -(khalf*PDstandardNth1gt22) + PDstandardNth2gt12; + + CCTK_REAL Gtl123 = khalf*(-PDstandardNth1gt23 + PDstandardNth2gt13 + + PDstandardNth3gt12); + + CCTK_REAL Gtl133 = -(khalf*PDstandardNth1gt33) + PDstandardNth3gt13; + + CCTK_REAL Gtl211 = PDstandardNth1gt12 - khalf*PDstandardNth2gt11; + + CCTK_REAL Gtl212 = khalf*PDstandardNth1gt22; + + CCTK_REAL Gtl213 = khalf*(PDstandardNth1gt23 - PDstandardNth2gt13 + + PDstandardNth3gt12); + + CCTK_REAL Gtl222 = khalf*PDstandardNth2gt22; + + CCTK_REAL Gtl223 = khalf*PDstandardNth3gt22; - CCTK_REAL Gt211 = khalf*(gtu12*PDstandardNth1gt11 + - 2*(gtu22*PDstandardNth1gt12 + gtu23*PDstandardNth1gt13) - - gtu22*PDstandardNth2gt11 - gtu23*PDstandardNth3gt11); + CCTK_REAL Gtl233 = -(khalf*PDstandardNth2gt33) + PDstandardNth3gt23; - CCTK_REAL Gt311 = khalf*(gtu13*PDstandardNth1gt11 + - 2*(gtu23*PDstandardNth1gt12 + gtu33*PDstandardNth1gt13) - - gtu23*PDstandardNth2gt11 - gtu33*PDstandardNth3gt11); + CCTK_REAL Gtl311 = PDstandardNth1gt13 - khalf*PDstandardNth3gt11; - CCTK_REAL Gt112 = khalf*(gtu12*PDstandardNth1gt22 + - gtu11*PDstandardNth2gt11 + gtu13*(PDstandardNth1gt23 + - PDstandardNth2gt13 - PDstandardNth3gt12)); + CCTK_REAL Gtl312 = khalf*(PDstandardNth1gt23 + PDstandardNth2gt13 - + PDstandardNth3gt12); - CCTK_REAL Gt212 = khalf*(gtu22*PDstandardNth1gt22 + - gtu12*PDstandardNth2gt11 + gtu23*(PDstandardNth1gt23 + - PDstandardNth2gt13 - PDstandardNth3gt12)); + CCTK_REAL Gtl313 = khalf*PDstandardNth1gt33; - CCTK_REAL Gt312 = khalf*(gtu23*PDstandardNth1gt22 + - gtu13*PDstandardNth2gt11 + gtu33*(PDstandardNth1gt23 + - PDstandardNth2gt13 - PDstandardNth3gt12)); + CCTK_REAL Gtl322 = PDstandardNth2gt23 - khalf*PDstandardNth3gt22; - CCTK_REAL Gt113 = khalf*(gtu13*PDstandardNth1gt33 + - gtu11*PDstandardNth3gt11 + gtu12*(PDstandardNth1gt23 - - PDstandardNth2gt13 + PDstandardNth3gt12)); + CCTK_REAL Gtl323 = khalf*PDstandardNth2gt33; - CCTK_REAL Gt213 = khalf*(gtu23*PDstandardNth1gt33 + - gtu12*PDstandardNth3gt11 + gtu22*(PDstandardNth1gt23 - - PDstandardNth2gt13 + PDstandardNth3gt12)); + CCTK_REAL Gtl333 = khalf*PDstandardNth3gt33; - CCTK_REAL Gt313 = khalf*(gtu33*PDstandardNth1gt33 + - gtu13*PDstandardNth3gt11 + gtu23*(PDstandardNth1gt23 - - PDstandardNth2gt13 + PDstandardNth3gt12)); + CCTK_REAL Gt111 = Gtl111*gtu11 + Gtl211*gtu12 + Gtl311*gtu13; - CCTK_REAL Gt122 = khalf*(gtu11*(-PDstandardNth1gt22 + - 2*PDstandardNth2gt12) + gtu12*PDstandardNth2gt22 + - gtu13*(2*PDstandardNth2gt23 - PDstandardNth3gt22)); + CCTK_REAL Gt211 = Gtl111*gtu12 + Gtl211*gtu22 + Gtl311*gtu23; - CCTK_REAL Gt222 = khalf*(gtu12*(-PDstandardNth1gt22 + - 2*PDstandardNth2gt12) + gtu22*PDstandardNth2gt22 + - gtu23*(2*PDstandardNth2gt23 - PDstandardNth3gt22)); + CCTK_REAL Gt311 = Gtl111*gtu13 + Gtl211*gtu23 + Gtl311*gtu33; - CCTK_REAL Gt322 = khalf*(gtu13*(-PDstandardNth1gt22 + - 2*PDstandardNth2gt12) + gtu23*PDstandardNth2gt22 + - gtu33*(2*PDstandardNth2gt23 - PDstandardNth3gt22)); + CCTK_REAL Gt112 = Gtl112*gtu11 + Gtl212*gtu12 + Gtl312*gtu13; - CCTK_REAL Gt123 = khalf*(gtu13*PDstandardNth2gt33 + - gtu11*(-PDstandardNth1gt23 + PDstandardNth2gt13 + PDstandardNth3gt12) + - gtu12*PDstandardNth3gt22); + CCTK_REAL Gt212 = Gtl112*gtu12 + Gtl212*gtu22 + Gtl312*gtu23; - CCTK_REAL Gt223 = khalf*(gtu23*PDstandardNth2gt33 + - gtu12*(-PDstandardNth1gt23 + PDstandardNth2gt13 + PDstandardNth3gt12) + - gtu22*PDstandardNth3gt22); + CCTK_REAL Gt312 = Gtl112*gtu13 + Gtl212*gtu23 + Gtl312*gtu33; - CCTK_REAL Gt323 = khalf*(gtu33*PDstandardNth2gt33 + - gtu13*(-PDstandardNth1gt23 + PDstandardNth2gt13 + PDstandardNth3gt12) + - gtu23*PDstandardNth3gt22); + CCTK_REAL Gt113 = Gtl113*gtu11 + Gtl213*gtu12 + Gtl313*gtu13; - CCTK_REAL Gt133 = khalf*(-(gtu11*PDstandardNth1gt33) - - gtu12*PDstandardNth2gt33 + 2*gtu11*PDstandardNth3gt13 + - 2*gtu12*PDstandardNth3gt23 + gtu13*PDstandardNth3gt33); + CCTK_REAL Gt213 = Gtl113*gtu12 + Gtl213*gtu22 + Gtl313*gtu23; - CCTK_REAL Gt233 = khalf*(-(gtu12*PDstandardNth1gt33) - - gtu22*PDstandardNth2gt33 + 2*gtu12*PDstandardNth3gt13 + - 2*gtu22*PDstandardNth3gt23 + gtu23*PDstandardNth3gt33); + CCTK_REAL Gt313 = Gtl113*gtu13 + Gtl213*gtu23 + Gtl313*gtu33; - CCTK_REAL Gt333 = khalf*(-(gtu13*PDstandardNth1gt33) - - gtu23*PDstandardNth2gt33 + 2*gtu13*PDstandardNth3gt13 + - 2*gtu23*PDstandardNth3gt23 + gtu33*PDstandardNth3gt33); + CCTK_REAL Gt122 = Gtl122*gtu11 + Gtl222*gtu12 + Gtl322*gtu13; + + CCTK_REAL Gt222 = Gtl122*gtu12 + Gtl222*gtu22 + Gtl322*gtu23; + + CCTK_REAL Gt322 = Gtl122*gtu13 + Gtl222*gtu23 + Gtl322*gtu33; + + CCTK_REAL Gt123 = Gtl123*gtu11 + Gtl223*gtu12 + Gtl323*gtu13; + + CCTK_REAL Gt223 = Gtl123*gtu12 + Gtl223*gtu22 + Gtl323*gtu23; + + CCTK_REAL Gt323 = Gtl123*gtu13 + Gtl223*gtu23 + Gtl323*gtu33; + + CCTK_REAL Gt133 = Gtl133*gtu11 + Gtl233*gtu12 + Gtl333*gtu13; + + CCTK_REAL Gt233 = Gtl133*gtu12 + Gtl233*gtu22 + Gtl333*gtu23; + + CCTK_REAL Gt333 = Gtl133*gtu13 + Gtl233*gtu23 + Gtl333*gtu33; CCTK_REAL fac1 = IfThen(conformalMethod,-(khalf*INV(phiL)),1); @@ -389,12 +398,27 @@ void ML_BSSN_O2_constraints2_Body(cGH const * restrict const cctkGH, int const d 0.6666666666666666666666666666666666666667*PDstandardNth3trK - 25.13274122871834590770114706623602307358*S3; + CCTK_REAL cSL = Log(detgt); + + CCTK_REAL cXt1L = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu12 + + Gt113*gtu13 + Gt123*gtu23) + Gt133*gtu33 - Xt1L; + + CCTK_REAL cXt2L = Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu12 + + Gt213*gtu13 + Gt223*gtu23) + Gt233*gtu33 - Xt2L; + + CCTK_REAL cXt3L = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu12 + + Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33 - Xt3L; + CCTK_REAL cAL = At11L*gtu11 + At22L*gtu22 + 2*(At12L*gtu12 + At13L*gtu13 + At23L*gtu23) + At33L*gtu33; /* Copy local copies back to grid functions */ cA[index] = cAL; + cS[index] = cSL; + cXt1[index] = cXt1L; + cXt2[index] = cXt2L; + cXt3[index] = cXt3L; M1[index] = M1L; M2[index] = M2L; M3[index] = M3L; diff --git a/ML_BSSN_O2/src/ML_BSSN_O2_convertFromADMBase.c b/ML_BSSN_O2/src/ML_BSSN_O2_convertFromADMBase.c index 89fffbe..2105acd 100644 --- a/ML_BSSN_O2/src/ML_BSSN_O2_convertFromADMBase.c +++ b/ML_BSSN_O2/src/ML_BSSN_O2_convertFromADMBase.c @@ -38,9 +38,6 @@ void ML_BSSN_O2_convertFromADMBase_Body(cGH const * restrict const cctkGH, int c return; } - const char *groups[] = {"ADMBase::curv","ADMBase::lapse","ADMBase::metric","ADMBase::shift","ML_BSSN_O2::ML_curv","ML_BSSN_O2::ML_lapse","ML_BSSN_O2::ML_log_confac","ML_BSSN_O2::ML_metric","ML_BSSN_O2::ML_shift","ML_BSSN_O2::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O2_convertFromADMBase", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_O2/src/ML_BSSN_O2_convertFromADMBaseGamma.c b/ML_BSSN_O2/src/ML_BSSN_O2_convertFromADMBaseGamma.c index 6de4e2b..621775e 100644 --- a/ML_BSSN_O2/src/ML_BSSN_O2_convertFromADMBaseGamma.c +++ b/ML_BSSN_O2/src/ML_BSSN_O2_convertFromADMBaseGamma.c @@ -56,9 +56,6 @@ void ML_BSSN_O2_convertFromADMBaseGamma_Body(cGH const * restrict const cctkGH, return; } - const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","grid::coordinates","Grid::coordinates","ML_BSSN_O2::ML_dtlapse","ML_BSSN_O2::ML_dtshift","ML_BSSN_O2::ML_Gamma","ML_BSSN_O2::ML_lapse","ML_BSSN_O2::ML_metric","ML_BSSN_O2::ML_shift"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O2_convertFromADMBaseGamma", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_O2/src/ML_BSSN_O2_convertToADMBase.c b/ML_BSSN_O2/src/ML_BSSN_O2_convertToADMBase.c index 428bb4b..1246709 100644 --- a/ML_BSSN_O2/src/ML_BSSN_O2_convertToADMBase.c +++ b/ML_BSSN_O2/src/ML_BSSN_O2_convertToADMBase.c @@ -38,9 +38,6 @@ void ML_BSSN_O2_convertToADMBase_Body(cGH const * restrict const cctkGH, int con return; } - const char *groups[] = {"ADMBase::curv","ADMBase::lapse","ADMBase::metric","ADMBase::shift","ML_BSSN_O2::ML_curv","ML_BSSN_O2::ML_lapse","ML_BSSN_O2::ML_log_confac","ML_BSSN_O2::ML_metric","ML_BSSN_O2::ML_shift","ML_BSSN_O2::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O2_convertToADMBase", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_O2/src/ML_BSSN_O2_convertToADMBaseDtLapseShift.c b/ML_BSSN_O2/src/ML_BSSN_O2_convertToADMBaseDtLapseShift.c index 3caadf8..0c60b1c 100644 --- a/ML_BSSN_O2/src/ML_BSSN_O2_convertToADMBaseDtLapseShift.c +++ b/ML_BSSN_O2/src/ML_BSSN_O2_convertToADMBaseDtLapseShift.c @@ -53,9 +53,6 @@ void ML_BSSN_O2_convertToADMBaseDtLapseShift_Body(cGH const * restrict const cct return; } - const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","grid::coordinates","Grid::coordinates","ML_BSSN_O2::ML_dtlapse","ML_BSSN_O2::ML_dtshift","ML_BSSN_O2::ML_Gamma","ML_BSSN_O2::ML_lapse","ML_BSSN_O2::ML_shift","ML_BSSN_O2::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O2_convertToADMBaseDtLapseShift", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_O2/src/ML_BSSN_O2_convertToADMBaseDtLapseShiftBoundary.c b/ML_BSSN_O2/src/ML_BSSN_O2_convertToADMBaseDtLapseShiftBoundary.c index 75fcd05..7ca2d42 100644 --- a/ML_BSSN_O2/src/ML_BSSN_O2_convertToADMBaseDtLapseShiftBoundary.c +++ b/ML_BSSN_O2/src/ML_BSSN_O2_convertToADMBaseDtLapseShiftBoundary.c @@ -53,9 +53,6 @@ void ML_BSSN_O2_convertToADMBaseDtLapseShiftBoundary_Body(cGH const * restrict c return; } - const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","grid::coordinates","Grid::coordinates","ML_BSSN_O2::ML_dtlapse","ML_BSSN_O2::ML_dtshift","ML_BSSN_O2::ML_Gamma","ML_BSSN_O2::ML_lapse","ML_BSSN_O2::ML_shift","ML_BSSN_O2::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O2_convertToADMBaseDtLapseShiftBoundary", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_O2/src/ML_BSSN_O2_convertToADMBaseFakeDtLapseShift.c b/ML_BSSN_O2/src/ML_BSSN_O2_convertToADMBaseFakeDtLapseShift.c index 8108145..3b57c9d 100644 --- a/ML_BSSN_O2/src/ML_BSSN_O2_convertToADMBaseFakeDtLapseShift.c +++ b/ML_BSSN_O2/src/ML_BSSN_O2_convertToADMBaseFakeDtLapseShift.c @@ -38,9 +38,6 @@ void ML_BSSN_O2_convertToADMBaseFakeDtLapseShift_Body(cGH const * restrict const return; } - const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","grid::coordinates","Grid::coordinates","ML_BSSN_O2::ML_dtlapse","ML_BSSN_O2::ML_dtshift","ML_BSSN_O2::ML_Gamma","ML_BSSN_O2::ML_lapse","ML_BSSN_O2::ML_shift","ML_BSSN_O2::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O2_convertToADMBaseFakeDtLapseShift", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_O2/src/ML_BSSN_O2_enforce.c b/ML_BSSN_O2/src/ML_BSSN_O2_enforce.c index 0eaf843..4a84b3b 100644 --- a/ML_BSSN_O2/src/ML_BSSN_O2_enforce.c +++ b/ML_BSSN_O2/src/ML_BSSN_O2_enforce.c @@ -38,9 +38,6 @@ void ML_BSSN_O2_enforce_Body(cGH const * restrict const cctkGH, int const dir, i return; } - const char *groups[] = {"ML_BSSN_O2::ML_curv","ML_BSSN_O2::ML_lapse","ML_BSSN_O2::ML_metric"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O2_enforce", 3, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_O2_Helper/schedule.ccl b/ML_BSSN_O2_Helper/schedule.ccl index 870a1f0..c308dcc 100644 --- a/ML_BSSN_O2_Helper/schedule.ccl +++ b/ML_BSSN_O2_Helper/schedule.ccl @@ -139,15 +139,15 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN_O2")) { } else if (CCTK_EQUALS (calculate_ADMBase_variables_at, "CCTK_ANALYSIS")) { + SCHEDULE GROUP ML_BSSN_O2_convertToADMBaseGroupWrapper AT post_recover_variables + { + } "Calculate ADM variables" + SCHEDULE GROUP ML_BSSN_O2_convertToADMBaseGroupWrapper AT analysis BEFORE (ADMBase_SetADMVars Whisky_PostStep) { } "Calculate ADM variables" } - SCHEDULE GROUP ML_BSSN_O2_convertToADMBaseGroupWrapper AT post_recover_variables - { - } "Calculate ADM variables" - SCHEDULE ML_BSSN_O2_SelectBCsADMBase IN ML_BSSN_O2_convertToADMBaseGroupWrapper AFTER ML_BSSN_O2_convertToADMBaseGroup { LANG: C diff --git a/ML_BSSN_O8/param.ccl b/ML_BSSN_O8/param.ccl index fea58fc..5492bfe 100644 --- a/ML_BSSN_O8/param.ccl +++ b/ML_BSSN_O8/param.ccl @@ -37,11 +37,6 @@ EXTENDS CCTK_KEYWORD dtshift_evolution_method "dtshift_evolution_method" shares: GenericFD -USES CCTK_INT stencil_width -USES CCTK_INT stencil_width_x -USES CCTK_INT stencil_width_y -USES CCTK_INT stencil_width_z -USES CCTK_INT boundary_width shares: MethodOfLines @@ -49,7 +44,7 @@ shares: MethodOfLines USES CCTK_INT MoL_Num_Evolved_Vars restricted: -CCTK_INT verbose "verbose" +CCTK_INT verbose "verbose" STEERABLE=ALWAYS { *:* :: "" } 0 @@ -195,193 +190,193 @@ KEYWORD dt_lapse_shift_method "Treatment of ADMBase dtlapse and dtshift" } "correct" restricted: -CCTK_INT ML_BSSN_O8_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars +CCTK_INT ML_BSSN_O8_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars STEERABLE=RECOVER { 25:25 :: "Number of evolved variables used by this thorn" } 25 restricted: -CCTK_INT timelevels "Number of active timelevels" +CCTK_INT timelevels "Number of active timelevels" STEERABLE=RECOVER { 0:3 :: "" } 3 restricted: -CCTK_INT rhs_timelevels "Number of active RHS timelevels" +CCTK_INT rhs_timelevels "Number of active RHS timelevels" STEERABLE=RECOVER { 0:3 :: "" } 1 restricted: -CCTK_INT ML_BSSN_O8_Minkowski_calc_every "ML_BSSN_O8_Minkowski_calc_every" +CCTK_INT ML_BSSN_O8_Minkowski_calc_every "ML_BSSN_O8_Minkowski_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O8_convertFromADMBase_calc_every "ML_BSSN_O8_convertFromADMBase_calc_every" +CCTK_INT ML_BSSN_O8_convertFromADMBase_calc_every "ML_BSSN_O8_convertFromADMBase_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O8_convertFromADMBaseGamma_calc_every "ML_BSSN_O8_convertFromADMBaseGamma_calc_every" +CCTK_INT ML_BSSN_O8_convertFromADMBaseGamma_calc_every "ML_BSSN_O8_convertFromADMBaseGamma_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O8_RHS1_calc_every "ML_BSSN_O8_RHS1_calc_every" +CCTK_INT ML_BSSN_O8_RHS1_calc_every "ML_BSSN_O8_RHS1_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O8_RHS2_calc_every "ML_BSSN_O8_RHS2_calc_every" +CCTK_INT ML_BSSN_O8_RHS2_calc_every "ML_BSSN_O8_RHS2_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O8_RHSStaticBoundary_calc_every "ML_BSSN_O8_RHSStaticBoundary_calc_every" +CCTK_INT ML_BSSN_O8_RHSStaticBoundary_calc_every "ML_BSSN_O8_RHSStaticBoundary_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O8_enforce_calc_every "ML_BSSN_O8_enforce_calc_every" +CCTK_INT ML_BSSN_O8_enforce_calc_every "ML_BSSN_O8_enforce_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O8_boundary_calc_every "ML_BSSN_O8_boundary_calc_every" +CCTK_INT ML_BSSN_O8_boundary_calc_every "ML_BSSN_O8_boundary_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O8_convertToADMBase_calc_every "ML_BSSN_O8_convertToADMBase_calc_every" +CCTK_INT ML_BSSN_O8_convertToADMBase_calc_every "ML_BSSN_O8_convertToADMBase_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O8_convertToADMBaseDtLapseShift_calc_every "ML_BSSN_O8_convertToADMBaseDtLapseShift_calc_every" +CCTK_INT ML_BSSN_O8_convertToADMBaseDtLapseShift_calc_every "ML_BSSN_O8_convertToADMBaseDtLapseShift_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O8_convertToADMBaseDtLapseShiftBoundary_calc_every "ML_BSSN_O8_convertToADMBaseDtLapseShiftBoundary_calc_every" +CCTK_INT ML_BSSN_O8_convertToADMBaseDtLapseShiftBoundary_calc_every "ML_BSSN_O8_convertToADMBaseDtLapseShiftBoundary_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O8_convertToADMBaseFakeDtLapseShift_calc_every "ML_BSSN_O8_convertToADMBaseFakeDtLapseShift_calc_every" +CCTK_INT ML_BSSN_O8_convertToADMBaseFakeDtLapseShift_calc_every "ML_BSSN_O8_convertToADMBaseFakeDtLapseShift_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O8_constraints1_calc_every "ML_BSSN_O8_constraints1_calc_every" +CCTK_INT ML_BSSN_O8_constraints1_calc_every "ML_BSSN_O8_constraints1_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O8_constraints2_calc_every "ML_BSSN_O8_constraints2_calc_every" +CCTK_INT ML_BSSN_O8_constraints2_calc_every "ML_BSSN_O8_constraints2_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_O8_Minkowski_calc_offset "ML_BSSN_O8_Minkowski_calc_offset" +CCTK_INT ML_BSSN_O8_Minkowski_calc_offset "ML_BSSN_O8_Minkowski_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_O8_convertFromADMBase_calc_offset "ML_BSSN_O8_convertFromADMBase_calc_offset" +CCTK_INT ML_BSSN_O8_convertFromADMBase_calc_offset "ML_BSSN_O8_convertFromADMBase_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_O8_convertFromADMBaseGamma_calc_offset "ML_BSSN_O8_convertFromADMBaseGamma_calc_offset" +CCTK_INT ML_BSSN_O8_convertFromADMBaseGamma_calc_offset "ML_BSSN_O8_convertFromADMBaseGamma_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_O8_RHS1_calc_offset "ML_BSSN_O8_RHS1_calc_offset" +CCTK_INT ML_BSSN_O8_RHS1_calc_offset "ML_BSSN_O8_RHS1_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_O8_RHS2_calc_offset "ML_BSSN_O8_RHS2_calc_offset" +CCTK_INT ML_BSSN_O8_RHS2_calc_offset "ML_BSSN_O8_RHS2_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_O8_RHSStaticBoundary_calc_offset "ML_BSSN_O8_RHSStaticBoundary_calc_offset" +CCTK_INT ML_BSSN_O8_RHSStaticBoundary_calc_offset "ML_BSSN_O8_RHSStaticBoundary_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_O8_enforce_calc_offset "ML_BSSN_O8_enforce_calc_offset" +CCTK_INT ML_BSSN_O8_enforce_calc_offset "ML_BSSN_O8_enforce_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_O8_boundary_calc_offset "ML_BSSN_O8_boundary_calc_offset" +CCTK_INT ML_BSSN_O8_boundary_calc_offset "ML_BSSN_O8_boundary_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_O8_convertToADMBase_calc_offset "ML_BSSN_O8_convertToADMBase_calc_offset" +CCTK_INT ML_BSSN_O8_convertToADMBase_calc_offset "ML_BSSN_O8_convertToADMBase_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_O8_convertToADMBaseDtLapseShift_calc_offset "ML_BSSN_O8_convertToADMBaseDtLapseShift_calc_offset" +CCTK_INT ML_BSSN_O8_convertToADMBaseDtLapseShift_calc_offset "ML_BSSN_O8_convertToADMBaseDtLapseShift_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_O8_convertToADMBaseDtLapseShiftBoundary_calc_offset "ML_BSSN_O8_convertToADMBaseDtLapseShiftBoundary_calc_offset" +CCTK_INT ML_BSSN_O8_convertToADMBaseDtLapseShiftBoundary_calc_offset "ML_BSSN_O8_convertToADMBaseDtLapseShiftBoundary_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_O8_convertToADMBaseFakeDtLapseShift_calc_offset "ML_BSSN_O8_convertToADMBaseFakeDtLapseShift_calc_offset" +CCTK_INT ML_BSSN_O8_convertToADMBaseFakeDtLapseShift_calc_offset "ML_BSSN_O8_convertToADMBaseFakeDtLapseShift_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_O8_constraints1_calc_offset "ML_BSSN_O8_constraints1_calc_offset" +CCTK_INT ML_BSSN_O8_constraints1_calc_offset "ML_BSSN_O8_constraints1_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_O8_constraints2_calc_offset "ML_BSSN_O8_constraints2_calc_offset" +CCTK_INT ML_BSSN_O8_constraints2_calc_offset "ML_BSSN_O8_constraints2_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 private: -KEYWORD At11_bound "Boundary condition to implement" +KEYWORD At11_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -393,7 +388,7 @@ KEYWORD At11_bound "Boundary condition to implement" } "skip" private: -KEYWORD At12_bound "Boundary condition to implement" +KEYWORD At12_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -405,7 +400,7 @@ KEYWORD At12_bound "Boundary condition to implement" } "skip" private: -KEYWORD At13_bound "Boundary condition to implement" +KEYWORD At13_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -417,7 +412,7 @@ KEYWORD At13_bound "Boundary condition to implement" } "skip" private: -KEYWORD At22_bound "Boundary condition to implement" +KEYWORD At22_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -429,7 +424,7 @@ KEYWORD At22_bound "Boundary condition to implement" } "skip" private: -KEYWORD At23_bound "Boundary condition to implement" +KEYWORD At23_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -441,7 +436,7 @@ KEYWORD At23_bound "Boundary condition to implement" } "skip" private: -KEYWORD At33_bound "Boundary condition to implement" +KEYWORD At33_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -453,7 +448,7 @@ KEYWORD At33_bound "Boundary condition to implement" } "skip" private: -KEYWORD A_bound "Boundary condition to implement" +KEYWORD A_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -465,7 +460,7 @@ KEYWORD A_bound "Boundary condition to implement" } "skip" private: -KEYWORD B1_bound "Boundary condition to implement" +KEYWORD B1_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -477,7 +472,7 @@ KEYWORD B1_bound "Boundary condition to implement" } "skip" private: -KEYWORD B2_bound "Boundary condition to implement" +KEYWORD B2_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -489,7 +484,7 @@ KEYWORD B2_bound "Boundary condition to implement" } "skip" private: -KEYWORD B3_bound "Boundary condition to implement" +KEYWORD B3_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -501,7 +496,7 @@ KEYWORD B3_bound "Boundary condition to implement" } "skip" private: -KEYWORD Xt1_bound "Boundary condition to implement" +KEYWORD Xt1_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -513,7 +508,7 @@ KEYWORD Xt1_bound "Boundary condition to implement" } "skip" private: -KEYWORD Xt2_bound "Boundary condition to implement" +KEYWORD Xt2_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -525,7 +520,7 @@ KEYWORD Xt2_bound "Boundary condition to implement" } "skip" private: -KEYWORD Xt3_bound "Boundary condition to implement" +KEYWORD Xt3_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -537,7 +532,7 @@ KEYWORD Xt3_bound "Boundary condition to implement" } "skip" private: -KEYWORD alpha_bound "Boundary condition to implement" +KEYWORD alpha_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -549,7 +544,7 @@ KEYWORD alpha_bound "Boundary condition to implement" } "skip" private: -KEYWORD phi_bound "Boundary condition to implement" +KEYWORD phi_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -561,7 +556,7 @@ KEYWORD phi_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt11_bound "Boundary condition to implement" +KEYWORD gt11_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -573,7 +568,7 @@ KEYWORD gt11_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt12_bound "Boundary condition to implement" +KEYWORD gt12_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -585,7 +580,7 @@ KEYWORD gt12_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt13_bound "Boundary condition to implement" +KEYWORD gt13_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -597,7 +592,7 @@ KEYWORD gt13_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt22_bound "Boundary condition to implement" +KEYWORD gt22_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -609,7 +604,7 @@ KEYWORD gt22_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt23_bound "Boundary condition to implement" +KEYWORD gt23_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -621,7 +616,7 @@ KEYWORD gt23_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt33_bound "Boundary condition to implement" +KEYWORD gt33_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -633,7 +628,7 @@ KEYWORD gt33_bound "Boundary condition to implement" } "skip" private: -KEYWORD beta1_bound "Boundary condition to implement" +KEYWORD beta1_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -645,7 +640,7 @@ KEYWORD beta1_bound "Boundary condition to implement" } "skip" private: -KEYWORD beta2_bound "Boundary condition to implement" +KEYWORD beta2_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -657,7 +652,7 @@ KEYWORD beta2_bound "Boundary condition to implement" } "skip" private: -KEYWORD beta3_bound "Boundary condition to implement" +KEYWORD beta3_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -669,7 +664,7 @@ KEYWORD beta3_bound "Boundary condition to implement" } "skip" private: -KEYWORD trK_bound "Boundary condition to implement" +KEYWORD trK_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -681,7 +676,7 @@ KEYWORD trK_bound "Boundary condition to implement" } "skip" private: -KEYWORD ML_curv_bound "Boundary condition to implement" +KEYWORD ML_curv_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -690,10 +685,10 @@ KEYWORD ML_curv_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_dtlapse_bound "Boundary condition to implement" +KEYWORD ML_dtlapse_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -702,10 +697,10 @@ KEYWORD ML_dtlapse_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_dtshift_bound "Boundary condition to implement" +KEYWORD ML_dtshift_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -714,10 +709,10 @@ KEYWORD ML_dtshift_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_Gamma_bound "Boundary condition to implement" +KEYWORD ML_Gamma_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -726,10 +721,10 @@ KEYWORD ML_Gamma_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_lapse_bound "Boundary condition to implement" +KEYWORD ML_lapse_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -738,10 +733,10 @@ KEYWORD ML_lapse_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_log_confac_bound "Boundary condition to implement" +KEYWORD ML_log_confac_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -750,10 +745,10 @@ KEYWORD ML_log_confac_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_metric_bound "Boundary condition to implement" +KEYWORD ML_metric_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -762,10 +757,10 @@ KEYWORD ML_metric_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_shift_bound "Boundary condition to implement" +KEYWORD ML_shift_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -774,10 +769,10 @@ KEYWORD ML_shift_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_trace_curv_bound "Boundary condition to implement" +KEYWORD ML_trace_curv_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -786,616 +781,616 @@ KEYWORD ML_trace_curv_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -CCTK_REAL At11_bound_speed "characteristic speed at boundary" +CCTK_REAL At11_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At12_bound_speed "characteristic speed at boundary" +CCTK_REAL At12_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At13_bound_speed "characteristic speed at boundary" +CCTK_REAL At13_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At22_bound_speed "characteristic speed at boundary" +CCTK_REAL At22_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At23_bound_speed "characteristic speed at boundary" +CCTK_REAL At23_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At33_bound_speed "characteristic speed at boundary" +CCTK_REAL At33_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL A_bound_speed "characteristic speed at boundary" +CCTK_REAL A_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL B1_bound_speed "characteristic speed at boundary" +CCTK_REAL B1_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL B2_bound_speed "characteristic speed at boundary" +CCTK_REAL B2_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL B3_bound_speed "characteristic speed at boundary" +CCTK_REAL B3_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL Xt1_bound_speed "characteristic speed at boundary" +CCTK_REAL Xt1_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL Xt2_bound_speed "characteristic speed at boundary" +CCTK_REAL Xt2_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL Xt3_bound_speed "characteristic speed at boundary" +CCTK_REAL Xt3_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL alpha_bound_speed "characteristic speed at boundary" +CCTK_REAL alpha_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL phi_bound_speed "characteristic speed at boundary" +CCTK_REAL phi_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt11_bound_speed "characteristic speed at boundary" +CCTK_REAL gt11_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt12_bound_speed "characteristic speed at boundary" +CCTK_REAL gt12_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt13_bound_speed "characteristic speed at boundary" +CCTK_REAL gt13_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt22_bound_speed "characteristic speed at boundary" +CCTK_REAL gt22_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt23_bound_speed "characteristic speed at boundary" +CCTK_REAL gt23_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt33_bound_speed "characteristic speed at boundary" +CCTK_REAL gt33_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL beta1_bound_speed "characteristic speed at boundary" +CCTK_REAL beta1_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL beta2_bound_speed "characteristic speed at boundary" +CCTK_REAL beta2_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL beta3_bound_speed "characteristic speed at boundary" +CCTK_REAL beta3_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL trK_bound_speed "characteristic speed at boundary" +CCTK_REAL trK_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_curv_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_curv_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_dtlapse_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_dtlapse_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_dtshift_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_dtshift_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_Gamma_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_Gamma_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_lapse_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_lapse_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_log_confac_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_log_confac_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_metric_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_metric_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_shift_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_shift_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_trace_curv_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_trace_curv_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At11_bound_limit "limit value for r -> infinity" +CCTK_REAL At11_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At12_bound_limit "limit value for r -> infinity" +CCTK_REAL At12_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At13_bound_limit "limit value for r -> infinity" +CCTK_REAL At13_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At22_bound_limit "limit value for r -> infinity" +CCTK_REAL At22_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At23_bound_limit "limit value for r -> infinity" +CCTK_REAL At23_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At33_bound_limit "limit value for r -> infinity" +CCTK_REAL At33_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL A_bound_limit "limit value for r -> infinity" +CCTK_REAL A_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL B1_bound_limit "limit value for r -> infinity" +CCTK_REAL B1_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL B2_bound_limit "limit value for r -> infinity" +CCTK_REAL B2_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL B3_bound_limit "limit value for r -> infinity" +CCTK_REAL B3_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL Xt1_bound_limit "limit value for r -> infinity" +CCTK_REAL Xt1_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL Xt2_bound_limit "limit value for r -> infinity" +CCTK_REAL Xt2_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL Xt3_bound_limit "limit value for r -> infinity" +CCTK_REAL Xt3_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL alpha_bound_limit "limit value for r -> infinity" +CCTK_REAL alpha_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL phi_bound_limit "limit value for r -> infinity" +CCTK_REAL phi_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt11_bound_limit "limit value for r -> infinity" +CCTK_REAL gt11_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt12_bound_limit "limit value for r -> infinity" +CCTK_REAL gt12_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt13_bound_limit "limit value for r -> infinity" +CCTK_REAL gt13_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt22_bound_limit "limit value for r -> infinity" +CCTK_REAL gt22_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt23_bound_limit "limit value for r -> infinity" +CCTK_REAL gt23_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt33_bound_limit "limit value for r -> infinity" +CCTK_REAL gt33_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL beta1_bound_limit "limit value for r -> infinity" +CCTK_REAL beta1_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL beta2_bound_limit "limit value for r -> infinity" +CCTK_REAL beta2_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL beta3_bound_limit "limit value for r -> infinity" +CCTK_REAL beta3_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL trK_bound_limit "limit value for r -> infinity" +CCTK_REAL trK_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_curv_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_curv_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_dtlapse_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_dtlapse_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_dtshift_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_dtshift_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_Gamma_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_Gamma_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_lapse_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_lapse_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_log_confac_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_log_confac_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_metric_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_metric_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_shift_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_shift_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_trace_curv_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_trace_curv_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At11_bound_scalar "Dirichlet boundary value" +CCTK_REAL At11_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At12_bound_scalar "Dirichlet boundary value" +CCTK_REAL At12_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At13_bound_scalar "Dirichlet boundary value" +CCTK_REAL At13_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At22_bound_scalar "Dirichlet boundary value" +CCTK_REAL At22_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At23_bound_scalar "Dirichlet boundary value" +CCTK_REAL At23_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At33_bound_scalar "Dirichlet boundary value" +CCTK_REAL At33_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL A_bound_scalar "Dirichlet boundary value" +CCTK_REAL A_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL B1_bound_scalar "Dirichlet boundary value" +CCTK_REAL B1_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL B2_bound_scalar "Dirichlet boundary value" +CCTK_REAL B2_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL B3_bound_scalar "Dirichlet boundary value" +CCTK_REAL B3_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL Xt1_bound_scalar "Dirichlet boundary value" +CCTK_REAL Xt1_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL Xt2_bound_scalar "Dirichlet boundary value" +CCTK_REAL Xt2_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL Xt3_bound_scalar "Dirichlet boundary value" +CCTK_REAL Xt3_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL alpha_bound_scalar "Dirichlet boundary value" +CCTK_REAL alpha_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL phi_bound_scalar "Dirichlet boundary value" +CCTK_REAL phi_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt11_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt11_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt12_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt12_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt13_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt13_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt22_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt22_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt23_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt23_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt33_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt33_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL beta1_bound_scalar "Dirichlet boundary value" +CCTK_REAL beta1_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL beta2_bound_scalar "Dirichlet boundary value" +CCTK_REAL beta2_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL beta3_bound_scalar "Dirichlet boundary value" +CCTK_REAL beta3_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL trK_bound_scalar "Dirichlet boundary value" +CCTK_REAL trK_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_curv_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_curv_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_dtlapse_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_dtlapse_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_dtshift_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_dtshift_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_Gamma_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_Gamma_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_lapse_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_lapse_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_log_confac_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_log_confac_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_metric_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_metric_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_shift_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_shift_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_trace_curv_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_trace_curv_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. diff --git a/ML_BSSN_O8/schedule.ccl b/ML_BSSN_O8/schedule.ccl index 8469353..92235f4 100644 --- a/ML_BSSN_O8/schedule.ccl +++ b/ML_BSSN_O8/schedule.ccl @@ -374,8 +374,6 @@ schedule ML_BSSN_O8_constraints1_SelectBCs in ML_BSSN_O8_constraints1_bc_group { LANG: C OPTIONS: level - SYNC: ML_cons_detg - SYNC: ML_cons_Gamma SYNC: ML_Ham } "ML_BSSN_O8_constraints1_SelectBCs" @@ -413,6 +411,8 @@ schedule ML_BSSN_O8_constraints2_SelectBCs in ML_BSSN_O8_constraints2_bc_group { LANG: C OPTIONS: level + SYNC: ML_cons_detg + SYNC: ML_cons_Gamma SYNC: ML_cons_traceA SYNC: ML_mom } "ML_BSSN_O8_constraints2_SelectBCs" @@ -458,7 +458,7 @@ schedule ML_BSSN_O8_CheckBoundaries at BASEGRID OPTIONS: meta } "check boundaries treatment" -schedule group ApplyBCs as ML_BSSN_O8_ApplyBCs in MoL_PostStep after ML_BSSN_O8_SelectBoundConds +schedule group ApplyBCs as ML_BSSN_O8_ApplyBCs in MoL_PostStep after ML_BSSN_O8_SelectBoundConds { # no language specified } "Apply boundary conditions controlled by thorn Boundary" diff --git a/ML_BSSN_O8/src/ML_BSSN_O8_Minkowski.c b/ML_BSSN_O8/src/ML_BSSN_O8_Minkowski.c index ac1d563..8cfae7f 100644 --- a/ML_BSSN_O8/src/ML_BSSN_O8_Minkowski.c +++ b/ML_BSSN_O8/src/ML_BSSN_O8_Minkowski.c @@ -38,9 +38,6 @@ void ML_BSSN_O8_Minkowski_Body(cGH const * restrict const cctkGH, int const dir, return; } - const char *groups[] = {"ML_BSSN_O8::ML_curv","ML_BSSN_O8::ML_dtlapse","ML_BSSN_O8::ML_dtshift","ML_BSSN_O8::ML_Gamma","ML_BSSN_O8::ML_lapse","ML_BSSN_O8::ML_log_confac","ML_BSSN_O8::ML_metric","ML_BSSN_O8::ML_shift","ML_BSSN_O8::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O8_Minkowski", 9, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_O8/src/ML_BSSN_O8_RHS1.c b/ML_BSSN_O8/src/ML_BSSN_O8_RHS1.c index 1886bb2..514347c 100644 --- a/ML_BSSN_O8/src/ML_BSSN_O8_RHS1.c +++ b/ML_BSSN_O8/src/ML_BSSN_O8_RHS1.c @@ -71,9 +71,6 @@ void ML_BSSN_O8_RHS1_Body(cGH const * restrict const cctkGH, int const dir, int return; } - const char *groups[] = {"grid::coordinates","Grid::coordinates","ML_BSSN_O8::ML_curv","ML_BSSN_O8::ML_dtlapse","ML_BSSN_O8::ML_dtlapserhs","ML_BSSN_O8::ML_dtshift","ML_BSSN_O8::ML_dtshiftrhs","ML_BSSN_O8::ML_Gamma","ML_BSSN_O8::ML_Gammarhs","ML_BSSN_O8::ML_lapse","ML_BSSN_O8::ML_lapserhs","ML_BSSN_O8::ML_log_confac","ML_BSSN_O8::ML_log_confacrhs","ML_BSSN_O8::ML_metric","ML_BSSN_O8::ML_metricrhs","ML_BSSN_O8::ML_shift","ML_BSSN_O8::ML_shiftrhs","ML_BSSN_O8::ML_trace_curv","ML_BSSN_O8::ML_trace_curvrhs"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O8_RHS1", 19, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_O8/src/ML_BSSN_O8_RHS2.c b/ML_BSSN_O8/src/ML_BSSN_O8_RHS2.c index df757ef..a240aa3 100644 --- a/ML_BSSN_O8/src/ML_BSSN_O8_RHS2.c +++ b/ML_BSSN_O8/src/ML_BSSN_O8_RHS2.c @@ -50,9 +50,6 @@ void ML_BSSN_O8_RHS2_Body(cGH const * restrict const cctkGH, int const dir, int return; } - const char *groups[] = {"ML_BSSN_O8::ML_curv","ML_BSSN_O8::ML_curvrhs","ML_BSSN_O8::ML_Gamma","ML_BSSN_O8::ML_lapse","ML_BSSN_O8::ML_log_confac","ML_BSSN_O8::ML_metric","ML_BSSN_O8::ML_shift","ML_BSSN_O8::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O8_RHS2", 8, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_O8/src/ML_BSSN_O8_RHSStaticBoundary.c b/ML_BSSN_O8/src/ML_BSSN_O8_RHSStaticBoundary.c index ad26a59..eb5f955 100644 --- a/ML_BSSN_O8/src/ML_BSSN_O8_RHSStaticBoundary.c +++ b/ML_BSSN_O8/src/ML_BSSN_O8_RHSStaticBoundary.c @@ -74,9 +74,6 @@ void ML_BSSN_O8_RHSStaticBoundary_Body(cGH const * restrict const cctkGH, int co return; } - const char *groups[] = {"ML_BSSN_O8::ML_curvrhs","ML_BSSN_O8::ML_dtlapserhs","ML_BSSN_O8::ML_dtshiftrhs","ML_BSSN_O8::ML_Gammarhs","ML_BSSN_O8::ML_lapserhs","ML_BSSN_O8::ML_log_confacrhs","ML_BSSN_O8::ML_metricrhs","ML_BSSN_O8::ML_shiftrhs","ML_BSSN_O8::ML_trace_curvrhs"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O8_RHSStaticBoundary", 9, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_O8/src/ML_BSSN_O8_boundary.c b/ML_BSSN_O8/src/ML_BSSN_O8_boundary.c index 7607775..95e3140 100644 --- a/ML_BSSN_O8/src/ML_BSSN_O8_boundary.c +++ b/ML_BSSN_O8/src/ML_BSSN_O8_boundary.c @@ -74,9 +74,6 @@ void ML_BSSN_O8_boundary_Body(cGH const * restrict const cctkGH, int const dir, return; } - const char *groups[] = {"ML_BSSN_O8::ML_curv","ML_BSSN_O8::ML_dtlapse","ML_BSSN_O8::ML_dtshift","ML_BSSN_O8::ML_Gamma","ML_BSSN_O8::ML_lapse","ML_BSSN_O8::ML_log_confac","ML_BSSN_O8::ML_metric","ML_BSSN_O8::ML_shift","ML_BSSN_O8::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O8_boundary", 9, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_O8/src/ML_BSSN_O8_constraints1.c b/ML_BSSN_O8/src/ML_BSSN_O8_constraints1.c index 018d766..78cf5a6 100644 --- a/ML_BSSN_O8/src/ML_BSSN_O8_constraints1.c +++ b/ML_BSSN_O8/src/ML_BSSN_O8_constraints1.c @@ -26,12 +26,6 @@ void ML_BSSN_O8_constraints1_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_PARAMETERS; CCTK_INT ierr = 0; - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_O8::ML_cons_detg","flat"); - if (ierr < 0) - CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_O8::ML_cons_detg."); - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_O8::ML_cons_Gamma","flat"); - if (ierr < 0) - CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_O8::ML_cons_Gamma."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_O8::ML_Ham","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_O8::ML_Ham."); @@ -56,9 +50,6 @@ void ML_BSSN_O8_constraints1_Body(cGH const * restrict const cctkGH, int const d return; } - const char *groups[] = {"ML_BSSN_O8::ML_cons_detg","ML_BSSN_O8::ML_cons_Gamma","ML_BSSN_O8::ML_curv","ML_BSSN_O8::ML_Gamma","ML_BSSN_O8::ML_Ham","ML_BSSN_O8::ML_lapse","ML_BSSN_O8::ML_log_confac","ML_BSSN_O8::ML_metric","ML_BSSN_O8::ML_shift","ML_BSSN_O8::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O8_constraints1", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -312,457 +303,218 @@ void ML_BSSN_O8_constraints1_Body(cGH const * restrict const cctkGH, int const d CCTK_REAL gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L)); - CCTK_REAL Gt111 = khalf*(gtu11*PDstandardNth1gt11 + - 2*(gtu12*PDstandardNth1gt12 + gtu13*PDstandardNth1gt13) - - gtu12*PDstandardNth2gt11 - gtu13*PDstandardNth3gt11); - - CCTK_REAL Gt211 = khalf*(gtu12*PDstandardNth1gt11 + - 2*(gtu22*PDstandardNth1gt12 + gtu23*PDstandardNth1gt13) - - gtu22*PDstandardNth2gt11 - gtu23*PDstandardNth3gt11); - - CCTK_REAL Gt311 = khalf*(gtu13*PDstandardNth1gt11 + - 2*(gtu23*PDstandardNth1gt12 + gtu33*PDstandardNth1gt13) - - gtu23*PDstandardNth2gt11 - gtu33*PDstandardNth3gt11); - - CCTK_REAL Gt112 = khalf*(gtu12*PDstandardNth1gt22 + - gtu11*PDstandardNth2gt11 + gtu13*(PDstandardNth1gt23 + - PDstandardNth2gt13 - PDstandardNth3gt12)); - - CCTK_REAL Gt212 = khalf*(gtu22*PDstandardNth1gt22 + - gtu12*PDstandardNth2gt11 + gtu23*(PDstandardNth1gt23 + - PDstandardNth2gt13 - PDstandardNth3gt12)); - - CCTK_REAL Gt312 = khalf*(gtu23*PDstandardNth1gt22 + - gtu13*PDstandardNth2gt11 + gtu33*(PDstandardNth1gt23 + - PDstandardNth2gt13 - PDstandardNth3gt12)); - - CCTK_REAL Gt113 = khalf*(gtu13*PDstandardNth1gt33 + - gtu11*PDstandardNth3gt11 + gtu12*(PDstandardNth1gt23 - - PDstandardNth2gt13 + PDstandardNth3gt12)); - - CCTK_REAL Gt213 = khalf*(gtu23*PDstandardNth1gt33 + - gtu12*PDstandardNth3gt11 + gtu22*(PDstandardNth1gt23 - - PDstandardNth2gt13 + PDstandardNth3gt12)); - - CCTK_REAL Gt313 = khalf*(gtu33*PDstandardNth1gt33 + - gtu13*PDstandardNth3gt11 + gtu23*(PDstandardNth1gt23 - - PDstandardNth2gt13 + PDstandardNth3gt12)); - - CCTK_REAL Gt122 = khalf*(gtu11*(-PDstandardNth1gt22 + - 2*PDstandardNth2gt12) + gtu12*PDstandardNth2gt22 + - gtu13*(2*PDstandardNth2gt23 - PDstandardNth3gt22)); - - CCTK_REAL Gt222 = khalf*(gtu12*(-PDstandardNth1gt22 + - 2*PDstandardNth2gt12) + gtu22*PDstandardNth2gt22 + - gtu23*(2*PDstandardNth2gt23 - PDstandardNth3gt22)); - - CCTK_REAL Gt322 = khalf*(gtu13*(-PDstandardNth1gt22 + - 2*PDstandardNth2gt12) + gtu23*PDstandardNth2gt22 + - gtu33*(2*PDstandardNth2gt23 - PDstandardNth3gt22)); - - CCTK_REAL Gt123 = khalf*(gtu13*PDstandardNth2gt33 + - gtu11*(-PDstandardNth1gt23 + PDstandardNth2gt13 + PDstandardNth3gt12) + - gtu12*PDstandardNth3gt22); - - CCTK_REAL Gt223 = khalf*(gtu23*PDstandardNth2gt33 + - gtu12*(-PDstandardNth1gt23 + PDstandardNth2gt13 + PDstandardNth3gt12) + - gtu22*PDstandardNth3gt22); - - CCTK_REAL Gt323 = khalf*(gtu33*PDstandardNth2gt33 + - gtu13*(-PDstandardNth1gt23 + PDstandardNth2gt13 + PDstandardNth3gt12) + - gtu23*PDstandardNth3gt22); - - CCTK_REAL Gt133 = khalf*(-(gtu11*PDstandardNth1gt33) - - gtu12*PDstandardNth2gt33 + 2*gtu11*PDstandardNth3gt13 + - 2*gtu12*PDstandardNth3gt23 + gtu13*PDstandardNth3gt33); - - CCTK_REAL Gt233 = khalf*(-(gtu12*PDstandardNth1gt33) - - gtu22*PDstandardNth2gt33 + 2*gtu12*PDstandardNth3gt13 + - 2*gtu22*PDstandardNth3gt23 + gtu23*PDstandardNth3gt33); - - CCTK_REAL Gt333 = khalf*(-(gtu13*PDstandardNth1gt33) - - gtu23*PDstandardNth2gt33 + 2*gtu13*PDstandardNth3gt13 + - 2*gtu23*PDstandardNth3gt23 + gtu33*PDstandardNth3gt33); - - CCTK_REAL Rt11 = -(gtu11*khalf*PDstandardNth11gt11) + - gtu12*(2*Gt211*Gt212*gt22L + 4*Gt112*gt13L*Gt311 + 2*Gt113*gt11L*Gt312 - + 2*gt13L*Gt312*Gt313 + 2*gt13L*Gt211*Gt322 + 2*gt13L*Gt311*Gt323 + - 2*Gt311*Gt312*gt33L - PDstandardNth12gt11) - gtu13*PDstandardNth13gt11 - + gt11L*PDstandardNth1Xt1 + gt12L*(4*Gt111*Gt212*gtu12 + - 2*Gt211*Gt222*gtu12 + 4*Gt113*Gt211*gtu13 + 4*Gt112*Gt212*gtu22 + - 4*Gt113*Gt212*gtu23 + 4*Gt113*Gt213*gtu33 + PDstandardNth1Xt2) + - gt13L*(4*Gt111*Gt312*gtu12 + 2*Gt212*Gt312*gtu12 + 4*Gt113*Gt311*gtu13 - + 2*Gt212*Gt322*gtu22 + 4*Gt113*Gt312*gtu23 + 4*Gt113*Gt313*gtu33 + - PDstandardNth1Xt3) - gtu22*khalf*PDstandardNth22gt11 - - gtu23*PDstandardNth23gt11 - gtu33*khalf*PDstandardNth33gt11 + - Gt111*(6*Gt113*gt11L*gtu13 + 4*gt12L*Gt213*gtu13 + gt11L*Xt1L) + - Gt211*(2*Gt112*gt11L*gtu11 + 4*Gt111*gt12L*gtu11 + 2*gt11L*Gt122*gtu12 - + 2*gt11L*Gt123*gtu13 + gt12L*Xt1L) + Gt311*(4*Gt111*gt13L*gtu11 + - 2*gt12L*Gt213*gtu11 + 2*gt13L*Gt313*gtu11 + 2*gt11L*Gt123*gtu12 + - 2*gt11L*Gt133*gtu13 + gt13L*Xt1L) + gt12L*Gt212*Xt2L + gt13L*Gt312*Xt2L - + Gt112*(6*Gt111*gt11L*gtu12 + 4*gt12L*Gt211*gtu12 + - 2*gt11L*Gt213*gtu13 + 4*gt13L*Gt312*gtu22 + 6*Gt113*gt11L*gtu23 + - gt11L*Xt2L) + Gt113*gt11L*Xt3L + Gt213*(2*gt11L*Gt122*gtu23 + - 4*Gt112*gt12L*gtu23 + 2*gt11L*Gt123*gtu33 + gt12L*Xt3L) + - Gt313*(4*Gt111*gt13L*gtu13 + 2*gt12L*Gt213*gtu13 + 2*gt11L*Gt123*gtu23 - + 4*Gt112*gt13L*gtu23 + 2*gt12L*Gt223*gtu23 + 2*gt11L*Gt133*gtu33 + - gt13L*Xt3L) + 3*gt11L*gtu11*SQR(Gt111) + 3*gt11L*gtu22*SQR(Gt112) + - 3*gt11L*gtu33*SQR(Gt113) + gt22L*gtu11*SQR(Gt211) + - gt22L*gtu22*SQR(Gt212) + 2*(gt12L*Gt211*Gt212*gtu11 + - Gt113*gt11L*Gt311*gtu11 + Gt211*gt23L*Gt311*gtu11 + - gt13L*Gt211*Gt312*gtu11 + Gt112*gt11L*Gt212*gtu12 + - gt12L*Gt223*Gt311*gtu12 + Gt212*gt23L*Gt311*gtu12 + - gt12L*Gt213*Gt312*gtu12 + Gt211*gt23L*Gt312*gtu12 + - gt12L*Gt212*Gt213*gtu13 + gt12L*Gt211*Gt223*gtu13 + - Gt211*Gt213*gt22L*gtu13 + gt12L*Gt233*Gt311*gtu13 + - Gt213*gt23L*Gt311*gtu13 + gt13L*Gt213*Gt312*gtu13 + - Gt113*gt11L*Gt313*gtu13 + Gt211*gt23L*Gt313*gtu13 + - gt13L*Gt211*Gt323*gtu13 + gt13L*Gt311*Gt333*gtu13 + - Gt311*Gt313*gt33L*gtu13 + gt11L*Gt122*Gt212*gtu22 + - gt12L*Gt212*Gt222*gtu22 + gt11L*Gt123*Gt312*gtu22 + - gt12L*Gt223*Gt312*gtu22 + Gt212*gt23L*Gt312*gtu22 + - gt13L*Gt312*Gt323*gtu22 + gt11L*Gt123*Gt212*gtu23 + - gt12L*Gt213*Gt222*gtu23 + gt12L*Gt212*Gt223*gtu23 + - Gt212*Gt213*gt22L*gtu23 + gt11L*Gt133*Gt312*gtu23 + - gt12L*Gt233*Gt312*gtu23 + Gt213*gt23L*Gt312*gtu23 + - Gt212*gt23L*Gt313*gtu23 + gt13L*Gt213*Gt322*gtu23 + - gt13L*Gt212*Gt323*gtu23 + gt13L*Gt313*Gt323*gtu23 + - gt13L*Gt312*Gt333*gtu23 + Gt312*Gt313*gt33L*gtu23 + - gt12L*Gt213*Gt223*gtu33 + gt12L*Gt233*Gt313*gtu33 + - Gt213*gt23L*Gt313*gtu33 + gt13L*Gt213*Gt323*gtu33 + - gt13L*Gt313*Gt333*gtu33 + gt12L*gtu12*SQR(Gt212)) + - gt22L*gtu33*SQR(Gt213) + gt33L*gtu11*SQR(Gt311) + - gt33L*gtu22*SQR(Gt312) + 2*gt13L*gtu13*SQR(Gt313) + - gt33L*gtu33*SQR(Gt313); - - CCTK_REAL Rt12 = khalf*(-(gtu11*PDstandardNth11gt12) - + CCTK_REAL Gtl111 = khalf*PDstandardNth1gt11; + + CCTK_REAL Gtl112 = khalf*PDstandardNth2gt11; + + CCTK_REAL Gtl113 = khalf*PDstandardNth3gt11; + + CCTK_REAL Gtl122 = -(khalf*PDstandardNth1gt22) + PDstandardNth2gt12; + + CCTK_REAL Gtl123 = khalf*(-PDstandardNth1gt23 + PDstandardNth2gt13 + + PDstandardNth3gt12); + + CCTK_REAL Gtl133 = -(khalf*PDstandardNth1gt33) + PDstandardNth3gt13; + + CCTK_REAL Gtl211 = PDstandardNth1gt12 - khalf*PDstandardNth2gt11; + + CCTK_REAL Gtl212 = khalf*PDstandardNth1gt22; + + CCTK_REAL Gtl213 = khalf*(PDstandardNth1gt23 - PDstandardNth2gt13 + + PDstandardNth3gt12); + + CCTK_REAL Gtl222 = khalf*PDstandardNth2gt22; + + CCTK_REAL Gtl223 = khalf*PDstandardNth3gt22; + + CCTK_REAL Gtl233 = -(khalf*PDstandardNth2gt33) + PDstandardNth3gt23; + + CCTK_REAL Gtl311 = PDstandardNth1gt13 - khalf*PDstandardNth3gt11; + + CCTK_REAL Gtl312 = khalf*(PDstandardNth1gt23 + PDstandardNth2gt13 - + PDstandardNth3gt12); + + CCTK_REAL Gtl313 = khalf*PDstandardNth1gt33; + + CCTK_REAL Gtl322 = PDstandardNth2gt23 - khalf*PDstandardNth3gt22; + + CCTK_REAL Gtl323 = khalf*PDstandardNth2gt33; + + CCTK_REAL Gtl333 = khalf*PDstandardNth3gt33; + + CCTK_REAL Gtlu111 = Gtl111*gtu11 + Gtl112*gtu12 + Gtl113*gtu13; + + CCTK_REAL Gtlu112 = Gtl111*gtu12 + Gtl112*gtu22 + Gtl113*gtu23; + + CCTK_REAL Gtlu113 = Gtl111*gtu13 + Gtl112*gtu23 + Gtl113*gtu33; + + CCTK_REAL Gtlu121 = Gtl112*gtu11 + Gtl122*gtu12 + Gtl123*gtu13; + + CCTK_REAL Gtlu122 = Gtl112*gtu12 + Gtl122*gtu22 + Gtl123*gtu23; + + CCTK_REAL Gtlu123 = Gtl112*gtu13 + Gtl122*gtu23 + Gtl123*gtu33; + + CCTK_REAL Gtlu131 = Gtl113*gtu11 + Gtl123*gtu12 + Gtl133*gtu13; + + CCTK_REAL Gtlu132 = Gtl113*gtu12 + Gtl123*gtu22 + Gtl133*gtu23; + + CCTK_REAL Gtlu133 = Gtl113*gtu13 + Gtl123*gtu23 + Gtl133*gtu33; + + CCTK_REAL Gtlu211 = Gtl211*gtu11 + Gtl212*gtu12 + Gtl213*gtu13; + + CCTK_REAL Gtlu212 = Gtl211*gtu12 + Gtl212*gtu22 + Gtl213*gtu23; + + CCTK_REAL Gtlu213 = Gtl211*gtu13 + Gtl212*gtu23 + Gtl213*gtu33; + + CCTK_REAL Gtlu221 = Gtl212*gtu11 + Gtl222*gtu12 + Gtl223*gtu13; + + CCTK_REAL Gtlu222 = Gtl212*gtu12 + Gtl222*gtu22 + Gtl223*gtu23; + + CCTK_REAL Gtlu223 = Gtl212*gtu13 + Gtl222*gtu23 + Gtl223*gtu33; + + CCTK_REAL Gtlu231 = Gtl213*gtu11 + Gtl223*gtu12 + Gtl233*gtu13; + + CCTK_REAL Gtlu232 = Gtl213*gtu12 + Gtl223*gtu22 + Gtl233*gtu23; + + CCTK_REAL Gtlu233 = Gtl213*gtu13 + Gtl223*gtu23 + Gtl233*gtu33; + + CCTK_REAL Gtlu311 = Gtl311*gtu11 + Gtl312*gtu12 + Gtl313*gtu13; + + CCTK_REAL Gtlu312 = Gtl311*gtu12 + Gtl312*gtu22 + Gtl313*gtu23; + + CCTK_REAL Gtlu313 = Gtl311*gtu13 + Gtl312*gtu23 + Gtl313*gtu33; + + CCTK_REAL Gtlu321 = Gtl312*gtu11 + Gtl322*gtu12 + Gtl323*gtu13; + + CCTK_REAL Gtlu322 = Gtl312*gtu12 + Gtl322*gtu22 + Gtl323*gtu23; + + CCTK_REAL Gtlu323 = Gtl312*gtu13 + Gtl322*gtu23 + Gtl323*gtu33; + + CCTK_REAL Gtlu331 = Gtl313*gtu11 + Gtl323*gtu12 + Gtl333*gtu13; + + CCTK_REAL Gtlu332 = Gtl313*gtu12 + Gtl323*gtu22 + Gtl333*gtu23; + + CCTK_REAL Gtlu333 = Gtl313*gtu13 + Gtl323*gtu23 + Gtl333*gtu33; + + CCTK_REAL Gt111 = Gtl111*gtu11 + Gtl211*gtu12 + Gtl311*gtu13; + + CCTK_REAL Gt211 = Gtl111*gtu12 + Gtl211*gtu22 + Gtl311*gtu23; + + CCTK_REAL Gt311 = Gtl111*gtu13 + Gtl211*gtu23 + Gtl311*gtu33; + + CCTK_REAL Gt112 = Gtl112*gtu11 + Gtl212*gtu12 + Gtl312*gtu13; + + CCTK_REAL Gt212 = Gtl112*gtu12 + Gtl212*gtu22 + Gtl312*gtu23; + + CCTK_REAL Gt312 = Gtl112*gtu13 + Gtl212*gtu23 + Gtl312*gtu33; + + CCTK_REAL Gt113 = Gtl113*gtu11 + Gtl213*gtu12 + Gtl313*gtu13; + + CCTK_REAL Gt213 = Gtl113*gtu12 + Gtl213*gtu22 + Gtl313*gtu23; + + CCTK_REAL Gt313 = Gtl113*gtu13 + Gtl213*gtu23 + Gtl313*gtu33; + + CCTK_REAL Gt122 = Gtl122*gtu11 + Gtl222*gtu12 + Gtl322*gtu13; + + CCTK_REAL Gt222 = Gtl122*gtu12 + Gtl222*gtu22 + Gtl322*gtu23; + + CCTK_REAL Gt322 = Gtl122*gtu13 + Gtl222*gtu23 + Gtl322*gtu33; + + CCTK_REAL Gt123 = Gtl123*gtu11 + Gtl223*gtu12 + Gtl323*gtu13; + + CCTK_REAL Gt223 = Gtl123*gtu12 + Gtl223*gtu22 + Gtl323*gtu23; + + CCTK_REAL Gt323 = Gtl123*gtu13 + Gtl223*gtu23 + Gtl323*gtu33; + + CCTK_REAL Gt133 = Gtl133*gtu11 + Gtl233*gtu12 + Gtl333*gtu13; + + CCTK_REAL Gt233 = Gtl133*gtu12 + Gtl233*gtu22 + Gtl333*gtu23; + + CCTK_REAL Gt333 = Gtl133*gtu13 + Gtl233*gtu23 + Gtl333*gtu33; + + CCTK_REAL Xtn1 = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu12 + + Gt113*gtu13 + Gt123*gtu23) + Gt133*gtu33; + + CCTK_REAL Xtn2 = Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu12 + + Gt213*gtu13 + Gt223*gtu23) + Gt233*gtu33; + + CCTK_REAL Xtn3 = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu12 + + Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33; + + CCTK_REAL Rt11 = 3*(Gt111*Gtlu111 + Gt112*Gtlu112 + Gt113*Gtlu113) + + 2*(Gt211*Gtlu121 + Gt212*Gtlu122 + Gt213*Gtlu123 + Gt311*Gtlu131 + + Gt312*Gtlu132 + Gt313*Gtlu133) + Gt211*Gtlu211 + Gt212*Gtlu212 + + Gt213*Gtlu213 + Gt311*Gtlu311 + Gt312*Gtlu312 + Gt313*Gtlu313 + + gt11L*PDstandardNth1Xt1 + gt12L*PDstandardNth1Xt2 + + gt13L*PDstandardNth1Xt3 + khalf*(-(gtu11*PDstandardNth11gt11) - + 2*gtu12*PDstandardNth12gt11 - 2*gtu13*PDstandardNth13gt11 - + gtu22*PDstandardNth22gt11 - 2*gtu23*PDstandardNth23gt11 - + gtu33*PDstandardNth33gt11) + Gtl111*Xtn1 + Gtl112*Xtn2 + Gtl113*Xtn3; + + CCTK_REAL Rt12 = khalf*(4*(Gt211*Gtlu221 + Gt212*Gtlu222 + + Gt213*Gtlu223) + 2*(Gt112*Gtlu111 + Gt122*Gtlu112 + Gt123*Gtlu113 + + Gt111*Gtlu121 + Gt212*Gtlu121 + Gt112*Gtlu122 + Gt222*Gtlu122 + + Gt113*Gtlu123 + Gt223*Gtlu123 + Gt312*Gtlu131 + Gt322*Gtlu132 + + Gt323*Gtlu133 + Gt111*Gtlu211 + Gt112*Gtlu212 + Gt113*Gtlu213 + + Gt311*Gtlu231 + Gt312*Gtlu232 + Gt313*Gtlu233 + Gt311*Gtlu321 + + Gt312*Gtlu322 + Gt313*Gtlu323) - gtu11*PDstandardNth11gt12 - 2*gtu12*PDstandardNth12gt12 - 2*gtu13*PDstandardNth13gt12 + gt12L*PDstandardNth1Xt1 + gt22L*PDstandardNth1Xt2 + gt23L*PDstandardNth1Xt3 - gtu22*PDstandardNth22gt12 - 2*gtu23*PDstandardNth23gt12 + gt11L*PDstandardNth2Xt1 + gt12L*PDstandardNth2Xt2 + gt13L*PDstandardNth2Xt3 - - gtu33*PDstandardNth33gt12 + (Gt111*gt12L + Gt211*gt22L + - gt23L*Gt311)*Xt1L + (Gt112*gt11L + gt12L*Gt212 + gt13L*Gt312)*Xt1L + - (Gt112*gt12L + Gt212*gt22L + gt23L*Gt312)*Xt2L + (gt11L*Gt122 + - gt12L*Gt222 + gt13L*Gt322)*Xt2L + (Gt113*gt12L + Gt213*gt22L + - gt23L*Gt313)*Xt3L + (gt11L*Gt123 + gt12L*Gt223 + gt13L*Gt323)*Xt3L + - 2*gtu12*(Gt112*gt11L*Gt222 + Gt112*Gt211*gt22L + Gt211*Gt222*gt22L + - 2*Gt122*gt13L*Gt311 + Gt112*gt23L*Gt311 + Gt222*gt23L*Gt311 + - gt13L*Gt222*Gt312 + Gt213*gt22L*Gt312 + Gt212*gt23L*Gt312 + - gt23L*Gt312*Gt313 + Gt113*gt11L*Gt322 + Gt211*gt23L*Gt322 + - gt13L*Gt313*Gt322 + Gt111*(2*gt11L*Gt122 + Gt112*gt12L + gt12L*Gt222 + - gt13L*Gt322) + gt12L*(2*Gt122*Gt211 + Gt112*Gt212 + Gt212*Gt222 + - Gt113*Gt312 + Gt213*Gt322) + Gt311*Gt322*gt33L + gt22L*SQR(Gt212)) + - 2*((Gt123*gt12L*Gt211 + Gt113*gt12L*Gt212 + 2*Gt112*gt12L*Gt213 + - gt12L*Gt212*Gt223 + Gt212*Gt213*gt22L + Gt211*Gt223*gt22L + - gt12L*Gt133*Gt311 + gt22L*Gt233*Gt311 + Gt113*gt13L*Gt312 + - gt12L*Gt233*Gt312 + Gt213*gt23L*Gt312 + gt11L*(2*Gt112*Gt113 + - Gt123*Gt212 + Gt133*Gt312) + 2*Gt112*gt13L*Gt313 + Gt212*gt23L*Gt313 + - Gt111*(Gt113*gt12L + Gt213*gt22L + gt23L*Gt313) + gt13L*Gt212*Gt323 + - Gt211*gt23L*Gt323 + gt23L*Gt311*Gt333 + gt13L*Gt312*Gt333 + - Gt312*Gt313*gt33L)*gtu13 + (Gt123*gt12L*Gt212 + 2*Gt122*gt12L*Gt213 + - Gt113*gt12L*Gt222 + gt12L*Gt222*Gt223 + Gt213*Gt222*gt22L + - Gt212*Gt223*gt22L + gt12L*Gt133*Gt312 + gt22L*Gt233*Gt312 + - 2*Gt122*gt13L*Gt313 + Gt222*gt23L*Gt313 + Gt112*(Gt113*gt12L + - Gt213*gt22L + gt23L*Gt313) + Gt113*gt13L*Gt322 + gt12L*Gt233*Gt322 + - Gt213*gt23L*Gt322 + gt11L*(2*Gt113*Gt122 + Gt123*Gt222 + Gt133*Gt322) + - gt13L*Gt222*Gt323 + Gt212*gt23L*Gt323 + gt23L*Gt312*Gt333 + - gt13L*Gt322*Gt333 + Gt313*Gt322*gt33L)*gtu23 + - gtu11*(3*Gt112*gt12L*Gt211 + 2*Gt211*Gt212*gt22L + Gt113*gt12L*Gt311 + - 2*Gt112*gt13L*Gt311 + Gt213*gt22L*Gt311 + Gt212*gt23L*Gt311 + - gt13L*Gt212*Gt312 + gt12L*Gt213*Gt312 + 2*Gt211*gt23L*Gt312 + - gt11L*(2*Gt111*Gt112 + Gt112*Gt212 + Gt113*Gt312) + Gt111*(gt12L*Gt212 - + Gt211*gt22L + gt23L*Gt311 + gt13L*Gt312) + gt23L*Gt311*Gt313 + - gt13L*Gt312*Gt313 + Gt311*Gt312*gt33L + gt12L*SQR(Gt111) + - gt12L*SQR(Gt212))) + 2*gtu22*(gt11L*Gt122*Gt222 + 2*Gt212*Gt222*gt22L + - 2*Gt122*gt13L*Gt312 + Gt223*gt22L*Gt312 + Gt222*gt23L*Gt312 + - gt11L*Gt123*Gt322 + gt13L*Gt222*Gt322 + 2*Gt212*gt23L*Gt322 + - Gt112*(2*gt11L*Gt122 + gt12L*Gt222 + Gt212*gt22L + gt23L*Gt312 + - gt13L*Gt322) + gt23L*Gt312*Gt323 + gt13L*Gt322*Gt323 + - Gt312*Gt322*gt33L + gt12L*SQR(Gt112) + gt12L*(3*Gt122*Gt212 + - Gt123*Gt312 + Gt223*Gt322 + SQR(Gt222))) + 2*gtu33*(gt11L*Gt123*Gt223 + - 2*Gt213*Gt223*gt22L + 2*Gt123*gt13L*Gt313 + gt22L*Gt233*Gt313 + - Gt223*gt23L*Gt313 + gt11L*Gt133*Gt323 + gt13L*Gt223*Gt323 + - 2*Gt213*gt23L*Gt323 + Gt113*(2*gt11L*Gt123 + gt12L*Gt223 + Gt213*gt22L - + gt23L*Gt313 + gt13L*Gt323) + gt23L*Gt313*Gt333 + gt13L*Gt323*Gt333 + - Gt313*Gt323*gt33L + gt12L*SQR(Gt113) + gt12L*(3*Gt123*Gt213 + - Gt133*Gt313 + Gt233*Gt323 + SQR(Gt223))) + 2*gtu12*(Gt122*gt12L*Gt211 + - 3*Gt112*gt12L*Gt212 + gt12L*Gt212*Gt222 + Gt211*Gt222*gt22L + - Gt123*gt12L*Gt311 + Gt223*gt22L*Gt311 + 3*Gt112*gt13L*Gt312 + - gt12L*Gt223*Gt312 + 2*Gt212*gt23L*Gt312 + Gt111*(Gt112*gt12L + - Gt212*gt22L + gt23L*Gt312) + gt13L*Gt212*Gt322 + Gt211*gt23L*Gt322 + - gt23L*Gt311*Gt323 + gt13L*Gt312*Gt323 + gt11L*(Gt122*Gt212 + - Gt123*Gt312 + 2*SQR(Gt112)) + gt22L*SQR(Gt212) + gt33L*SQR(Gt312)) + - 2*gtu13*(Gt112*gt11L*Gt223 + Gt113*Gt211*gt22L + Gt212*Gt213*gt22L + - Gt211*Gt223*gt22L + 2*Gt123*gt13L*Gt311 + Gt113*gt23L*Gt311 + - Gt223*gt23L*Gt311 + gt13L*Gt223*Gt312 + Gt213*gt23L*Gt312 + - Gt213*gt22L*Gt313 + Gt113*gt11L*Gt323 + Gt211*gt23L*Gt323 + - gt13L*Gt313*Gt323 + Gt111*(2*gt11L*Gt123 + Gt113*gt12L + gt12L*Gt223 + - gt13L*Gt323) + gt12L*(2*Gt123*Gt211 + Gt112*Gt213 + Gt212*Gt223 + - Gt113*Gt313 + Gt213*Gt323) + Gt311*Gt323*gt33L + gt23L*SQR(Gt313)) + - 2*gtu23*(gt11L*Gt122*Gt223 + Gt113*Gt212*gt22L + Gt213*Gt222*gt22L + - Gt212*Gt223*gt22L + 2*Gt123*gt13L*Gt312 + Gt113*gt23L*Gt312 + - Gt223*gt23L*Gt312 + Gt223*gt22L*Gt313 + gt13L*Gt223*Gt322 + - Gt213*gt23L*Gt322 + gt11L*Gt123*Gt323 + Gt212*gt23L*Gt323 + - gt23L*Gt313*Gt323 + Gt112*(2*gt11L*Gt123 + Gt113*gt12L + gt12L*Gt223 + - gt13L*Gt323) + gt12L*(Gt122*Gt213 + Gt123*(2*Gt212 + Gt313) + - Gt223*(Gt222 + Gt323)) + Gt312*Gt323*gt33L + gt13L*SQR(Gt323))); - - CCTK_REAL Rt13 = khalf*(-(gtu11*PDstandardNth11gt13) - + gtu33*PDstandardNth33gt12 + Gtl112*Xtn1 + Gtl211*Xtn1 + Gtl122*Xtn2 + + Gtl212*Xtn2 + Gtl123*Xtn3 + Gtl213*Xtn3); + + CCTK_REAL Rt13 = khalf*(2*(Gt113*Gtlu111 + Gt123*Gtlu112 + + Gt133*Gtlu113 + Gt213*Gtlu121 + Gt223*Gtlu122 + Gt233*Gtlu123 + + Gt111*Gtlu131 + Gt313*Gtlu131 + Gt112*Gtlu132 + Gt323*Gtlu132 + + Gt113*Gtlu133 + Gt333*Gtlu133 + Gt211*Gtlu231 + Gt212*Gtlu232 + + Gt213*Gtlu233 + Gt111*Gtlu311 + Gt112*Gtlu312 + Gt113*Gtlu313 + + Gt211*Gtlu321 + Gt212*Gtlu322 + Gt213*Gtlu323) + 4*(Gt311*Gtlu331 + + Gt312*Gtlu332 + Gt313*Gtlu333) - gtu11*PDstandardNth11gt13 - 2*gtu12*PDstandardNth12gt13 - 2*gtu13*PDstandardNth13gt13 + gt13L*PDstandardNth1Xt1 + gt23L*PDstandardNth1Xt2 + gt33L*PDstandardNth1Xt3 - gtu22*PDstandardNth22gt13 - 2*gtu23*PDstandardNth23gt13 - gtu33*PDstandardNth33gt13 + gt11L*PDstandardNth3Xt1 + gt12L*PDstandardNth3Xt2 + - gt13L*PDstandardNth3Xt3 + (Gt113*gt11L + gt12L*Gt213 + - gt13L*Gt313)*Xt1L + (Gt111*gt13L + Gt211*gt23L + Gt311*gt33L)*Xt1L + - (gt11L*Gt123 + gt12L*Gt223 + gt13L*Gt323)*Xt2L + (Gt112*gt13L + - Gt212*gt23L + Gt312*gt33L)*Xt2L + (gt11L*Gt133 + gt12L*Gt233 + - gt13L*Gt333)*Xt3L + (Gt113*gt13L + Gt213*gt23L + Gt313*gt33L)*Xt3L + - 2*((Gt122*gt13L*Gt211 + 2*Gt113*gt12L*Gt212 + Gt112*gt12L*Gt213 + - gt12L*Gt213*Gt222 + Gt212*Gt213*gt22L + Gt211*Gt222*gt23L + - Gt123*gt13L*Gt311 + Gt223*gt23L*Gt311 + 2*Gt113*gt13L*Gt312 + - Gt213*gt23L*Gt312 + Gt112*gt13L*Gt313 + gt12L*Gt223*Gt313 + - Gt212*gt23L*Gt313 + gt11L*(2*Gt112*Gt113 + Gt122*Gt213 + Gt123*Gt313) + - gt13L*Gt213*Gt322 + gt13L*Gt313*Gt323 + Gt312*Gt313*gt33L + - Gt211*Gt322*gt33L + Gt311*Gt323*gt33L + Gt111*(Gt112*gt13L + - Gt212*gt23L + Gt312*gt33L))*gtu12 + (Gt122*gt13L*Gt213 + - gt11L*Gt122*Gt233 + Gt212*gt22L*Gt233 + Gt113*Gt212*gt23L + - Gt213*Gt222*gt23L + 2*Gt133*gt13L*Gt312 + Gt233*gt23L*Gt312 + - Gt123*gt13L*Gt313 + Gt223*gt23L*Gt313 + gt13L*Gt233*Gt322 + - gt11L*Gt123*Gt333 + Gt212*gt23L*Gt333 + gt13L*Gt323*Gt333 + - Gt112*(2*gt11L*Gt133 + Gt113*gt13L + gt12L*Gt233 + gt13L*Gt333) + - gt12L*(2*Gt133*Gt212 + Gt222*Gt233 + Gt223*Gt333) + Gt113*Gt312*gt33L + - Gt213*Gt322*gt33L + Gt313*Gt323*gt33L + Gt312*Gt333*gt33L)*gtu23 + - gtu12*(2*Gt123*gt12L*Gt211 + Gt112*gt13L*Gt212 + gt12L*Gt212*Gt223 + - Gt211*Gt223*gt22L + Gt112*Gt211*gt23L + 2*Gt123*gt13L*Gt311 + - Gt223*gt23L*Gt311 + Gt113*gt13L*Gt312 + gt13L*Gt223*Gt312 + - Gt213*gt23L*Gt312 + gt12L*Gt213*Gt323 + Gt211*gt23L*Gt323 + - gt13L*Gt313*Gt323 + gt11L*(2*Gt111*Gt123 + Gt112*Gt223 + Gt113*Gt323) + - Gt111*(Gt112*gt13L + gt12L*Gt223 + gt13L*Gt323) + Gt112*Gt311*gt33L + - Gt212*Gt312*gt33L + Gt312*Gt313*gt33L + Gt311*Gt323*gt33L + - gt23L*SQR(Gt212))) + 2*gtu23*(Gt123*gt13L*Gt212 + 2*Gt123*gt12L*Gt213 + - Gt113*gt12L*Gt223 + Gt213*Gt223*gt22L + Gt212*Gt223*gt23L + - Gt133*gt13L*Gt312 + Gt233*gt23L*Gt312 + 2*Gt123*gt13L*Gt313 + - Gt223*gt23L*Gt313 + Gt113*gt13L*Gt323 + gt13L*Gt223*Gt323 + - gt12L*Gt233*Gt323 + Gt213*gt23L*Gt323 + gt11L*(2*Gt113*Gt123 + - Gt123*Gt223 + Gt133*Gt323) + gt13L*Gt323*Gt333 + Gt212*Gt323*gt33L + - Gt313*Gt323*gt33L + Gt312*Gt333*gt33L + Gt112*(Gt113*gt13L + - Gt213*gt23L + Gt313*gt33L) + gt12L*SQR(Gt223)) + - 2*gtu11*(2*Gt113*gt12L*Gt211 + Gt112*gt13L*Gt211 + gt12L*Gt212*Gt213 + - Gt211*Gt213*gt22L + Gt211*Gt212*gt23L + 3*Gt113*gt13L*Gt311 + - 2*Gt213*gt23L*Gt311 + gt13L*Gt213*Gt312 + gt12L*Gt213*Gt313 + - Gt211*gt23L*Gt313 + gt11L*(2*Gt111*Gt113 + Gt112*Gt213 + Gt113*Gt313) + - Gt211*Gt312*gt33L + 2*Gt311*Gt313*gt33L + Gt111*(gt12L*Gt213 + - Gt211*gt23L + gt13L*Gt313 + Gt311*gt33L) + gt13L*SQR(Gt111) + - gt13L*SQR(Gt313)) + 2*gtu13*(Gt112*gt13L*Gt213 + Gt112*gt11L*Gt233 + - Gt211*gt22L*Gt233 + Gt113*Gt211*gt23L + Gt212*Gt213*gt23L + - 2*Gt133*gt13L*Gt311 + Gt233*gt23L*Gt311 + gt13L*Gt233*Gt312 + - Gt113*gt13L*Gt313 + Gt213*gt23L*Gt313 + Gt113*gt11L*Gt333 + - Gt211*gt23L*Gt333 + gt13L*Gt313*Gt333 + Gt111*(2*gt11L*Gt133 + - Gt113*gt13L + gt12L*Gt233 + gt13L*Gt333) + gt12L*(2*Gt133*Gt211 + - Gt212*Gt233 + Gt213*Gt333) + Gt113*Gt311*gt33L + Gt213*Gt312*gt33L + - Gt311*Gt333*gt33L + gt33L*SQR(Gt313)) + 2*gtu13*(Gt123*gt13L*Gt211 + - 3*Gt113*gt12L*Gt213 + gt12L*Gt213*Gt223 + Gt211*Gt223*gt23L + - Gt133*gt13L*Gt311 + Gt233*gt23L*Gt311 + 3*Gt113*gt13L*Gt313 + - gt12L*Gt233*Gt313 + 2*Gt213*gt23L*Gt313 + gt13L*Gt213*Gt323 + - gt13L*Gt313*Gt333 + Gt211*Gt323*gt33L + Gt311*Gt333*gt33L + - Gt111*(Gt113*gt13L + Gt213*gt23L + Gt313*gt33L) + gt11L*(Gt123*Gt213 + - Gt133*Gt313 + 2*SQR(Gt113)) + gt22L*SQR(Gt213) + gt33L*SQR(Gt313)) + - 2*gtu22*(2*Gt123*gt12L*Gt212 + Gt122*gt13L*Gt212 + gt12L*Gt222*Gt223 + - Gt212*Gt223*gt22L + Gt212*Gt222*gt23L + 3*Gt123*gt13L*Gt312 + - 2*Gt223*gt23L*Gt312 + gt13L*Gt223*Gt322 + gt12L*Gt223*Gt323 + - Gt212*gt23L*Gt323 + gt11L*(2*Gt112*Gt123 + Gt122*Gt223 + Gt123*Gt323) + - Gt212*Gt322*gt33L + 2*Gt312*Gt323*gt33L + Gt112*(gt12L*Gt223 + - Gt212*gt23L + gt13L*Gt323 + Gt312*gt33L) + gt13L*SQR(Gt112) + - gt13L*SQR(Gt323)) + 2*gtu33*(2*gt12L*Gt133*Gt213 + Gt123*gt13L*Gt213 + - gt11L*Gt123*Gt233 + gt12L*Gt223*Gt233 + Gt213*gt22L*Gt233 + - Gt213*Gt223*gt23L + 3*Gt133*gt13L*Gt313 + 2*Gt233*gt23L*Gt313 + - gt13L*Gt233*Gt323 + gt11L*Gt133*Gt333 + gt12L*Gt233*Gt333 + - Gt213*gt23L*Gt333 + Gt213*Gt323*gt33L + 2*Gt313*Gt333*gt33L + - Gt113*(2*gt11L*Gt133 + gt12L*Gt233 + Gt213*gt23L + gt13L*Gt333 + - Gt313*gt33L) + gt13L*SQR(Gt113) + gt13L*SQR(Gt333))); - - CCTK_REAL Rt22 = 4*(Gt122*gt12L*Gt212*gtu12 + Gt112*gt12L*Gt222*gtu12 - + Gt123*gt12L*Gt212*gtu13 + Gt122*gt12L*Gt222*gtu22 + - Gt123*gt12L*Gt222*gtu23 + Gt123*gt12L*Gt223*gtu33) - - gtu11*khalf*PDstandardNth11gt22 + gtu12*(6*Gt212*Gt222*gt22L + - 2*Gt122*gt23L*Gt311 + 2*Gt122*gt13L*Gt312 + 4*Gt222*gt23L*Gt312 + - 2*Gt113*gt12L*Gt322 + 2*gt23L*Gt312*Gt323 + 2*Gt312*Gt322*gt33L - - PDstandardNth12gt22) + gtu13*(6*Gt212*Gt223*gt22L + 2*Gt123*gt13L*Gt312 - + 2*Gt112*gt23L*Gt313 + 2*Gt113*gt12L*Gt323 + 2*gt23L*Gt312*Gt333 + - 2*Gt312*Gt323*gt33L - PDstandardNth13gt22) - - gtu22*khalf*PDstandardNth22gt22 + gtu23*(4*Gt122*gt12L*Gt223 + - 2*Gt123*Gt212*gt22L + 2*gt12L*Gt133*Gt322 + 4*Gt223*gt23L*Gt322 + - 2*Gt123*gt12L*Gt323 + 4*Gt222*gt23L*Gt323 + 2*gt23L*Gt322*Gt333 + - 2*Gt322*Gt323*gt33L - PDstandardNth23gt22) + gt12L*(2*Gt111*Gt123*gtu13 - + 4*Gt112*Gt223*gtu13 + 2*Gt123*Gt322*gtu22 + 2*Gt113*Gt122*gtu23 + - 2*Gt113*Gt123*gtu33 + PDstandardNth2Xt1) + gt22L*(2*Gt122*Gt213*gtu23 + - 6*Gt222*Gt223*gtu23 + 2*Gt123*Gt213*gtu33 + PDstandardNth2Xt2) + - gt23L*(4*Gt212*Gt322*gtu12 + 2*Gt313*Gt322*gtu12 + 2*Gt123*Gt311*gtu13 - + 4*Gt212*Gt323*gtu13 + 2*Gt313*Gt323*gtu13 + 4*Gt222*Gt322*gtu22 + - 2*Gt122*Gt313*gtu23 + 2*Gt123*Gt313*gtu33 + 4*Gt223*Gt323*gtu33 + - 2*Gt323*Gt333*gtu33 + PDstandardNth2Xt3) - - gtu33*khalf*PDstandardNth33gt22 + Gt212*gt22L*Xt1L + - Gt112*(2*Gt111*gt12L*gtu11 + 4*gt12L*Gt212*gtu11 + 2*gt11L*Gt122*gtu12 - + 2*gt11L*Gt123*gtu13 + 2*Gt122*gt12L*gtu22 + 2*Gt123*gt12L*gtu23 + - gt12L*Xt1L) + Gt312*(2*Gt213*gt22L*gtu11 + 4*Gt212*gt23L*gtu11 + - 2*gt23L*Gt313*gtu11 + 2*Gt123*gt12L*gtu12 + 2*gt12L*Gt133*gtu13 + - 2*gt22L*Gt233*gtu13 + 4*Gt223*gt23L*gtu13 + 2*Gt122*gt23L*gtu22 + - 2*Gt123*gt23L*gtu23 + gt23L*Xt1L) + Gt122*gt12L*Xt2L + Gt222*gt22L*Xt2L - + gt23L*Gt322*Xt2L + Gt123*gt12L*Xt3L + Gt223*gt22L*Xt3L + - gt23L*Gt323*Xt3L + gt11L*gtu11*SQR(Gt112) + 2*(Gt112*Gt211*gt22L*gtu11 - + Gt112*gt23L*Gt311*gtu11 + Gt113*gt12L*Gt312*gtu11 + - Gt112*gt13L*Gt312*gtu11 + Gt111*Gt122*gt12L*gtu12 + - Gt122*Gt211*gt22L*gtu12 + Gt112*Gt212*gt22L*gtu12 + - Gt223*gt22L*Gt312*gtu12 + Gt112*gt23L*Gt312*gtu12 + - Gt112*gt13L*Gt322*gtu12 + Gt213*gt22L*Gt322*gtu12 + - Gt112*Gt113*gt12L*gtu13 + Gt123*Gt211*gt22L*gtu13 + - Gt112*Gt213*gt22L*gtu13 + Gt112*gt13L*Gt323*gtu13 + - Gt213*gt22L*Gt323*gtu13 + Gt122*Gt212*gt22L*gtu22 + - Gt122*gt13L*Gt322*gtu22 + Gt223*gt22L*Gt322*gtu22 + - gt23L*Gt322*Gt323*gtu22 + gt11L*Gt122*Gt123*gtu23 + - Gt123*gt13L*Gt322*gtu23 + gt22L*Gt233*Gt322*gtu23 + - Gt122*gt13L*Gt323*gtu23 + Gt223*gt22L*Gt323*gtu23 + - gt12L*Gt133*Gt323*gtu33 + Gt123*gt13L*Gt323*gtu33 + - gt22L*Gt233*Gt323*gtu33 + gt12L*gtu12*SQR(Gt112)) + - gt11L*gtu22*SQR(Gt122) + gt11L*gtu33*SQR(Gt123) + - 3*gt22L*gtu11*SQR(Gt212) + 3*gt22L*gtu22*SQR(Gt222) + - 3*gt22L*gtu33*SQR(Gt223) + gt33L*gtu11*SQR(Gt312) + - gt33L*gtu22*SQR(Gt322) + 2*gt23L*gtu23*SQR(Gt323) + - gt33L*gtu33*SQR(Gt323); - - CCTK_REAL Rt23 = khalf*(-(gtu11*PDstandardNth11gt23) - + gt13L*PDstandardNth3Xt3 + Gtl113*Xtn1 + Gtl311*Xtn1 + Gtl123*Xtn2 + + Gtl312*Xtn2 + Gtl133*Xtn3 + Gtl313*Xtn3); + + CCTK_REAL Rt22 = Gt112*(Gtlu121 + 2*Gtlu211) + Gt122*(Gtlu122 + + 2*Gtlu212) + Gt123*(Gtlu123 + 2*Gtlu213) + 3*(Gt212*Gtlu221 + + Gt222*Gtlu222 + Gt223*Gtlu223) + 2*(Gt312*Gtlu231 + Gt322*Gtlu232 + + Gt323*Gtlu233) + Gt312*Gtlu321 + Gt322*Gtlu322 + Gt323*Gtlu323 + + gt12L*PDstandardNth2Xt1 + gt22L*PDstandardNth2Xt2 + + gt23L*PDstandardNth2Xt3 + khalf*(-(gtu11*PDstandardNth11gt22) - + 2*gtu12*PDstandardNth12gt22 - 2*gtu13*PDstandardNth13gt22 - + gtu22*PDstandardNth22gt22 - 2*gtu23*PDstandardNth23gt22 - + gtu33*PDstandardNth33gt22) + Gtl212*Xtn1 + Gtl222*Xtn2 + Gtl223*Xtn3; + + CCTK_REAL Rt23 = khalf*(2*(Gt112*Gtlu131 + Gt122*Gtlu132 + + Gt123*Gtlu133 + Gt113*Gtlu211 + Gt123*Gtlu212 + Gt133*Gtlu213 + + Gt213*Gtlu221 + Gt223*Gtlu222 + Gt233*Gtlu223 + Gt212*Gtlu231 + + Gt313*Gtlu231 + Gt222*Gtlu232 + Gt323*Gtlu232 + Gt223*Gtlu233 + + Gt333*Gtlu233 + Gt112*Gtlu311 + Gt122*Gtlu312 + Gt123*Gtlu313 + + Gt212*Gtlu321 + Gt222*Gtlu322 + Gt223*Gtlu323) + 4*(Gt312*Gtlu331 + + Gt322*Gtlu332 + Gt323*Gtlu333) - gtu11*PDstandardNth11gt23 - 2*gtu12*PDstandardNth12gt23 - 2*gtu13*PDstandardNth13gt23 - gtu22*PDstandardNth22gt23 - 2*gtu23*PDstandardNth23gt23 + gt13L*PDstandardNth2Xt1 + gt23L*PDstandardNth2Xt2 + gt33L*PDstandardNth2Xt3 - gtu33*PDstandardNth33gt23 + gt12L*PDstandardNth3Xt1 + gt22L*PDstandardNth3Xt2 + - gt23L*PDstandardNth3Xt3 + (Gt113*gt12L + Gt213*gt22L + - gt23L*Gt313)*Xt1L + (Gt112*gt13L + Gt212*gt23L + Gt312*gt33L)*Xt1L + - (Gt123*gt12L + Gt223*gt22L + gt23L*Gt323)*Xt2L + (Gt122*gt13L + - Gt222*gt23L + Gt322*gt33L)*Xt2L + (gt12L*Gt133 + gt22L*Gt233 + - gt23L*Gt333)*Xt3L + (Gt123*gt13L + Gt223*gt23L + Gt323*gt33L)*Xt3L + - 2*((Gt112*gt11L*Gt123 + Gt111*Gt123*gt12L + Gt111*Gt122*gt13L + - Gt123*gt12L*Gt212 + Gt112*gt13L*Gt222 + 2*Gt112*gt12L*Gt223 + - Gt123*Gt211*gt22L + 2*Gt212*Gt223*gt22L + Gt122*Gt211*gt23L + - Gt212*Gt222*gt23L + Gt123*gt23L*Gt311 + Gt123*gt13L*Gt312 + - 2*Gt223*gt23L*Gt312 + Gt113*gt13L*Gt322 + Gt213*gt23L*Gt322 + - Gt113*gt12L*Gt323 + Gt112*gt13L*Gt323 + Gt213*gt22L*Gt323 + - Gt212*gt23L*Gt323 + gt23L*Gt313*Gt323 + Gt122*Gt311*gt33L + - Gt222*Gt312*gt33L + Gt313*Gt322*gt33L + Gt312*Gt323*gt33L)*gtu12 + - (Gt112*gt11L*Gt133 + Gt111*gt12L*Gt133 + Gt111*Gt123*gt13L + - gt12L*Gt133*Gt212 + Gt112*gt13L*Gt223 + Gt133*Gt211*gt22L + - 2*Gt112*gt12L*Gt233 + 2*Gt212*gt22L*Gt233 + Gt123*Gt211*gt23L + - Gt212*Gt223*gt23L + Gt133*gt23L*Gt311 + Gt133*gt13L*Gt312 + - 2*Gt233*gt23L*Gt312 + Gt113*gt13L*Gt323 + Gt213*gt23L*Gt323 + - Gt113*gt12L*Gt333 + Gt112*gt13L*Gt333 + Gt213*gt22L*Gt333 + - Gt212*gt23L*Gt333 + gt23L*Gt313*Gt333 + Gt123*Gt311*gt33L + - Gt223*Gt312*gt33L + Gt313*Gt323*gt33L + Gt312*Gt333*gt33L)*gtu13 + - gtu12*(Gt113*gt11L*Gt122 + Gt122*gt13L*Gt212 + 2*Gt122*gt12L*Gt213 + - Gt113*gt12L*Gt222 + Gt113*Gt212*gt22L + 2*Gt213*Gt222*gt22L + - Gt212*Gt222*gt23L + Gt123*gt13L*Gt312 + Gt113*gt23L*Gt312 + - Gt223*gt23L*Gt312 + Gt123*gt12L*Gt313 + Gt122*gt13L*Gt313 + - Gt223*gt22L*Gt313 + Gt222*gt23L*Gt313 + Gt113*gt13L*Gt322 + - 2*Gt213*gt23L*Gt322 + gt23L*Gt313*Gt323 + Gt212*Gt322*gt33L + - Gt313*Gt322*gt33L + Gt312*Gt323*gt33L + Gt112*(Gt113*gt12L + - Gt212*gt23L + Gt312*gt33L) + gt13L*SQR(Gt112))) + - 2*gtu13*(2*Gt213*Gt223*gt22L + Gt112*Gt213*gt23L + Gt212*Gt223*gt23L + - Gt133*gt13L*Gt312 + Gt233*gt23L*Gt312 + gt12L*Gt133*Gt313 + - gt22L*Gt233*Gt313 + Gt223*gt23L*Gt313 + Gt123*(2*gt12L*Gt213 + - gt13L*(Gt212 + Gt313)) + 2*Gt213*gt23L*Gt323 + Gt113*(gt11L*Gt123 + - Gt112*gt13L + gt12L*Gt223 + Gt213*gt22L + gt23L*Gt313 + gt13L*Gt323) + - gt23L*Gt313*Gt333 + Gt112*Gt313*gt33L + Gt212*Gt323*gt33L + - Gt313*Gt323*gt33L + Gt312*Gt333*gt33L + gt12L*SQR(Gt113)) + - 2*gtu11*(Gt112*Gt113*gt11L + Gt111*Gt113*gt12L + Gt111*Gt112*gt13L + - Gt113*gt12L*Gt212 + Gt112*gt13L*Gt212 + 2*Gt112*gt12L*Gt213 + - Gt113*Gt211*gt22L + 2*Gt212*Gt213*gt22L + Gt112*Gt211*gt23L + - Gt113*gt23L*Gt311 + 2*Gt113*gt13L*Gt312 + 3*Gt213*gt23L*Gt312 + - Gt113*gt12L*Gt313 + Gt112*gt13L*Gt313 + Gt213*gt22L*Gt313 + - Gt212*gt23L*Gt313 + Gt112*Gt311*gt33L + Gt212*Gt312*gt33L + - 2*Gt312*Gt313*gt33L + gt23L*SQR(Gt212) + gt23L*SQR(Gt313)) + - 2*gtu22*(gt11L*Gt122*Gt123 + Gt112*Gt123*gt12L + Gt112*Gt122*gt13L + - Gt123*gt12L*Gt222 + Gt122*gt13L*Gt222 + 2*Gt122*gt12L*Gt223 + - Gt123*Gt212*gt22L + 2*Gt222*Gt223*gt22L + Gt122*Gt212*gt23L + - Gt123*gt23L*Gt312 + 2*Gt123*gt13L*Gt322 + 3*Gt223*gt23L*Gt322 + - Gt123*gt12L*Gt323 + Gt122*gt13L*Gt323 + Gt223*gt22L*Gt323 + - Gt222*gt23L*Gt323 + Gt122*Gt312*gt33L + Gt222*Gt322*gt33L + - 2*Gt322*Gt323*gt33L + gt23L*SQR(Gt222) + gt23L*SQR(Gt323)) + - 2*gtu23*(gt11L*Gt122*Gt133 + Gt112*gt12L*Gt133 + Gt112*Gt123*gt13L + - gt12L*Gt133*Gt222 + Gt122*gt13L*Gt223 + Gt133*Gt212*gt22L + - 2*Gt122*gt12L*Gt233 + 2*Gt222*gt22L*Gt233 + Gt123*Gt212*gt23L + - Gt222*Gt223*gt23L + Gt133*gt23L*Gt312 + Gt133*gt13L*Gt322 + - 2*Gt233*gt23L*Gt322 + Gt123*gt13L*Gt323 + Gt223*gt23L*Gt323 + - Gt123*gt12L*Gt333 + Gt122*gt13L*Gt333 + Gt223*gt22L*Gt333 + - Gt222*gt23L*Gt333 + gt23L*Gt323*Gt333 + Gt123*Gt312*gt33L + - Gt223*Gt322*gt33L + Gt322*Gt333*gt33L + gt33L*SQR(Gt323)) + - 2*gtu23*(Gt113*Gt123*gt12L + Gt113*Gt122*gt13L + Gt123*gt13L*Gt222 + - 3*Gt123*gt12L*Gt223 + Gt123*Gt213*gt22L + Gt122*Gt213*gt23L + - Gt222*Gt223*gt23L + Gt123*gt23L*Gt313 + Gt133*gt13L*Gt322 + - Gt233*gt23L*Gt322 + gt12L*Gt133*Gt323 + 2*Gt123*gt13L*Gt323 + - gt22L*Gt233*Gt323 + 3*Gt223*gt23L*Gt323 + gt23L*Gt323*Gt333 + - Gt122*Gt313*gt33L + Gt222*Gt323*gt33L + Gt322*Gt333*gt33L + - gt11L*SQR(Gt123) + 2*gt22L*SQR(Gt223) + gt33L*SQR(Gt323)) + - 2*gtu33*(gt11L*Gt123*Gt133 + Gt113*gt12L*Gt133 + Gt113*Gt123*gt13L + - gt12L*Gt133*Gt223 + Gt123*gt13L*Gt223 + Gt133*Gt213*gt22L + - 2*Gt123*gt12L*Gt233 + 2*Gt223*gt22L*Gt233 + Gt123*Gt213*gt23L + - Gt133*gt23L*Gt313 + 2*Gt133*gt13L*Gt323 + 3*Gt233*gt23L*Gt323 + - gt12L*Gt133*Gt333 + Gt123*gt13L*Gt333 + gt22L*Gt233*Gt333 + - Gt223*gt23L*Gt333 + Gt123*Gt313*gt33L + Gt223*Gt323*gt33L + - 2*Gt323*Gt333*gt33L + gt23L*SQR(Gt223) + gt23L*SQR(Gt333))); - - CCTK_REAL Rt33 = 4*(Gt133*gt13L*Gt313*gtu13 + Gt233*gt23L*Gt313*gtu13 - + Gt113*gt13L*Gt333*gtu13 + Gt213*gt23L*Gt333*gtu13 + - Gt123*gt13L*Gt323*gtu22 + Gt133*gt13L*Gt323*gtu23 + - Gt123*gt13L*Gt333*gtu23 + Gt223*gt23L*Gt333*gtu23 + - Gt133*gt13L*Gt333*gtu33) + gtu12*(2*Gt212*Gt223*gt23L + - 4*Gt123*gt13L*Gt313 + 4*Gt223*gt23L*Gt313 + 4*Gt113*gt13L*Gt323 + - 4*Gt213*gt23L*Gt323 + 2*Gt123*Gt311*gt33L - PDstandardNth12gt33) - - gtu13*PDstandardNth13gt33 - gtu22*khalf*PDstandardNth22gt33 - - gtu23*PDstandardNth23gt33 - gtu33*khalf*PDstandardNth33gt33 + + gt23L*PDstandardNth3Xt3 + Gtl213*Xtn1 + Gtl312*Xtn1 + Gtl223*Xtn2 + + Gtl322*Xtn2 + Gtl233*Xtn3 + Gtl323*Xtn3); + + CCTK_REAL Rt33 = Gt113*(Gtlu131 + 2*Gtlu311) + Gt123*(Gtlu132 + + 2*Gtlu312) + Gt133*(Gtlu133 + 2*Gtlu313) + Gt213*(Gtlu231 + 2*Gtlu321) + + Gt223*(Gtlu232 + 2*Gtlu322) + Gt233*(Gtlu233 + 2*Gtlu323) + + 3*(Gt313*Gtlu331 + Gt323*Gtlu332 + Gt333*Gtlu333) + + khalf*(-(gtu11*PDstandardNth11gt33) - 2*gtu12*PDstandardNth12gt33 - + 2*gtu13*PDstandardNth13gt33 - gtu22*PDstandardNth22gt33 - + 2*gtu23*PDstandardNth23gt33 - gtu33*PDstandardNth33gt33) + gt13L*PDstandardNth3Xt1 + gt23L*PDstandardNth3Xt2 + - gt33L*(2*Gt213*Gt322*gtu12 + 6*Gt313*Gt323*gtu12 + 2*Gt133*Gt311*gtu13 - + 2*Gt213*Gt323*gtu13 + 6*Gt313*Gt333*gtu13 + 2*Gt123*Gt312*gtu22 + - 2*Gt133*Gt312*gtu23 + 2*Gt133*Gt313*gtu33 + PDstandardNth3Xt3) + - Gt113*gt13L*Xt1L + Gt213*gt23L*Xt1L + Gt313*gt33L*Xt1L + - Gt123*gt13L*Xt2L + Gt223*(4*gt23L*Gt323*gtu22 + 2*Gt322*gt33L*gtu22 + - 2*gt12L*Gt133*gtu23 + 2*Gt233*gt23L*gtu33 + gt23L*Xt2L) + - Gt323*(2*Gt223*gt33L*gtu23 + 6*Gt333*gt33L*gtu23 + 2*Gt233*gt33L*gtu33 - + gt33L*Xt2L) + Gt133*gt13L*Xt3L + Gt333*gt33L*Xt3L + - Gt233*(2*Gt222*gt23L*gtu23 + 4*gt23L*Gt323*gtu23 + 2*gt12L*Gt133*gtu33 - + 4*gt23L*Gt333*gtu33 + gt23L*Xt3L) + gtu11*(2*Gt212*Gt213*gt23L + - 4*Gt113*gt13L*Gt313 + 4*Gt213*gt23L*Gt313 + 2*Gt113*Gt311*gt33L + - 2*Gt213*Gt312*gt33L - khalf*PDstandardNth11gt33 + gt11L*SQR(Gt113)) + - 2*(Gt111*Gt113*gt13L*gtu11 + Gt113*gt12L*Gt213*gtu11 + - Gt112*gt13L*Gt213*gtu11 + Gt113*Gt211*gt23L*gtu11 + - Gt113*gt11L*Gt123*gtu12 + Gt112*Gt113*gt13L*gtu12 + - Gt111*Gt123*gt13L*gtu12 + Gt123*gt12L*Gt213*gtu12 + - Gt122*gt13L*Gt213*gtu12 + Gt113*gt12L*Gt223*gtu12 + - Gt112*gt13L*Gt223*gtu12 + Gt213*Gt223*gt22L*gtu12 + - Gt123*Gt211*gt23L*gtu12 + Gt113*Gt212*gt23L*gtu12 + - Gt213*Gt222*gt23L*gtu12 + Gt113*Gt312*gt33L*gtu12 + - Gt223*Gt312*gt33L*gtu12 + Gt113*gt11L*Gt133*gtu13 + - Gt111*Gt133*gt13L*gtu13 + gt12L*Gt133*Gt213*gtu13 + - Gt123*gt13L*Gt213*gtu13 + Gt113*gt12L*Gt233*gtu13 + - Gt112*gt13L*Gt233*gtu13 + Gt213*gt22L*Gt233*gtu13 + - Gt133*Gt211*gt23L*gtu13 + Gt113*Gt213*gt23L*gtu13 + - Gt213*Gt223*gt23L*gtu13 + Gt212*Gt233*gt23L*gtu13 + - Gt233*Gt312*gt33L*gtu13 + Gt113*Gt313*gt33L*gtu13 + - Gt112*Gt123*gt13L*gtu22 + Gt123*gt12L*Gt223*gtu22 + - Gt122*gt13L*Gt223*gtu22 + Gt123*Gt212*gt23L*gtu22 + - Gt222*Gt223*gt23L*gtu22 + gt11L*Gt123*Gt133*gtu23 + - Gt113*Gt123*gt13L*gtu23 + Gt112*Gt133*gt13L*gtu23 + - Gt123*gt13L*Gt223*gtu23 + Gt123*gt12L*Gt233*gtu23 + - Gt122*gt13L*Gt233*gtu23 + Gt223*gt22L*Gt233*gtu23 + - Gt133*Gt212*gt23L*gtu23 + Gt123*Gt213*gt23L*gtu23 + - Gt123*Gt313*gt33L*gtu23 + Gt233*Gt322*gt33L*gtu23 + - Gt113*Gt133*gt13L*gtu33 + Gt123*gt13L*Gt233*gtu33 + - Gt133*Gt213*gt23L*gtu33 + gt13L*gtu13*SQR(Gt113)) + - gt11L*gtu22*SQR(Gt123) + gt11L*gtu33*SQR(Gt133) + - gt22L*gtu11*SQR(Gt213) + gt22L*gtu22*SQR(Gt223) + - 2*gt23L*gtu23*SQR(Gt223) + gt22L*gtu33*SQR(Gt233) + - 3*gt33L*gtu11*SQR(Gt313) + 3*gt33L*gtu22*SQR(Gt323) + - 3*gt33L*gtu33*SQR(Gt333); + gt33L*PDstandardNth3Xt3 + Gtl313*Xtn1 + Gtl323*Xtn2 + Gtl333*Xtn3; CCTK_REAL fac1 = IfThen(conformalMethod,-(khalf*INV(phiL)),1); @@ -893,23 +645,8 @@ void ML_BSSN_O8_constraints1_Body(cGH const * restrict const cctkGH, int const d SQR(Atm22) + SQR(Atm33)) + 0.6666666666666666666666666666666666666667*SQR(trKL); - CCTK_REAL cSL = Log(detgt); - - CCTK_REAL cXt1L = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu12 + - Gt113*gtu13 + Gt123*gtu23) + Gt133*gtu33 - Xt1L; - - CCTK_REAL cXt2L = Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu12 + - Gt213*gtu13 + Gt223*gtu23) + Gt233*gtu33 - Xt2L; - - CCTK_REAL cXt3L = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu12 + - Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33 - Xt3L; - /* Copy local copies back to grid functions */ - cS[index] = cSL; - cXt1[index] = cXt1L; - cXt2[index] = cXt2L; - cXt3[index] = cXt3L; H[index] = HL; } LC_ENDLOOP3 (ML_BSSN_O8_constraints1); diff --git a/ML_BSSN_O8/src/ML_BSSN_O8_constraints2.c b/ML_BSSN_O8/src/ML_BSSN_O8_constraints2.c index 93538c7..421f6ec 100644 --- a/ML_BSSN_O8/src/ML_BSSN_O8_constraints2.c +++ b/ML_BSSN_O8/src/ML_BSSN_O8_constraints2.c @@ -26,6 +26,12 @@ void ML_BSSN_O8_constraints2_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_PARAMETERS; CCTK_INT ierr = 0; + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_O8::ML_cons_detg","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_O8::ML_cons_detg."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_O8::ML_cons_Gamma","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_O8::ML_cons_Gamma."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_O8::ML_cons_traceA","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_O8::ML_cons_traceA."); @@ -53,9 +59,6 @@ void ML_BSSN_O8_constraints2_Body(cGH const * restrict const cctkGH, int const d return; } - const char *groups[] = {"ML_BSSN_O8::ML_cons_traceA","ML_BSSN_O8::ML_curv","ML_BSSN_O8::ML_lapse","ML_BSSN_O8::ML_log_confac","ML_BSSN_O8::ML_metric","ML_BSSN_O8::ML_mom","ML_BSSN_O8::ML_shift","ML_BSSN_O8::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O8_constraints2", 8, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -183,6 +186,9 @@ void ML_BSSN_O8_constraints2_Body(cGH const * restrict const cctkGH, int const d CCTK_REAL gt33L = gt33[index]; CCTK_REAL phiL = phi[index]; CCTK_REAL trKL = trK[index]; + CCTK_REAL Xt1L = Xt1[index]; + CCTK_REAL Xt2L = Xt2[index]; + CCTK_REAL Xt3L = Xt3[index]; /* Include user supplied include files */ @@ -245,77 +251,80 @@ void ML_BSSN_O8_constraints2_Body(cGH const * restrict const cctkGH, int const d CCTK_REAL gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L)); - CCTK_REAL Gt111 = khalf*(gtu11*PDstandardNth1gt11 + - 2*(gtu12*PDstandardNth1gt12 + gtu13*PDstandardNth1gt13) - - gtu12*PDstandardNth2gt11 - gtu13*PDstandardNth3gt11); + CCTK_REAL Gtl111 = khalf*PDstandardNth1gt11; + + CCTK_REAL Gtl112 = khalf*PDstandardNth2gt11; + + CCTK_REAL Gtl113 = khalf*PDstandardNth3gt11; + + CCTK_REAL Gtl122 = -(khalf*PDstandardNth1gt22) + PDstandardNth2gt12; + + CCTK_REAL Gtl123 = khalf*(-PDstandardNth1gt23 + PDstandardNth2gt13 + + PDstandardNth3gt12); + + CCTK_REAL Gtl133 = -(khalf*PDstandardNth1gt33) + PDstandardNth3gt13; + + CCTK_REAL Gtl211 = PDstandardNth1gt12 - khalf*PDstandardNth2gt11; + + CCTK_REAL Gtl212 = khalf*PDstandardNth1gt22; + + CCTK_REAL Gtl213 = khalf*(PDstandardNth1gt23 - PDstandardNth2gt13 + + PDstandardNth3gt12); + + CCTK_REAL Gtl222 = khalf*PDstandardNth2gt22; + + CCTK_REAL Gtl223 = khalf*PDstandardNth3gt22; - CCTK_REAL Gt211 = khalf*(gtu12*PDstandardNth1gt11 + - 2*(gtu22*PDstandardNth1gt12 + gtu23*PDstandardNth1gt13) - - gtu22*PDstandardNth2gt11 - gtu23*PDstandardNth3gt11); + CCTK_REAL Gtl233 = -(khalf*PDstandardNth2gt33) + PDstandardNth3gt23; - CCTK_REAL Gt311 = khalf*(gtu13*PDstandardNth1gt11 + - 2*(gtu23*PDstandardNth1gt12 + gtu33*PDstandardNth1gt13) - - gtu23*PDstandardNth2gt11 - gtu33*PDstandardNth3gt11); + CCTK_REAL Gtl311 = PDstandardNth1gt13 - khalf*PDstandardNth3gt11; - CCTK_REAL Gt112 = khalf*(gtu12*PDstandardNth1gt22 + - gtu11*PDstandardNth2gt11 + gtu13*(PDstandardNth1gt23 + - PDstandardNth2gt13 - PDstandardNth3gt12)); + CCTK_REAL Gtl312 = khalf*(PDstandardNth1gt23 + PDstandardNth2gt13 - + PDstandardNth3gt12); - CCTK_REAL Gt212 = khalf*(gtu22*PDstandardNth1gt22 + - gtu12*PDstandardNth2gt11 + gtu23*(PDstandardNth1gt23 + - PDstandardNth2gt13 - PDstandardNth3gt12)); + CCTK_REAL Gtl313 = khalf*PDstandardNth1gt33; - CCTK_REAL Gt312 = khalf*(gtu23*PDstandardNth1gt22 + - gtu13*PDstandardNth2gt11 + gtu33*(PDstandardNth1gt23 + - PDstandardNth2gt13 - PDstandardNth3gt12)); + CCTK_REAL Gtl322 = PDstandardNth2gt23 - khalf*PDstandardNth3gt22; - CCTK_REAL Gt113 = khalf*(gtu13*PDstandardNth1gt33 + - gtu11*PDstandardNth3gt11 + gtu12*(PDstandardNth1gt23 - - PDstandardNth2gt13 + PDstandardNth3gt12)); + CCTK_REAL Gtl323 = khalf*PDstandardNth2gt33; - CCTK_REAL Gt213 = khalf*(gtu23*PDstandardNth1gt33 + - gtu12*PDstandardNth3gt11 + gtu22*(PDstandardNth1gt23 - - PDstandardNth2gt13 + PDstandardNth3gt12)); + CCTK_REAL Gtl333 = khalf*PDstandardNth3gt33; - CCTK_REAL Gt313 = khalf*(gtu33*PDstandardNth1gt33 + - gtu13*PDstandardNth3gt11 + gtu23*(PDstandardNth1gt23 - - PDstandardNth2gt13 + PDstandardNth3gt12)); + CCTK_REAL Gt111 = Gtl111*gtu11 + Gtl211*gtu12 + Gtl311*gtu13; - CCTK_REAL Gt122 = khalf*(gtu11*(-PDstandardNth1gt22 + - 2*PDstandardNth2gt12) + gtu12*PDstandardNth2gt22 + - gtu13*(2*PDstandardNth2gt23 - PDstandardNth3gt22)); + CCTK_REAL Gt211 = Gtl111*gtu12 + Gtl211*gtu22 + Gtl311*gtu23; - CCTK_REAL Gt222 = khalf*(gtu12*(-PDstandardNth1gt22 + - 2*PDstandardNth2gt12) + gtu22*PDstandardNth2gt22 + - gtu23*(2*PDstandardNth2gt23 - PDstandardNth3gt22)); + CCTK_REAL Gt311 = Gtl111*gtu13 + Gtl211*gtu23 + Gtl311*gtu33; - CCTK_REAL Gt322 = khalf*(gtu13*(-PDstandardNth1gt22 + - 2*PDstandardNth2gt12) + gtu23*PDstandardNth2gt22 + - gtu33*(2*PDstandardNth2gt23 - PDstandardNth3gt22)); + CCTK_REAL Gt112 = Gtl112*gtu11 + Gtl212*gtu12 + Gtl312*gtu13; - CCTK_REAL Gt123 = khalf*(gtu13*PDstandardNth2gt33 + - gtu11*(-PDstandardNth1gt23 + PDstandardNth2gt13 + PDstandardNth3gt12) + - gtu12*PDstandardNth3gt22); + CCTK_REAL Gt212 = Gtl112*gtu12 + Gtl212*gtu22 + Gtl312*gtu23; - CCTK_REAL Gt223 = khalf*(gtu23*PDstandardNth2gt33 + - gtu12*(-PDstandardNth1gt23 + PDstandardNth2gt13 + PDstandardNth3gt12) + - gtu22*PDstandardNth3gt22); + CCTK_REAL Gt312 = Gtl112*gtu13 + Gtl212*gtu23 + Gtl312*gtu33; - CCTK_REAL Gt323 = khalf*(gtu33*PDstandardNth2gt33 + - gtu13*(-PDstandardNth1gt23 + PDstandardNth2gt13 + PDstandardNth3gt12) + - gtu23*PDstandardNth3gt22); + CCTK_REAL Gt113 = Gtl113*gtu11 + Gtl213*gtu12 + Gtl313*gtu13; - CCTK_REAL Gt133 = khalf*(-(gtu11*PDstandardNth1gt33) - - gtu12*PDstandardNth2gt33 + 2*gtu11*PDstandardNth3gt13 + - 2*gtu12*PDstandardNth3gt23 + gtu13*PDstandardNth3gt33); + CCTK_REAL Gt213 = Gtl113*gtu12 + Gtl213*gtu22 + Gtl313*gtu23; - CCTK_REAL Gt233 = khalf*(-(gtu12*PDstandardNth1gt33) - - gtu22*PDstandardNth2gt33 + 2*gtu12*PDstandardNth3gt13 + - 2*gtu22*PDstandardNth3gt23 + gtu23*PDstandardNth3gt33); + CCTK_REAL Gt313 = Gtl113*gtu13 + Gtl213*gtu23 + Gtl313*gtu33; - CCTK_REAL Gt333 = khalf*(-(gtu13*PDstandardNth1gt33) - - gtu23*PDstandardNth2gt33 + 2*gtu13*PDstandardNth3gt13 + - 2*gtu23*PDstandardNth3gt23 + gtu33*PDstandardNth3gt33); + CCTK_REAL Gt122 = Gtl122*gtu11 + Gtl222*gtu12 + Gtl322*gtu13; + + CCTK_REAL Gt222 = Gtl122*gtu12 + Gtl222*gtu22 + Gtl322*gtu23; + + CCTK_REAL Gt322 = Gtl122*gtu13 + Gtl222*gtu23 + Gtl322*gtu33; + + CCTK_REAL Gt123 = Gtl123*gtu11 + Gtl223*gtu12 + Gtl323*gtu13; + + CCTK_REAL Gt223 = Gtl123*gtu12 + Gtl223*gtu22 + Gtl323*gtu23; + + CCTK_REAL Gt323 = Gtl123*gtu13 + Gtl223*gtu23 + Gtl323*gtu33; + + CCTK_REAL Gt133 = Gtl133*gtu11 + Gtl233*gtu12 + Gtl333*gtu13; + + CCTK_REAL Gt233 = Gtl133*gtu12 + Gtl233*gtu22 + Gtl333*gtu23; + + CCTK_REAL Gt333 = Gtl133*gtu13 + Gtl233*gtu23 + Gtl333*gtu33; CCTK_REAL fac1 = IfThen(conformalMethod,-(khalf*INV(phiL)),1); @@ -389,12 +398,27 @@ void ML_BSSN_O8_constraints2_Body(cGH const * restrict const cctkGH, int const d 0.6666666666666666666666666666666666666667*PDstandardNth3trK - 25.13274122871834590770114706623602307358*S3; + CCTK_REAL cSL = Log(detgt); + + CCTK_REAL cXt1L = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu12 + + Gt113*gtu13 + Gt123*gtu23) + Gt133*gtu33 - Xt1L; + + CCTK_REAL cXt2L = Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu12 + + Gt213*gtu13 + Gt223*gtu23) + Gt233*gtu33 - Xt2L; + + CCTK_REAL cXt3L = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu12 + + Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33 - Xt3L; + CCTK_REAL cAL = At11L*gtu11 + At22L*gtu22 + 2*(At12L*gtu12 + At13L*gtu13 + At23L*gtu23) + At33L*gtu33; /* Copy local copies back to grid functions */ cA[index] = cAL; + cS[index] = cSL; + cXt1[index] = cXt1L; + cXt2[index] = cXt2L; + cXt3[index] = cXt3L; M1[index] = M1L; M2[index] = M2L; M3[index] = M3L; diff --git a/ML_BSSN_O8/src/ML_BSSN_O8_convertFromADMBase.c b/ML_BSSN_O8/src/ML_BSSN_O8_convertFromADMBase.c index ba76bae..9e6012f 100644 --- a/ML_BSSN_O8/src/ML_BSSN_O8_convertFromADMBase.c +++ b/ML_BSSN_O8/src/ML_BSSN_O8_convertFromADMBase.c @@ -38,9 +38,6 @@ void ML_BSSN_O8_convertFromADMBase_Body(cGH const * restrict const cctkGH, int c return; } - const char *groups[] = {"ADMBase::curv","ADMBase::lapse","ADMBase::metric","ADMBase::shift","ML_BSSN_O8::ML_curv","ML_BSSN_O8::ML_lapse","ML_BSSN_O8::ML_log_confac","ML_BSSN_O8::ML_metric","ML_BSSN_O8::ML_shift","ML_BSSN_O8::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O8_convertFromADMBase", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_O8/src/ML_BSSN_O8_convertFromADMBaseGamma.c b/ML_BSSN_O8/src/ML_BSSN_O8_convertFromADMBaseGamma.c index 1554cab..9ac713d 100644 --- a/ML_BSSN_O8/src/ML_BSSN_O8_convertFromADMBaseGamma.c +++ b/ML_BSSN_O8/src/ML_BSSN_O8_convertFromADMBaseGamma.c @@ -56,9 +56,6 @@ void ML_BSSN_O8_convertFromADMBaseGamma_Body(cGH const * restrict const cctkGH, return; } - const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","grid::coordinates","Grid::coordinates","ML_BSSN_O8::ML_dtlapse","ML_BSSN_O8::ML_dtshift","ML_BSSN_O8::ML_Gamma","ML_BSSN_O8::ML_lapse","ML_BSSN_O8::ML_metric","ML_BSSN_O8::ML_shift"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O8_convertFromADMBaseGamma", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_O8/src/ML_BSSN_O8_convertToADMBase.c b/ML_BSSN_O8/src/ML_BSSN_O8_convertToADMBase.c index db519e8..ecbf6bc 100644 --- a/ML_BSSN_O8/src/ML_BSSN_O8_convertToADMBase.c +++ b/ML_BSSN_O8/src/ML_BSSN_O8_convertToADMBase.c @@ -38,9 +38,6 @@ void ML_BSSN_O8_convertToADMBase_Body(cGH const * restrict const cctkGH, int con return; } - const char *groups[] = {"ADMBase::curv","ADMBase::lapse","ADMBase::metric","ADMBase::shift","ML_BSSN_O8::ML_curv","ML_BSSN_O8::ML_lapse","ML_BSSN_O8::ML_log_confac","ML_BSSN_O8::ML_metric","ML_BSSN_O8::ML_shift","ML_BSSN_O8::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O8_convertToADMBase", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_O8/src/ML_BSSN_O8_convertToADMBaseDtLapseShift.c b/ML_BSSN_O8/src/ML_BSSN_O8_convertToADMBaseDtLapseShift.c index a14a2af..4b00d04 100644 --- a/ML_BSSN_O8/src/ML_BSSN_O8_convertToADMBaseDtLapseShift.c +++ b/ML_BSSN_O8/src/ML_BSSN_O8_convertToADMBaseDtLapseShift.c @@ -53,9 +53,6 @@ void ML_BSSN_O8_convertToADMBaseDtLapseShift_Body(cGH const * restrict const cct return; } - const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","grid::coordinates","Grid::coordinates","ML_BSSN_O8::ML_dtlapse","ML_BSSN_O8::ML_dtshift","ML_BSSN_O8::ML_Gamma","ML_BSSN_O8::ML_lapse","ML_BSSN_O8::ML_shift","ML_BSSN_O8::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O8_convertToADMBaseDtLapseShift", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_O8/src/ML_BSSN_O8_convertToADMBaseDtLapseShiftBoundary.c b/ML_BSSN_O8/src/ML_BSSN_O8_convertToADMBaseDtLapseShiftBoundary.c index 3c8de59..b32257b 100644 --- a/ML_BSSN_O8/src/ML_BSSN_O8_convertToADMBaseDtLapseShiftBoundary.c +++ b/ML_BSSN_O8/src/ML_BSSN_O8_convertToADMBaseDtLapseShiftBoundary.c @@ -53,9 +53,6 @@ void ML_BSSN_O8_convertToADMBaseDtLapseShiftBoundary_Body(cGH const * restrict c return; } - const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","grid::coordinates","Grid::coordinates","ML_BSSN_O8::ML_dtlapse","ML_BSSN_O8::ML_dtshift","ML_BSSN_O8::ML_Gamma","ML_BSSN_O8::ML_lapse","ML_BSSN_O8::ML_shift","ML_BSSN_O8::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O8_convertToADMBaseDtLapseShiftBoundary", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_O8/src/ML_BSSN_O8_convertToADMBaseFakeDtLapseShift.c b/ML_BSSN_O8/src/ML_BSSN_O8_convertToADMBaseFakeDtLapseShift.c index 43899bd..72a523b 100644 --- a/ML_BSSN_O8/src/ML_BSSN_O8_convertToADMBaseFakeDtLapseShift.c +++ b/ML_BSSN_O8/src/ML_BSSN_O8_convertToADMBaseFakeDtLapseShift.c @@ -38,9 +38,6 @@ void ML_BSSN_O8_convertToADMBaseFakeDtLapseShift_Body(cGH const * restrict const return; } - const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","grid::coordinates","Grid::coordinates","ML_BSSN_O8::ML_dtlapse","ML_BSSN_O8::ML_dtshift","ML_BSSN_O8::ML_Gamma","ML_BSSN_O8::ML_lapse","ML_BSSN_O8::ML_shift","ML_BSSN_O8::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O8_convertToADMBaseFakeDtLapseShift", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_O8/src/ML_BSSN_O8_enforce.c b/ML_BSSN_O8/src/ML_BSSN_O8_enforce.c index 98da266..6c02be5 100644 --- a/ML_BSSN_O8/src/ML_BSSN_O8_enforce.c +++ b/ML_BSSN_O8/src/ML_BSSN_O8_enforce.c @@ -38,9 +38,6 @@ void ML_BSSN_O8_enforce_Body(cGH const * restrict const cctkGH, int const dir, i return; } - const char *groups[] = {"ML_BSSN_O8::ML_curv","ML_BSSN_O8::ML_lapse","ML_BSSN_O8::ML_metric"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O8_enforce", 3, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_O8_Helper/schedule.ccl b/ML_BSSN_O8_Helper/schedule.ccl index b3f7a31..68576a6 100644 --- a/ML_BSSN_O8_Helper/schedule.ccl +++ b/ML_BSSN_O8_Helper/schedule.ccl @@ -139,15 +139,15 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN_O8")) { } else if (CCTK_EQUALS (calculate_ADMBase_variables_at, "CCTK_ANALYSIS")) { + SCHEDULE GROUP ML_BSSN_O8_convertToADMBaseGroupWrapper AT post_recover_variables + { + } "Calculate ADM variables" + SCHEDULE GROUP ML_BSSN_O8_convertToADMBaseGroupWrapper AT analysis BEFORE (ADMBase_SetADMVars Whisky_PostStep) { } "Calculate ADM variables" } - SCHEDULE GROUP ML_BSSN_O8_convertToADMBaseGroupWrapper AT post_recover_variables - { - } "Calculate ADM variables" - SCHEDULE ML_BSSN_O8_SelectBCsADMBase IN ML_BSSN_O8_convertToADMBaseGroupWrapper AFTER ML_BSSN_O8_convertToADMBaseGroup { LANG: C diff --git a/ML_BSSN_UPW/param.ccl b/ML_BSSN_UPW/param.ccl index ef84a47..a8fd8fd 100644 --- a/ML_BSSN_UPW/param.ccl +++ b/ML_BSSN_UPW/param.ccl @@ -37,11 +37,6 @@ EXTENDS CCTK_KEYWORD dtshift_evolution_method "dtshift_evolution_method" shares: GenericFD -USES CCTK_INT stencil_width -USES CCTK_INT stencil_width_x -USES CCTK_INT stencil_width_y -USES CCTK_INT stencil_width_z -USES CCTK_INT boundary_width shares: MethodOfLines @@ -49,7 +44,7 @@ shares: MethodOfLines USES CCTK_INT MoL_Num_Evolved_Vars restricted: -CCTK_INT verbose "verbose" +CCTK_INT verbose "verbose" STEERABLE=ALWAYS { *:* :: "" } 0 @@ -195,193 +190,193 @@ KEYWORD dt_lapse_shift_method "Treatment of ADMBase dtlapse and dtshift" } "correct" restricted: -CCTK_INT ML_BSSN_UPW_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars +CCTK_INT ML_BSSN_UPW_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars STEERABLE=RECOVER { 25:25 :: "Number of evolved variables used by this thorn" } 25 restricted: -CCTK_INT timelevels "Number of active timelevels" +CCTK_INT timelevels "Number of active timelevels" STEERABLE=RECOVER { 0:3 :: "" } 3 restricted: -CCTK_INT rhs_timelevels "Number of active RHS timelevels" +CCTK_INT rhs_timelevels "Number of active RHS timelevels" STEERABLE=RECOVER { 0:3 :: "" } 1 restricted: -CCTK_INT ML_BSSN_UPW_Minkowski_calc_every "ML_BSSN_UPW_Minkowski_calc_every" +CCTK_INT ML_BSSN_UPW_Minkowski_calc_every "ML_BSSN_UPW_Minkowski_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_UPW_convertFromADMBase_calc_every "ML_BSSN_UPW_convertFromADMBase_calc_every" +CCTK_INT ML_BSSN_UPW_convertFromADMBase_calc_every "ML_BSSN_UPW_convertFromADMBase_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_UPW_convertFromADMBaseGamma_calc_every "ML_BSSN_UPW_convertFromADMBaseGamma_calc_every" +CCTK_INT ML_BSSN_UPW_convertFromADMBaseGamma_calc_every "ML_BSSN_UPW_convertFromADMBaseGamma_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_UPW_RHS1_calc_every "ML_BSSN_UPW_RHS1_calc_every" +CCTK_INT ML_BSSN_UPW_RHS1_calc_every "ML_BSSN_UPW_RHS1_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_UPW_RHS2_calc_every "ML_BSSN_UPW_RHS2_calc_every" +CCTK_INT ML_BSSN_UPW_RHS2_calc_every "ML_BSSN_UPW_RHS2_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_UPW_RHSStaticBoundary_calc_every "ML_BSSN_UPW_RHSStaticBoundary_calc_every" +CCTK_INT ML_BSSN_UPW_RHSStaticBoundary_calc_every "ML_BSSN_UPW_RHSStaticBoundary_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_UPW_enforce_calc_every "ML_BSSN_UPW_enforce_calc_every" +CCTK_INT ML_BSSN_UPW_enforce_calc_every "ML_BSSN_UPW_enforce_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_UPW_boundary_calc_every "ML_BSSN_UPW_boundary_calc_every" +CCTK_INT ML_BSSN_UPW_boundary_calc_every "ML_BSSN_UPW_boundary_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_UPW_convertToADMBase_calc_every "ML_BSSN_UPW_convertToADMBase_calc_every" +CCTK_INT ML_BSSN_UPW_convertToADMBase_calc_every "ML_BSSN_UPW_convertToADMBase_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_UPW_convertToADMBaseDtLapseShift_calc_every "ML_BSSN_UPW_convertToADMBaseDtLapseShift_calc_every" +CCTK_INT ML_BSSN_UPW_convertToADMBaseDtLapseShift_calc_every "ML_BSSN_UPW_convertToADMBaseDtLapseShift_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_UPW_convertToADMBaseDtLapseShiftBoundary_calc_every "ML_BSSN_UPW_convertToADMBaseDtLapseShiftBoundary_calc_every" +CCTK_INT ML_BSSN_UPW_convertToADMBaseDtLapseShiftBoundary_calc_every "ML_BSSN_UPW_convertToADMBaseDtLapseShiftBoundary_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_UPW_convertToADMBaseFakeDtLapseShift_calc_every "ML_BSSN_UPW_convertToADMBaseFakeDtLapseShift_calc_every" +CCTK_INT ML_BSSN_UPW_convertToADMBaseFakeDtLapseShift_calc_every "ML_BSSN_UPW_convertToADMBaseFakeDtLapseShift_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_UPW_constraints1_calc_every "ML_BSSN_UPW_constraints1_calc_every" +CCTK_INT ML_BSSN_UPW_constraints1_calc_every "ML_BSSN_UPW_constraints1_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_UPW_constraints2_calc_every "ML_BSSN_UPW_constraints2_calc_every" +CCTK_INT ML_BSSN_UPW_constraints2_calc_every "ML_BSSN_UPW_constraints2_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_UPW_Minkowski_calc_offset "ML_BSSN_UPW_Minkowski_calc_offset" +CCTK_INT ML_BSSN_UPW_Minkowski_calc_offset "ML_BSSN_UPW_Minkowski_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_UPW_convertFromADMBase_calc_offset "ML_BSSN_UPW_convertFromADMBase_calc_offset" +CCTK_INT ML_BSSN_UPW_convertFromADMBase_calc_offset "ML_BSSN_UPW_convertFromADMBase_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_UPW_convertFromADMBaseGamma_calc_offset "ML_BSSN_UPW_convertFromADMBaseGamma_calc_offset" +CCTK_INT ML_BSSN_UPW_convertFromADMBaseGamma_calc_offset "ML_BSSN_UPW_convertFromADMBaseGamma_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_UPW_RHS1_calc_offset "ML_BSSN_UPW_RHS1_calc_offset" +CCTK_INT ML_BSSN_UPW_RHS1_calc_offset "ML_BSSN_UPW_RHS1_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_UPW_RHS2_calc_offset "ML_BSSN_UPW_RHS2_calc_offset" +CCTK_INT ML_BSSN_UPW_RHS2_calc_offset "ML_BSSN_UPW_RHS2_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_UPW_RHSStaticBoundary_calc_offset "ML_BSSN_UPW_RHSStaticBoundary_calc_offset" +CCTK_INT ML_BSSN_UPW_RHSStaticBoundary_calc_offset "ML_BSSN_UPW_RHSStaticBoundary_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_UPW_enforce_calc_offset "ML_BSSN_UPW_enforce_calc_offset" +CCTK_INT ML_BSSN_UPW_enforce_calc_offset "ML_BSSN_UPW_enforce_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_UPW_boundary_calc_offset "ML_BSSN_UPW_boundary_calc_offset" +CCTK_INT ML_BSSN_UPW_boundary_calc_offset "ML_BSSN_UPW_boundary_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_UPW_convertToADMBase_calc_offset "ML_BSSN_UPW_convertToADMBase_calc_offset" +CCTK_INT ML_BSSN_UPW_convertToADMBase_calc_offset "ML_BSSN_UPW_convertToADMBase_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_UPW_convertToADMBaseDtLapseShift_calc_offset "ML_BSSN_UPW_convertToADMBaseDtLapseShift_calc_offset" +CCTK_INT ML_BSSN_UPW_convertToADMBaseDtLapseShift_calc_offset "ML_BSSN_UPW_convertToADMBaseDtLapseShift_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_UPW_convertToADMBaseDtLapseShiftBoundary_calc_offset "ML_BSSN_UPW_convertToADMBaseDtLapseShiftBoundary_calc_offset" +CCTK_INT ML_BSSN_UPW_convertToADMBaseDtLapseShiftBoundary_calc_offset "ML_BSSN_UPW_convertToADMBaseDtLapseShiftBoundary_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_UPW_convertToADMBaseFakeDtLapseShift_calc_offset "ML_BSSN_UPW_convertToADMBaseFakeDtLapseShift_calc_offset" +CCTK_INT ML_BSSN_UPW_convertToADMBaseFakeDtLapseShift_calc_offset "ML_BSSN_UPW_convertToADMBaseFakeDtLapseShift_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_UPW_constraints1_calc_offset "ML_BSSN_UPW_constraints1_calc_offset" +CCTK_INT ML_BSSN_UPW_constraints1_calc_offset "ML_BSSN_UPW_constraints1_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_UPW_constraints2_calc_offset "ML_BSSN_UPW_constraints2_calc_offset" +CCTK_INT ML_BSSN_UPW_constraints2_calc_offset "ML_BSSN_UPW_constraints2_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 private: -KEYWORD At11_bound "Boundary condition to implement" +KEYWORD At11_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -393,7 +388,7 @@ KEYWORD At11_bound "Boundary condition to implement" } "skip" private: -KEYWORD At12_bound "Boundary condition to implement" +KEYWORD At12_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -405,7 +400,7 @@ KEYWORD At12_bound "Boundary condition to implement" } "skip" private: -KEYWORD At13_bound "Boundary condition to implement" +KEYWORD At13_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -417,7 +412,7 @@ KEYWORD At13_bound "Boundary condition to implement" } "skip" private: -KEYWORD At22_bound "Boundary condition to implement" +KEYWORD At22_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -429,7 +424,7 @@ KEYWORD At22_bound "Boundary condition to implement" } "skip" private: -KEYWORD At23_bound "Boundary condition to implement" +KEYWORD At23_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -441,7 +436,7 @@ KEYWORD At23_bound "Boundary condition to implement" } "skip" private: -KEYWORD At33_bound "Boundary condition to implement" +KEYWORD At33_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -453,7 +448,7 @@ KEYWORD At33_bound "Boundary condition to implement" } "skip" private: -KEYWORD A_bound "Boundary condition to implement" +KEYWORD A_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -465,7 +460,7 @@ KEYWORD A_bound "Boundary condition to implement" } "skip" private: -KEYWORD B1_bound "Boundary condition to implement" +KEYWORD B1_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -477,7 +472,7 @@ KEYWORD B1_bound "Boundary condition to implement" } "skip" private: -KEYWORD B2_bound "Boundary condition to implement" +KEYWORD B2_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -489,7 +484,7 @@ KEYWORD B2_bound "Boundary condition to implement" } "skip" private: -KEYWORD B3_bound "Boundary condition to implement" +KEYWORD B3_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -501,7 +496,7 @@ KEYWORD B3_bound "Boundary condition to implement" } "skip" private: -KEYWORD Xt1_bound "Boundary condition to implement" +KEYWORD Xt1_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -513,7 +508,7 @@ KEYWORD Xt1_bound "Boundary condition to implement" } "skip" private: -KEYWORD Xt2_bound "Boundary condition to implement" +KEYWORD Xt2_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -525,7 +520,7 @@ KEYWORD Xt2_bound "Boundary condition to implement" } "skip" private: -KEYWORD Xt3_bound "Boundary condition to implement" +KEYWORD Xt3_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -537,7 +532,7 @@ KEYWORD Xt3_bound "Boundary condition to implement" } "skip" private: -KEYWORD alpha_bound "Boundary condition to implement" +KEYWORD alpha_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -549,7 +544,7 @@ KEYWORD alpha_bound "Boundary condition to implement" } "skip" private: -KEYWORD phi_bound "Boundary condition to implement" +KEYWORD phi_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -561,7 +556,7 @@ KEYWORD phi_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt11_bound "Boundary condition to implement" +KEYWORD gt11_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -573,7 +568,7 @@ KEYWORD gt11_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt12_bound "Boundary condition to implement" +KEYWORD gt12_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -585,7 +580,7 @@ KEYWORD gt12_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt13_bound "Boundary condition to implement" +KEYWORD gt13_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -597,7 +592,7 @@ KEYWORD gt13_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt22_bound "Boundary condition to implement" +KEYWORD gt22_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -609,7 +604,7 @@ KEYWORD gt22_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt23_bound "Boundary condition to implement" +KEYWORD gt23_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -621,7 +616,7 @@ KEYWORD gt23_bound "Boundary condition to implement" } "skip" private: -KEYWORD gt33_bound "Boundary condition to implement" +KEYWORD gt33_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -633,7 +628,7 @@ KEYWORD gt33_bound "Boundary condition to implement" } "skip" private: -KEYWORD beta1_bound "Boundary condition to implement" +KEYWORD beta1_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -645,7 +640,7 @@ KEYWORD beta1_bound "Boundary condition to implement" } "skip" private: -KEYWORD beta2_bound "Boundary condition to implement" +KEYWORD beta2_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -657,7 +652,7 @@ KEYWORD beta2_bound "Boundary condition to implement" } "skip" private: -KEYWORD beta3_bound "Boundary condition to implement" +KEYWORD beta3_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -669,7 +664,7 @@ KEYWORD beta3_bound "Boundary condition to implement" } "skip" private: -KEYWORD trK_bound "Boundary condition to implement" +KEYWORD trK_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -681,7 +676,7 @@ KEYWORD trK_bound "Boundary condition to implement" } "skip" private: -KEYWORD ML_curv_bound "Boundary condition to implement" +KEYWORD ML_curv_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -690,10 +685,10 @@ KEYWORD ML_curv_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_dtlapse_bound "Boundary condition to implement" +KEYWORD ML_dtlapse_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -702,10 +697,10 @@ KEYWORD ML_dtlapse_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_dtshift_bound "Boundary condition to implement" +KEYWORD ML_dtshift_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -714,10 +709,10 @@ KEYWORD ML_dtshift_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_Gamma_bound "Boundary condition to implement" +KEYWORD ML_Gamma_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -726,10 +721,10 @@ KEYWORD ML_Gamma_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_lapse_bound "Boundary condition to implement" +KEYWORD ML_lapse_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -738,10 +733,10 @@ KEYWORD ML_lapse_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_log_confac_bound "Boundary condition to implement" +KEYWORD ML_log_confac_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -750,10 +745,10 @@ KEYWORD ML_log_confac_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_metric_bound "Boundary condition to implement" +KEYWORD ML_metric_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -762,10 +757,10 @@ KEYWORD ML_metric_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_shift_bound "Boundary condition to implement" +KEYWORD ML_shift_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -774,10 +769,10 @@ KEYWORD ML_shift_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD ML_trace_curv_bound "Boundary condition to implement" +KEYWORD ML_trace_curv_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -786,616 +781,616 @@ KEYWORD ML_trace_curv_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -CCTK_REAL At11_bound_speed "characteristic speed at boundary" +CCTK_REAL At11_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At12_bound_speed "characteristic speed at boundary" +CCTK_REAL At12_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At13_bound_speed "characteristic speed at boundary" +CCTK_REAL At13_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At22_bound_speed "characteristic speed at boundary" +CCTK_REAL At22_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At23_bound_speed "characteristic speed at boundary" +CCTK_REAL At23_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At33_bound_speed "characteristic speed at boundary" +CCTK_REAL At33_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL A_bound_speed "characteristic speed at boundary" +CCTK_REAL A_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL B1_bound_speed "characteristic speed at boundary" +CCTK_REAL B1_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL B2_bound_speed "characteristic speed at boundary" +CCTK_REAL B2_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL B3_bound_speed "characteristic speed at boundary" +CCTK_REAL B3_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL Xt1_bound_speed "characteristic speed at boundary" +CCTK_REAL Xt1_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL Xt2_bound_speed "characteristic speed at boundary" +CCTK_REAL Xt2_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL Xt3_bound_speed "characteristic speed at boundary" +CCTK_REAL Xt3_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL alpha_bound_speed "characteristic speed at boundary" +CCTK_REAL alpha_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL phi_bound_speed "characteristic speed at boundary" +CCTK_REAL phi_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt11_bound_speed "characteristic speed at boundary" +CCTK_REAL gt11_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt12_bound_speed "characteristic speed at boundary" +CCTK_REAL gt12_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt13_bound_speed "characteristic speed at boundary" +CCTK_REAL gt13_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt22_bound_speed "characteristic speed at boundary" +CCTK_REAL gt22_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt23_bound_speed "characteristic speed at boundary" +CCTK_REAL gt23_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL gt33_bound_speed "characteristic speed at boundary" +CCTK_REAL gt33_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL beta1_bound_speed "characteristic speed at boundary" +CCTK_REAL beta1_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL beta2_bound_speed "characteristic speed at boundary" +CCTK_REAL beta2_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL beta3_bound_speed "characteristic speed at boundary" +CCTK_REAL beta3_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL trK_bound_speed "characteristic speed at boundary" +CCTK_REAL trK_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_curv_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_curv_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_dtlapse_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_dtlapse_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_dtshift_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_dtshift_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_Gamma_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_Gamma_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_lapse_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_lapse_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_log_confac_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_log_confac_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_metric_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_metric_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_shift_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_shift_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ML_trace_curv_bound_speed "characteristic speed at boundary" +CCTK_REAL ML_trace_curv_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL At11_bound_limit "limit value for r -> infinity" +CCTK_REAL At11_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At12_bound_limit "limit value for r -> infinity" +CCTK_REAL At12_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At13_bound_limit "limit value for r -> infinity" +CCTK_REAL At13_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At22_bound_limit "limit value for r -> infinity" +CCTK_REAL At22_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At23_bound_limit "limit value for r -> infinity" +CCTK_REAL At23_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At33_bound_limit "limit value for r -> infinity" +CCTK_REAL At33_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL A_bound_limit "limit value for r -> infinity" +CCTK_REAL A_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL B1_bound_limit "limit value for r -> infinity" +CCTK_REAL B1_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL B2_bound_limit "limit value for r -> infinity" +CCTK_REAL B2_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL B3_bound_limit "limit value for r -> infinity" +CCTK_REAL B3_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL Xt1_bound_limit "limit value for r -> infinity" +CCTK_REAL Xt1_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL Xt2_bound_limit "limit value for r -> infinity" +CCTK_REAL Xt2_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL Xt3_bound_limit "limit value for r -> infinity" +CCTK_REAL Xt3_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL alpha_bound_limit "limit value for r -> infinity" +CCTK_REAL alpha_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL phi_bound_limit "limit value for r -> infinity" +CCTK_REAL phi_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt11_bound_limit "limit value for r -> infinity" +CCTK_REAL gt11_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt12_bound_limit "limit value for r -> infinity" +CCTK_REAL gt12_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt13_bound_limit "limit value for r -> infinity" +CCTK_REAL gt13_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt22_bound_limit "limit value for r -> infinity" +CCTK_REAL gt22_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt23_bound_limit "limit value for r -> infinity" +CCTK_REAL gt23_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL gt33_bound_limit "limit value for r -> infinity" +CCTK_REAL gt33_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL beta1_bound_limit "limit value for r -> infinity" +CCTK_REAL beta1_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL beta2_bound_limit "limit value for r -> infinity" +CCTK_REAL beta2_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL beta3_bound_limit "limit value for r -> infinity" +CCTK_REAL beta3_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL trK_bound_limit "limit value for r -> infinity" +CCTK_REAL trK_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_curv_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_curv_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_dtlapse_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_dtlapse_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_dtshift_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_dtshift_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_Gamma_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_Gamma_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_lapse_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_lapse_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_log_confac_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_log_confac_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_metric_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_metric_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_shift_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_shift_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ML_trace_curv_bound_limit "limit value for r -> infinity" +CCTK_REAL ML_trace_curv_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL At11_bound_scalar "Dirichlet boundary value" +CCTK_REAL At11_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At12_bound_scalar "Dirichlet boundary value" +CCTK_REAL At12_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At13_bound_scalar "Dirichlet boundary value" +CCTK_REAL At13_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At22_bound_scalar "Dirichlet boundary value" +CCTK_REAL At22_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At23_bound_scalar "Dirichlet boundary value" +CCTK_REAL At23_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL At33_bound_scalar "Dirichlet boundary value" +CCTK_REAL At33_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL A_bound_scalar "Dirichlet boundary value" +CCTK_REAL A_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL B1_bound_scalar "Dirichlet boundary value" +CCTK_REAL B1_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL B2_bound_scalar "Dirichlet boundary value" +CCTK_REAL B2_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL B3_bound_scalar "Dirichlet boundary value" +CCTK_REAL B3_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL Xt1_bound_scalar "Dirichlet boundary value" +CCTK_REAL Xt1_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL Xt2_bound_scalar "Dirichlet boundary value" +CCTK_REAL Xt2_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL Xt3_bound_scalar "Dirichlet boundary value" +CCTK_REAL Xt3_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL alpha_bound_scalar "Dirichlet boundary value" +CCTK_REAL alpha_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL phi_bound_scalar "Dirichlet boundary value" +CCTK_REAL phi_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt11_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt11_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt12_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt12_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt13_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt13_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt22_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt22_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt23_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt23_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL gt33_bound_scalar "Dirichlet boundary value" +CCTK_REAL gt33_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL beta1_bound_scalar "Dirichlet boundary value" +CCTK_REAL beta1_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL beta2_bound_scalar "Dirichlet boundary value" +CCTK_REAL beta2_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL beta3_bound_scalar "Dirichlet boundary value" +CCTK_REAL beta3_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL trK_bound_scalar "Dirichlet boundary value" +CCTK_REAL trK_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_curv_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_curv_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_dtlapse_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_dtlapse_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_dtshift_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_dtshift_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_Gamma_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_Gamma_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_lapse_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_lapse_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_log_confac_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_log_confac_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_metric_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_metric_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_shift_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_shift_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ML_trace_curv_bound_scalar "Dirichlet boundary value" +CCTK_REAL ML_trace_curv_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. diff --git a/ML_BSSN_UPW/schedule.ccl b/ML_BSSN_UPW/schedule.ccl index 506d007..90af72c 100644 --- a/ML_BSSN_UPW/schedule.ccl +++ b/ML_BSSN_UPW/schedule.ccl @@ -374,8 +374,6 @@ schedule ML_BSSN_UPW_constraints1_SelectBCs in ML_BSSN_UPW_constraints1_bc_group { LANG: C OPTIONS: level - SYNC: ML_cons_detg - SYNC: ML_cons_Gamma SYNC: ML_Ham } "ML_BSSN_UPW_constraints1_SelectBCs" @@ -413,6 +411,8 @@ schedule ML_BSSN_UPW_constraints2_SelectBCs in ML_BSSN_UPW_constraints2_bc_group { LANG: C OPTIONS: level + SYNC: ML_cons_detg + SYNC: ML_cons_Gamma SYNC: ML_cons_traceA SYNC: ML_mom } "ML_BSSN_UPW_constraints2_SelectBCs" @@ -458,7 +458,7 @@ schedule ML_BSSN_UPW_CheckBoundaries at BASEGRID OPTIONS: meta } "check boundaries treatment" -schedule group ApplyBCs as ML_BSSN_UPW_ApplyBCs in MoL_PostStep after ML_BSSN_UPW_SelectBoundConds +schedule group ApplyBCs as ML_BSSN_UPW_ApplyBCs in MoL_PostStep after ML_BSSN_UPW_SelectBoundConds { # no language specified } "Apply boundary conditions controlled by thorn Boundary" diff --git a/ML_BSSN_UPW/src/ML_BSSN_UPW_Minkowski.c b/ML_BSSN_UPW/src/ML_BSSN_UPW_Minkowski.c index 4808008..d92232f 100644 --- a/ML_BSSN_UPW/src/ML_BSSN_UPW_Minkowski.c +++ b/ML_BSSN_UPW/src/ML_BSSN_UPW_Minkowski.c @@ -38,9 +38,6 @@ void ML_BSSN_UPW_Minkowski_Body(cGH const * restrict const cctkGH, int const dir return; } - const char *groups[] = {"ML_BSSN_UPW::ML_curv","ML_BSSN_UPW::ML_dtlapse","ML_BSSN_UPW::ML_dtshift","ML_BSSN_UPW::ML_Gamma","ML_BSSN_UPW::ML_lapse","ML_BSSN_UPW::ML_log_confac","ML_BSSN_UPW::ML_metric","ML_BSSN_UPW::ML_shift","ML_BSSN_UPW::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_UPW_Minkowski", 9, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_UPW/src/ML_BSSN_UPW_RHS1.c b/ML_BSSN_UPW/src/ML_BSSN_UPW_RHS1.c index e35b850..07df279 100644 --- a/ML_BSSN_UPW/src/ML_BSSN_UPW_RHS1.c +++ b/ML_BSSN_UPW/src/ML_BSSN_UPW_RHS1.c @@ -71,9 +71,6 @@ void ML_BSSN_UPW_RHS1_Body(cGH const * restrict const cctkGH, int const dir, int return; } - const char *groups[] = {"grid::coordinates","Grid::coordinates","ML_BSSN_UPW::ML_curv","ML_BSSN_UPW::ML_dtlapse","ML_BSSN_UPW::ML_dtlapserhs","ML_BSSN_UPW::ML_dtshift","ML_BSSN_UPW::ML_dtshiftrhs","ML_BSSN_UPW::ML_Gamma","ML_BSSN_UPW::ML_Gammarhs","ML_BSSN_UPW::ML_lapse","ML_BSSN_UPW::ML_lapserhs","ML_BSSN_UPW::ML_log_confac","ML_BSSN_UPW::ML_log_confacrhs","ML_BSSN_UPW::ML_metric","ML_BSSN_UPW::ML_metricrhs","ML_BSSN_UPW::ML_shift","ML_BSSN_UPW::ML_shiftrhs","ML_BSSN_UPW::ML_trace_curv","ML_BSSN_UPW::ML_trace_curvrhs"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_UPW_RHS1", 19, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_UPW/src/ML_BSSN_UPW_RHS2.c b/ML_BSSN_UPW/src/ML_BSSN_UPW_RHS2.c index e9dbc4c..dbcff09 100644 --- a/ML_BSSN_UPW/src/ML_BSSN_UPW_RHS2.c +++ b/ML_BSSN_UPW/src/ML_BSSN_UPW_RHS2.c @@ -50,9 +50,6 @@ void ML_BSSN_UPW_RHS2_Body(cGH const * restrict const cctkGH, int const dir, int return; } - const char *groups[] = {"ML_BSSN_UPW::ML_curv","ML_BSSN_UPW::ML_curvrhs","ML_BSSN_UPW::ML_Gamma","ML_BSSN_UPW::ML_lapse","ML_BSSN_UPW::ML_log_confac","ML_BSSN_UPW::ML_metric","ML_BSSN_UPW::ML_shift","ML_BSSN_UPW::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_UPW_RHS2", 8, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_UPW/src/ML_BSSN_UPW_RHSStaticBoundary.c b/ML_BSSN_UPW/src/ML_BSSN_UPW_RHSStaticBoundary.c index 8d73940..cdb89a8 100644 --- a/ML_BSSN_UPW/src/ML_BSSN_UPW_RHSStaticBoundary.c +++ b/ML_BSSN_UPW/src/ML_BSSN_UPW_RHSStaticBoundary.c @@ -74,9 +74,6 @@ void ML_BSSN_UPW_RHSStaticBoundary_Body(cGH const * restrict const cctkGH, int c return; } - const char *groups[] = {"ML_BSSN_UPW::ML_curvrhs","ML_BSSN_UPW::ML_dtlapserhs","ML_BSSN_UPW::ML_dtshiftrhs","ML_BSSN_UPW::ML_Gammarhs","ML_BSSN_UPW::ML_lapserhs","ML_BSSN_UPW::ML_log_confacrhs","ML_BSSN_UPW::ML_metricrhs","ML_BSSN_UPW::ML_shiftrhs","ML_BSSN_UPW::ML_trace_curvrhs"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_UPW_RHSStaticBoundary", 9, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_UPW/src/ML_BSSN_UPW_boundary.c b/ML_BSSN_UPW/src/ML_BSSN_UPW_boundary.c index b305c05..88bf77f 100644 --- a/ML_BSSN_UPW/src/ML_BSSN_UPW_boundary.c +++ b/ML_BSSN_UPW/src/ML_BSSN_UPW_boundary.c @@ -74,9 +74,6 @@ void ML_BSSN_UPW_boundary_Body(cGH const * restrict const cctkGH, int const dir, return; } - const char *groups[] = {"ML_BSSN_UPW::ML_curv","ML_BSSN_UPW::ML_dtlapse","ML_BSSN_UPW::ML_dtshift","ML_BSSN_UPW::ML_Gamma","ML_BSSN_UPW::ML_lapse","ML_BSSN_UPW::ML_log_confac","ML_BSSN_UPW::ML_metric","ML_BSSN_UPW::ML_shift","ML_BSSN_UPW::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_UPW_boundary", 9, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_UPW/src/ML_BSSN_UPW_constraints1.c b/ML_BSSN_UPW/src/ML_BSSN_UPW_constraints1.c index a89f622..10edf80 100644 --- a/ML_BSSN_UPW/src/ML_BSSN_UPW_constraints1.c +++ b/ML_BSSN_UPW/src/ML_BSSN_UPW_constraints1.c @@ -26,12 +26,6 @@ void ML_BSSN_UPW_constraints1_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_PARAMETERS; CCTK_INT ierr = 0; - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_UPW::ML_cons_detg","flat"); - if (ierr < 0) - CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_UPW::ML_cons_detg."); - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_UPW::ML_cons_Gamma","flat"); - if (ierr < 0) - CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_UPW::ML_cons_Gamma."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_UPW::ML_Ham","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_UPW::ML_Ham."); @@ -56,9 +50,6 @@ void ML_BSSN_UPW_constraints1_Body(cGH const * restrict const cctkGH, int const return; } - const char *groups[] = {"ML_BSSN_UPW::ML_cons_detg","ML_BSSN_UPW::ML_cons_Gamma","ML_BSSN_UPW::ML_curv","ML_BSSN_UPW::ML_Gamma","ML_BSSN_UPW::ML_Ham","ML_BSSN_UPW::ML_lapse","ML_BSSN_UPW::ML_log_confac","ML_BSSN_UPW::ML_metric","ML_BSSN_UPW::ML_shift","ML_BSSN_UPW::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_UPW_constraints1", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -306,457 +297,218 @@ void ML_BSSN_UPW_constraints1_Body(cGH const * restrict const cctkGH, int const CCTK_REAL gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L)); - CCTK_REAL Gt111 = khalf*(gtu11*PDstandardNth1gt11 + - 2*(gtu12*PDstandardNth1gt12 + gtu13*PDstandardNth1gt13) - - gtu12*PDstandardNth2gt11 - gtu13*PDstandardNth3gt11); - - CCTK_REAL Gt211 = khalf*(gtu12*PDstandardNth1gt11 + - 2*(gtu22*PDstandardNth1gt12 + gtu23*PDstandardNth1gt13) - - gtu22*PDstandardNth2gt11 - gtu23*PDstandardNth3gt11); - - CCTK_REAL Gt311 = khalf*(gtu13*PDstandardNth1gt11 + - 2*(gtu23*PDstandardNth1gt12 + gtu33*PDstandardNth1gt13) - - gtu23*PDstandardNth2gt11 - gtu33*PDstandardNth3gt11); - - CCTK_REAL Gt112 = khalf*(gtu12*PDstandardNth1gt22 + - gtu11*PDstandardNth2gt11 + gtu13*(PDstandardNth1gt23 + - PDstandardNth2gt13 - PDstandardNth3gt12)); - - CCTK_REAL Gt212 = khalf*(gtu22*PDstandardNth1gt22 + - gtu12*PDstandardNth2gt11 + gtu23*(PDstandardNth1gt23 + - PDstandardNth2gt13 - PDstandardNth3gt12)); - - CCTK_REAL Gt312 = khalf*(gtu23*PDstandardNth1gt22 + - gtu13*PDstandardNth2gt11 + gtu33*(PDstandardNth1gt23 + - PDstandardNth2gt13 - PDstandardNth3gt12)); - - CCTK_REAL Gt113 = khalf*(gtu13*PDstandardNth1gt33 + - gtu11*PDstandardNth3gt11 + gtu12*(PDstandardNth1gt23 - - PDstandardNth2gt13 + PDstandardNth3gt12)); - - CCTK_REAL Gt213 = khalf*(gtu23*PDstandardNth1gt33 + - gtu12*PDstandardNth3gt11 + gtu22*(PDstandardNth1gt23 - - PDstandardNth2gt13 + PDstandardNth3gt12)); - - CCTK_REAL Gt313 = khalf*(gtu33*PDstandardNth1gt33 + - gtu13*PDstandardNth3gt11 + gtu23*(PDstandardNth1gt23 - - PDstandardNth2gt13 + PDstandardNth3gt12)); - - CCTK_REAL Gt122 = khalf*(gtu11*(-PDstandardNth1gt22 + - 2*PDstandardNth2gt12) + gtu12*PDstandardNth2gt22 + - gtu13*(2*PDstandardNth2gt23 - PDstandardNth3gt22)); - - CCTK_REAL Gt222 = khalf*(gtu12*(-PDstandardNth1gt22 + - 2*PDstandardNth2gt12) + gtu22*PDstandardNth2gt22 + - gtu23*(2*PDstandardNth2gt23 - PDstandardNth3gt22)); - - CCTK_REAL Gt322 = khalf*(gtu13*(-PDstandardNth1gt22 + - 2*PDstandardNth2gt12) + gtu23*PDstandardNth2gt22 + - gtu33*(2*PDstandardNth2gt23 - PDstandardNth3gt22)); - - CCTK_REAL Gt123 = khalf*(gtu13*PDstandardNth2gt33 + - gtu11*(-PDstandardNth1gt23 + PDstandardNth2gt13 + PDstandardNth3gt12) + - gtu12*PDstandardNth3gt22); - - CCTK_REAL Gt223 = khalf*(gtu23*PDstandardNth2gt33 + - gtu12*(-PDstandardNth1gt23 + PDstandardNth2gt13 + PDstandardNth3gt12) + - gtu22*PDstandardNth3gt22); - - CCTK_REAL Gt323 = khalf*(gtu33*PDstandardNth2gt33 + - gtu13*(-PDstandardNth1gt23 + PDstandardNth2gt13 + PDstandardNth3gt12) + - gtu23*PDstandardNth3gt22); - - CCTK_REAL Gt133 = khalf*(-(gtu11*PDstandardNth1gt33) - - gtu12*PDstandardNth2gt33 + 2*gtu11*PDstandardNth3gt13 + - 2*gtu12*PDstandardNth3gt23 + gtu13*PDstandardNth3gt33); - - CCTK_REAL Gt233 = khalf*(-(gtu12*PDstandardNth1gt33) - - gtu22*PDstandardNth2gt33 + 2*gtu12*PDstandardNth3gt13 + - 2*gtu22*PDstandardNth3gt23 + gtu23*PDstandardNth3gt33); - - CCTK_REAL Gt333 = khalf*(-(gtu13*PDstandardNth1gt33) - - gtu23*PDstandardNth2gt33 + 2*gtu13*PDstandardNth3gt13 + - 2*gtu23*PDstandardNth3gt23 + gtu33*PDstandardNth3gt33); - - CCTK_REAL Rt11 = -(gtu11*khalf*PDstandardNth11gt11) + - gtu12*(2*Gt211*Gt212*gt22L + 4*Gt112*gt13L*Gt311 + 2*Gt113*gt11L*Gt312 - + 2*gt13L*Gt312*Gt313 + 2*gt13L*Gt211*Gt322 + 2*gt13L*Gt311*Gt323 + - 2*Gt311*Gt312*gt33L - PDstandardNth12gt11) - gtu13*PDstandardNth13gt11 - + gt11L*PDstandardNth1Xt1 + gt12L*(4*Gt111*Gt212*gtu12 + - 2*Gt211*Gt222*gtu12 + 4*Gt113*Gt211*gtu13 + 4*Gt112*Gt212*gtu22 + - 4*Gt113*Gt212*gtu23 + 4*Gt113*Gt213*gtu33 + PDstandardNth1Xt2) + - gt13L*(4*Gt111*Gt312*gtu12 + 2*Gt212*Gt312*gtu12 + 4*Gt113*Gt311*gtu13 - + 2*Gt212*Gt322*gtu22 + 4*Gt113*Gt312*gtu23 + 4*Gt113*Gt313*gtu33 + - PDstandardNth1Xt3) - gtu22*khalf*PDstandardNth22gt11 - - gtu23*PDstandardNth23gt11 - gtu33*khalf*PDstandardNth33gt11 + - Gt111*(6*Gt113*gt11L*gtu13 + 4*gt12L*Gt213*gtu13 + gt11L*Xt1L) + - Gt211*(2*Gt112*gt11L*gtu11 + 4*Gt111*gt12L*gtu11 + 2*gt11L*Gt122*gtu12 - + 2*gt11L*Gt123*gtu13 + gt12L*Xt1L) + Gt311*(4*Gt111*gt13L*gtu11 + - 2*gt12L*Gt213*gtu11 + 2*gt13L*Gt313*gtu11 + 2*gt11L*Gt123*gtu12 + - 2*gt11L*Gt133*gtu13 + gt13L*Xt1L) + gt12L*Gt212*Xt2L + gt13L*Gt312*Xt2L - + Gt112*(6*Gt111*gt11L*gtu12 + 4*gt12L*Gt211*gtu12 + - 2*gt11L*Gt213*gtu13 + 4*gt13L*Gt312*gtu22 + 6*Gt113*gt11L*gtu23 + - gt11L*Xt2L) + Gt113*gt11L*Xt3L + Gt213*(2*gt11L*Gt122*gtu23 + - 4*Gt112*gt12L*gtu23 + 2*gt11L*Gt123*gtu33 + gt12L*Xt3L) + - Gt313*(4*Gt111*gt13L*gtu13 + 2*gt12L*Gt213*gtu13 + 2*gt11L*Gt123*gtu23 - + 4*Gt112*gt13L*gtu23 + 2*gt12L*Gt223*gtu23 + 2*gt11L*Gt133*gtu33 + - gt13L*Xt3L) + 3*gt11L*gtu11*SQR(Gt111) + 3*gt11L*gtu22*SQR(Gt112) + - 3*gt11L*gtu33*SQR(Gt113) + gt22L*gtu11*SQR(Gt211) + - gt22L*gtu22*SQR(Gt212) + 2*(gt12L*Gt211*Gt212*gtu11 + - Gt113*gt11L*Gt311*gtu11 + Gt211*gt23L*Gt311*gtu11 + - gt13L*Gt211*Gt312*gtu11 + Gt112*gt11L*Gt212*gtu12 + - gt12L*Gt223*Gt311*gtu12 + Gt212*gt23L*Gt311*gtu12 + - gt12L*Gt213*Gt312*gtu12 + Gt211*gt23L*Gt312*gtu12 + - gt12L*Gt212*Gt213*gtu13 + gt12L*Gt211*Gt223*gtu13 + - Gt211*Gt213*gt22L*gtu13 + gt12L*Gt233*Gt311*gtu13 + - Gt213*gt23L*Gt311*gtu13 + gt13L*Gt213*Gt312*gtu13 + - Gt113*gt11L*Gt313*gtu13 + Gt211*gt23L*Gt313*gtu13 + - gt13L*Gt211*Gt323*gtu13 + gt13L*Gt311*Gt333*gtu13 + - Gt311*Gt313*gt33L*gtu13 + gt11L*Gt122*Gt212*gtu22 + - gt12L*Gt212*Gt222*gtu22 + gt11L*Gt123*Gt312*gtu22 + - gt12L*Gt223*Gt312*gtu22 + Gt212*gt23L*Gt312*gtu22 + - gt13L*Gt312*Gt323*gtu22 + gt11L*Gt123*Gt212*gtu23 + - gt12L*Gt213*Gt222*gtu23 + gt12L*Gt212*Gt223*gtu23 + - Gt212*Gt213*gt22L*gtu23 + gt11L*Gt133*Gt312*gtu23 + - gt12L*Gt233*Gt312*gtu23 + Gt213*gt23L*Gt312*gtu23 + - Gt212*gt23L*Gt313*gtu23 + gt13L*Gt213*Gt322*gtu23 + - gt13L*Gt212*Gt323*gtu23 + gt13L*Gt313*Gt323*gtu23 + - gt13L*Gt312*Gt333*gtu23 + Gt312*Gt313*gt33L*gtu23 + - gt12L*Gt213*Gt223*gtu33 + gt12L*Gt233*Gt313*gtu33 + - Gt213*gt23L*Gt313*gtu33 + gt13L*Gt213*Gt323*gtu33 + - gt13L*Gt313*Gt333*gtu33 + gt12L*gtu12*SQR(Gt212)) + - gt22L*gtu33*SQR(Gt213) + gt33L*gtu11*SQR(Gt311) + - gt33L*gtu22*SQR(Gt312) + 2*gt13L*gtu13*SQR(Gt313) + - gt33L*gtu33*SQR(Gt313); - - CCTK_REAL Rt12 = khalf*(-(gtu11*PDstandardNth11gt12) - + CCTK_REAL Gtl111 = khalf*PDstandardNth1gt11; + + CCTK_REAL Gtl112 = khalf*PDstandardNth2gt11; + + CCTK_REAL Gtl113 = khalf*PDstandardNth3gt11; + + CCTK_REAL Gtl122 = -(khalf*PDstandardNth1gt22) + PDstandardNth2gt12; + + CCTK_REAL Gtl123 = khalf*(-PDstandardNth1gt23 + PDstandardNth2gt13 + + PDstandardNth3gt12); + + CCTK_REAL Gtl133 = -(khalf*PDstandardNth1gt33) + PDstandardNth3gt13; + + CCTK_REAL Gtl211 = PDstandardNth1gt12 - khalf*PDstandardNth2gt11; + + CCTK_REAL Gtl212 = khalf*PDstandardNth1gt22; + + CCTK_REAL Gtl213 = khalf*(PDstandardNth1gt23 - PDstandardNth2gt13 + + PDstandardNth3gt12); + + CCTK_REAL Gtl222 = khalf*PDstandardNth2gt22; + + CCTK_REAL Gtl223 = khalf*PDstandardNth3gt22; + + CCTK_REAL Gtl233 = -(khalf*PDstandardNth2gt33) + PDstandardNth3gt23; + + CCTK_REAL Gtl311 = PDstandardNth1gt13 - khalf*PDstandardNth3gt11; + + CCTK_REAL Gtl312 = khalf*(PDstandardNth1gt23 + PDstandardNth2gt13 - + PDstandardNth3gt12); + + CCTK_REAL Gtl313 = khalf*PDstandardNth1gt33; + + CCTK_REAL Gtl322 = PDstandardNth2gt23 - khalf*PDstandardNth3gt22; + + CCTK_REAL Gtl323 = khalf*PDstandardNth2gt33; + + CCTK_REAL Gtl333 = khalf*PDstandardNth3gt33; + + CCTK_REAL Gtlu111 = Gtl111*gtu11 + Gtl112*gtu12 + Gtl113*gtu13; + + CCTK_REAL Gtlu112 = Gtl111*gtu12 + Gtl112*gtu22 + Gtl113*gtu23; + + CCTK_REAL Gtlu113 = Gtl111*gtu13 + Gtl112*gtu23 + Gtl113*gtu33; + + CCTK_REAL Gtlu121 = Gtl112*gtu11 + Gtl122*gtu12 + Gtl123*gtu13; + + CCTK_REAL Gtlu122 = Gtl112*gtu12 + Gtl122*gtu22 + Gtl123*gtu23; + + CCTK_REAL Gtlu123 = Gtl112*gtu13 + Gtl122*gtu23 + Gtl123*gtu33; + + CCTK_REAL Gtlu131 = Gtl113*gtu11 + Gtl123*gtu12 + Gtl133*gtu13; + + CCTK_REAL Gtlu132 = Gtl113*gtu12 + Gtl123*gtu22 + Gtl133*gtu23; + + CCTK_REAL Gtlu133 = Gtl113*gtu13 + Gtl123*gtu23 + Gtl133*gtu33; + + CCTK_REAL Gtlu211 = Gtl211*gtu11 + Gtl212*gtu12 + Gtl213*gtu13; + + CCTK_REAL Gtlu212 = Gtl211*gtu12 + Gtl212*gtu22 + Gtl213*gtu23; + + CCTK_REAL Gtlu213 = Gtl211*gtu13 + Gtl212*gtu23 + Gtl213*gtu33; + + CCTK_REAL Gtlu221 = Gtl212*gtu11 + Gtl222*gtu12 + Gtl223*gtu13; + + CCTK_REAL Gtlu222 = Gtl212*gtu12 + Gtl222*gtu22 + Gtl223*gtu23; + + CCTK_REAL Gtlu223 = Gtl212*gtu13 + Gtl222*gtu23 + Gtl223*gtu33; + + CCTK_REAL Gtlu231 = Gtl213*gtu11 + Gtl223*gtu12 + Gtl233*gtu13; + + CCTK_REAL Gtlu232 = Gtl213*gtu12 + Gtl223*gtu22 + Gtl233*gtu23; + + CCTK_REAL Gtlu233 = Gtl213*gtu13 + Gtl223*gtu23 + Gtl233*gtu33; + + CCTK_REAL Gtlu311 = Gtl311*gtu11 + Gtl312*gtu12 + Gtl313*gtu13; + + CCTK_REAL Gtlu312 = Gtl311*gtu12 + Gtl312*gtu22 + Gtl313*gtu23; + + CCTK_REAL Gtlu313 = Gtl311*gtu13 + Gtl312*gtu23 + Gtl313*gtu33; + + CCTK_REAL Gtlu321 = Gtl312*gtu11 + Gtl322*gtu12 + Gtl323*gtu13; + + CCTK_REAL Gtlu322 = Gtl312*gtu12 + Gtl322*gtu22 + Gtl323*gtu23; + + CCTK_REAL Gtlu323 = Gtl312*gtu13 + Gtl322*gtu23 + Gtl323*gtu33; + + CCTK_REAL Gtlu331 = Gtl313*gtu11 + Gtl323*gtu12 + Gtl333*gtu13; + + CCTK_REAL Gtlu332 = Gtl313*gtu12 + Gtl323*gtu22 + Gtl333*gtu23; + + CCTK_REAL Gtlu333 = Gtl313*gtu13 + Gtl323*gtu23 + Gtl333*gtu33; + + CCTK_REAL Gt111 = Gtl111*gtu11 + Gtl211*gtu12 + Gtl311*gtu13; + + CCTK_REAL Gt211 = Gtl111*gtu12 + Gtl211*gtu22 + Gtl311*gtu23; + + CCTK_REAL Gt311 = Gtl111*gtu13 + Gtl211*gtu23 + Gtl311*gtu33; + + CCTK_REAL Gt112 = Gtl112*gtu11 + Gtl212*gtu12 + Gtl312*gtu13; + + CCTK_REAL Gt212 = Gtl112*gtu12 + Gtl212*gtu22 + Gtl312*gtu23; + + CCTK_REAL Gt312 = Gtl112*gtu13 + Gtl212*gtu23 + Gtl312*gtu33; + + CCTK_REAL Gt113 = Gtl113*gtu11 + Gtl213*gtu12 + Gtl313*gtu13; + + CCTK_REAL Gt213 = Gtl113*gtu12 + Gtl213*gtu22 + Gtl313*gtu23; + + CCTK_REAL Gt313 = Gtl113*gtu13 + Gtl213*gtu23 + Gtl313*gtu33; + + CCTK_REAL Gt122 = Gtl122*gtu11 + Gtl222*gtu12 + Gtl322*gtu13; + + CCTK_REAL Gt222 = Gtl122*gtu12 + Gtl222*gtu22 + Gtl322*gtu23; + + CCTK_REAL Gt322 = Gtl122*gtu13 + Gtl222*gtu23 + Gtl322*gtu33; + + CCTK_REAL Gt123 = Gtl123*gtu11 + Gtl223*gtu12 + Gtl323*gtu13; + + CCTK_REAL Gt223 = Gtl123*gtu12 + Gtl223*gtu22 + Gtl323*gtu23; + + CCTK_REAL Gt323 = Gtl123*gtu13 + Gtl223*gtu23 + Gtl323*gtu33; + + CCTK_REAL Gt133 = Gtl133*gtu11 + Gtl233*gtu12 + Gtl333*gtu13; + + CCTK_REAL Gt233 = Gtl133*gtu12 + Gtl233*gtu22 + Gtl333*gtu23; + + CCTK_REAL Gt333 = Gtl133*gtu13 + Gtl233*gtu23 + Gtl333*gtu33; + + CCTK_REAL Xtn1 = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu12 + + Gt113*gtu13 + Gt123*gtu23) + Gt133*gtu33; + + CCTK_REAL Xtn2 = Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu12 + + Gt213*gtu13 + Gt223*gtu23) + Gt233*gtu33; + + CCTK_REAL Xtn3 = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu12 + + Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33; + + CCTK_REAL Rt11 = 3*(Gt111*Gtlu111 + Gt112*Gtlu112 + Gt113*Gtlu113) + + 2*(Gt211*Gtlu121 + Gt212*Gtlu122 + Gt213*Gtlu123 + Gt311*Gtlu131 + + Gt312*Gtlu132 + Gt313*Gtlu133) + Gt211*Gtlu211 + Gt212*Gtlu212 + + Gt213*Gtlu213 + Gt311*Gtlu311 + Gt312*Gtlu312 + Gt313*Gtlu313 + + gt11L*PDstandardNth1Xt1 + gt12L*PDstandardNth1Xt2 + + gt13L*PDstandardNth1Xt3 + khalf*(-(gtu11*PDstandardNth11gt11) - + 2*gtu12*PDstandardNth12gt11 - 2*gtu13*PDstandardNth13gt11 - + gtu22*PDstandardNth22gt11 - 2*gtu23*PDstandardNth23gt11 - + gtu33*PDstandardNth33gt11) + Gtl111*Xtn1 + Gtl112*Xtn2 + Gtl113*Xtn3; + + CCTK_REAL Rt12 = khalf*(4*(Gt211*Gtlu221 + Gt212*Gtlu222 + + Gt213*Gtlu223) + 2*(Gt112*Gtlu111 + Gt122*Gtlu112 + Gt123*Gtlu113 + + Gt111*Gtlu121 + Gt212*Gtlu121 + Gt112*Gtlu122 + Gt222*Gtlu122 + + Gt113*Gtlu123 + Gt223*Gtlu123 + Gt312*Gtlu131 + Gt322*Gtlu132 + + Gt323*Gtlu133 + Gt111*Gtlu211 + Gt112*Gtlu212 + Gt113*Gtlu213 + + Gt311*Gtlu231 + Gt312*Gtlu232 + Gt313*Gtlu233 + Gt311*Gtlu321 + + Gt312*Gtlu322 + Gt313*Gtlu323) - gtu11*PDstandardNth11gt12 - 2*gtu12*PDstandardNth12gt12 - 2*gtu13*PDstandardNth13gt12 + gt12L*PDstandardNth1Xt1 + gt22L*PDstandardNth1Xt2 + gt23L*PDstandardNth1Xt3 - gtu22*PDstandardNth22gt12 - 2*gtu23*PDstandardNth23gt12 + gt11L*PDstandardNth2Xt1 + gt12L*PDstandardNth2Xt2 + gt13L*PDstandardNth2Xt3 - - gtu33*PDstandardNth33gt12 + (Gt111*gt12L + Gt211*gt22L + - gt23L*Gt311)*Xt1L + (Gt112*gt11L + gt12L*Gt212 + gt13L*Gt312)*Xt1L + - (Gt112*gt12L + Gt212*gt22L + gt23L*Gt312)*Xt2L + (gt11L*Gt122 + - gt12L*Gt222 + gt13L*Gt322)*Xt2L + (Gt113*gt12L + Gt213*gt22L + - gt23L*Gt313)*Xt3L + (gt11L*Gt123 + gt12L*Gt223 + gt13L*Gt323)*Xt3L + - 2*gtu12*(Gt112*gt11L*Gt222 + Gt112*Gt211*gt22L + Gt211*Gt222*gt22L + - 2*Gt122*gt13L*Gt311 + Gt112*gt23L*Gt311 + Gt222*gt23L*Gt311 + - gt13L*Gt222*Gt312 + Gt213*gt22L*Gt312 + Gt212*gt23L*Gt312 + - gt23L*Gt312*Gt313 + Gt113*gt11L*Gt322 + Gt211*gt23L*Gt322 + - gt13L*Gt313*Gt322 + Gt111*(2*gt11L*Gt122 + Gt112*gt12L + gt12L*Gt222 + - gt13L*Gt322) + gt12L*(2*Gt122*Gt211 + Gt112*Gt212 + Gt212*Gt222 + - Gt113*Gt312 + Gt213*Gt322) + Gt311*Gt322*gt33L + gt22L*SQR(Gt212)) + - 2*((Gt123*gt12L*Gt211 + Gt113*gt12L*Gt212 + 2*Gt112*gt12L*Gt213 + - gt12L*Gt212*Gt223 + Gt212*Gt213*gt22L + Gt211*Gt223*gt22L + - gt12L*Gt133*Gt311 + gt22L*Gt233*Gt311 + Gt113*gt13L*Gt312 + - gt12L*Gt233*Gt312 + Gt213*gt23L*Gt312 + gt11L*(2*Gt112*Gt113 + - Gt123*Gt212 + Gt133*Gt312) + 2*Gt112*gt13L*Gt313 + Gt212*gt23L*Gt313 + - Gt111*(Gt113*gt12L + Gt213*gt22L + gt23L*Gt313) + gt13L*Gt212*Gt323 + - Gt211*gt23L*Gt323 + gt23L*Gt311*Gt333 + gt13L*Gt312*Gt333 + - Gt312*Gt313*gt33L)*gtu13 + (Gt123*gt12L*Gt212 + 2*Gt122*gt12L*Gt213 + - Gt113*gt12L*Gt222 + gt12L*Gt222*Gt223 + Gt213*Gt222*gt22L + - Gt212*Gt223*gt22L + gt12L*Gt133*Gt312 + gt22L*Gt233*Gt312 + - 2*Gt122*gt13L*Gt313 + Gt222*gt23L*Gt313 + Gt112*(Gt113*gt12L + - Gt213*gt22L + gt23L*Gt313) + Gt113*gt13L*Gt322 + gt12L*Gt233*Gt322 + - Gt213*gt23L*Gt322 + gt11L*(2*Gt113*Gt122 + Gt123*Gt222 + Gt133*Gt322) + - gt13L*Gt222*Gt323 + Gt212*gt23L*Gt323 + gt23L*Gt312*Gt333 + - gt13L*Gt322*Gt333 + Gt313*Gt322*gt33L)*gtu23 + - gtu11*(3*Gt112*gt12L*Gt211 + 2*Gt211*Gt212*gt22L + Gt113*gt12L*Gt311 + - 2*Gt112*gt13L*Gt311 + Gt213*gt22L*Gt311 + Gt212*gt23L*Gt311 + - gt13L*Gt212*Gt312 + gt12L*Gt213*Gt312 + 2*Gt211*gt23L*Gt312 + - gt11L*(2*Gt111*Gt112 + Gt112*Gt212 + Gt113*Gt312) + Gt111*(gt12L*Gt212 - + Gt211*gt22L + gt23L*Gt311 + gt13L*Gt312) + gt23L*Gt311*Gt313 + - gt13L*Gt312*Gt313 + Gt311*Gt312*gt33L + gt12L*SQR(Gt111) + - gt12L*SQR(Gt212))) + 2*gtu22*(gt11L*Gt122*Gt222 + 2*Gt212*Gt222*gt22L + - 2*Gt122*gt13L*Gt312 + Gt223*gt22L*Gt312 + Gt222*gt23L*Gt312 + - gt11L*Gt123*Gt322 + gt13L*Gt222*Gt322 + 2*Gt212*gt23L*Gt322 + - Gt112*(2*gt11L*Gt122 + gt12L*Gt222 + Gt212*gt22L + gt23L*Gt312 + - gt13L*Gt322) + gt23L*Gt312*Gt323 + gt13L*Gt322*Gt323 + - Gt312*Gt322*gt33L + gt12L*SQR(Gt112) + gt12L*(3*Gt122*Gt212 + - Gt123*Gt312 + Gt223*Gt322 + SQR(Gt222))) + 2*gtu33*(gt11L*Gt123*Gt223 + - 2*Gt213*Gt223*gt22L + 2*Gt123*gt13L*Gt313 + gt22L*Gt233*Gt313 + - Gt223*gt23L*Gt313 + gt11L*Gt133*Gt323 + gt13L*Gt223*Gt323 + - 2*Gt213*gt23L*Gt323 + Gt113*(2*gt11L*Gt123 + gt12L*Gt223 + Gt213*gt22L - + gt23L*Gt313 + gt13L*Gt323) + gt23L*Gt313*Gt333 + gt13L*Gt323*Gt333 + - Gt313*Gt323*gt33L + gt12L*SQR(Gt113) + gt12L*(3*Gt123*Gt213 + - Gt133*Gt313 + Gt233*Gt323 + SQR(Gt223))) + 2*gtu12*(Gt122*gt12L*Gt211 + - 3*Gt112*gt12L*Gt212 + gt12L*Gt212*Gt222 + Gt211*Gt222*gt22L + - Gt123*gt12L*Gt311 + Gt223*gt22L*Gt311 + 3*Gt112*gt13L*Gt312 + - gt12L*Gt223*Gt312 + 2*Gt212*gt23L*Gt312 + Gt111*(Gt112*gt12L + - Gt212*gt22L + gt23L*Gt312) + gt13L*Gt212*Gt322 + Gt211*gt23L*Gt322 + - gt23L*Gt311*Gt323 + gt13L*Gt312*Gt323 + gt11L*(Gt122*Gt212 + - Gt123*Gt312 + 2*SQR(Gt112)) + gt22L*SQR(Gt212) + gt33L*SQR(Gt312)) + - 2*gtu13*(Gt112*gt11L*Gt223 + Gt113*Gt211*gt22L + Gt212*Gt213*gt22L + - Gt211*Gt223*gt22L + 2*Gt123*gt13L*Gt311 + Gt113*gt23L*Gt311 + - Gt223*gt23L*Gt311 + gt13L*Gt223*Gt312 + Gt213*gt23L*Gt312 + - Gt213*gt22L*Gt313 + Gt113*gt11L*Gt323 + Gt211*gt23L*Gt323 + - gt13L*Gt313*Gt323 + Gt111*(2*gt11L*Gt123 + Gt113*gt12L + gt12L*Gt223 + - gt13L*Gt323) + gt12L*(2*Gt123*Gt211 + Gt112*Gt213 + Gt212*Gt223 + - Gt113*Gt313 + Gt213*Gt323) + Gt311*Gt323*gt33L + gt23L*SQR(Gt313)) + - 2*gtu23*(gt11L*Gt122*Gt223 + Gt113*Gt212*gt22L + Gt213*Gt222*gt22L + - Gt212*Gt223*gt22L + 2*Gt123*gt13L*Gt312 + Gt113*gt23L*Gt312 + - Gt223*gt23L*Gt312 + Gt223*gt22L*Gt313 + gt13L*Gt223*Gt322 + - Gt213*gt23L*Gt322 + gt11L*Gt123*Gt323 + Gt212*gt23L*Gt323 + - gt23L*Gt313*Gt323 + Gt112*(2*gt11L*Gt123 + Gt113*gt12L + gt12L*Gt223 + - gt13L*Gt323) + gt12L*(Gt122*Gt213 + Gt123*(2*Gt212 + Gt313) + - Gt223*(Gt222 + Gt323)) + Gt312*Gt323*gt33L + gt13L*SQR(Gt323))); - - CCTK_REAL Rt13 = khalf*(-(gtu11*PDstandardNth11gt13) - + gtu33*PDstandardNth33gt12 + Gtl112*Xtn1 + Gtl211*Xtn1 + Gtl122*Xtn2 + + Gtl212*Xtn2 + Gtl123*Xtn3 + Gtl213*Xtn3); + + CCTK_REAL Rt13 = khalf*(2*(Gt113*Gtlu111 + Gt123*Gtlu112 + + Gt133*Gtlu113 + Gt213*Gtlu121 + Gt223*Gtlu122 + Gt233*Gtlu123 + + Gt111*Gtlu131 + Gt313*Gtlu131 + Gt112*Gtlu132 + Gt323*Gtlu132 + + Gt113*Gtlu133 + Gt333*Gtlu133 + Gt211*Gtlu231 + Gt212*Gtlu232 + + Gt213*Gtlu233 + Gt111*Gtlu311 + Gt112*Gtlu312 + Gt113*Gtlu313 + + Gt211*Gtlu321 + Gt212*Gtlu322 + Gt213*Gtlu323) + 4*(Gt311*Gtlu331 + + Gt312*Gtlu332 + Gt313*Gtlu333) - gtu11*PDstandardNth11gt13 - 2*gtu12*PDstandardNth12gt13 - 2*gtu13*PDstandardNth13gt13 + gt13L*PDstandardNth1Xt1 + gt23L*PDstandardNth1Xt2 + gt33L*PDstandardNth1Xt3 - gtu22*PDstandardNth22gt13 - 2*gtu23*PDstandardNth23gt13 - gtu33*PDstandardNth33gt13 + gt11L*PDstandardNth3Xt1 + gt12L*PDstandardNth3Xt2 + - gt13L*PDstandardNth3Xt3 + (Gt113*gt11L + gt12L*Gt213 + - gt13L*Gt313)*Xt1L + (Gt111*gt13L + Gt211*gt23L + Gt311*gt33L)*Xt1L + - (gt11L*Gt123 + gt12L*Gt223 + gt13L*Gt323)*Xt2L + (Gt112*gt13L + - Gt212*gt23L + Gt312*gt33L)*Xt2L + (gt11L*Gt133 + gt12L*Gt233 + - gt13L*Gt333)*Xt3L + (Gt113*gt13L + Gt213*gt23L + Gt313*gt33L)*Xt3L + - 2*((Gt122*gt13L*Gt211 + 2*Gt113*gt12L*Gt212 + Gt112*gt12L*Gt213 + - gt12L*Gt213*Gt222 + Gt212*Gt213*gt22L + Gt211*Gt222*gt23L + - Gt123*gt13L*Gt311 + Gt223*gt23L*Gt311 + 2*Gt113*gt13L*Gt312 + - Gt213*gt23L*Gt312 + Gt112*gt13L*Gt313 + gt12L*Gt223*Gt313 + - Gt212*gt23L*Gt313 + gt11L*(2*Gt112*Gt113 + Gt122*Gt213 + Gt123*Gt313) + - gt13L*Gt213*Gt322 + gt13L*Gt313*Gt323 + Gt312*Gt313*gt33L + - Gt211*Gt322*gt33L + Gt311*Gt323*gt33L + Gt111*(Gt112*gt13L + - Gt212*gt23L + Gt312*gt33L))*gtu12 + (Gt122*gt13L*Gt213 + - gt11L*Gt122*Gt233 + Gt212*gt22L*Gt233 + Gt113*Gt212*gt23L + - Gt213*Gt222*gt23L + 2*Gt133*gt13L*Gt312 + Gt233*gt23L*Gt312 + - Gt123*gt13L*Gt313 + Gt223*gt23L*Gt313 + gt13L*Gt233*Gt322 + - gt11L*Gt123*Gt333 + Gt212*gt23L*Gt333 + gt13L*Gt323*Gt333 + - Gt112*(2*gt11L*Gt133 + Gt113*gt13L + gt12L*Gt233 + gt13L*Gt333) + - gt12L*(2*Gt133*Gt212 + Gt222*Gt233 + Gt223*Gt333) + Gt113*Gt312*gt33L + - Gt213*Gt322*gt33L + Gt313*Gt323*gt33L + Gt312*Gt333*gt33L)*gtu23 + - gtu12*(2*Gt123*gt12L*Gt211 + Gt112*gt13L*Gt212 + gt12L*Gt212*Gt223 + - Gt211*Gt223*gt22L + Gt112*Gt211*gt23L + 2*Gt123*gt13L*Gt311 + - Gt223*gt23L*Gt311 + Gt113*gt13L*Gt312 + gt13L*Gt223*Gt312 + - Gt213*gt23L*Gt312 + gt12L*Gt213*Gt323 + Gt211*gt23L*Gt323 + - gt13L*Gt313*Gt323 + gt11L*(2*Gt111*Gt123 + Gt112*Gt223 + Gt113*Gt323) + - Gt111*(Gt112*gt13L + gt12L*Gt223 + gt13L*Gt323) + Gt112*Gt311*gt33L + - Gt212*Gt312*gt33L + Gt312*Gt313*gt33L + Gt311*Gt323*gt33L + - gt23L*SQR(Gt212))) + 2*gtu23*(Gt123*gt13L*Gt212 + 2*Gt123*gt12L*Gt213 + - Gt113*gt12L*Gt223 + Gt213*Gt223*gt22L + Gt212*Gt223*gt23L + - Gt133*gt13L*Gt312 + Gt233*gt23L*Gt312 + 2*Gt123*gt13L*Gt313 + - Gt223*gt23L*Gt313 + Gt113*gt13L*Gt323 + gt13L*Gt223*Gt323 + - gt12L*Gt233*Gt323 + Gt213*gt23L*Gt323 + gt11L*(2*Gt113*Gt123 + - Gt123*Gt223 + Gt133*Gt323) + gt13L*Gt323*Gt333 + Gt212*Gt323*gt33L + - Gt313*Gt323*gt33L + Gt312*Gt333*gt33L + Gt112*(Gt113*gt13L + - Gt213*gt23L + Gt313*gt33L) + gt12L*SQR(Gt223)) + - 2*gtu11*(2*Gt113*gt12L*Gt211 + Gt112*gt13L*Gt211 + gt12L*Gt212*Gt213 + - Gt211*Gt213*gt22L + Gt211*Gt212*gt23L + 3*Gt113*gt13L*Gt311 + - 2*Gt213*gt23L*Gt311 + gt13L*Gt213*Gt312 + gt12L*Gt213*Gt313 + - Gt211*gt23L*Gt313 + gt11L*(2*Gt111*Gt113 + Gt112*Gt213 + Gt113*Gt313) + - Gt211*Gt312*gt33L + 2*Gt311*Gt313*gt33L + Gt111*(gt12L*Gt213 + - Gt211*gt23L + gt13L*Gt313 + Gt311*gt33L) + gt13L*SQR(Gt111) + - gt13L*SQR(Gt313)) + 2*gtu13*(Gt112*gt13L*Gt213 + Gt112*gt11L*Gt233 + - Gt211*gt22L*Gt233 + Gt113*Gt211*gt23L + Gt212*Gt213*gt23L + - 2*Gt133*gt13L*Gt311 + Gt233*gt23L*Gt311 + gt13L*Gt233*Gt312 + - Gt113*gt13L*Gt313 + Gt213*gt23L*Gt313 + Gt113*gt11L*Gt333 + - Gt211*gt23L*Gt333 + gt13L*Gt313*Gt333 + Gt111*(2*gt11L*Gt133 + - Gt113*gt13L + gt12L*Gt233 + gt13L*Gt333) + gt12L*(2*Gt133*Gt211 + - Gt212*Gt233 + Gt213*Gt333) + Gt113*Gt311*gt33L + Gt213*Gt312*gt33L + - Gt311*Gt333*gt33L + gt33L*SQR(Gt313)) + 2*gtu13*(Gt123*gt13L*Gt211 + - 3*Gt113*gt12L*Gt213 + gt12L*Gt213*Gt223 + Gt211*Gt223*gt23L + - Gt133*gt13L*Gt311 + Gt233*gt23L*Gt311 + 3*Gt113*gt13L*Gt313 + - gt12L*Gt233*Gt313 + 2*Gt213*gt23L*Gt313 + gt13L*Gt213*Gt323 + - gt13L*Gt313*Gt333 + Gt211*Gt323*gt33L + Gt311*Gt333*gt33L + - Gt111*(Gt113*gt13L + Gt213*gt23L + Gt313*gt33L) + gt11L*(Gt123*Gt213 + - Gt133*Gt313 + 2*SQR(Gt113)) + gt22L*SQR(Gt213) + gt33L*SQR(Gt313)) + - 2*gtu22*(2*Gt123*gt12L*Gt212 + Gt122*gt13L*Gt212 + gt12L*Gt222*Gt223 + - Gt212*Gt223*gt22L + Gt212*Gt222*gt23L + 3*Gt123*gt13L*Gt312 + - 2*Gt223*gt23L*Gt312 + gt13L*Gt223*Gt322 + gt12L*Gt223*Gt323 + - Gt212*gt23L*Gt323 + gt11L*(2*Gt112*Gt123 + Gt122*Gt223 + Gt123*Gt323) + - Gt212*Gt322*gt33L + 2*Gt312*Gt323*gt33L + Gt112*(gt12L*Gt223 + - Gt212*gt23L + gt13L*Gt323 + Gt312*gt33L) + gt13L*SQR(Gt112) + - gt13L*SQR(Gt323)) + 2*gtu33*(2*gt12L*Gt133*Gt213 + Gt123*gt13L*Gt213 + - gt11L*Gt123*Gt233 + gt12L*Gt223*Gt233 + Gt213*gt22L*Gt233 + - Gt213*Gt223*gt23L + 3*Gt133*gt13L*Gt313 + 2*Gt233*gt23L*Gt313 + - gt13L*Gt233*Gt323 + gt11L*Gt133*Gt333 + gt12L*Gt233*Gt333 + - Gt213*gt23L*Gt333 + Gt213*Gt323*gt33L + 2*Gt313*Gt333*gt33L + - Gt113*(2*gt11L*Gt133 + gt12L*Gt233 + Gt213*gt23L + gt13L*Gt333 + - Gt313*gt33L) + gt13L*SQR(Gt113) + gt13L*SQR(Gt333))); - - CCTK_REAL Rt22 = 4*(Gt122*gt12L*Gt212*gtu12 + Gt112*gt12L*Gt222*gtu12 - + Gt123*gt12L*Gt212*gtu13 + Gt122*gt12L*Gt222*gtu22 + - Gt123*gt12L*Gt222*gtu23 + Gt123*gt12L*Gt223*gtu33) - - gtu11*khalf*PDstandardNth11gt22 + gtu12*(6*Gt212*Gt222*gt22L + - 2*Gt122*gt23L*Gt311 + 2*Gt122*gt13L*Gt312 + 4*Gt222*gt23L*Gt312 + - 2*Gt113*gt12L*Gt322 + 2*gt23L*Gt312*Gt323 + 2*Gt312*Gt322*gt33L - - PDstandardNth12gt22) + gtu13*(6*Gt212*Gt223*gt22L + 2*Gt123*gt13L*Gt312 - + 2*Gt112*gt23L*Gt313 + 2*Gt113*gt12L*Gt323 + 2*gt23L*Gt312*Gt333 + - 2*Gt312*Gt323*gt33L - PDstandardNth13gt22) - - gtu22*khalf*PDstandardNth22gt22 + gtu23*(4*Gt122*gt12L*Gt223 + - 2*Gt123*Gt212*gt22L + 2*gt12L*Gt133*Gt322 + 4*Gt223*gt23L*Gt322 + - 2*Gt123*gt12L*Gt323 + 4*Gt222*gt23L*Gt323 + 2*gt23L*Gt322*Gt333 + - 2*Gt322*Gt323*gt33L - PDstandardNth23gt22) + gt12L*(2*Gt111*Gt123*gtu13 - + 4*Gt112*Gt223*gtu13 + 2*Gt123*Gt322*gtu22 + 2*Gt113*Gt122*gtu23 + - 2*Gt113*Gt123*gtu33 + PDstandardNth2Xt1) + gt22L*(2*Gt122*Gt213*gtu23 + - 6*Gt222*Gt223*gtu23 + 2*Gt123*Gt213*gtu33 + PDstandardNth2Xt2) + - gt23L*(4*Gt212*Gt322*gtu12 + 2*Gt313*Gt322*gtu12 + 2*Gt123*Gt311*gtu13 - + 4*Gt212*Gt323*gtu13 + 2*Gt313*Gt323*gtu13 + 4*Gt222*Gt322*gtu22 + - 2*Gt122*Gt313*gtu23 + 2*Gt123*Gt313*gtu33 + 4*Gt223*Gt323*gtu33 + - 2*Gt323*Gt333*gtu33 + PDstandardNth2Xt3) - - gtu33*khalf*PDstandardNth33gt22 + Gt212*gt22L*Xt1L + - Gt112*(2*Gt111*gt12L*gtu11 + 4*gt12L*Gt212*gtu11 + 2*gt11L*Gt122*gtu12 - + 2*gt11L*Gt123*gtu13 + 2*Gt122*gt12L*gtu22 + 2*Gt123*gt12L*gtu23 + - gt12L*Xt1L) + Gt312*(2*Gt213*gt22L*gtu11 + 4*Gt212*gt23L*gtu11 + - 2*gt23L*Gt313*gtu11 + 2*Gt123*gt12L*gtu12 + 2*gt12L*Gt133*gtu13 + - 2*gt22L*Gt233*gtu13 + 4*Gt223*gt23L*gtu13 + 2*Gt122*gt23L*gtu22 + - 2*Gt123*gt23L*gtu23 + gt23L*Xt1L) + Gt122*gt12L*Xt2L + Gt222*gt22L*Xt2L - + gt23L*Gt322*Xt2L + Gt123*gt12L*Xt3L + Gt223*gt22L*Xt3L + - gt23L*Gt323*Xt3L + gt11L*gtu11*SQR(Gt112) + 2*(Gt112*Gt211*gt22L*gtu11 - + Gt112*gt23L*Gt311*gtu11 + Gt113*gt12L*Gt312*gtu11 + - Gt112*gt13L*Gt312*gtu11 + Gt111*Gt122*gt12L*gtu12 + - Gt122*Gt211*gt22L*gtu12 + Gt112*Gt212*gt22L*gtu12 + - Gt223*gt22L*Gt312*gtu12 + Gt112*gt23L*Gt312*gtu12 + - Gt112*gt13L*Gt322*gtu12 + Gt213*gt22L*Gt322*gtu12 + - Gt112*Gt113*gt12L*gtu13 + Gt123*Gt211*gt22L*gtu13 + - Gt112*Gt213*gt22L*gtu13 + Gt112*gt13L*Gt323*gtu13 + - Gt213*gt22L*Gt323*gtu13 + Gt122*Gt212*gt22L*gtu22 + - Gt122*gt13L*Gt322*gtu22 + Gt223*gt22L*Gt322*gtu22 + - gt23L*Gt322*Gt323*gtu22 + gt11L*Gt122*Gt123*gtu23 + - Gt123*gt13L*Gt322*gtu23 + gt22L*Gt233*Gt322*gtu23 + - Gt122*gt13L*Gt323*gtu23 + Gt223*gt22L*Gt323*gtu23 + - gt12L*Gt133*Gt323*gtu33 + Gt123*gt13L*Gt323*gtu33 + - gt22L*Gt233*Gt323*gtu33 + gt12L*gtu12*SQR(Gt112)) + - gt11L*gtu22*SQR(Gt122) + gt11L*gtu33*SQR(Gt123) + - 3*gt22L*gtu11*SQR(Gt212) + 3*gt22L*gtu22*SQR(Gt222) + - 3*gt22L*gtu33*SQR(Gt223) + gt33L*gtu11*SQR(Gt312) + - gt33L*gtu22*SQR(Gt322) + 2*gt23L*gtu23*SQR(Gt323) + - gt33L*gtu33*SQR(Gt323); - - CCTK_REAL Rt23 = khalf*(-(gtu11*PDstandardNth11gt23) - + gt13L*PDstandardNth3Xt3 + Gtl113*Xtn1 + Gtl311*Xtn1 + Gtl123*Xtn2 + + Gtl312*Xtn2 + Gtl133*Xtn3 + Gtl313*Xtn3); + + CCTK_REAL Rt22 = Gt112*(Gtlu121 + 2*Gtlu211) + Gt122*(Gtlu122 + + 2*Gtlu212) + Gt123*(Gtlu123 + 2*Gtlu213) + 3*(Gt212*Gtlu221 + + Gt222*Gtlu222 + Gt223*Gtlu223) + 2*(Gt312*Gtlu231 + Gt322*Gtlu232 + + Gt323*Gtlu233) + Gt312*Gtlu321 + Gt322*Gtlu322 + Gt323*Gtlu323 + + gt12L*PDstandardNth2Xt1 + gt22L*PDstandardNth2Xt2 + + gt23L*PDstandardNth2Xt3 + khalf*(-(gtu11*PDstandardNth11gt22) - + 2*gtu12*PDstandardNth12gt22 - 2*gtu13*PDstandardNth13gt22 - + gtu22*PDstandardNth22gt22 - 2*gtu23*PDstandardNth23gt22 - + gtu33*PDstandardNth33gt22) + Gtl212*Xtn1 + Gtl222*Xtn2 + Gtl223*Xtn3; + + CCTK_REAL Rt23 = khalf*(2*(Gt112*Gtlu131 + Gt122*Gtlu132 + + Gt123*Gtlu133 + Gt113*Gtlu211 + Gt123*Gtlu212 + Gt133*Gtlu213 + + Gt213*Gtlu221 + Gt223*Gtlu222 + Gt233*Gtlu223 + Gt212*Gtlu231 + + Gt313*Gtlu231 + Gt222*Gtlu232 + Gt323*Gtlu232 + Gt223*Gtlu233 + + Gt333*Gtlu233 + Gt112*Gtlu311 + Gt122*Gtlu312 + Gt123*Gtlu313 + + Gt212*Gtlu321 + Gt222*Gtlu322 + Gt223*Gtlu323) + 4*(Gt312*Gtlu331 + + Gt322*Gtlu332 + Gt323*Gtlu333) - gtu11*PDstandardNth11gt23 - 2*gtu12*PDstandardNth12gt23 - 2*gtu13*PDstandardNth13gt23 - gtu22*PDstandardNth22gt23 - 2*gtu23*PDstandardNth23gt23 + gt13L*PDstandardNth2Xt1 + gt23L*PDstandardNth2Xt2 + gt33L*PDstandardNth2Xt3 - gtu33*PDstandardNth33gt23 + gt12L*PDstandardNth3Xt1 + gt22L*PDstandardNth3Xt2 + - gt23L*PDstandardNth3Xt3 + (Gt113*gt12L + Gt213*gt22L + - gt23L*Gt313)*Xt1L + (Gt112*gt13L + Gt212*gt23L + Gt312*gt33L)*Xt1L + - (Gt123*gt12L + Gt223*gt22L + gt23L*Gt323)*Xt2L + (Gt122*gt13L + - Gt222*gt23L + Gt322*gt33L)*Xt2L + (gt12L*Gt133 + gt22L*Gt233 + - gt23L*Gt333)*Xt3L + (Gt123*gt13L + Gt223*gt23L + Gt323*gt33L)*Xt3L + - 2*((Gt112*gt11L*Gt123 + Gt111*Gt123*gt12L + Gt111*Gt122*gt13L + - Gt123*gt12L*Gt212 + Gt112*gt13L*Gt222 + 2*Gt112*gt12L*Gt223 + - Gt123*Gt211*gt22L + 2*Gt212*Gt223*gt22L + Gt122*Gt211*gt23L + - Gt212*Gt222*gt23L + Gt123*gt23L*Gt311 + Gt123*gt13L*Gt312 + - 2*Gt223*gt23L*Gt312 + Gt113*gt13L*Gt322 + Gt213*gt23L*Gt322 + - Gt113*gt12L*Gt323 + Gt112*gt13L*Gt323 + Gt213*gt22L*Gt323 + - Gt212*gt23L*Gt323 + gt23L*Gt313*Gt323 + Gt122*Gt311*gt33L + - Gt222*Gt312*gt33L + Gt313*Gt322*gt33L + Gt312*Gt323*gt33L)*gtu12 + - (Gt112*gt11L*Gt133 + Gt111*gt12L*Gt133 + Gt111*Gt123*gt13L + - gt12L*Gt133*Gt212 + Gt112*gt13L*Gt223 + Gt133*Gt211*gt22L + - 2*Gt112*gt12L*Gt233 + 2*Gt212*gt22L*Gt233 + Gt123*Gt211*gt23L + - Gt212*Gt223*gt23L + Gt133*gt23L*Gt311 + Gt133*gt13L*Gt312 + - 2*Gt233*gt23L*Gt312 + Gt113*gt13L*Gt323 + Gt213*gt23L*Gt323 + - Gt113*gt12L*Gt333 + Gt112*gt13L*Gt333 + Gt213*gt22L*Gt333 + - Gt212*gt23L*Gt333 + gt23L*Gt313*Gt333 + Gt123*Gt311*gt33L + - Gt223*Gt312*gt33L + Gt313*Gt323*gt33L + Gt312*Gt333*gt33L)*gtu13 + - gtu12*(Gt113*gt11L*Gt122 + Gt122*gt13L*Gt212 + 2*Gt122*gt12L*Gt213 + - Gt113*gt12L*Gt222 + Gt113*Gt212*gt22L + 2*Gt213*Gt222*gt22L + - Gt212*Gt222*gt23L + Gt123*gt13L*Gt312 + Gt113*gt23L*Gt312 + - Gt223*gt23L*Gt312 + Gt123*gt12L*Gt313 + Gt122*gt13L*Gt313 + - Gt223*gt22L*Gt313 + Gt222*gt23L*Gt313 + Gt113*gt13L*Gt322 + - 2*Gt213*gt23L*Gt322 + gt23L*Gt313*Gt323 + Gt212*Gt322*gt33L + - Gt313*Gt322*gt33L + Gt312*Gt323*gt33L + Gt112*(Gt113*gt12L + - Gt212*gt23L + Gt312*gt33L) + gt13L*SQR(Gt112))) + - 2*gtu13*(2*Gt213*Gt223*gt22L + Gt112*Gt213*gt23L + Gt212*Gt223*gt23L + - Gt133*gt13L*Gt312 + Gt233*gt23L*Gt312 + gt12L*Gt133*Gt313 + - gt22L*Gt233*Gt313 + Gt223*gt23L*Gt313 + Gt123*(2*gt12L*Gt213 + - gt13L*(Gt212 + Gt313)) + 2*Gt213*gt23L*Gt323 + Gt113*(gt11L*Gt123 + - Gt112*gt13L + gt12L*Gt223 + Gt213*gt22L + gt23L*Gt313 + gt13L*Gt323) + - gt23L*Gt313*Gt333 + Gt112*Gt313*gt33L + Gt212*Gt323*gt33L + - Gt313*Gt323*gt33L + Gt312*Gt333*gt33L + gt12L*SQR(Gt113)) + - 2*gtu11*(Gt112*Gt113*gt11L + Gt111*Gt113*gt12L + Gt111*Gt112*gt13L + - Gt113*gt12L*Gt212 + Gt112*gt13L*Gt212 + 2*Gt112*gt12L*Gt213 + - Gt113*Gt211*gt22L + 2*Gt212*Gt213*gt22L + Gt112*Gt211*gt23L + - Gt113*gt23L*Gt311 + 2*Gt113*gt13L*Gt312 + 3*Gt213*gt23L*Gt312 + - Gt113*gt12L*Gt313 + Gt112*gt13L*Gt313 + Gt213*gt22L*Gt313 + - Gt212*gt23L*Gt313 + Gt112*Gt311*gt33L + Gt212*Gt312*gt33L + - 2*Gt312*Gt313*gt33L + gt23L*SQR(Gt212) + gt23L*SQR(Gt313)) + - 2*gtu22*(gt11L*Gt122*Gt123 + Gt112*Gt123*gt12L + Gt112*Gt122*gt13L + - Gt123*gt12L*Gt222 + Gt122*gt13L*Gt222 + 2*Gt122*gt12L*Gt223 + - Gt123*Gt212*gt22L + 2*Gt222*Gt223*gt22L + Gt122*Gt212*gt23L + - Gt123*gt23L*Gt312 + 2*Gt123*gt13L*Gt322 + 3*Gt223*gt23L*Gt322 + - Gt123*gt12L*Gt323 + Gt122*gt13L*Gt323 + Gt223*gt22L*Gt323 + - Gt222*gt23L*Gt323 + Gt122*Gt312*gt33L + Gt222*Gt322*gt33L + - 2*Gt322*Gt323*gt33L + gt23L*SQR(Gt222) + gt23L*SQR(Gt323)) + - 2*gtu23*(gt11L*Gt122*Gt133 + Gt112*gt12L*Gt133 + Gt112*Gt123*gt13L + - gt12L*Gt133*Gt222 + Gt122*gt13L*Gt223 + Gt133*Gt212*gt22L + - 2*Gt122*gt12L*Gt233 + 2*Gt222*gt22L*Gt233 + Gt123*Gt212*gt23L + - Gt222*Gt223*gt23L + Gt133*gt23L*Gt312 + Gt133*gt13L*Gt322 + - 2*Gt233*gt23L*Gt322 + Gt123*gt13L*Gt323 + Gt223*gt23L*Gt323 + - Gt123*gt12L*Gt333 + Gt122*gt13L*Gt333 + Gt223*gt22L*Gt333 + - Gt222*gt23L*Gt333 + gt23L*Gt323*Gt333 + Gt123*Gt312*gt33L + - Gt223*Gt322*gt33L + Gt322*Gt333*gt33L + gt33L*SQR(Gt323)) + - 2*gtu23*(Gt113*Gt123*gt12L + Gt113*Gt122*gt13L + Gt123*gt13L*Gt222 + - 3*Gt123*gt12L*Gt223 + Gt123*Gt213*gt22L + Gt122*Gt213*gt23L + - Gt222*Gt223*gt23L + Gt123*gt23L*Gt313 + Gt133*gt13L*Gt322 + - Gt233*gt23L*Gt322 + gt12L*Gt133*Gt323 + 2*Gt123*gt13L*Gt323 + - gt22L*Gt233*Gt323 + 3*Gt223*gt23L*Gt323 + gt23L*Gt323*Gt333 + - Gt122*Gt313*gt33L + Gt222*Gt323*gt33L + Gt322*Gt333*gt33L + - gt11L*SQR(Gt123) + 2*gt22L*SQR(Gt223) + gt33L*SQR(Gt323)) + - 2*gtu33*(gt11L*Gt123*Gt133 + Gt113*gt12L*Gt133 + Gt113*Gt123*gt13L + - gt12L*Gt133*Gt223 + Gt123*gt13L*Gt223 + Gt133*Gt213*gt22L + - 2*Gt123*gt12L*Gt233 + 2*Gt223*gt22L*Gt233 + Gt123*Gt213*gt23L + - Gt133*gt23L*Gt313 + 2*Gt133*gt13L*Gt323 + 3*Gt233*gt23L*Gt323 + - gt12L*Gt133*Gt333 + Gt123*gt13L*Gt333 + gt22L*Gt233*Gt333 + - Gt223*gt23L*Gt333 + Gt123*Gt313*gt33L + Gt223*Gt323*gt33L + - 2*Gt323*Gt333*gt33L + gt23L*SQR(Gt223) + gt23L*SQR(Gt333))); - - CCTK_REAL Rt33 = 4*(Gt133*gt13L*Gt313*gtu13 + Gt233*gt23L*Gt313*gtu13 - + Gt113*gt13L*Gt333*gtu13 + Gt213*gt23L*Gt333*gtu13 + - Gt123*gt13L*Gt323*gtu22 + Gt133*gt13L*Gt323*gtu23 + - Gt123*gt13L*Gt333*gtu23 + Gt223*gt23L*Gt333*gtu23 + - Gt133*gt13L*Gt333*gtu33) + gtu12*(2*Gt212*Gt223*gt23L + - 4*Gt123*gt13L*Gt313 + 4*Gt223*gt23L*Gt313 + 4*Gt113*gt13L*Gt323 + - 4*Gt213*gt23L*Gt323 + 2*Gt123*Gt311*gt33L - PDstandardNth12gt33) - - gtu13*PDstandardNth13gt33 - gtu22*khalf*PDstandardNth22gt33 - - gtu23*PDstandardNth23gt33 - gtu33*khalf*PDstandardNth33gt33 + + gt23L*PDstandardNth3Xt3 + Gtl213*Xtn1 + Gtl312*Xtn1 + Gtl223*Xtn2 + + Gtl322*Xtn2 + Gtl233*Xtn3 + Gtl323*Xtn3); + + CCTK_REAL Rt33 = Gt113*(Gtlu131 + 2*Gtlu311) + Gt123*(Gtlu132 + + 2*Gtlu312) + Gt133*(Gtlu133 + 2*Gtlu313) + Gt213*(Gtlu231 + 2*Gtlu321) + + Gt223*(Gtlu232 + 2*Gtlu322) + Gt233*(Gtlu233 + 2*Gtlu323) + + 3*(Gt313*Gtlu331 + Gt323*Gtlu332 + Gt333*Gtlu333) + + khalf*(-(gtu11*PDstandardNth11gt33) - 2*gtu12*PDstandardNth12gt33 - + 2*gtu13*PDstandardNth13gt33 - gtu22*PDstandardNth22gt33 - + 2*gtu23*PDstandardNth23gt33 - gtu33*PDstandardNth33gt33) + gt13L*PDstandardNth3Xt1 + gt23L*PDstandardNth3Xt2 + - gt33L*(2*Gt213*Gt322*gtu12 + 6*Gt313*Gt323*gtu12 + 2*Gt133*Gt311*gtu13 - + 2*Gt213*Gt323*gtu13 + 6*Gt313*Gt333*gtu13 + 2*Gt123*Gt312*gtu22 + - 2*Gt133*Gt312*gtu23 + 2*Gt133*Gt313*gtu33 + PDstandardNth3Xt3) + - Gt113*gt13L*Xt1L + Gt213*gt23L*Xt1L + Gt313*gt33L*Xt1L + - Gt123*gt13L*Xt2L + Gt223*(4*gt23L*Gt323*gtu22 + 2*Gt322*gt33L*gtu22 + - 2*gt12L*Gt133*gtu23 + 2*Gt233*gt23L*gtu33 + gt23L*Xt2L) + - Gt323*(2*Gt223*gt33L*gtu23 + 6*Gt333*gt33L*gtu23 + 2*Gt233*gt33L*gtu33 - + gt33L*Xt2L) + Gt133*gt13L*Xt3L + Gt333*gt33L*Xt3L + - Gt233*(2*Gt222*gt23L*gtu23 + 4*gt23L*Gt323*gtu23 + 2*gt12L*Gt133*gtu33 - + 4*gt23L*Gt333*gtu33 + gt23L*Xt3L) + gtu11*(2*Gt212*Gt213*gt23L + - 4*Gt113*gt13L*Gt313 + 4*Gt213*gt23L*Gt313 + 2*Gt113*Gt311*gt33L + - 2*Gt213*Gt312*gt33L - khalf*PDstandardNth11gt33 + gt11L*SQR(Gt113)) + - 2*(Gt111*Gt113*gt13L*gtu11 + Gt113*gt12L*Gt213*gtu11 + - Gt112*gt13L*Gt213*gtu11 + Gt113*Gt211*gt23L*gtu11 + - Gt113*gt11L*Gt123*gtu12 + Gt112*Gt113*gt13L*gtu12 + - Gt111*Gt123*gt13L*gtu12 + Gt123*gt12L*Gt213*gtu12 + - Gt122*gt13L*Gt213*gtu12 + Gt113*gt12L*Gt223*gtu12 + - Gt112*gt13L*Gt223*gtu12 + Gt213*Gt223*gt22L*gtu12 + - Gt123*Gt211*gt23L*gtu12 + Gt113*Gt212*gt23L*gtu12 + - Gt213*Gt222*gt23L*gtu12 + Gt113*Gt312*gt33L*gtu12 + - Gt223*Gt312*gt33L*gtu12 + Gt113*gt11L*Gt133*gtu13 + - Gt111*Gt133*gt13L*gtu13 + gt12L*Gt133*Gt213*gtu13 + - Gt123*gt13L*Gt213*gtu13 + Gt113*gt12L*Gt233*gtu13 + - Gt112*gt13L*Gt233*gtu13 + Gt213*gt22L*Gt233*gtu13 + - Gt133*Gt211*gt23L*gtu13 + Gt113*Gt213*gt23L*gtu13 + - Gt213*Gt223*gt23L*gtu13 + Gt212*Gt233*gt23L*gtu13 + - Gt233*Gt312*gt33L*gtu13 + Gt113*Gt313*gt33L*gtu13 + - Gt112*Gt123*gt13L*gtu22 + Gt123*gt12L*Gt223*gtu22 + - Gt122*gt13L*Gt223*gtu22 + Gt123*Gt212*gt23L*gtu22 + - Gt222*Gt223*gt23L*gtu22 + gt11L*Gt123*Gt133*gtu23 + - Gt113*Gt123*gt13L*gtu23 + Gt112*Gt133*gt13L*gtu23 + - Gt123*gt13L*Gt223*gtu23 + Gt123*gt12L*Gt233*gtu23 + - Gt122*gt13L*Gt233*gtu23 + Gt223*gt22L*Gt233*gtu23 + - Gt133*Gt212*gt23L*gtu23 + Gt123*Gt213*gt23L*gtu23 + - Gt123*Gt313*gt33L*gtu23 + Gt233*Gt322*gt33L*gtu23 + - Gt113*Gt133*gt13L*gtu33 + Gt123*gt13L*Gt233*gtu33 + - Gt133*Gt213*gt23L*gtu33 + gt13L*gtu13*SQR(Gt113)) + - gt11L*gtu22*SQR(Gt123) + gt11L*gtu33*SQR(Gt133) + - gt22L*gtu11*SQR(Gt213) + gt22L*gtu22*SQR(Gt223) + - 2*gt23L*gtu23*SQR(Gt223) + gt22L*gtu33*SQR(Gt233) + - 3*gt33L*gtu11*SQR(Gt313) + 3*gt33L*gtu22*SQR(Gt323) + - 3*gt33L*gtu33*SQR(Gt333); + gt33L*PDstandardNth3Xt3 + Gtl313*Xtn1 + Gtl323*Xtn2 + Gtl333*Xtn3; CCTK_REAL fac1 = IfThen(conformalMethod,-(khalf*INV(phiL)),1); @@ -887,23 +639,8 @@ void ML_BSSN_UPW_constraints1_Body(cGH const * restrict const cctkGH, int const SQR(Atm22) + SQR(Atm33)) + 0.6666666666666666666666666666666666666667*SQR(trKL); - CCTK_REAL cSL = Log(detgt); - - CCTK_REAL cXt1L = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu12 + - Gt113*gtu13 + Gt123*gtu23) + Gt133*gtu33 - Xt1L; - - CCTK_REAL cXt2L = Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu12 + - Gt213*gtu13 + Gt223*gtu23) + Gt233*gtu33 - Xt2L; - - CCTK_REAL cXt3L = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu12 + - Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33 - Xt3L; - /* Copy local copies back to grid functions */ - cS[index] = cSL; - cXt1[index] = cXt1L; - cXt2[index] = cXt2L; - cXt3[index] = cXt3L; H[index] = HL; } LC_ENDLOOP3 (ML_BSSN_UPW_constraints1); diff --git a/ML_BSSN_UPW/src/ML_BSSN_UPW_constraints2.c b/ML_BSSN_UPW/src/ML_BSSN_UPW_constraints2.c index ff62b5d..42d3225 100644 --- a/ML_BSSN_UPW/src/ML_BSSN_UPW_constraints2.c +++ b/ML_BSSN_UPW/src/ML_BSSN_UPW_constraints2.c @@ -26,6 +26,12 @@ void ML_BSSN_UPW_constraints2_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_PARAMETERS; CCTK_INT ierr = 0; + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_UPW::ML_cons_detg","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_UPW::ML_cons_detg."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_UPW::ML_cons_Gamma","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_UPW::ML_cons_Gamma."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_UPW::ML_cons_traceA","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_UPW::ML_cons_traceA."); @@ -53,9 +59,6 @@ void ML_BSSN_UPW_constraints2_Body(cGH const * restrict const cctkGH, int const return; } - const char *groups[] = {"ML_BSSN_UPW::ML_cons_traceA","ML_BSSN_UPW::ML_curv","ML_BSSN_UPW::ML_lapse","ML_BSSN_UPW::ML_log_confac","ML_BSSN_UPW::ML_metric","ML_BSSN_UPW::ML_mom","ML_BSSN_UPW::ML_shift","ML_BSSN_UPW::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_UPW_constraints2", 8, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -177,6 +180,9 @@ void ML_BSSN_UPW_constraints2_Body(cGH const * restrict const cctkGH, int const CCTK_REAL gt33L = gt33[index]; CCTK_REAL phiL = phi[index]; CCTK_REAL trKL = trK[index]; + CCTK_REAL Xt1L = Xt1[index]; + CCTK_REAL Xt2L = Xt2[index]; + CCTK_REAL Xt3L = Xt3[index]; /* Include user supplied include files */ @@ -239,77 +245,80 @@ void ML_BSSN_UPW_constraints2_Body(cGH const * restrict const cctkGH, int const CCTK_REAL gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L)); - CCTK_REAL Gt111 = khalf*(gtu11*PDstandardNth1gt11 + - 2*(gtu12*PDstandardNth1gt12 + gtu13*PDstandardNth1gt13) - - gtu12*PDstandardNth2gt11 - gtu13*PDstandardNth3gt11); + CCTK_REAL Gtl111 = khalf*PDstandardNth1gt11; + + CCTK_REAL Gtl112 = khalf*PDstandardNth2gt11; + + CCTK_REAL Gtl113 = khalf*PDstandardNth3gt11; + + CCTK_REAL Gtl122 = -(khalf*PDstandardNth1gt22) + PDstandardNth2gt12; + + CCTK_REAL Gtl123 = khalf*(-PDstandardNth1gt23 + PDstandardNth2gt13 + + PDstandardNth3gt12); + + CCTK_REAL Gtl133 = -(khalf*PDstandardNth1gt33) + PDstandardNth3gt13; + + CCTK_REAL Gtl211 = PDstandardNth1gt12 - khalf*PDstandardNth2gt11; + + CCTK_REAL Gtl212 = khalf*PDstandardNth1gt22; + + CCTK_REAL Gtl213 = khalf*(PDstandardNth1gt23 - PDstandardNth2gt13 + + PDstandardNth3gt12); + + CCTK_REAL Gtl222 = khalf*PDstandardNth2gt22; + + CCTK_REAL Gtl223 = khalf*PDstandardNth3gt22; - CCTK_REAL Gt211 = khalf*(gtu12*PDstandardNth1gt11 + - 2*(gtu22*PDstandardNth1gt12 + gtu23*PDstandardNth1gt13) - - gtu22*PDstandardNth2gt11 - gtu23*PDstandardNth3gt11); + CCTK_REAL Gtl233 = -(khalf*PDstandardNth2gt33) + PDstandardNth3gt23; - CCTK_REAL Gt311 = khalf*(gtu13*PDstandardNth1gt11 + - 2*(gtu23*PDstandardNth1gt12 + gtu33*PDstandardNth1gt13) - - gtu23*PDstandardNth2gt11 - gtu33*PDstandardNth3gt11); + CCTK_REAL Gtl311 = PDstandardNth1gt13 - khalf*PDstandardNth3gt11; - CCTK_REAL Gt112 = khalf*(gtu12*PDstandardNth1gt22 + - gtu11*PDstandardNth2gt11 + gtu13*(PDstandardNth1gt23 + - PDstandardNth2gt13 - PDstandardNth3gt12)); + CCTK_REAL Gtl312 = khalf*(PDstandardNth1gt23 + PDstandardNth2gt13 - + PDstandardNth3gt12); - CCTK_REAL Gt212 = khalf*(gtu22*PDstandardNth1gt22 + - gtu12*PDstandardNth2gt11 + gtu23*(PDstandardNth1gt23 + - PDstandardNth2gt13 - PDstandardNth3gt12)); + CCTK_REAL Gtl313 = khalf*PDstandardNth1gt33; - CCTK_REAL Gt312 = khalf*(gtu23*PDstandardNth1gt22 + - gtu13*PDstandardNth2gt11 + gtu33*(PDstandardNth1gt23 + - PDstandardNth2gt13 - PDstandardNth3gt12)); + CCTK_REAL Gtl322 = PDstandardNth2gt23 - khalf*PDstandardNth3gt22; - CCTK_REAL Gt113 = khalf*(gtu13*PDstandardNth1gt33 + - gtu11*PDstandardNth3gt11 + gtu12*(PDstandardNth1gt23 - - PDstandardNth2gt13 + PDstandardNth3gt12)); + CCTK_REAL Gtl323 = khalf*PDstandardNth2gt33; - CCTK_REAL Gt213 = khalf*(gtu23*PDstandardNth1gt33 + - gtu12*PDstandardNth3gt11 + gtu22*(PDstandardNth1gt23 - - PDstandardNth2gt13 + PDstandardNth3gt12)); + CCTK_REAL Gtl333 = khalf*PDstandardNth3gt33; - CCTK_REAL Gt313 = khalf*(gtu33*PDstandardNth1gt33 + - gtu13*PDstandardNth3gt11 + gtu23*(PDstandardNth1gt23 - - PDstandardNth2gt13 + PDstandardNth3gt12)); + CCTK_REAL Gt111 = Gtl111*gtu11 + Gtl211*gtu12 + Gtl311*gtu13; - CCTK_REAL Gt122 = khalf*(gtu11*(-PDstandardNth1gt22 + - 2*PDstandardNth2gt12) + gtu12*PDstandardNth2gt22 + - gtu13*(2*PDstandardNth2gt23 - PDstandardNth3gt22)); + CCTK_REAL Gt211 = Gtl111*gtu12 + Gtl211*gtu22 + Gtl311*gtu23; - CCTK_REAL Gt222 = khalf*(gtu12*(-PDstandardNth1gt22 + - 2*PDstandardNth2gt12) + gtu22*PDstandardNth2gt22 + - gtu23*(2*PDstandardNth2gt23 - PDstandardNth3gt22)); + CCTK_REAL Gt311 = Gtl111*gtu13 + Gtl211*gtu23 + Gtl311*gtu33; - CCTK_REAL Gt322 = khalf*(gtu13*(-PDstandardNth1gt22 + - 2*PDstandardNth2gt12) + gtu23*PDstandardNth2gt22 + - gtu33*(2*PDstandardNth2gt23 - PDstandardNth3gt22)); + CCTK_REAL Gt112 = Gtl112*gtu11 + Gtl212*gtu12 + Gtl312*gtu13; - CCTK_REAL Gt123 = khalf*(gtu13*PDstandardNth2gt33 + - gtu11*(-PDstandardNth1gt23 + PDstandardNth2gt13 + PDstandardNth3gt12) + - gtu12*PDstandardNth3gt22); + CCTK_REAL Gt212 = Gtl112*gtu12 + Gtl212*gtu22 + Gtl312*gtu23; - CCTK_REAL Gt223 = khalf*(gtu23*PDstandardNth2gt33 + - gtu12*(-PDstandardNth1gt23 + PDstandardNth2gt13 + PDstandardNth3gt12) + - gtu22*PDstandardNth3gt22); + CCTK_REAL Gt312 = Gtl112*gtu13 + Gtl212*gtu23 + Gtl312*gtu33; - CCTK_REAL Gt323 = khalf*(gtu33*PDstandardNth2gt33 + - gtu13*(-PDstandardNth1gt23 + PDstandardNth2gt13 + PDstandardNth3gt12) + - gtu23*PDstandardNth3gt22); + CCTK_REAL Gt113 = Gtl113*gtu11 + Gtl213*gtu12 + Gtl313*gtu13; - CCTK_REAL Gt133 = khalf*(-(gtu11*PDstandardNth1gt33) - - gtu12*PDstandardNth2gt33 + 2*gtu11*PDstandardNth3gt13 + - 2*gtu12*PDstandardNth3gt23 + gtu13*PDstandardNth3gt33); + CCTK_REAL Gt213 = Gtl113*gtu12 + Gtl213*gtu22 + Gtl313*gtu23; - CCTK_REAL Gt233 = khalf*(-(gtu12*PDstandardNth1gt33) - - gtu22*PDstandardNth2gt33 + 2*gtu12*PDstandardNth3gt13 + - 2*gtu22*PDstandardNth3gt23 + gtu23*PDstandardNth3gt33); + CCTK_REAL Gt313 = Gtl113*gtu13 + Gtl213*gtu23 + Gtl313*gtu33; - CCTK_REAL Gt333 = khalf*(-(gtu13*PDstandardNth1gt33) - - gtu23*PDstandardNth2gt33 + 2*gtu13*PDstandardNth3gt13 + - 2*gtu23*PDstandardNth3gt23 + gtu33*PDstandardNth3gt33); + CCTK_REAL Gt122 = Gtl122*gtu11 + Gtl222*gtu12 + Gtl322*gtu13; + + CCTK_REAL Gt222 = Gtl122*gtu12 + Gtl222*gtu22 + Gtl322*gtu23; + + CCTK_REAL Gt322 = Gtl122*gtu13 + Gtl222*gtu23 + Gtl322*gtu33; + + CCTK_REAL Gt123 = Gtl123*gtu11 + Gtl223*gtu12 + Gtl323*gtu13; + + CCTK_REAL Gt223 = Gtl123*gtu12 + Gtl223*gtu22 + Gtl323*gtu23; + + CCTK_REAL Gt323 = Gtl123*gtu13 + Gtl223*gtu23 + Gtl323*gtu33; + + CCTK_REAL Gt133 = Gtl133*gtu11 + Gtl233*gtu12 + Gtl333*gtu13; + + CCTK_REAL Gt233 = Gtl133*gtu12 + Gtl233*gtu22 + Gtl333*gtu23; + + CCTK_REAL Gt333 = Gtl133*gtu13 + Gtl233*gtu23 + Gtl333*gtu33; CCTK_REAL fac1 = IfThen(conformalMethod,-(khalf*INV(phiL)),1); @@ -383,12 +392,27 @@ void ML_BSSN_UPW_constraints2_Body(cGH const * restrict const cctkGH, int const 0.6666666666666666666666666666666666666667*PDstandardNth3trK - 25.13274122871834590770114706623602307358*S3; + CCTK_REAL cSL = Log(detgt); + + CCTK_REAL cXt1L = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu12 + + Gt113*gtu13 + Gt123*gtu23) + Gt133*gtu33 - Xt1L; + + CCTK_REAL cXt2L = Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu12 + + Gt213*gtu13 + Gt223*gtu23) + Gt233*gtu33 - Xt2L; + + CCTK_REAL cXt3L = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu12 + + Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33 - Xt3L; + CCTK_REAL cAL = At11L*gtu11 + At22L*gtu22 + 2*(At12L*gtu12 + At13L*gtu13 + At23L*gtu23) + At33L*gtu33; /* Copy local copies back to grid functions */ cA[index] = cAL; + cS[index] = cSL; + cXt1[index] = cXt1L; + cXt2[index] = cXt2L; + cXt3[index] = cXt3L; M1[index] = M1L; M2[index] = M2L; M3[index] = M3L; diff --git a/ML_BSSN_UPW/src/ML_BSSN_UPW_convertFromADMBase.c b/ML_BSSN_UPW/src/ML_BSSN_UPW_convertFromADMBase.c index 703c4ff..d1ebe1a 100644 --- a/ML_BSSN_UPW/src/ML_BSSN_UPW_convertFromADMBase.c +++ b/ML_BSSN_UPW/src/ML_BSSN_UPW_convertFromADMBase.c @@ -38,9 +38,6 @@ void ML_BSSN_UPW_convertFromADMBase_Body(cGH const * restrict const cctkGH, int return; } - const char *groups[] = {"ADMBase::curv","ADMBase::lapse","ADMBase::metric","ADMBase::shift","ML_BSSN_UPW::ML_curv","ML_BSSN_UPW::ML_lapse","ML_BSSN_UPW::ML_log_confac","ML_BSSN_UPW::ML_metric","ML_BSSN_UPW::ML_shift","ML_BSSN_UPW::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_UPW_convertFromADMBase", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_UPW/src/ML_BSSN_UPW_convertFromADMBaseGamma.c b/ML_BSSN_UPW/src/ML_BSSN_UPW_convertFromADMBaseGamma.c index f419950..a5229e4 100644 --- a/ML_BSSN_UPW/src/ML_BSSN_UPW_convertFromADMBaseGamma.c +++ b/ML_BSSN_UPW/src/ML_BSSN_UPW_convertFromADMBaseGamma.c @@ -56,9 +56,6 @@ void ML_BSSN_UPW_convertFromADMBaseGamma_Body(cGH const * restrict const cctkGH, return; } - const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","grid::coordinates","Grid::coordinates","ML_BSSN_UPW::ML_dtlapse","ML_BSSN_UPW::ML_dtshift","ML_BSSN_UPW::ML_Gamma","ML_BSSN_UPW::ML_lapse","ML_BSSN_UPW::ML_metric","ML_BSSN_UPW::ML_shift"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_UPW_convertFromADMBaseGamma", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_UPW/src/ML_BSSN_UPW_convertToADMBase.c b/ML_BSSN_UPW/src/ML_BSSN_UPW_convertToADMBase.c index 146c10a..59ab7df 100644 --- a/ML_BSSN_UPW/src/ML_BSSN_UPW_convertToADMBase.c +++ b/ML_BSSN_UPW/src/ML_BSSN_UPW_convertToADMBase.c @@ -38,9 +38,6 @@ void ML_BSSN_UPW_convertToADMBase_Body(cGH const * restrict const cctkGH, int co return; } - const char *groups[] = {"ADMBase::curv","ADMBase::lapse","ADMBase::metric","ADMBase::shift","ML_BSSN_UPW::ML_curv","ML_BSSN_UPW::ML_lapse","ML_BSSN_UPW::ML_log_confac","ML_BSSN_UPW::ML_metric","ML_BSSN_UPW::ML_shift","ML_BSSN_UPW::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_UPW_convertToADMBase", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_UPW/src/ML_BSSN_UPW_convertToADMBaseDtLapseShift.c b/ML_BSSN_UPW/src/ML_BSSN_UPW_convertToADMBaseDtLapseShift.c index e281d38..f2cd077 100644 --- a/ML_BSSN_UPW/src/ML_BSSN_UPW_convertToADMBaseDtLapseShift.c +++ b/ML_BSSN_UPW/src/ML_BSSN_UPW_convertToADMBaseDtLapseShift.c @@ -53,9 +53,6 @@ void ML_BSSN_UPW_convertToADMBaseDtLapseShift_Body(cGH const * restrict const cc return; } - const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","grid::coordinates","Grid::coordinates","ML_BSSN_UPW::ML_dtlapse","ML_BSSN_UPW::ML_dtshift","ML_BSSN_UPW::ML_Gamma","ML_BSSN_UPW::ML_lapse","ML_BSSN_UPW::ML_shift","ML_BSSN_UPW::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_UPW_convertToADMBaseDtLapseShift", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_UPW/src/ML_BSSN_UPW_convertToADMBaseDtLapseShiftBoundary.c b/ML_BSSN_UPW/src/ML_BSSN_UPW_convertToADMBaseDtLapseShiftBoundary.c index 299570b..64f9897 100644 --- a/ML_BSSN_UPW/src/ML_BSSN_UPW_convertToADMBaseDtLapseShiftBoundary.c +++ b/ML_BSSN_UPW/src/ML_BSSN_UPW_convertToADMBaseDtLapseShiftBoundary.c @@ -53,9 +53,6 @@ void ML_BSSN_UPW_convertToADMBaseDtLapseShiftBoundary_Body(cGH const * restrict return; } - const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","grid::coordinates","Grid::coordinates","ML_BSSN_UPW::ML_dtlapse","ML_BSSN_UPW::ML_dtshift","ML_BSSN_UPW::ML_Gamma","ML_BSSN_UPW::ML_lapse","ML_BSSN_UPW::ML_shift","ML_BSSN_UPW::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_UPW_convertToADMBaseDtLapseShiftBoundary", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_UPW/src/ML_BSSN_UPW_convertToADMBaseFakeDtLapseShift.c b/ML_BSSN_UPW/src/ML_BSSN_UPW_convertToADMBaseFakeDtLapseShift.c index 0b33fd6..d3edd8b 100644 --- a/ML_BSSN_UPW/src/ML_BSSN_UPW_convertToADMBaseFakeDtLapseShift.c +++ b/ML_BSSN_UPW/src/ML_BSSN_UPW_convertToADMBaseFakeDtLapseShift.c @@ -38,9 +38,6 @@ void ML_BSSN_UPW_convertToADMBaseFakeDtLapseShift_Body(cGH const * restrict cons return; } - const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","grid::coordinates","Grid::coordinates","ML_BSSN_UPW::ML_dtlapse","ML_BSSN_UPW::ML_dtshift","ML_BSSN_UPW::ML_Gamma","ML_BSSN_UPW::ML_lapse","ML_BSSN_UPW::ML_shift","ML_BSSN_UPW::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_UPW_convertToADMBaseFakeDtLapseShift", 10, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_UPW/src/ML_BSSN_UPW_enforce.c b/ML_BSSN_UPW/src/ML_BSSN_UPW_enforce.c index 5d9b25f..15f3f78 100644 --- a/ML_BSSN_UPW/src/ML_BSSN_UPW_enforce.c +++ b/ML_BSSN_UPW/src/ML_BSSN_UPW_enforce.c @@ -38,9 +38,6 @@ void ML_BSSN_UPW_enforce_Body(cGH const * restrict const cctkGH, int const dir, return; } - const char *groups[] = {"ML_BSSN_UPW::ML_curv","ML_BSSN_UPW::ML_lapse","ML_BSSN_UPW::ML_metric"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_UPW_enforce", 3, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_BSSN_UPW_Helper/schedule.ccl b/ML_BSSN_UPW_Helper/schedule.ccl index 03cbe64..0ebc960 100644 --- a/ML_BSSN_UPW_Helper/schedule.ccl +++ b/ML_BSSN_UPW_Helper/schedule.ccl @@ -139,15 +139,15 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN_UPW")) { } else if (CCTK_EQUALS (calculate_ADMBase_variables_at, "CCTK_ANALYSIS")) { + SCHEDULE GROUP ML_BSSN_UPW_convertToADMBaseGroupWrapper AT post_recover_variables + { + } "Calculate ADM variables" + SCHEDULE GROUP ML_BSSN_UPW_convertToADMBaseGroupWrapper AT analysis BEFORE (ADMBase_SetADMVars Whisky_PostStep) { } "Calculate ADM variables" } - SCHEDULE GROUP ML_BSSN_UPW_convertToADMBaseGroupWrapper AT post_recover_variables - { - } "Calculate ADM variables" - SCHEDULE ML_BSSN_UPW_SelectBCsADMBase IN ML_BSSN_UPW_convertToADMBaseGroupWrapper AFTER ML_BSSN_UPW_convertToADMBaseGroup { LANG: C diff --git a/ML_WaveToy/param.ccl b/ML_WaveToy/param.ccl index d1d9c37..163ee12 100644 --- a/ML_WaveToy/param.ccl +++ b/ML_WaveToy/param.ccl @@ -3,11 +3,6 @@ shares: GenericFD -USES CCTK_INT stencil_width -USES CCTK_INT stencil_width_x -USES CCTK_INT stencil_width_y -USES CCTK_INT stencil_width_z -USES CCTK_INT boundary_width shares: MethodOfLines @@ -15,55 +10,55 @@ shares: MethodOfLines USES CCTK_INT MoL_Num_Evolved_Vars restricted: -CCTK_INT verbose "verbose" +CCTK_INT verbose "verbose" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_WaveToy_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars +CCTK_INT ML_WaveToy_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars STEERABLE=RECOVER { 2:2 :: "Number of evolved variables used by this thorn" } 2 restricted: -CCTK_INT timelevels "Number of active timelevels" +CCTK_INT timelevels "Number of active timelevels" STEERABLE=RECOVER { 0:2 :: "" } 2 restricted: -CCTK_INT rhs_timelevels "Number of active RHS timelevels" +CCTK_INT rhs_timelevels "Number of active RHS timelevels" STEERABLE=RECOVER { 0:2 :: "" } 1 restricted: -CCTK_INT WT_Gaussian_calc_every "WT_Gaussian_calc_every" +CCTK_INT WT_Gaussian_calc_every "WT_Gaussian_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT WT_RHS_calc_every "WT_RHS_calc_every" +CCTK_INT WT_RHS_calc_every "WT_RHS_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT WT_Gaussian_calc_offset "WT_Gaussian_calc_offset" +CCTK_INT WT_Gaussian_calc_offset "WT_Gaussian_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT WT_RHS_calc_offset "WT_RHS_calc_offset" +CCTK_INT WT_RHS_calc_offset "WT_RHS_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 private: -KEYWORD rho_bound "Boundary condition to implement" +KEYWORD rho_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -75,7 +70,7 @@ KEYWORD rho_bound "Boundary condition to implement" } "skip" private: -KEYWORD u_bound "Boundary condition to implement" +KEYWORD u_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -87,7 +82,7 @@ KEYWORD u_bound "Boundary condition to implement" } "skip" private: -KEYWORD WT_rho_bound "Boundary condition to implement" +KEYWORD WT_rho_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -96,10 +91,10 @@ KEYWORD WT_rho_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD WT_u_bound "Boundary condition to implement" +KEYWORD WT_u_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -108,76 +103,76 @@ KEYWORD WT_u_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -CCTK_REAL rho_bound_speed "characteristic speed at boundary" +CCTK_REAL rho_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL u_bound_speed "characteristic speed at boundary" +CCTK_REAL u_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL WT_rho_bound_speed "characteristic speed at boundary" +CCTK_REAL WT_rho_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL WT_u_bound_speed "characteristic speed at boundary" +CCTK_REAL WT_u_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL rho_bound_limit "limit value for r -> infinity" +CCTK_REAL rho_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL u_bound_limit "limit value for r -> infinity" +CCTK_REAL u_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL WT_rho_bound_limit "limit value for r -> infinity" +CCTK_REAL WT_rho_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL WT_u_bound_limit "limit value for r -> infinity" +CCTK_REAL WT_u_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL rho_bound_scalar "Dirichlet boundary value" +CCTK_REAL rho_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL u_bound_scalar "Dirichlet boundary value" +CCTK_REAL u_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL WT_rho_bound_scalar "Dirichlet boundary value" +CCTK_REAL WT_rho_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL WT_u_bound_scalar "Dirichlet boundary value" +CCTK_REAL WT_u_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. diff --git a/ML_WaveToy/schedule.ccl b/ML_WaveToy/schedule.ccl index 9517af0..883a31b 100644 --- a/ML_WaveToy/schedule.ccl +++ b/ML_WaveToy/schedule.ccl @@ -86,7 +86,7 @@ schedule ML_WaveToy_CheckBoundaries at BASEGRID OPTIONS: meta } "check boundaries treatment" -schedule group ApplyBCs as ML_WaveToy_ApplyBCs in MoL_PostStep after ML_WaveToy_SelectBoundConds +schedule group ApplyBCs as ML_WaveToy_ApplyBCs in MoL_PostStep after ML_WaveToy_SelectBoundConds { # no language specified } "Apply boundary conditions controlled by thorn Boundary" diff --git a/ML_WaveToy/src/WT_Gaussian.c b/ML_WaveToy/src/WT_Gaussian.c index c077bcd..39a2d41 100644 --- a/ML_WaveToy/src/WT_Gaussian.c +++ b/ML_WaveToy/src/WT_Gaussian.c @@ -38,9 +38,6 @@ void WT_Gaussian_Body(cGH const * restrict const cctkGH, int const dir, int cons return; } - const char *groups[] = {"ML_WaveToy::WT_rho","ML_WaveToy::WT_u"}; - GenericFD_AssertGroupStorage(cctkGH, "WT_Gaussian", 2, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_WaveToy/src/WT_RHS.c b/ML_WaveToy/src/WT_RHS.c index 3ae268d..35cdb5c 100644 --- a/ML_WaveToy/src/WT_RHS.c +++ b/ML_WaveToy/src/WT_RHS.c @@ -53,9 +53,6 @@ void WT_RHS_Body(cGH const * restrict const cctkGH, int const dir, int const fac return; } - const char *groups[] = {"ML_WaveToy::WT_rho","ML_WaveToy::WT_rhorhs","ML_WaveToy::WT_u","ML_WaveToy::WT_urhs"}; - GenericFD_AssertGroupStorage(cctkGH, "WT_RHS", 4, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_WaveToyFO/param.ccl b/ML_WaveToyFO/param.ccl index 11e7252..4cf02e4 100644 --- a/ML_WaveToyFO/param.ccl +++ b/ML_WaveToyFO/param.ccl @@ -3,11 +3,6 @@ shares: GenericFD -USES CCTK_INT stencil_width -USES CCTK_INT stencil_width_x -USES CCTK_INT stencil_width_y -USES CCTK_INT stencil_width_z -USES CCTK_INT boundary_width shares: MethodOfLines @@ -15,67 +10,67 @@ shares: MethodOfLines USES CCTK_INT MoL_Num_Evolved_Vars restricted: -CCTK_INT verbose "verbose" +CCTK_INT verbose "verbose" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_WaveToyFO_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars +CCTK_INT ML_WaveToyFO_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars STEERABLE=RECOVER { 5:5 :: "Number of evolved variables used by this thorn" } 5 restricted: -CCTK_INT timelevels "Number of active timelevels" +CCTK_INT timelevels "Number of active timelevels" STEERABLE=RECOVER { 0:2 :: "" } 2 restricted: -CCTK_INT rhs_timelevels "Number of active RHS timelevels" +CCTK_INT rhs_timelevels "Number of active RHS timelevels" STEERABLE=RECOVER { 0:2 :: "" } 1 restricted: -CCTK_INT WTFO_Gaussian_calc_every "WTFO_Gaussian_calc_every" +CCTK_INT WTFO_Gaussian_calc_every "WTFO_Gaussian_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT WTFO_RHS_calc_every "WTFO_RHS_calc_every" +CCTK_INT WTFO_RHS_calc_every "WTFO_RHS_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT WTFO_constraints_calc_every "WTFO_constraints_calc_every" +CCTK_INT WTFO_constraints_calc_every "WTFO_constraints_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT WTFO_Gaussian_calc_offset "WTFO_Gaussian_calc_offset" +CCTK_INT WTFO_Gaussian_calc_offset "WTFO_Gaussian_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT WTFO_RHS_calc_offset "WTFO_RHS_calc_offset" +CCTK_INT WTFO_RHS_calc_offset "WTFO_RHS_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT WTFO_constraints_calc_offset "WTFO_constraints_calc_offset" +CCTK_INT WTFO_constraints_calc_offset "WTFO_constraints_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 private: -KEYWORD rho_bound "Boundary condition to implement" +KEYWORD rho_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -87,7 +82,7 @@ KEYWORD rho_bound "Boundary condition to implement" } "skip" private: -KEYWORD u_bound "Boundary condition to implement" +KEYWORD u_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -99,7 +94,7 @@ KEYWORD u_bound "Boundary condition to implement" } "skip" private: -KEYWORD v1_bound "Boundary condition to implement" +KEYWORD v1_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -111,7 +106,7 @@ KEYWORD v1_bound "Boundary condition to implement" } "skip" private: -KEYWORD v2_bound "Boundary condition to implement" +KEYWORD v2_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -123,7 +118,7 @@ KEYWORD v2_bound "Boundary condition to implement" } "skip" private: -KEYWORD v3_bound "Boundary condition to implement" +KEYWORD v3_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -135,7 +130,7 @@ KEYWORD v3_bound "Boundary condition to implement" } "skip" private: -KEYWORD WT_rho_bound "Boundary condition to implement" +KEYWORD WT_rho_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -144,10 +139,10 @@ KEYWORD WT_rho_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD WT_u_bound "Boundary condition to implement" +KEYWORD WT_u_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -156,10 +151,10 @@ KEYWORD WT_u_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD WT_v_bound "Boundary condition to implement" +KEYWORD WT_v_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -168,148 +163,148 @@ KEYWORD WT_v_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -CCTK_REAL rho_bound_speed "characteristic speed at boundary" +CCTK_REAL rho_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL u_bound_speed "characteristic speed at boundary" +CCTK_REAL u_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL v1_bound_speed "characteristic speed at boundary" +CCTK_REAL v1_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL v2_bound_speed "characteristic speed at boundary" +CCTK_REAL v2_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL v3_bound_speed "characteristic speed at boundary" +CCTK_REAL v3_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL WT_rho_bound_speed "characteristic speed at boundary" +CCTK_REAL WT_rho_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL WT_u_bound_speed "characteristic speed at boundary" +CCTK_REAL WT_u_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL WT_v_bound_speed "characteristic speed at boundary" +CCTK_REAL WT_v_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL rho_bound_limit "limit value for r -> infinity" +CCTK_REAL rho_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL u_bound_limit "limit value for r -> infinity" +CCTK_REAL u_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL v1_bound_limit "limit value for r -> infinity" +CCTK_REAL v1_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL v2_bound_limit "limit value for r -> infinity" +CCTK_REAL v2_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL v3_bound_limit "limit value for r -> infinity" +CCTK_REAL v3_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL WT_rho_bound_limit "limit value for r -> infinity" +CCTK_REAL WT_rho_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL WT_u_bound_limit "limit value for r -> infinity" +CCTK_REAL WT_u_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL WT_v_bound_limit "limit value for r -> infinity" +CCTK_REAL WT_v_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL rho_bound_scalar "Dirichlet boundary value" +CCTK_REAL rho_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL u_bound_scalar "Dirichlet boundary value" +CCTK_REAL u_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL v1_bound_scalar "Dirichlet boundary value" +CCTK_REAL v1_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL v2_bound_scalar "Dirichlet boundary value" +CCTK_REAL v2_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL v3_bound_scalar "Dirichlet boundary value" +CCTK_REAL v3_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL WT_rho_bound_scalar "Dirichlet boundary value" +CCTK_REAL WT_rho_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL WT_u_bound_scalar "Dirichlet boundary value" +CCTK_REAL WT_u_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL WT_v_bound_scalar "Dirichlet boundary value" +CCTK_REAL WT_v_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. diff --git a/ML_WaveToyFO/schedule.ccl b/ML_WaveToyFO/schedule.ccl index e8c9a3f..5f30943 100644 --- a/ML_WaveToyFO/schedule.ccl +++ b/ML_WaveToyFO/schedule.ccl @@ -114,7 +114,7 @@ schedule ML_WaveToyFO_CheckBoundaries at BASEGRID OPTIONS: meta } "check boundaries treatment" -schedule group ApplyBCs as ML_WaveToyFO_ApplyBCs in MoL_PostStep after ML_WaveToyFO_SelectBoundConds +schedule group ApplyBCs as ML_WaveToyFO_ApplyBCs in MoL_PostStep after ML_WaveToyFO_SelectBoundConds { # no language specified } "Apply boundary conditions controlled by thorn Boundary" diff --git a/ML_WaveToyFO/src/WTFO_Gaussian.c b/ML_WaveToyFO/src/WTFO_Gaussian.c index 627765b..44057a7 100644 --- a/ML_WaveToyFO/src/WTFO_Gaussian.c +++ b/ML_WaveToyFO/src/WTFO_Gaussian.c @@ -38,9 +38,6 @@ void WTFO_Gaussian_Body(cGH const * restrict const cctkGH, int const dir, int co return; } - const char *groups[] = {"ML_WaveToyFO::WT_rho","ML_WaveToyFO::WT_u","ML_WaveToyFO::WT_v"}; - GenericFD_AssertGroupStorage(cctkGH, "WTFO_Gaussian", 3, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_WaveToyFO/src/WTFO_RHS.c b/ML_WaveToyFO/src/WTFO_RHS.c index bbaea55..8a5f685 100644 --- a/ML_WaveToyFO/src/WTFO_RHS.c +++ b/ML_WaveToyFO/src/WTFO_RHS.c @@ -56,9 +56,6 @@ void WTFO_RHS_Body(cGH const * restrict const cctkGH, int const dir, int const f return; } - const char *groups[] = {"ML_WaveToyFO::WT_rho","ML_WaveToyFO::WT_rhorhs","ML_WaveToyFO::WT_urhs","ML_WaveToyFO::WT_v","ML_WaveToyFO::WT_vrhs"}; - GenericFD_AssertGroupStorage(cctkGH, "WTFO_RHS", 5, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_WaveToyFO/src/WTFO_constraints.c b/ML_WaveToyFO/src/WTFO_constraints.c index e667a6a..875954c 100644 --- a/ML_WaveToyFO/src/WTFO_constraints.c +++ b/ML_WaveToyFO/src/WTFO_constraints.c @@ -50,9 +50,6 @@ void WTFO_constraints_Body(cGH const * restrict const cctkGH, int const dir, int return; } - const char *groups[] = {"ML_WaveToyFO::WT_v","ML_WaveToyFO::WT_w"}; - GenericFD_AssertGroupStorage(cctkGH, "WTFO_constraints", 2, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_hydro/param.ccl b/ML_hydro/param.ccl index aab8e84..08a257e 100644 --- a/ML_hydro/param.ccl +++ b/ML_hydro/param.ccl @@ -3,11 +3,6 @@ shares: GenericFD -USES CCTK_INT stencil_width -USES CCTK_INT stencil_width_x -USES CCTK_INT stencil_width_y -USES CCTK_INT stencil_width_z -USES CCTK_INT boundary_width shares: MethodOfLines @@ -15,7 +10,7 @@ shares: MethodOfLines USES CCTK_INT MoL_Num_Evolved_Vars restricted: -CCTK_INT verbose "verbose" +CCTK_INT verbose "verbose" STEERABLE=ALWAYS { *:* :: "" } 0 @@ -58,85 +53,85 @@ KEYWORD initial_data "initial_data" } "vacuum" restricted: -CCTK_INT ML_hydro_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars +CCTK_INT ML_hydro_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars STEERABLE=RECOVER { 5:5 :: "Number of evolved variables used by this thorn" } 5 restricted: -CCTK_INT timelevels "Number of active timelevels" +CCTK_INT timelevels "Number of active timelevels" STEERABLE=RECOVER { 0:3 :: "" } 3 restricted: -CCTK_INT rhs_timelevels "Number of active RHS timelevels" +CCTK_INT rhs_timelevels "Number of active RHS timelevels" STEERABLE=RECOVER { 0:3 :: "" } 1 restricted: -CCTK_INT hydro_vacuum_calc_every "hydro_vacuum_calc_every" +CCTK_INT hydro_vacuum_calc_every "hydro_vacuum_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT hydro_soundWave_calc_every "hydro_soundWave_calc_every" +CCTK_INT hydro_soundWave_calc_every "hydro_soundWave_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT hydro_prim2con_calc_every "hydro_prim2con_calc_every" +CCTK_INT hydro_prim2con_calc_every "hydro_prim2con_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT hydro_con2prim_calc_every "hydro_con2prim_calc_every" +CCTK_INT hydro_con2prim_calc_every "hydro_con2prim_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT hydro_RHS_calc_every "hydro_RHS_calc_every" +CCTK_INT hydro_RHS_calc_every "hydro_RHS_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT hydro_vacuum_calc_offset "hydro_vacuum_calc_offset" +CCTK_INT hydro_vacuum_calc_offset "hydro_vacuum_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT hydro_soundWave_calc_offset "hydro_soundWave_calc_offset" +CCTK_INT hydro_soundWave_calc_offset "hydro_soundWave_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT hydro_prim2con_calc_offset "hydro_prim2con_calc_offset" +CCTK_INT hydro_prim2con_calc_offset "hydro_prim2con_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT hydro_con2prim_calc_offset "hydro_con2prim_calc_offset" +CCTK_INT hydro_con2prim_calc_offset "hydro_con2prim_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT hydro_RHS_calc_offset "hydro_RHS_calc_offset" +CCTK_INT hydro_RHS_calc_offset "hydro_RHS_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 private: -KEYWORD ene_bound "Boundary condition to implement" +KEYWORD ene_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -148,7 +143,7 @@ KEYWORD ene_bound "Boundary condition to implement" } "skip" private: -KEYWORD mass_bound "Boundary condition to implement" +KEYWORD mass_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -160,7 +155,7 @@ KEYWORD mass_bound "Boundary condition to implement" } "skip" private: -KEYWORD mom1_bound "Boundary condition to implement" +KEYWORD mom1_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -172,7 +167,7 @@ KEYWORD mom1_bound "Boundary condition to implement" } "skip" private: -KEYWORD mom2_bound "Boundary condition to implement" +KEYWORD mom2_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -184,7 +179,7 @@ KEYWORD mom2_bound "Boundary condition to implement" } "skip" private: -KEYWORD mom3_bound "Boundary condition to implement" +KEYWORD mom3_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -196,7 +191,7 @@ KEYWORD mom3_bound "Boundary condition to implement" } "skip" private: -KEYWORD ene_group_bound "Boundary condition to implement" +KEYWORD ene_group_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -205,10 +200,10 @@ KEYWORD ene_group_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD mass_group_bound "Boundary condition to implement" +KEYWORD mass_group_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -217,10 +212,10 @@ KEYWORD mass_group_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -KEYWORD mom_group_bound "Boundary condition to implement" +KEYWORD mom_group_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" "none" :: "No boundary condition" @@ -229,148 +224,148 @@ KEYWORD mom_group_bound "Boundary condition to implement" "scalar" :: "Dirichlet boundary condition" "newrad" :: "Improved radiative boundary condition" "skip" :: "skip boundary condition code" -} "none" +} "skip" private: -CCTK_REAL ene_bound_speed "characteristic speed at boundary" +CCTK_REAL ene_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL mass_bound_speed "characteristic speed at boundary" +CCTK_REAL mass_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL mom1_bound_speed "characteristic speed at boundary" +CCTK_REAL mom1_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL mom2_bound_speed "characteristic speed at boundary" +CCTK_REAL mom2_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL mom3_bound_speed "characteristic speed at boundary" +CCTK_REAL mom3_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ene_group_bound_speed "characteristic speed at boundary" +CCTK_REAL ene_group_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL mass_group_bound_speed "characteristic speed at boundary" +CCTK_REAL mass_group_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL mom_group_bound_speed "characteristic speed at boundary" +CCTK_REAL mom_group_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" } 1. private: -CCTK_REAL ene_bound_limit "limit value for r -> infinity" +CCTK_REAL ene_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL mass_bound_limit "limit value for r -> infinity" +CCTK_REAL mass_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL mom1_bound_limit "limit value for r -> infinity" +CCTK_REAL mom1_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL mom2_bound_limit "limit value for r -> infinity" +CCTK_REAL mom2_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL mom3_bound_limit "limit value for r -> infinity" +CCTK_REAL mom3_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ene_group_bound_limit "limit value for r -> infinity" +CCTK_REAL ene_group_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL mass_group_bound_limit "limit value for r -> infinity" +CCTK_REAL mass_group_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL mom_group_bound_limit "limit value for r -> infinity" +CCTK_REAL mom_group_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" } 0. private: -CCTK_REAL ene_bound_scalar "Dirichlet boundary value" +CCTK_REAL ene_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL mass_bound_scalar "Dirichlet boundary value" +CCTK_REAL mass_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL mom1_bound_scalar "Dirichlet boundary value" +CCTK_REAL mom1_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL mom2_bound_scalar "Dirichlet boundary value" +CCTK_REAL mom2_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL mom3_bound_scalar "Dirichlet boundary value" +CCTK_REAL mom3_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL ene_group_bound_scalar "Dirichlet boundary value" +CCTK_REAL ene_group_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL mass_group_bound_scalar "Dirichlet boundary value" +CCTK_REAL mass_group_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. private: -CCTK_REAL mom_group_bound_scalar "Dirichlet boundary value" +CCTK_REAL mom_group_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" } 0. diff --git a/ML_hydro/schedule.ccl b/ML_hydro/schedule.ccl index 78099ec..0d08eb0 100644 --- a/ML_hydro/schedule.ccl +++ b/ML_hydro/schedule.ccl @@ -164,7 +164,7 @@ schedule ML_hydro_CheckBoundaries at BASEGRID OPTIONS: meta } "check boundaries treatment" -schedule group ApplyBCs as ML_hydro_ApplyBCs in MoL_PostStep after ML_hydro_SelectBoundConds +schedule group ApplyBCs as ML_hydro_ApplyBCs in MoL_PostStep after ML_hydro_SelectBoundConds { # no language specified } "Apply boundary conditions controlled by thorn Boundary" diff --git a/ML_hydro/src/hydro_RHS.c b/ML_hydro/src/hydro_RHS.c index 6f165f5..8de4eda 100644 --- a/ML_hydro/src/hydro_RHS.c +++ b/ML_hydro/src/hydro_RHS.c @@ -56,9 +56,6 @@ void hydro_RHS_Body(cGH const * restrict const cctkGH, int const dir, int const return; } - const char *groups[] = {"ML_hydro::eneflux_group","ML_hydro::ene_grouprhs","ML_hydro::massflux_group","ML_hydro::mass_grouprhs","ML_hydro::momflux_group","ML_hydro::mom_grouprhs"}; - GenericFD_AssertGroupStorage(cctkGH, "hydro_RHS", 6, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_hydro/src/hydro_con2prim.c b/ML_hydro/src/hydro_con2prim.c index 4fa85c3..2d8b977 100644 --- a/ML_hydro/src/hydro_con2prim.c +++ b/ML_hydro/src/hydro_con2prim.c @@ -38,9 +38,6 @@ void hydro_con2prim_Body(cGH const * restrict const cctkGH, int const dir, int c return; } - const char *groups[] = {"ML_hydro::ene_group","ML_hydro::eps_group","ML_hydro::mass_group","ML_hydro::mom_group","ML_hydro::press_group","ML_hydro::rho_group","ML_hydro::vel_group","ML_hydro::vol_group"}; - GenericFD_AssertGroupStorage(cctkGH, "hydro_con2prim", 8, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_hydro/src/hydro_prim2con.c b/ML_hydro/src/hydro_prim2con.c index 4e93790..abedfb4 100644 --- a/ML_hydro/src/hydro_prim2con.c +++ b/ML_hydro/src/hydro_prim2con.c @@ -38,9 +38,6 @@ void hydro_prim2con_Body(cGH const * restrict const cctkGH, int const dir, int c return; } - const char *groups[] = {"ML_hydro::ene_group","ML_hydro::eps_group","ML_hydro::mass_group","ML_hydro::mom_group","ML_hydro::rho_group","ML_hydro::vel_group","ML_hydro::vol_group"}; - GenericFD_AssertGroupStorage(cctkGH, "hydro_prim2con", 7, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_hydro/src/hydro_soundWave.c b/ML_hydro/src/hydro_soundWave.c index 76ef075..672c918 100644 --- a/ML_hydro/src/hydro_soundWave.c +++ b/ML_hydro/src/hydro_soundWave.c @@ -38,9 +38,6 @@ void hydro_soundWave_Body(cGH const * restrict const cctkGH, int const dir, int return; } - const char *groups[] = {"ML_hydro::eps_group","grid::coordinates","ML_hydro::rho_group","ML_hydro::vel_group"}; - GenericFD_AssertGroupStorage(cctkGH, "hydro_soundWave", 4, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ diff --git a/ML_hydro/src/hydro_vacuum.c b/ML_hydro/src/hydro_vacuum.c index 6a12f80..8d8c519 100644 --- a/ML_hydro/src/hydro_vacuum.c +++ b/ML_hydro/src/hydro_vacuum.c @@ -38,9 +38,6 @@ void hydro_vacuum_Body(cGH const * restrict const cctkGH, int const dir, int con return; } - const char *groups[] = {"ML_hydro::eps_group","ML_hydro::rho_group","ML_hydro::vel_group"}; - GenericFD_AssertGroupStorage(cctkGH, "hydro_vacuum", 3, groups); - /* Include user-supplied include files */ /* Initialise finite differencing variables */ |