inciter::cg::CompFlowPhysicsNavierStokes class

CompFlow system of PDEs problem: Navier-Stokes (viscous flow)

This class adds the viscous force contributions to the momentum and energy conservation equations governing compressible flow.

Public static functions

static auto type() -> ctr::PhysicsType noexcept
Return phsyics type.

Public functions

void viscousRhs(tk::real dt, tk::real J, const std::array<std::size_t, 4>& N, const std::array<std::array<tk::real, 3>, 4>& grad, const std::array<std::array<tk::real, 4>, 5>& u, const std::array<const tk::real*, 5>& r, tk::Fields& R) const
Add viscous stress contribution to momentum and energy rhs.
auto viscous_dt(tk::real L, const std::array<std::array<tk::real, 4>, 5>& u) const -> tk::real
Compute the minimum time step size based on the viscous force.
void conductRhs(tk::real dt, tk::real J, const std::array<std::size_t, 4>& N, const std::array<std::array<tk::real, 3>, 4>& grad, const std::array<std::array<tk::real, 4>, 5>& u, const std::array<const tk::real*, 5>& r, tk::Fields& R) const
Add heat conduction contribution to the energy rhs.
auto conduct_dt(tk::real L, tk::real g, const std::array<std::array<tk::real, 4>, 5>& u) const -> tk::real
Compute the minimum time step size based on thermal diffusion.

Function documentation

void inciter::cg::CompFlowPhysicsNavierStokes::viscousRhs(tk::real dt, tk::real J, const std::array<std::size_t, 4>& N, const std::array<std::array<tk::real, 3>, 4>& grad, const std::array<std::array<tk::real, 4>, 5>& u, const std::array<const tk::real*, 5>& r, tk::Fields& R) const

Add viscous stress contribution to momentum and energy rhs.

Parameters
dt in Size of time step
J in Element Jacobi determinant
N in Element node indices
grad in Shape function derivatives, nnode*ndim [4][3]
u in Solution at element nodes at recent time step
r in Pointers to right hand side at component and offset
R in/out Right-hand side vector contributing to

tk::real inciter::cg::CompFlowPhysicsNavierStokes::viscous_dt(tk::real L, const std::array<std::array<tk::real, 4>, 5>& u) const

Compute the minimum time step size based on the viscous force.

Parameters
L in Characteristic length scale
u in Solution at element nodes at recent time step
Returns Minimum time step size based on viscous force

void inciter::cg::CompFlowPhysicsNavierStokes::conductRhs(tk::real dt, tk::real J, const std::array<std::size_t, 4>& N, const std::array<std::array<tk::real, 3>, 4>& grad, const std::array<std::array<tk::real, 4>, 5>& u, const std::array<const tk::real*, 5>& r, tk::Fields& R) const

Add heat conduction contribution to the energy rhs.

Parameters
dt in Size of time step
J in Element Jacobi determinant
N in Element node indices
grad in Shape function derivatives, nnode*ndim [4][3]
u in Solution at element nodes at recent time step
r in Pointers to right hand side at component and offset
R in/out Right-hand side vector contributing to

Add heat conduction contribution to the energy rhs

tk::real inciter::cg::CompFlowPhysicsNavierStokes::conduct_dt(tk::real L, tk::real g, const std::array<std::array<tk::real, 4>, 5>& u) const

Compute the minimum time step size based on thermal diffusion.

Parameters
L in Characteristic length scale
g in Ratio of specific heats
u in Solution at element nodes at recent time step
Returns Minimum time step size based on thermal diffusion

Compute the minimum time step size based on thermal diffusion