Skip to content

Commit

Permalink
AsterX: beautify schedule.ccl
Browse files Browse the repository at this point in the history
  • Loading branch information
lwJi committed May 22, 2024
1 parent f220d75 commit 8f89e15
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 56 deletions.
4 changes: 2 additions & 2 deletions AsterSeeds/schedule.ccl
Original file line number Diff line number Diff line change
Expand Up @@ -53,14 +53,14 @@ if (CCTK_Equals(test_type, "3DTest")) {
if (CCTK_Equals(test_case, "magTOV")) {

STORAGE: Avec_cent
SCHEDULE AsterSeeds_InitializeCenteredAvec AT initial AFTER HydroBaseX_PostInitial BEFORE AsterX_ComputedBstagFromA {
SCHEDULE AsterSeeds_InitializeCenteredAvec AT initial AFTER HydroBaseX_PostInitial BEFORE AsterX_InitialGroup {
LANG: C
READS: HydroBaseX::press(everywhere)
WRITES: Avec_x_cent(everywhere) Avec_y_cent(everywhere) Avec_z_cent(everywhere)
}
"Set up initial conditions for the cell-centered vector potential"

SCHEDULE AsterSeeds_InitializeStagAvec AT initial AFTER AsterSeeds_InitializeCenteredAvec BEFORE AsterX_ComputedBstagFromA {
SCHEDULE AsterSeeds_InitializeStagAvec AT initial AFTER AsterSeeds_InitializeCenteredAvec BEFORE AsterX_InitialGroup {
LANG: C
READS: Avec_x_cent(everywhere) Avec_y_cent(everywhere) Avec_z_cent(everywhere)
WRITES: AsterX::Avec_x(interior) AsterX::Avec_y(interior) AsterX::Avec_z(interior)
Expand Down
118 changes: 64 additions & 54 deletions AsterX/schedule.ccl
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,7 @@ STORAGE: ADMBaseX::metric ADMBaseX::lapse ADMBaseX::shift ADMBaseX::curv
STORAGE: Aux_in_RHSof_A_Psi
STORAGE: TmunuBaseX::eTtt TmunuBaseX::eTti TmunuBaseX::eTij

# Initialization

SCHEDULE GROUP AsterX_CalcPrim IN ODESolvers_PostStep BEFORE TmunuBaseX_SetTmunuVars AFTER AsterX_Sync
{
} "Compute primitive variables"

if(unit_test)
{
Expand All @@ -29,34 +25,46 @@ if(local_estimate_error)
LANG: C
OPTIONS: GLOBAL
} "set up for calculating regrid error"

SCHEDULE AsterX_EstimateError IN ODESolvers_EstimateError
{
LANG: C
READS: HydroBaseX::rho(everywhere) HydroBaseX::vel(everywhere) HydroBaseX::eps(everywhere) HydroBaseX::press(everywhere)
WRITES: CarpetX::regrid_error(interior)
} "Estimate local error for regridding initial conditions"
}
# Initial conditions

SCHEDULE AsterX_ComputedBstagFromA AT initial AFTER HydroBaseX_PostInitial BEFORE AsterX_ComputedBFromdBstag


SCHEDULE GROUP AsterX_InitialGroup AT initial AFTER HydroBaseX_PostInitial
{
} "Initialize conservative variables"

SCHEDULE AsterX_ComputedBstagFromA IN AsterX_InitialGroup
{
LANG: C
READS: Avec_x(everywhere) Avec_y(everywhere) Avec_z(everywhere)
WRITES: dBx_stag(interior) dBy_stag(interior) dBz_stag(interior)
SYNC: dBx_stag dBy_stag dBz_stag
} "Calculate dBstag from curl of A"

SCHEDULE AsterX_ComputedBFromdBstag AT initial BEFORE AsterX_ComputeBFromdB
SCHEDULE AsterX_ComputedBFromdBstag IN AsterX_InitialGroup AFTER AsterX_ComputedBstagFromA
{
LANG: C
READS: dBx_stag(everywhere) dBy_stag(everywhere) dBz_stag(everywhere)
WRITES: dB(interior)
SYNC: dB
} "Calculate centered dB from dBstag"

SCHEDULE AsterX_ComputeBFromdB AT initial BEFORE AsterX_Prim2Con_Initial
SCHEDULE AsterX_ComputeBFromdB IN AsterX_InitialGroup AFTER AsterX_ComputedBFromdBstag
{
LANG: C
READS: dB(interior) ADMBaseX::metric(interior)
WRITES: HydroBaseX::Bvec(interior)
SYNC: HydroBaseX::Bvec
} "Calculate centered B from densitized B"

SCHEDULE AsterX_Prim2Con_Initial AT initial AFTER HydroBaseX_PostInitial
SCHEDULE AsterX_Prim2Con_Initial IN AsterX_InitialGroup AFTER AsterX_ComputeBFromdB
{
LANG: C
READS: ADMBaseX::metric(interior)
Expand All @@ -68,16 +76,7 @@ SCHEDULE AsterX_Prim2Con_Initial AT initial AFTER HydroBaseX_PostInitial
SYNC: saved_prims
} "Compute conserved variables from primitive variables at initial"

if(local_estimate_error)
{
SCHEDULE AsterX_EstimateError IN ODESolvers_EstimateError
{
LANG: C
READS: HydroBaseX::rho(everywhere) HydroBaseX::vel(everywhere) HydroBaseX::eps(everywhere) HydroBaseX::press(everywhere)
WRITES: CarpetX::regrid_error(interior)
} "Estimate local error for regridding initial conditions"
}
# Regridding


SCHEDULE AsterX_Sync AT postregrid
{
Expand All @@ -87,26 +86,36 @@ SCHEDULE AsterX_Sync AT postregrid
SYNC: saved_prims
} "Synchronize"

# Time stepping
SCHEDULE AsterX_Sync IN ODESolvers_PostStep
{
LANG: C
OPTIONS: global
SYNC: dens tau mom Avec_x Avec_y Avec_z Psi
} "Synchronize"



SCHEDULE AsterX_ComputedBstagFromA IN AsterX_CalcPrim BEFORE AsterX_Con2Prim
SCHEDULE GROUP AsterX_Con2PrimGroup IN ODESolvers_PostStep BEFORE TmunuBaseX_SetTmunuVars AFTER AsterX_Sync
{
} "Compute primitive variables"

SCHEDULE AsterX_ComputedBstagFromA IN AsterX_Con2PrimGroup
{
LANG: C
READS: Avec_x(everywhere) Avec_y(everywhere) Avec_z(everywhere)
WRITES: dBx_stag(interior) dBy_stag(interior) dBz_stag(interior)
SYNC: dBx_stag dBy_stag dBz_stag
} "Calculate dBstag from curl of A"

SCHEDULE AsterX_ComputedBFromdBstag IN AsterX_CalcPrim AFTER AsterX_ComputedBstagFromA BEFORE AsterX_Con2Prim
SCHEDULE AsterX_ComputedBFromdBstag IN AsterX_Con2PrimGroup AFTER AsterX_ComputedBstagFromA
{
LANG: C
READS: dBx_stag(everywhere) dBy_stag(everywhere) dBz_stag(everywhere)
WRITES: dB(interior)
SYNC: dB
} "Calculate centered dB from dBstag"


SCHEDULE AsterX_Con2Prim IN AsterX_CalcPrim
SCHEDULE AsterX_Con2Prim IN AsterX_Con2PrimGroup AFTER AsterX_ComputedBFromdBstag
{
LANG: C
READS: ADMBaseX::metric(interior)
Expand All @@ -123,28 +132,13 @@ SCHEDULE AsterX_Con2Prim IN AsterX_CalcPrim
SYNC: dens tau mom dB
} "Calculate primitive variables from conservative variables"

if (interpolate_failed_c2p)


SCHEDULE GROUP AsterX_RHSGroup IN ODESolvers_RHS
{
SCHEDULE AsterX_Con2Prim_Interpolate_Failed IN ODESolvers_RHS BEFORE AsterX_Fluxes
{
LANG: C
READS: ADMBaseX::metric(interior)
READS: con2prim_flag(interior)
READS: HydroBaseX::rho(interior) HydroBaseX::vel(interior) HydroBaseX::eps(interior) HydroBaseX::press(interior) HydroBaseX::Bvec(interior)
READS: saved_prims(interior)
READS: dens(interior) tau(interior) mom(interior)
WRITES: con2prim_flag(interior)
WRITES: HydroBaseX::rho(interior) HydroBaseX::vel(interior) HydroBaseX::eps(interior) HydroBaseX::press(interior)
WRITES: saved_prims(interior)
WRITES: dens(interior) tau(interior) mom(interior)
SYNC: con2prim_flag
SYNC: HydroBaseX::rho HydroBaseX::vel HydroBaseX::eps HydroBaseX::press
SYNC: saved_prims
SYNC: dens tau mom
} "Interpolate those grid points where con2prim failed"
}

SCHEDULE AsterX_Fluxes IN ODESolvers_RHS
} "Calculate AsterX RHS"

SCHEDULE AsterX_Fluxes IN AsterX_RHSGroup
{
LANG: C
READS: ADMBaseX::metric(everywhere)
Expand All @@ -160,7 +154,7 @@ SCHEDULE AsterX_Fluxes IN ODESolvers_RHS
SYNC: flux_x flux_y flux_z
} "Calculate the hydro fluxes"

SCHEDULE AsterX_SourceTerms IN ODESolvers_RHS AFTER AsterX_Fluxes
SCHEDULE AsterX_SourceTerms IN AsterX_RHSGroup AFTER AsterX_Fluxes
{
LANG: C
READS: ADMBaseX::metric(everywhere)
Expand All @@ -173,7 +167,7 @@ SCHEDULE AsterX_SourceTerms IN ODESolvers_RHS AFTER AsterX_Fluxes
SYNC: densrhs taurhs momrhs
} "Calculate the source terms and compute the RHS of the hydro equations"

SCHEDULE AsterX_RHS IN ODESolvers_RHS AFTER AsterX_SourceTerms
SCHEDULE AsterX_RHS IN AsterX_RHSGroup AFTER AsterX_SourceTerms
{
LANG: C
READS: ADMBaseX::metric(everywhere) ADMBaseX::lapse(everywhere) ADMBaseX::shift(everywhere)
Expand All @@ -187,6 +181,29 @@ SCHEDULE AsterX_RHS IN ODESolvers_RHS AFTER AsterX_SourceTerms
SYNC: Avec_x_rhs Avec_y_rhs Avec_z_rhs Psi_rhs
} "Update the RHS of the hydro equations with the flux contributions"



if (interpolate_failed_c2p)
{
SCHEDULE AsterX_Con2Prim_Interpolate_Failed IN AsterX_RHSGroup BEFORE AsterX_Fluxes
{
LANG: C
READS: ADMBaseX::metric(interior)
READS: con2prim_flag(interior)
READS: HydroBaseX::rho(interior) HydroBaseX::vel(interior) HydroBaseX::eps(interior) HydroBaseX::press(interior) HydroBaseX::Bvec(interior)
READS: saved_prims(interior)
READS: dens(interior) tau(interior) mom(interior)
WRITES: con2prim_flag(interior)
WRITES: HydroBaseX::rho(interior) HydroBaseX::vel(interior) HydroBaseX::eps(interior) HydroBaseX::press(interior)
WRITES: saved_prims(interior)
WRITES: dens(interior) tau(interior) mom(interior)
SYNC: con2prim_flag
SYNC: HydroBaseX::rho HydroBaseX::vel HydroBaseX::eps HydroBaseX::press
SYNC: saved_prims
SYNC: dens tau mom
} "Interpolate those grid points where con2prim failed"
}

if(update_tmunu){
SCHEDULE AsterX_Tmunu IN TmunuBaseX_AddToTmunu
{
Expand All @@ -199,10 +216,3 @@ if(update_tmunu){
SYNC: TmunuBaseX::eTtt TmunuBaseX::eTti TmunuBaseX::eTij
} "Compute the energy-momentum tensor"
}

SCHEDULE AsterX_Sync IN ODESolvers_PostStep
{
LANG: C
OPTIONS: global
SYNC: dens tau mom Avec_x Avec_y Avec_z Psi
} "Synchronize"

0 comments on commit 8f89e15

Please sign in to comment.