Functions | Variables

integrators/integrate_3d_vl_sr.c File Reference

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 RealBxc = NULL
static RealBxi = NULL
static Prim1DSW1d = NULL
static Prim1DSWl = NULL
static Prim1DSWr = NULL
static Cons1DSU1d = NULL
static Cons1DSUl = NULL
static Cons1DSUr = 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

Detailed Description

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.


Function Documentation

static void FixCell ( GridS pG,
Int3Vect  ix 
) [static]
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.

Here is the call graph for this function:

void integrate_destruct_3d ( void   ) 
static void integrate_emf1_corner ( const GridS pG  )  [static]

Integrates face centered B-fluxes to compute corner EMFs.

Note:

  • x1Flux.By = VxBy - BxVy = v1*b2-b1*v2 = -EMFZ
  • x1Flux.Bz = VxBz - BxVz = v1*b3-b1*v3 = EMFY
  • x2Flux.By = VxBy - BxVy = v2*b3-b2*v3 = -EMFX
  • x2Flux.Bz = VxBz - BxVz = v2*b1-b2*v1 = EMFZ
  • x3Flux.By = VxBy - BxVy = v3*b1-b3*v1 = -EMFY
  • x3Flux.Bz = VxBz - BxVz = v3*b2-b3*v2 = EMFX

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().

Here is the call graph for this function:

Here is the caller graph for this function:

static void integrate_emf2_corner ( const GridS pG  )  [static]

Integrates face centered B-fluxes to compute corner EMFs.

Note:

  • x1Flux.By = VxBy - BxVy = v1*b2-b1*v2 = -EMFZ
  • x1Flux.Bz = VxBz - BxVz = v1*b3-b1*v3 = EMFY
  • x2Flux.By = VxBy - BxVy = v2*b3-b2*v3 = -EMFX
  • x2Flux.Bz = VxBz - BxVz = v2*b1-b2*v1 = EMFZ
  • x3Flux.By = VxBy - BxVy = v3*b1-b3*v1 = -EMFY
  • x3Flux.Bz = VxBz - BxVz = v3*b2-b3*v2 = EMFX

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().

Here is the call graph for this function:

Here is the caller graph for this function:

static void integrate_emf3_corner ( const GridS pG  )  [static]

Integrates face centered B-fluxes to compute corner EMFs.

Note:

  • x1Flux.By = VxBy - BxVy = v1*b2-b1*v2 = -EMFZ
  • x1Flux.Bz = VxBz - BxVz = v1*b3-b1*v3 = EMFY
  • x2Flux.By = VxBy - BxVy = v2*b3-b2*v3 = -EMFX
  • x2Flux.Bz = VxBz - BxVz = v2*b1-b2*v1 = EMFZ
  • x3Flux.By = VxBy - BxVy = v3*b1-b3*v1 = -EMFY
  • x3Flux.Bz = VxBz - BxVz = v3*b2-b3*v2 = EMFX

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().

Here is the call graph for this function:

Here is the caller graph for this function:

void integrate_init_3d ( MeshS pM  ) 

Variable Documentation

Real*** B1_x1Face = NULL [static]

Definition at line 68 of file integrate_3d_vl_sr.c.

Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().

Real *** B2_x2Face = NULL [static]

Definition at line 68 of file integrate_3d_vl_sr.c.

Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().

Real *** B3_x3Face = NULL [static]

Definition at line 68 of file integrate_3d_vl_sr.c.

Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().

Real* Bxc = NULL [static]

Definition at line 74 of file integrate_3d_vl_sr.c.

Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().

Real * Bxi = NULL [static]

Definition at line 74 of file integrate_3d_vl_sr.c.

Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().

Real*** emf1 = NULL [static]

Definition at line 69 of file integrate_3d_vl_sr.c.

Real*** emf1_cc = NULL [static]
Real*** emf1P = NULL [static]
Real *** emf2 = NULL [static]

Definition at line 69 of file integrate_3d_vl_sr.c.

Real *** emf2_cc = NULL [static]
Real *** emf2P = NULL [static]
Real *** emf3 = NULL [static]

Definition at line 69 of file integrate_3d_vl_sr.c.

Real *** emf3_cc = NULL [static]
Real *** emf3P = NULL [static]
Real*** eta1 = NULL [static]

Definition at line 88 of file integrate_3d_vl_sr.c.

Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().

Real *** eta2 = NULL [static]

Definition at line 88 of file integrate_3d_vl_sr.c.

Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().

Real *** eta3 = NULL [static]

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 33 of file roe.c.

Real*** S = NULL [static]

Definition at line 58 of file integrate_3d_vl_sr.c.

Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().

Real *** Shalf = NULL [static]

Definition at line 58 of file integrate_3d_vl_sr.c.

Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().

Cons1DS* U1d = NULL [static]

Definition at line 76 of file integrate_3d_vl_sr.c.

ConsS*** Uhalf = NULL [static]

Definition at line 82 of file integrate_3d_vl_sr.c.

Cons1DS * Ul = NULL [static]

Definition at line 76 of file integrate_3d_vl_sr.c.

Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().

Cons1DS * Ur = NULL [static]

Definition at line 76 of file integrate_3d_vl_sr.c.

Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().

PrimS*** W = NULL [static]

Definition at line 79 of file integrate_3d_vl_sr.c.

Prim1DS* W1d = NULL [static]

Definition at line 75 of file integrate_3d_vl_sr.c.

PrimS*** Whalf = NULL [static]

Definition at line 83 of file integrate_3d_vl_sr.c.

Prim1DS * Wl = NULL [static]

Definition at line 75 of file integrate_3d_vl_sr.c.

Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().

Prim1DS*** Wl_x1Face = NULL [static]

Definition at line 49 of file integrate_3d_vl_sr.c.

Prim1DS*** Wl_x2Face = NULL [static]

Definition at line 50 of file integrate_3d_vl_sr.c.

Prim1DS*** Wl_x3Face = NULL [static]

Definition at line 51 of file integrate_3d_vl_sr.c.

Prim1DS * Wr = NULL [static]

Definition at line 75 of file integrate_3d_vl_sr.c.

Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().

Prim1DS *** Wr_x1Face = NULL [static]

Definition at line 49 of file integrate_3d_vl_sr.c.

Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().

Prim1DS *** Wr_x2Face = NULL [static]

Definition at line 50 of file integrate_3d_vl_sr.c.

Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().

Prim1DS *** Wr_x3Face = NULL [static]

Definition at line 51 of file integrate_3d_vl_sr.c.

Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().

Cons1DS*** x1Flux = NULL [static]

Definition at line 52 of file integrate_3d_vl_sr.c.

Cons1DS*** x1FluxP = NULL [static]

Definition at line 54 of file integrate_3d_vl_sr.c.

Real*** x1FluxS = NULL [static]

Definition at line 59 of file integrate_3d_vl_sr.c.

Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().

Real*** x1FluxSP = NULL [static]

Definition at line 61 of file integrate_3d_vl_sr.c.

Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().

Cons1DS *** x2Flux = NULL [static]

Definition at line 52 of file integrate_3d_vl_sr.c.

Cons1DS *** x2FluxP = NULL [static]
Real *** x2FluxS = NULL [static]

Definition at line 59 of file integrate_3d_vl_sr.c.

Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().

Real *** x2FluxSP = NULL [static]

Definition at line 61 of file integrate_3d_vl_sr.c.

Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().

Cons1DS *** x3Flux = NULL [static]

Definition at line 52 of file integrate_3d_vl_sr.c.

Cons1DS *** x3FluxP = NULL [static]
Real *** x3FluxS = NULL [static]

Definition at line 59 of file integrate_3d_vl_sr.c.

Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().

Real *** x3FluxSP = NULL [static]

Definition at line 61 of file integrate_3d_vl_sr.c.

Referenced by integrate_3d_vl(), integrate_destruct_3d(), and integrate_init_3d().