Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Public Member Functions | Private Member Functions | Private Attributes
concepts::MapHexahedron3d Class Reference

A 3D element map for a hexahedron. More...

#include <elementMaps3D.hh>

Inheritance diagram for concepts::MapHexahedron3d:
Inheritance graph
[legend]
Collaboration diagram for concepts::MapHexahedron3d:
Collaboration graph
[legend]

List of all members.

Public Member Functions

MapHexahedron3dclone () 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

\[ \left(\frac{\partial F_K}{\partial\vec\xi}\right) = \left\{\frac{\partial x^i}{\partial \xi_j}\right\}_{i,j=1}^3 \]

.

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:

\[ \left(\frac{\partial F_K}{\partial\vec\xi}\right)^{-1} = \left\{\frac{\partial \xi_i}{\partial x^j}\right\}_{i,j=1}^3 \]

.

 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 $[0,1]^3$ onto the element in the original mesh.
 ~MapHexahedron3d ()

Private Member Functions

void operator= (const MapHexahedron3d &)
 Private assignement operator.

Private Attributes

Real3dcomp_
 Computed map.
ucharmap_
 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.

Detailed Description

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.

Examples:

meshes.cc.

Definition at line 176 of file elementMaps3D.hh.


Constructor & Destructor Documentation

concepts::MapHexahedron3d::MapHexahedron3d ( char *  map,
Real  scX,
Real  scY,
Real  scZ 
)

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.

Parameters:
mapThe element map for this triangle as a string, x, y and z are the allowed variables, the component are separated by a comma.
scXThe range of x is [0, scX].
scYThe range of y is [0, scY].
scZThe 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: $F_K : S \rightarrow K$ with $\vec x = F_K(\xi) = B \cdot \vec \xi + \vec b$, where $\vec b = \mbox{vtx0}$ and $B = [ (\mbox{vtx1} - \vec b) (\mbox{vtx2} - \vec b) (\mbox{vtx3} - \vec b) ]$.

concepts::MapHexahedron3d::MapHexahedron3d ( const MapHexahedron3d map)

Copy constructor.

concepts::MapHexahedron3d::~MapHexahedron3d ( ) [inline]

Definition at line 226 of file elementMaps3D.hh.


Member Function Documentation

MapHexahedron3d* concepts::MapHexahedron3d::clone ( ) const [inline]

Returns a copy of the map.

Definition at line 278 of file elementMaps3D.hh.

Here is the call graph for this function:

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.

MapReal3d concepts::MapHexahedron3d::jacobian ( const Real  x,
const Real  y,
const Real  z 
) const

Returns the jacobian of the element map

\[ \left(\frac{\partial F_K}{\partial\vec\xi}\right) = \left\{\frac{\partial x^i}{\partial \xi_j}\right\}_{i,j=1}^3 \]

.

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.

Here is the call graph for this function:

MapReal3d concepts::MapHexahedron3d::jacobianInverse ( const Real  x,
const Real  y,
const Real  z 
) const [inline]

Computes the inverse of the jacobian:

\[ \left(\frac{\partial F_K}{\partial\vec\xi}\right)^{-1} = \left\{\frac{\partial \xi_i}{\partial x^j}\right\}_{i,j=1}^3 \]

.

Definition at line 268 of file elementMaps3D.hh.

Here is the call graph for this function:

Real3d concepts::MapHexahedron3d::operator() ( Real  x,
Real  y,
Real  z 
) const [inline]

Returns a point in 3D mapped from the unit cube $[0,1]^3$ onto the element in the original mesh.

Returns:
$F_K(x,y,z)$
Parameters:
x$\in [0, 1]$
y$\in [0, 1]$
z$\in [0, 1]$

Definition at line 236 of file elementMaps3D.hh.

void concepts::MapHexahedron3d::operator= ( const MapHexahedron3d ) [private]

Private assignement operator.


Member Data Documentation

Computed map.

Definition at line 194 of file elementMaps3D.hh.

Parsed formula for the map.

Definition at line 179 of file elementMaps3D.hh.

Right border of the x parameter domain.

Definition at line 185 of file elementMaps3D.hh.

Right border of the y parameter domain.

Definition at line 188 of file elementMaps3D.hh.

Right border of the z parameter domain.

Definition at line 191 of file elementMaps3D.hh.

Length of the parsed formula.

Definition at line 182 of file elementMaps3D.hh.


The documentation for this class was generated from the following file:

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)