diff options
author | Peter Diener <diener@linux-hn3d.site> | 2009-04-27 10:36:52 -0500 |
---|---|---|
committer | Peter Diener <diener@linux-hn3d.site> | 2009-04-27 10:36:52 -0500 |
commit | 8e0b4a3127e6b19307297fbc4c27f776363fd55e (patch) | |
tree | 99c430a126460f619d147ab461ecc62451fe9313 /ML_BSSN | |
parent | d4ba15953909c5f0a72abf6bd41e8cb169fc737a (diff) | |
parent | b880dce3c928b74552836fe26211d1e8f89b74c1 (diff) |
Merge branch 'HEAD' of ssh://relativity.phys.lsu.edu/home/perturbed/gitroot/McLachlan
Conflicts:
ML_BSSN_MP/schedule.ccl
m/McLachlan_BSSN.m
Diffstat (limited to 'ML_BSSN')
-rw-r--r-- | ML_BSSN/interface.ccl | 3 | ||||
-rw-r--r-- | ML_BSSN/param.ccl | 7 | ||||
-rw-r--r-- | ML_BSSN/schedule.ccl | 12 | ||||
-rw-r--r-- | ML_BSSN/src/ML_BSSN_ADMBaseBoundary.c | 100 |
4 files changed, 84 insertions, 38 deletions
diff --git a/ML_BSSN/interface.ccl b/ML_BSSN/interface.ccl index 5b7f6b6..e95bb1a 100644 --- a/ML_BSSN/interface.ccl +++ b/ML_BSSN/interface.ccl @@ -18,9 +18,6 @@ USES INCLUDE: loopcontrol.h CCTK_INT FUNCTION MoLRegisterEvolved(CCTK_INT IN EvolvedIndex, CCTK_INT IN RHSIndex) USES FUNCTION MoLRegisterEvolved -CCTK_INT FUNCTION MoLRegisterConstrained(CCTK_INT IN ConstrainedIndex) -USES FUNCTION MoLRegisterConstrained - SUBROUTINE Diff_coeff(CCTK_POINTER_TO_CONST IN cctkGH, CCTK_INT IN dir, CCTK_INT IN nsize, CCTK_INT OUT ARRAY imin, CCTK_INT OUT ARRAY imax, CCTK_REAL OUT ARRAY q, CCTK_INT IN table_handle) USES FUNCTION Diff_coeff diff --git a/ML_BSSN/param.ccl b/ML_BSSN/param.ccl index 55f8ce8..b4b7a2e 100644 --- a/ML_BSSN/param.ccl +++ b/ML_BSSN/param.ccl @@ -38,7 +38,6 @@ USES CCTK_INT boundary_width shares: MethodOfLines USES CCTK_INT MoL_Num_Evolved_Vars -USES CCTK_INT MoL_Num_Constrained_Vars restricted: CCTK_INT verbose "verbose" @@ -130,12 +129,6 @@ CCTK_INT ML_BSSN_MaxNumEvolvedVars "Number of evolved variables used by this tho } 25 restricted: -CCTK_INT ML_BSSN_MaxNumConstrainedVars "Number of constrained variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Constrained_Vars -{ - 70:70 :: "Number of constrained variables used by this thorn" -} 70 - -restricted: CCTK_INT timelevels "Number of active timelevels" { 0:3 :: "" diff --git a/ML_BSSN/schedule.ccl b/ML_BSSN/schedule.ccl index 62cbe56..390d607 100644 --- a/ML_BSSN/schedule.ccl +++ b/ML_BSSN/schedule.ccl @@ -161,7 +161,7 @@ schedule ML_BSSN_RegisterVars in MoL_Register OPTIONS: meta } "Register Variables for MoL" -schedule ML_BSSN_RegisterSymmetries at BASEGRID +schedule ML_BSSN_RegisterSymmetries in SymmetryRegister { LANG: C OPTIONS: meta @@ -245,14 +245,10 @@ schedule ML_BSSN_convertToADMBase IN ML_BSSN_convertToADMBaseGroup SYNC: ADMBase::shift } "ML_BSSN_convertToADMBase" - -if (CCTK_EQUALS(my_boundary_condition, "Minkowski")) +schedule ML_BSSN_ADMBaseBoundary IN ML_BSSN_convertToADMBaseGroup AFTER ML_BSSN_convertToADMBase { - schedule ML_BSSN_ADMBaseBoundary IN ML_BSSN_convertToADMBaseGroup AFTER ML_BSSN_convertToADMBase - { - LANG: C - } "ML_BSSN_ADMBaseBoundary" -} + LANG: C +} "ML_BSSN_ADMBaseBoundary" schedule ML_BSSN_constraints IN ML_BSSN_constraintsCalcGroup { diff --git a/ML_BSSN/src/ML_BSSN_ADMBaseBoundary.c b/ML_BSSN/src/ML_BSSN_ADMBaseBoundary.c index a399db9..2814b68 100644 --- a/ML_BSSN/src/ML_BSSN_ADMBaseBoundary.c +++ b/ML_BSSN/src/ML_BSSN_ADMBaseBoundary.c @@ -110,9 +110,17 @@ void ML_BSSN_ADMBaseBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, subblock_index = i - min[0] + (max[0] - min[0]) * (j - min[1] + (max[1]-min[1]) * (k - min[2])); /* Declare shorthands */ + CCTK_REAL e4phi = INITVALUE; + CCTK_REAL g11 = INITVALUE, g12 = INITVALUE, g13 = INITVALUE, g22 = INITVALUE, g23 = INITVALUE, g33 = INITVALUE; + CCTK_REAL K11 = INITVALUE, K12 = INITVALUE, K13 = INITVALUE, K22 = INITVALUE, K23 = INITVALUE, K33 = INITVALUE; /* Declare local copies of grid functions */ + CCTK_REAL AL = INITVALUE; CCTK_REAL alpL = INITVALUE; + CCTK_REAL alphaL = INITVALUE; + CCTK_REAL At11L = INITVALUE, At12L = INITVALUE, At13L = INITVALUE, At22L = INITVALUE, At23L = INITVALUE, At33L = INITVALUE; + CCTK_REAL B1L = INITVALUE, B2L = INITVALUE, B3L = INITVALUE; + CCTK_REAL beta1L = INITVALUE, beta2L = INITVALUE, beta3L = INITVALUE; CCTK_REAL betaxL = INITVALUE; CCTK_REAL betayL = INITVALUE; CCTK_REAL betazL = INITVALUE; @@ -120,6 +128,7 @@ void ML_BSSN_ADMBaseBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_REAL dtbetaxL = INITVALUE; CCTK_REAL dtbetayL = INITVALUE; CCTK_REAL dtbetazL = INITVALUE; + CCTK_REAL gt11L = INITVALUE, gt12L = INITVALUE, gt13L = INITVALUE, gt22L = INITVALUE, gt23L = INITVALUE, gt33L = INITVALUE; CCTK_REAL gxxL = INITVALUE; CCTK_REAL gxyL = INITVALUE; CCTK_REAL gxzL = INITVALUE; @@ -132,11 +141,35 @@ void ML_BSSN_ADMBaseBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_REAL kyyL = INITVALUE; CCTK_REAL kyzL = INITVALUE; CCTK_REAL kzzL = INITVALUE; + CCTK_REAL phiL = INITVALUE; + CCTK_REAL trKL = 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]; /* Assign local copies of subblock grid functions */ @@ -147,45 +180,72 @@ void ML_BSSN_ADMBaseBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, /* Precompute derivatives (old style) */ /* Calculate temporaries and grid functions */ - gxxL = 1; + e4phi = exp(4*phiL); - gxyL = 0; + g11 = e4phi*gt11L; - gxzL = 0; + g12 = e4phi*gt12L; - gyyL = 1; + g13 = e4phi*gt13L; - gyzL = 0; + g22 = e4phi*gt22L; - gzzL = 1; + g23 = e4phi*gt23L; - kxxL = 0; + g33 = e4phi*gt33L; - kxyL = 0; + gxxL = g11; - kxzL = 0; + gxyL = g12; - kyyL = 0; + gxzL = g13; - kyzL = 0; + gyyL = g22; - kzzL = 0; + gyzL = g23; - alpL = 1; + gzzL = g33; - dtalpL = 0; + K11 = At11L*e4phi + g11*kthird*trKL; - betaxL = 0; + K12 = At12L*e4phi + g12*kthird*trKL; - betayL = 0; + K13 = At13L*e4phi + g13*kthird*trKL; - betazL = 0; + K22 = At22L*e4phi + g22*kthird*trKL; - dtbetaxL = 0; + K23 = At23L*e4phi + g23*kthird*trKL; - dtbetayL = 0; + K33 = At33L*e4phi + g33*kthird*trKL; - dtbetazL = 0; + kxxL = K11; + + kxyL = K12; + + kxzL = K13; + + kyyL = K22; + + kyzL = K23; + + kzzL = K33; + + alpL = alphaL; + + betaxL = beta1L; + + betayL = beta2L; + + betazL = beta3L; + + dtalpL = harmonicF*(AL*(-1 + LapseAdvectionCoeff) - LapseAdvectionCoeff*trKL)* + pow(alphaL,harmonicN); + + dtbetaxL = B1L*ShiftGammaCoeff; + + dtbetayL = B2L*ShiftGammaCoeff; + + dtbetazL = B3L*ShiftGammaCoeff; /* Copy local copies back to grid functions */ |