PLUTO
|
Collects different EMF averaging schemes. More...
#include "pluto.h"
Go to the source code of this file.
Macros | |
#define | EX(k, j, i) (vz[k][j][i]*By[k][j][i] - vy[k][j][i]*Bz[k][j][i]) |
#define | EY(k, j, i) (vx[k][j][i]*Bz[k][j][i] - vz[k][j][i]*Bx[k][j][i]) |
#define | EZ(k, j, i) (vy[k][j][i]*Bx[k][j][i] - vx[k][j][i]*By[k][j][i]) |
#define | dEx_dyp(k, j, i) (emf->exj[k][j][i] - EX(k,j,i)) |
#define | dEx_dzp(k, j, i) (emf->exk[k][j][i] - EX(k,j,i)) |
#define | dEy_dxp(k, j, i) (emf->eyi[k][j][i] - EY(k,j,i)) |
#define | dEy_dzp(k, j, i) (emf->eyk[k][j][i] - EY(k,j,i)) |
#define | dEz_dxp(k, j, i) (emf->ezi[k][j][i] - EZ(k,j,i)) |
#define | dEz_dyp(k, j, i) (emf->ezj[k][j][i] - EZ(k,j,i)) |
#define | dEx_dym(k, j, i) (EX(k,j,i) - emf->exj[k][j-1][i]) |
#define | dEx_dzm(k, j, i) (EX(k,j,i) - emf->exk[k-1][j][i]) |
#define | dEy_dxm(k, j, i) (EY(k,j,i) - emf->eyi[k][j][i-1]) |
#define | dEy_dzm(k, j, i) (EY(k,j,i) - emf->eyk[k-1][j][i]) |
#define | dEz_dxm(k, j, i) (EZ(k,j,i) - emf->ezi[k][j][i-1]) |
#define | dEz_dym(k, j, i) (EZ(k,j,i) - emf->ezj[k][j-1][i]) |
#define | dPP(a, x, y, i, j, k) |
#define | dPM(a, x, y, i, j, k) |
#define | dMM(a, x, y, i, j, k) |
#define | dMP(a, x, y, i, j, k) |
#define | dP(a, x, i, j, k) (a[k][j][i] + 0.5*(d##a##_##d##x[k][j][i])) |
#define | dM(a, x, i, j, k) (a[k][j][i] - 0.5*(d##a##_##d##x[k][j][i])) |
Functions | |
void | CT_EMF_ArithmeticAverage (const EMF *Z1, const double w) |
Compute arithmetic average of EMF at cell edges. More... | |
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) |
Solve 2D Riemann problem for induction equation. More... | |
void | CT_EMF_CMUSCL_Average (const Data *d, const EMF *emf, Grid *grid) |
– More... | |
Collects different EMF averaging schemes.
Definition in file ct_emf_average.c.
Definition at line 8 of file ct_emf_average.c.
Definition at line 9 of file ct_emf_average.c.
Definition at line 10 of file ct_emf_average.c.
void CT_EMF_ArithmeticAverage | ( | const EMF * | Z1, |
const double | w | ||
) |
Compute arithmetic average of EMF at cell edges.
Combine 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 |
Definition at line 13 of file ct_emf_average.c.
–
Used in the predictor scheme of CTU scheme in conjunction with UCT_HLL average. No riemann solver actually used, but only a simple pointwise average.
References:
Definition at line 391 of file ct_emf_average.c.
Solve 2D Riemann problem for induction equation.
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; |
Definition at line 203 of file ct_emf_average.c.
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 |
Definition at line 58 of file ct_emf_average.c.