Functions | Variables

integrators/integrate_2d_vl.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 ** 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 ConsS ** Uhalf = 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.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 1271 of file integrate_2d_vl.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 92 of file integrate_2d_vl.c.

void integrate_destruct_2d ( void   ) 

Free temporary integration arrays.

Definition at line 1136 of file integrate_2d_vl.c.

References B1_x1Face, B2_x2Face, Bxc, Bxi, emf3, emf3_cc, emf3P, eta1, eta2, free_2d_array(), Ul, Ur, Wl, Wr, Wr_x1Face, Wr_x2Face, x2Flux, and x2FluxP.

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 1193 of file integrate_2d_vl.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  ) 

Allocate temporary integration arrays.

Definition at line 1050 of file integrate_2d_vl.c.

References ath_error(), B1_x1Face, B2_x2Face, Bxc, Bxi, calloc_2d_array(), MeshS::Domain, MeshS::DomainsPerLevel, emf3, emf3_cc, emf3P, eta1, eta2, DomainS::Grid, integrate_destruct(), MeshS::NLevels, GridS::Nx, Ul, Ur, Wl, Wr, Wr_x1Face, Wr_x2Face, x2Flux, and x2FluxP.

Here is the call graph for this function:


Variable Documentation

Real** B1_x1Face = NULL [static]

Definition at line 53 of file integrate_2d_vl.c.

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

Real ** B2_x2Face = NULL [static]

Definition at line 53 of file integrate_2d_vl.c.

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

Real* Bxc = NULL [static]

Definition at line 58 of file integrate_2d_vl.c.

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

Real * Bxi = NULL [static]

Definition at line 58 of file integrate_2d_vl.c.

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

Real** emf3 = NULL [static]

Definition at line 54 of file integrate_2d_vl.c.

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

Definition at line 68 of file integrate_2d_vl.c.

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

Real ** eta2 = NULL [static]

Definition at line 68 of file integrate_2d_vl.c.

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

Definition at line 33 of file roe.c.

Cons1DS* U1d = NULL [static]

Definition at line 60 of file integrate_2d_vl.c.

ConsS** Uhalf = NULL [static]

Definition at line 63 of file integrate_2d_vl.c.

Cons1DS * Ul = NULL [static]

Definition at line 60 of file integrate_2d_vl.c.

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

Cons1DS * Ur = NULL [static]

Definition at line 60 of file integrate_2d_vl.c.

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

Prim1DS* W1d = NULL [static]

Definition at line 59 of file integrate_2d_vl.c.

Prim1DS * Wl = NULL [static]

Definition at line 59 of file integrate_2d_vl.c.

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

Prim1DS** Wl_x1Face = NULL [static]

Definition at line 43 of file integrate_2d_vl.c.

Prim1DS** Wl_x2Face = NULL [static]

Definition at line 44 of file integrate_2d_vl.c.

Prim1DS * Wr = NULL [static]

Definition at line 59 of file integrate_2d_vl.c.

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

Prim1DS ** Wr_x1Face = NULL [static]

Definition at line 43 of file integrate_2d_vl.c.

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

Prim1DS ** Wr_x2Face = NULL [static]

Definition at line 44 of file integrate_2d_vl.c.

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

Cons1DS** x1Flux = NULL [static]

Definition at line 45 of file integrate_2d_vl.c.

Cons1DS** x1FluxP = NULL [static]

Definition at line 47 of file integrate_2d_vl.c.

Cons1DS ** x2Flux = NULL [static]

Definition at line 45 of file integrate_2d_vl.c.

Cons1DS ** x2FluxP = NULL [static]