aboutsummaryrefslogtreecommitdiff
path: root/schedule.ccl
diff options
context:
space:
mode:
Diffstat (limited to 'schedule.ccl')
-rw-r--r--schedule.ccl198
1 files changed, 178 insertions, 20 deletions
diff --git a/schedule.ccl b/schedule.ccl
index 911d4f0..29ec81f 100644
--- a/schedule.ccl
+++ b/schedule.ccl
@@ -69,6 +69,29 @@ if(CCTK_Equals(Bvec_evolution_method,"GRHydro"))
if (clean_divergence)
{
STORAGE:psidc[timelevels]
+ }
+} else if(CCTK_Equals(Bvec_evolution_method,"GRHydro_Avec")) {
+ STORAGE: HydroBase::Bvec[timelevels]
+ STORAGE: HydroBase::Avec[timelevels]
+ STORAGE: GRHydro::Bcons[timelevels]
+ if (CCTK_Equals(Avec_gauge,"Lorenz"))
+ {
+ STORAGE: HydroBase::Aphi[timelevels]
+ }
+}
+STORAGE:evolve_MHD
+STORAGE:evolve_Y_e
+STORAGE:evolve_temper
+STORAGE:GRHydro_reflevel
+STORAGE:InLastMoLPostStep
+STORAGE:densrhs
+STORAGE:taurhs
+STORAGE:srhs
+if(CCTK_Equals(Bvec_evolution_method,"GRHydro"))
+{
+ STORAGE:Bconsrhs
+ if (clean_divergence)
+ {
STORAGE:psidcrhs
STORAGE:whichpsidcspeed
}
@@ -82,6 +105,23 @@ if(CCTK_Equals(Bvec_evolution_method,"GRHydro"))
STORAGE:GRHydro::bcom0[timelevels]
STORAGE:GRHydro::bcom_sq[timelevels]
}
+} else if(CCTK_Equals(Bvec_evolution_method,"GRHydro_Avec")) {
+ STORAGE:Avecrhs
+ STORAGE:evolve_Lorenz_gge
+ if (CCTK_Equals(Avec_gauge,"Lorenz"))
+ {
+ STORAGE:Aphirhs
+ }
+ if (track_divB)
+ {
+ STORAGE:divB
+ }
+ if (calculate_bcom)
+ {
+ STORAGE:GRHydro::bcom[timelevels]
+ STORAGE:GRHydro::bcom0[timelevels]
+ STORAGE:GRHydro::bcom_sq[timelevels]
+ }
}
if(CCTK_Equals(entropy_evolution_method,"GRHydro"))
{
@@ -130,7 +170,7 @@ schedule group GRHydro_Initial IN HydroBase_Initial
{
} "GRHydro initial data group"
-if(CCTK_Equals(Bvec_evolution_method,"GRHydro"))
+if(CCTK_Equals(Bvec_evolution_method,"GRHydro") || CCTK_Equals(Bvec_evolution_method,"GRHydro_Avec"))
{
if (clean_divergence)
{
@@ -148,6 +188,19 @@ if(CCTK_Equals(Bvec_evolution_method,"GRHydro"))
}
}
+if(CCTK_Equals(Bvec_evolution_method,"GRHydro_Avec") && CCTK_Equals(initial_Bvec,"Bvec_from_Avec") )
+{
+# schedule GRHydro_BvecfromAvec AT CCTK_POSTINITIAL
+ schedule GRHydro_BvecfromAvec IN HydroBase_Initial
+ {
+ LANG: Fortran
+ } "Populate Bvec from Avec"
+# SCHEDULE group HydroBase_Boundaries AT CCTK_POSTINITIAL AFTER GRHydro_PoloidalMagFieldM AFTER GRHydro_BvecfromAvec
+ SCHEDULE group HydroBase_Boundaries IN HydroBase_Initial AFTER GRHydro_PoloidalMagFieldM AFTER GRHydro_Bvec_from_Avec
+ {
+ } "Call boundary conditions after magnetic field initial data setup"
+}
+
#################################################
### Storage for the extra timelevels for the ###
### use of MoL with Einstein ###
@@ -192,7 +245,8 @@ if (!CCTK_Equals(initial_shift,"none"))
# runtime via CCTK_GroupStorageDecrease
if(CCTK_IsImplementationActive("Coordinates")) {
STORAGE: lvel[timelevels]
- if(CCTK_Equals(Bvec_evolution_method,"GRHydro")) {
+ if(CCTK_Equals(Bvec_evolution_method,"GRHydro") ||
+ CCTK_Equals(Bvec_evolution_method,"GRHydro_Avec")) {
STORAGE: lBvec[timelevels]
}
STORAGE: local_metric[timelevels]
@@ -294,15 +348,28 @@ if (rho_abs_min_after_recovery > 0.0)
} "Set up minimum for the rest-mass density in the atmosphere (before intial data)"
}
+
+if (CCTK_IsThornActive("PUGH" ))
+{
+ schedule GRHydro_Rho_Minima_Setup_Final_PUGH AT CCTK_PostInitial BEFORE (MoL_PostStepModify MoL_PostStep)
+ {
+ LANG: C
+ } "Set the value of the rest-mass density of the atmosphere which will be used during the evolution (PUGH)"
+}
+else if (CCTK_IsThornActive("Carpet"))
+{
+ schedule GRHydro_Rho_Minima_Setup_Final AT CCTK_PostPostInitial BEFORE Con2Prim
+ {
+ LANG: C
+ } "Set the value of the rest-mass density of the atmosphere which will be used during the evolution"
+}
+
+
if(CCTK_Equals(Bvec_evolution_method,"GRHydro"))
{
if (CCTK_IsThornActive("PUGH" ))
{
- schedule GRHydro_Rho_Minima_Setup_Final_PUGH AT CCTK_PostInitial BEFORE (MoL_PostStepModify MoL_PostStep)
- {
- LANG: C
- } "Set the value of the rest-mass density of the atmosphere which will be used during the evolution (PUGH)"
schedule GRHydro_InitialAtmosphereResetM AT CCTK_PostInitial BEFORE (MoL_PostStepModify MoL_PostStep) AFTER GRHydro_Rho_Minima_Setup_Final_PUGH
{
LANG: Fortran
@@ -310,24 +377,33 @@ if(CCTK_Equals(Bvec_evolution_method,"GRHydro"))
}
else if (CCTK_IsThornActive("Carpet"))
{
- schedule GRHydro_Rho_Minima_Setup_Final AT CCTK_PostPostInitial BEFORE Con2Prim
- {
- LANG: C
- } "Set the value of the rest-mass density of the atmosphere which will be used during the evolution"
schedule GRHydro_InitialAtmosphereResetM AT CCTK_PostPostInitial BEFORE Con2Prim AFTER GRHydro_Rho_Minima_Setup_Final
{
LANG: Fortran
} "Use mask to enforce atmosphere at initial time"
}
-} else {
+} else if(CCTK_Equals(Bvec_evolution_method,"GRHydro_Avec")) {
if (CCTK_IsThornActive("PUGH" ))
{
- schedule GRHydro_Rho_Minima_Setup_Final_PUGH AT CCTK_PostInitial BEFORE (MoL_PostStepModify MoL_PostStep)
+ schedule GRHydro_InitialAtmosphereResetAM AT CCTK_PostInitial BEFORE (MoL_PostStepModify MoL_PostStep) AFTER GRHydro_Rho_Minima_Setup_Final_PUGH
{
- LANG: C
- } "Set the value of the rest-mass density of the atmosphere which will be used during the evolution (PUGH)"
+ LANG: Fortran
+ } "Use mask to enforce atmosphere at initial time"
+ }
+ else if (CCTK_IsThornActive("Carpet"))
+ {
+ schedule GRHydro_InitialAtmosphereResetAM AT CCTK_PostPostInitial BEFORE Con2Prim AFTER GRHydro_Rho_Minima_Setup_Final
+ {
+ LANG: Fortran
+ } "Use mask to enforce atmosphere at initial time"
+ }
+
+} else {
+
+ if (CCTK_IsThornActive("PUGH" ))
+ {
schedule GRHydro_InitialAtmosphereReset AT CCTK_PostInitial BEFORE (MoL_PostStepModify MoL_PostStep) AFTER GRHydro_Rho_Minima_Setup_Final_PUGH
{
LANG: Fortran
@@ -335,10 +411,6 @@ if(CCTK_Equals(Bvec_evolution_method,"GRHydro"))
}
else if (CCTK_IsThornActive("Carpet"))
{
- schedule GRHydro_Rho_Minima_Setup_Final AT CCTK_PostPostInitial BEFORE Con2Prim
- {
- LANG: C
- } "Set the value of the rest-mass density of the atmosphere which will be used during the evolution"
schedule GRHydro_InitialAtmosphereReset AT CCTK_PostPostInitial BEFORE Con2Prim AFTER GRHydro_Rho_Minima_Setup_Final
{
LANG: Fortran
@@ -625,6 +697,11 @@ if(CCTK_Equals(Bvec_evolution_method,"GRHydro"))
{
LANG: Fortran
} "Source term calculation - MHD version"
+} else if(CCTK_Equals(Bvec_evolution_method,"GRHydro_Avec")) {
+ schedule SourceTermsAM IN GRHydroRHS BEFORE FluxTerms
+ {
+ LANG: Fortran
+ } "Source term calculation - Vector Potential MHD version"
} else {
schedule SourceTerms IN GRHydroRHS BEFORE FluxTerms
{
@@ -679,6 +756,40 @@ if (CCTK_Equals(method_type, "RSA FV"))
STORAGE:GRHydro_tracer_prim_bext
STORAGE:GRHydro_tracer_flux
} "Calculation of intercell fluxes"
+ } else if(CCTK_Equals(Bvec_evolution_method,"GRHydro_Avec") && CCTK_Equals(Avec_gauge,"Algebraic")) {
+
+ schedule group FluxTerms IN GRHydroRHS WHILE GRHydro::flux_direction
+ {
+ STORAGE:GRHydro_prim_bext
+ STORAGE:GRHydro_con_bext
+ STORAGE:GRHydro_fluxes
+ STORAGE:GRHydro_MHD_con_bext
+ STORAGE:GRHydro_MHD_prim_bext
+ STORAGE:GRHydro_Avec_bext
+ STORAGE:GRHydro_Avecfluxes
+ STORAGE:GRHydro_tracer_cons_bext
+ STORAGE:GRHydro_tracer_prim_bext
+ STORAGE:GRHydro_tracer_flux
+ } "Calculation of intercell fluxes"
+
+ } else if(CCTK_Equals(Bvec_evolution_method,"GRHydro_Avec") && CCTK_Equals(Avec_gauge,"Lorenz")) {
+
+ schedule group FluxTerms IN GRHydroRHS WHILE GRHydro::flux_direction
+ {
+ STORAGE:GRHydro_prim_bext
+ STORAGE:GRHydro_con_bext
+ STORAGE:GRHydro_fluxes
+ STORAGE:GRHydro_MHD_con_bext
+ STORAGE:GRHydro_MHD_prim_bext
+ STORAGE:GRHydro_Avec_bext
+ STORAGE:GRHydro_Aphi_bext
+ STORAGE:GRHydro_Avecfluxes
+ STORAGE:GRHydro_Aphifluxes
+ STORAGE:GRHydro_tracer_cons_bext
+ STORAGE:GRHydro_tracer_prim_bext
+ STORAGE:GRHydro_tracer_flux
+ } "Calculation of intercell fluxes"
+
} else {
schedule group FluxTerms IN GRHydroRHS WHILE GRHydro::flux_direction
{
@@ -710,6 +821,21 @@ if (CCTK_Equals(method_type, "RSA FV"))
STORAGE:GRHydro_psifluxes
STORAGE:GRHydro_entropyfluxes
} "Calculation of intercell fluxes"
+ } else if(CCTK_Equals(Bvec_evolution_method,"GRHydro_Avec")) {
+
+ schedule group FluxTerms IN GRHydroRHS WHILE GRHydro::flux_direction
+ {
+ STORAGE:GRHydro_prim_bext
+ STORAGE:GRHydro_con_bext
+ STORAGE:GRHydro_fluxes
+ STORAGE:GRHydro_MHD_con_bext
+ STORAGE:GRHydro_MHD_prim_bext
+ STORAGE:GRHydro_Avec_bext
+ STORAGE:GRHydro_Aphi_bext
+ STORAGE:GRHydro_Avecfluxes
+ STORAGE:GRHydro_Aphifluxes
+ } "Calculation of intercell fluxes"
+
} else {
schedule group FluxTerms IN GRHydroRHS WHILE GRHydro::flux_direction
{
@@ -762,6 +888,12 @@ if (CCTK_Equals(method_type, "RSA FV"))
LANG: Fortran
STORAGE: EOS_temps
} "Solve the local Riemann problems - MHD version"
+ } else if(CCTK_Equals(Bvec_evolution_method,"GRHydro_Avec")) {
+ schedule RiemannSolveAM IN FluxTerms AFTER Reconstruct AS Riemann
+ {
+ LANG: Fortran
+ STORAGE: EOS_temps
+ } "Solve the local Riemann problems - Vector Potential MHD version"
} else {
schedule RiemannSolve IN FluxTerms AFTER Reconstruct AS Riemann
{
@@ -934,6 +1066,18 @@ if (CCTK_Equals(GRHydro_eos_type,"General"))
{
LANG: Fortran
} "Convert initial data given in primive variables to conserved variables - MHD version"
+ }
+ else if(CCTK_Equals(Bvec_evolution_method,"GRHydro_Avec"))
+ {
+ schedule Conservative2PrimitiveAM IN HydroBase_Con2Prim AS Con2Prim IF GRHydro::execute_MoL_PostStep
+ {
+ LANG: Fortran
+ } "Convert back to primitive variables (general) - MHD with Avec version"
+
+ schedule Primitive2ConservativeCellsAM IN HydroBase_Prim2ConInitial
+ {
+ LANG: Fortran
+ } "Convert initial data given in primive variables to conserved variables - MHD with Avec version"
}
else
{
@@ -963,6 +1107,16 @@ else if (CCTK_Equals(GRHydro_eos_type,"Polytype"))
{
LANG: Fortran
} "Convert initial data given in primive variables to conserved variables - MHD version"
+ } else if(CCTK_Equals(Bvec_evolution_method,"GRHydro_Avec")) {
+ schedule Conservative2PrimitivePolytypeAM IN HydroBase_Con2Prim AS Con2Prim
+ {
+ LANG: Fortran
+ } "Convert back to primitive variables (polytype) - MHD with Avec version"
+
+ schedule Primitive2ConservativePolyCellsAM IN HydroBase_Prim2ConInitial
+ {
+ LANG: Fortran
+ } "Convert initial data given in primive variables to conserved variables - MHD with Avec version"
} else {
schedule Conservative2PrimitivePolytype IN HydroBase_Con2Prim AS Con2Prim
{
@@ -1237,6 +1391,11 @@ if (CCTK_Equals(Bvec_evolution_method,"GRHydro"))
{
LANG: Fortran
} "Reset the atmosphere - MHD version"
+} else if (CCTK_Equals(Bvec_evolution_method,"GRHydro_Avec")) {
+ schedule GRHydro_AtmosphereResetAM IN HydroBase_PostStep AFTER GRHydroPostSyncAtmosphereMask BEFORE (HydroBase_Boundaries,GRHydro_PrimitiveInitialGuessesBoundaries) IF GRHydro::InLastMoLPostStep
+ {
+ LANG: Fortran
+ } "Reset the atmosphere - MHD with Avec version"
} else {
schedule GRHydro_AtmosphereReset IN HydroBase_PostStep AFTER GRHydroPostSyncAtmosphereMask BEFORE (HydroBase_Boundaries,GRHydro_PrimitiveInitialGuessesBoundaries) IF GRHydro::InLastMoLPostStep
{
@@ -1303,7 +1462,7 @@ schedule check_GRHydro_C2P_failed AT CCTK_POSTSTEP AFTER GRHydro_RefinementLevel
} "Check the mask function that contains the points where C2P has failed and report an error in case a failure is found"
-if (CCTK_Equals(Bvec_evolution_method,"GRHydro"))
+if (CCTK_Equals(Bvec_evolution_method,"GRHydro") || CCTK_Equals(Bvec_evolution_method,"GRHydro_Avec"))
{
schedule GRHydro_TmunuM IN AddToTmunu
{
@@ -1318,7 +1477,6 @@ if (CCTK_Equals(Bvec_evolution_method,"GRHydro"))
LANG: Fortran
} "Compute comoving magnetic field, pressure, etc..."
}
-
} else {
schedule GRHydro_Tmunu IN AddToTmunu
{