Multi-dimensional solvers

struct EulerBoundary
#include <euler.hpp>

One registered boundary condition: a handler kind over a set of boundary faces (global face indices).

value carries the Inlet free stream as [rho, v(ndim), p, gamma] and is unused by the other kinds.

class EulerCore : public solvcon::NumberBase<int32_t, double>, public std::enable_shared_from_this<EulerCore>
#include <euler.hpp>

Multi-dimensional CESE solver core for the compressible Euler equations.

Advances the conserved fields on a StaticMesh by one space-time step per call. The conserved set is density, the ndim momentum components, and total energy. Construct through EulerCore::construct so the instance is shared.

struct GradientElementType
#include <GradientElement.hpp>

Per-cell-type constants for least-squares gradient reconstruction.

Holds the face count, its reciprocal used as the uniform gradient weight, and the 1-based gradient-eval-point face indices per cell type.

class GradientElement
#include <GradientElement.hpp>

Per-cell gradient reconstruction over a StaticMesh.

Solves the small ndim-by-ndim least-squares systems on the CESE dual mesh with fixed 3-capacity matrices, so it allocates nothing per cell.