ug4
ug::DimHFV1Geometry< TDim, TWorldDim > Class Template Reference

#include <hfv1_geom.h>

+ Inheritance diagram for ug::DimHFV1Geometry< TDim, TWorldDim >:

Classes

struct  MidID
 
struct  NatEdgeInfo
 
struct  NewEdgeInfo
 
class  SCV
 
class  SCVF
 

Public Types

typedef traits::elem_type_0 elem_type_0
 element type names More...
 
typedef traits::elem_type_1 elem_type_1
 
typedef traits::elem_type_2 elem_type_2
 
typedef traits::elem_type_3 elem_type_3
 
typedef traits::elem_type_4 elem_type_4
 
typedef hdimfv1_traits< TDim > traits
 traits
More...
 

Public Member Functions

 DimHFV1Geometry ()
 constructor More...
 
size_t num_scv () const
 number of SubControlVolumes More...
 
size_t num_scv_ips () const
 returns number of all scv ips More...
 
size_t num_scvf () const
 number of SubControlVolumeFaces More...
 
size_t num_scvf_ips () const
 returns number of all scv ips More...
 
size_t num_sh () const
 number of shape functions More...
 
const SCVscv (size_t i) const
 const access to SubControlVolume number i More...
 
const MathVector< worldDim > * scv_global_ips () const
 returns all ips of scv as they appear in scv loop More...
 
const MathVector< dim > * scv_local_ips () const
 returns all ips of scv as they appear in scv loop More...
 
const SCVFscvf (size_t i) const
 const access to SubControlVolumeFace number i More...
 
const MathVector< worldDim > * scvf_global_ips () const
 returns all ips of scv as they appear in scv loop More...
 
const MathVector< dim > * scvf_local_ips () const
 returns all ips of scv as they appear in scv loop More...
 
void update (GridObject *pElem, const MathVector< worldDim > *vCornerCoords, const ISubsetHandler *ish=NULL)
 update values for an element More...
 
void update_local_data ()
 update local data for an element More...
 

Static Public Attributes

static const int dim = TDim
 dimension of reference element More...
 
static const bool staticLocalData = true
 flag indicating if local data may change More...
 
static const bool usesHangingNodes = true
 Hanging node flag: this Geometry does support hanging nodes. More...
 
static const int worldDim = TWorldDim
 dimension of world More...
 

Protected Member Functions

void compute_side_midpoints (size_t i, MathVector< dim > &locSideMid, MathVector< worldDim > &gloSideMid)
 
void compute_side_midpoints (size_t i, size_t j, size_t k, MathVector< dim > &locSideMid, MathVector< worldDim > &gloSideMid)
 
void compute_side_midpoints (size_t i, size_t j, size_t k, size_t l, MathVector< dim > &locSideMid, MathVector< worldDim > &gloSideMid)
 
void copy_global_corners (SCV &scv)
 
void copy_global_corners (SCVF &scvf)
 
void copy_local_corners (SCV &scv)
 
void copy_local_corners (SCVF &scvf)
 
size_t get_child_edge_of_corner (size_t i, size_t co)
 

Protected Attributes

std::vector< MathVector< worldDim > > m_vGlobSCVFIP
 
std::vector< MathVector< worldDim > > m_vGlobSCVIP
 
std::vector< MathVector< dim > > m_vLocSCVFIP
 
std::vector< MathVector< dim > > m_vLocSCVIP
 

Private Attributes

std::vector< MathVector< worldDim > > m_gloMid [dim+1]
 
std::vector< MathVector< dim > > m_locMid [dim+1]
 
size_t m_numNaturalSCV
 number of SubControlVolumes More...
 
size_t m_numNaturalSCVF
 number of SubControlVolumeFaces More...
 
size_t m_numSh
 
GridObjectm_pElem
 pointer to current element More...
 
DimReferenceMapping< dim, worldDim > * m_rMapping
 reference mapping More...
 
ReferenceObjectID m_roid
 current reference object id More...
 
DimReferenceElement< dimm_rRefElem
 reference element More...
 
std::vector< NatEdgeInfom_vNatEdgeInfo
 
std::vector< NewEdgeInfom_vNewEdgeInfo
 
std::vector< SCVm_vSCV
 
std::vector< SCVFm_vSCVF
 

Static Private Attributes

static const size_t m_maxNSH = fv1_dim_traits<TDim, TWorldDim>::maxNSH
 max number of shapes More...
 

Member Typedef Documentation

◆ elem_type_0

template<int TDim, int TWorldDim = TDim>
typedef traits::elem_type_0 ug::DimHFV1Geometry< TDim, TWorldDim >::elem_type_0

element type names

◆ elem_type_1

template<int TDim, int TWorldDim = TDim>
typedef traits::elem_type_1 ug::DimHFV1Geometry< TDim, TWorldDim >::elem_type_1

◆ elem_type_2

template<int TDim, int TWorldDim = TDim>
typedef traits::elem_type_2 ug::DimHFV1Geometry< TDim, TWorldDim >::elem_type_2

◆ elem_type_3

template<int TDim, int TWorldDim = TDim>
typedef traits::elem_type_3 ug::DimHFV1Geometry< TDim, TWorldDim >::elem_type_3

◆ elem_type_4

template<int TDim, int TWorldDim = TDim>
typedef traits::elem_type_4 ug::DimHFV1Geometry< TDim, TWorldDim >::elem_type_4

◆ traits

template<int TDim, int TWorldDim = TDim>
typedef hdimfv1_traits<TDim> ug::DimHFV1Geometry< TDim, TWorldDim >::traits

traits

Constructor & Destructor Documentation

◆ DimHFV1Geometry()

template<int TDim, int TWorldDim = TDim>
ug::DimHFV1Geometry< TDim, TWorldDim >::DimHFV1Geometry ( )
inline

constructor

Member Function Documentation

◆ compute_side_midpoints() [1/3]

◆ compute_side_midpoints() [2/3]

template<int TDim, int TWorldDim = TDim>
void ug::DimHFV1Geometry< TDim, TWorldDim >::compute_side_midpoints ( size_t  i,
size_t  j,
size_t  k,
MathVector< dim > &  locSideMid,
MathVector< worldDim > &  gloSideMid 
)
inlineprotected

◆ compute_side_midpoints() [3/3]

template<int TDim, int TWorldDim = TDim>
void ug::DimHFV1Geometry< TDim, TWorldDim >::compute_side_midpoints ( size_t  i,
size_t  j,
size_t  k,
size_t  l,
MathVector< dim > &  locSideMid,
MathVector< worldDim > &  gloSideMid 
)
inlineprotected

◆ copy_global_corners() [1/2]

◆ copy_global_corners() [2/2]

◆ copy_local_corners() [1/2]

◆ copy_local_corners() [2/2]

◆ get_child_edge_of_corner()

template<int TDim, int TWorldDim = TDim>
size_t ug::DimHFV1Geometry< TDim, TWorldDim >::get_child_edge_of_corner ( size_t  i,
size_t  co 
)
inlineprotected

◆ num_scv()

template<int TDim, int TWorldDim = TDim>
size_t ug::DimHFV1Geometry< TDim, TWorldDim >::num_scv ( ) const
inline

◆ num_scv_ips()

template<int TDim, int TWorldDim = TDim>
size_t ug::DimHFV1Geometry< TDim, TWorldDim >::num_scv_ips ( ) const
inline

returns number of all scv ips

References ug::DimHFV1Geometry< TDim, TWorldDim >::m_vGlobSCVIP.

◆ num_scvf()

template<int TDim, int TWorldDim = TDim>
size_t ug::DimHFV1Geometry< TDim, TWorldDim >::num_scvf ( ) const
inline

number of SubControlVolumeFaces

References ug::DimHFV1Geometry< TDim, TWorldDim >::m_vSCVF.

Referenced by ug::DimHFV1Geometry< TDim, TWorldDim >::scvf().

◆ num_scvf_ips()

template<int TDim, int TWorldDim = TDim>
size_t ug::DimHFV1Geometry< TDim, TWorldDim >::num_scvf_ips ( ) const
inline

returns number of all scv ips

References ug::DimHFV1Geometry< TDim, TWorldDim >::m_vGlobSCVFIP.

◆ num_sh()

template<int TDim, int TWorldDim = TDim>
size_t ug::DimHFV1Geometry< TDim, TWorldDim >::num_sh ( ) const
inline

number of shape functions

References ug::DimHFV1Geometry< TDim, TWorldDim >::m_numSh.

◆ scv()

template<int TDim, int TWorldDim = TDim>
const SCV& ug::DimHFV1Geometry< TDim, TWorldDim >::scv ( size_t  i) const
inline

◆ scv_global_ips()

template<int TDim, int TWorldDim = TDim>
const MathVector<worldDim>* ug::DimHFV1Geometry< TDim, TWorldDim >::scv_global_ips ( ) const
inline

returns all ips of scv as they appear in scv loop

References ug::DimHFV1Geometry< TDim, TWorldDim >::m_vGlobSCVIP.

◆ scv_local_ips()

template<int TDim, int TWorldDim = TDim>
const MathVector<dim>* ug::DimHFV1Geometry< TDim, TWorldDim >::scv_local_ips ( ) const
inline

returns all ips of scv as they appear in scv loop

References ug::DimHFV1Geometry< TDim, TWorldDim >::m_vLocSCVIP.

◆ scvf()

template<int TDim, int TWorldDim = TDim>
const SCVF& ug::DimHFV1Geometry< TDim, TWorldDim >::scvf ( size_t  i) const
inline

◆ scvf_global_ips()

template<int TDim, int TWorldDim = TDim>
const MathVector<worldDim>* ug::DimHFV1Geometry< TDim, TWorldDim >::scvf_global_ips ( ) const
inline

returns all ips of scv as they appear in scv loop

References ug::DimHFV1Geometry< TDim, TWorldDim >::m_vGlobSCVFIP.

◆ scvf_local_ips()

template<int TDim, int TWorldDim = TDim>
const MathVector<dim>* ug::DimHFV1Geometry< TDim, TWorldDim >::scvf_local_ips ( ) const
inline

returns all ips of scv as they appear in scv loop

References ug::DimHFV1Geometry< TDim, TWorldDim >::m_vLocSCVFIP.

◆ update()

◆ update_local_data()

template<int TDim, int TWorldDim>
void ug::DimHFV1Geometry< TDim, TWorldDim >::update_local_data

update local data for an element

References dim, ug::ROID_OCTAHEDRON, and ug::ROID_PYRAMID.

Member Data Documentation

◆ dim

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

◆ m_gloMid

template<int TDim, int TWorldDim = TDim>
std::vector<MathVector<worldDim> > ug::DimHFV1Geometry< TDim, TWorldDim >::m_gloMid[dim+1]
private

◆ m_locMid

template<int TDim, int TWorldDim = TDim>
std::vector<MathVector<dim> > ug::DimHFV1Geometry< TDim, TWorldDim >::m_locMid[dim+1]
private

◆ m_maxNSH

template<int TDim, int TWorldDim = TDim>
const size_t ug::DimHFV1Geometry< TDim, TWorldDim >::m_maxNSH = fv1_dim_traits<TDim, TWorldDim>::maxNSH
staticprivate

max number of shapes

◆ m_numNaturalSCV

template<int TDim, int TWorldDim = TDim>
size_t ug::DimHFV1Geometry< TDim, TWorldDim >::m_numNaturalSCV
private

number of SubControlVolumes

◆ m_numNaturalSCVF

template<int TDim, int TWorldDim = TDim>
size_t ug::DimHFV1Geometry< TDim, TWorldDim >::m_numNaturalSCVF
private

number of SubControlVolumeFaces

◆ m_numSh

template<int TDim, int TWorldDim = TDim>
size_t ug::DimHFV1Geometry< TDim, TWorldDim >::m_numSh
private

◆ m_pElem

template<int TDim, int TWorldDim = TDim>
GridObject* ug::DimHFV1Geometry< TDim, TWorldDim >::m_pElem
private

pointer to current element

◆ m_rMapping

template<int TDim, int TWorldDim = TDim>
DimReferenceMapping<dim, worldDim>* ug::DimHFV1Geometry< TDim, TWorldDim >::m_rMapping
private

reference mapping

◆ m_roid

template<int TDim, int TWorldDim = TDim>
ReferenceObjectID ug::DimHFV1Geometry< TDim, TWorldDim >::m_roid
private

current reference object id

◆ m_rRefElem

template<int TDim, int TWorldDim = TDim>
DimReferenceElement<dim> ug::DimHFV1Geometry< TDim, TWorldDim >::m_rRefElem
private

◆ m_vGlobSCVFIP

template<int TDim, int TWorldDim = TDim>
std::vector<MathVector<worldDim> > ug::DimHFV1Geometry< TDim, TWorldDim >::m_vGlobSCVFIP
protected

◆ m_vGlobSCVIP

template<int TDim, int TWorldDim = TDim>
std::vector<MathVector<worldDim> > ug::DimHFV1Geometry< TDim, TWorldDim >::m_vGlobSCVIP
protected

◆ m_vLocSCVFIP

template<int TDim, int TWorldDim = TDim>
std::vector<MathVector<dim> > ug::DimHFV1Geometry< TDim, TWorldDim >::m_vLocSCVFIP
protected

◆ m_vLocSCVIP

template<int TDim, int TWorldDim = TDim>
std::vector<MathVector<dim> > ug::DimHFV1Geometry< TDim, TWorldDim >::m_vLocSCVIP
protected

◆ m_vNatEdgeInfo

template<int TDim, int TWorldDim = TDim>
std::vector<NatEdgeInfo> ug::DimHFV1Geometry< TDim, TWorldDim >::m_vNatEdgeInfo
private

◆ m_vNewEdgeInfo

template<int TDim, int TWorldDim = TDim>
std::vector<NewEdgeInfo> ug::DimHFV1Geometry< TDim, TWorldDim >::m_vNewEdgeInfo
private

◆ m_vSCV

template<int TDim, int TWorldDim = TDim>
std::vector<SCV> ug::DimHFV1Geometry< TDim, TWorldDim >::m_vSCV
private

◆ m_vSCVF

template<int TDim, int TWorldDim = TDim>
std::vector<SCVF> ug::DimHFV1Geometry< TDim, TWorldDim >::m_vSCVF
private

◆ staticLocalData

template<int TDim, int TWorldDim = TDim>
const bool ug::DimHFV1Geometry< TDim, TWorldDim >::staticLocalData = true
static

flag indicating if local data may change

◆ usesHangingNodes

template<int TDim, int TWorldDim = TDim>
const bool ug::DimHFV1Geometry< TDim, TWorldDim >::usesHangingNodes = true
static

Hanging node flag: this Geometry does support hanging nodes.

◆ worldDim

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

dimension of world


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