concepts::MappingHexahedronEdge3d Class Reference
3D element map for an edge as part of a Hexahedron. More...
#include <mappingEdge3D.hh>
Public Member Functions | |
MappingHexahedronEdge3d * | clone () const override |
Virtual constructor. More... | |
Real3d | derivative (const Real t, const uint n=1) const override |
Evaluates the n-th derivative of the edge mapping at the coordinate t. More... | |
MappingHexahedronEdge3d * | inverse () const override |
Create a heap-allocated copy of this edge with reversed parametrization. More... | |
MappingHexahedronEdge3d (const MappingHexahedron3d &map, const Real3d xi, const Real3d diff) | |
Constructor for an locally straight edge inside the hexahedron. More... | |
MappingHexahedronEdge3d (const MappingHexahedron3d &map, const uint edge) | |
Constructor for an edge as a part of a parent hexahedron. More... | |
MappingHexahedronEdge3d (const MappingHexahedronEdge3d &other) | |
Copy Constructor. More... | |
Real3d | operator() (const Real t) const override |
Evaluates the edge mapping at the coordinate t. More... | |
const Real3d & | vtx (uint i) const |
Returns i-th physical vertex of the edge. More... | |
~MappingHexahedronEdge3d () override | |
Protected Member Functions | |
std::ostream & | info (std::ostream &os) const override |
Returns information in an output stream. More... | |
Protected Attributes | |
std::array< Real3d, 2 > | vtx_ |
Physical vertices . More... | |
Private Member Functions | |
const Real3d | lcoord_ (const Real t) const |
Embedding of local coordinates to parent hexahedron reference domain. More... | |
const Real3d | lderiv_ (const Real t) const |
Derivative of the local embedding. More... | |
Private Attributes | |
Real3d | diff_ |
std::unique_ptr< MappingHexahedron3d > | map_ |
Mapping of the parent hexahedron. More... | |
Real3d | xi_ |
Vertex and edge vector in hexahedral coordinates. More... | |
Detailed Description
3D element map for an edge as part of a Hexahedron.
Let be the parent hexahedron. Then this element mapping is defined by
If constructed by an edge index, this map chooses xi and diff according to that index as defined by the "standard" orientation in the topology
- Todo:
- Possibly avoid copying the parent element (switch from unique_ptr to shared_ptr internally)
Definition at line 161 of file mappingEdge3D.hh.
Constructor & Destructor Documentation
◆ MappingHexahedronEdge3d() [1/3]
concepts::MappingHexahedronEdge3d::MappingHexahedronEdge3d | ( | const MappingHexahedron3d & | map, |
const uint | edge | ||
) |
Constructor for an edge as a part of a parent hexahedron.
Possible modification: Reference-count the parent hexahedron mapping
- Parameters
-
map of the parent hexahedron edge number of edge,
◆ MappingHexahedronEdge3d() [2/3]
concepts::MappingHexahedronEdge3d::MappingHexahedronEdge3d | ( | const MappingHexahedron3d & | map, |
const Real3d | xi, | ||
const Real3d | diff | ||
) |
Constructor for an locally straight edge inside the hexahedron.
- Parameters
-
map of the parent hexahedorn xi local coordinates of first vertex diff vector from first to second vertex
◆ MappingHexahedronEdge3d() [3/3]
concepts::MappingHexahedronEdge3d::MappingHexahedronEdge3d | ( | const MappingHexahedronEdge3d & | other | ) |
Copy Constructor.
◆ ~MappingHexahedronEdge3d()
|
inlineoverride |
Definition at line 182 of file mappingEdge3D.hh.
Member Function Documentation
◆ clone()
|
overridevirtual |
Virtual constructor.
Create a heap-allocated copy of this edge.
- Returns
- Pointer to heap-allocated edge copy. To be deleted by the user.
Implements concepts::MappingEdge3d.
◆ derivative()
|
overridevirtual |
Evaluates the n-th derivative of the edge mapping at the coordinate t.
- Parameters
-
n order of the derivative (<= 1 for most concrete types)
- Returns
Implements concepts::MappingEdge3d.
◆ info()
|
overrideprotectedvirtual |
Returns information in an output stream.
Reimplemented from concepts::MappingEdge3d.
◆ inverse()
|
overridevirtual |
Create a heap-allocated copy of this edge with reversed parametrization.
- Returns
- Pointer to heap-allocated edge copy. Has to be deleted by the user.
Implements concepts::MappingEdge3d.
◆ lcoord_()
Embedding of local coordinates to parent hexahedron reference domain.
Definition at line 195 of file mappingEdge3D.hh.
◆ lderiv_()
Derivative of the local embedding.
Definition at line 199 of file mappingEdge3D.hh.
◆ operator()()
◆ vtx()
|
inlineinherited |
Member Data Documentation
◆ diff_
|
private |
Definition at line 192 of file mappingEdge3D.hh.
◆ map_
|
private |
Mapping of the parent hexahedron.
Definition at line 190 of file mappingEdge3D.hh.
◆ vtx_
|
protectedinherited |
Physical vertices .
Definition at line 68 of file mappingEdge3D.hh.
◆ xi_
|
private |
Vertex and edge vector in hexahedral coordinates.
Definition at line 192 of file mappingEdge3D.hh.
The documentation for this class was generated from the following file:
- geometry/mappingEdge3D.hh