#include <elementMaps3D.hh>
Public Member Functions | |
MapHexahedron3d (char *map, Real scX, Real scY, Real scZ) | |
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) | |
MapHexahedron3d (const MapHexahedron3d &map) | |
Copy constructor. | |
Real3d | operator() (Real x, Real y, Real z) const |
MapReal3d | jacobian (const Real x, const Real y, const Real z) const |
MapReal3d | hessian (uint i, const Real x, const Real y, const Real z) const |
MapReal3d | jacobianInverse (const Real x, const Real y, const Real z) const |
Real | jacobianDeterminant (const Real x, const Real y, const Real z) const |
Returns the determinant of the Jacobian. | |
MapHexahedron3d * | clone () const |
Returns a copy of the map. | |
MappingQuad3d * | face (uint face) const |
MapHexahedron3d * | part (const Real3d x0, const Real3d z0) const |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. | |
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 366 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 hexahedron 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 eight physical corners of the hexahedron and computes the element map: with , where and .
|
inline |
Definition at line 416 of file elementMaps3D.hh.
|
inlinevirtual |
Returns a copy of the map.
Implements concepts::MappingHexahedron3d.
Definition at line 472 of file elementMaps3D.hh.
|
virtual |
Returns the mapping of the given face.
Implements concepts::MappingHexahedron3d.
|
virtual |
Returns the hessian of the element map
Implements concepts::MappingHexahedron3d.
|
protectedvirtual |
Returns information in an output stream.
Implements concepts::MappingHexahedron3d.
|
inlinevirtual |
Returns the determinant of the Jacobian.
Reimplemented from concepts::MappingHexahedron3d.
Definition at line 467 of file elementMaps3D.hh.
|
inlinevirtual |
Computes the inverse of the jacobian:
Reimplemented from concepts::MappingHexahedron3d.
Definition at line 462 of file elementMaps3D.hh.
Returns a point in 3D mapped from the unit cube onto the element in the original mesh.
x | |
y | |
z |
Implements concepts::MappingHexahedron3d.
Definition at line 426 of file elementMaps3D.hh.
|
virtual |
Returns a part of the mapping
Implements concepts::MappingHexahedron3d.