Functions | |
void | ComputeEdgeState (amrex::Box const &bx, int ncomp, amrex::Array4< amrex::Real const > const &q, AMREX_D_DECL(amrex::Array4< amrex::Real > const &xedge, amrex::Array4< amrex::Real > const &yedge, amrex::Array4< amrex::Real > const &zedge), AMREX_D_DECL(amrex::Array4< amrex::Real const > const &umac, amrex::Array4< amrex::Real const > const &vmac, amrex::Array4< amrex::Real const > const &wmac), amrex::Array4< amrex::Real const > const &divu, amrex::Array4< amrex::Real const > const &fq, amrex::Geometry geom, amrex::Real l_dt, amrex::Vector< amrex::BCRec > const &h_bcrec, amrex::BCRec const *pbc, int const *iconserv, bool is_velocity) |
void | ComputeSlopes (amrex::Box const &bx, const amrex::Geometry &geom, int icomp, amrex::Array4< amrex::Real const > const &s, amrex::Array4< amrex::Real > const &slopes, amrex::Vector< amrex::BCRec > const &h_bcrec) |
void | ComputeConc (amrex::Box const &bx, const amrex::Geometry &geom, int icomp, amrex::Array4< amrex::Real const > const &s, AMREX_D_DECL(amrex::Array4< amrex::Real > const &sedgex, amrex::Array4< amrex::Real > const &sedgey, amrex::Array4< amrex::Real > const &sedgez), amrex::Array4< amrex::Real const > const &slopes, AMREX_D_DECL(amrex::Array4< amrex::Real const > const &umac, amrex::Array4< amrex::Real const > const &vmac, amrex::Array4< amrex::Real const > const &wmac), amrex::Array4< amrex::Real const > const &divu, amrex::Array4< amrex::Real const > const &force, int const *iconserv, amrex::Real dt, amrex::Vector< amrex::BCRec > const &h_bcrec, amrex::BCRec const *pbc, bool is_velocity) |
Collection of routines for the BDS (Bell-Dawson-Shubin) algorithm.
void BDS::ComputeConc | ( | amrex::Box const & | bx, |
const amrex::Geometry & | geom, | ||
int | icomp, | ||
amrex::Array4< amrex::Real const > const & | s, | ||
AMREX_D_DECL(amrex::Array4< amrex::Real > const &sedgex, amrex::Array4< amrex::Real > const &sedgey, amrex::Array4< amrex::Real > const &sedgez) | , | ||
amrex::Array4< amrex::Real const > const & | slopes, | ||
AMREX_D_DECL(amrex::Array4< amrex::Real const > const &umac, amrex::Array4< amrex::Real const > const &vmac, amrex::Array4< amrex::Real const > const &wmac) | , | ||
amrex::Array4< amrex::Real const > const & | divu, | ||
amrex::Array4< amrex::Real const > const & | force, | ||
int const * | iconserv, | ||
amrex::Real | dt, | ||
amrex::Vector< amrex::BCRec > const & | h_bcrec, | ||
amrex::BCRec const * | pbc, | ||
bool | is_velocity | ||
) |
Compute Conc for BDS algorithm.
[in] | bx | Current grid patch |
[in] | geom | Level geometry. |
[in] | icomp | Component of the Array4s. |
[in] | s | Array4 of state. |
[in,out] | sedgex | Array4 containing x-edges. |
[in,out] | sedgey | Array4 containing y-edges. |
[in,out] | sedgez | Array4 containing z-edges. |
[in] | slopes | Array4 containing slope information. |
[in] | umac | Array4 for u-face velocity. |
[in] | vmac | Array4 for v-face velocity. |
[in] | wmac | Array4 for z-face velocity. |
[in] | force | Array4 for forces. |
[in] | iconserv | If true, use conservative form, otherwise use convective. |
[in] | dt | Time step. |
[in] | h_bcrec | Boundary conditions (host). |
[in] | pbc | Boundary conditions (device). |
[in] | is_velocity | Indicates a component is velocity so boundary conditions can be properly addressed. The header hydro_constants.H defines the component position by [XYZ]VEL macro. |
void BDS::ComputeEdgeState | ( | amrex::Box const & | bx, |
int | ncomp, | ||
amrex::Array4< amrex::Real const > const & | q, | ||
AMREX_D_DECL(amrex::Array4< amrex::Real > const &xedge, amrex::Array4< amrex::Real > const &yedge, amrex::Array4< amrex::Real > const &zedge) | , | ||
AMREX_D_DECL(amrex::Array4< amrex::Real const > const &umac, amrex::Array4< amrex::Real const > const &vmac, amrex::Array4< amrex::Real const > const &wmac) | , | ||
amrex::Array4< amrex::Real const > const & | divu, | ||
amrex::Array4< amrex::Real const > const & | fq, | ||
amrex::Geometry | geom, | ||
amrex::Real | l_dt, | ||
amrex::Vector< amrex::BCRec > const & | h_bcrec, | ||
amrex::BCRec const * | pbc, | ||
int const * | iconserv, | ||
bool | is_velocity | ||
) |
Uses the Bell-Dawson-Shubin (BDS) algorithm, a higher order Godunov method for scalar conservation laws in three dimensions, to compute edge states.
[in] | bx | Current grid patch |
[in] | ncomp | Number of components to work on |
[in] | q | Array4 of state, starting at component of interest |
[in,out] | xedge | Array4 containing x-edges, starting at component of interest |
[in,out] | yedge | Array4 containing y-edges, starting at component of interest |
[in,out] | zedge | Array4 containing z-edges, starting at component of interest |
[in] | umac | x-Face velocities. |
[in] | vmac | y-Face velocities. |
[in] | wmac | z-Face velocities. |
[in] | fq | Array4 for forces, starting at component of interest |
[in] | geom | Level geometry. |
[in] | l_dt | Time step. |
[in] | h_bcrec | Boundary conditions (host). |
[in] | pbc | Boundary conditions (device). |
[in] | iconserv | If true, use conservative form, otherwise use convective. |
[in] | is_velocity | Indicates a component is velocity so boundary conditions can be properly addressed. The header hydro_constants.H defines the component position by [XYZ]VEL macro. |
void BDS::ComputeSlopes | ( | amrex::Box const & | bx, |
const amrex::Geometry & | geom, | ||
int | icomp, | ||
amrex::Array4< amrex::Real const > const & | s, | ||
amrex::Array4< amrex::Real > const & | slopes, | ||
amrex::Vector< amrex::BCRec > const & | h_bcrec | ||
) |
Compute bilinear slopes for BDS algorithm.
[in] | bx | Current grid patch |
[in] | geom | Level geometry. |
[in] | icomp | Component of the state Array4. |
[in] | s | Array4<const> of state vector. |
[out] | slopes | Array4 to store slope information. |
[in] | h_bcrec | Boundary conditions (host). |