Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Z4c: add subcycling support #53

Merged
merged 1 commit into from
Jan 15, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions Z4c/interface.ccl
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,52 @@ CCTK_REAL Gam_tilde_rhs TYPE=gf TAGS='parities={-1 +1 +1 +1 -1 +1 +1 +1 -1}
CCTK_REAL Theta_rhs TYPE=gf TAGS='checkpoint="no"' "Theta"
CCTK_REAL alphaG_rhs TYPE=gf TAGS='checkpoint="no"' "alpha"
CCTK_REAL betaG_rhs TYPE=gf TAGS='parities={-1 +1 +1 +1 -1 +1 +1 +1 -1} checkpoint="no"' { betaGx_rhs betaGy_rhs betaGz_rhs } "beta"



# for subcycling

CCTK_REAL chi_old TYPE=gf TAGS='checkpoint="no"' "chi"
CCTK_REAL gamma_tilde_old TYPE=gf TAGS='parities={+1 +1 +1 -1 -1 +1 -1 +1 -1 +1 +1 +1 +1 -1 -1 +1 +1 +1} checkpoint="no"' { gammatxx_old gammatxy_old gammatxz_old gammatyy_old gammatyz_old gammatzz_old } "gamma-tilde"
CCTK_REAL K_hat_old TYPE=gf TAGS='checkpoint="no"' { Kh_old } "K-hat"
CCTK_REAL A_tilde_old TYPE=gf TAGS='parities={+1 +1 +1 -1 -1 +1 -1 +1 -1 +1 +1 +1 +1 -1 -1 +1 +1 +1} checkpoint="no"' { Atxx_old Atxy_old Atxz_old Atyy_old Atyz_old Atzz_old } "A-tilde"
CCTK_REAL Gam_tilde_old TYPE=gf TAGS='parities={-1 +1 +1 +1 -1 +1 +1 +1 -1} checkpoint="no"' { Gamtx_old Gamty_old Gamtz_old } "Gamma-tilde"
CCTK_REAL Theta_old TYPE=gf TAGS='checkpoint="no"' "Theta"
CCTK_REAL alphaG_old TYPE=gf TAGS='checkpoint="no"' "alpha"
CCTK_REAL betaG_old TYPE=gf TAGS='parities={-1 +1 +1 +1 -1 +1 +1 +1 -1} checkpoint="no"' { betaGx_old betaGy_old betaGz_old } "beta"

CCTK_REAL chi_k1 TYPE=gf TAGS='checkpoint="no"' "chi"
CCTK_REAL gamma_tilde_k1 TYPE=gf TAGS='parities={+1 +1 +1 -1 -1 +1 -1 +1 -1 +1 +1 +1 +1 -1 -1 +1 +1 +1} checkpoint="no"' { gammatxx_k1 gammatxy_k1 gammatxz_k1 gammatyy_k1 gammatyz_k1 gammatzz_k1 } "gamma-tilde"
CCTK_REAL K_hat_k1 TYPE=gf TAGS='checkpoint="no"' { Kh_k1 } "K-hat"
CCTK_REAL A_tilde_k1 TYPE=gf TAGS='parities={+1 +1 +1 -1 -1 +1 -1 +1 -1 +1 +1 +1 +1 -1 -1 +1 +1 +1} checkpoint="no"' { Atxx_k1 Atxy_k1 Atxz_k1 Atyy_k1 Atyz_k1 Atzz_k1 } "A-tilde"
CCTK_REAL Gam_tilde_k1 TYPE=gf TAGS='parities={-1 +1 +1 +1 -1 +1 +1 +1 -1} checkpoint="no"' { Gamtx_k1 Gamty_k1 Gamtz_k1 } "Gamma-tilde"
CCTK_REAL Theta_k1 TYPE=gf TAGS='checkpoint="no"' "Theta"
CCTK_REAL alphaG_k1 TYPE=gf TAGS='checkpoint="no"' "alpha"
CCTK_REAL betaG_k1 TYPE=gf TAGS='parities={-1 +1 +1 +1 -1 +1 +1 +1 -1} checkpoint="no"' { betaGx_k1 betaGy_k1 betaGz_k1 } "beta"

CCTK_REAL chi_k2 TYPE=gf TAGS='checkpoint="no"' "chi"
CCTK_REAL gamma_tilde_k2 TYPE=gf TAGS='parities={+1 +1 +1 -1 -1 +1 -1 +1 -1 +1 +1 +1 +1 -1 -1 +1 +1 +1} checkpoint="no"' { gammatxx_k2 gammatxy_k2 gammatxz_k2 gammatyy_k2 gammatyz_k2 gammatzz_k2 } "gamma-tilde"
CCTK_REAL K_hat_k2 TYPE=gf TAGS='checkpoint="no"' { Kh_k2 } "K-hat"
CCTK_REAL A_tilde_k2 TYPE=gf TAGS='parities={+1 +1 +1 -1 -1 +1 -1 +1 -1 +1 +1 +1 +1 -1 -1 +1 +1 +1} checkpoint="no"' { Atxx_k2 Atxy_k2 Atxz_k2 Atyy_k2 Atyz_k2 Atzz_k2 } "A-tilde"
CCTK_REAL Gam_tilde_k2 TYPE=gf TAGS='parities={-1 +1 +1 +1 -1 +1 +1 +1 -1} checkpoint="no"' { Gamtx_k2 Gamty_k2 Gamtz_k2 } "Gamma-tilde"
CCTK_REAL Theta_k2 TYPE=gf TAGS='checkpoint="no"' "Theta"
CCTK_REAL alphaG_k2 TYPE=gf TAGS='checkpoint="no"' "alpha"
CCTK_REAL betaG_k2 TYPE=gf TAGS='parities={-1 +1 +1 +1 -1 +1 +1 +1 -1} checkpoint="no"' { betaGx_k2 betaGy_k2 betaGz_k2 } "beta"

CCTK_REAL chi_k3 TYPE=gf TAGS='checkpoint="no"' "chi"
CCTK_REAL gamma_tilde_k3 TYPE=gf TAGS='parities={+1 +1 +1 -1 -1 +1 -1 +1 -1 +1 +1 +1 +1 -1 -1 +1 +1 +1} checkpoint="no"' { gammatxx_k3 gammatxy_k3 gammatxz_k3 gammatyy_k3 gammatyz_k3 gammatzz_k3 } "gamma-tilde"
CCTK_REAL K_hat_k3 TYPE=gf TAGS='checkpoint="no"' { Kh_k3 } "K-hat"
CCTK_REAL A_tilde_k3 TYPE=gf TAGS='parities={+1 +1 +1 -1 -1 +1 -1 +1 -1 +1 +1 +1 +1 -1 -1 +1 +1 +1} checkpoint="no"' { Atxx_k3 Atxy_k3 Atxz_k3 Atyy_k3 Atyz_k3 Atzz_k3 } "A-tilde"
CCTK_REAL Gam_tilde_k3 TYPE=gf TAGS='parities={-1 +1 +1 +1 -1 +1 +1 +1 -1} checkpoint="no"' { Gamtx_k3 Gamty_k3 Gamtz_k3 } "Gamma-tilde"
CCTK_REAL Theta_k3 TYPE=gf TAGS='checkpoint="no"' "Theta"
CCTK_REAL alphaG_k3 TYPE=gf TAGS='checkpoint="no"' "alpha"
CCTK_REAL betaG_k3 TYPE=gf TAGS='parities={-1 +1 +1 +1 -1 +1 +1 +1 -1} checkpoint="no"' { betaGx_k3 betaGy_k3 betaGz_k3 } "beta"

CCTK_REAL chi_k4 TYPE=gf TAGS='checkpoint="no"' "chi"
CCTK_REAL gamma_tilde_k4 TYPE=gf TAGS='parities={+1 +1 +1 -1 -1 +1 -1 +1 -1 +1 +1 +1 +1 -1 -1 +1 +1 +1} checkpoint="no"' { gammatxx_k4 gammatxy_k4 gammatxz_k4 gammatyy_k4 gammatyz_k4 gammatzz_k4 } "gamma-tilde"
CCTK_REAL K_hat_k4 TYPE=gf TAGS='checkpoint="no"' { Kh_k4 } "K-hat"
CCTK_REAL A_tilde_k4 TYPE=gf TAGS='parities={+1 +1 +1 -1 -1 +1 -1 +1 -1 +1 +1 +1 +1 -1 -1 +1 +1 +1} checkpoint="no"' { Atxx_k4 Atxy_k4 Atxz_k4 Atyy_k4 Atyz_k4 Atzz_k4 } "A-tilde"
CCTK_REAL Gam_tilde_k4 TYPE=gf TAGS='parities={-1 +1 +1 +1 -1 +1 +1 +1 -1} checkpoint="no"' { Gamtx_k4 Gamty_k4 Gamtz_k4 } "Gamma-tilde"
CCTK_REAL Theta_k4 TYPE=gf TAGS='checkpoint="no"' "Theta"
CCTK_REAL alphaG_k4 TYPE=gf TAGS='checkpoint="no"' "alpha"
CCTK_REAL betaG_k4 TYPE=gf TAGS='parities={-1 +1 +1 +1 -1 +1 +1 +1 -1} checkpoint="no"' { betaGx_k4 betaGy_k4 betaGz_k4 } "beta"
4 changes: 4 additions & 0 deletions Z4c/param.ccl
Original file line number Diff line number Diff line change
Expand Up @@ -101,3 +101,7 @@ CCTK_INT n_betaG "n power of outgoing boundary r^n fall off rate for beta"
{
0:2 :: "1 is my guess"
} 1

SHARES: Driver

USES BOOLEAN use_subcycling_wip
47 changes: 47 additions & 0 deletions Z4c/schedule.ccl
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,53 @@ STORAGE: Theta_rhs
STORAGE: alphaG_rhs
STORAGE: betaG_rhs

if(use_subcycling_wip) {
STORAGE: chi_old
STORAGE: gamma_tilde_old
STORAGE: K_hat_old
STORAGE: A_tilde_old
STORAGE: Gam_tilde_old
STORAGE: Theta_old
STORAGE: alphaG_old
STORAGE: betaG_old

STORAGE: chi_k1
STORAGE: gamma_tilde_k1
STORAGE: K_hat_k1
STORAGE: A_tilde_k1
STORAGE: Gam_tilde_k1
STORAGE: Theta_k1
STORAGE: alphaG_k1
STORAGE: betaG_k1

STORAGE: chi_k2
STORAGE: gamma_tilde_k2
STORAGE: K_hat_k2
STORAGE: A_tilde_k2
STORAGE: Gam_tilde_k2
STORAGE: Theta_k2
STORAGE: alphaG_k2
STORAGE: betaG_k2

STORAGE: chi_k3
STORAGE: gamma_tilde_k3
STORAGE: K_hat_k3
STORAGE: A_tilde_k3
STORAGE: Gam_tilde_k3
STORAGE: Theta_k3
STORAGE: alphaG_k3
STORAGE: betaG_k3

STORAGE: chi_k4
STORAGE: gamma_tilde_k4
STORAGE: K_hat_k4
STORAGE: A_tilde_k4
STORAGE: Gam_tilde_k4
STORAGE: Theta_k4
STORAGE: alphaG_k4
STORAGE: betaG_k4
}



################################################################################
Expand Down
Loading