Class CellMapping
Defined in File cell_mapping.h
Inheritance Relationships
Derived Types
public opensn::FiniteVolumeMapping
(Class FiniteVolumeMapping)public opensn::PieceWiseLinearBaseMapping
(Class PieceWiseLinearBaseMapping)
Class Documentation
-
class CellMapping
Base class for all cell mappings.
Subclassed by opensn::FiniteVolumeMapping, opensn::PieceWiseLinearBaseMapping
Public Functions
-
inline std::shared_ptr<MeshContinuum> GetGrid() const
Returns the grid on which the cell for this mapping lives.
-
inline size_t GetNumNodes() const
Returns the number of nodes on this element.
-
size_t GetNumFaceNodes(size_t face_index) const
Returns the number of nodes on the given face.
-
inline const std::vector<std::vector<int>> &GetFaceNodeMappings() const
-
inline const std::vector<Vector3> &GetNodeLocations() const
Returns the node locations associated with this element.
-
int MapFaceNode(size_t face_index, size_t face_node_index) const
Given the face index and the face node index, returns the index of the cell node the face node corresponds to.
-
virtual double ShapeValue(int i, const Vector3 &xyz) const = 0
Returns the value of the required shape function at the world xyz point.
-
virtual void ShapeValues(const Vector3 &xyz, Vector<double> &shape_values) const = 0
Populates all the shape function values at the given world xyz point. This method is optimized to minimize reallocation of shape_values.
-
virtual Vector3 GradShapeValue(int i, const Vector3 &xyz) const = 0
Returns the value of the required shape function gradient at the world xyz point.
-
virtual void GradShapeValues(const Vector3 &xyz, std::vector<Vector3> &gradshape_values) const = 0
Populates all the shape function gradient values at the given world xyz point. This method is optimized to minimize reallocation of gradshape_values.
-
virtual VolumetricFiniteElementData MakeVolumetricFiniteElementData() const = 0
Makes the volumetric/internal finite element data for this element.
-
virtual SurfaceFiniteElementData MakeSurfaceFiniteElementData(size_t face_index) const = 0
Makes the surface finite element data for this element, at the specified face.
-
virtual ~CellMapping() = default
Protected Functions
Protected Attributes
-
const std::shared_ptr<MeshContinuum> grid_
-
const size_t num_nodes_
-
const std::vector<std::vector<int>> face_node_mappings_
For each cell face, map from the face node index to the corresponding cell node index. More specifically,
face_dof_mappings
[f][fi], withfi
the face node index of the face identified by face indexf
, contains the corresponding cell node index.
-
inline std::shared_ptr<MeshContinuum> GetGrid() const