template<UNSIGNED_INTEGER_TYPE _Dimension>
struct caribou::geometry::RectangularQuad< _Dimension, Linear >
Linear Rectangular Quad.
* v
* ^
* |
* 3-----------2
* | | |
* | | |
* | +---- | --> u
* | |
* | |
* 0-----------1
*
- Template Parameters
-
_Dimension | The world coordinates dimension |
|
using | Base = BaseRectangularQuad< RectangularQuad< _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 | Size = typename Base::Size |
|
using | Rotation = typename Base::Rotation |
|
using | Base = Element< RectangularQuad< _Dimension, Linear > > |
|
using | LocalCoordinates = typename Base::LocalCoordinates |
|
using | WorldCoordinates = typename Base::WorldCoordinates |
|
using | GaussNode = typename Base::GaussNode |
|
using | Vector = typename Base::template Vector< Dim > |
|
using | Matrix = typename Base::template Matrix< Rows, Cols > |
|
using | Size = Vector< CanonicalDimension > |
|
using | Rotation = Matrix< Dimension, Dimension > |
|
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 > |
|
|
| RectangularQuad (const Quad< Dimension, Linear > &quad) |
|
template<typename EigenType , REQUIRES(EigenType::RowsAtCompileTime==NumberOfNodesAtCompileTime) > |
| RectangularQuad (Eigen::EigenBase< EigenType > &nodes) |
| Constructor from an Eigen matrix containing the positions of the quad's nodes.
|
|
template<typename EigenType , REQUIRES(EigenType::RowsAtCompileTime==NumberOfNodesAtCompileTime) > |
| RectangularQuad (const Eigen::EigenBase< EigenType > &nodes) |
| Constructor from an Eigen matrix containing the positions of the quad's nodes.
|
|
| BaseRectangularQuad () |
| Default empty constructor.
|
|
| BaseRectangularQuad (WorldCoordinates center) |
| Constructor by specifying the center point.
|
|
| BaseRectangularQuad (WorldCoordinates center, Size H) |
| Constructor by specifying the center point and the size (hx, hy, hz)
|
|
| BaseRectangularQuad (WorldCoordinates center, Rotation R) |
| Constructor by specifying the center point and the rotation.
|
|
| BaseRectangularQuad (WorldCoordinates center, Size H, Rotation R) |
| Constructor by specifying the center point, the size (hx, hy, hz) and the rotation.
|
|
auto | edges () const |
| Get the list of node indices of the edges. More...
|
|
auto | rotation () const -> const Rotation & |
| Get the rotation frame of the quad.
|
|
auto | size () const -> const Size & |
| Get the size (hx, hy) of the quad.
|
|
auto | T (const LocalCoordinates &coordinates) const -> WorldCoordinates |
| Compute the transformation of a local position {u,v} to its world position {x,y[ ,z]}.
|
|
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...
|
|