ug4
ug::HCRFVGeometry< TElem, TWorldDim > Class Template Reference

#include <hfvcr_geom.h>

+ Inheritance diagram for ug::HCRFVGeometry< TElem, TWorldDim >:

Classes

class  CONSTRAINED_DOF
 
class  HandledEdge
 
class  SCV
 sub control volume structure More...
 
class  SCVF
 Sub-Control Volume Face structure. More...
 

Public Types

typedef TElem elem_type
 type of element More...
 
typedef hcrfv_traits< TWorldDim, TWorldDim >::face_type face_type0
 
typedef hcrfv_traits< TWorldDim, TWorldDim+1 >::face_type face_type1
 
typedef CrouzeixRaviartLSFS< ref_elem_typelocal_shape_fct_set_type
 type of Shape function used More...
 
typedef reference_element_traits< TElem >::reference_element_type ref_elem_type
 type of reference element More...
 
typedef hcrfv_traits< TWorldDim, TWorldDim >::scv_type scv_type0
 traits More...
 
typedef hcrfv_traits< TWorldDim, TWorldDim+1 >::scv_type scv_type1
 
typedef hcrfv_traits< dim, worldDimtraits
 used traits More...
 

Public Member Functions

const CONSTRAINED_DOFconstrained_dof (size_t i) const
 const access to constrained dof i More...
 
const MathVector< worldDim > * corners () const
 
const MathVector< worldDimglobal_bary () const
 returns global barycenter More...
 
 HCRFVGeometry ()
 construct object and initialize local values and sizes More...
 
const MathVector< dimlocal_bary () const
 returns local barycenter More...
 
size_t num_constrained_dofs () const
 number of constrained dofs 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 scvf ips More...
 
size_t num_sh () const
 number of shape functions More...
 
void print ()
 debug output 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 scvf as they appear in scv loop More...
 
const MathVector< dim > * scvf_local_ips () const
 returns all ips of scvf as they appear in scv loop More...
 
void update (GridObject *elem, const MathVector< worldDim > *vCornerCoords, const ISubsetHandler *ish=NULL)
 update data for given element More...
 
void update_local_data ()
 update local data More...
 

Public Attributes

MathVector< worldDimglobalBary
 
MathVector< dimlocalBary
 

Static Public Attributes

static const int dim = ref_elem_type::dim
 dimension of reference element More...
 
static const size_t maxNumSCV = traits::maxNumSCV
 
static const size_t maxNumSCVF = traits::maxNumSCVF
 
static const size_t nip = 1
 number of integration points More...
 
static const size_t nsh = local_shape_fct_set_type::nsh
 number of shape functions More...
 
static const size_t numNaturalSCV = nsh
 number of SubControlVolumes More...
 
static const size_t numNaturalSCVF = ref_elem_type::numEdges
 number of SubControlVolumeFaces More...
 
static const int order = 1
 order More...
 
static const bool staticLocalData = true
 flag indicating if local data may change More...
 
static const bool usesHangingNodes = true
 Hanging node flag: this geometry supports hanging nodes. More...
 
static const int worldDim = TWorldDim
 dimension of world More...
 

Protected Attributes

MathVector< worldDimm_vCo [numMaxCo]
 
MathVector< worldDimm_vGlobSCVF_IP [maxNumSCVF]
 
MathVector< worldDimm_vGlobUnkCoords [maxNumSCV]
 
MathVector< dimm_vLocSCVF_IP [maxNumSCVF]
 
MathVector< dimm_vLocUnkCoords [maxNumSCV]
 

Static Protected Attributes

static const size_t numMaxCo = 8
 

Private Attributes

std::vector< HandledEdgehandledEdges
 
bool localUpdateNecessary
 
MathVector< dimm_ipCoord [maxNumSCVF]
 
ReferenceMapping< ref_elem_type, worldDimm_mapping
 Reference Mapping. More...
 
TElem * m_pElem
 pointer to current element More...
 
const ref_elem_typem_rRefElem
 Reference Element. More...
 
const local_shape_fct_set_typem_rTrialSpace
 Shape function set. More...
 
CONSTRAINED_DOF m_vCD [maxNumSCV]
 constrained Dofs More...
 
SCV m_vSCV [maxNumSCV]
 SubControlVolumes. More...
 
SCVF m_vSCVF [maxNumSCVF]
 SubControlVolumeFaces. More...
 
size_t numConstrainedDofs
 
size_t numDofs
 
size_t numSCV
 
size_t numSCVF
 

Static Private Attributes

static const size_t deleted = 117
 

Member Typedef Documentation

◆ elem_type

template<typename TElem , int TWorldDim>
typedef TElem ug::HCRFVGeometry< TElem, TWorldDim >::elem_type

type of element

◆ face_type0

template<typename TElem , int TWorldDim>
typedef hcrfv_traits<TWorldDim,TWorldDim>::face_type ug::HCRFVGeometry< TElem, TWorldDim >::face_type0

◆ face_type1

template<typename TElem , int TWorldDim>
typedef hcrfv_traits<TWorldDim,TWorldDim+1>::face_type ug::HCRFVGeometry< TElem, TWorldDim >::face_type1

◆ local_shape_fct_set_type

template<typename TElem , int TWorldDim>
typedef CrouzeixRaviartLSFS<ref_elem_type> ug::HCRFVGeometry< TElem, TWorldDim >::local_shape_fct_set_type

type of Shape function used

◆ ref_elem_type

template<typename TElem , int TWorldDim>
typedef reference_element_traits<TElem>::reference_element_type ug::HCRFVGeometry< TElem, TWorldDim >::ref_elem_type

type of reference element

◆ scv_type0

template<typename TElem , int TWorldDim>
typedef hcrfv_traits<TWorldDim,TWorldDim>::scv_type ug::HCRFVGeometry< TElem, TWorldDim >::scv_type0

traits

◆ scv_type1

template<typename TElem , int TWorldDim>
typedef hcrfv_traits<TWorldDim,TWorldDim+1>::scv_type ug::HCRFVGeometry< TElem, TWorldDim >::scv_type1

◆ traits

template<typename TElem , int TWorldDim>
typedef hcrfv_traits<dim,worldDim> ug::HCRFVGeometry< TElem, TWorldDim >::traits

used traits

Constructor & Destructor Documentation

◆ HCRFVGeometry()

template<typename TElem , int TWorldDim>
ug::HCRFVGeometry< TElem, TWorldDim >::HCRFVGeometry

construct object and initialize local values and sizes

References ug::HCRFVGeometry< TElem, TWorldDim >::update_local_data().

Member Function Documentation

◆ constrained_dof()

template<typename TElem , int TWorldDim>
const CONSTRAINED_DOF& ug::HCRFVGeometry< TElem, TWorldDim >::constrained_dof ( size_t  i) const
inline

◆ corners()

template<typename TElem , int TWorldDim>
const MathVector<worldDim>* ug::HCRFVGeometry< TElem, TWorldDim >::corners ( ) const
inline

◆ global_bary()

template<typename TElem , int TWorldDim>
const MathVector<worldDim> ug::HCRFVGeometry< TElem, TWorldDim >::global_bary ( ) const
inline

returns global barycenter

References ug::HCRFVGeometry< TElem, TWorldDim >::globalBary.

◆ local_bary()

template<typename TElem , int TWorldDim>
const MathVector<dim> ug::HCRFVGeometry< TElem, TWorldDim >::local_bary ( ) const
inline

returns local barycenter

References ug::HCRFVGeometry< TElem, TWorldDim >::localBary.

◆ num_constrained_dofs()

template<typename TElem , int TWorldDim>
size_t ug::HCRFVGeometry< TElem, TWorldDim >::num_constrained_dofs ( ) const
inline

number of constrained dofs

References ug::HCRFVGeometry< TElem, TWorldDim >::numConstrainedDofs.

◆ num_scv()

template<typename TElem , int TWorldDim>
size_t ug::HCRFVGeometry< TElem, TWorldDim >::num_scv ( ) const
inline

number of SubControlVolumes

References ug::HCRFVGeometry< TElem, TWorldDim >::numSCV.

◆ num_scv_ips()

template<typename TElem , int TWorldDim>
size_t ug::HCRFVGeometry< TElem, TWorldDim >::num_scv_ips ( ) const
inline

returns number of all scv ips

References ug::HCRFVGeometry< TElem, TWorldDim >::numSCV.

◆ num_scvf()

template<typename TElem , int TWorldDim>
size_t ug::HCRFVGeometry< TElem, TWorldDim >::num_scvf ( ) const
inline

number of SubControlVolumeFaces

References ug::HCRFVGeometry< TElem, TWorldDim >::numSCVF.

◆ num_scvf_ips()

template<typename TElem , int TWorldDim>
size_t ug::HCRFVGeometry< TElem, TWorldDim >::num_scvf_ips ( ) const
inline

returns number of all scvf ips

References ug::HCRFVGeometry< TElem, TWorldDim >::numSCVF.

◆ num_sh()

template<typename TElem , int TWorldDim>
size_t ug::HCRFVGeometry< TElem, TWorldDim >::num_sh ( ) const
inline

number of shape functions

References ug::HCRFVGeometry< TElem, TWorldDim >::nsh.

◆ print()

template<typename TElem , int TWorldDim>
void ug::HCRFVGeometry< TElem, TWorldDim >::print

debug output

References UG_LOG.

◆ scv()

template<typename TElem , int TWorldDim>
const SCV& ug::HCRFVGeometry< TElem, TWorldDim >::scv ( size_t  i) const
inline

◆ scv_global_ips()

template<typename TElem , int TWorldDim>
const MathVector<worldDim>* ug::HCRFVGeometry< TElem, TWorldDim >::scv_global_ips ( ) const
inline

returns all ips of scv as they appear in scv loop

References ug::HCRFVGeometry< TElem, TWorldDim >::m_vGlobUnkCoords.

◆ scv_local_ips()

template<typename TElem , int TWorldDim>
const MathVector<dim>* ug::HCRFVGeometry< TElem, TWorldDim >::scv_local_ips ( ) const
inline

returns all ips of scv as they appear in scv loop

References ug::HCRFVGeometry< TElem, TWorldDim >::m_vLocUnkCoords.

◆ scvf()

template<typename TElem , int TWorldDim>
const SCVF& ug::HCRFVGeometry< TElem, TWorldDim >::scvf ( size_t  i) const
inline

◆ scvf_global_ips()

template<typename TElem , int TWorldDim>
const MathVector<worldDim>* ug::HCRFVGeometry< TElem, TWorldDim >::scvf_global_ips ( ) const
inline

returns all ips of scvf as they appear in scv loop

References ug::HCRFVGeometry< TElem, TWorldDim >::m_vGlobSCVF_IP.

◆ scvf_local_ips()

template<typename TElem , int TWorldDim>
const MathVector<dim>* ug::HCRFVGeometry< TElem, TWorldDim >::scvf_local_ips ( ) const
inline

returns all ips of scvf as they appear in scv loop

References ug::HCRFVGeometry< TElem, TWorldDim >::m_vLocSCVF_IP.

◆ update()

◆ update_local_data()

template<typename TElem , int TWorldDim>
void ug::HCRFVGeometry< TElem, TWorldDim >::update_local_data

update local data

References ug::AveragePositions(), and dim.

Referenced by ug::HCRFVGeometry< TElem, TWorldDim >::HCRFVGeometry().

Member Data Documentation

◆ deleted

template<typename TElem , int TWorldDim>
const size_t ug::HCRFVGeometry< TElem, TWorldDim >::deleted = 117
staticprivate

◆ dim

template<typename TElem , int TWorldDim>
const int ug::HCRFVGeometry< TElem, TWorldDim >::dim = ref_elem_type::dim
static

dimension of reference element

◆ globalBary

template<typename TElem , int TWorldDim>
MathVector<worldDim> ug::HCRFVGeometry< TElem, TWorldDim >::globalBary

◆ handledEdges

template<typename TElem , int TWorldDim>
std::vector<HandledEdge> ug::HCRFVGeometry< TElem, TWorldDim >::handledEdges
private

◆ localBary

template<typename TElem , int TWorldDim>
MathVector<dim> ug::HCRFVGeometry< TElem, TWorldDim >::localBary

◆ localUpdateNecessary

template<typename TElem , int TWorldDim>
bool ug::HCRFVGeometry< TElem, TWorldDim >::localUpdateNecessary
private

◆ m_ipCoord

template<typename TElem , int TWorldDim>
MathVector<dim> ug::HCRFVGeometry< TElem, TWorldDim >::m_ipCoord[maxNumSCVF]
private

◆ m_mapping

template<typename TElem , int TWorldDim>
ReferenceMapping<ref_elem_type, worldDim> ug::HCRFVGeometry< TElem, TWorldDim >::m_mapping
private

Reference Mapping.

◆ m_pElem

template<typename TElem , int TWorldDim>
TElem* ug::HCRFVGeometry< TElem, TWorldDim >::m_pElem
private

pointer to current element

◆ m_rRefElem

template<typename TElem , int TWorldDim>
const ref_elem_type& ug::HCRFVGeometry< TElem, TWorldDim >::m_rRefElem
private

Reference Element.

◆ m_rTrialSpace

template<typename TElem , int TWorldDim>
const local_shape_fct_set_type& ug::HCRFVGeometry< TElem, TWorldDim >::m_rTrialSpace
private

Shape function set.

◆ m_vCD

template<typename TElem , int TWorldDim>
CONSTRAINED_DOF ug::HCRFVGeometry< TElem, TWorldDim >::m_vCD[maxNumSCV]
private

◆ m_vCo

template<typename TElem , int TWorldDim>
MathVector<worldDim> ug::HCRFVGeometry< TElem, TWorldDim >::m_vCo[numMaxCo]
protected

◆ m_vGlobSCVF_IP

template<typename TElem , int TWorldDim>
MathVector<worldDim> ug::HCRFVGeometry< TElem, TWorldDim >::m_vGlobSCVF_IP[maxNumSCVF]
protected

◆ m_vGlobUnkCoords

template<typename TElem , int TWorldDim>
MathVector<worldDim> ug::HCRFVGeometry< TElem, TWorldDim >::m_vGlobUnkCoords[maxNumSCV]
protected

◆ m_vLocSCVF_IP

template<typename TElem , int TWorldDim>
MathVector<dim> ug::HCRFVGeometry< TElem, TWorldDim >::m_vLocSCVF_IP[maxNumSCVF]
protected

◆ m_vLocUnkCoords

template<typename TElem , int TWorldDim>
MathVector<dim> ug::HCRFVGeometry< TElem, TWorldDim >::m_vLocUnkCoords[maxNumSCV]
protected

◆ m_vSCV

template<typename TElem , int TWorldDim>
SCV ug::HCRFVGeometry< TElem, TWorldDim >::m_vSCV[maxNumSCV]
private

SubControlVolumes.

Referenced by ug::HCRFVGeometry< TElem, TWorldDim >::scv().

◆ m_vSCVF

template<typename TElem , int TWorldDim>
SCVF ug::HCRFVGeometry< TElem, TWorldDim >::m_vSCVF[maxNumSCVF]
private

SubControlVolumeFaces.

Referenced by ug::HCRFVGeometry< TElem, TWorldDim >::scvf().

◆ maxNumSCV

template<typename TElem , int TWorldDim>
const size_t ug::HCRFVGeometry< TElem, TWorldDim >::maxNumSCV = traits::maxNumSCV
static

◆ maxNumSCVF

template<typename TElem , int TWorldDim>
const size_t ug::HCRFVGeometry< TElem, TWorldDim >::maxNumSCVF = traits::maxNumSCVF
static

◆ nip

template<typename TElem , int TWorldDim>
const size_t ug::HCRFVGeometry< TElem, TWorldDim >::nip = 1
static

◆ nsh

template<typename TElem , int TWorldDim>
const size_t ug::HCRFVGeometry< TElem, TWorldDim >::nsh = local_shape_fct_set_type::nsh
static

◆ numConstrainedDofs

template<typename TElem , int TWorldDim>
size_t ug::HCRFVGeometry< TElem, TWorldDim >::numConstrainedDofs
private

◆ numDofs

template<typename TElem , int TWorldDim>
size_t ug::HCRFVGeometry< TElem, TWorldDim >::numDofs
private

◆ numMaxCo

template<typename TElem , int TWorldDim>
const size_t ug::HCRFVGeometry< TElem, TWorldDim >::numMaxCo = 8
staticprotected

◆ numNaturalSCV

template<typename TElem , int TWorldDim>
const size_t ug::HCRFVGeometry< TElem, TWorldDim >::numNaturalSCV = nsh
static

number of SubControlVolumes

◆ numNaturalSCVF

template<typename TElem , int TWorldDim>
const size_t ug::HCRFVGeometry< TElem, TWorldDim >::numNaturalSCVF = ref_elem_type::numEdges
static

number of SubControlVolumeFaces

◆ numSCV

template<typename TElem , int TWorldDim>
size_t ug::HCRFVGeometry< TElem, TWorldDim >::numSCV
private

◆ numSCVF

template<typename TElem , int TWorldDim>
size_t ug::HCRFVGeometry< TElem, TWorldDim >::numSCVF
private

◆ order

template<typename TElem , int TWorldDim>
const int ug::HCRFVGeometry< TElem, TWorldDim >::order = 1
static

order

◆ staticLocalData

template<typename TElem , int TWorldDim>
const bool ug::HCRFVGeometry< TElem, TWorldDim >::staticLocalData = true
static

flag indicating if local data may change

◆ usesHangingNodes

template<typename TElem , int TWorldDim>
const bool ug::HCRFVGeometry< TElem, TWorldDim >::usesHangingNodes = true
static

Hanging node flag: this geometry supports hanging nodes.

◆ worldDim

template<typename TElem , int TWorldDim>
const int ug::HCRFVGeometry< TElem, TWorldDim >::worldDim = TWorldDim
static

dimension of world


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