Functions | Variables

integrators/integrate_3d_vl.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 *** 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 ConsS *** Uhalf = 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.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 96 of file integrate_3d_vl.c.

void integrate_destruct_3d ( void   ) 

Free temporary integration arrays.

Definition at line 1710 of file integrate_3d_vl.c.

References B1_x1Face, B2_x2Face, B3_x3Face, Bxc, Bxi, emf1, emf1_cc, emf1P, emf2, emf2_cc, emf2P, emf3, emf3_cc, emf3P, eta1, eta2, eta3, free_3d_array(), Ul, Ur, Wl, Wr, Wr_x1Face, Wr_x2Face, Wr_x3Face, x2Flux, x2FluxP, x3Flux, and x3FluxP.

Here is the call graph for this function:

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 1783 of file integrate_3d_vl.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 1856 of file integrate_3d_vl.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 1929 of file integrate_3d_vl.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  ) 

Allocate temporary integration arrays.

Definition at line 1593 of file integrate_3d_vl.c.

References ath_error(), B1_x1Face, B2_x2Face, B3_x3Face, Bxc, Bxi, calloc_3d_array(), MeshS::Domain, MeshS::DomainsPerLevel, emf1, emf1_cc, emf1P, emf2, emf2_cc, emf2P, emf3, emf3_cc, emf3P, eta1, eta2, eta3, DomainS::Grid, integrate_destruct(), MeshS::NLevels, GridS::Nx, Ul, Ur, Wl, Wr, Wr_x1Face, Wr_x2Face, Wr_x3Face, x2Flux, x2FluxP, x3Flux, and x3FluxP.

Here is the call graph for this function:


Variable Documentation

Real*** B1_x1Face = NULL [static]

Definition at line 56 of file integrate_3d_vl.c.

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

Real *** B2_x2Face = NULL [static]

Definition at line 56 of file integrate_3d_vl.c.

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

Real *** B3_x3Face = NULL [static]

Definition at line 56 of file integrate_3d_vl.c.

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

Real* Bxc = NULL [static]

Definition at line 62 of file integrate_3d_vl.c.

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

Real * Bxi = NULL [static]

Definition at line 62 of file integrate_3d_vl.c.

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

Real*** emf1 = NULL [static]

Definition at line 57 of file integrate_3d_vl.c.

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

Definition at line 57 of file integrate_3d_vl.c.

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

Definition at line 57 of file integrate_3d_vl.c.

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

Definition at line 72 of file integrate_3d_vl.c.

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

Real *** eta2 = NULL [static]

Definition at line 72 of file integrate_3d_vl.c.

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

Real *** eta3 = NULL [static]

Definition at line 72 of file integrate_3d_vl.c.

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

Definition at line 33 of file roe.c.

Cons1DS* U1d = NULL [static]

Definition at line 64 of file integrate_3d_vl.c.

ConsS*** Uhalf = NULL [static]

Definition at line 67 of file integrate_3d_vl.c.

Cons1DS * Ul = NULL [static]

Definition at line 64 of file integrate_3d_vl.c.

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

Cons1DS * Ur = NULL [static]

Definition at line 64 of file integrate_3d_vl.c.

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

Prim1DS* W1d = NULL [static]

Definition at line 63 of file integrate_3d_vl.c.

Prim1DS * Wl = NULL [static]

Definition at line 63 of file integrate_3d_vl.c.

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

Prim1DS*** Wl_x1Face = NULL [static]

Definition at line 45 of file integrate_3d_vl.c.

Prim1DS*** Wl_x2Face = NULL [static]

Definition at line 46 of file integrate_3d_vl.c.

Prim1DS*** Wl_x3Face = NULL [static]

Definition at line 47 of file integrate_3d_vl.c.

Prim1DS * Wr = NULL [static]

Definition at line 63 of file integrate_3d_vl.c.

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

Prim1DS *** Wr_x1Face = NULL [static]

Definition at line 45 of file integrate_3d_vl.c.

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

Prim1DS *** Wr_x2Face = NULL [static]

Definition at line 46 of file integrate_3d_vl.c.

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

Prim1DS *** Wr_x3Face = NULL [static]

Definition at line 47 of file integrate_3d_vl.c.

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

Cons1DS*** x1Flux = NULL [static]

Definition at line 48 of file integrate_3d_vl.c.

Cons1DS*** x1FluxP = NULL [static]

Definition at line 50 of file integrate_3d_vl.c.

Cons1DS *** x2Flux = NULL [static]

Definition at line 48 of file integrate_3d_vl.c.

Cons1DS *** x2FluxP = NULL [static]
Cons1DS *** x3Flux = NULL [static]

Definition at line 48 of file integrate_3d_vl.c.

Cons1DS *** x3FluxP = NULL [static]