ug4
ug::DimReferenceMapping< TDim, TWorldDim > Class Template Referenceabstract

virtual base class for reference mappings More...

#include <reference_mapping_provider.h>

Public Member Functions

virtual void global_to_local (MathVector< dim > &locPos, const MathVector< worldDim > &globPos, const size_t maxIter=1000, const number tol=1e-10) const =0
 map global coordinate to local coordinate More...
 
virtual void global_to_local (MathVector< dim > *vLocPos, const MathVector< worldDim > *vGlobPos, size_t n, const size_t maxIter=1000, const number tol=1e-10) const =0
 map global coordinate to local coordinate for n local positions More...
 
virtual void global_to_local (std::vector< MathVector< dim > > &vLocPos, const std::vector< MathVector< worldDim > > &vGlobPos, const size_t maxIter=1000, const number tol=1e-10) const =0
 map global coordinate to local coordinate for a vector of local positions More...
 
virtual bool is_linear () const =0
 returns if mapping is affine More...
 
virtual void jacobian (MathMatrix< worldDim, dim > &J, const MathVector< dim > &locPos) const =0
 returns jacobian More...
 
virtual void jacobian (MathMatrix< worldDim, dim > *vJ, const MathVector< dim > *vLocPos, size_t n) const =0
 returns jacobian for n local positions More...
 
virtual void jacobian (std::vector< MathMatrix< worldDim, dim > > &vJ, const std::vector< MathVector< dim > > &vLocPos) const =0
 returns jacobian for a vector of local positions More...
 
virtual void jacobian_transposed (MathMatrix< dim, worldDim > &JT, const MathVector< dim > &locPos) const =0
 returns transposed of jacobian More...
 
virtual void jacobian_transposed (MathMatrix< dim, worldDim > *vJT, const MathVector< dim > *vLocPos, size_t n) const =0
 returns transposed of jacobian for n local positions More...
 
virtual void jacobian_transposed (std::vector< MathMatrix< dim, worldDim > > &vJT, const std::vector< MathVector< dim > > &vLocPos) const =0
 returns transposed of jacobian for a vector of positions More...
 
virtual number jacobian_transposed_inverse (MathMatrix< worldDim, dim > &JTInv, const MathVector< dim > &locPos) const =0
 returns transposed of the inverse of the jacobian and returns sqrt of gram determinante More...
 
virtual void jacobian_transposed_inverse (MathMatrix< worldDim, dim > *vJTInv, const MathVector< dim > *vLocPos, size_t n) const =0
 returns transposed of the inverse of the jacobian for n local positions More...
 
virtual void jacobian_transposed_inverse (MathMatrix< worldDim, dim > *vJTInv, number *vDet, const MathVector< dim > *vLocPos, size_t n) const =0
 returns transposed of the inverse of the jacobian for n local positions More...
 
virtual void jacobian_transposed_inverse (std::vector< MathMatrix< worldDim, dim > > &vJTInv, const std::vector< MathVector< dim > > &vLocPos) const =0
 returns transposed of the inverse of the jacobian for a vector of positions More...
 
virtual void jacobian_transposed_inverse (std::vector< MathMatrix< worldDim, dim > > &vJTInv, std::vector< number > &vDet, const std::vector< MathVector< dim > > &vLocPos) const =0
 returns transposed of the inverse of the jacobian for a vector of positions More...
 
virtual void local_to_global (MathVector< worldDim > &globPos, const MathVector< dim > &locPos) const =0
 map local coordinate to global coordinate More...
 
virtual void local_to_global (MathVector< worldDim > *vGlobPos, const MathVector< dim > *vLocPos, size_t n) const =0
 map n local coordinate to global coordinate More...
 
virtual void local_to_global (std::vector< MathVector< worldDim > > &vGlobPos, const std::vector< MathVector< dim > > &vLocPos) const =0
 map local coordinate to global coordinate for a vector of local positions More...
 
virtual number sqrt_gram_det (const MathVector< dim > &locPos) const =0
 returns the determinate of the jacobian More...
 
virtual void sqrt_gram_det (number *vDet, const MathVector< dim > *vLocPos, size_t n) const =0
 returns the determinate of the jacobian for n local positions More...
 
virtual void sqrt_gram_det (std::vector< number > &vDet, const std::vector< MathVector< dim > > &vLocPos) const =0
 returns the determinate of the jacobian for a vector of local positions More...
 
virtual void update (const MathVector< worldDim > *vCornerCoord)=0
 refresh mapping for new set of corners More...
 
virtual void update (const std::vector< MathVector< worldDim > > &vCornerCoord)=0
 refresh mapping for new set of corners More...
 
virtual ~DimReferenceMapping ()
 virtual destructor More...
 

Static Public Attributes

static const int dim = TDim
 reference dimension (domain space dimension) More...
 
static const int worldDim = TWorldDim
 world dimension (range space dimension) More...
 

Detailed Description

template<int TDim, int TWorldDim = TDim>
class ug::DimReferenceMapping< TDim, TWorldDim >

virtual base class for reference mappings

This class is the base class for reference mappings in order to make them selectable through a provider (on the price of virtual functions).

Template Parameters
TDimreference element dimension
TWorldDim(physical) world dimension

Constructor & Destructor Documentation

◆ ~DimReferenceMapping()

template<int TDim, int TWorldDim = TDim>
virtual ug::DimReferenceMapping< TDim, TWorldDim >::~DimReferenceMapping ( )
inlinevirtual

virtual destructor

Member Function Documentation

◆ global_to_local() [1/3]

◆ global_to_local() [2/3]

template<int TDim, int TWorldDim = TDim>
virtual void ug::DimReferenceMapping< TDim, TWorldDim >::global_to_local ( MathVector< dim > *  vLocPos,
const MathVector< worldDim > *  vGlobPos,
size_t  n,
const size_t  maxIter = 1000,
const number  tol = 1e-10 
) const
pure virtual

map global coordinate to local coordinate for n local positions

Implemented in ug::DimReferenceMappingWrapper< TRefMapping >.

◆ global_to_local() [3/3]

template<int TDim, int TWorldDim = TDim>
virtual void ug::DimReferenceMapping< TDim, TWorldDim >::global_to_local ( std::vector< MathVector< dim > > &  vLocPos,
const std::vector< MathVector< worldDim > > &  vGlobPos,
const size_t  maxIter = 1000,
const number  tol = 1e-10 
) const
pure virtual

map global coordinate to local coordinate for a vector of local positions

Implemented in ug::DimReferenceMappingWrapper< TRefMapping >.

◆ is_linear()

template<int TDim, int TWorldDim = TDim>
virtual bool ug::DimReferenceMapping< TDim, TWorldDim >::is_linear ( ) const
pure virtual

◆ jacobian() [1/3]

template<int TDim, int TWorldDim = TDim>
virtual void ug::DimReferenceMapping< TDim, TWorldDim >::jacobian ( MathMatrix< worldDim, dim > &  J,
const MathVector< dim > &  locPos 
) const
pure virtual

◆ jacobian() [2/3]

template<int TDim, int TWorldDim = TDim>
virtual void ug::DimReferenceMapping< TDim, TWorldDim >::jacobian ( MathMatrix< worldDim, dim > *  vJ,
const MathVector< dim > *  vLocPos,
size_t  n 
) const
pure virtual

returns jacobian for n local positions

Implemented in ug::DimReferenceMappingWrapper< TRefMapping >.

◆ jacobian() [3/3]

template<int TDim, int TWorldDim = TDim>
virtual void ug::DimReferenceMapping< TDim, TWorldDim >::jacobian ( std::vector< MathMatrix< worldDim, dim > > &  vJ,
const std::vector< MathVector< dim > > &  vLocPos 
) const
pure virtual

returns jacobian for a vector of local positions

Implemented in ug::DimReferenceMappingWrapper< TRefMapping >.

◆ jacobian_transposed() [1/3]

◆ jacobian_transposed() [2/3]

template<int TDim, int TWorldDim = TDim>
virtual void ug::DimReferenceMapping< TDim, TWorldDim >::jacobian_transposed ( MathMatrix< dim, worldDim > *  vJT,
const MathVector< dim > *  vLocPos,
size_t  n 
) const
pure virtual

returns transposed of jacobian for n local positions

Implemented in ug::DimReferenceMappingWrapper< TRefMapping >.

◆ jacobian_transposed() [3/3]

template<int TDim, int TWorldDim = TDim>
virtual void ug::DimReferenceMapping< TDim, TWorldDim >::jacobian_transposed ( std::vector< MathMatrix< dim, worldDim > > &  vJT,
const std::vector< MathVector< dim > > &  vLocPos 
) const
pure virtual

returns transposed of jacobian for a vector of positions

Implemented in ug::DimReferenceMappingWrapper< TRefMapping >.

◆ jacobian_transposed_inverse() [1/5]

◆ jacobian_transposed_inverse() [2/5]

template<int TDim, int TWorldDim = TDim>
virtual void ug::DimReferenceMapping< TDim, TWorldDim >::jacobian_transposed_inverse ( MathMatrix< worldDim, dim > *  vJTInv,
const MathVector< dim > *  vLocPos,
size_t  n 
) const
pure virtual

returns transposed of the inverse of the jacobian for n local positions

Implemented in ug::DimReferenceMappingWrapper< TRefMapping >.

◆ jacobian_transposed_inverse() [3/5]

template<int TDim, int TWorldDim = TDim>
virtual void ug::DimReferenceMapping< TDim, TWorldDim >::jacobian_transposed_inverse ( MathMatrix< worldDim, dim > *  vJTInv,
number vDet,
const MathVector< dim > *  vLocPos,
size_t  n 
) const
pure virtual

returns transposed of the inverse of the jacobian for n local positions

Implemented in ug::DimReferenceMappingWrapper< TRefMapping >.

◆ jacobian_transposed_inverse() [4/5]

template<int TDim, int TWorldDim = TDim>
virtual void ug::DimReferenceMapping< TDim, TWorldDim >::jacobian_transposed_inverse ( std::vector< MathMatrix< worldDim, dim > > &  vJTInv,
const std::vector< MathVector< dim > > &  vLocPos 
) const
pure virtual

returns transposed of the inverse of the jacobian for a vector of positions

Implemented in ug::DimReferenceMappingWrapper< TRefMapping >.

◆ jacobian_transposed_inverse() [5/5]

template<int TDim, int TWorldDim = TDim>
virtual void ug::DimReferenceMapping< TDim, TWorldDim >::jacobian_transposed_inverse ( std::vector< MathMatrix< worldDim, dim > > &  vJTInv,
std::vector< number > &  vDet,
const std::vector< MathVector< dim > > &  vLocPos 
) const
pure virtual

returns transposed of the inverse of the jacobian for a vector of positions

Implemented in ug::DimReferenceMappingWrapper< TRefMapping >.

◆ local_to_global() [1/3]

◆ local_to_global() [2/3]

template<int TDim, int TWorldDim = TDim>
virtual void ug::DimReferenceMapping< TDim, TWorldDim >::local_to_global ( MathVector< worldDim > *  vGlobPos,
const MathVector< dim > *  vLocPos,
size_t  n 
) const
pure virtual

map n local coordinate to global coordinate

Implemented in ug::DimReferenceMappingWrapper< TRefMapping >.

◆ local_to_global() [3/3]

template<int TDim, int TWorldDim = TDim>
virtual void ug::DimReferenceMapping< TDim, TWorldDim >::local_to_global ( std::vector< MathVector< worldDim > > &  vGlobPos,
const std::vector< MathVector< dim > > &  vLocPos 
) const
pure virtual

map local coordinate to global coordinate for a vector of local positions

Implemented in ug::DimReferenceMappingWrapper< TRefMapping >.

◆ sqrt_gram_det() [1/3]

◆ sqrt_gram_det() [2/3]

template<int TDim, int TWorldDim = TDim>
virtual void ug::DimReferenceMapping< TDim, TWorldDim >::sqrt_gram_det ( number vDet,
const MathVector< dim > *  vLocPos,
size_t  n 
) const
pure virtual

returns the determinate of the jacobian for n local positions

Implemented in ug::DimReferenceMappingWrapper< TRefMapping >.

◆ sqrt_gram_det() [3/3]

template<int TDim, int TWorldDim = TDim>
virtual void ug::DimReferenceMapping< TDim, TWorldDim >::sqrt_gram_det ( std::vector< number > &  vDet,
const std::vector< MathVector< dim > > &  vLocPos 
) const
pure virtual

returns the determinate of the jacobian for a vector of local positions

Implemented in ug::DimReferenceMappingWrapper< TRefMapping >.

◆ update() [1/2]

◆ update() [2/2]

template<int TDim, int TWorldDim = TDim>
virtual void ug::DimReferenceMapping< TDim, TWorldDim >::update ( const std::vector< MathVector< worldDim > > &  vCornerCoord)
pure virtual

refresh mapping for new set of corners

Implemented in ug::DimReferenceMappingWrapper< TRefMapping >.

Member Data Documentation

◆ dim

template<int TDim, int TWorldDim = TDim>
const int ug::DimReferenceMapping< TDim, TWorldDim >::dim = TDim
static

reference dimension (domain space dimension)

◆ worldDim

template<int TDim, int TWorldDim = TDim>
const int ug::DimReferenceMapping< TDim, TWorldDim >::worldDim = TWorldDim
static

world dimension (range space dimension)


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