|
DOLFIN-X
DOLFIN-X C++ interface
|
This class manages coordinate mappings for isoparametric cells. More...
#include <CoordinateElement.h>
Public Member Functions | |
| CoordinateElement (int basix_element_handle, int geometric_dimension, const std::string &signature, const ElementDofLayout &dof_layout, bool needs_permutation_data, std::function< int(int *, const uint32_t)> permute_dofs, std::function< int(int *, const uint32_t)> unpermute_dofs) | |
| Create a coordinate element. More... | |
| virtual | ~CoordinateElement ()=default |
| Destructor. | |
| std::string | signature () const |
| String identifying the finite element. More... | |
| mesh::CellType | cell_shape () const |
| Cell shape. More... | |
| int | topological_dimension () const |
| Return the topological dimension of the cell shape. | |
| int | geometric_dimension () const |
| Return the geometric dimension of the cell shape. | |
| const ElementDofLayout & | dof_layout () const |
| Return the dof layout. | |
| void | push_forward (Eigen::Ref< Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor >> x, const Eigen::Ref< const Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor >> &X, const Eigen::Ref< const Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor >> &cell_geometry) const |
| Compute physical coordinates x for points X in the reference configuration. More... | |
| void | compute_reference_geometry (Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > &X, Eigen::Tensor< double, 3, Eigen::RowMajor > &J, tcb::span< double > detJ, Eigen::Tensor< double, 3, Eigen::RowMajor > &K, const Eigen::Ref< const Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor >> &x, const Eigen::Ref< const Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor >> &cell_geometry) const |
| Compute reference coordinates X, and J, detJ and K for physical coordinates x. | |
| void | permute_dofs (int *dofs, const uint32_t cell_perm) const |
| Permutes a list of DOF numbers on a cell. | |
| void | unpermute_dofs (int *dofs, const uint32_t cell_perm) const |
| Reverses a DOF permutation. | |
| bool | needs_permutation_data () const |
| Indicates whether the coordinate map needs permutation data passing in (for higher order geometries) | |
Public Attributes | |
| double | non_affine_atol = 1.0e-8 |
| Absolute increment stopping criterium for non-affine Newton solver. | |
| int | non_affine_max_its = 10 |
| Maximum number of iterations for non-affine Newton solver. | |
This class manages coordinate mappings for isoparametric cells.
| CoordinateElement::CoordinateElement | ( | int | basix_element_handle, |
| int | geometric_dimension, | ||
| const std::string & | signature, | ||
| const ElementDofLayout & | dof_layout, | ||
| bool | needs_permutation_data, | ||
| std::function< int(int *, const uint32_t)> | permute_dofs, | ||
| std::function< int(int *, const uint32_t)> | unpermute_dofs | ||
| ) |
Create a coordinate element.
| [in] | basix_element_handle | Element handle from basix |
| [in] | geometric_dimension | Geometric dimension |
| [in] | signature | Signature string description of coordinate map |
| [in] | dof_layout | Layout of the geometry degrees-of-freedom |
| [in] | needs_permutation_data | Indicates whether or not the element needs permutation data (for higher order elements) |
| [in] | permute_dofs | Function that permutes the DOF numbering |
| [in] | unpermute_dofs | Function that reverses a DOF permutation |
| mesh::CellType CoordinateElement::cell_shape | ( | ) | const |
Cell shape.
| void CoordinateElement::push_forward | ( | Eigen::Ref< Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor >> | x, |
| const Eigen::Ref< const Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor >> & | X, | ||
| const Eigen::Ref< const Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor >> & | cell_geometry | ||
| ) | const |
Compute physical coordinates x for points X in the reference configuration.
| [in,out] | x | The physical coordinates of the reference points X |
| [in] | X | The coordinates on the reference cells |
| [in] | cell_geometry | The cell node coordinates (physical) |
| std::string CoordinateElement::signature | ( | ) | const |
String identifying the finite element.