From c4a84ebc11e7fc21640a4220bf51e7af2640f363 Mon Sep 17 00:00:00 2001 From: Liwei Ji Date: Wed, 11 Sep 2024 08:57:53 -0400 Subject: [PATCH] Z4cow: add interface.ccl --- Z4cow/interface.ccl | 103 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 Z4cow/interface.ccl diff --git a/Z4cow/interface.ccl b/Z4cow/interface.ccl new file mode 100644 index 00000000..32b92333 --- /dev/null +++ b/Z4cow/interface.ccl @@ -0,0 +1,103 @@ +# Interface definition for thorn Z4cow + +IMPLEMENTS: Z4cow + +INHERITS: ADMBaseX TmunuBaseX + +USES INCLUDE HEADER: defs.hxx +USES INCLUDE HEADER: div.hxx +USES INCLUDE HEADER: dual.hxx +USES INCLUDE HEADER: loop_device.hxx +USES INCLUDE HEADER: mat.hxx +USES INCLUDE HEADER: simd.hxx +USES INCLUDE HEADER: sum.hxx +USES INCLUDE HEADER: vec.hxx +USES INCLUDE HEADER: vect.hxx + +USES INCLUDE HEADER: derivs.hxx +USES INCLUDE HEADER: newradx.hxx + + +CCTK_INT FUNCTION GetCallFunctionCount() +REQUIRES FUNCTION GetCallFunctionCount + + + +# All variables have been shifted so that they tend to zero in flat space + +CCTK_REAL W TYPE=gf TAGS='rhs="W_rhs" dependents="ADMBaseX::metric"' "W" +CCTK_REAL gamma_tilde TYPE=gf TAGS='parities={+1 +1 +1 -1 -1 +1 -1 +1 -1 +1 +1 +1 +1 -1 -1 +1 +1 +1} rhs="gamma_tilde_rhs" dependents="ADMBaseX::metric"' { gammatxx gammatxy gammatxz gammatyy gammatyz gammatzz } "gamma-tilde" +CCTK_REAL K_hat TYPE=gf TAGS='rhs="K_hat_rhs" dependents="ADMBaseX::curv"' { Kh } "K-hat" +CCTK_REAL A_tilde TYPE=gf TAGS='parities={+1 +1 +1 -1 -1 +1 -1 +1 -1 +1 +1 +1 +1 -1 -1 +1 +1 +1} rhs="A_tilde_rhs" dependents="ADMBaseX::curv"' { Atxx Atxy Atxz Atyy Atyz Atzz } "A-tilde" +CCTK_REAL Gam_tilde TYPE=gf TAGS='parities={-1 +1 +1 +1 -1 +1 +1 +1 -1} rhs="Gam_tilde_rhs"' { Gamtx Gamty Gamtz } "Gamma-tilde" +CCTK_REAL Theta TYPE=gf TAGS='rhs="Theta_rhs" dependents="ADMBaseX::curv"' "Theta" +CCTK_REAL alphaG TYPE=gf TAGS='rhs="alphaG_rhs" dependents="ADMBaseX::lapse ADMBaseX::dtlapse"' "alpha" +CCTK_REAL betaG TYPE=gf TAGS='parities={-1 +1 +1 +1 -1 +1 +1 +1 -1} rhs="betaG_rhs" dependents="ADMBaseX::shift ADMBaseX::dtshift"' { betaGx betaGy betaGz } "beta" + + + +CCTK_REAL ZtC TYPE=gf TAGS='parities={-1 +1 +1 +1 -1 +1 +1 +1 -1} checkpoint="no"' { ZtCx ZtCy ZtCz } "Z-tilde" +CCTK_REAL HC TYPE=gf TAGS='checkpoint="no"' "H" +CCTK_REAL MtC TYPE=gf TAGS='parities={-1 +1 +1 +1 -1 +1 +1 +1 -1} checkpoint="no"' { MtCx MtCy MtCz } "M-tilde" +CCTK_REAL allC TYPE=gf TAGS='checkpoint="no"' "constraint monitor" + + + +CCTK_REAL W_rhs TYPE=gf TAGS='checkpoint="no"' "W" +CCTK_REAL gamma_tilde_rhs 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_rhs gammatxy_rhs gammatxz_rhs gammatyy_rhs gammatyz_rhs gammatzz_rhs } "gamma-tilde" +CCTK_REAL K_hat_rhs TYPE=gf TAGS='checkpoint="no"' { Kh_rhs } "K-hat" +CCTK_REAL A_tilde_rhs 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_rhs Atxy_rhs Atxz_rhs Atyy_rhs Atyz_rhs Atzz_rhs } "A-tilde" +CCTK_REAL Gam_tilde_rhs TYPE=gf TAGS='parities={-1 +1 +1 +1 -1 +1 +1 +1 -1} checkpoint="no"' { Gamtx_rhs Gamty_rhs Gamtz_rhs } "Gamma-tilde" +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 W_old TYPE=gf TAGS='checkpoint="no"' "W" +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 W_k1 TYPE=gf TAGS='checkpoint="no"' "W" +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 W_k2 TYPE=gf TAGS='checkpoint="no"' "W" +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 W_k3 TYPE=gf TAGS='checkpoint="no"' "W" +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 W_k4 TYPE=gf TAGS='checkpoint="no"' "W" +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"