Class documentation of Concepts

Loading...
Searching...
No Matches
concepts::MapHexahedron3d Class Reference

#include <elementMaps3D.hh>

Inheritance diagram for concepts::MapHexahedron3d:
concepts::MappingHexahedron3d concepts::Map3d concepts::OutputOperator

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.
 
MapHexahedron3dclone () const
 Returns a copy of the map.
 
MappingQuad3dface (uint face) const
 
MapHexahedron3dpart (const Real3d x0, const Real3d z0) const
 

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream.
 

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 366 of file elementMaps3D.hh.

Constructor & Destructor Documentation

◆ MapHexahedron3d() [1/2]

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 hexahedron 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].

◆ MapHexahedron3d() [2/2]

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: $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) ]$.

◆ ~MapHexahedron3d()

concepts::MapHexahedron3d::~MapHexahedron3d ( )
inline

Definition at line 416 of file elementMaps3D.hh.

Member Function Documentation

◆ clone()

MapHexahedron3d * concepts::MapHexahedron3d::clone ( ) const
inlinevirtual

Returns a copy of the map.

Implements concepts::MappingHexahedron3d.

Definition at line 472 of file elementMaps3D.hh.

◆ face()

MappingQuad3d * concepts::MapHexahedron3d::face ( uint  face) const
virtual

Returns the mapping of the given face.

Implements concepts::MappingHexahedron3d.

◆ hessian()

MapReal3d concepts::MapHexahedron3d::hessian ( uint  i,
const Real  x,
const Real  y,
const Real  z 
) const
virtual

Returns the hessian of the element map

Implements concepts::MappingHexahedron3d.

◆ info()

virtual std::ostream & concepts::MapHexahedron3d::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

Implements concepts::MappingHexahedron3d.

◆ jacobian()

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

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 \]

Implements concepts::MappingHexahedron3d.

◆ jacobianDeterminant()

Real concepts::MapHexahedron3d::jacobianDeterminant ( const Real  x,
const Real  y,
const Real  z 
) const
inlinevirtual

Returns the determinant of the Jacobian.

Reimplemented from concepts::MappingHexahedron3d.

Definition at line 467 of file elementMaps3D.hh.

◆ jacobianInverse()

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

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 \]

Reimplemented from concepts::MappingHexahedron3d.

Definition at line 462 of file elementMaps3D.hh.

◆ operator()()

Real3d concepts::MapHexahedron3d::operator() ( Real  x,
Real  y,
Real  z 
) const
inlinevirtual

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]$

Implements concepts::MappingHexahedron3d.

Definition at line 426 of file elementMaps3D.hh.

◆ part()

MapHexahedron3d * concepts::MapHexahedron3d::part ( const Real3d  x0,
const Real3d  z0 
) const
virtual

Returns a part of the mapping

Implements concepts::MappingHexahedron3d.


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