diff options
80 files changed, 1975 insertions, 1266 deletions
diff --git a/ML_BSSN/configuration.ccl b/ML_BSSN/configuration.ccl index 105b1d2..8e2c3c5 100644 --- a/ML_BSSN/configuration.ccl +++ b/ML_BSSN/configuration.ccl @@ -1,7 +1,4 @@ -# File produced by user diener -# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) - -# Mathematica script written by Ian Hinder and Sascha Husa +# File produced by Kranc REQUIRES GenericFD REQUIRES LoopControl diff --git a/ML_BSSN/interface.ccl b/ML_BSSN/interface.ccl index 84e9e92..272e951 100644 --- a/ML_BSSN/interface.ccl +++ b/ML_BSSN/interface.ccl @@ -1,7 +1,4 @@ -# File produced by user diener -# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) - -# Mathematica script written by Ian Hinder and Sascha Husa +# File produced by Kranc implements: ML_BSSN @@ -62,76 +59,6 @@ CCTK_REAL ML_mom type=GF timelevels=1 tags='tensortypealias="D" tensorweight=1.0 } "ML_mom" public: -CCTK_REAL ML_curvrhs type=GF timelevels=1 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' -{ - At11rhs, - At12rhs, - At13rhs, - At22rhs, - At23rhs, - At33rhs -} "ML_curvrhs" - -public: -CCTK_REAL ML_dtlapserhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' -{ - Arhs -} "ML_dtlapserhs" - -public: -CCTK_REAL ML_dtshiftrhs type=GF timelevels=1 tags='tensortypealias="U" tensorweight=1.0000000000000000000' -{ - B1rhs, - B2rhs, - B3rhs -} "ML_dtshiftrhs" - -public: -CCTK_REAL ML_Gammarhs type=GF timelevels=1 tags='tensortypealias="U" tensorweight=0.66666666666666666667' -{ - Xt1rhs, - Xt2rhs, - Xt3rhs -} "ML_Gammarhs" - -public: -CCTK_REAL ML_lapserhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' -{ - alpharhs -} "ML_lapserhs" - -public: -CCTK_REAL ML_log_confacrhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=0.16666666666666666667' -{ - phirhs -} "ML_log_confacrhs" - -public: -CCTK_REAL ML_metricrhs type=GF timelevels=1 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' -{ - gt11rhs, - gt12rhs, - gt13rhs, - gt22rhs, - gt23rhs, - gt33rhs -} "ML_metricrhs" - -public: -CCTK_REAL ML_shiftrhs type=GF timelevels=1 tags='tensortypealias="U" tensorweight=1.0000000000000000000' -{ - beta1rhs, - beta2rhs, - beta3rhs -} "ML_shiftrhs" - -public: -CCTK_REAL ML_trace_curvrhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' -{ - trKrhs -} "ML_trace_curvrhs" - -public: CCTK_REAL ML_curv type=GF timelevels=3 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' { At11, @@ -200,3 +127,73 @@ CCTK_REAL ML_trace_curv type=GF timelevels=3 tags='tensortypealias="Scalar" tens { trK } "ML_trace_curv" + +public: +CCTK_REAL ML_curvrhs type=GF timelevels=3 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' +{ + At11rhs, + At12rhs, + At13rhs, + At22rhs, + At23rhs, + At33rhs +} "ML_curvrhs" + +public: +CCTK_REAL ML_dtlapserhs type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +{ + Arhs +} "ML_dtlapserhs" + +public: +CCTK_REAL ML_dtshiftrhs type=GF timelevels=3 tags='tensortypealias="U" tensorweight=1.0000000000000000000' +{ + B1rhs, + B2rhs, + B3rhs +} "ML_dtshiftrhs" + +public: +CCTK_REAL ML_Gammarhs type=GF timelevels=3 tags='tensortypealias="U" tensorweight=0.66666666666666666667' +{ + Xt1rhs, + Xt2rhs, + Xt3rhs +} "ML_Gammarhs" + +public: +CCTK_REAL ML_lapserhs type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +{ + alpharhs +} "ML_lapserhs" + +public: +CCTK_REAL ML_log_confacrhs type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=0.16666666666666666667' +{ + phirhs +} "ML_log_confacrhs" + +public: +CCTK_REAL ML_metricrhs type=GF timelevels=3 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' +{ + gt11rhs, + gt12rhs, + gt13rhs, + gt22rhs, + gt23rhs, + gt33rhs +} "ML_metricrhs" + +public: +CCTK_REAL ML_shiftrhs type=GF timelevels=3 tags='tensortypealias="U" tensorweight=1.0000000000000000000' +{ + beta1rhs, + beta2rhs, + beta3rhs +} "ML_shiftrhs" + +public: +CCTK_REAL ML_trace_curvrhs type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +{ + trKrhs +} "ML_trace_curvrhs" diff --git a/ML_BSSN/param.ccl b/ML_BSSN/param.ccl index cd6077f..1430937 100644 --- a/ML_BSSN/param.ccl +++ b/ML_BSSN/param.ccl @@ -1,7 +1,4 @@ -# File produced by user diener -# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) - -# Mathematica script written by Ian Hinder and Sascha Husa +# File produced by Kranc shares: ADMBase @@ -88,6 +85,12 @@ CCTK_REAL ShiftAdvectionCoeff "Factor in front of the shift advection terms in g } 1 restricted: +CCTK_REAL MinimumLapse "Minimum value of the lapse function" +{ + "*:*" :: "" +} -1 + +restricted: CCTK_INT harmonicN "d/dt alpha = - f alpha^n K (harmonic=2, 1+log=1)" { *:* :: "" @@ -113,9 +116,16 @@ KEYWORD my_initial_data "my_initial_data" } "ADMBase" restricted: +KEYWORD my_initial_boundary_condition "my_initial_boundary_condition" +{ + "none" :: "none" +} "none" + +restricted: KEYWORD my_rhs_boundary_condition "my_rhs_boundary_condition" { "none" :: "none" + "static" :: "static" "radiative" :: "radiative" } "none" @@ -147,6 +157,12 @@ CCTK_INT timelevels "Number of active timelevels" } 3 restricted: +CCTK_INT rhs_timelevels "Number of active RHS timelevels" +{ + 0:3 :: "" +} 1 + +restricted: CCTK_INT ML_BSSN_Minkowski_calc_every "ML_BSSN_Minkowski_calc_every" { *:* :: "" @@ -171,7 +187,13 @@ CCTK_INT ML_BSSN_RHS_calc_every "ML_BSSN_RHS_calc_every" } 1 restricted: -CCTK_INT ML_BSSN_RHSBoundary_calc_every "ML_BSSN_RHSBoundary_calc_every" +CCTK_INT ML_BSSN_RHSStaticBoundary_calc_every "ML_BSSN_RHSStaticBoundary_calc_every" +{ + *:* :: "" +} 1 + +restricted: +CCTK_INT ML_BSSN_RHSRadiativeBoundary_calc_every "ML_BSSN_RHSRadiativeBoundary_calc_every" { *:* :: "" } 1 @@ -237,7 +259,13 @@ CCTK_INT ML_BSSN_RHS_calc_offset "ML_BSSN_RHS_calc_offset" } 0 restricted: -CCTK_INT ML_BSSN_RHSBoundary_calc_offset "ML_BSSN_RHSBoundary_calc_offset" +CCTK_INT ML_BSSN_RHSStaticBoundary_calc_offset "ML_BSSN_RHSStaticBoundary_calc_offset" +{ + *:* :: "" +} 0 + +restricted: +CCTK_INT ML_BSSN_RHSRadiativeBoundary_calc_offset "ML_BSSN_RHSRadiativeBoundary_calc_offset" { *:* :: "" } 0 diff --git a/ML_BSSN/schedule.ccl b/ML_BSSN/schedule.ccl index bb9d7a6..dff81eb 100644 --- a/ML_BSSN/schedule.ccl +++ b/ML_BSSN/schedule.ccl @@ -1,7 +1,4 @@ -# File produced by user diener -# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) - -# Mathematica script written by Ian Hinder and Sascha Husa +# File produced by Kranc STORAGE: ML_cons_detg[1] @@ -14,24 +11,6 @@ STORAGE: ML_Ham[1] STORAGE: ML_mom[1] -STORAGE: ML_curvrhs[1] - -STORAGE: ML_dtlapserhs[1] - -STORAGE: ML_dtshiftrhs[1] - -STORAGE: ML_Gammarhs[1] - -STORAGE: ML_lapserhs[1] - -STORAGE: ML_log_confacrhs[1] - -STORAGE: ML_metricrhs[1] - -STORAGE: ML_shiftrhs[1] - -STORAGE: ML_trace_curvrhs[1] - if (timelevels == 1) { STORAGE: ML_curv[1] @@ -149,6 +128,123 @@ if (timelevels == 3) STORAGE: ML_trace_curv[3] } +if (rhs_timelevels == 1) +{ + STORAGE: ML_curvrhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_curvrhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_curvrhs[3] +} + +if (rhs_timelevels == 1) +{ + STORAGE: ML_dtlapserhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_dtlapserhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_dtlapserhs[3] +} + +if (rhs_timelevels == 1) +{ + STORAGE: ML_dtshiftrhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_dtshiftrhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_dtshiftrhs[3] +} + +if (rhs_timelevels == 1) +{ + STORAGE: ML_Gammarhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_Gammarhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_Gammarhs[3] +} + +if (rhs_timelevels == 1) +{ + STORAGE: ML_lapserhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_lapserhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_lapserhs[3] +} + +if (rhs_timelevels == 1) +{ + STORAGE: ML_log_confacrhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_log_confacrhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_log_confacrhs[3] +} + +if (rhs_timelevels == 1) +{ + STORAGE: ML_metricrhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_metricrhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_metricrhs[3] +} + +if (rhs_timelevels == 1) +{ + STORAGE: ML_shiftrhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_shiftrhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_shiftrhs[3] +} + +if (rhs_timelevels == 1) +{ + STORAGE: ML_trace_curvrhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_trace_curvrhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_trace_curvrhs[3] +} + schedule ML_BSSN_Startup at STARTUP { LANG: C @@ -212,12 +308,21 @@ schedule ML_BSSN_RHS IN ML_BSSN_evolCalcGroup } "ML_BSSN_RHS" +if (CCTK_EQUALS(my_rhs_boundary_condition, "static")) +{ + schedule ML_BSSN_RHSStaticBoundary IN MoL_CalcRHS + { + LANG: C + } "ML_BSSN_RHSStaticBoundary" +} + + if (CCTK_EQUALS(my_rhs_boundary_condition, "radiative")) { - schedule ML_BSSN_RHSBoundary IN MoL_RHSBoundaries + schedule ML_BSSN_RHSRadiativeBoundary IN MoL_CalcRHS { LANG: C - } "ML_BSSN_RHSBoundary" + } "ML_BSSN_RHSRadiativeBoundary" } schedule ML_BSSN_enforce IN MoL_PostStep BEFORE ML_BSSN_BoundConds @@ -265,7 +370,7 @@ schedule ML_BSSN_constraints_boundary IN ML_BSSN_constraintsCalcGroup AFTER ML_B LANG: C } "ML_BSSN_constraints_boundary" -schedule ML_BSSN_ApplyBoundConds in MoL_PostStep +schedule ML_BSSN_SelectBoundConds in MoL_PostStep { LANG: C OPTIONS: level @@ -278,7 +383,7 @@ schedule ML_BSSN_ApplyBoundConds in MoL_PostStep SYNC: ML_metric SYNC: ML_shift SYNC: ML_trace_curv -} "apply boundary conditions" +} "select boundary conditions" schedule ML_BSSN_CheckBoundaries at BASEGRID { @@ -286,7 +391,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_ApplyBoundConds +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/Boundaries.c b/ML_BSSN/src/Boundaries.c index ded5d44..c4b99c3 100644 --- a/ML_BSSN/src/Boundaries.c +++ b/ML_BSSN/src/Boundaries.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #include "cctk.h" #include "cctk_Arguments.h" @@ -28,7 +25,7 @@ void ML_BSSN_CheckBoundaries(CCTK_ARGUMENTS) return; } -void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) +void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) { DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; @@ -411,7 +408,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_curv_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_curv_bound = -1; if (handle_ML_curv_bound < 0) handle_ML_curv_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_curv_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -430,7 +427,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_dtlapse_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_dtlapse_bound = -1; if (handle_ML_dtlapse_bound < 0) handle_ML_dtlapse_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_dtlapse_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -449,7 +446,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_dtshift_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_dtshift_bound = -1; if (handle_ML_dtshift_bound < 0) handle_ML_dtshift_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_dtshift_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -468,7 +465,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_Gamma_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_Gamma_bound = -1; if (handle_ML_Gamma_bound < 0) handle_ML_Gamma_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_Gamma_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -487,7 +484,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_lapse_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_lapse_bound = -1; if (handle_ML_lapse_bound < 0) handle_ML_lapse_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_lapse_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -506,7 +503,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_log_confac_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_log_confac_bound = -1; if (handle_ML_log_confac_bound < 0) handle_ML_log_confac_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_log_confac_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -525,7 +522,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_metric_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_metric_bound = -1; if (handle_ML_metric_bound < 0) handle_ML_metric_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_metric_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -544,7 +541,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_shift_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_shift_bound = -1; if (handle_ML_shift_bound < 0) handle_ML_shift_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_shift_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -563,7 +560,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_trace_curv_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_trace_curv_bound = -1; if (handle_ML_trace_curv_bound < 0) handle_ML_trace_curv_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_trace_curv_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -582,7 +579,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At11_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_At11_bound = -1; if (handle_At11_bound < 0) handle_At11_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At11_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -601,7 +598,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At12_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_At12_bound = -1; if (handle_At12_bound < 0) handle_At12_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At12_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -620,7 +617,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At13_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_At13_bound = -1; if (handle_At13_bound < 0) handle_At13_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At13_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -639,7 +636,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At22_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_At22_bound = -1; if (handle_At22_bound < 0) handle_At22_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At22_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -658,7 +655,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At23_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_At23_bound = -1; if (handle_At23_bound < 0) handle_At23_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At23_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -677,7 +674,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At33_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_At33_bound = -1; if (handle_At33_bound < 0) handle_At33_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At33_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -696,7 +693,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(A_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_A_bound = -1; if (handle_A_bound < 0) handle_A_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_A_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -715,7 +712,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B1_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_B1_bound = -1; if (handle_B1_bound < 0) handle_B1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B1_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -734,7 +731,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B2_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_B2_bound = -1; if (handle_B2_bound < 0) handle_B2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B2_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -753,7 +750,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B3_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_B3_bound = -1; if (handle_B3_bound < 0) handle_B3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B3_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -772,7 +769,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt1_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_Xt1_bound = -1; if (handle_Xt1_bound < 0) handle_Xt1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt1_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -791,7 +788,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt2_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_Xt2_bound = -1; if (handle_Xt2_bound < 0) handle_Xt2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt2_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -810,7 +807,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt3_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_Xt3_bound = -1; if (handle_Xt3_bound < 0) handle_Xt3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt3_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -829,7 +826,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(alpha_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_alpha_bound = -1; if (handle_alpha_bound < 0) handle_alpha_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_alpha_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -848,7 +845,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(phi_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_phi_bound = -1; if (handle_phi_bound < 0) handle_phi_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_phi_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -867,7 +864,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt11_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_gt11_bound = -1; if (handle_gt11_bound < 0) handle_gt11_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt11_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -886,7 +883,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt12_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_gt12_bound = -1; if (handle_gt12_bound < 0) handle_gt12_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt12_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -905,7 +902,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt13_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_gt13_bound = -1; if (handle_gt13_bound < 0) handle_gt13_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt13_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -924,7 +921,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt22_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_gt22_bound = -1; if (handle_gt22_bound < 0) handle_gt22_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt22_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -943,7 +940,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt23_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_gt23_bound = -1; if (handle_gt23_bound < 0) handle_gt23_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt23_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -962,7 +959,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt33_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_gt33_bound = -1; if (handle_gt33_bound < 0) handle_gt33_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt33_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -981,7 +978,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(beta1_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_beta1_bound = -1; if (handle_beta1_bound < 0) handle_beta1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_beta1_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1000,7 +997,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(beta2_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_beta2_bound = -1; if (handle_beta2_bound < 0) handle_beta2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_beta2_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1019,7 +1016,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(beta3_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_beta3_bound = -1; if (handle_beta3_bound < 0) handle_beta3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_beta3_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1038,7 +1035,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(trK_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_trK_bound = -1; if (handle_trK_bound < 0) handle_trK_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_trK_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1057,7 +1054,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_curv_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_curv_bound = -1; if (handle_ML_curv_bound < 0) handle_ML_curv_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_curv_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1074,7 +1071,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_dtlapse_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_dtlapse_bound = -1; if (handle_ML_dtlapse_bound < 0) handle_ML_dtlapse_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_dtlapse_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1091,7 +1088,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_dtshift_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_dtshift_bound = -1; if (handle_ML_dtshift_bound < 0) handle_ML_dtshift_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_dtshift_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1108,7 +1105,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_Gamma_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_Gamma_bound = -1; if (handle_ML_Gamma_bound < 0) handle_ML_Gamma_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_Gamma_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1125,7 +1122,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_lapse_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_lapse_bound = -1; if (handle_ML_lapse_bound < 0) handle_ML_lapse_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_lapse_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1142,7 +1139,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_log_confac_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_log_confac_bound = -1; if (handle_ML_log_confac_bound < 0) handle_ML_log_confac_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_log_confac_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1159,7 +1156,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_metric_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_metric_bound = -1; if (handle_ML_metric_bound < 0) handle_ML_metric_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_metric_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1176,7 +1173,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_shift_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_shift_bound = -1; if (handle_ML_shift_bound < 0) handle_ML_shift_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_shift_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1193,7 +1190,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_trace_curv_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_trace_curv_bound = -1; if (handle_ML_trace_curv_bound < 0) handle_ML_trace_curv_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_trace_curv_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1210,7 +1207,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At11_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_At11_bound = -1; if (handle_At11_bound < 0) handle_At11_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At11_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1227,7 +1224,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At12_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_At12_bound = -1; if (handle_At12_bound < 0) handle_At12_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At12_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1244,7 +1241,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At13_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_At13_bound = -1; if (handle_At13_bound < 0) handle_At13_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At13_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1261,7 +1258,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At22_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_At22_bound = -1; if (handle_At22_bound < 0) handle_At22_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At22_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1278,7 +1275,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At23_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_At23_bound = -1; if (handle_At23_bound < 0) handle_At23_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At23_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1295,7 +1292,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At33_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_At33_bound = -1; if (handle_At33_bound < 0) handle_At33_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At33_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1312,7 +1309,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(A_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_A_bound = -1; if (handle_A_bound < 0) handle_A_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_A_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1329,7 +1326,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B1_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_B1_bound = -1; if (handle_B1_bound < 0) handle_B1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B1_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1346,7 +1343,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B2_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_B2_bound = -1; if (handle_B2_bound < 0) handle_B2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B2_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1363,7 +1360,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B3_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_B3_bound = -1; if (handle_B3_bound < 0) handle_B3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B3_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1380,7 +1377,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt1_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_Xt1_bound = -1; if (handle_Xt1_bound < 0) handle_Xt1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt1_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1397,7 +1394,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt2_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_Xt2_bound = -1; if (handle_Xt2_bound < 0) handle_Xt2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt2_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1414,7 +1411,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt3_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_Xt3_bound = -1; if (handle_Xt3_bound < 0) handle_Xt3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt3_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1431,7 +1428,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(alpha_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_alpha_bound = -1; if (handle_alpha_bound < 0) handle_alpha_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_alpha_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1448,7 +1445,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(phi_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_phi_bound = -1; if (handle_phi_bound < 0) handle_phi_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_phi_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1465,7 +1462,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt11_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_gt11_bound = -1; if (handle_gt11_bound < 0) handle_gt11_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt11_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1482,7 +1479,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt12_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_gt12_bound = -1; if (handle_gt12_bound < 0) handle_gt12_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt12_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1499,7 +1496,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt13_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_gt13_bound = -1; if (handle_gt13_bound < 0) handle_gt13_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt13_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1516,7 +1513,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt22_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_gt22_bound = -1; if (handle_gt22_bound < 0) handle_gt22_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt22_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1533,7 +1530,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt23_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_gt23_bound = -1; if (handle_gt23_bound < 0) handle_gt23_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt23_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1550,7 +1547,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt33_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_gt33_bound = -1; if (handle_gt33_bound < 0) handle_gt33_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt33_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1567,7 +1564,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(beta1_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_beta1_bound = -1; if (handle_beta1_bound < 0) handle_beta1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_beta1_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1584,7 +1581,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(beta2_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_beta2_bound = -1; if (handle_beta2_bound < 0) handle_beta2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_beta2_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1601,7 +1598,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(beta3_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_beta3_bound = -1; if (handle_beta3_bound < 0) handle_beta3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_beta3_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1618,7 +1615,7 @@ void ML_BSSN_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(trK_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_trK_bound = -1; if (handle_trK_bound < 0) handle_trK_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_trK_bound < 0) CCTK_WARN(0, "could not create table!"); diff --git a/ML_BSSN/src/ML_BSSN_ADMBaseBoundary.c b/ML_BSSN/src/ML_BSSN_ADMBaseBoundary.c index 6d4915c..d33ed61 100644 --- a/ML_BSSN/src/ML_BSSN_ADMBaseBoundary.c +++ b/ML_BSSN/src/ML_BSSN_ADMBaseBoundary.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN/src/ML_BSSN_Minkowski.c b/ML_BSSN/src/ML_BSSN_Minkowski.c index 183aa44..75df735 100644 --- a/ML_BSSN/src/ML_BSSN_Minkowski.c +++ b/ML_BSSN/src/ML_BSSN_Minkowski.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN/src/ML_BSSN_RHS.c b/ML_BSSN/src/ML_BSSN_RHS.c index e2da913..d788aa5 100644 --- a/ML_BSSN/src/ML_BSSN_RHS.c +++ b/ML_BSSN/src/ML_BSSN_RHS.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN/src/ML_BSSN_RHSRadiativeBoundary.c b/ML_BSSN/src/ML_BSSN_RHSRadiativeBoundary.c index 9c186df..a2a25c8 100644 --- a/ML_BSSN/src/ML_BSSN_RHSRadiativeBoundary.c +++ b/ML_BSSN/src/ML_BSSN_RHSRadiativeBoundary.c @@ -185,7 +185,7 @@ void ML_BSSN_RHSRadiativeBoundary_Body(cGH const * const cctkGH, CCTK_INT const gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L)); - em4phi = exp(-4*phiL); + em4phi = IfThen(conformalmethod,SQR(phiL),exp(-4*phiL)); gu11 = em4phi*gtu11; diff --git a/ML_BSSN/src/ML_BSSN_RHSStaticBoundary.c b/ML_BSSN/src/ML_BSSN_RHSStaticBoundary.c new file mode 100644 index 0000000..d2c5559 --- /dev/null +++ b/ML_BSSN/src/ML_BSSN_RHSStaticBoundary.c @@ -0,0 +1,219 @@ +/* File produced by Kranc */ + +#define KRANC_C + +#include <assert.h> +#include <math.h> +#include <stdio.h> +#include <stdlib.h> +#include "cctk.h" +#include "cctk_Arguments.h" +#include "cctk_Parameters.h" +#include "GenericFD.h" +#include "Differencing.h" +#include "loopcontrol.h" + +/* Define macros used in calculations */ +#define INITVALUE (42) +#define INV(x) ((1.0) / (x)) +#define SQR(x) ((x) * (x)) +#define CUB(x) ((x) * (x) * (x)) +#define QAD(x) ((x) * (x) * (x) * (x)) + +void ML_BSSN_RHSStaticBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], CCTK_INT const min[3], CCTK_INT const max[3], CCTK_INT const n_subblock_gfs, CCTK_REAL * const subblock_gfs[]) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + + /* Declare finite differencing variables */ + CCTK_REAL dx = INITVALUE, dy = INITVALUE, dz = INITVALUE; + CCTK_REAL dxi = INITVALUE, dyi = INITVALUE, dzi = INITVALUE; + CCTK_REAL khalf = INITVALUE, kthird = INITVALUE, ktwothird = INITVALUE, kfourthird = INITVALUE, keightthird = INITVALUE; + CCTK_REAL hdxi = INITVALUE, hdyi = INITVALUE, hdzi = INITVALUE; + + + /* Declare predefined quantities */ + CCTK_REAL p1o12dx = INITVALUE; + CCTK_REAL p1o12dy = INITVALUE; + CCTK_REAL p1o12dz = INITVALUE; + CCTK_REAL p1o144dxdy = INITVALUE; + CCTK_REAL p1o144dxdz = INITVALUE; + CCTK_REAL p1o144dydz = INITVALUE; + CCTK_REAL p1odx = INITVALUE; + CCTK_REAL p1ody = INITVALUE; + CCTK_REAL p1odz = INITVALUE; + CCTK_REAL pm1o12dx2 = INITVALUE; + CCTK_REAL pm1o12dy2 = INITVALUE; + CCTK_REAL pm1o12dz2 = INITVALUE; + + if (verbose > 1) + { + CCTK_VInfo(CCTK_THORNSTRING,"Entering ML_BSSN_RHSStaticBoundary_Body"); + } + + if (cctk_iteration % ML_BSSN_RHSStaticBoundary_calc_every != ML_BSSN_RHSStaticBoundary_calc_offset) + { + return; + } + + /* Include user-supplied include files */ + + /* Initialise finite differencing variables */ + dx = CCTK_DELTA_SPACE(0); + dy = CCTK_DELTA_SPACE(1); + dz = CCTK_DELTA_SPACE(2); + dxi = 1.0 / dx; + dyi = 1.0 / dy; + dzi = 1.0 / dz; + khalf = 0.5; + kthird = 1/3.0; + ktwothird = 2.0/3.0; + kfourthird = 4.0/3.0; + keightthird = 8.0/3.0; + hdxi = 0.5 * dxi; + hdyi = 0.5 * dyi; + hdzi = 0.5 * dzi; + + /* Initialize predefined quantities */ + p1o12dx = INV(dx)/12.; + p1o12dy = INV(dy)/12.; + p1o12dz = INV(dz)/12.; + p1o144dxdy = (INV(dx)*INV(dy))/144.; + p1o144dxdz = (INV(dx)*INV(dz))/144.; + p1o144dydz = (INV(dy)*INV(dz))/144.; + p1odx = INV(dx); + p1ody = INV(dy); + p1odz = INV(dz); + pm1o12dx2 = -pow(dx,-2)/12.; + pm1o12dy2 = -pow(dy,-2)/12.; + pm1o12dz2 = -pow(dz,-2)/12.; + + /* Loop over the grid points */ + #pragma omp parallel + LC_LOOP3 (ML_BSSN_RHSStaticBoundary, + i,j,k, min[0],min[1],min[2], max[0],max[1],max[2], + cctk_lsh[0],cctk_lsh[1],cctk_lsh[2]) + { + int index = INITVALUE; + int subblock_index = INITVALUE; + index = CCTK_GFINDEX3D(cctkGH,i,j,k); + subblock_index = i - min[0] + (max[0] - min[0]) * (j - min[1] + (max[1]-min[1]) * (k - min[2])); + + /* Declare shorthands */ + + /* Declare local copies of grid functions */ + CCTK_REAL alpharhsL = INITVALUE; + CCTK_REAL ArhsL = INITVALUE; + CCTK_REAL At11rhsL = INITVALUE, At12rhsL = INITVALUE, At13rhsL = INITVALUE, At22rhsL = INITVALUE, At23rhsL = INITVALUE, At33rhsL = INITVALUE; + CCTK_REAL B1rhsL = INITVALUE, B2rhsL = INITVALUE, B3rhsL = INITVALUE; + CCTK_REAL beta1rhsL = INITVALUE, beta2rhsL = INITVALUE, beta3rhsL = INITVALUE; + CCTK_REAL gt11rhsL = INITVALUE, gt12rhsL = INITVALUE, gt13rhsL = INITVALUE, gt22rhsL = INITVALUE, gt23rhsL = INITVALUE, gt33rhsL = INITVALUE; + CCTK_REAL phirhsL = INITVALUE; + CCTK_REAL trKrhsL = INITVALUE; + CCTK_REAL Xt1rhsL = INITVALUE, Xt2rhsL = INITVALUE, Xt3rhsL = INITVALUE; + /* Declare precomputed derivatives*/ + + /* Declare derivatives */ + + /* Assign local copies of grid functions */ + + /* Assign local copies of subblock grid functions */ + + /* Include user supplied include files */ + + /* Precompute derivatives (new style) */ + + /* Precompute derivatives (old style) */ + + /* Calculate temporaries and grid functions */ + phirhsL = 0; + + gt11rhsL = 0; + + gt12rhsL = 0; + + gt13rhsL = 0; + + gt22rhsL = 0; + + gt23rhsL = 0; + + gt33rhsL = 0; + + trKrhsL = 0; + + At11rhsL = 0; + + At12rhsL = 0; + + At13rhsL = 0; + + At22rhsL = 0; + + At23rhsL = 0; + + At33rhsL = 0; + + Xt1rhsL = 0; + + Xt2rhsL = 0; + + Xt3rhsL = 0; + + alpharhsL = 0; + + ArhsL = 0; + + beta1rhsL = 0; + + beta2rhsL = 0; + + beta3rhsL = 0; + + B1rhsL = 0; + + B2rhsL = 0; + + B3rhsL = 0; + + + /* Copy local copies back to grid functions */ + alpharhs[index] = alpharhsL; + Arhs[index] = ArhsL; + At11rhs[index] = At11rhsL; + At12rhs[index] = At12rhsL; + At13rhs[index] = At13rhsL; + At22rhs[index] = At22rhsL; + At23rhs[index] = At23rhsL; + At33rhs[index] = At33rhsL; + B1rhs[index] = B1rhsL; + B2rhs[index] = B2rhsL; + B3rhs[index] = B3rhsL; + beta1rhs[index] = beta1rhsL; + beta2rhs[index] = beta2rhsL; + beta3rhs[index] = beta3rhsL; + gt11rhs[index] = gt11rhsL; + gt12rhs[index] = gt12rhsL; + gt13rhs[index] = gt13rhsL; + gt22rhs[index] = gt22rhsL; + gt23rhs[index] = gt23rhsL; + gt33rhs[index] = gt33rhsL; + phirhs[index] = phirhsL; + trKrhs[index] = trKrhsL; + Xt1rhs[index] = Xt1rhsL; + Xt2rhs[index] = Xt2rhsL; + Xt3rhs[index] = Xt3rhsL; + + /* Copy local copies back to subblock grid functions */ + } + LC_ENDLOOP3 (ML_BSSN_RHSStaticBoundary); +} + +void ML_BSSN_RHSStaticBoundary(CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + GenericFD_LoopOverBoundary(cctkGH, &ML_BSSN_RHSStaticBoundary_Body); +} diff --git a/ML_BSSN/src/ML_BSSN_boundary.c b/ML_BSSN/src/ML_BSSN_boundary.c index 4998ae0..18e4726 100644 --- a/ML_BSSN/src/ML_BSSN_boundary.c +++ b/ML_BSSN/src/ML_BSSN_boundary.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN/src/ML_BSSN_constraints.c b/ML_BSSN/src/ML_BSSN_constraints.c index f057f75..e1e1ba3 100644 --- a/ML_BSSN/src/ML_BSSN_constraints.c +++ b/ML_BSSN/src/ML_BSSN_constraints.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN/src/ML_BSSN_constraints_boundary.c b/ML_BSSN/src/ML_BSSN_constraints_boundary.c index 5c17f63..364ac66 100644 --- a/ML_BSSN/src/ML_BSSN_constraints_boundary.c +++ b/ML_BSSN/src/ML_BSSN_constraints_boundary.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN/src/ML_BSSN_convertFromADMBase.c b/ML_BSSN/src/ML_BSSN_convertFromADMBase.c index 464815b..45b9fda 100644 --- a/ML_BSSN/src/ML_BSSN_convertFromADMBase.c +++ b/ML_BSSN/src/ML_BSSN_convertFromADMBase.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c b/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c index e77551b..ef2a0a3 100644 --- a/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c +++ b/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN/src/ML_BSSN_convertToADMBase.c b/ML_BSSN/src/ML_BSSN_convertToADMBase.c index 60e88b0..1fd7424 100644 --- a/ML_BSSN/src/ML_BSSN_convertToADMBase.c +++ b/ML_BSSN/src/ML_BSSN_convertToADMBase.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN/src/ML_BSSN_enforce.c b/ML_BSSN/src/ML_BSSN_enforce.c index 58d85da..eb3b430 100644 --- a/ML_BSSN/src/ML_BSSN_enforce.c +++ b/ML_BSSN/src/ML_BSSN_enforce.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C @@ -109,6 +106,7 @@ void ML_BSSN_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT CCTK_REAL trAt = INITVALUE; /* Declare local copies of grid functions */ + CCTK_REAL alphaL = INITVALUE; CCTK_REAL At11L = INITVALUE, At12L = INITVALUE, At13L = INITVALUE, At22L = INITVALUE, At23L = INITVALUE, At33L = INITVALUE; CCTK_REAL gt11L = INITVALUE, gt12L = INITVALUE, gt13L = INITVALUE, gt22L = INITVALUE, gt23L = INITVALUE, gt33L = INITVALUE; /* Declare precomputed derivatives*/ @@ -116,6 +114,7 @@ void ML_BSSN_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT /* Declare derivatives */ /* Assign local copies of grid functions */ + alphaL = alpha[index]; At11L = At11[index]; At12L = At12[index]; At13L = At13[index]; @@ -166,8 +165,11 @@ void ML_BSSN_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT At33L = At33L - gt33L*kthird*trAt; + alphaL = fmax(alphaL,MinimumLapse); + /* Copy local copies back to grid functions */ + alpha[index] = alphaL; At11[index] = At11L; At12[index] = At12L; At13[index] = At13L; diff --git a/ML_BSSN/src/RegisterMoL.c b/ML_BSSN/src/RegisterMoL.c index 93049e2..f02fa5c 100644 --- a/ML_BSSN/src/RegisterMoL.c +++ b/ML_BSSN/src/RegisterMoL.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #include "cctk.h" #include "cctk_Arguments.h" diff --git a/ML_BSSN/src/RegisterSymmetries.c b/ML_BSSN/src/RegisterSymmetries.c index 013e3d1..20db895 100644 --- a/ML_BSSN/src/RegisterSymmetries.c +++ b/ML_BSSN/src/RegisterSymmetries.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #include "cctk.h" #include "cctk_Arguments.h" diff --git a/ML_BSSN/src/Startup.c b/ML_BSSN/src/Startup.c index 91eac42..705a850 100644 --- a/ML_BSSN/src/Startup.c +++ b/ML_BSSN/src/Startup.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #include "cctk.h" diff --git a/ML_BSSN/src/make.code.defn b/ML_BSSN/src/make.code.defn index cf27ba6..9a0354d 100644 --- a/ML_BSSN/src/make.code.defn +++ b/ML_BSSN/src/make.code.defn @@ -1,6 +1,3 @@ -# File produced by user diener -# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) +# File produced by Kranc -# Mathematica script written by Ian Hinder and Sascha Husa - -SRCS = Startup.c RegisterMoL.c RegisterSymmetries.c ML_BSSN_Minkowski.c ML_BSSN_convertFromADMBase.c ML_BSSN_convertFromADMBaseGamma.c ML_BSSN_RHS.c ML_BSSN_RHSBoundary.c ML_BSSN_enforce.c ML_BSSN_boundary.c ML_BSSN_convertToADMBase.c ML_BSSN_ADMBaseBoundary.c ML_BSSN_constraints.c ML_BSSN_constraints_boundary.c Boundaries.c +SRCS = Startup.c RegisterMoL.c RegisterSymmetries.c ML_BSSN_Minkowski.c ML_BSSN_convertFromADMBase.c ML_BSSN_convertFromADMBaseGamma.c ML_BSSN_RHS.c ML_BSSN_RHSStaticBoundary.c ML_BSSN_RHSRadiativeBoundary.c ML_BSSN_enforce.c ML_BSSN_boundary.c ML_BSSN_convertToADMBase.c ML_BSSN_ADMBaseBoundary.c ML_BSSN_constraints.c ML_BSSN_constraints_boundary.c Boundaries.c diff --git a/ML_BSSN_Helper/param.ccl b/ML_BSSN_Helper/param.ccl index 338d0a2..f9267d0 100644 --- a/ML_BSSN_Helper/param.ccl +++ b/ML_BSSN_Helper/param.ccl @@ -17,10 +17,15 @@ USES CCTK_INT boundary_width SHARES: ML_BSSN USES CCTK_INT timelevels +USES CCTK_INT rhs_timelevels USES KEYWORD calculate_ADMBase_variables_at USES CCTK_REAL harmonicF +EXTENDS KEYWORD my_initial_boundary_condition +{ + "extrapolate-gammas" :: "extrapolate-gammas" +} EXTENDS KEYWORD my_rhs_boundary_condition { "NewRad" :: "NewRad" diff --git a/ML_BSSN_Helper/schedule.ccl b/ML_BSSN_Helper/schedule.ccl index 48bea28..2c677cc 100644 --- a/ML_BSSN_Helper/schedule.ccl +++ b/ML_BSSN_Helper/schedule.ccl @@ -21,6 +21,19 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN")) { STORAGE: ADMBase::shift[3] STORAGE: ADMBase::dtlapse[3] STORAGE: ADMBase::dtshift[3] + } else if (timelevels == 4) { + #STORAGE: ADMBase::metric[4] + #STORAGE: ADMBase::curv[4] + #STORAGE: ADMBase::lapse[4] + #STORAGE: ADMBase::shift[4] + #STORAGE: ADMBase::dtlapse[4] + #STORAGE: ADMBase::dtshift[4] + STORAGE: ADMBase::metric[3] + STORAGE: ADMBase::curv[3] + STORAGE: ADMBase::lapse[3] + STORAGE: ADMBase::shift[3] + STORAGE: ADMBase::dtlapse[3] + STORAGE: ADMBase::dtshift[3] } SCHEDULE ML_BSSN_RegisterSlicing AT startup @@ -29,11 +42,11 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN")) { OPTIONS: meta } "Register slicing" - SCHEDULE ML_BSSN_UnsetCheckpointTags AT startup + SCHEDULE ML_BSSN_SetGroupTags AT startup BEFORE Driver_Startup { LANG: C OPTIONS: meta - } "Don't checkpoint ADMBase variables" + } "Set checkpointing and prolongation group tags" SCHEDULE ML_BSSN_RegisterConstrained IN MoL_Register { @@ -43,6 +56,13 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN")) { + #SCHEDULE GROUP ML_BSSN_evolCalcGroup AT postinitial AFTER MoL_PostStep + #{ + #} "Calculate BSSN RHS" + SCHEDULE GROUP MoL_CalcRHS AT postinitial AFTER MoL_PostStep + { + } "Evaluate RHS" + SCHEDULE GROUP ML_BSSN_evolCalcGroup IN MoL_CalcRHS { } "Calculate BSSN RHS" @@ -62,7 +82,7 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN")) { - if (CCTK_EQUALS (my_rhs_boundary_condition, "NewRad")) + if (CCTK_EQUALS (my_initial_boundary_condition, "extrapolate-gammas")) { SCHEDULE ML_BSSN_ExtrapolateGammas AT initial AFTER ML_BSSN_convertFromADMBaseGamma { @@ -71,7 +91,10 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN")) { SYNC: ML_dtlapse SYNC: ML_dtshift } "Extrapolate Gammas and time derivatives of lapse and shift" - + } + + if (CCTK_EQUALS (my_rhs_boundary_condition, "NewRad")) + { SCHEDULE ML_BSSN_NewRad IN ML_BSSN_evolCalcGroup AFTER ML_BSSN_RHS { LANG: C @@ -97,7 +120,7 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN")) { { # if (timelevels > 1) # { - # SCHEDULE ML_BSSN_CopyADMBase AT CCTK_PRESTEP + # SCHEDULE ML_BSSN_CopyADMBase AT prestep # { # LANG: C # } "Copy ADMBase variables to current time level" diff --git a/ML_BSSN_Helper/src/SetGroupTags.c b/ML_BSSN_Helper/src/SetGroupTags.c new file mode 100644 index 0000000..a3f20a7 --- /dev/null +++ b/ML_BSSN_Helper/src/SetGroupTags.c @@ -0,0 +1,69 @@ +#include <cctk.h> +#include <cctk_Parameters.h> +#include <util_Table.h> + +#include <assert.h> + +static void +set_group_tags (int const checkpoint, int const prolongate, + char const * restrict const gn); + +int +ML_BSSN_SetGroupTags (void) +{ + DECLARE_CCTK_PARAMETERS; + + set_group_tags (0, 1, "ADMBase::metric"); + set_group_tags (0, 1, "ADMBase::curv"); + set_group_tags (0, 1, "ADMBase::lapse"); + set_group_tags (0, 1, "ADMBase::shift"); + set_group_tags (0, 1, "ADMBase::dtlapse"); + set_group_tags (0, 1, "ADMBase::dtshift"); + + set_group_tags (0, 0, "ML_BSSN::ML_cons_detg"); + set_group_tags (0, 0, "ML_BSSN::ML_cons_Gamma"); + set_group_tags (0, 0, "ML_BSSN::ML_cons_traceA"); + set_group_tags (0, 0, "ML_BSSN::ML_Ham"); + set_group_tags (0, 0, "ML_BSSN::ML_mom"); + set_group_tags (0, 0, "ML_BSSN::ML_curvrhs"); + + int const checkpoint = rhs_timelevels > 1; + set_group_tags (checkpoint, 0, "ML_BSSN::ML_dtlapserhs"); + set_group_tags (checkpoint, 0, "ML_BSSN::ML_dtshiftrhs"); + set_group_tags (checkpoint, 0, "ML_BSSN::ML_Gammarhs"); + set_group_tags (checkpoint, 0, "ML_BSSN::ML_lapserhs"); + set_group_tags (checkpoint, 0, "ML_BSSN::ML_log_confacrhs"); + set_group_tags (checkpoint, 0, "ML_BSSN::ML_metricrhs"); + set_group_tags (checkpoint, 0, "ML_BSSN::ML_shiftrhs"); + set_group_tags (checkpoint, 0, "ML_BSSN::ML_trace_curvrhs"); + + return 0; +} + +static void +set_group_tags (int const checkpoint, int const prolongate, + char const * restrict const gn) +{ + assert (gn); + + int const gi = CCTK_GroupIndex (gn); + assert (gi >= 0); + + int const table = CCTK_GroupTagsTableI (gi); + assert (table >= 0); + + if (! checkpoint) { + int ierr; + ierr = Util_TableSetString (table, "no", "Checkpoint"); + assert (! ierr); + + ierr = Util_TableSetString (table, "no", "Persistent"); + assert (! ierr); + } + + if (! prolongate) { + int ierr; + ierr = Util_TableSetString (table, "none", "Prolongation"); + assert (! ierr); + } +} diff --git a/ML_BSSN_Helper/src/UnsetCheckpointTags.c b/ML_BSSN_Helper/src/UnsetCheckpointTags.c deleted file mode 100644 index 3eaf347..0000000 --- a/ML_BSSN_Helper/src/UnsetCheckpointTags.c +++ /dev/null @@ -1,59 +0,0 @@ -#include <cctk.h> -#include <util_Table.h> - -#include <assert.h> - -static void -unset_checkpoint_tag (int prolongate, char const * restrict gn); - -int -ML_BSSN_UnsetCheckpointTags (void) -{ - unset_checkpoint_tag (1, "ADMBase::metric"); - unset_checkpoint_tag (1, "ADMBase::curv"); - unset_checkpoint_tag (1, "ADMBase::lapse"); - unset_checkpoint_tag (1, "ADMBase::shift"); - unset_checkpoint_tag (1, "ADMBase::dtlapse"); - unset_checkpoint_tag (1, "ADMBase::dtshift"); - - unset_checkpoint_tag (0, "ML_BSSN::ML_cons_detg"); - unset_checkpoint_tag (0, "ML_BSSN::ML_cons_Gamma"); - unset_checkpoint_tag (0, "ML_BSSN::ML_cons_traceA"); - unset_checkpoint_tag (0, "ML_BSSN::ML_Ham"); - unset_checkpoint_tag (0, "ML_BSSN::ML_mom"); - unset_checkpoint_tag (0, "ML_BSSN::ML_curvrhs"); - unset_checkpoint_tag (0, "ML_BSSN::ML_dtlapserhs"); - unset_checkpoint_tag (0, "ML_BSSN::ML_dtshiftrhs"); - unset_checkpoint_tag (0, "ML_BSSN::ML_Gammarhs"); - unset_checkpoint_tag (0, "ML_BSSN::ML_lapserhs"); - unset_checkpoint_tag (0, "ML_BSSN::ML_log_confacrhs"); - unset_checkpoint_tag (0, "ML_BSSN::ML_metricrhs"); - unset_checkpoint_tag (0, "ML_BSSN::ML_shiftrhs"); - unset_checkpoint_tag (0, "ML_BSSN::ML_trace_curvrhs"); - - return 0; -} - -static void -unset_checkpoint_tag (int const prolongate, char const * restrict const gn) -{ - assert (gn); - - int const gi = CCTK_GroupIndex (gn); - assert (gi >= 0); - - int const table = CCTK_GroupTagsTableI (gi); - assert (table >= 0); - - int ierr; - ierr = Util_TableSetString (table, "no", "Checkpoint"); - assert (! ierr); - - ierr = Util_TableSetString (table, "no", "Persistent"); - assert (! ierr); - - if (! prolongate) { - ierr = Util_TableSetString (table, "none", "Prolongation"); - assert (! ierr); - } -} diff --git a/ML_BSSN_Helper/src/make.code.defn b/ML_BSSN_Helper/src/make.code.defn index 7cc4e72..2625d6c 100644 --- a/ML_BSSN_Helper/src/make.code.defn +++ b/ML_BSSN_Helper/src/make.code.defn @@ -1,3 +1,3 @@ # -*-Makefile-*- -SRCS = ExtrapolateGammas.c NewRad.c RegisterConstrained.c RegisterSlicing.c SelectBCsADMBase.c UnsetCheckpointTags.c +SRCS = ExtrapolateGammas.c NewRad.c RegisterConstrained.c RegisterSlicing.c SelectBCsADMBase.c SetGroupTags.c # CopyADMBase.c diff --git a/ML_BSSN_M/configuration.ccl b/ML_BSSN_M/configuration.ccl index 105b1d2..8e2c3c5 100644 --- a/ML_BSSN_M/configuration.ccl +++ b/ML_BSSN_M/configuration.ccl @@ -1,7 +1,4 @@ -# File produced by user diener -# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) - -# Mathematica script written by Ian Hinder and Sascha Husa +# File produced by Kranc REQUIRES GenericFD REQUIRES LoopControl diff --git a/ML_BSSN_M/interface.ccl b/ML_BSSN_M/interface.ccl index 0e6e5c9..a729299 100644 --- a/ML_BSSN_M/interface.ccl +++ b/ML_BSSN_M/interface.ccl @@ -1,7 +1,4 @@ -# File produced by user diener -# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) - -# Mathematica script written by Ian Hinder and Sascha Husa +# File produced by Kranc implements: ML_BSSN_M @@ -62,76 +59,6 @@ CCTK_REAL ML_mom type=GF timelevels=1 tags='tensortypealias="D" tensorweight=1.0 } "ML_mom" public: -CCTK_REAL ML_curvrhs type=GF timelevels=1 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' -{ - At11rhs, - At12rhs, - At13rhs, - At22rhs, - At23rhs, - At33rhs -} "ML_curvrhs" - -public: -CCTK_REAL ML_dtlapserhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' -{ - Arhs -} "ML_dtlapserhs" - -public: -CCTK_REAL ML_dtshiftrhs type=GF timelevels=1 tags='tensortypealias="U" tensorweight=1.0000000000000000000' -{ - B1rhs, - B2rhs, - B3rhs -} "ML_dtshiftrhs" - -public: -CCTK_REAL ML_Gammarhs type=GF timelevels=1 tags='tensortypealias="U" tensorweight=0.66666666666666666667' -{ - Xt1rhs, - Xt2rhs, - Xt3rhs -} "ML_Gammarhs" - -public: -CCTK_REAL ML_lapserhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' -{ - alpharhs -} "ML_lapserhs" - -public: -CCTK_REAL ML_log_confacrhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=0.16666666666666666667' -{ - phirhs -} "ML_log_confacrhs" - -public: -CCTK_REAL ML_metricrhs type=GF timelevels=1 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' -{ - gt11rhs, - gt12rhs, - gt13rhs, - gt22rhs, - gt23rhs, - gt33rhs -} "ML_metricrhs" - -public: -CCTK_REAL ML_shiftrhs type=GF timelevels=1 tags='tensortypealias="U" tensorweight=1.0000000000000000000' -{ - beta1rhs, - beta2rhs, - beta3rhs -} "ML_shiftrhs" - -public: -CCTK_REAL ML_trace_curvrhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' -{ - trKrhs -} "ML_trace_curvrhs" - -public: CCTK_REAL ML_curv type=GF timelevels=3 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' { At11, @@ -200,3 +127,73 @@ CCTK_REAL ML_trace_curv type=GF timelevels=3 tags='tensortypealias="Scalar" tens { trK } "ML_trace_curv" + +public: +CCTK_REAL ML_curvrhs type=GF timelevels=3 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' +{ + At11rhs, + At12rhs, + At13rhs, + At22rhs, + At23rhs, + At33rhs +} "ML_curvrhs" + +public: +CCTK_REAL ML_dtlapserhs type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +{ + Arhs +} "ML_dtlapserhs" + +public: +CCTK_REAL ML_dtshiftrhs type=GF timelevels=3 tags='tensortypealias="U" tensorweight=1.0000000000000000000' +{ + B1rhs, + B2rhs, + B3rhs +} "ML_dtshiftrhs" + +public: +CCTK_REAL ML_Gammarhs type=GF timelevels=3 tags='tensortypealias="U" tensorweight=0.66666666666666666667' +{ + Xt1rhs, + Xt2rhs, + Xt3rhs +} "ML_Gammarhs" + +public: +CCTK_REAL ML_lapserhs type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +{ + alpharhs +} "ML_lapserhs" + +public: +CCTK_REAL ML_log_confacrhs type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=0.16666666666666666667' +{ + phirhs +} "ML_log_confacrhs" + +public: +CCTK_REAL ML_metricrhs type=GF timelevels=3 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' +{ + gt11rhs, + gt12rhs, + gt13rhs, + gt22rhs, + gt23rhs, + gt33rhs +} "ML_metricrhs" + +public: +CCTK_REAL ML_shiftrhs type=GF timelevels=3 tags='tensortypealias="U" tensorweight=1.0000000000000000000' +{ + beta1rhs, + beta2rhs, + beta3rhs +} "ML_shiftrhs" + +public: +CCTK_REAL ML_trace_curvrhs type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +{ + trKrhs +} "ML_trace_curvrhs" diff --git a/ML_BSSN_M/param.ccl b/ML_BSSN_M/param.ccl index 4729010..def6076 100644 --- a/ML_BSSN_M/param.ccl +++ b/ML_BSSN_M/param.ccl @@ -1,7 +1,4 @@ -# File produced by user diener -# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) - -# Mathematica script written by Ian Hinder and Sascha Husa +# File produced by Kranc shares: ADMBase @@ -88,6 +85,12 @@ CCTK_REAL ShiftAdvectionCoeff "Factor in front of the shift advection terms in g } 1 restricted: +CCTK_REAL MinimumLapse "Minimum value of the lapse function" +{ + "*:*" :: "" +} -1 + +restricted: CCTK_INT harmonicN "d/dt alpha = - f alpha^n K (harmonic=2, 1+log=1)" { *:* :: "" @@ -113,9 +116,16 @@ KEYWORD my_initial_data "my_initial_data" } "ADMBase" restricted: +KEYWORD my_initial_boundary_condition "my_initial_boundary_condition" +{ + "none" :: "none" +} "none" + +restricted: KEYWORD my_rhs_boundary_condition "my_rhs_boundary_condition" { "none" :: "none" + "static" :: "static" "radiative" :: "radiative" } "none" @@ -147,6 +157,12 @@ CCTK_INT timelevels "Number of active timelevels" } 3 restricted: +CCTK_INT rhs_timelevels "Number of active RHS timelevels" +{ + 0:3 :: "" +} 1 + +restricted: CCTK_INT ML_BSSN_M_Minkowski_calc_every "ML_BSSN_M_Minkowski_calc_every" { *:* :: "" @@ -171,7 +187,13 @@ CCTK_INT ML_BSSN_M_RHS_calc_every "ML_BSSN_M_RHS_calc_every" } 1 restricted: -CCTK_INT ML_BSSN_M_RHSBoundary_calc_every "ML_BSSN_M_RHSBoundary_calc_every" +CCTK_INT ML_BSSN_M_RHSStaticBoundary_calc_every "ML_BSSN_M_RHSStaticBoundary_calc_every" +{ + *:* :: "" +} 1 + +restricted: +CCTK_INT ML_BSSN_M_RHSRadiativeBoundary_calc_every "ML_BSSN_M_RHSRadiativeBoundary_calc_every" { *:* :: "" } 1 @@ -237,7 +259,13 @@ CCTK_INT ML_BSSN_M_RHS_calc_offset "ML_BSSN_M_RHS_calc_offset" } 0 restricted: -CCTK_INT ML_BSSN_M_RHSBoundary_calc_offset "ML_BSSN_M_RHSBoundary_calc_offset" +CCTK_INT ML_BSSN_M_RHSStaticBoundary_calc_offset "ML_BSSN_M_RHSStaticBoundary_calc_offset" +{ + *:* :: "" +} 0 + +restricted: +CCTK_INT ML_BSSN_M_RHSRadiativeBoundary_calc_offset "ML_BSSN_M_RHSRadiativeBoundary_calc_offset" { *:* :: "" } 0 diff --git a/ML_BSSN_M/schedule.ccl b/ML_BSSN_M/schedule.ccl index 8b84661..919e8ee 100644 --- a/ML_BSSN_M/schedule.ccl +++ b/ML_BSSN_M/schedule.ccl @@ -1,7 +1,4 @@ -# File produced by user diener -# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) - -# Mathematica script written by Ian Hinder and Sascha Husa +# File produced by Kranc STORAGE: ML_cons_detg[1] @@ -14,24 +11,6 @@ STORAGE: ML_Ham[1] STORAGE: ML_mom[1] -STORAGE: ML_curvrhs[1] - -STORAGE: ML_dtlapserhs[1] - -STORAGE: ML_dtshiftrhs[1] - -STORAGE: ML_Gammarhs[1] - -STORAGE: ML_lapserhs[1] - -STORAGE: ML_log_confacrhs[1] - -STORAGE: ML_metricrhs[1] - -STORAGE: ML_shiftrhs[1] - -STORAGE: ML_trace_curvrhs[1] - if (timelevels == 1) { STORAGE: ML_curv[1] @@ -149,6 +128,123 @@ if (timelevels == 3) STORAGE: ML_trace_curv[3] } +if (rhs_timelevels == 1) +{ + STORAGE: ML_curvrhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_curvrhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_curvrhs[3] +} + +if (rhs_timelevels == 1) +{ + STORAGE: ML_dtlapserhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_dtlapserhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_dtlapserhs[3] +} + +if (rhs_timelevels == 1) +{ + STORAGE: ML_dtshiftrhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_dtshiftrhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_dtshiftrhs[3] +} + +if (rhs_timelevels == 1) +{ + STORAGE: ML_Gammarhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_Gammarhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_Gammarhs[3] +} + +if (rhs_timelevels == 1) +{ + STORAGE: ML_lapserhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_lapserhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_lapserhs[3] +} + +if (rhs_timelevels == 1) +{ + STORAGE: ML_log_confacrhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_log_confacrhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_log_confacrhs[3] +} + +if (rhs_timelevels == 1) +{ + STORAGE: ML_metricrhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_metricrhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_metricrhs[3] +} + +if (rhs_timelevels == 1) +{ + STORAGE: ML_shiftrhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_shiftrhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_shiftrhs[3] +} + +if (rhs_timelevels == 1) +{ + STORAGE: ML_trace_curvrhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_trace_curvrhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_trace_curvrhs[3] +} + schedule ML_BSSN_M_Startup at STARTUP { LANG: C @@ -212,12 +308,21 @@ schedule ML_BSSN_M_RHS IN ML_BSSN_M_evolCalcGroup } "ML_BSSN_M_RHS" +if (CCTK_EQUALS(my_rhs_boundary_condition, "static")) +{ + schedule ML_BSSN_M_RHSStaticBoundary IN MoL_CalcRHS + { + LANG: C + } "ML_BSSN_M_RHSStaticBoundary" +} + + if (CCTK_EQUALS(my_rhs_boundary_condition, "radiative")) { - schedule ML_BSSN_M_RHSBoundary IN MoL_RHSBoundaries + schedule ML_BSSN_M_RHSRadiativeBoundary IN MoL_CalcRHS { LANG: C - } "ML_BSSN_M_RHSBoundary" + } "ML_BSSN_M_RHSRadiativeBoundary" } schedule ML_BSSN_M_enforce IN MoL_PostStep BEFORE ML_BSSN_M_BoundConds @@ -265,7 +370,7 @@ schedule ML_BSSN_M_constraints_boundary IN ML_BSSN_M_constraintsCalcGroup AFTER LANG: C } "ML_BSSN_M_constraints_boundary" -schedule ML_BSSN_M_ApplyBoundConds in MoL_PostStep +schedule ML_BSSN_M_SelectBoundConds in MoL_PostStep { LANG: C OPTIONS: level @@ -278,7 +383,7 @@ schedule ML_BSSN_M_ApplyBoundConds in MoL_PostStep SYNC: ML_metric SYNC: ML_shift SYNC: ML_trace_curv -} "apply boundary conditions" +} "select boundary conditions" schedule ML_BSSN_M_CheckBoundaries at BASEGRID { @@ -286,7 +391,7 @@ schedule ML_BSSN_M_CheckBoundaries at BASEGRID OPTIONS: meta } "check boundaries treatment" -schedule group ApplyBCs as ML_BSSN_M_ApplyBCs in MoL_PostStep after ML_BSSN_M_ApplyBoundConds +schedule group ApplyBCs as ML_BSSN_M_ApplyBCs in MoL_PostStep after ML_BSSN_M_SelectBoundConds { # no language specified } "Apply boundary conditions controlled by thorn Boundary" diff --git a/ML_BSSN_M/src/Boundaries.c b/ML_BSSN_M/src/Boundaries.c index 6f2e2f4..9e52745 100644 --- a/ML_BSSN_M/src/Boundaries.c +++ b/ML_BSSN_M/src/Boundaries.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #include "cctk.h" #include "cctk_Arguments.h" @@ -28,7 +25,7 @@ void ML_BSSN_M_CheckBoundaries(CCTK_ARGUMENTS) return; } -void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) +void ML_BSSN_M_SelectBoundConds(CCTK_ARGUMENTS) { DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; @@ -411,7 +408,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_curv_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_curv_bound = -1; if (handle_ML_curv_bound < 0) handle_ML_curv_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_curv_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -430,7 +427,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_dtlapse_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_dtlapse_bound = -1; if (handle_ML_dtlapse_bound < 0) handle_ML_dtlapse_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_dtlapse_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -449,7 +446,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_dtshift_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_dtshift_bound = -1; if (handle_ML_dtshift_bound < 0) handle_ML_dtshift_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_dtshift_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -468,7 +465,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_Gamma_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_Gamma_bound = -1; if (handle_ML_Gamma_bound < 0) handle_ML_Gamma_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_Gamma_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -487,7 +484,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_lapse_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_lapse_bound = -1; if (handle_ML_lapse_bound < 0) handle_ML_lapse_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_lapse_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -506,7 +503,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_log_confac_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_log_confac_bound = -1; if (handle_ML_log_confac_bound < 0) handle_ML_log_confac_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_log_confac_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -525,7 +522,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_metric_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_metric_bound = -1; if (handle_ML_metric_bound < 0) handle_ML_metric_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_metric_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -544,7 +541,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_shift_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_shift_bound = -1; if (handle_ML_shift_bound < 0) handle_ML_shift_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_shift_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -563,7 +560,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_trace_curv_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_trace_curv_bound = -1; if (handle_ML_trace_curv_bound < 0) handle_ML_trace_curv_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_trace_curv_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -582,7 +579,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At11_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_At11_bound = -1; if (handle_At11_bound < 0) handle_At11_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At11_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -601,7 +598,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At12_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_At12_bound = -1; if (handle_At12_bound < 0) handle_At12_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At12_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -620,7 +617,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At13_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_At13_bound = -1; if (handle_At13_bound < 0) handle_At13_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At13_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -639,7 +636,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At22_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_At22_bound = -1; if (handle_At22_bound < 0) handle_At22_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At22_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -658,7 +655,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At23_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_At23_bound = -1; if (handle_At23_bound < 0) handle_At23_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At23_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -677,7 +674,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At33_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_At33_bound = -1; if (handle_At33_bound < 0) handle_At33_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At33_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -696,7 +693,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(A_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_A_bound = -1; if (handle_A_bound < 0) handle_A_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_A_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -715,7 +712,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B1_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_B1_bound = -1; if (handle_B1_bound < 0) handle_B1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B1_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -734,7 +731,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B2_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_B2_bound = -1; if (handle_B2_bound < 0) handle_B2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B2_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -753,7 +750,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B3_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_B3_bound = -1; if (handle_B3_bound < 0) handle_B3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B3_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -772,7 +769,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt1_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_Xt1_bound = -1; if (handle_Xt1_bound < 0) handle_Xt1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt1_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -791,7 +788,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt2_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_Xt2_bound = -1; if (handle_Xt2_bound < 0) handle_Xt2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt2_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -810,7 +807,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt3_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_Xt3_bound = -1; if (handle_Xt3_bound < 0) handle_Xt3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt3_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -829,7 +826,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(alpha_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_alpha_bound = -1; if (handle_alpha_bound < 0) handle_alpha_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_alpha_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -848,7 +845,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(phi_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_phi_bound = -1; if (handle_phi_bound < 0) handle_phi_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_phi_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -867,7 +864,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt11_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_gt11_bound = -1; if (handle_gt11_bound < 0) handle_gt11_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt11_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -886,7 +883,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt12_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_gt12_bound = -1; if (handle_gt12_bound < 0) handle_gt12_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt12_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -905,7 +902,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt13_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_gt13_bound = -1; if (handle_gt13_bound < 0) handle_gt13_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt13_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -924,7 +921,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt22_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_gt22_bound = -1; if (handle_gt22_bound < 0) handle_gt22_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt22_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -943,7 +940,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt23_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_gt23_bound = -1; if (handle_gt23_bound < 0) handle_gt23_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt23_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -962,7 +959,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt33_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_gt33_bound = -1; if (handle_gt33_bound < 0) handle_gt33_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt33_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -981,7 +978,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(beta1_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_beta1_bound = -1; if (handle_beta1_bound < 0) handle_beta1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_beta1_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1000,7 +997,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(beta2_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_beta2_bound = -1; if (handle_beta2_bound < 0) handle_beta2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_beta2_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1019,7 +1016,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(beta3_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_beta3_bound = -1; if (handle_beta3_bound < 0) handle_beta3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_beta3_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1038,7 +1035,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(trK_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_trK_bound = -1; if (handle_trK_bound < 0) handle_trK_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_trK_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1057,7 +1054,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_curv_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_curv_bound = -1; if (handle_ML_curv_bound < 0) handle_ML_curv_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_curv_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1074,7 +1071,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_dtlapse_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_dtlapse_bound = -1; if (handle_ML_dtlapse_bound < 0) handle_ML_dtlapse_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_dtlapse_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1091,7 +1088,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_dtshift_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_dtshift_bound = -1; if (handle_ML_dtshift_bound < 0) handle_ML_dtshift_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_dtshift_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1108,7 +1105,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_Gamma_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_Gamma_bound = -1; if (handle_ML_Gamma_bound < 0) handle_ML_Gamma_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_Gamma_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1125,7 +1122,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_lapse_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_lapse_bound = -1; if (handle_ML_lapse_bound < 0) handle_ML_lapse_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_lapse_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1142,7 +1139,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_log_confac_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_log_confac_bound = -1; if (handle_ML_log_confac_bound < 0) handle_ML_log_confac_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_log_confac_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1159,7 +1156,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_metric_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_metric_bound = -1; if (handle_ML_metric_bound < 0) handle_ML_metric_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_metric_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1176,7 +1173,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_shift_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_shift_bound = -1; if (handle_ML_shift_bound < 0) handle_ML_shift_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_shift_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1193,7 +1190,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_trace_curv_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_trace_curv_bound = -1; if (handle_ML_trace_curv_bound < 0) handle_ML_trace_curv_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_trace_curv_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1210,7 +1207,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At11_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_At11_bound = -1; if (handle_At11_bound < 0) handle_At11_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At11_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1227,7 +1224,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At12_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_At12_bound = -1; if (handle_At12_bound < 0) handle_At12_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At12_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1244,7 +1241,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At13_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_At13_bound = -1; if (handle_At13_bound < 0) handle_At13_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At13_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1261,7 +1258,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At22_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_At22_bound = -1; if (handle_At22_bound < 0) handle_At22_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At22_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1278,7 +1275,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At23_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_At23_bound = -1; if (handle_At23_bound < 0) handle_At23_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At23_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1295,7 +1292,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At33_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_At33_bound = -1; if (handle_At33_bound < 0) handle_At33_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At33_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1312,7 +1309,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(A_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_A_bound = -1; if (handle_A_bound < 0) handle_A_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_A_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1329,7 +1326,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B1_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_B1_bound = -1; if (handle_B1_bound < 0) handle_B1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B1_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1346,7 +1343,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B2_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_B2_bound = -1; if (handle_B2_bound < 0) handle_B2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B2_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1363,7 +1360,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B3_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_B3_bound = -1; if (handle_B3_bound < 0) handle_B3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B3_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1380,7 +1377,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt1_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_Xt1_bound = -1; if (handle_Xt1_bound < 0) handle_Xt1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt1_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1397,7 +1394,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt2_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_Xt2_bound = -1; if (handle_Xt2_bound < 0) handle_Xt2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt2_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1414,7 +1411,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt3_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_Xt3_bound = -1; if (handle_Xt3_bound < 0) handle_Xt3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt3_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1431,7 +1428,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(alpha_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_alpha_bound = -1; if (handle_alpha_bound < 0) handle_alpha_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_alpha_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1448,7 +1445,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(phi_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_phi_bound = -1; if (handle_phi_bound < 0) handle_phi_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_phi_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1465,7 +1462,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt11_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_gt11_bound = -1; if (handle_gt11_bound < 0) handle_gt11_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt11_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1482,7 +1479,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt12_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_gt12_bound = -1; if (handle_gt12_bound < 0) handle_gt12_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt12_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1499,7 +1496,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt13_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_gt13_bound = -1; if (handle_gt13_bound < 0) handle_gt13_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt13_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1516,7 +1513,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt22_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_gt22_bound = -1; if (handle_gt22_bound < 0) handle_gt22_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt22_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1533,7 +1530,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt23_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_gt23_bound = -1; if (handle_gt23_bound < 0) handle_gt23_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt23_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1550,7 +1547,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt33_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_gt33_bound = -1; if (handle_gt33_bound < 0) handle_gt33_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt33_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1567,7 +1564,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(beta1_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_beta1_bound = -1; if (handle_beta1_bound < 0) handle_beta1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_beta1_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1584,7 +1581,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(beta2_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_beta2_bound = -1; if (handle_beta2_bound < 0) handle_beta2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_beta2_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1601,7 +1598,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(beta3_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_beta3_bound = -1; if (handle_beta3_bound < 0) handle_beta3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_beta3_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1618,7 +1615,7 @@ void ML_BSSN_M_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(trK_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_trK_bound = -1; if (handle_trK_bound < 0) handle_trK_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_trK_bound < 0) CCTK_WARN(0, "could not create table!"); diff --git a/ML_BSSN_M/src/ML_BSSN_M_ADMBaseBoundary.c b/ML_BSSN_M/src/ML_BSSN_M_ADMBaseBoundary.c index 558ea60..154eea1 100644 --- a/ML_BSSN_M/src/ML_BSSN_M_ADMBaseBoundary.c +++ b/ML_BSSN_M/src/ML_BSSN_M_ADMBaseBoundary.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN_M/src/ML_BSSN_M_Minkowski.c b/ML_BSSN_M/src/ML_BSSN_M_Minkowski.c index 283691c..2236d55 100644 --- a/ML_BSSN_M/src/ML_BSSN_M_Minkowski.c +++ b/ML_BSSN_M/src/ML_BSSN_M_Minkowski.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN_M/src/ML_BSSN_M_RHS.c b/ML_BSSN_M/src/ML_BSSN_M_RHS.c index e0e3439..95d5157 100644 --- a/ML_BSSN_M/src/ML_BSSN_M_RHS.c +++ b/ML_BSSN_M/src/ML_BSSN_M_RHS.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN_M/src/ML_BSSN_M_RHSBoundary.c b/ML_BSSN_M/src/ML_BSSN_M_RHSBoundary.c deleted file mode 100644 index 8334d65..0000000 --- a/ML_BSSN_M/src/ML_BSSN_M_RHSBoundary.c +++ /dev/null @@ -1,322 +0,0 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ - -#define KRANC_C - -#include <assert.h> -#include <math.h> -#include <stdio.h> -#include <stdlib.h> -#include "cctk.h" -#include "cctk_Arguments.h" -#include "cctk_Parameters.h" -#include "GenericFD.h" -#include "Differencing.h" -#include "loopcontrol.h" - -/* Define macros used in calculations */ -#define INITVALUE (42) -#define INV(x) ((1.0) / (x)) -#define SQR(x) ((x) * (x)) -#define CUB(x) ((x) * (x) * (x)) -#define QAD(x) ((x) * (x) * (x) * (x)) - -void ML_BSSN_M_RHSBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], CCTK_INT const min[3], CCTK_INT const max[3], CCTK_INT const n_subblock_gfs, CCTK_REAL * const subblock_gfs[]) -{ - DECLARE_CCTK_ARGUMENTS; - DECLARE_CCTK_PARAMETERS; - - - /* Declare finite differencing variables */ - CCTK_REAL dx = INITVALUE, dy = INITVALUE, dz = INITVALUE; - CCTK_REAL dxi = INITVALUE, dyi = INITVALUE, dzi = INITVALUE; - CCTK_REAL khalf = INITVALUE, kthird = INITVALUE, ktwothird = INITVALUE, kfourthird = INITVALUE, keightthird = INITVALUE; - CCTK_REAL hdxi = INITVALUE, hdyi = INITVALUE, hdzi = INITVALUE; - - - /* Declare predefined quantities */ - CCTK_REAL p1o12dx = INITVALUE; - CCTK_REAL p1o12dy = INITVALUE; - CCTK_REAL p1o12dz = INITVALUE; - CCTK_REAL p1o144dxdy = INITVALUE; - CCTK_REAL p1o144dxdz = INITVALUE; - CCTK_REAL p1o144dydz = INITVALUE; - CCTK_REAL p1odx = INITVALUE; - CCTK_REAL p1ody = INITVALUE; - CCTK_REAL p1odz = INITVALUE; - CCTK_REAL pm1o12dx2 = INITVALUE; - CCTK_REAL pm1o12dy2 = INITVALUE; - CCTK_REAL pm1o12dz2 = INITVALUE; - - if (verbose > 1) - { - CCTK_VInfo(CCTK_THORNSTRING,"Entering ML_BSSN_M_RHSBoundary_Body"); - } - - if (cctk_iteration % ML_BSSN_M_RHSBoundary_calc_every != ML_BSSN_M_RHSBoundary_calc_offset) - { - return; - } - - /* Include user-supplied include files */ - - /* Initialise finite differencing variables */ - dx = CCTK_DELTA_SPACE(0); - dy = CCTK_DELTA_SPACE(1); - dz = CCTK_DELTA_SPACE(2); - dxi = 1.0 / dx; - dyi = 1.0 / dy; - dzi = 1.0 / dz; - khalf = 0.5; - kthird = 1/3.0; - ktwothird = 2.0/3.0; - kfourthird = 4.0/3.0; - keightthird = 8.0/3.0; - hdxi = 0.5 * dxi; - hdyi = 0.5 * dyi; - hdzi = 0.5 * dzi; - - /* Initialize predefined quantities */ - p1o12dx = INV(dx)/12.; - p1o12dy = INV(dy)/12.; - p1o12dz = INV(dz)/12.; - p1o144dxdy = (INV(dx)*INV(dy))/144.; - p1o144dxdz = (INV(dx)*INV(dz))/144.; - p1o144dydz = (INV(dy)*INV(dz))/144.; - p1odx = INV(dx); - p1ody = INV(dy); - p1odz = INV(dz); - pm1o12dx2 = -pow(dx,-2)/12.; - pm1o12dy2 = -pow(dy,-2)/12.; - pm1o12dz2 = -pow(dz,-2)/12.; - - /* Loop over the grid points */ - #pragma omp parallel - LC_LOOP3 (ML_BSSN_M_RHSBoundary, - i,j,k, min[0],min[1],min[2], max[0],max[1],max[2], - cctk_lsh[0],cctk_lsh[1],cctk_lsh[2]) - { - int index = INITVALUE; - int subblock_index = INITVALUE; - index = CCTK_GFINDEX3D(cctkGH,i,j,k); - subblock_index = i - min[0] + (max[0] - min[0]) * (j - min[1] + (max[1]-min[1]) * (k - min[2])); - - /* Declare shorthands */ - CCTK_REAL detgt = INITVALUE; - CCTK_REAL dir1 = INITVALUE, dir2 = INITVALUE, dir3 = INITVALUE; - CCTK_REAL em4phi = INITVALUE; - CCTK_REAL gtu11 = INITVALUE, gtu21 = INITVALUE, gtu22 = INITVALUE, gtu31 = INITVALUE, gtu32 = INITVALUE, gtu33 = INITVALUE; - CCTK_REAL gu11 = INITVALUE, gu21 = INITVALUE, gu22 = INITVALUE, gu31 = INITVALUE, gu32 = INITVALUE, gu33 = INITVALUE; - CCTK_REAL nlen = INITVALUE, nlen2 = INITVALUE; - CCTK_REAL nn1 = INITVALUE, nn2 = INITVALUE, nn3 = INITVALUE; - CCTK_REAL nu1 = INITVALUE, nu2 = INITVALUE, nu3 = INITVALUE; - CCTK_REAL su1 = INITVALUE, su2 = INITVALUE, su3 = INITVALUE; - CCTK_REAL vg = INITVALUE; - - /* Declare local copies of grid functions */ - CCTK_REAL AL = INITVALUE; - CCTK_REAL alphaL = INITVALUE, alpharhsL = INITVALUE; - CCTK_REAL ArhsL = INITVALUE; - CCTK_REAL At11L = INITVALUE, At11rhsL = INITVALUE, At12L = INITVALUE, At12rhsL = INITVALUE, At13L = INITVALUE, At13rhsL = INITVALUE; - CCTK_REAL At22L = INITVALUE, At22rhsL = INITVALUE, At23L = INITVALUE, At23rhsL = INITVALUE, At33L = INITVALUE, At33rhsL = INITVALUE; - CCTK_REAL B1L = INITVALUE, B1rhsL = INITVALUE, B2L = INITVALUE, B2rhsL = INITVALUE, B3L = INITVALUE, B3rhsL = INITVALUE; - CCTK_REAL beta1L = INITVALUE, beta1rhsL = INITVALUE, beta2L = INITVALUE, beta2rhsL = INITVALUE, beta3L = INITVALUE, beta3rhsL = INITVALUE; - CCTK_REAL gt11L = INITVALUE, gt11rhsL = INITVALUE, gt12L = INITVALUE, gt12rhsL = INITVALUE, gt13L = INITVALUE, gt13rhsL = INITVALUE; - CCTK_REAL gt22L = INITVALUE, gt22rhsL = INITVALUE, gt23L = INITVALUE, gt23rhsL = INITVALUE, gt33L = INITVALUE, gt33rhsL = INITVALUE; - CCTK_REAL phiL = INITVALUE, phirhsL = INITVALUE; - CCTK_REAL trKL = INITVALUE, trKrhsL = INITVALUE; - CCTK_REAL Xt1L = INITVALUE, Xt1rhsL = INITVALUE, Xt2L = INITVALUE, Xt2rhsL = INITVALUE, Xt3L = INITVALUE, Xt3rhsL = INITVALUE; - /* Declare precomputed derivatives*/ - - /* Declare derivatives */ - - /* Assign local copies of grid functions */ - AL = A[index]; - alphaL = alpha[index]; - At11L = At11[index]; - At12L = At12[index]; - At13L = At13[index]; - At22L = At22[index]; - At23L = At23[index]; - At33L = At33[index]; - B1L = B1[index]; - B2L = B2[index]; - B3L = B3[index]; - beta1L = beta1[index]; - beta2L = beta2[index]; - beta3L = beta3[index]; - gt11L = gt11[index]; - gt12L = gt12[index]; - gt13L = gt13[index]; - gt22L = gt22[index]; - gt23L = gt23[index]; - gt33L = gt33[index]; - phiL = phi[index]; - trKL = trK[index]; - Xt1L = Xt1[index]; - Xt2L = Xt2[index]; - Xt3L = Xt3[index]; - - /* Assign local copies of subblock grid functions */ - - /* Include user supplied include files */ - - /* Precompute derivatives (new style) */ - - /* Precompute derivatives (old style) */ - - /* Calculate temporaries and grid functions */ - dir1 = Sign(normal[0]); - - dir2 = Sign(normal[1]); - - dir3 = Sign(normal[2]); - - detgt = 1; - - gtu11 = INV(detgt)*(gt22L*gt33L - SQR(gt23L)); - - gtu21 = (gt13L*gt23L - gt12L*gt33L)*INV(detgt); - - gtu31 = (-(gt13L*gt22L) + gt12L*gt23L)*INV(detgt); - - gtu22 = INV(detgt)*(gt11L*gt33L - SQR(gt13L)); - - gtu32 = (gt12L*gt13L - gt11L*gt23L)*INV(detgt); - - gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L)); - - em4phi = IfThen(conformalmethod,SQR(phiL),exp(-4*phiL)); - - gu11 = em4phi*gtu11; - - gu21 = em4phi*gtu21; - - gu31 = em4phi*gtu31; - - gu22 = em4phi*gtu22; - - gu32 = em4phi*gtu32; - - gu33 = em4phi*gtu33; - - nn1 = normal[0]; - - nn2 = normal[1]; - - nn3 = normal[2]; - - nu1 = gu11*nn1 + gu21*nn2 + gu31*nn3; - - nu2 = gu21*nn1 + gu22*nn2 + gu32*nn3; - - nu3 = gu31*nn1 + gu32*nn2 + gu33*nn3; - - nlen2 = nn1*nu1 + nn2*nu2 + nn3*nu3; - - nlen = pow(nlen2,0.5); - - su1 = nu1*INV(nlen); - - su2 = nu2*INV(nlen); - - su3 = nu3*INV(nlen); - - vg = pow(harmonicF,0.5); - - phirhsL = -((PDonesided1(phi, i, j, k)*su1 + PDonesided2(phi, i, j, k)*su2 + PDonesided3(phi, i, j, k)*su3)*vg); - - gt11rhsL = -(PDonesided1(gt11, i, j, k)*su1) - PDonesided2(gt11, i, j, k)*su2 - PDonesided3(gt11, i, j, k)*su3; - - gt12rhsL = -(PDonesided1(gt12, i, j, k)*su1) - PDonesided2(gt12, i, j, k)*su2 - PDonesided3(gt12, i, j, k)*su3; - - gt13rhsL = -(PDonesided1(gt13, i, j, k)*su1) - PDonesided2(gt13, i, j, k)*su2 - PDonesided3(gt13, i, j, k)*su3; - - gt22rhsL = -(PDonesided1(gt22, i, j, k)*su1) - PDonesided2(gt22, i, j, k)*su2 - PDonesided3(gt22, i, j, k)*su3; - - gt23rhsL = -(PDonesided1(gt23, i, j, k)*su1) - PDonesided2(gt23, i, j, k)*su2 - PDonesided3(gt23, i, j, k)*su3; - - gt33rhsL = -(PDonesided1(gt33, i, j, k)*su1) - PDonesided2(gt33, i, j, k)*su2 - PDonesided3(gt33, i, j, k)*su3; - - trKrhsL = -((PDonesided1(trK, i, j, k)*su1 + PDonesided2(trK, i, j, k)*su2 + PDonesided3(trK, i, j, k)*su3)*vg); - - At11rhsL = -(PDonesided1(At11, i, j, k)*su1) - PDonesided2(At11, i, j, k)*su2 - PDonesided3(At11, i, j, k)*su3; - - At12rhsL = -(PDonesided1(At12, i, j, k)*su1) - PDonesided2(At12, i, j, k)*su2 - PDonesided3(At12, i, j, k)*su3; - - At13rhsL = -(PDonesided1(At13, i, j, k)*su1) - PDonesided2(At13, i, j, k)*su2 - PDonesided3(At13, i, j, k)*su3; - - At22rhsL = -(PDonesided1(At22, i, j, k)*su1) - PDonesided2(At22, i, j, k)*su2 - PDonesided3(At22, i, j, k)*su3; - - At23rhsL = -(PDonesided1(At23, i, j, k)*su1) - PDonesided2(At23, i, j, k)*su2 - PDonesided3(At23, i, j, k)*su3; - - At33rhsL = -(PDonesided1(At33, i, j, k)*su1) - PDonesided2(At33, i, j, k)*su2 - PDonesided3(At33, i, j, k)*su3; - - Xt1rhsL = -(PDonesided1(Xt1, i, j, k)*su1) - PDonesided2(Xt1, i, j, k)*su2 - PDonesided3(Xt1, i, j, k)*su3; - - Xt2rhsL = -(PDonesided1(Xt2, i, j, k)*su1) - PDonesided2(Xt2, i, j, k)*su2 - PDonesided3(Xt2, i, j, k)*su3; - - Xt3rhsL = -(PDonesided1(Xt3, i, j, k)*su1) - PDonesided2(Xt3, i, j, k)*su2 - PDonesided3(Xt3, i, j, k)*su3; - - alpharhsL = -((PDonesided1(alpha, i, j, k)*su1 + PDonesided2(alpha, i, j, k)*su2 + - PDonesided3(alpha, i, j, k)*su3)*vg); - - ArhsL = -((PDonesided1(A, i, j, k)*su1 + PDonesided2(A, i, j, k)*su2 + PDonesided3(A, i, j, k)*su3)*vg); - - beta1rhsL = -(PDonesided1(beta1, i, j, k)*su1) - PDonesided2(beta1, i, j, k)*su2 - - PDonesided3(beta1, i, j, k)*su3; - - beta2rhsL = -(PDonesided1(beta2, i, j, k)*su1) - PDonesided2(beta2, i, j, k)*su2 - - PDonesided3(beta2, i, j, k)*su3; - - beta3rhsL = -(PDonesided1(beta3, i, j, k)*su1) - PDonesided2(beta3, i, j, k)*su2 - - PDonesided3(beta3, i, j, k)*su3; - - B1rhsL = -(PDonesided1(B1, i, j, k)*su1) - PDonesided2(B1, i, j, k)*su2 - PDonesided3(B1, i, j, k)*su3; - - B2rhsL = -(PDonesided1(B2, i, j, k)*su1) - PDonesided2(B2, i, j, k)*su2 - PDonesided3(B2, i, j, k)*su3; - - B3rhsL = -(PDonesided1(B3, i, j, k)*su1) - PDonesided2(B3, i, j, k)*su2 - PDonesided3(B3, i, j, k)*su3; - - - /* Copy local copies back to grid functions */ - alpharhs[index] = alpharhsL; - Arhs[index] = ArhsL; - At11rhs[index] = At11rhsL; - At12rhs[index] = At12rhsL; - At13rhs[index] = At13rhsL; - At22rhs[index] = At22rhsL; - At23rhs[index] = At23rhsL; - At33rhs[index] = At33rhsL; - B1rhs[index] = B1rhsL; - B2rhs[index] = B2rhsL; - B3rhs[index] = B3rhsL; - beta1rhs[index] = beta1rhsL; - beta2rhs[index] = beta2rhsL; - beta3rhs[index] = beta3rhsL; - gt11rhs[index] = gt11rhsL; - gt12rhs[index] = gt12rhsL; - gt13rhs[index] = gt13rhsL; - gt22rhs[index] = gt22rhsL; - gt23rhs[index] = gt23rhsL; - gt33rhs[index] = gt33rhsL; - phirhs[index] = phirhsL; - trKrhs[index] = trKrhsL; - Xt1rhs[index] = Xt1rhsL; - Xt2rhs[index] = Xt2rhsL; - Xt3rhs[index] = Xt3rhsL; - - /* Copy local copies back to subblock grid functions */ - } - LC_ENDLOOP3 (ML_BSSN_M_RHSBoundary); -} - -void ML_BSSN_M_RHSBoundary(CCTK_ARGUMENTS) -{ - DECLARE_CCTK_ARGUMENTS; - DECLARE_CCTK_PARAMETERS; - - GenericFD_LoopOverBoundary(cctkGH, &ML_BSSN_M_RHSBoundary_Body); -} diff --git a/ML_BSSN/src/ML_BSSN_RHSBoundary.c b/ML_BSSN_M/src/ML_BSSN_M_RHSRadiativeBoundary.c index 5d52f91..da934de 100644 --- a/ML_BSSN/src/ML_BSSN_RHSBoundary.c +++ b/ML_BSSN_M/src/ML_BSSN_M_RHSRadiativeBoundary.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C @@ -23,7 +20,7 @@ #define CUB(x) ((x) * (x) * (x)) #define QAD(x) ((x) * (x) * (x) * (x)) -void ML_BSSN_RHSBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], CCTK_INT const min[3], CCTK_INT const max[3], CCTK_INT const n_subblock_gfs, CCTK_REAL * const subblock_gfs[]) +void ML_BSSN_M_RHSRadiativeBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], CCTK_INT const min[3], CCTK_INT const max[3], CCTK_INT const n_subblock_gfs, CCTK_REAL * const subblock_gfs[]) { DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; @@ -52,10 +49,10 @@ void ML_BSSN_RHSBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK if (verbose > 1) { - CCTK_VInfo(CCTK_THORNSTRING,"Entering ML_BSSN_RHSBoundary_Body"); + CCTK_VInfo(CCTK_THORNSTRING,"Entering ML_BSSN_M_RHSRadiativeBoundary_Body"); } - if (cctk_iteration % ML_BSSN_RHSBoundary_calc_every != ML_BSSN_RHSBoundary_calc_offset) + if (cctk_iteration % ML_BSSN_M_RHSRadiativeBoundary_calc_every != ML_BSSN_M_RHSRadiativeBoundary_calc_offset) { return; } @@ -94,7 +91,7 @@ void ML_BSSN_RHSBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK /* Loop over the grid points */ #pragma omp parallel - LC_LOOP3 (ML_BSSN_RHSBoundary, + LC_LOOP3 (ML_BSSN_M_RHSRadiativeBoundary, i,j,k, min[0],min[1],min[2], max[0],max[1],max[2], cctk_lsh[0],cctk_lsh[1],cctk_lsh[2]) { @@ -310,13 +307,13 @@ void ML_BSSN_RHSBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK /* Copy local copies back to subblock grid functions */ } - LC_ENDLOOP3 (ML_BSSN_RHSBoundary); + LC_ENDLOOP3 (ML_BSSN_M_RHSRadiativeBoundary); } -void ML_BSSN_RHSBoundary(CCTK_ARGUMENTS) +void ML_BSSN_M_RHSRadiativeBoundary(CCTK_ARGUMENTS) { DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - GenericFD_LoopOverBoundary(cctkGH, &ML_BSSN_RHSBoundary_Body); + GenericFD_LoopOverBoundary(cctkGH, &ML_BSSN_M_RHSRadiativeBoundary_Body); } diff --git a/ML_BSSN_M/src/ML_BSSN_M_RHSStaticBoundary.c b/ML_BSSN_M/src/ML_BSSN_M_RHSStaticBoundary.c new file mode 100644 index 0000000..29ae55f --- /dev/null +++ b/ML_BSSN_M/src/ML_BSSN_M_RHSStaticBoundary.c @@ -0,0 +1,219 @@ +/* File produced by Kranc */ + +#define KRANC_C + +#include <assert.h> +#include <math.h> +#include <stdio.h> +#include <stdlib.h> +#include "cctk.h" +#include "cctk_Arguments.h" +#include "cctk_Parameters.h" +#include "GenericFD.h" +#include "Differencing.h" +#include "loopcontrol.h" + +/* Define macros used in calculations */ +#define INITVALUE (42) +#define INV(x) ((1.0) / (x)) +#define SQR(x) ((x) * (x)) +#define CUB(x) ((x) * (x) * (x)) +#define QAD(x) ((x) * (x) * (x) * (x)) + +void ML_BSSN_M_RHSStaticBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], CCTK_INT const min[3], CCTK_INT const max[3], CCTK_INT const n_subblock_gfs, CCTK_REAL * const subblock_gfs[]) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + + /* Declare finite differencing variables */ + CCTK_REAL dx = INITVALUE, dy = INITVALUE, dz = INITVALUE; + CCTK_REAL dxi = INITVALUE, dyi = INITVALUE, dzi = INITVALUE; + CCTK_REAL khalf = INITVALUE, kthird = INITVALUE, ktwothird = INITVALUE, kfourthird = INITVALUE, keightthird = INITVALUE; + CCTK_REAL hdxi = INITVALUE, hdyi = INITVALUE, hdzi = INITVALUE; + + + /* Declare predefined quantities */ + CCTK_REAL p1o12dx = INITVALUE; + CCTK_REAL p1o12dy = INITVALUE; + CCTK_REAL p1o12dz = INITVALUE; + CCTK_REAL p1o144dxdy = INITVALUE; + CCTK_REAL p1o144dxdz = INITVALUE; + CCTK_REAL p1o144dydz = INITVALUE; + CCTK_REAL p1odx = INITVALUE; + CCTK_REAL p1ody = INITVALUE; + CCTK_REAL p1odz = INITVALUE; + CCTK_REAL pm1o12dx2 = INITVALUE; + CCTK_REAL pm1o12dy2 = INITVALUE; + CCTK_REAL pm1o12dz2 = INITVALUE; + + if (verbose > 1) + { + CCTK_VInfo(CCTK_THORNSTRING,"Entering ML_BSSN_M_RHSStaticBoundary_Body"); + } + + if (cctk_iteration % ML_BSSN_M_RHSStaticBoundary_calc_every != ML_BSSN_M_RHSStaticBoundary_calc_offset) + { + return; + } + + /* Include user-supplied include files */ + + /* Initialise finite differencing variables */ + dx = CCTK_DELTA_SPACE(0); + dy = CCTK_DELTA_SPACE(1); + dz = CCTK_DELTA_SPACE(2); + dxi = 1.0 / dx; + dyi = 1.0 / dy; + dzi = 1.0 / dz; + khalf = 0.5; + kthird = 1/3.0; + ktwothird = 2.0/3.0; + kfourthird = 4.0/3.0; + keightthird = 8.0/3.0; + hdxi = 0.5 * dxi; + hdyi = 0.5 * dyi; + hdzi = 0.5 * dzi; + + /* Initialize predefined quantities */ + p1o12dx = INV(dx)/12.; + p1o12dy = INV(dy)/12.; + p1o12dz = INV(dz)/12.; + p1o144dxdy = (INV(dx)*INV(dy))/144.; + p1o144dxdz = (INV(dx)*INV(dz))/144.; + p1o144dydz = (INV(dy)*INV(dz))/144.; + p1odx = INV(dx); + p1ody = INV(dy); + p1odz = INV(dz); + pm1o12dx2 = -pow(dx,-2)/12.; + pm1o12dy2 = -pow(dy,-2)/12.; + pm1o12dz2 = -pow(dz,-2)/12.; + + /* Loop over the grid points */ + #pragma omp parallel + LC_LOOP3 (ML_BSSN_M_RHSStaticBoundary, + i,j,k, min[0],min[1],min[2], max[0],max[1],max[2], + cctk_lsh[0],cctk_lsh[1],cctk_lsh[2]) + { + int index = INITVALUE; + int subblock_index = INITVALUE; + index = CCTK_GFINDEX3D(cctkGH,i,j,k); + subblock_index = i - min[0] + (max[0] - min[0]) * (j - min[1] + (max[1]-min[1]) * (k - min[2])); + + /* Declare shorthands */ + + /* Declare local copies of grid functions */ + CCTK_REAL alpharhsL = INITVALUE; + CCTK_REAL ArhsL = INITVALUE; + CCTK_REAL At11rhsL = INITVALUE, At12rhsL = INITVALUE, At13rhsL = INITVALUE, At22rhsL = INITVALUE, At23rhsL = INITVALUE, At33rhsL = INITVALUE; + CCTK_REAL B1rhsL = INITVALUE, B2rhsL = INITVALUE, B3rhsL = INITVALUE; + CCTK_REAL beta1rhsL = INITVALUE, beta2rhsL = INITVALUE, beta3rhsL = INITVALUE; + CCTK_REAL gt11rhsL = INITVALUE, gt12rhsL = INITVALUE, gt13rhsL = INITVALUE, gt22rhsL = INITVALUE, gt23rhsL = INITVALUE, gt33rhsL = INITVALUE; + CCTK_REAL phirhsL = INITVALUE; + CCTK_REAL trKrhsL = INITVALUE; + CCTK_REAL Xt1rhsL = INITVALUE, Xt2rhsL = INITVALUE, Xt3rhsL = INITVALUE; + /* Declare precomputed derivatives*/ + + /* Declare derivatives */ + + /* Assign local copies of grid functions */ + + /* Assign local copies of subblock grid functions */ + + /* Include user supplied include files */ + + /* Precompute derivatives (new style) */ + + /* Precompute derivatives (old style) */ + + /* Calculate temporaries and grid functions */ + phirhsL = 0; + + gt11rhsL = 0; + + gt12rhsL = 0; + + gt13rhsL = 0; + + gt22rhsL = 0; + + gt23rhsL = 0; + + gt33rhsL = 0; + + trKrhsL = 0; + + At11rhsL = 0; + + At12rhsL = 0; + + At13rhsL = 0; + + At22rhsL = 0; + + At23rhsL = 0; + + At33rhsL = 0; + + Xt1rhsL = 0; + + Xt2rhsL = 0; + + Xt3rhsL = 0; + + alpharhsL = 0; + + ArhsL = 0; + + beta1rhsL = 0; + + beta2rhsL = 0; + + beta3rhsL = 0; + + B1rhsL = 0; + + B2rhsL = 0; + + B3rhsL = 0; + + + /* Copy local copies back to grid functions */ + alpharhs[index] = alpharhsL; + Arhs[index] = ArhsL; + At11rhs[index] = At11rhsL; + At12rhs[index] = At12rhsL; + At13rhs[index] = At13rhsL; + At22rhs[index] = At22rhsL; + At23rhs[index] = At23rhsL; + At33rhs[index] = At33rhsL; + B1rhs[index] = B1rhsL; + B2rhs[index] = B2rhsL; + B3rhs[index] = B3rhsL; + beta1rhs[index] = beta1rhsL; + beta2rhs[index] = beta2rhsL; + beta3rhs[index] = beta3rhsL; + gt11rhs[index] = gt11rhsL; + gt12rhs[index] = gt12rhsL; + gt13rhs[index] = gt13rhsL; + gt22rhs[index] = gt22rhsL; + gt23rhs[index] = gt23rhsL; + gt33rhs[index] = gt33rhsL; + phirhs[index] = phirhsL; + trKrhs[index] = trKrhsL; + Xt1rhs[index] = Xt1rhsL; + Xt2rhs[index] = Xt2rhsL; + Xt3rhs[index] = Xt3rhsL; + + /* Copy local copies back to subblock grid functions */ + } + LC_ENDLOOP3 (ML_BSSN_M_RHSStaticBoundary); +} + +void ML_BSSN_M_RHSStaticBoundary(CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + GenericFD_LoopOverBoundary(cctkGH, &ML_BSSN_M_RHSStaticBoundary_Body); +} diff --git a/ML_BSSN_M/src/ML_BSSN_M_boundary.c b/ML_BSSN_M/src/ML_BSSN_M_boundary.c index bdff955..a595567 100644 --- a/ML_BSSN_M/src/ML_BSSN_M_boundary.c +++ b/ML_BSSN_M/src/ML_BSSN_M_boundary.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN_M/src/ML_BSSN_M_constraints.c b/ML_BSSN_M/src/ML_BSSN_M_constraints.c index 7c0915b..6a115cb 100644 --- a/ML_BSSN_M/src/ML_BSSN_M_constraints.c +++ b/ML_BSSN_M/src/ML_BSSN_M_constraints.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN_M/src/ML_BSSN_M_constraints_boundary.c b/ML_BSSN_M/src/ML_BSSN_M_constraints_boundary.c index 6a63c15..fe86c8d 100644 --- a/ML_BSSN_M/src/ML_BSSN_M_constraints_boundary.c +++ b/ML_BSSN_M/src/ML_BSSN_M_constraints_boundary.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBase.c b/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBase.c index b3efdb3..fe01f4a 100644 --- a/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBase.c +++ b/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBase.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBaseGamma.c b/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBaseGamma.c index b47b7e4..3e2f266 100644 --- a/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBaseGamma.c +++ b/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBaseGamma.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN_M/src/ML_BSSN_M_convertToADMBase.c b/ML_BSSN_M/src/ML_BSSN_M_convertToADMBase.c index e5c48a1..d302b47 100644 --- a/ML_BSSN_M/src/ML_BSSN_M_convertToADMBase.c +++ b/ML_BSSN_M/src/ML_BSSN_M_convertToADMBase.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN_M/src/ML_BSSN_M_enforce.c b/ML_BSSN_M/src/ML_BSSN_M_enforce.c index fb5a99e..1d52880 100644 --- a/ML_BSSN_M/src/ML_BSSN_M_enforce.c +++ b/ML_BSSN_M/src/ML_BSSN_M_enforce.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C @@ -109,6 +106,7 @@ void ML_BSSN_M_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_I CCTK_REAL trAt = INITVALUE; /* Declare local copies of grid functions */ + CCTK_REAL alphaL = INITVALUE; CCTK_REAL At11L = INITVALUE, At12L = INITVALUE, At13L = INITVALUE, At22L = INITVALUE, At23L = INITVALUE, At33L = INITVALUE; CCTK_REAL gt11L = INITVALUE, gt12L = INITVALUE, gt13L = INITVALUE, gt22L = INITVALUE, gt23L = INITVALUE, gt33L = INITVALUE; /* Declare precomputed derivatives*/ @@ -116,6 +114,7 @@ void ML_BSSN_M_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_I /* Declare derivatives */ /* Assign local copies of grid functions */ + alphaL = alpha[index]; At11L = At11[index]; At12L = At12[index]; At13L = At13[index]; @@ -166,8 +165,11 @@ void ML_BSSN_M_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_I At33L = At33L - gt33L*kthird*trAt; + alphaL = fmax(alphaL,MinimumLapse); + /* Copy local copies back to grid functions */ + alpha[index] = alphaL; At11[index] = At11L; At12[index] = At12L; At13[index] = At13L; diff --git a/ML_BSSN_M/src/RegisterMoL.c b/ML_BSSN_M/src/RegisterMoL.c index 623f4fe..8cd1553 100644 --- a/ML_BSSN_M/src/RegisterMoL.c +++ b/ML_BSSN_M/src/RegisterMoL.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #include "cctk.h" #include "cctk_Arguments.h" diff --git a/ML_BSSN_M/src/RegisterSymmetries.c b/ML_BSSN_M/src/RegisterSymmetries.c index b8a4f23..1200325 100644 --- a/ML_BSSN_M/src/RegisterSymmetries.c +++ b/ML_BSSN_M/src/RegisterSymmetries.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #include "cctk.h" #include "cctk_Arguments.h" diff --git a/ML_BSSN_M/src/Startup.c b/ML_BSSN_M/src/Startup.c index ab3fee9..2f67a77 100644 --- a/ML_BSSN_M/src/Startup.c +++ b/ML_BSSN_M/src/Startup.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #include "cctk.h" diff --git a/ML_BSSN_M/src/make.code.defn b/ML_BSSN_M/src/make.code.defn index 6cbb469..058860e 100644 --- a/ML_BSSN_M/src/make.code.defn +++ b/ML_BSSN_M/src/make.code.defn @@ -1,6 +1,3 @@ -# File produced by user diener -# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) +# File produced by Kranc -# Mathematica script written by Ian Hinder and Sascha Husa - -SRCS = Startup.c RegisterMoL.c RegisterSymmetries.c ML_BSSN_M_Minkowski.c ML_BSSN_M_convertFromADMBase.c ML_BSSN_M_convertFromADMBaseGamma.c ML_BSSN_M_RHS.c ML_BSSN_M_RHSBoundary.c ML_BSSN_M_enforce.c ML_BSSN_M_boundary.c ML_BSSN_M_convertToADMBase.c ML_BSSN_M_ADMBaseBoundary.c ML_BSSN_M_constraints.c ML_BSSN_M_constraints_boundary.c Boundaries.c +SRCS = Startup.c RegisterMoL.c RegisterSymmetries.c ML_BSSN_M_Minkowski.c ML_BSSN_M_convertFromADMBase.c ML_BSSN_M_convertFromADMBaseGamma.c ML_BSSN_M_RHS.c ML_BSSN_M_RHSStaticBoundary.c ML_BSSN_M_RHSRadiativeBoundary.c ML_BSSN_M_enforce.c ML_BSSN_M_boundary.c ML_BSSN_M_convertToADMBase.c ML_BSSN_M_ADMBaseBoundary.c ML_BSSN_M_constraints.c ML_BSSN_M_constraints_boundary.c Boundaries.c diff --git a/ML_BSSN_MP/configuration.ccl b/ML_BSSN_MP/configuration.ccl index 105b1d2..8e2c3c5 100644 --- a/ML_BSSN_MP/configuration.ccl +++ b/ML_BSSN_MP/configuration.ccl @@ -1,7 +1,4 @@ -# File produced by user diener -# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) - -# Mathematica script written by Ian Hinder and Sascha Husa +# File produced by Kranc REQUIRES GenericFD REQUIRES LoopControl diff --git a/ML_BSSN_MP/interface.ccl b/ML_BSSN_MP/interface.ccl index c01c9be..dcb0074 100644 --- a/ML_BSSN_MP/interface.ccl +++ b/ML_BSSN_MP/interface.ccl @@ -1,7 +1,4 @@ -# File produced by user diener -# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) - -# Mathematica script written by Ian Hinder and Sascha Husa +# File produced by Kranc implements: ML_BSSN_MP @@ -62,76 +59,6 @@ CCTK_REAL ML_mom type=GF timelevels=1 tags='tensortypealias="D" tensorweight=1.0 } "ML_mom" public: -CCTK_REAL ML_curvrhs type=GF timelevels=1 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' -{ - At11rhs, - At12rhs, - At13rhs, - At22rhs, - At23rhs, - At33rhs -} "ML_curvrhs" - -public: -CCTK_REAL ML_dtlapserhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' -{ - Arhs -} "ML_dtlapserhs" - -public: -CCTK_REAL ML_dtshiftrhs type=GF timelevels=1 tags='tensortypealias="U" tensorweight=1.0000000000000000000' -{ - B1rhs, - B2rhs, - B3rhs -} "ML_dtshiftrhs" - -public: -CCTK_REAL ML_Gammarhs type=GF timelevels=1 tags='tensortypealias="U" tensorweight=0.66666666666666666667' -{ - Xt1rhs, - Xt2rhs, - Xt3rhs -} "ML_Gammarhs" - -public: -CCTK_REAL ML_lapserhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' -{ - alpharhs -} "ML_lapserhs" - -public: -CCTK_REAL ML_log_confacrhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=0.16666666666666666667' -{ - phirhs -} "ML_log_confacrhs" - -public: -CCTK_REAL ML_metricrhs type=GF timelevels=1 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' -{ - gt11rhs, - gt12rhs, - gt13rhs, - gt22rhs, - gt23rhs, - gt33rhs -} "ML_metricrhs" - -public: -CCTK_REAL ML_shiftrhs type=GF timelevels=1 tags='tensortypealias="U" tensorweight=1.0000000000000000000' -{ - beta1rhs, - beta2rhs, - beta3rhs -} "ML_shiftrhs" - -public: -CCTK_REAL ML_trace_curvrhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' -{ - trKrhs -} "ML_trace_curvrhs" - -public: CCTK_REAL ML_curv type=GF timelevels=3 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' { At11, @@ -200,3 +127,73 @@ CCTK_REAL ML_trace_curv type=GF timelevels=3 tags='tensortypealias="Scalar" tens { trK } "ML_trace_curv" + +public: +CCTK_REAL ML_curvrhs type=GF timelevels=3 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' +{ + At11rhs, + At12rhs, + At13rhs, + At22rhs, + At23rhs, + At33rhs +} "ML_curvrhs" + +public: +CCTK_REAL ML_dtlapserhs type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +{ + Arhs +} "ML_dtlapserhs" + +public: +CCTK_REAL ML_dtshiftrhs type=GF timelevels=3 tags='tensortypealias="U" tensorweight=1.0000000000000000000' +{ + B1rhs, + B2rhs, + B3rhs +} "ML_dtshiftrhs" + +public: +CCTK_REAL ML_Gammarhs type=GF timelevels=3 tags='tensortypealias="U" tensorweight=0.66666666666666666667' +{ + Xt1rhs, + Xt2rhs, + Xt3rhs +} "ML_Gammarhs" + +public: +CCTK_REAL ML_lapserhs type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +{ + alpharhs +} "ML_lapserhs" + +public: +CCTK_REAL ML_log_confacrhs type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=0.16666666666666666667' +{ + phirhs +} "ML_log_confacrhs" + +public: +CCTK_REAL ML_metricrhs type=GF timelevels=3 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' +{ + gt11rhs, + gt12rhs, + gt13rhs, + gt22rhs, + gt23rhs, + gt33rhs +} "ML_metricrhs" + +public: +CCTK_REAL ML_shiftrhs type=GF timelevels=3 tags='tensortypealias="U" tensorweight=1.0000000000000000000' +{ + beta1rhs, + beta2rhs, + beta3rhs +} "ML_shiftrhs" + +public: +CCTK_REAL ML_trace_curvrhs type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +{ + trKrhs +} "ML_trace_curvrhs" diff --git a/ML_BSSN_MP/param.ccl b/ML_BSSN_MP/param.ccl index 27248c8..ee2f759 100644 --- a/ML_BSSN_MP/param.ccl +++ b/ML_BSSN_MP/param.ccl @@ -1,7 +1,4 @@ -# File produced by user diener -# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) - -# Mathematica script written by Ian Hinder and Sascha Husa +# File produced by Kranc shares: ADMBase @@ -88,6 +85,12 @@ CCTK_REAL ShiftAdvectionCoeff "Factor in front of the shift advection terms in g } 1 restricted: +CCTK_REAL MinimumLapse "Minimum value of the lapse function" +{ + "*:*" :: "" +} -1 + +restricted: CCTK_INT harmonicN "d/dt alpha = - f alpha^n K (harmonic=2, 1+log=1)" { *:* :: "" @@ -113,9 +116,16 @@ KEYWORD my_initial_data "my_initial_data" } "ADMBase" restricted: +KEYWORD my_initial_boundary_condition "my_initial_boundary_condition" +{ + "none" :: "none" +} "none" + +restricted: KEYWORD my_rhs_boundary_condition "my_rhs_boundary_condition" { "none" :: "none" + "static" :: "static" "radiative" :: "radiative" } "none" @@ -147,6 +157,12 @@ CCTK_INT timelevels "Number of active timelevels" } 3 restricted: +CCTK_INT rhs_timelevels "Number of active RHS timelevels" +{ + 0:3 :: "" +} 1 + +restricted: CCTK_INT ML_BSSN_MP_Minkowski_calc_every "ML_BSSN_MP_Minkowski_calc_every" { *:* :: "" @@ -171,7 +187,13 @@ CCTK_INT ML_BSSN_MP_RHS_calc_every "ML_BSSN_MP_RHS_calc_every" } 1 restricted: -CCTK_INT ML_BSSN_MP_RHSBoundary_calc_every "ML_BSSN_MP_RHSBoundary_calc_every" +CCTK_INT ML_BSSN_MP_RHSStaticBoundary_calc_every "ML_BSSN_MP_RHSStaticBoundary_calc_every" +{ + *:* :: "" +} 1 + +restricted: +CCTK_INT ML_BSSN_MP_RHSRadiativeBoundary_calc_every "ML_BSSN_MP_RHSRadiativeBoundary_calc_every" { *:* :: "" } 1 @@ -237,7 +259,13 @@ CCTK_INT ML_BSSN_MP_RHS_calc_offset "ML_BSSN_MP_RHS_calc_offset" } 0 restricted: -CCTK_INT ML_BSSN_MP_RHSBoundary_calc_offset "ML_BSSN_MP_RHSBoundary_calc_offset" +CCTK_INT ML_BSSN_MP_RHSStaticBoundary_calc_offset "ML_BSSN_MP_RHSStaticBoundary_calc_offset" +{ + *:* :: "" +} 0 + +restricted: +CCTK_INT ML_BSSN_MP_RHSRadiativeBoundary_calc_offset "ML_BSSN_MP_RHSRadiativeBoundary_calc_offset" { *:* :: "" } 0 diff --git a/ML_BSSN_MP/schedule.ccl b/ML_BSSN_MP/schedule.ccl index 414d395..0da5b5e 100644 --- a/ML_BSSN_MP/schedule.ccl +++ b/ML_BSSN_MP/schedule.ccl @@ -1,7 +1,4 @@ -# File produced by user diener -# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) - -# Mathematica script written by Ian Hinder and Sascha Husa +# File produced by Kranc STORAGE: ML_cons_detg[1] @@ -14,24 +11,6 @@ STORAGE: ML_Ham[1] STORAGE: ML_mom[1] -STORAGE: ML_curvrhs[1] - -STORAGE: ML_dtlapserhs[1] - -STORAGE: ML_dtshiftrhs[1] - -STORAGE: ML_Gammarhs[1] - -STORAGE: ML_lapserhs[1] - -STORAGE: ML_log_confacrhs[1] - -STORAGE: ML_metricrhs[1] - -STORAGE: ML_shiftrhs[1] - -STORAGE: ML_trace_curvrhs[1] - if (timelevels == 1) { STORAGE: ML_curv[1] @@ -149,6 +128,123 @@ if (timelevels == 3) STORAGE: ML_trace_curv[3] } +if (rhs_timelevels == 1) +{ + STORAGE: ML_curvrhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_curvrhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_curvrhs[3] +} + +if (rhs_timelevels == 1) +{ + STORAGE: ML_dtlapserhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_dtlapserhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_dtlapserhs[3] +} + +if (rhs_timelevels == 1) +{ + STORAGE: ML_dtshiftrhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_dtshiftrhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_dtshiftrhs[3] +} + +if (rhs_timelevels == 1) +{ + STORAGE: ML_Gammarhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_Gammarhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_Gammarhs[3] +} + +if (rhs_timelevels == 1) +{ + STORAGE: ML_lapserhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_lapserhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_lapserhs[3] +} + +if (rhs_timelevels == 1) +{ + STORAGE: ML_log_confacrhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_log_confacrhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_log_confacrhs[3] +} + +if (rhs_timelevels == 1) +{ + STORAGE: ML_metricrhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_metricrhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_metricrhs[3] +} + +if (rhs_timelevels == 1) +{ + STORAGE: ML_shiftrhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_shiftrhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_shiftrhs[3] +} + +if (rhs_timelevels == 1) +{ + STORAGE: ML_trace_curvrhs[1] +} +if (rhs_timelevels == 2) +{ + STORAGE: ML_trace_curvrhs[2] +} +if (rhs_timelevels == 3) +{ + STORAGE: ML_trace_curvrhs[3] +} + schedule ML_BSSN_MP_Startup at STARTUP { LANG: C @@ -212,12 +308,21 @@ schedule ML_BSSN_MP_RHS IN ML_BSSN_MP_evolCalcGroup } "ML_BSSN_MP_RHS" +if (CCTK_EQUALS(my_rhs_boundary_condition, "static")) +{ + schedule ML_BSSN_MP_RHSStaticBoundary IN MoL_CalcRHS + { + LANG: C + } "ML_BSSN_MP_RHSStaticBoundary" +} + + if (CCTK_EQUALS(my_rhs_boundary_condition, "radiative")) { - schedule ML_BSSN_MP_RHSBoundary IN MoL_RHSBoundaries + schedule ML_BSSN_MP_RHSRadiativeBoundary IN MoL_CalcRHS { LANG: C - } "ML_BSSN_MP_RHSBoundary" + } "ML_BSSN_MP_RHSRadiativeBoundary" } schedule ML_BSSN_MP_enforce IN MoL_PostStep BEFORE ML_BSSN_MP_BoundConds @@ -265,7 +370,7 @@ schedule ML_BSSN_MP_constraints_boundary IN ML_BSSN_MP_constraintsCalcGroup AFTE LANG: C } "ML_BSSN_MP_constraints_boundary" -schedule ML_BSSN_MP_ApplyBoundConds in MoL_PostStep +schedule ML_BSSN_MP_SelectBoundConds in MoL_PostStep { LANG: C OPTIONS: level @@ -278,7 +383,7 @@ schedule ML_BSSN_MP_ApplyBoundConds in MoL_PostStep SYNC: ML_metric SYNC: ML_shift SYNC: ML_trace_curv -} "apply boundary conditions" +} "select boundary conditions" schedule ML_BSSN_MP_CheckBoundaries at BASEGRID { @@ -286,7 +391,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_ApplyBoundConds +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/Boundaries.c b/ML_BSSN_MP/src/Boundaries.c index af1b176..f4b4ef5 100644 --- a/ML_BSSN_MP/src/Boundaries.c +++ b/ML_BSSN_MP/src/Boundaries.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #include "cctk.h" #include "cctk_Arguments.h" @@ -28,7 +25,7 @@ void ML_BSSN_MP_CheckBoundaries(CCTK_ARGUMENTS) return; } -void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) +void ML_BSSN_MP_SelectBoundConds(CCTK_ARGUMENTS) { DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; @@ -411,7 +408,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_curv_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_curv_bound = -1; if (handle_ML_curv_bound < 0) handle_ML_curv_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_curv_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -430,7 +427,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_dtlapse_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_dtlapse_bound = -1; if (handle_ML_dtlapse_bound < 0) handle_ML_dtlapse_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_dtlapse_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -449,7 +446,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_dtshift_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_dtshift_bound = -1; if (handle_ML_dtshift_bound < 0) handle_ML_dtshift_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_dtshift_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -468,7 +465,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_Gamma_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_Gamma_bound = -1; if (handle_ML_Gamma_bound < 0) handle_ML_Gamma_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_Gamma_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -487,7 +484,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_lapse_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_lapse_bound = -1; if (handle_ML_lapse_bound < 0) handle_ML_lapse_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_lapse_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -506,7 +503,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_log_confac_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_log_confac_bound = -1; if (handle_ML_log_confac_bound < 0) handle_ML_log_confac_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_log_confac_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -525,7 +522,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_metric_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_metric_bound = -1; if (handle_ML_metric_bound < 0) handle_ML_metric_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_metric_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -544,7 +541,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_shift_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_shift_bound = -1; if (handle_ML_shift_bound < 0) handle_ML_shift_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_shift_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -563,7 +560,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_trace_curv_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_ML_trace_curv_bound = -1; if (handle_ML_trace_curv_bound < 0) handle_ML_trace_curv_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_trace_curv_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -582,7 +579,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At11_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_At11_bound = -1; if (handle_At11_bound < 0) handle_At11_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At11_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -601,7 +598,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At12_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_At12_bound = -1; if (handle_At12_bound < 0) handle_At12_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At12_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -620,7 +617,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At13_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_At13_bound = -1; if (handle_At13_bound < 0) handle_At13_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At13_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -639,7 +636,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At22_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_At22_bound = -1; if (handle_At22_bound < 0) handle_At22_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At22_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -658,7 +655,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At23_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_At23_bound = -1; if (handle_At23_bound < 0) handle_At23_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At23_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -677,7 +674,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At33_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_At33_bound = -1; if (handle_At33_bound < 0) handle_At33_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At33_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -696,7 +693,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(A_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_A_bound = -1; if (handle_A_bound < 0) handle_A_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_A_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -715,7 +712,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B1_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_B1_bound = -1; if (handle_B1_bound < 0) handle_B1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B1_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -734,7 +731,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B2_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_B2_bound = -1; if (handle_B2_bound < 0) handle_B2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B2_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -753,7 +750,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B3_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_B3_bound = -1; if (handle_B3_bound < 0) handle_B3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B3_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -772,7 +769,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt1_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_Xt1_bound = -1; if (handle_Xt1_bound < 0) handle_Xt1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt1_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -791,7 +788,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt2_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_Xt2_bound = -1; if (handle_Xt2_bound < 0) handle_Xt2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt2_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -810,7 +807,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt3_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_Xt3_bound = -1; if (handle_Xt3_bound < 0) handle_Xt3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt3_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -829,7 +826,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(alpha_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_alpha_bound = -1; if (handle_alpha_bound < 0) handle_alpha_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_alpha_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -848,7 +845,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(phi_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_phi_bound = -1; if (handle_phi_bound < 0) handle_phi_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_phi_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -867,7 +864,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt11_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_gt11_bound = -1; if (handle_gt11_bound < 0) handle_gt11_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt11_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -886,7 +883,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt12_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_gt12_bound = -1; if (handle_gt12_bound < 0) handle_gt12_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt12_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -905,7 +902,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt13_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_gt13_bound = -1; if (handle_gt13_bound < 0) handle_gt13_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt13_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -924,7 +921,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt22_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_gt22_bound = -1; if (handle_gt22_bound < 0) handle_gt22_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt22_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -943,7 +940,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt23_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_gt23_bound = -1; if (handle_gt23_bound < 0) handle_gt23_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt23_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -962,7 +959,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt33_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_gt33_bound = -1; if (handle_gt33_bound < 0) handle_gt33_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt33_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -981,7 +978,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(beta1_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_beta1_bound = -1; if (handle_beta1_bound < 0) handle_beta1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_beta1_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1000,7 +997,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(beta2_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_beta2_bound = -1; if (handle_beta2_bound < 0) handle_beta2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_beta2_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1019,7 +1016,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(beta3_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_beta3_bound = -1; if (handle_beta3_bound < 0) handle_beta3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_beta3_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1038,7 +1035,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(trK_bound, "radiative")) { - /* apply radiation boundary condition */ + /* select radiation boundary condition */ static CCTK_INT handle_trK_bound = -1; if (handle_trK_bound < 0) handle_trK_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_trK_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1057,7 +1054,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_curv_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_curv_bound = -1; if (handle_ML_curv_bound < 0) handle_ML_curv_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_curv_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1074,7 +1071,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_dtlapse_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_dtlapse_bound = -1; if (handle_ML_dtlapse_bound < 0) handle_ML_dtlapse_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_dtlapse_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1091,7 +1088,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_dtshift_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_dtshift_bound = -1; if (handle_ML_dtshift_bound < 0) handle_ML_dtshift_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_dtshift_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1108,7 +1105,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_Gamma_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_Gamma_bound = -1; if (handle_ML_Gamma_bound < 0) handle_ML_Gamma_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_Gamma_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1125,7 +1122,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_lapse_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_lapse_bound = -1; if (handle_ML_lapse_bound < 0) handle_ML_lapse_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_lapse_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1142,7 +1139,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_log_confac_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_log_confac_bound = -1; if (handle_ML_log_confac_bound < 0) handle_ML_log_confac_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_log_confac_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1159,7 +1156,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_metric_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_metric_bound = -1; if (handle_ML_metric_bound < 0) handle_ML_metric_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_metric_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1176,7 +1173,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_shift_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_shift_bound = -1; if (handle_ML_shift_bound < 0) handle_ML_shift_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_shift_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1193,7 +1190,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_trace_curv_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_ML_trace_curv_bound = -1; if (handle_ML_trace_curv_bound < 0) handle_ML_trace_curv_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_trace_curv_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1210,7 +1207,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At11_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_At11_bound = -1; if (handle_At11_bound < 0) handle_At11_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At11_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1227,7 +1224,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At12_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_At12_bound = -1; if (handle_At12_bound < 0) handle_At12_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At12_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1244,7 +1241,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At13_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_At13_bound = -1; if (handle_At13_bound < 0) handle_At13_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At13_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1261,7 +1258,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At22_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_At22_bound = -1; if (handle_At22_bound < 0) handle_At22_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At22_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1278,7 +1275,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At23_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_At23_bound = -1; if (handle_At23_bound < 0) handle_At23_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At23_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1295,7 +1292,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At33_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_At33_bound = -1; if (handle_At33_bound < 0) handle_At33_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At33_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1312,7 +1309,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(A_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_A_bound = -1; if (handle_A_bound < 0) handle_A_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_A_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1329,7 +1326,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B1_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_B1_bound = -1; if (handle_B1_bound < 0) handle_B1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B1_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1346,7 +1343,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B2_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_B2_bound = -1; if (handle_B2_bound < 0) handle_B2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B2_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1363,7 +1360,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B3_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_B3_bound = -1; if (handle_B3_bound < 0) handle_B3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B3_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1380,7 +1377,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt1_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_Xt1_bound = -1; if (handle_Xt1_bound < 0) handle_Xt1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt1_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1397,7 +1394,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt2_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_Xt2_bound = -1; if (handle_Xt2_bound < 0) handle_Xt2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt2_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1414,7 +1411,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt3_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_Xt3_bound = -1; if (handle_Xt3_bound < 0) handle_Xt3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt3_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1431,7 +1428,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(alpha_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_alpha_bound = -1; if (handle_alpha_bound < 0) handle_alpha_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_alpha_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1448,7 +1445,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(phi_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_phi_bound = -1; if (handle_phi_bound < 0) handle_phi_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_phi_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1465,7 +1462,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt11_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_gt11_bound = -1; if (handle_gt11_bound < 0) handle_gt11_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt11_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1482,7 +1479,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt12_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_gt12_bound = -1; if (handle_gt12_bound < 0) handle_gt12_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt12_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1499,7 +1496,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt13_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_gt13_bound = -1; if (handle_gt13_bound < 0) handle_gt13_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt13_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1516,7 +1513,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt22_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_gt22_bound = -1; if (handle_gt22_bound < 0) handle_gt22_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt22_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1533,7 +1530,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt23_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_gt23_bound = -1; if (handle_gt23_bound < 0) handle_gt23_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt23_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1550,7 +1547,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt33_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_gt33_bound = -1; if (handle_gt33_bound < 0) handle_gt33_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt33_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1567,7 +1564,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(beta1_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_beta1_bound = -1; if (handle_beta1_bound < 0) handle_beta1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_beta1_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1584,7 +1581,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(beta2_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_beta2_bound = -1; if (handle_beta2_bound < 0) handle_beta2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_beta2_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1601,7 +1598,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(beta3_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_beta3_bound = -1; if (handle_beta3_bound < 0) handle_beta3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_beta3_bound < 0) CCTK_WARN(0, "could not create table!"); @@ -1618,7 +1615,7 @@ void ML_BSSN_MP_ApplyBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(trK_bound, "scalar")) { - /* apply scalar boundary condition */ + /* select scalar boundary condition */ static CCTK_INT handle_trK_bound = -1; if (handle_trK_bound < 0) handle_trK_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_trK_bound < 0) CCTK_WARN(0, "could not create table!"); diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_ADMBaseBoundary.c b/ML_BSSN_MP/src/ML_BSSN_MP_ADMBaseBoundary.c index 49ad2a0..92f7d64 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_ADMBaseBoundary.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_ADMBaseBoundary.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_Minkowski.c b/ML_BSSN_MP/src/ML_BSSN_MP_Minkowski.c index 3a5ba00..579d679 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_Minkowski.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_Minkowski.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_RHS.c b/ML_BSSN_MP/src/ML_BSSN_MP_RHS.c index ee84299..a0196c7 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_RHS.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_RHS.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_RHSBoundary.c b/ML_BSSN_MP/src/ML_BSSN_MP_RHSRadiativeBoundary.c index 949ad3f..cb3a8ca 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_RHSBoundary.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_RHSRadiativeBoundary.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C @@ -23,7 +20,7 @@ #define CUB(x) ((x) * (x) * (x)) #define QAD(x) ((x) * (x) * (x) * (x)) -void ML_BSSN_MP_RHSBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], CCTK_INT const min[3], CCTK_INT const max[3], CCTK_INT const n_subblock_gfs, CCTK_REAL * const subblock_gfs[]) +void ML_BSSN_MP_RHSRadiativeBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], CCTK_INT const min[3], CCTK_INT const max[3], CCTK_INT const n_subblock_gfs, CCTK_REAL * const subblock_gfs[]) { DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; @@ -52,10 +49,10 @@ void ML_BSSN_MP_RHSBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, C if (verbose > 1) { - CCTK_VInfo(CCTK_THORNSTRING,"Entering ML_BSSN_MP_RHSBoundary_Body"); + CCTK_VInfo(CCTK_THORNSTRING,"Entering ML_BSSN_MP_RHSRadiativeBoundary_Body"); } - if (cctk_iteration % ML_BSSN_MP_RHSBoundary_calc_every != ML_BSSN_MP_RHSBoundary_calc_offset) + if (cctk_iteration % ML_BSSN_MP_RHSRadiativeBoundary_calc_every != ML_BSSN_MP_RHSRadiativeBoundary_calc_offset) { return; } @@ -94,7 +91,7 @@ void ML_BSSN_MP_RHSBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, C /* Loop over the grid points */ #pragma omp parallel - LC_LOOP3 (ML_BSSN_MP_RHSBoundary, + LC_LOOP3 (ML_BSSN_MP_RHSRadiativeBoundary, i,j,k, min[0],min[1],min[2], max[0],max[1],max[2], cctk_lsh[0],cctk_lsh[1],cctk_lsh[2]) { @@ -367,13 +364,13 @@ void ML_BSSN_MP_RHSBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, C /* Copy local copies back to subblock grid functions */ } - LC_ENDLOOP3 (ML_BSSN_MP_RHSBoundary); + LC_ENDLOOP3 (ML_BSSN_MP_RHSRadiativeBoundary); } -void ML_BSSN_MP_RHSBoundary(CCTK_ARGUMENTS) +void ML_BSSN_MP_RHSRadiativeBoundary(CCTK_ARGUMENTS) { DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - GenericFD_LoopOverBoundary(cctkGH, &ML_BSSN_MP_RHSBoundary_Body); + GenericFD_LoopOverBoundary(cctkGH, &ML_BSSN_MP_RHSRadiativeBoundary_Body); } diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_RHSStaticBoundary.c b/ML_BSSN_MP/src/ML_BSSN_MP_RHSStaticBoundary.c new file mode 100644 index 0000000..51f7cf4 --- /dev/null +++ b/ML_BSSN_MP/src/ML_BSSN_MP_RHSStaticBoundary.c @@ -0,0 +1,219 @@ +/* File produced by Kranc */ + +#define KRANC_C + +#include <assert.h> +#include <math.h> +#include <stdio.h> +#include <stdlib.h> +#include "cctk.h" +#include "cctk_Arguments.h" +#include "cctk_Parameters.h" +#include "GenericFD.h" +#include "Differencing.h" +#include "loopcontrol.h" + +/* Define macros used in calculations */ +#define INITVALUE (42) +#define INV(x) ((1.0) / (x)) +#define SQR(x) ((x) * (x)) +#define CUB(x) ((x) * (x) * (x)) +#define QAD(x) ((x) * (x) * (x) * (x)) + +void ML_BSSN_MP_RHSStaticBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], CCTK_INT const min[3], CCTK_INT const max[3], CCTK_INT const n_subblock_gfs, CCTK_REAL * const subblock_gfs[]) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + + /* Declare finite differencing variables */ + CCTK_REAL dx = INITVALUE, dy = INITVALUE, dz = INITVALUE; + CCTK_REAL dxi = INITVALUE, dyi = INITVALUE, dzi = INITVALUE; + CCTK_REAL khalf = INITVALUE, kthird = INITVALUE, ktwothird = INITVALUE, kfourthird = INITVALUE, keightthird = INITVALUE; + CCTK_REAL hdxi = INITVALUE, hdyi = INITVALUE, hdzi = INITVALUE; + + + /* Declare predefined quantities */ + CCTK_REAL p1o12dx = INITVALUE; + CCTK_REAL p1o12dy = INITVALUE; + CCTK_REAL p1o12dz = INITVALUE; + CCTK_REAL p1o144dxdy = INITVALUE; + CCTK_REAL p1o144dxdz = INITVALUE; + CCTK_REAL p1o144dydz = INITVALUE; + CCTK_REAL p1odx = INITVALUE; + CCTK_REAL p1ody = INITVALUE; + CCTK_REAL p1odz = INITVALUE; + CCTK_REAL pm1o12dx2 = INITVALUE; + CCTK_REAL pm1o12dy2 = INITVALUE; + CCTK_REAL pm1o12dz2 = INITVALUE; + + if (verbose > 1) + { + CCTK_VInfo(CCTK_THORNSTRING,"Entering ML_BSSN_MP_RHSStaticBoundary_Body"); + } + + if (cctk_iteration % ML_BSSN_MP_RHSStaticBoundary_calc_every != ML_BSSN_MP_RHSStaticBoundary_calc_offset) + { + return; + } + + /* Include user-supplied include files */ + + /* Initialise finite differencing variables */ + dx = CCTK_DELTA_SPACE(0); + dy = CCTK_DELTA_SPACE(1); + dz = CCTK_DELTA_SPACE(2); + dxi = 1.0 / dx; + dyi = 1.0 / dy; + dzi = 1.0 / dz; + khalf = 0.5; + kthird = 1/3.0; + ktwothird = 2.0/3.0; + kfourthird = 4.0/3.0; + keightthird = 8.0/3.0; + hdxi = 0.5 * dxi; + hdyi = 0.5 * dyi; + hdzi = 0.5 * dzi; + + /* Initialize predefined quantities */ + p1o12dx = INV(dx)/12.; + p1o12dy = INV(dy)/12.; + p1o12dz = INV(dz)/12.; + p1o144dxdy = (INV(dx)*INV(dy))/144.; + p1o144dxdz = (INV(dx)*INV(dz))/144.; + p1o144dydz = (INV(dy)*INV(dz))/144.; + p1odx = INV(dx); + p1ody = INV(dy); + p1odz = INV(dz); + pm1o12dx2 = -pow(dx,-2)/12.; + pm1o12dy2 = -pow(dy,-2)/12.; + pm1o12dz2 = -pow(dz,-2)/12.; + + /* Loop over the grid points */ + #pragma omp parallel + LC_LOOP3 (ML_BSSN_MP_RHSStaticBoundary, + i,j,k, min[0],min[1],min[2], max[0],max[1],max[2], + cctk_lsh[0],cctk_lsh[1],cctk_lsh[2]) + { + int index = INITVALUE; + int subblock_index = INITVALUE; + index = CCTK_GFINDEX3D(cctkGH,i,j,k); + subblock_index = i - min[0] + (max[0] - min[0]) * (j - min[1] + (max[1]-min[1]) * (k - min[2])); + + /* Declare shorthands */ + + /* Declare local copies of grid functions */ + CCTK_REAL alpharhsL = INITVALUE; + CCTK_REAL ArhsL = INITVALUE; + CCTK_REAL At11rhsL = INITVALUE, At12rhsL = INITVALUE, At13rhsL = INITVALUE, At22rhsL = INITVALUE, At23rhsL = INITVALUE, At33rhsL = INITVALUE; + CCTK_REAL B1rhsL = INITVALUE, B2rhsL = INITVALUE, B3rhsL = INITVALUE; + CCTK_REAL beta1rhsL = INITVALUE, beta2rhsL = INITVALUE, beta3rhsL = INITVALUE; + CCTK_REAL gt11rhsL = INITVALUE, gt12rhsL = INITVALUE, gt13rhsL = INITVALUE, gt22rhsL = INITVALUE, gt23rhsL = INITVALUE, gt33rhsL = INITVALUE; + CCTK_REAL phirhsL = INITVALUE; + CCTK_REAL trKrhsL = INITVALUE; + CCTK_REAL Xt1rhsL = INITVALUE, Xt2rhsL = INITVALUE, Xt3rhsL = INITVALUE; + /* Declare precomputed derivatives*/ + + /* Declare derivatives */ + + /* Assign local copies of grid functions */ + + /* Assign local copies of subblock grid functions */ + + /* Include user supplied include files */ + + /* Precompute derivatives (new style) */ + + /* Precompute derivatives (old style) */ + + /* Calculate temporaries and grid functions */ + phirhsL = 0; + + gt11rhsL = 0; + + gt12rhsL = 0; + + gt13rhsL = 0; + + gt22rhsL = 0; + + gt23rhsL = 0; + + gt33rhsL = 0; + + trKrhsL = 0; + + At11rhsL = 0; + + At12rhsL = 0; + + At13rhsL = 0; + + At22rhsL = 0; + + At23rhsL = 0; + + At33rhsL = 0; + + Xt1rhsL = 0; + + Xt2rhsL = 0; + + Xt3rhsL = 0; + + alpharhsL = 0; + + ArhsL = 0; + + beta1rhsL = 0; + + beta2rhsL = 0; + + beta3rhsL = 0; + + B1rhsL = 0; + + B2rhsL = 0; + + B3rhsL = 0; + + + /* Copy local copies back to grid functions */ + alpharhs[index] = alpharhsL; + Arhs[index] = ArhsL; + At11rhs[index] = At11rhsL; + At12rhs[index] = At12rhsL; + At13rhs[index] = At13rhsL; + At22rhs[index] = At22rhsL; + At23rhs[index] = At23rhsL; + At33rhs[index] = At33rhsL; + B1rhs[index] = B1rhsL; + B2rhs[index] = B2rhsL; + B3rhs[index] = B3rhsL; + beta1rhs[index] = beta1rhsL; + beta2rhs[index] = beta2rhsL; + beta3rhs[index] = beta3rhsL; + gt11rhs[index] = gt11rhsL; + gt12rhs[index] = gt12rhsL; + gt13rhs[index] = gt13rhsL; + gt22rhs[index] = gt22rhsL; + gt23rhs[index] = gt23rhsL; + gt33rhs[index] = gt33rhsL; + phirhs[index] = phirhsL; + trKrhs[index] = trKrhsL; + Xt1rhs[index] = Xt1rhsL; + Xt2rhs[index] = Xt2rhsL; + Xt3rhs[index] = Xt3rhsL; + + /* Copy local copies back to subblock grid functions */ + } + LC_ENDLOOP3 (ML_BSSN_MP_RHSStaticBoundary); +} + +void ML_BSSN_MP_RHSStaticBoundary(CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + GenericFD_LoopOverBoundary(cctkGH, &ML_BSSN_MP_RHSStaticBoundary_Body); +} diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_boundary.c b/ML_BSSN_MP/src/ML_BSSN_MP_boundary.c index 14edca2..6176e8e 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_boundary.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_boundary.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_constraints.c b/ML_BSSN_MP/src/ML_BSSN_MP_constraints.c index 87eb457..b5ee042 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_constraints.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_constraints.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_constraints_boundary.c b/ML_BSSN_MP/src/ML_BSSN_MP_constraints_boundary.c index e1db6a7..efa3750 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_constraints_boundary.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_constraints_boundary.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBase.c b/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBase.c index 6512ba0..aa8a4f1 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBase.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBase.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c b/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c index f05d71f..a7c4713 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBase.c b/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBase.c index 75043e8..d6ac909 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBase.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBase.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_enforce.c b/ML_BSSN_MP/src/ML_BSSN_MP_enforce.c index 27db300..d32fc26 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_enforce.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_enforce.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #define KRANC_C @@ -109,6 +106,7 @@ void ML_BSSN_MP_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_ CCTK_REAL trAt = INITVALUE; /* Declare local copies of grid functions */ + CCTK_REAL alphaL = INITVALUE; CCTK_REAL At11L = INITVALUE, At12L = INITVALUE, At13L = INITVALUE, At22L = INITVALUE, At23L = INITVALUE, At33L = INITVALUE; CCTK_REAL gt11L = INITVALUE, gt12L = INITVALUE, gt13L = INITVALUE, gt22L = INITVALUE, gt23L = INITVALUE, gt33L = INITVALUE; /* Declare precomputed derivatives*/ @@ -116,6 +114,7 @@ void ML_BSSN_MP_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_ /* Declare derivatives */ /* Assign local copies of grid functions */ + alphaL = alpha[index]; At11L = At11[index]; At12L = At12[index]; At13L = At13[index]; @@ -166,8 +165,11 @@ void ML_BSSN_MP_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_ At33L = At33L - gt33L*kthird*trAt; + alphaL = fmax(alphaL,MinimumLapse); + /* Copy local copies back to grid functions */ + alpha[index] = alphaL; At11[index] = At11L; At12[index] = At12L; At13[index] = At13L; diff --git a/ML_BSSN_MP/src/RegisterMoL.c b/ML_BSSN_MP/src/RegisterMoL.c index 38a9daa..c92e848 100644 --- a/ML_BSSN_MP/src/RegisterMoL.c +++ b/ML_BSSN_MP/src/RegisterMoL.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #include "cctk.h" #include "cctk_Arguments.h" diff --git a/ML_BSSN_MP/src/RegisterSymmetries.c b/ML_BSSN_MP/src/RegisterSymmetries.c index 9deac3b..e2081a6 100644 --- a/ML_BSSN_MP/src/RegisterSymmetries.c +++ b/ML_BSSN_MP/src/RegisterSymmetries.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #include "cctk.h" #include "cctk_Arguments.h" diff --git a/ML_BSSN_MP/src/Startup.c b/ML_BSSN_MP/src/Startup.c index ef671de..98a9498 100644 --- a/ML_BSSN_MP/src/Startup.c +++ b/ML_BSSN_MP/src/Startup.c @@ -1,7 +1,4 @@ -/* File produced by user diener */ -/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ - -/* Mathematica script written by Ian Hinder and Sascha Husa */ +/* File produced by Kranc */ #include "cctk.h" diff --git a/ML_BSSN_MP/src/make.code.defn b/ML_BSSN_MP/src/make.code.defn index 5d7cbfc..77b0983 100644 --- a/ML_BSSN_MP/src/make.code.defn +++ b/ML_BSSN_MP/src/make.code.defn @@ -1,6 +1,3 @@ -# File produced by user diener -# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) +# File produced by Kranc -# Mathematica script written by Ian Hinder and Sascha Husa - -SRCS = Startup.c RegisterMoL.c RegisterSymmetries.c ML_BSSN_MP_Minkowski.c ML_BSSN_MP_convertFromADMBase.c ML_BSSN_MP_convertFromADMBaseGamma.c ML_BSSN_MP_RHS.c ML_BSSN_MP_RHSBoundary.c ML_BSSN_MP_enforce.c ML_BSSN_MP_boundary.c ML_BSSN_MP_convertToADMBase.c ML_BSSN_MP_ADMBaseBoundary.c ML_BSSN_MP_constraints.c ML_BSSN_MP_constraints_boundary.c Boundaries.c +SRCS = Startup.c RegisterMoL.c RegisterSymmetries.c ML_BSSN_MP_Minkowski.c ML_BSSN_MP_convertFromADMBase.c ML_BSSN_MP_convertFromADMBaseGamma.c ML_BSSN_MP_RHS.c ML_BSSN_MP_RHSStaticBoundary.c ML_BSSN_MP_RHSRadiativeBoundary.c ML_BSSN_MP_enforce.c ML_BSSN_MP_boundary.c ML_BSSN_MP_convertToADMBase.c ML_BSSN_MP_ADMBaseBoundary.c ML_BSSN_MP_constraints.c ML_BSSN_MP_constraints_boundary.c Boundaries.c diff --git a/ML_BSSN_MP_Helper/param.ccl b/ML_BSSN_MP_Helper/param.ccl index 44b932d..b7ab293 100644 --- a/ML_BSSN_MP_Helper/param.ccl +++ b/ML_BSSN_MP_Helper/param.ccl @@ -17,10 +17,15 @@ USES CCTK_INT boundary_width SHARES: ML_BSSN_MP USES CCTK_INT timelevels +USES CCTK_INT rhs_timelevels USES KEYWORD calculate_ADMBase_variables_at USES CCTK_REAL harmonicF +EXTENDS KEYWORD my_initial_boundary_condition +{ + "extrapolate-gammas" :: "extrapolate-gammas" +} EXTENDS KEYWORD my_rhs_boundary_condition { "NewRad" :: "NewRad" diff --git a/ML_BSSN_MP_Helper/schedule.ccl b/ML_BSSN_MP_Helper/schedule.ccl index 7826969..43a9394 100644 --- a/ML_BSSN_MP_Helper/schedule.ccl +++ b/ML_BSSN_MP_Helper/schedule.ccl @@ -21,6 +21,19 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN_MP")) { STORAGE: ADMBase::shift[3] STORAGE: ADMBase::dtlapse[3] STORAGE: ADMBase::dtshift[3] + } else if (timelevels == 4) { + #STORAGE: ADMBase::metric[4] + #STORAGE: ADMBase::curv[4] + #STORAGE: ADMBase::lapse[4] + #STORAGE: ADMBase::shift[4] + #STORAGE: ADMBase::dtlapse[4] + #STORAGE: ADMBase::dtshift[4] + STORAGE: ADMBase::metric[3] + STORAGE: ADMBase::curv[3] + STORAGE: ADMBase::lapse[3] + STORAGE: ADMBase::shift[3] + STORAGE: ADMBase::dtlapse[3] + STORAGE: ADMBase::dtshift[3] } SCHEDULE ML_BSSN_MP_RegisterSlicing AT startup @@ -29,11 +42,11 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN_MP")) { OPTIONS: meta } "Register slicing" - SCHEDULE ML_BSSN_MP_UnsetCheckpointTags AT startup + SCHEDULE ML_BSSN_MP_SetGroupTags AT startup BEFORE Driver_Startup { LANG: C OPTIONS: meta - } "Don't checkpoint ADMBase variables" + } "Set checkpointing and prolongation group tags" SCHEDULE ML_BSSN_MP_RegisterConstrained IN MoL_Register { @@ -43,6 +56,13 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN_MP")) { + #SCHEDULE GROUP ML_BSSN_MP_evolCalcGroup AT postinitial AFTER MoL_PostStep + #{ + #} "Calculate BSSN RHS" + SCHEDULE GROUP MoL_CalcRHS AT postinitial AFTER MoL_PostStep + { + } "Evaluate RHS" + SCHEDULE GROUP ML_BSSN_MP_evolCalcGroup IN MoL_CalcRHS { } "Calculate BSSN RHS" @@ -62,7 +82,7 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN_MP")) { - if (CCTK_EQUALS (my_rhs_boundary_condition, "NewRad")) + if (CCTK_EQUALS (my_initial_boundary_condition, "extrapolate-gammas")) { SCHEDULE ML_BSSN_MP_ExtrapolateGammas AT initial AFTER ML_BSSN_MP_convertFromADMBaseGamma { @@ -71,7 +91,10 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN_MP")) { SYNC: ML_dtlapse SYNC: ML_dtshift } "Extrapolate Gammas and time derivatives of lapse and shift" - + } + + if (CCTK_EQUALS (my_rhs_boundary_condition, "NewRad")) + { SCHEDULE ML_BSSN_MP_NewRad IN ML_BSSN_MP_evolCalcGroup AFTER ML_BSSN_MP_RHS { LANG: C @@ -97,7 +120,7 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN_MP")) { { # if (timelevels > 1) # { - # SCHEDULE ML_BSSN_MP_CopyADMBase AT CCTK_PRESTEP + # SCHEDULE ML_BSSN_MP_CopyADMBase AT prestep # { # LANG: C # } "Copy ADMBase variables to current time level" diff --git a/ML_BSSN_MP_Helper/src/SetGroupTags.c b/ML_BSSN_MP_Helper/src/SetGroupTags.c new file mode 100644 index 0000000..8411824 --- /dev/null +++ b/ML_BSSN_MP_Helper/src/SetGroupTags.c @@ -0,0 +1,69 @@ +#include <cctk.h> +#include <cctk_Parameters.h> +#include <util_Table.h> + +#include <assert.h> + +static void +set_group_tags (int const checkpoint, int const prolongate, + char const * restrict const gn); + +int +ML_BSSN_MP_SetGroupTags (void) +{ + DECLARE_CCTK_PARAMETERS; + + set_group_tags (0, 1, "ADMBase::metric"); + set_group_tags (0, 1, "ADMBase::curv"); + set_group_tags (0, 1, "ADMBase::lapse"); + set_group_tags (0, 1, "ADMBase::shift"); + set_group_tags (0, 1, "ADMBase::dtlapse"); + set_group_tags (0, 1, "ADMBase::dtshift"); + + set_group_tags (0, 0, "ML_BSSN_MP::ML_cons_detg"); + set_group_tags (0, 0, "ML_BSSN_MP::ML_cons_Gamma"); + set_group_tags (0, 0, "ML_BSSN_MP::ML_cons_traceA"); + set_group_tags (0, 0, "ML_BSSN_MP::ML_Ham"); + set_group_tags (0, 0, "ML_BSSN_MP::ML_mom"); + set_group_tags (0, 0, "ML_BSSN_MP::ML_curvrhs"); + + int const checkpoint = rhs_timelevels > 1; + set_group_tags (checkpoint, 0, "ML_BSSN_MP::ML_dtlapserhs"); + set_group_tags (checkpoint, 0, "ML_BSSN_MP::ML_dtshiftrhs"); + set_group_tags (checkpoint, 0, "ML_BSSN_MP::ML_Gammarhs"); + set_group_tags (checkpoint, 0, "ML_BSSN_MP::ML_lapserhs"); + set_group_tags (checkpoint, 0, "ML_BSSN_MP::ML_log_confacrhs"); + set_group_tags (checkpoint, 0, "ML_BSSN_MP::ML_metricrhs"); + set_group_tags (checkpoint, 0, "ML_BSSN_MP::ML_shiftrhs"); + set_group_tags (checkpoint, 0, "ML_BSSN_MP::ML_trace_curvrhs"); + + return 0; +} + +static void +set_group_tags (int const checkpoint, int const prolongate, + char const * restrict const gn) +{ + assert (gn); + + int const gi = CCTK_GroupIndex (gn); + assert (gi >= 0); + + int const table = CCTK_GroupTagsTableI (gi); + assert (table >= 0); + + if (! checkpoint) { + int ierr; + ierr = Util_TableSetString (table, "no", "Checkpoint"); + assert (! ierr); + + ierr = Util_TableSetString (table, "no", "Persistent"); + assert (! ierr); + } + + if (! prolongate) { + int ierr; + ierr = Util_TableSetString (table, "none", "Prolongation"); + assert (! ierr); + } +} diff --git a/ML_BSSN_MP_Helper/src/UnsetCheckpointTags.c b/ML_BSSN_MP_Helper/src/UnsetCheckpointTags.c deleted file mode 100644 index c72835c..0000000 --- a/ML_BSSN_MP_Helper/src/UnsetCheckpointTags.c +++ /dev/null @@ -1,59 +0,0 @@ -#include <cctk.h> -#include <util_Table.h> - -#include <assert.h> - -static void -unset_checkpoint_tag (int prolongate, char const * restrict gn); - -int -ML_BSSN_MP_UnsetCheckpointTags (void) -{ - unset_checkpoint_tag (1, "ADMBase::metric"); - unset_checkpoint_tag (1, "ADMBase::curv"); - unset_checkpoint_tag (1, "ADMBase::lapse"); - unset_checkpoint_tag (1, "ADMBase::shift"); - unset_checkpoint_tag (1, "ADMBase::dtlapse"); - unset_checkpoint_tag (1, "ADMBase::dtshift"); - - unset_checkpoint_tag (0, "ML_BSSN_MP::ML_cons_detg"); - unset_checkpoint_tag (0, "ML_BSSN_MP::ML_cons_Gamma"); - unset_checkpoint_tag (0, "ML_BSSN_MP::ML_cons_traceA"); - unset_checkpoint_tag (0, "ML_BSSN_MP::ML_Ham"); - unset_checkpoint_tag (0, "ML_BSSN_MP::ML_mom"); - unset_checkpoint_tag (0, "ML_BSSN_MP::ML_curvrhs"); - unset_checkpoint_tag (0, "ML_BSSN_MP::ML_dtlapserhs"); - unset_checkpoint_tag (0, "ML_BSSN_MP::ML_dtshiftrhs"); - unset_checkpoint_tag (0, "ML_BSSN_MP::ML_Gammarhs"); - unset_checkpoint_tag (0, "ML_BSSN_MP::ML_lapserhs"); - unset_checkpoint_tag (0, "ML_BSSN_MP::ML_log_confacrhs"); - unset_checkpoint_tag (0, "ML_BSSN_MP::ML_metricrhs"); - unset_checkpoint_tag (0, "ML_BSSN_MP::ML_shiftrhs"); - unset_checkpoint_tag (0, "ML_BSSN_MP::ML_trace_curvrhs"); - - return 0; -} - -static void -unset_checkpoint_tag (int const prolongate, char const * restrict const gn) -{ - assert (gn); - - int const gi = CCTK_GroupIndex (gn); - assert (gi >= 0); - - int const table = CCTK_GroupTagsTableI (gi); - assert (table >= 0); - - int ierr; - ierr = Util_TableSetString (table, "no", "Checkpoint"); - assert (! ierr); - - ierr = Util_TableSetString (table, "no", "Persistent"); - assert (! ierr); - - if (! prolongate) { - ierr = Util_TableSetString (table, "none", "Prolongation"); - assert (! ierr); - } -} diff --git a/ML_BSSN_MP_Helper/src/make.code.defn b/ML_BSSN_MP_Helper/src/make.code.defn index 7cc4e72..2625d6c 100644 --- a/ML_BSSN_MP_Helper/src/make.code.defn +++ b/ML_BSSN_MP_Helper/src/make.code.defn @@ -1,3 +1,3 @@ # -*-Makefile-*- -SRCS = ExtrapolateGammas.c NewRad.c RegisterConstrained.c RegisterSlicing.c SelectBCsADMBase.c UnsetCheckpointTags.c +SRCS = ExtrapolateGammas.c NewRad.c RegisterConstrained.c RegisterSlicing.c SelectBCsADMBase.c SetGroupTags.c # CopyADMBase.c diff --git a/ML_BSSN_M_Helper/param.ccl b/ML_BSSN_M_Helper/param.ccl index 2a7a444..4496285 100644 --- a/ML_BSSN_M_Helper/param.ccl +++ b/ML_BSSN_M_Helper/param.ccl @@ -17,10 +17,15 @@ USES CCTK_INT boundary_width SHARES: ML_BSSN_M USES CCTK_INT timelevels +USES CCTK_INT rhs_timelevels USES KEYWORD calculate_ADMBase_variables_at USES CCTK_REAL harmonicF +EXTENDS KEYWORD my_initial_boundary_condition +{ + "extrapolate-gammas" :: "extrapolate-gammas" +} EXTENDS KEYWORD my_rhs_boundary_condition { "NewRad" :: "NewRad" diff --git a/ML_BSSN_M_Helper/schedule.ccl b/ML_BSSN_M_Helper/schedule.ccl index e577c18..c7fc7a5 100644 --- a/ML_BSSN_M_Helper/schedule.ccl +++ b/ML_BSSN_M_Helper/schedule.ccl @@ -21,6 +21,19 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN_M")) { STORAGE: ADMBase::shift[3] STORAGE: ADMBase::dtlapse[3] STORAGE: ADMBase::dtshift[3] + } else if (timelevels == 4) { + #STORAGE: ADMBase::metric[4] + #STORAGE: ADMBase::curv[4] + #STORAGE: ADMBase::lapse[4] + #STORAGE: ADMBase::shift[4] + #STORAGE: ADMBase::dtlapse[4] + #STORAGE: ADMBase::dtshift[4] + STORAGE: ADMBase::metric[3] + STORAGE: ADMBase::curv[3] + STORAGE: ADMBase::lapse[3] + STORAGE: ADMBase::shift[3] + STORAGE: ADMBase::dtlapse[3] + STORAGE: ADMBase::dtshift[3] } SCHEDULE ML_BSSN_M_RegisterSlicing AT startup @@ -29,11 +42,11 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN_M")) { OPTIONS: meta } "Register slicing" - SCHEDULE ML_BSSN_M_UnsetCheckpointTags AT startup + SCHEDULE ML_BSSN_M_SetGroupTags AT startup BEFORE Driver_Startup { LANG: C OPTIONS: meta - } "Don't checkpoint ADMBase variables" + } "Set checkpointing and prolongation group tags" SCHEDULE ML_BSSN_M_RegisterConstrained IN MoL_Register { @@ -43,6 +56,13 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN_M")) { + #SCHEDULE GROUP ML_BSSN_M_evolCalcGroup AT postinitial AFTER MoL_PostStep + #{ + #} "Calculate BSSN RHS" + SCHEDULE GROUP MoL_CalcRHS AT postinitial AFTER MoL_PostStep + { + } "Evaluate RHS" + SCHEDULE GROUP ML_BSSN_M_evolCalcGroup IN MoL_CalcRHS { } "Calculate BSSN RHS" @@ -62,7 +82,7 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN_M")) { - if (CCTK_EQUALS (my_rhs_boundary_condition, "NewRad")) + if (CCTK_EQUALS (my_initial_boundary_condition, "extrapolate-gammas")) { SCHEDULE ML_BSSN_M_ExtrapolateGammas AT initial AFTER ML_BSSN_M_convertFromADMBaseGamma { @@ -71,7 +91,10 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN_M")) { SYNC: ML_dtlapse SYNC: ML_dtshift } "Extrapolate Gammas and time derivatives of lapse and shift" - + } + + if (CCTK_EQUALS (my_rhs_boundary_condition, "NewRad")) + { SCHEDULE ML_BSSN_M_NewRad IN ML_BSSN_M_evolCalcGroup AFTER ML_BSSN_M_RHS { LANG: C @@ -97,7 +120,7 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN_M")) { { # if (timelevels > 1) # { - # SCHEDULE ML_BSSN_M_CopyADMBase AT CCTK_PRESTEP + # SCHEDULE ML_BSSN_M_CopyADMBase AT prestep # { # LANG: C # } "Copy ADMBase variables to current time level" diff --git a/ML_BSSN_M_Helper/src/SetGroupTags.c b/ML_BSSN_M_Helper/src/SetGroupTags.c new file mode 100644 index 0000000..db16c77 --- /dev/null +++ b/ML_BSSN_M_Helper/src/SetGroupTags.c @@ -0,0 +1,69 @@ +#include <cctk.h> +#include <cctk_Parameters.h> +#include <util_Table.h> + +#include <assert.h> + +static void +set_group_tags (int const checkpoint, int const prolongate, + char const * restrict const gn); + +int +ML_BSSN_M_SetGroupTags (void) +{ + DECLARE_CCTK_PARAMETERS; + + set_group_tags (0, 1, "ADMBase::metric"); + set_group_tags (0, 1, "ADMBase::curv"); + set_group_tags (0, 1, "ADMBase::lapse"); + set_group_tags (0, 1, "ADMBase::shift"); + set_group_tags (0, 1, "ADMBase::dtlapse"); + set_group_tags (0, 1, "ADMBase::dtshift"); + + set_group_tags (0, 0, "ML_BSSN_M::ML_cons_detg"); + set_group_tags (0, 0, "ML_BSSN_M::ML_cons_Gamma"); + set_group_tags (0, 0, "ML_BSSN_M::ML_cons_traceA"); + set_group_tags (0, 0, "ML_BSSN_M::ML_Ham"); + set_group_tags (0, 0, "ML_BSSN_M::ML_mom"); + set_group_tags (0, 0, "ML_BSSN_M::ML_curvrhs"); + + int const checkpoint = rhs_timelevels > 1; + set_group_tags (checkpoint, 0, "ML_BSSN_M::ML_dtlapserhs"); + set_group_tags (checkpoint, 0, "ML_BSSN_M::ML_dtshiftrhs"); + set_group_tags (checkpoint, 0, "ML_BSSN_M::ML_Gammarhs"); + set_group_tags (checkpoint, 0, "ML_BSSN_M::ML_lapserhs"); + set_group_tags (checkpoint, 0, "ML_BSSN_M::ML_log_confacrhs"); + set_group_tags (checkpoint, 0, "ML_BSSN_M::ML_metricrhs"); + set_group_tags (checkpoint, 0, "ML_BSSN_M::ML_shiftrhs"); + set_group_tags (checkpoint, 0, "ML_BSSN_M::ML_trace_curvrhs"); + + return 0; +} + +static void +set_group_tags (int const checkpoint, int const prolongate, + char const * restrict const gn) +{ + assert (gn); + + int const gi = CCTK_GroupIndex (gn); + assert (gi >= 0); + + int const table = CCTK_GroupTagsTableI (gi); + assert (table >= 0); + + if (! checkpoint) { + int ierr; + ierr = Util_TableSetString (table, "no", "Checkpoint"); + assert (! ierr); + + ierr = Util_TableSetString (table, "no", "Persistent"); + assert (! ierr); + } + + if (! prolongate) { + int ierr; + ierr = Util_TableSetString (table, "none", "Prolongation"); + assert (! ierr); + } +} diff --git a/ML_BSSN_M_Helper/src/UnsetCheckpointTags.c b/ML_BSSN_M_Helper/src/UnsetCheckpointTags.c deleted file mode 100644 index a8cd78b..0000000 --- a/ML_BSSN_M_Helper/src/UnsetCheckpointTags.c +++ /dev/null @@ -1,59 +0,0 @@ -#include <cctk.h> -#include <util_Table.h> - -#include <assert.h> - -static void -unset_checkpoint_tag (int prolongate, char const * restrict gn); - -int -ML_BSSN_M_UnsetCheckpointTags (void) -{ - unset_checkpoint_tag (1, "ADMBase::metric"); - unset_checkpoint_tag (1, "ADMBase::curv"); - unset_checkpoint_tag (1, "ADMBase::lapse"); - unset_checkpoint_tag (1, "ADMBase::shift"); - unset_checkpoint_tag (1, "ADMBase::dtlapse"); - unset_checkpoint_tag (1, "ADMBase::dtshift"); - - unset_checkpoint_tag (0, "ML_BSSN_M::ML_cons_detg"); - unset_checkpoint_tag (0, "ML_BSSN_M::ML_cons_Gamma"); - unset_checkpoint_tag (0, "ML_BSSN_M::ML_cons_traceA"); - unset_checkpoint_tag (0, "ML_BSSN_M::ML_Ham"); - unset_checkpoint_tag (0, "ML_BSSN_M::ML_mom"); - unset_checkpoint_tag (0, "ML_BSSN_M::ML_curvrhs"); - unset_checkpoint_tag (0, "ML_BSSN_M::ML_dtlapserhs"); - unset_checkpoint_tag (0, "ML_BSSN_M::ML_dtshiftrhs"); - unset_checkpoint_tag (0, "ML_BSSN_M::ML_Gammarhs"); - unset_checkpoint_tag (0, "ML_BSSN_M::ML_lapserhs"); - unset_checkpoint_tag (0, "ML_BSSN_M::ML_log_confacrhs"); - unset_checkpoint_tag (0, "ML_BSSN_M::ML_metricrhs"); - unset_checkpoint_tag (0, "ML_BSSN_M::ML_shiftrhs"); - unset_checkpoint_tag (0, "ML_BSSN_M::ML_trace_curvrhs"); - - return 0; -} - -static void -unset_checkpoint_tag (int const prolongate, char const * restrict const gn) -{ - assert (gn); - - int const gi = CCTK_GroupIndex (gn); - assert (gi >= 0); - - int const table = CCTK_GroupTagsTableI (gi); - assert (table >= 0); - - int ierr; - ierr = Util_TableSetString (table, "no", "Checkpoint"); - assert (! ierr); - - ierr = Util_TableSetString (table, "no", "Persistent"); - assert (! ierr); - - if (! prolongate) { - ierr = Util_TableSetString (table, "none", "Prolongation"); - assert (! ierr); - } -} diff --git a/ML_BSSN_M_Helper/src/make.code.defn b/ML_BSSN_M_Helper/src/make.code.defn index 7cc4e72..2625d6c 100644 --- a/ML_BSSN_M_Helper/src/make.code.defn +++ b/ML_BSSN_M_Helper/src/make.code.defn @@ -1,3 +1,3 @@ # -*-Makefile-*- -SRCS = ExtrapolateGammas.c NewRad.c RegisterConstrained.c RegisterSlicing.c SelectBCsADMBase.c UnsetCheckpointTags.c +SRCS = ExtrapolateGammas.c NewRad.c RegisterConstrained.c RegisterSlicing.c SelectBCsADMBase.c SetGroupTags.c # CopyADMBase.c diff --git a/m/McLachlan_BSSN.m b/m/McLachlan_BSSN.m index 388aa51..042f010 100644 --- a/m/McLachlan_BSSN.m +++ b/m/McLachlan_BSSN.m @@ -17,7 +17,7 @@ prefix = "ML_"; suffix = If [useGlobalDerivs, "_MP", ""] <> If [derivOrder!=4, "_O" <> ToString[derivOrder], ""] <> - If [evolutionTimelevels!=3, "_TL" <> ToString[evolutionTimelevels], ""] <> + (* If [evolutionTimelevels!=3, "_TL" <> ToString[evolutionTimelevels], ""] <> *) If [addMatter==1, "_M", ""]; BSSN = prefix <> "BSSN" <> suffix; @@ -704,9 +704,9 @@ enforceCalc = trAt -> gtu[ua,ub] At[la,lb], - At[la,lb] -> At[la,lb] - (1/3) gt[la,lb] trAt + At[la,lb] -> At[la,lb] - (1/3) gt[la,lb] trAt, - (* alpha -> Max[alpha, 10^(-10)] *) + alpha -> Max[alpha, MinimumLapse] } }; @@ -1004,6 +1004,11 @@ realParameters = Name -> ShiftAdvectionCoeff, Description -> "Factor in front of the shift advection terms in gamma driver", Default -> 1 + }, + { + Name -> MinimumLapse, + Description -> "Minimum value of the lapse function", + Default -> -1 } }; |