template<UNSIGNED_INTEGER_TYPE _Dimension>
struct caribou::geometry::Quad< _Dimension, Linear >
Linear Quad.
* v
* ^
* |
* 3-----------2
* | | |
* | | |
* | +---- | --> u
* | |
* | |
* 0-----------1
*
- Template Parameters
-
_Dimension | The world coordinates dimension |
|
using | Base = BaseQuad< Quad< _Dimension, Linear > > |
|
using | LocalCoordinates = typename Base::LocalCoordinates |
|
using | WorldCoordinates = typename Base::WorldCoordinates |
|
using | GaussNode = typename Base::GaussNode |
|
template<UNSIGNED_INTEGER_TYPE Dim> |
using | Vector = typename Base::template Vector< Dim > |
|
template<UNSIGNED_INTEGER_TYPE Rows, UNSIGNED_INTEGER_TYPE Cols> |
using | Matrix = typename Base::template Matrix< Rows, Cols > |
|
using | Base = Element< Derived > |
|
using | LocalCoordinates = typename Base::LocalCoordinates |
|
using | WorldCoordinates = typename Base::WorldCoordinates |
|
using | GaussNode = typename Base::GaussNode |
|
template<UNSIGNED_INTEGER_TYPE Dim> |
using | Vector = typename Base::template Vector< Dim > |
|
template<UNSIGNED_INTEGER_TYPE Rows, UNSIGNED_INTEGER_TYPE Cols> |
using | Matrix = typename Base::template Matrix< Rows, Cols > |
|
using | Scalar = FLOATING_POINT_TYPE |
|
using | Vector = Eigen::Matrix< Scalar, Dim, 1 > |
|
using | Matrix = Eigen::Matrix< Scalar, Rows, Cols, Options > |
|
using | MatrixI = Eigen::Matrix< Scalar, Rows, Cols, Options > |
|
using | LocalCoordinates = Vector< CanonicalDimension > |
|
using | WorldCoordinates = Vector< Dimension > |
|
|
static constexpr auto | CanonicalDimension = Base::CanonicalDimension |
|
static constexpr auto | Dimension = Base::Dimension |
|
static constexpr auto | NumberOfNodesAtCompileTime = Base::NumberOfNodesAtCompileTime |
|
static constexpr auto | NumberOfGaussNodesAtCompileTime = Base::NumberOfGaussNodesAtCompileTime |
|
static constexpr FLOATING_POINT_TYPE | canonical_nodes [NumberOfNodesAtCompileTime][CanonicalDimension] |
|
static constexpr auto | CanonicalDimension = Base::CanonicalDimension |
|
static constexpr auto | Dimension = Base::Dimension |
|
static constexpr auto | NumberOfNodesAtCompileTime = Base::NumberOfNodesAtCompileTime |
|
static constexpr auto | NumberOfGaussNodesAtCompileTime = Base::NumberOfGaussNodesAtCompileTime |
|
static constexpr auto | CanonicalDimension |
|
static constexpr auto | Dimension |
|
static constexpr auto | NumberOfNodesAtCompileTime |
|
static constexpr auto | NumberOfGaussNodesAtCompileTime |
|
|
| BaseQuad ()=default |
| Default empty constructor.
|
|
template<typename EigenType , REQUIRES(EigenType::RowsAtCompileTime==NumberOfNodesAtCompileTime) > |
| BaseQuad (Eigen::EigenBase< EigenType > &nodes) |
| Constructor from an Eigen matrix containing the positions of the quad's nodes.
|
|
template<typename EigenType , REQUIRES(EigenType::RowsAtCompileTime==NumberOfNodesAtCompileTime) > |
| BaseQuad (const Eigen::EigenBase< EigenType > &nodes) |
| Constructor from an Eigen matrix containing the positions of the quad's nodes.
|
|
template<typename ... Nodes> |
| BaseQuad (const WorldCoordinates &first_node, Nodes &&...remaining_nodes) |
| Constructor from a serie of nodes.
|
|
auto | edges () const |
| Get the list of node indices of the edges. More...
|
|
auto | frame () const -> Matrix< Dimension, Dimension > |
| Extract the orthogonal frame of the element by computing the cross product of the unit vectors from the center position to its projection on opposite faces. More...
|
|
auto | frame (const LocalCoordinates &local_point) const -> Matrix< Dimension, Dimension > |
| Extract the frame positioned at the given position (in local coordinates) on the quad by computing the cross product of the unit vectors from the given position its projection on opposite edges. More...
|
|
auto | number_of_nodes () const -> UNSIGNED_INTEGER_TYPE |
| Get the number of nodes in the element.
|
|
auto | number_of_gauss_nodes () const -> UNSIGNED_INTEGER_TYPE |
| Get the number of gauss nodes in the element.
|
|
auto | node (const UNSIGNED_INTEGER_TYPE &index) const |
| Get the Node at given index.
|
|
auto | nodes () const |
| Get the set of nodes.
|
|
auto | gauss_node (const UNSIGNED_INTEGER_TYPE &index) const -> const GaussNode & |
| Get the gauss node at given index.
|
|
auto | gauss_nodes () const -> const std::vector< GaussNode > & |
| Get the set of gauss nodes.
|
|
auto | number_of_boundary_elements () const |
| Get the number of boundary elements (ex. More...
|
|
auto | boundary_elements_node_indices () const -> const auto & |
| Get the list of node indices of the boundary elements. More...
|
|
auto | boundary_element (const UNSIGNED_INTEGER_TYPE &boundary_id) const |
| Construct and return the given boundary element. More...
|
|
auto | L (const LocalCoordinates &xi) const -> Vector< NumberOfNodesAtCompileTime > |
| Get the Lagrange polynomial values evaluated at local coordinates xi w.r.t each element's interpolation nodes. More...
|
|
auto | dL (const LocalCoordinates &xi) const -> Matrix< NumberOfNodesAtCompileTime, CanonicalDimension > |
| Get the Lagrange polynomial derivatives w.r.t the local frame {dL/du} evaluated at local coordinates {u} w.r.t each segment's interpolation nodes. More...
|
|
auto | center () const -> WorldCoordinates |
| Get the position at the center of the element.
|
|
auto | world_coordinates (const LocalCoordinates &coordinates) const -> WorldCoordinates |
| Get the world coordinates of a point from its local coordinates.
|
|
auto | local_coordinates (const WorldCoordinates &coordinates) const -> LocalCoordinates |
| Get the local coordinates of a point from its world coordinates by doing a set of Newton-Raphson iterations. More...
|
|
auto | local_coordinates (const WorldCoordinates &coordinates, const LocalCoordinates &starting_point, const FLOATING_POINT_TYPE &residual_tolerance, const UNSIGNED_INTEGER_TYPE &maximum_number_of_iterations) const -> LocalCoordinates |
| Get the local coordinates of a point from its world coordinates by doing a set of Newton-Raphson iterations. More...
|
|
auto | contains_local (const LocalCoordinates &xi, const FLOATING_POINT_TYPE &eps=1e-10) const -> bool |
| Return true if the element contains the point located at the given local coordinates. More...
|
|
auto | interpolate (const LocalCoordinates &coordinates, const Eigen::MatrixBase< MatrixType > &values) const |
| Interpolate a value at local coordinates from the given interpolation node values. More...
|
|
auto | jacobian (const LocalCoordinates &coordinates) const -> Matrix< Dimension, CanonicalDimension > |
| Compute the Jacobian matrix of the transformation T(xi)-> x evaluated at local coordinates xi. More...
|
|
Matrix< NumberOfNodesAtCompileTime, Dimension > | p_nodes |
|