Functions | Variables

integrators/integrate_2d_vl_sr.c File Reference

Integrate MHD equations using 2D version of the directionally unsplit MUSCL-Hancock (VL) integrator. More...

Go to the source code of this file.

Functions

static void integrate_emf3_corner (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_2d_vl (DomainS *pD)
 Van Leer unsplit integrator in 2D.
void integrate_init_2d (MeshS *pM)
 Allocate temporary integration arrays.
void integrate_destruct_2d (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 Cons1DS ** x1Flux = NULL
static Cons1DS ** x2Flux = NULL
static Cons1DS ** x1FluxP = NULL
static Cons1DS ** x2FluxP = NULL
static Real ** emf3P = NULL
static Real ** S = NULL
static Real ** Shalf = NULL
static Real ** x1FluxS = NULL
static Real ** x2FluxS = NULL
static Real ** x1FluxSP = NULL
static Real ** x2FluxSP = NULL
static Real ** B1_x1Face = NULL
static Real ** B2_x2Face = NULL
static Real ** emf3 = 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

Detailed Description

Integrate MHD equations using 2D version of the directionally unsplit MUSCL-Hancock (VL) integrator.

PURPOSE: Integrate MHD equations using 2D version of the directionally unsplit MUSCL-Hancock (VL) integrator. The variables updated are:

REFERENCE:

CONTAINS PUBLIC FUNCTIONS:

Definition in file integrate_2d_vl_sr.c.


Function Documentation

static void FixCell ( GridS pG,
Int3Vect  ix 
) [static]

Uses first order fluxes to fix negative d,P or superluminal v.

Definition at line 1449 of file integrate_2d_vl_sr.c.

References ConsS::B1c, GridS::B1i, ConsS::B2c, GridS::B2i, ConsS::B3c, Cons1DS::By, Cons1DS::Bz, ConsS::d, Cons1DS::d, GridS::dt, GridS::dx1, GridS::dx2, ConsS::E, Cons1DS::E, emf3, emf3P, Int3Vect::i, GridS::ie, GridS::is, Int3Vect::j, GridS::je, GridS::js, GridS::ks, ConsS::M1, ConsS::M2, ConsS::M3, Cons1DS::Mx, Cons1DS::My, Cons1DS::Mz, GridS::U, x2Flux, and x2FluxP.

Referenced by integrate_2d_vl().

Here is the caller graph for this function:

void integrate_2d_vl ( DomainS pD  ) 

Van Leer unsplit integrator in 2D.

van Leer unsplit integrator in 2D.

The numbering of steps follows the numbering in the 3D version. NOT ALL STEPS ARE NEEDED IN 2D.

Definition at line 106 of file integrate_2d_vl_sr.c.

References ath_error(), B1_x1Face, PrimS::B1c, ConsS::B1c, GridS::B1i, B2_x2Face, PrimS::B2c, ConsS::B2c, GridS::B2i, PrimS::B3c, ConsS::B3c, 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, E, ConsS::E, Cons1DS::E, emf3, emf3_cc, emf3P, entropy_fix(), entropy_flux(), eta1, eta2, etah, fix_vsq(), FixCell(), fluxes(), four_pi_G, Gamma, grav_mean_rho, DomainS::Grid, Int3Vect::i, GridS::ie, GridOvrlpS::ijke, GridOvrlpS::ijks, il, integrate_emf3_corner(), GridS::is, iu, Int3Vect::j, GridS::je, jl, GridS::js, ju, Int3Vect::k, GridS::ks, lr_states(), ConsS::M1, ConsS::M2, ConsS::M3, Cons1DS::Mx, Cons1DS::My, 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, Ur, Ur_x1Face, Ur_x2Face, PrimS::V1, PrimS::V2, PrimS::V3, Prim1DS::Vx, Prim1DS::Vy, Vz(), Prim1DS::Vz, W, Whalf, Wl, Wr, Wr_x1Face, Wr_x2Face, x1FluxS, x1FluxSP, GridS::x1MassFlux, x2Flux, x2FluxP, x2FluxS, x2FluxSP, and GridS::x2MassFlux.

Here is the call graph for this function:

void integrate_destruct_2d ( void   ) 

Free temporary integration arrays.

Definition at line 1302 of file integrate_2d_vl_sr.c.

References B1_x1Face, B2_x2Face, Bxc, Bxi, dhalf, emf3, emf3_cc, emf3P, eta1, eta2, free_2d_array(), geom_src, phalf, S, Shalf, Ul, Ur, Ur_x1Face, Ur_x2Face, Wl, Wr, Wr_x1Face, Wr_x2Face, x1FluxS, x1FluxSP, x2Flux, x2FluxP, x2FluxS, and x2FluxSP.

Here is the call graph for this function:

static void integrate_emf3_corner ( 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

Definition at line 1371 of file integrate_2d_vl_sr.c.

References Cons1DS::By, Cons1DS::Bz, d(), emf3, emf3_cc, GridS::ie, il, GridS::is, iu, GridS::je, jl, GridS::js, ju, and x2Flux.

Referenced by integrate_2d_vl().

Here is the call graph for this function:

Here is the caller graph for this function:

void integrate_init_2d ( MeshS pM  ) 

Variable Documentation

Real** B1_x1Face = NULL [static]

Definition at line 64 of file integrate_2d_vl_sr.c.

Referenced by integrate_2d_vl(), integrate_destruct_2d(), and integrate_init_2d().

Real ** B2_x2Face = NULL [static]

Definition at line 64 of file integrate_2d_vl_sr.c.

Referenced by integrate_2d_vl(), integrate_destruct_2d(), and integrate_init_2d().

Real* Bxc = NULL [static]

Definition at line 69 of file integrate_2d_vl_sr.c.

Referenced by integrate_2d_vl(), integrate_destruct_2d(), and integrate_init_2d().

Real * Bxi = NULL [static]

Definition at line 69 of file integrate_2d_vl_sr.c.

Referenced by integrate_2d_vl(), integrate_destruct_2d(), and integrate_init_2d().

Real** emf3 = NULL [static]

Definition at line 65 of file integrate_2d_vl_sr.c.

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

Definition at line 83 of file integrate_2d_vl_sr.c.

Referenced by integrate_2d_vl(), integrate_destruct_2d(), and integrate_init_2d().

Real ** eta2 = NULL [static]

Definition at line 83 of file integrate_2d_vl_sr.c.

Referenced by integrate_2d_vl(), integrate_destruct_2d(), and integrate_init_2d().

Definition at line 33 of file roe.c.

Real** S = NULL [static]

Definition at line 55 of file integrate_2d_vl_sr.c.

Referenced by integrate_2d_vl(), integrate_destruct_2d(), and integrate_init_2d().

Real ** Shalf = NULL [static]

Definition at line 55 of file integrate_2d_vl_sr.c.

Referenced by integrate_2d_vl(), integrate_destruct_2d(), and integrate_init_2d().

Cons1DS* U1d = NULL [static]

Definition at line 71 of file integrate_2d_vl_sr.c.

ConsS** Uhalf = NULL [static]

Definition at line 77 of file integrate_2d_vl_sr.c.

Cons1DS * Ul = NULL [static]

Definition at line 71 of file integrate_2d_vl_sr.c.

Referenced by integrate_2d_vl(), integrate_destruct_2d(), and integrate_init_2d().

Cons1DS * Ur = NULL [static]

Definition at line 71 of file integrate_2d_vl_sr.c.

Referenced by integrate_2d_vl(), integrate_destruct_2d(), and integrate_init_2d().

PrimS** W = NULL [static]

Definition at line 74 of file integrate_2d_vl_sr.c.

Prim1DS* W1d = NULL [static]

Definition at line 70 of file integrate_2d_vl_sr.c.

PrimS** Whalf = NULL [static]

Definition at line 78 of file integrate_2d_vl_sr.c.

Prim1DS * Wl = NULL [static]

Definition at line 70 of file integrate_2d_vl_sr.c.

Referenced by integrate_2d_vl(), integrate_destruct_2d(), and integrate_init_2d().

Prim1DS** Wl_x1Face = NULL [static]

Definition at line 47 of file integrate_2d_vl_sr.c.

Prim1DS** Wl_x2Face = NULL [static]

Definition at line 48 of file integrate_2d_vl_sr.c.

Prim1DS * Wr = NULL [static]

Definition at line 70 of file integrate_2d_vl_sr.c.

Referenced by integrate_2d_vl(), integrate_destruct_2d(), and integrate_init_2d().

Prim1DS ** Wr_x1Face = NULL [static]

Definition at line 47 of file integrate_2d_vl_sr.c.

Referenced by integrate_2d_vl(), integrate_destruct_2d(), and integrate_init_2d().

Prim1DS ** Wr_x2Face = NULL [static]

Definition at line 48 of file integrate_2d_vl_sr.c.

Referenced by integrate_2d_vl(), integrate_destruct_2d(), and integrate_init_2d().

Cons1DS** x1Flux = NULL [static]

Definition at line 49 of file integrate_2d_vl_sr.c.

Cons1DS** x1FluxP = NULL [static]

Definition at line 51 of file integrate_2d_vl_sr.c.

Real** x1FluxS = NULL [static]

Definition at line 56 of file integrate_2d_vl_sr.c.

Referenced by integrate_2d_vl(), integrate_destruct_2d(), and integrate_init_2d().

Real** x1FluxSP = NULL [static]

Definition at line 58 of file integrate_2d_vl_sr.c.

Referenced by integrate_2d_vl(), integrate_destruct_2d(), and integrate_init_2d().

Cons1DS ** x2Flux = NULL [static]

Definition at line 49 of file integrate_2d_vl_sr.c.

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

Definition at line 56 of file integrate_2d_vl_sr.c.

Referenced by integrate_2d_vl(), integrate_destruct_2d(), and integrate_init_2d().

Real ** x2FluxSP = NULL [static]

Definition at line 58 of file integrate_2d_vl_sr.c.

Referenced by integrate_2d_vl(), integrate_destruct_2d(), and integrate_init_2d().