Class documentation of Concepts

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

#include <elementMaps3D.hh>

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

Public Member Functions

 PartMappingHexahedron3d (const MappingHexahedron3d &map, const Real3d x0, const Real3d x1)
 
 PartMappingHexahedron3d (const PartMappingHexahedron3d &other)
 
PartMappingHexahedron3dclone () const override
 Returns a copy of the map.
 
Real3d operator() (Real x, Real y, Real z) const override
 
MapReal3d jacobian (const Real x, const Real y, const Real z) const override
 
MapReal3d hessian (uint i, const Real x, const Real y, const Real z) const override
 
MappingQuad3dface (const uint face) const override
 
PartMappingHexahedron3dpart (const Real3d x0, const Real3d x1) const override
 
virtual MapReal3d jacobianInverse (const Real x, const Real y, const Real z) const
 
virtual Real jacobianDeterminant (const Real x, const Real y, const Real z) const
 Returns the determinant of the Jacobian.
 

Protected Member Functions

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

Detailed Description

A 3D element map for a restriction of a given hexahedron element mapping. Let $ F^p_K $ be the parent hexahedron. Then this element mapping is defined by

\[ F_K(s,t,u) = F^p_K(x_{0,0} (1-s) + x_{1,0} s,
                       x_{0,1} (1-t) + x_{1,1} t,
                       x_{0,2} (1-u) + x_{1,2} u). \]

Todo:
Possibly avoid copying the parent element (switch from unique_ptr to shared_ptr internally)
Author
, Lukas Drescher, 2014

Definition at line 313 of file elementMaps3D.hh.

Constructor & Destructor Documentation

◆ PartMappingHexahedron3d()

concepts::PartMappingHexahedron3d::PartMappingHexahedron3d ( const MappingHexahedron3d map,
const Real3d  x0,
const Real3d  x1 
)

Constructor

Parameters
mapParent hexahedron element map
x0,x1lower left front and upper right back corner of the restricted domain in coordinates of the parent hexahedron

◆ ~PartMappingHexahedron3d()

concepts::PartMappingHexahedron3d::~PartMappingHexahedron3d ( )
inlineoverride

Definition at line 323 of file elementMaps3D.hh.

Member Function Documentation

◆ clone()

PartMappingHexahedron3d * concepts::PartMappingHexahedron3d::clone ( ) const
overridevirtual

Returns a copy of the map.

Implements concepts::MappingHexahedron3d.

◆ face()

MappingQuad3d * concepts::PartMappingHexahedron3d::face ( const uint  face) const
overridevirtual

Returns the mapping of the given face.

Implements concepts::MappingHexahedron3d.

◆ hessian()

MapReal3d concepts::PartMappingHexahedron3d::hessian ( uint  i,
const Real  x,
const Real  y,
const Real  z 
) const
overridevirtual

Returns the Hessian, the integer indicates which 3x3 submap of the 3x3xi (i=1..3) tensor is required

Implements concepts::MappingHexahedron3d.

◆ info()

std::ostream & concepts::PartMappingHexahedron3d::info ( std::ostream &  os) const
overrideprotectedvirtual

Returns information in an output stream.

Implements concepts::MappingHexahedron3d.

◆ jacobian()

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

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

virtual Real concepts::MappingHexahedron3d::jacobianDeterminant ( const Real  x,
const Real  y,
const Real  z 
) const
inlinevirtualinherited

Returns the determinant of the Jacobian.

Reimplemented in concepts::MapHexahedron3d.

Definition at line 200 of file elementMaps3D.hh.

◆ jacobianInverse()

virtual MapReal3d concepts::MappingHexahedron3d::jacobianInverse ( const Real  x,
const Real  y,
const Real  z 
) const
inlinevirtualinherited

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 in concepts::MapHexahedron3d.

Definition at line 196 of file elementMaps3D.hh.

◆ operator()()

Real3d concepts::PartMappingHexahedron3d::operator() ( Real  x,
Real  y,
Real  z 
) const
overridevirtual

Returns a point in 3D mapped from the unit cube [0,1]3 onto the element in physical 3d space.

Returns
$F_K(x,y,z)$

Implements concepts::MappingHexahedron3d.

◆ part()

PartMappingHexahedron3d * concepts::PartMappingHexahedron3d::part ( const Real3d  xi0,
const Real3d  xi1 
) const
overridevirtual

Returns a part of the mapping

Implements concepts::MappingHexahedron3d.


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