Class documentation of Concepts

Loading...
Searching...
No Matches

#include <mappingEdge3D.hh>

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

Public Member Functions

 CircleMappingEdge3d (const Real3d &vtx0, const Real3d &vtx1, const Real radius, const Real3d &center, const Real tol=1e6 *std::numeric_limits< double >::epsilon())
 
 CircleMappingEdge3d (const CircleMappingEdge3d &other)
 Copy Constructor.
 
 ~CircleMappingEdge3d () override
 Destructor.
 
CircleMappingEdge3dclone () const override
 
CircleMappingEdge3dinverse () const override
 
Real3d operator() (const Real t) const override
 
Real3d derivative (const Real t, const uint n=1) const override
 
Real getRadius () const
 
Real3d getCenter () const
 
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

A 3D circular edge element map. Element parametrization:

\[ F_K (t) = c + r \frac{ F^{\text{lin}}_K (t) - c }{ \| F^{\text{lin}}_K (t) - c \|_2 }, \]

where $ F^{\text{lin}}_K $ is the $ \mathbb{Q}_1 $ linear edge element interpolating between $ F_K(0) $ and $ F_K(1) $, $ c \in \mathbb{R}^3 $ is the center of this edge and $ r \in \mathbb{R} $ the radius. This corresponds to the shortest edge connecting $ F_K(0) $ to $ F_K(1) $ on the sphere $ B_r(c)$.

Todo:
Use SphereData type instead of bare radius and center
Author
Lukas Drescher, 2014

Definition at line 115 of file mappingEdge3D.hh.

Constructor & Destructor Documentation

◆ CircleMappingEdge3d()

concepts::CircleMappingEdge3d::CircleMappingEdge3d ( const Real3d vtx0,
const Real3d vtx1,
const Real  radius,
const Real3d center,
const Real  tol = 1e6 *std::numeric_limits< double >::epsilon() 
)

Constructor.

Parameters
vtx0physical coordinate $ F_K(0) $ of first vertex of the edge
vtx1physical coordinate $ F_K(1) $ of second vertex of the edge
rradius of the sphere on which the edge lies
centercenter of the sphere on which the edge lies

Member Function Documentation

◆ clone()

CircleMappingEdge3d * concepts::CircleMappingEdge3d::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::CircleMappingEdge3d::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.

◆ getCenter()

Real3d concepts::CircleMappingEdge3d::getCenter ( ) const
inline

Definition at line 136 of file mappingEdge3D.hh.

◆ getRadius()

Real concepts::CircleMappingEdge3d::getRadius ( ) const
inline

Definition at line 135 of file mappingEdge3D.hh.

◆ info()

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

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

◆ inverse()

CircleMappingEdge3d * concepts::CircleMappingEdge3d::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::CircleMappingEdge3d::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: