Functions | |
void | ComputeEdgeState (amrex::Box const &a_bx, AMREX_D_DECL(amrex::Array4< amrex::Real > const &xedge, amrex::Array4< amrex::Real > const &yedge, amrex::Array4< amrex::Real > const &zedge), amrex::Array4< amrex::Real const > const &q, int ncomp, 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::Box const &domain, amrex::Vector< amrex::BCRec > const &bcs, amrex::BCRec const *d_bcrec_ptr, bool is_velocity) |
Compute upwinded face-centered states by extrapolating cell-centered values in SPACE ONLY. More... | |
void | ExtrapVelToFaces (const amrex::MultiFab &vel, AMREX_D_DECL(amrex::MultiFab &umac, amrex::MultiFab &vmac, amrex::MultiFab &wmac), const amrex::Geometry &a_geom, amrex::Vector< amrex::BCRec > const &h_bcrec, const amrex::BCRec *d_bcrec, bool allow_inflow_on_outflow=false) |
Compute upwinded FC velocities by extrapolating CC values in SPACE ONLY. More... | |
void | ExtrapVelToFacesBox (AMREX_D_DECL(amrex::Box const &ubx, amrex::Box const &vbx, amrex::Box const &wbx), AMREX_D_DECL(amrex::Array4< amrex::Real > const &u, amrex::Array4< amrex::Real > const &v, amrex::Array4< amrex::Real > const &w), amrex::Array4< amrex::Real const > const &vcc, const amrex::Geometry &geom, amrex::Vector< amrex::BCRec > const &h_bcrec, const amrex::BCRec *d_bcrec, bool allow_inflow_on_outflow=false) |
For Computing the pre-MAC edge states to be MAC-projected. More... | |
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real | hydro_mol_xedge_state_extdir (int i, int j, int k, int n, amrex::Array4< amrex::Real const > const &q, amrex::Array4< amrex::Real const > const &umac, amrex::BCRec const *const d_bcrec, int domlo, int domhi, bool is_velocity) noexcept |
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real | hydro_mol_xedge_state (int i, int j, int k, int n, amrex::Array4< amrex::Real const > const &q, amrex::Array4< amrex::Real const > const &umac, amrex::BCRec const *const d_bcrec, int domlo, int domhi, bool is_velocity) noexcept |
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real | hydro_mol_yedge_state_extdir (int i, int j, int k, int n, amrex::Array4< amrex::Real const > const &q, amrex::Array4< amrex::Real const > const &vmac, amrex::BCRec const *const d_bcrec, int domlo, int domhi, bool is_velocity) noexcept |
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real | hydro_mol_yedge_state (int i, int j, int k, int n, amrex::Array4< amrex::Real const > const &q, amrex::Array4< amrex::Real const > const &vmac, amrex::BCRec const *const d_bcrec, int domlo, int domhi, bool is_velocity) noexcept |
The procedures for computing MAC velocities and edge states with MOL does not involve time derivatives. All slope computations use second-order limited slopes as described in [sec:slopes].
void MOL::ComputeEdgeState | ( | amrex::Box const & | a_bx, |
AMREX_D_DECL(amrex::Array4< amrex::Real > const &xedge, amrex::Array4< amrex::Real > const &yedge, amrex::Array4< amrex::Real > const &zedge) | , | ||
amrex::Array4< amrex::Real const > const & | q, | ||
int | ncomp, | ||
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::Box const & | domain, | ||
amrex::Vector< amrex::BCRec > const & | bcs, | ||
amrex::BCRec const * | d_bcrec_ptr, | ||
bool | is_velocity | ||
) |
Compute upwinded face-centered states by extrapolating cell-centered values in SPACE ONLY.
[in] | a_bx | Current grid patch |
[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] | q | Array4 of state, starting at component of interest |
[in] | ncomp | Number of components to work on |
[in] | umac | x-Face velocities. |
[in] | vmac | y-Face velocities. |
[in] | wmac | z-Face velocities. |
[in] | domain | Problem domain. |
[in] | bcs | Vector of boundary conditions |
[in] | d_bcrec_ptr | BCRec |
[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. |
Compute upwinded FC states by extrapolating CC values in SPACE ONLY. This is NOT a Godunov type extrapolation: there is NO dependence on time! The resulting FC states are computed at the CENTROID of the face.
void MOL::ExtrapVelToFaces | ( | const amrex::MultiFab & | vel, |
AMREX_D_DECL(amrex::MultiFab &umac, amrex::MultiFab &vmac, amrex::MultiFab &wmac) | , | ||
const amrex::Geometry & | a_geom, | ||
amrex::Vector< amrex::BCRec > const & | h_bcrec, | ||
const amrex::BCRec * | d_bcrec, | ||
bool | allow_inflow_on_outflow = false |
||
) |
Compute upwinded FC velocities by extrapolating CC values in SPACE ONLY.
vel | The cell-centered velocity field |
umac | x-component of velocity on centroid of x-face |
vmac | y-component of velocity on centroid of y-face |
wmac | z-component of velocity on centroid of z-face |
a_geom | Geometry object at this level |
h_bcrec | Host version of BCRec |
d_bcrec | Device version of BCRec |
Compute upwinded FC velocities by extrapolating CC values in SPACE ONLY. This is NOT a Godunov type extrapolation: there is NO dependence on time! The resulting FC velocities are computed at the CENTROID of the face.
void MOL::ExtrapVelToFacesBox | ( | AMREX_D_DECL(amrex::Box const &ubx, amrex::Box const &vbx, amrex::Box const &wbx) | , |
AMREX_D_DECL(amrex::Array4< amrex::Real > const &u, amrex::Array4< amrex::Real > const &v, amrex::Array4< amrex::Real > const &w) | , | ||
amrex::Array4< amrex::Real const > const & | vcc, | ||
const amrex::Geometry & | geom, | ||
amrex::Vector< amrex::BCRec > const & | h_bcrec, | ||
const amrex::BCRec * | d_bcrec, | ||
bool | allow_inflow_on_outflow = false |
||
) |
For Computing the pre-MAC edge states to be MAC-projected.
For detailed info on the algorithm, see MOL.
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |