A 3D element map for a hexahedron. More...
#include <elementMaps3D.hh>


Public Member Functions | |
| MapHexahedron3d * | clone () const |
| Returns a copy of the map. | |
| std::ostream & | info (std::ostream &os) const |
| Returns information in an output stream. | |
| MapReal3d | jacobian (const Real x, const Real y, const Real z) const |
| Returns the jacobian of the element map
| |
| Real | jacobianDeterminant (const Real x, const Real y, const Real z) const |
| Returns the determinant of the Jacobian. | |
| MapReal3d | jacobianInverse (const Real x, const Real y, const Real z) const |
| Computes the inverse of the jacobian:
| |
| MapHexahedron3d (const MapHexahedron3d &map) | |
| Copy constructor. | |
| MapHexahedron3d (const Real3d &vtx0, const Real3d &vtx1, const Real3d &vtx2, const Real3d &vtx3, const Real3d &vtx4, const Real3d &vtx5, const Real3d &vtx6, const Real3d &vtx7) | |
| Constructor. | |
| MapHexahedron3d (char *map, Real scX, Real scY, Real scZ) | |
| Constructor. | |
| Real3d | operator() (Real x, Real y, Real z) const |
Returns a point in 3D mapped from the unit cube onto the element in the original mesh. | |
| ~MapHexahedron3d () | |
Private Member Functions | |
| void | operator= (const MapHexahedron3d &) |
| Private assignement operator. | |
Private Attributes | |
| Real3d * | comp_ |
| Computed map. | |
| uchar * | map_ |
| Parsed formula for the map. | |
| Real | scx_ |
| Right border of the x parameter domain. | |
| Real | scy_ |
| Right border of the y parameter domain. | |
| Real | scz_ |
| Right border of the z parameter domain. | |
| uint | sz_ |
| Length of the parsed formula. | |
A 3D element map for a hexahedron.
The reference element is the unit cube.
There are two ways to fix the map of the hexahedron: give the mapping explicitly or give the eight corners and the map is computed internally.
When giving the eight corners of the hexahedron, they must be given in the correct order, ie. first the corners of the floor (in right screwed orientation pointing into the hexahedron) and then the corners of the ceiling (in right screwed orientation pointing out of the hexahedron).
The application operator maps a point from the unit square onto the physical domain taking into account the parameter domain given in the constructor.
Definition at line 176 of file elementMaps3D.hh.
Constructor.
The values of scX, scY and scZ are only for the map, they are not needed by the user for mapping a point from the reference element onto the Real element.
| map | The element map for this triangle as a string, x, y and z are the allowed variables, the component are separated by a comma. |
| scX | The range of x is [0, scX]. |
| scY | The range of y is [0, scY]. |
| scZ | The range of z is [0, scZ]. |
| concepts::MapHexahedron3d::MapHexahedron3d | ( | const Real3d & | vtx0, |
| const Real3d & | vtx1, | ||
| const Real3d & | vtx2, | ||
| const Real3d & | vtx3, | ||
| const Real3d & | vtx4, | ||
| const Real3d & | vtx5, | ||
| const Real3d & | vtx6, | ||
| const Real3d & | vtx7 | ||
| ) |
Constructor.
Takes the four physical corners of the hexahedron and computes the element map:
with
, where
and
.
| concepts::MapHexahedron3d::MapHexahedron3d | ( | const MapHexahedron3d & | map | ) |
Copy constructor.
| concepts::MapHexahedron3d::~MapHexahedron3d | ( | ) | [inline] |
Definition at line 226 of file elementMaps3D.hh.
| MapHexahedron3d* concepts::MapHexahedron3d::clone | ( | ) | const [inline] |
Returns a copy of the map.
Definition at line 278 of file elementMaps3D.hh.

| std::ostream& concepts::Map3d::info | ( | std::ostream & | os | ) | const [inline, virtual, inherited] |
Returns information in an output stream.
Reimplemented from concepts::OutputOperator.
Definition at line 25 of file elementMaps3D.hh.
Returns the jacobian of the element map
.
| Real concepts::MapHexahedron3d::jacobianDeterminant | ( | const Real | x, |
| const Real | y, | ||
| const Real | z | ||
| ) | const [inline] |
Returns the determinant of the Jacobian.
Definition at line 273 of file elementMaps3D.hh.

| MapReal3d concepts::MapHexahedron3d::jacobianInverse | ( | const Real | x, |
| const Real | y, | ||
| const Real | z | ||
| ) | const [inline] |
Computes the inverse of the jacobian:
.
Definition at line 268 of file elementMaps3D.hh.

Returns a point in 3D mapped from the unit cube
onto the element in the original mesh.
| x | |
| y | |
| z | |
Definition at line 236 of file elementMaps3D.hh.
| void concepts::MapHexahedron3d::operator= | ( | const MapHexahedron3d & | ) | [private] |
Private assignement operator.
Real3d* concepts::MapHexahedron3d::comp_ [private] |
Computed map.
Definition at line 194 of file elementMaps3D.hh.
uchar* concepts::MapHexahedron3d::map_ [private] |
Parsed formula for the map.
Definition at line 179 of file elementMaps3D.hh.
Real concepts::MapHexahedron3d::scx_ [private] |
Right border of the x parameter domain.
Definition at line 185 of file elementMaps3D.hh.
Real concepts::MapHexahedron3d::scy_ [private] |
Right border of the y parameter domain.
Definition at line 188 of file elementMaps3D.hh.
Real concepts::MapHexahedron3d::scz_ [private] |
Right border of the z parameter domain.
Definition at line 191 of file elementMaps3D.hh.
uint concepts::MapHexahedron3d::sz_ [private] |
Length of the parsed formula.
Definition at line 182 of file elementMaps3D.hh.