Integrate MHD equations using 3D version of the directionally unsplit MUSCL-Hancock (VL) integrator. More...
Go to the source code of this file.
Functions | |
static void | integrate_emf1_corner (const GridS *pG) |
Integrates face centered B-fluxes to compute corner EMFs. | |
static void | integrate_emf2_corner (const GridS *pG) |
Integrates face centered B-fluxes to compute corner EMFs. | |
static void | integrate_emf3_corner (const GridS *pG) |
Integrates face centered B-fluxes to compute corner EMFs. | |
static void | FixCell (GridS *pG, Int3Vect) |
Uses first order fluxes to fix negative d,P or superluminal v. | |
void | integrate_3d_vl (DomainS *pD) |
3D van Leer unsplit integrator for MHD. | |
void | integrate_init_3d (MeshS *pM) |
Allocate temporary integration arrays. | |
void | integrate_destruct_3d (void) |
Free temporary integration arrays. | |
Variables | |
static Prim1DS *** | Wl_x1Face = NULL |
static Prim1DS *** | Wr_x1Face = NULL |
static Prim1DS *** | Wl_x2Face = NULL |
static Prim1DS *** | Wr_x2Face = NULL |
static Prim1DS *** | Wl_x3Face = NULL |
static Prim1DS *** | Wr_x3Face = NULL |
static Cons1DS *** | x1Flux = NULL |
static Cons1DS *** | x2Flux = NULL |
static Cons1DS *** | x3Flux = NULL |
static Cons1DS *** | x1FluxP = NULL |
static Cons1DS *** | x2FluxP = NULL |
static Cons1DS *** | x3FluxP = NULL |
static Real *** | emf1P = NULL |
static Real *** | emf2P = NULL |
static Real *** | emf3P = NULL |
static Real *** | S = NULL |
static Real *** | Shalf = NULL |
static Real *** | x1FluxS = NULL |
static Real *** | x2FluxS = NULL |
static Real *** | x3FluxS = NULL |
static Real *** | x1FluxSP = NULL |
static Real *** | x2FluxSP = NULL |
static Real *** | x3FluxSP = NULL |
static Real *** | B1_x1Face = NULL |
static Real *** | B2_x2Face = NULL |
static Real *** | B3_x3Face = NULL |
static Real *** | emf1 = NULL |
static Real *** | emf2 = NULL |
static Real *** | emf3 = NULL |
static Real *** | emf1_cc = NULL |
static Real *** | emf2_cc = NULL |
static Real *** | emf3_cc = NULL |
static Real * | Bxc = NULL |
static Real * | Bxi = NULL |
static Prim1DS * | W1d = NULL |
static Prim1DS * | Wl = NULL |
static Prim1DS * | Wr = NULL |
static Cons1DS * | U1d = NULL |
static Cons1DS * | Ul = NULL |
static Cons1DS * | Ur = NULL |
static PrimS *** | W = NULL |
static ConsS *** | Uhalf = NULL |
static PrimS *** | Whalf = NULL |
Real | etah |
static Real *** | eta1 = NULL |
static Real *** | eta2 = NULL |
static Real *** | eta3 = NULL |
Integrate MHD equations using 3D version of the directionally unsplit MUSCL-Hancock (VL) integrator.
PURPOSE: Integrate MHD equations using 3D version of the directionally unsplit MUSCL-Hancock (VL) integrator. The variables updated are:
For adb hydro, requires (9*Cons1DS + 3*Real + 1*ConsS) = 53 3D arrays
REFERENCE:
CONTAINS PUBLIC FUNCTIONS:
Definition in file integrate_3d_vl_sr.c.
Uses first order fluxes to fix negative d,P or superluminal v.
Definition at line 2197 of file integrate_3d_vl_sr.c.
References ConsS::B1c, GridS::B1i, ConsS::B2c, GridS::B2i, ConsS::B3c, GridS::B3i, ConsS::d, Cons1DS::d, GridS::dt, GridS::dx1, GridS::dx2, GridS::dx3, ConsS::E, Cons1DS::E, emf1, emf1P, emf2, emf2P, emf3, emf3P, Int3Vect::i, GridS::ie, GridS::is, Int3Vect::j, GridS::je, GridS::js, Int3Vect::k, GridS::ke, GridS::ks, ConsS::M1, ConsS::M2, ConsS::M3, Cons1DS::Mx, Cons1DS::My, Cons1DS::Mz, GridS::U, x2Flux, x2FluxP, x3Flux, and x3FluxP.
Referenced by integrate_3d_vl().
void integrate_3d_vl | ( | DomainS * | pD | ) |
3D van Leer unsplit integrator for MHD.
Definition at line 113 of file integrate_3d_vl_sr.c.
References ath_error(), B1_x1Face, PrimS::B1c, ConsS::B1c, GridS::B1i, B2_x2Face, PrimS::B2c, ConsS::B2c, GridS::B2i, B3_x3Face, PrimS::B3c, ConsS::B3c, GridS::B3i, Bxc, Bxi, Prim1DS::By, Cons1DS::By, Prim1DS::Bz, Bz(), Cons1DS::Bz, cc_pos(), cfast(), GridS::CGrid, check_Prim(), Cons1D_to_Prim1D(), Cons_to_Prim(), Prim1DS::d, PrimS::d, d(), ConsS::d, Cons1DS::d, dim, GridS::dt, GridS::dx1, GridS::dx2, GridS::dx3, E, ConsS::E, Cons1DS::E, emf1, emf1_cc, emf1P, emf2, emf2_cc, emf2P, emf3, emf3_cc, emf3P, entropy_fix(), entropy_flux(), eta1, eta2, eta3, etah, fix_vsq(), FixCell(), fluxes(), four_pi_G, Gamma, grav_mean_rho, DomainS::Grid, Int3Vect::i, GridS::ie, GridOvrlpS::ijke, GridOvrlpS::ijks, il, integrate_emf1_corner(), integrate_emf2_corner(), integrate_emf3_corner(), GridS::is, iu, Int3Vect::j, GridS::je, jl, GridS::js, ju, Int3Vect::k, GridS::ke, kl, GridS::ks, ku, lr_states(), ConsS::M1, ConsS::M2, ConsS::M3, Cons1DS::Mx, Cons1DS::My, GridOvrlpS::myEMF1, GridOvrlpS::myEMF2, GridOvrlpS::myEMF3, GridOvrlpS::myFlx, Cons1DS::Mz, n, GridS::NCGrid, GridS::NPGrid, Prim1DS::P, PrimS::P, GridS::PGrid, GridS::Phi, Prim1D_to_Cons1D(), Prim_to_Cons(), S, Cons1DS::s, ConsS::s, s, Shalf, StaticGravPot, GridS::U, Ul, Ul_x1Face, Ul_x2Face, Ul_x3Face, Ur, Ur_x1Face, Ur_x2Face, Ur_x3Face, PrimS::V1, PrimS::V2, PrimS::V3, Prim1DS::Vx, Prim1DS::Vy, Vz(), Prim1DS::Vz, W, Whalf, Wl, Wr, Wr_x1Face, Wr_x2Face, Wr_x3Face, x1FluxS, x1FluxSP, GridS::x1MassFlux, x2Flux, x2FluxP, x2FluxS, x2FluxSP, GridS::x2MassFlux, x3Flux, x3FluxP, x3FluxS, x3FluxSP, and GridS::x3MassFlux.
void integrate_destruct_3d | ( | void | ) |
Free temporary integration arrays.
Definition at line 1894 of file integrate_3d_vl_sr.c.
References B1_x1Face, B2_x2Face, B3_x3Face, Bxc, Bxi, dhalf, emf1, emf1_cc, emf1P, emf2, emf2_cc, emf2P, emf3, emf3_cc, emf3P, eta1, eta2, eta3, free_2d_array(), free_3d_array(), geom_src, phalf, remapEyiib, remapEyoib, S, Shalf, Ul, Ur, Ur_x1Face, Ur_x2Face, Ur_x3Face, Wl, Wr, Wr_x1Face, Wr_x2Face, Wr_x3Face, x1FluxS, x1FluxSP, x2Flux, x2FluxP, x2FluxS, x2FluxSP, x3Flux, x3FluxP, x3FluxS, and x3FluxSP.
static void integrate_emf1_corner | ( | const GridS * | pG | ) | [static] |
Integrates face centered B-fluxes to compute corner EMFs.
Note:
first_order_correction() - Added by N. Lemaster to run supersonic turbulence
Definition at line 1983 of file integrate_3d_vl_sr.c.
References Cons1DS::By, Cons1DS::Bz, d(), emf1, emf1_cc, GridS::ie, il, GridS::is, iu, GridS::je, jl, GridS::js, ju, GridS::ke, kl, GridS::ks, ku, x2Flux, and x3Flux.
Referenced by integrate_3d_vl().
static void integrate_emf2_corner | ( | const GridS * | pG | ) | [static] |
Integrates face centered B-fluxes to compute corner EMFs.
Note:
first_order_correction() - Added by N. Lemaster to run supersonic turbulence
Definition at line 2057 of file integrate_3d_vl_sr.c.
References Cons1DS::By, Cons1DS::Bz, d(), emf2, emf2_cc, GridS::ie, il, GridS::is, iu, GridS::je, jl, GridS::js, ju, GridS::ke, kl, GridS::ks, ku, and x3Flux.
Referenced by integrate_3d_vl().
static void integrate_emf3_corner | ( | const GridS * | pG | ) | [static] |
Integrates face centered B-fluxes to compute corner EMFs.
Note:
first_order_correction() - Added by N. Lemaster to run supersonic turbulence
Definition at line 2131 of file integrate_3d_vl_sr.c.
References Cons1DS::By, Cons1DS::Bz, d(), emf3, emf3_cc, GridS::ie, il, GridS::is, iu, GridS::je, jl, GridS::js, ju, GridS::ke, kl, GridS::ks, ku, and x2Flux.
Referenced by integrate_3d_vl().
void integrate_init_3d | ( | MeshS * | pM | ) |
Allocate temporary integration arrays.
Definition at line 1753 of file integrate_3d_vl_sr.c.
References ath_error(), B1_x1Face, B2_x2Face, B3_x3Face, Bxc, Bxi, calloc_2d_array(), calloc_3d_array(), CoolingFunc, dhalf, MeshS::Domain, MeshS::DomainsPerLevel, emf1, emf1_cc, emf1P, emf2, emf2_cc, emf2P, emf3, emf3_cc, emf3P, eta1, eta2, eta3, geom_src, DomainS::Grid, integrate_destruct(), MeshS::NLevels, GridS::Nx, phalf, remapEyiib, remapEyoib, S, Shalf, StaticGravPot, Ul, Ur, Ur_x1Face, Ur_x2Face, Ur_x3Face, Wl, Wr, Wr_x1Face, Wr_x2Face, Wr_x3Face, x1FluxS, x1FluxSP, x2Flux, x2FluxP, x2FluxS, x2FluxSP, x3Flux, x3FluxP, x3FluxS, and x3FluxSP.
Definition at line 68 of file integrate_3d_vl_sr.c.
Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 68 of file integrate_3d_vl_sr.c.
Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 68 of file integrate_3d_vl_sr.c.
Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 74 of file integrate_3d_vl_sr.c.
Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 74 of file integrate_3d_vl_sr.c.
Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 69 of file integrate_3d_vl_sr.c.
Definition at line 70 of file integrate_3d_vl_sr.c.
Referenced by integrate_3d_vl(), integrate_destruct_3d(), integrate_emf1_corner(), and integrate_init_3d().
Definition at line 55 of file integrate_3d_vl_sr.c.
Referenced by FixCell(), integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 69 of file integrate_3d_vl_sr.c.
Definition at line 70 of file integrate_3d_vl_sr.c.
Referenced by integrate_3d_vl(), integrate_destruct_3d(), integrate_emf2_corner(), and integrate_init_3d().
Definition at line 55 of file integrate_3d_vl_sr.c.
Referenced by FixCell(), integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 69 of file integrate_3d_vl_sr.c.
Definition at line 70 of file integrate_3d_vl_sr.c.
Referenced by integrate_3d_vl(), integrate_destruct_3d(), integrate_emf3_corner(), and integrate_init_3d().
Definition at line 55 of file integrate_3d_vl_sr.c.
Referenced by FixCell(), integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 88 of file integrate_3d_vl_sr.c.
Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 88 of file integrate_3d_vl_sr.c.
Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 88 of file integrate_3d_vl_sr.c.
Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 58 of file integrate_3d_vl_sr.c.
Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 58 of file integrate_3d_vl_sr.c.
Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 76 of file integrate_3d_vl_sr.c.
Definition at line 82 of file integrate_3d_vl_sr.c.
Definition at line 76 of file integrate_3d_vl_sr.c.
Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 76 of file integrate_3d_vl_sr.c.
Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 79 of file integrate_3d_vl_sr.c.
Definition at line 75 of file integrate_3d_vl_sr.c.
Definition at line 83 of file integrate_3d_vl_sr.c.
Definition at line 75 of file integrate_3d_vl_sr.c.
Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 49 of file integrate_3d_vl_sr.c.
Definition at line 50 of file integrate_3d_vl_sr.c.
Definition at line 51 of file integrate_3d_vl_sr.c.
Definition at line 75 of file integrate_3d_vl_sr.c.
Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 49 of file integrate_3d_vl_sr.c.
Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 50 of file integrate_3d_vl_sr.c.
Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 51 of file integrate_3d_vl_sr.c.
Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 52 of file integrate_3d_vl_sr.c.
Definition at line 54 of file integrate_3d_vl_sr.c.
Definition at line 59 of file integrate_3d_vl_sr.c.
Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 61 of file integrate_3d_vl_sr.c.
Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 52 of file integrate_3d_vl_sr.c.
Definition at line 54 of file integrate_3d_vl_sr.c.
Referenced by FixCell(), integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 59 of file integrate_3d_vl_sr.c.
Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 61 of file integrate_3d_vl_sr.c.
Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 52 of file integrate_3d_vl_sr.c.
Definition at line 54 of file integrate_3d_vl_sr.c.
Referenced by FixCell(), integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 59 of file integrate_3d_vl_sr.c.
Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().
Definition at line 61 of file integrate_3d_vl_sr.c.
Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().