#include <PatchAdvection.H>
Collaboration diagram for PatchAdvection:
Public Member Functions | |
PatchAdvection () | |
virtual PatchGodunov * | new_patchGodunov () const |
Factory method - this object is its own factory. | |
virtual Real | getMaxWaveSpeed (const FArrayBox &a_U, const Box &a_box) |
Compute the maximum wave speed. | |
virtual int | numConserved () |
Number of conserved variables. | |
virtual Vector< string > | stateNames () |
Names of the conserved variables. | |
virtual int | numFluxes () |
Number of flux variables. | |
void | setAdvVelPtr (FluxBox *a_advVelPtr) |
set face-centered advection velocity for this patch | |
const FluxBox * | advectionVelPtr () const |
access face-centered advection velocities | |
void | setCellVelPtr (FArrayBox *a_cellVelPtr) |
set cell-centered velocity field for this patch | |
const FArrayBox * | cellVelPtr () const |
access cell-centered velicity field pointer | |
virtual void | setNumVar (int a_numVar) |
set the number of conserved (and primitive, and flux) variables | |
Protected Member Functions | |
virtual int | numPrimitives () |
Number of primitive variables. | |
virtual int | numSlopes () |
Number of primitive variables for which slopes are computed. | |
virtual void | consToPrim (FArrayBox &a_W, const FArrayBox &a_U, const Box &a_box) |
Compute the primitive variables from the conserved variables within a_box. | |
virtual void | primToCons (FArrayBox &a_U, const FArrayBox &a_W, const Box &a_box) |
Compute the conserved variables from the primitive variables within a_box. | |
virtual void | normalPred (FArrayBox &a_WMinus, FArrayBox &a_WPlus, const FArrayBox &a_W, const FArrayBox &a_dW, const Real &a_scale, const int &a_dir, const Box &a_box) |
Extrapolate the primitive variables to the cell faces. | |
virtual void | incrementWithSource (FArrayBox &a_W, const FArrayBox &a_S, const Real &a_scale, const Box &a_box) |
increment the primitive variables by a source term | |
virtual void | riemann (FArrayBox &a_F, const FArrayBox &a_WLeft, const FArrayBox &a_WRight, const int &a_dir, const Box &a_box) |
Compute a Riemann problem and generate fluxes at the faces. | |
virtual void | updatePrim (FArrayBox &a_WMinus, FArrayBox &a_WPlus, const FArrayBox &a_F, const Real &a_scale, const int &a_dir, const Box &a_box) |
Update the primitive variables using fluxes (of the conserved variables). | |
virtual void | updateCons (FArrayBox &a_U, const FArrayBox &a_F, const Real &a_scale, const int &a_dir, const Box &a_box) |
Update the conserved variable using fluxes and a scaling factor. | |
virtual void | finalUpdate (FArrayBox &a_U, const FArrayBox &a_F, const Real &a_scale, const int &a_dir, const Box &a_box) |
Perform final update of conserved variable using fluxes. | |
virtual Interval | velocityInterval () |
Interval within the primitive variables corresponding to the velocities. | |
virtual int | pressureIndex () |
Component index within the primitive variables of the pressure. | |
virtual int | bulkModulusIndex () |
Component index within the primitive variables of the bulk modulus. | |
Protected Attributes | |
FluxBox * | m_advVelPtr |
face-centered advection velocity, set through the advVel() intervace | |
FArrayBox * | m_cellVelPtr |
cell-centered velocity field (centered at old time) | |
int | m_numCons |
number of conserved variables | |
int | m_numPrim |
number of primitive variables | |
int | m_numFlux |
number of fluxes | |
int | m_numSlope |
number of variabls in slope computation |
|
|
|
access face-centered advection velocities
|
|
Component index within the primitive variables of the bulk modulus. Return the component index withn the primitive variables for the bulk modulus. Used for slope flattening (slope computation) used as a normalization to measure shock strength. |
|
access cell-centered velicity field pointer
|
|
Compute the primitive variables from the conserved variables within a_box.
|
|
Perform final update of conserved variable using fluxes. Given the fluxes, a_F, in a direction, a_dir, and a scaling factor, a_scale, update the conserved variables, a_U, within a_box: a_U = a_U - a_scale * (a_F(a_dir,HiSide) - a_F(a_dir,LoSide)) |
|
Compute the maximum wave speed.
|
|
increment the primitive variables by a source term
|
|
Factory method - this object is its own factory. Return a pointer to new PatchGodunov object with its initial and boundary condtions, slope parameters, and artificial viscosity information defined. |
|
Extrapolate the primitive variables to the cell faces. Extrapolate the primitive variables, a_W, in the minus and plus direction, a_dir, using the slopes a_dW within a_box. See document for details. |
|
Number of conserved variables. Return the number of conserved variables. |
|
Number of flux variables. Return the number of flux variables. This can be greater than the number of conserved variables if addition fluxes/face-centered quantities are computed. |
|
Number of primitive variables. Return the number of primitive variables. This may be greater than the number of conserved variables if derived/redundant quantities are also stored for convenience. |
|
Number of primitive variables for which slopes are computed. Return the number of primitive variables for which slopes are computed. Only slopes corresponding to primitive variables in the interval 0 to numSlopes() - 1 are computed and only primitive variables in that interval are updated using the slopes. |
|
Component index within the primitive variables of the pressure. Return the component index withn the primitive variables for the pressure. Used for slope flattening (slope computation). |
|
Compute the conserved variables from the primitive variables within a_box.
|
|
Compute a Riemann problem and generate fluxes at the faces. Given input left and right states in a direction, a_dir, compute a Riemann problem and generate fluxes at the faces within a_box. |
|
set face-centered advection velocity for this patch
|
|
set cell-centered velocity field for this patch
|
|
set the number of conserved (and primitive, and flux) variables Note that for this simple tracing, conservative == primitive |
|
Names of the conserved variables. Return the names of the conserved variables. |
|
Update the conserved variable using fluxes and a scaling factor. Given the fluxes, a_F, in a direction, a_dir, and a scaling factor, a_scale, update the conserved variables, a_U, within a_box: a_U = a_U - a_scale * (a_F(a_dir,HiSide) - a_F(a_dir,LoSide)) |
|
Update the primitive variables using fluxes (of the conserved variables). Given the fluxes, a_F, in a direction, a_dir, and a scaling factor, a_scale, update the primitive variables, a_WMinus and a_WPlus, within a_box. Note: The fluxes are fluxes of conserved variables. |
|
Interval within the primitive variables corresponding to the velocities. Return the interval of component indices within the primitive variable of the velocities. Used for slope flattening (slope computation) and computing the divergence of the velocity (artificial viscosity). |
|
face-centered advection velocity, set through the advVel() intervace
|
|
cell-centered velocity field (centered at old time)
|
|
number of conserved variables For this simple adection tracing, we assume that conservative and primitive are the same |
|
number of fluxes
|
|
number of primitive variables
|
|
number of variabls in slope computation
|