| 
    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.

