PLUTO
4.4-patch2
|
Store or retrieve the Electromotive Force (EMF). More...
#include "pluto.h"
Functions | |
void | CT_Allocate (EMF *emf0) |
void | CT_StoreUpwindEMF (const Sweep *sweep, EMF *emf, int beg, int end, Grid *grid) |
void | CT_ComputeEMF (const Data *data, Grid *grid) |
void | CT_ComputeCenterEMF (const Data *data) |
This file provides a database functionality for storing or retrieving EMF components and related information at different points and times in the code.
The CT_Allocate() allocates memory for EMF structure members. The CT_StoreEMF() function is called immediately after a 1D Riemann solver during the hydro sweeps in order to save Fluxes at cell interfaces and characteristic signal velocities into the emf structure for later reuse. The fluxes coming from different sweeps are the different components of the advective part (-v X B) part of the electric field.
The function CT_GetEMF() is used to obtain the edge-centered electric field by properly averaging the EMF components previously stored at the zone faces during the 1D sweeps.
void CT_Allocate | ( | EMF * | emf0 | ) |
Allocate memory for EMF structure and check for incompatible combinations of algorithms.
CT AVERAGE |E(sweep)|E(pnt)|E(dff)|sgn(vs)|S(L/R)| vt |a(L/R)|d(L/R) ---------—|-----—|---—|---—|----—|---—|---—|---—|---— ARITHMETIC | x x | | | | | | | CT_CONTACT | x x | | | x | | | | CT_FLUX | | x x | x x | | | | | UCT_HLL | | | | | x x | x x | | UCT_HLLD | | | | | | x x | x x | x x UCT_GFORCE | | | | | | x x | | x x
The "x" represent how many 3D arrays per interface are required.
void CT_ComputeCenterEMF | ( | const Data * | data | ) |
Compute cell-center inductive electric field.
Compute the total electromotive force (EMF) using the hyperbolic fluxes stored during the most recent upwind step.
[in] | d | |
[in] | grid |