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
in Element Jacobi determinant
in Element node indices
grad in Shape function derivatives, nnode*ndim [4][3]
in Solution at element nodes at recent time step
in Pointers to right hand side at component and offset
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
in Characteristic length scale
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
in Element Jacobi determinant
in Element node indices
grad in Shape function derivatives, nnode*ndim [4][3]
in Solution at element nodes at recent time step
in Pointers to right hand side at component and offset
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
in Characteristic length scale
in Ratio of specific heats
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