Class documentation of Concepts

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

#include <mappingEdge3D.hh>

Inheritance diagram for concepts::MappingHexahedronEdge3d:
concepts::MappingEdge3d concepts::Map1d concepts::OutputOperator

Public Member Functions

 MappingHexahedronEdge3d (const MappingHexahedron3d &map, const uint edge)
 
 MappingHexahedronEdge3d (const MappingHexahedron3d &map, const Real3d xi, const Real3d diff)
 
 MappingHexahedronEdge3d (const MappingHexahedronEdge3d &other)
 Copy Constructor.
 
MappingHexahedronEdge3dclone () const override
 
Real3d operator() (const Real t) const override
 
Real3d derivative (const Real t, const uint n=1) const override
 
MappingHexahedronEdge3dinverse () const override
 
const Real3dvtx (uint i) const
 

Protected Member Functions

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

Protected Attributes

std::array< Real3d, 2 > vtx_
 Physical vertices $ \{ F_K(0), F_K(1) \} $.
 

Detailed Description

3D element map for an edge as part of a Hexahedron. Let $ F^p_K $ be the parent hexahedron. Then this element mapping is defined by

\[ F_K(s) = F^p_K(\text{xi} + \text{diff}_ s). \]

If constructed by an edge index, this map chooses xi and diff according to that index as defined by the "standard" orientation in the topology

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

Definition at line 161 of file mappingEdge3D.hh.

Constructor & Destructor Documentation

◆ MappingHexahedronEdge3d() [1/2]

concepts::MappingHexahedronEdge3d::MappingHexahedronEdge3d ( const MappingHexahedron3d map,
const uint  edge 
)

Constructor for an edge as a part of a parent hexahedron.

Possible modification: Reference-count the parent hexahedron mapping

Parameters
mapof the parent hexahedron
edgenumber of edge,

◆ MappingHexahedronEdge3d() [2/2]

concepts::MappingHexahedronEdge3d::MappingHexahedronEdge3d ( const MappingHexahedron3d map,
const Real3d  xi,
const Real3d  diff 
)

Constructor for an locally straight edge inside the hexahedron

Parameters
mapof the parent hexahedorn
xilocal coordinates of first vertex
diffvector from first to second vertex

◆ ~MappingHexahedronEdge3d()

concepts::MappingHexahedronEdge3d::~MappingHexahedronEdge3d ( )
inlineoverride

Definition at line 182 of file mappingEdge3D.hh.

Member Function Documentation

◆ clone()

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

Virtual constructor. Create a heap-allocated copy of this edge.

Returns
Pointer to heap-allocated edge copy. To be deleted by the user.

Implements concepts::MappingEdge3d.

◆ derivative()

Real3d concepts::MappingHexahedronEdge3d::derivative ( const Real  t,
const uint  n = 1 
) const
overridevirtual

Evaluates the n-th derivative of the edge mapping at the coordinate t.

Parameters
norder of the derivative (<= 1 for most concrete types)
Returns
$ F^{(n)}_K(t)$

Implements concepts::MappingEdge3d.

◆ info()

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

Returns information in an output stream.

Reimplemented from concepts::MappingEdge3d.

◆ inverse()

MappingHexahedronEdge3d * concepts::MappingHexahedronEdge3d::inverse ( ) const
overridevirtual

Create a heap-allocated copy of this edge with reversed parametrization.

Returns
Pointer to heap-allocated edge copy. Has to be deleted by the user.

Implements concepts::MappingEdge3d.

◆ operator()()

Real3d concepts::MappingHexahedronEdge3d::operator() ( const Real  t) const
overridevirtual

Evaluates the edge mapping at the coordinate t.

Returns
$ F_K(t) $

Implements concepts::MappingEdge3d.

◆ vtx()

const Real3d & concepts::MappingEdge3d::vtx ( uint  i) const
inlineinherited

Returns i-th physical vertex of the edge

Returns
$ F_K( i ) $

Definition at line 64 of file mappingEdge3D.hh.

Member Data Documentation

◆ vtx_

std::array<Real3d,2> concepts::MappingEdge3d::vtx_
protectedinherited

Physical vertices $ \{ F_K(0), F_K(1) \} $.

Definition at line 68 of file mappingEdge3D.hh.


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