PyramidModal
Modal basis on the reference pyramid.
Defined in Rodin/Variational/H1/H1Element.hpp
template < size_t K> class PyramidModal;
Public types
- struct Values
- Selects the value column of caller-owned modal rows.
- struct Gradients
- Selects the three derivative columns of caller-owned modal rows.
- using Tabulation = std::array<std::array<Real, 4>, PyramidIndex<K>::Count>
- Fixed modal rows containing a value followed by three derivatives.
Public static functions
-
static auto getBasis(size_t mode,
const Math::
SpatialPoint& r) -> Real - Gets the basis function of a local degree of freedom.
-
static auto getDerivative(size_t mode,
size_t deriv,
const Math::
SpatialPoint& r) -> Real - Gets the derivative of the basis function.
-
static void tabulate(Tabulation& output,
const Math::
SpatialPoint& rc) - Tabulates all four modal columns with shared point-local work.
-
static void tabulate(Values values,
const Math::
SpatialPoint& rc) - Tabulates modal values at one point.
-
static void tabulate(Gradients gradients,
const Math::
SpatialPoint& rc) - Tabulates modal reference gradients at one point.
Typedef documentation
using Tabulation = std::array<std::array<Real, 4>, PyramidIndex<K>::Count>
Fixed modal rows containing a value followed by three derivatives.
Row contains . Its compile-time layout retains the original point-local modal workspace.
Function documentation
static Real getBasis(size_t mode,
const Math:: SpatialPoint& r)
Gets the basis function of a local degree of freedom.
| Parameters | |
|---|---|
| mode | Basis-mode index. |
| r | Point at which the operation is evaluated. |
| Returns | Value of the selected local basis function at the evaluation point. |
static Real getDerivative(size_t mode,
size_t deriv,
const Math:: SpatialPoint& r)
Gets the derivative of the basis function.
| Parameters | |
|---|---|
| mode | Basis-mode index. |
| deriv | Coordinate direction of differentiation. |
| r | Point at which the operation is evaluated. |
| Returns | Derivative evaluated at the supplied point. |
static void tabulate(Tabulation& output,
const Math:: SpatialPoint& rc)
Tabulates all four modal columns with shared point-local work.
| Parameters | |
|---|---|
| output | Caller-owned fixed-layout modal rows. |
| rc | Three reference coordinates, with optional trailing padding. |
| Exceptions | |
| Alert::Exception | If coordinates are invalid. |
static void tabulate(Values values,
const Math:: SpatialPoint& rc)
Tabulates modal values at one point.
| Parameters | |
|---|---|
| values | Mode-indexed output. |
| rc | Reference coordinates. |
| Exceptions | |
| Alert::Exception | If coordinates are invalid. |
static void tabulate(Gradients gradients,
const Math:: SpatialPoint& rc)
Tabulates modal reference gradients at one point.
| Parameters | |
|---|---|
| gradients | Mode-major output. |
| rc | Reference coordinates. |
| Exceptions | |
| Alert::Exception | If coordinates are invalid. |