PLUTO Test Problems
4.4-patch2
|
Collects different EMF averaging schemes. More...
Functions | |
void | CT_EMF_ArithmeticAverage (const EMF *Z1, const double w) |
void | CT_EMF_IntegrateToCorner (const Data *d, const EMF *emf, Grid *grid) |
void | CT_EMF_HLL_Solver (const Data *d, const EMF *emf, Grid *grid) |
void | CT_EMF_NEW_HLL_Solver (const Data *d, const EMF *emf, Grid *grid) |
void | CT_EMF_RiemannVelocity (const Data *d, const EMF *emf, Grid *grid) |
void | CT_EMF_RiemannFluxAverage (const Data *d, const EMF *emf, Grid *grid) |
void CT_EMF_ArithmeticAverage | ( | const EMF * | Z1, |
const double | w | ||
) |
Compute arithmetic average of EMF at cell edges by combining the four electric field values computed at zone faces as upwind Godunov fluxes into an edge-centered value.
The face-centered EMF should have been stored by previous calls to CT_StoreEMF() during the one-dimensional sweeps.
This function employs a simple arithmetic averaging of the face-centered electric field.
References:
[in] | Z1 | pointer to EMF structure |
[in] | w | weighting factor |
void CT_EMF_HLL_Solver | ( | const Data * | d, |
const EMF * | emf, | ||
Grid * | grid | ||
) |
Solve 2-D Riemann problem using the 2D HLL Riemann flux formula of Londrillo & Del Zanna (2004), JCP, eq. 56. Here N, W, E, S refer to the following configuration:
* | * N * NW | NE * | * --W--+--E-- * | * SW | SE * S * | *
[in] | d | pointer to PLUTO Data structure |
[in] | grid | pointer to Grid structure; |
void CT_EMF_IntegrateToCorner | ( | const Data * | d, |
const EMF * | emf, | ||
Grid * | grid | ||
) |
Add derivatives to the 4-point arithmetic average of magnetic fields. Obtain the electric field at corners.
References:
[in] | d | pointer to PLUTO Data structure |
[in] | emf | pointer to EMF structure |
[in] | grid | pointer to Grid structure |
void CT_EMF_NEW_HLL_Solver | ( | const Data * | d, |
const EMF * | emf, | ||
Grid * | grid | ||
) |
Solve 2-D Riemann problem using the 2D HLL Riemann flux formula of Londrillo & Del Zanna (2004), JCP, eq. 56. Here N, W, E, S refer to the following configuration:
* | * N * NW | NE * | * --W--+--E-- * | * SW | SE * S * | *
[in] | d | pointer to PLUTO Data structure |
[in] | grid | pointer to Grid structure; |
void CT_EMF_RiemannFluxAverage | ( | const Data * | d, |
const EMF * | emf, | ||
Grid * | grid | ||
) |
Reconstruct electric field at faces to the edges. The electric field interpolated from the 1D Riemann solver and defined as E = E(pnt) + 2*E(diff), that is, the sum of the smooth flux term plust twice the diffusive part.
For the UCT_MAXWELL solver we use:
where is the smooth part of the flux, usually obtained as arithmetic average at faces and reconstructed up to the edge, while
.
void CT_EMF_RiemannVelocity | ( | const Data * | d, |
const EMF * | emf, | ||
Grid * | grid | ||
) |
Reconstruct electric field at faces to the edges. The electric field interpolated from the 1D Riemann solver and defined as E = E(pnt) + 2*E(diff), that is, the sum of the smooth flux term plust twice the diffusive part.
For the UCT_MAXWELL solver we use:
where is the smooth part of the flux, usually obtained as arithmetic average at faces and reconstructed up to the edge, while
.
i+1/2 j+1/2 k+1/2
exj +vz exk -vy eyi -vz eyk +vx ezi +vy ezj -vx