ug4
ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder > Class Template Reference

Geometry and shape functions for any order Vertex-Centered Finite Volume. More...

#include <fvho_geom.h>

+ Inheritance diagram for ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >:

Classes

class  BF
 boundary face More...
 
class  SCV
 sub control volume structure More...
 
class  SCVF
 Sub-Control Volume Face structure. More...
 
struct  SubElement
 

Public Types

typedef TElem elem_type
 type of element More...
 
typedef LagrangeLSFS< ref_elem_type, plocal_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 GaussQuadrature< scv_type, quadOrderSCVscv_quad_rule_type
 type of quadrature rule More...
 
typedef traits::scv_type scv_type
 type of SubControlVolume More...
 
typedef GaussQuadrature< scvf_type, quadOrderSCVFscvf_quad_rule_type
 type of quadrature rule More...
 
typedef traits::scvf_type scvf_type
 type of SubControlVolumeFace More...
 
typedef fv1_traits< ref_elem_type, worldDimtraits
 traits used More...
 

Public Member Functions

void add_boundary_subset (int subsetIndex)
 add subset that is interpreted as boundary subset. More...
 
const std::vector< BF > & bf (int si) const
 returns reference to vector of boundary faces for subsetIndex More...
 
const BFbf (int si, size_t i) const
 returns the boundary face i for subsetIndex More...
 
void clear_boundary_subsets ()
 reset all boundary subsets More...
 
 FVGeometry ()
 construct object and initialize local values and sizes More...
 
size_t num_bf () const
 number of all boundary faces More...
 
size_t num_bf (int si) const
 number of boundary faces on subset 'subsetIndex' More...
 
size_t num_boundary_subsets ()
 number of registered boundary subsets 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 remove_boundary_subset (int subsetIndex)
 removes subset that is interpreted as boundary subset. More...
 
void reset_curr_elem ()
 
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_boundary_faces (GridObject *elem, const MathVector< worldDim > *vCornerCoords, const ISubsetHandler *ish=NULL)
 update boundary data for given element More...
 
void update_local (ReferenceObjectID roid, const LFEID &lfeID=LFEID(LFEID::LAGRANGE, worldDim, 1), size_t orderQuad=TQuadOrder)
 update Geometry for roid More...
 
void update_local_data ()
 update local data More...
 

Static Public Attributes

static const int dim = ref_elem_type::dim
 dimension of reference element More...
 
static const size_t nsh = local_shape_fct_set_type::nsh
 number of shape functions More...
 
static const size_t numSCV = numSubElem * numSCVPerSubElem
 number of SubControlVolumes More...
 
static const size_t numSCVF = numSubElem * numSCVFPerSubElem
 number of SubControlVolumeFaces More...
 
static const size_t numSCVFIP = scvf_quad_rule_type::nip * numSCVF
 number of scvf ip More...
 
static const size_t numSCVFPerSubElem = ref_elem_type::numEdges
 number of SCVF per SubElement More...
 
static const size_t numSCVIP = scv_quad_rule_type::nip * numSCV
 number of scv ip More...
 
static const size_t numSCVPerSubElem = ref_elem_type::numCorners
 number of SCV per SubElement More...
 
static const size_t numSubElem = Pow<p, dim>::value
 number of subelements More...
 
static const int order = TOrder
 order More...
 
static const int quadOrderSCV = TQuadOrder
 quadrature order More...
 
static const int quadOrderSCVF = TQuadOrder
 quadrature order More...
 
static const bool staticLocalData = true
 flag indicating if local data may change More...
 
static const bool usesHangingNodes = false
 Hanging node flag: this Geometry does not support hanging nodes. More...
 
static const int worldDim = TWorldDim
 dimension of world More...
 

Protected Attributes

std::map< int, std::vector< BF > > m_mapVectorBF
 
std::vector< BFm_vEmptyVectorBF
 
MathVector< worldDimm_vGlobSCV_IP [numSCVIP]
 
MathVector< worldDimm_vGlobSCVF_IP [numSCVFIP]
 
MathVector< dimm_vLocSCV_IP [numSCVIP]
 
MathVector< dimm_vLocSCVF_IP [numSCVFIP]
 
SubElement m_vSubElem [numSubElem]
 subelements More...
 

Static Protected Attributes

static const int maxMid = numSCVF + 1
 

Private Attributes

TElem * m_pElem
 pointer to current element More...
 
ReferenceMapping< ref_elem_type, worldDimm_rMapping
 Reference Mapping. More...
 
const ref_elem_typem_rRefElem
 Reference Element. More...
 
const scvf_quad_rule_typem_rSCVFQuadRule
 Quad Rule scvf. More...
 
const scv_quad_rule_typem_rSCVQuadRule
 Quad Rule scv. More...
 
const local_shape_fct_set_typem_rTrialSpace
 Shape function set. More...
 
MathVector< dimm_vLocCorner [ref_elem_type::numCorners]
 corners of reference element More...
 
SCV m_vSCV [numSCV]
 SubControlVolumes. More...
 
SCVF m_vSCVF [numSCVF]
 SubControlVolumeFaces. More...
 

Static Private Attributes

static const int p = TOrder
 small abbreviation for order More...
 

Detailed Description

template<int TOrder, typename TElem, int TWorldDim, int TQuadOrder = TOrder + 1>
class ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >

Geometry and shape functions for any order Vertex-Centered Finite Volume.

Template Parameters
TOrderorder
TElemElement type
TWorldDim(physical) world dimension
TQuadOrderSCVFintegration order for scvf
TQuadOrderSCVintegration order for scv

Member Typedef Documentation

◆ elem_type

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
typedef TElem ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::elem_type

type of element

◆ local_shape_fct_set_type

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
typedef LagrangeLSFS<ref_elem_type, p> ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::local_shape_fct_set_type

type of Shape function used

◆ ref_elem_type

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
typedef reference_element_traits<TElem>::reference_element_type ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::ref_elem_type

type of reference element

◆ scv_quad_rule_type

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
typedef GaussQuadrature<scv_type, quadOrderSCV> ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::scv_quad_rule_type

type of quadrature rule

◆ scv_type

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
typedef traits::scv_type ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::scv_type

type of SubControlVolume

◆ scvf_quad_rule_type

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
typedef GaussQuadrature<scvf_type, quadOrderSCVF> ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::scvf_quad_rule_type

type of quadrature rule

◆ scvf_type

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
typedef traits::scvf_type ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::scvf_type

type of SubControlVolumeFace

◆ traits

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
typedef fv1_traits<ref_elem_type, worldDim> ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::traits

traits used

Constructor & Destructor Documentation

◆ FVGeometry()

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder>
ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::FVGeometry

construct object and initialize local values and sizes

References ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::update_local_data().

Member Function Documentation

◆ add_boundary_subset()

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
void ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::add_boundary_subset ( int  subsetIndex)
inline

add subset that is interpreted as boundary subset.

References ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::m_mapVectorBF.

◆ bf() [1/2]

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const std::vector<BF>& ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::bf ( int  si) const
inline

◆ bf() [2/2]

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const BF& ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::bf ( int  si,
size_t  i 
) const
inline

returns the boundary face i for subsetIndex

References ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::m_mapVectorBF, and UG_THROW.

◆ clear_boundary_subsets()

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
void ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::clear_boundary_subsets ( )
inline

◆ num_bf() [1/2]

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
size_t ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::num_bf ( ) const
inline

◆ num_bf() [2/2]

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
size_t ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::num_bf ( int  si) const
inline

number of boundary faces on subset 'subsetIndex'

References ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::m_mapVectorBF.

◆ num_boundary_subsets()

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
size_t ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::num_boundary_subsets ( )
inline

number of registered boundary subsets

References ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::m_mapVectorBF.

◆ num_scv()

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
size_t ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::num_scv ( ) const
inline

◆ num_scv_ips()

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
size_t ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::num_scv_ips ( ) const
inline

returns number of all scv ips

References ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::numSCVIP.

◆ num_scvf()

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
size_t ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::num_scvf ( ) const
inline

◆ num_scvf_ips()

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
size_t ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::num_scvf_ips ( ) const
inline

returns number of all scvf ips

References ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::numSCVFIP.

◆ num_sh()

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
size_t ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::num_sh ( ) const
inline

number of shape functions

References ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::nsh.

◆ remove_boundary_subset()

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
void ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::remove_boundary_subset ( int  subsetIndex)
inline

removes subset that is interpreted as boundary subset.

References ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::m_mapVectorBF.

◆ reset_curr_elem()

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
void ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::reset_curr_elem ( )
inline

◆ scv()

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const SCV& ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::scv ( size_t  i) const
inline

◆ scv_global_ips()

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const MathVector<worldDim>* ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::scv_global_ips ( ) const
inline

returns all ips of scv as they appear in scv loop

References ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::m_vGlobSCV_IP.

◆ scv_local_ips()

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const MathVector<dim>* ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::scv_local_ips ( ) const
inline

returns all ips of scv as they appear in scv loop

References ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::m_vLocSCV_IP.

◆ scvf()

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const SCVF& ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::scvf ( size_t  i) const
inline

◆ scvf_global_ips()

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const MathVector<worldDim>* ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::scvf_global_ips ( ) const
inline

returns all ips of scvf as they appear in scv loop

References ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::m_vGlobSCVF_IP.

◆ scvf_local_ips()

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const MathVector<dim>* ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::scvf_local_ips ( ) const
inline

returns all ips of scvf as they appear in scv loop

References ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::m_vLocSCVF_IP.

◆ update()

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder>
void ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::update ( GridObject elem,
const MathVector< worldDim > *  vCornerCoords,
const ISubsetHandler ish = NULL 
)

◆ update_boundary_faces()

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder>
void ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::update_boundary_faces ( GridObject elem,
const MathVector< worldDim > *  vCornerCoords,
const ISubsetHandler ish = NULL 
)

update boundary data for given element

References ug::CollectEdgesSorted(), ug::CollectFacesSorted(), ug::CollectVertices(), ug::ComputeBFMidID(), dim, ug::ISubsetHandler::get_subset_index(), ug::ISubsetHandler::grid(), ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::BF::local_ip(), ug::ReferenceMapping< TRefElem, TWorldDim >::local_to_global(), ug::MatVecMult(), ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::BF::nodeId, ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::BF::Normal, ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::BF::num_corners(), ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::BF::num_ip(), ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::BF::num_sh(), UG_ASSERT, ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::BF::vDetJ, ug::VecTwoNorm(), ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::BF::vGlobalIP, ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::BF::vGloPos, ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::BF::vJtInv, ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::BF::vLocalIP, ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::BF::vLocPos, ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::BF::vMidID, ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::BF::Vol, ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::BF::vvGlobalGrad, ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::BF::vvLocalGrad, ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::BF::vvShape, and ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::BF::vWeight.

◆ update_local()

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder>
void ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::update_local ( ReferenceObjectID  roid,
const LFEID lfeID = LFEID(LFEID::LAGRANGEworldDim, 1),
size_t  orderQuad = TQuadOrder 
)

◆ update_local_data()

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder>
void ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::update_local_data

Member Data Documentation

◆ dim

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const int ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::dim = ref_elem_type::dim
static

dimension of reference element

◆ m_mapVectorBF

◆ m_pElem

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
TElem* ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::m_pElem
private

◆ m_rMapping

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
ReferenceMapping<ref_elem_type, worldDim> ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::m_rMapping
private

Reference Mapping.

◆ m_rRefElem

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const ref_elem_type& ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::m_rRefElem
private

Reference Element.

◆ m_rSCVFQuadRule

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const scvf_quad_rule_type& ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::m_rSCVFQuadRule
private

Quad Rule scvf.

◆ m_rSCVQuadRule

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const scv_quad_rule_type& ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::m_rSCVQuadRule
private

Quad Rule scv.

◆ m_rTrialSpace

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const local_shape_fct_set_type& ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::m_rTrialSpace
private

Shape function set.

◆ m_vEmptyVectorBF

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
std::vector<BF> ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::m_vEmptyVectorBF
protected

◆ m_vGlobSCV_IP

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
MathVector<worldDim> ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::m_vGlobSCV_IP[numSCVIP]
protected

◆ m_vGlobSCVF_IP

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
MathVector<worldDim> ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::m_vGlobSCVF_IP[numSCVFIP]
protected

◆ m_vLocCorner

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
MathVector<dim> ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::m_vLocCorner[ref_elem_type::numCorners]
private

corners of reference element

◆ m_vLocSCV_IP

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
MathVector<dim> ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::m_vLocSCV_IP[numSCVIP]
protected

◆ m_vLocSCVF_IP

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
MathVector<dim> ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::m_vLocSCVF_IP[numSCVFIP]
protected

◆ m_vSCV

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
SCV ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::m_vSCV[numSCV]
private

◆ m_vSCVF

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
SCVF ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::m_vSCVF[numSCVF]
private

◆ m_vSubElem

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
SubElement ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::m_vSubElem[numSubElem]
protected

subelements

◆ maxMid

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const int ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::maxMid = numSCVF + 1
staticprotected

◆ nsh

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const size_t ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::nsh = local_shape_fct_set_type::nsh
static

◆ numSCV

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const size_t ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::numSCV = numSubElem * numSCVPerSubElem
static

number of SubControlVolumes

Referenced by ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::num_scv().

◆ numSCVF

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const size_t ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::numSCVF = numSubElem * numSCVFPerSubElem
static

number of SubControlVolumeFaces

Referenced by ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::num_scvf().

◆ numSCVFIP

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const size_t ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::numSCVFIP = scvf_quad_rule_type::nip * numSCVF
static

◆ numSCVFPerSubElem

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const size_t ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::numSCVFPerSubElem = ref_elem_type::numEdges
static

number of SCVF per SubElement

◆ numSCVIP

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const size_t ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::numSCVIP = scv_quad_rule_type::nip * numSCV
static

◆ numSCVPerSubElem

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const size_t ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::numSCVPerSubElem = ref_elem_type::numCorners
static

number of SCV per SubElement

◆ numSubElem

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const size_t ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::numSubElem = Pow<p, dim>::value
static

number of subelements

◆ order

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const int ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::order = TOrder
static

order

◆ p

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const int ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::p = TOrder
staticprivate

small abbreviation for order

◆ quadOrderSCV

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const int ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::quadOrderSCV = TQuadOrder
static

quadrature order

◆ quadOrderSCVF

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const int ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::quadOrderSCVF = TQuadOrder
static

quadrature order

◆ staticLocalData

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const bool ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::staticLocalData = true
static

flag indicating if local data may change

◆ usesHangingNodes

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const bool ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::usesHangingNodes = false
static

Hanging node flag: this Geometry does not support hanging nodes.

◆ worldDim

template<int TOrder, typename TElem , int TWorldDim, int TQuadOrder = TOrder + 1>
const int ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::worldDim = TWorldDim
static

dimension of world


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