ug4
ug::fv1_traits_ReferenceOctahedron Struct Reference

Octahedra: dimension-independent part of the FV1 traits. More...

#include <fv_util.h>

+ Inheritance diagram for ug::fv1_traits_ReferenceOctahedron:

Public Types

enum  { MAXDIM = 3 }
 
enum  { MAXSUBSTRUCTOBJECTS = 8 }
 
enum  { MAXSUBSTRUCTCORNERS = 4 }
 
- Public Types inherited from ug::fv1_traits_ReferenceVolume
typedef ReferenceQuadrilateral bf_type
 
typedef ReferenceHexahedron scv_type
 
typedef ReferenceQuadrilateral scvf_type
 

Static Public Member Functions

static void scv_mid_id (const ReferenceOctahedron &refElem, MidID *vMidID, size_t i)
 Calculates array vMidID for scv i. More...
 
static size_t scv_node_id (const ReferenceOctahedron &refElem, size_t i)
 returns the node id for a scv (overridden function from fv1_traits_most_common) More...
 
static size_t scvf_from_to (const ReferenceOctahedron &refElem, size_t i, size_t ft)
 returns the 'from' and 'to' corner indices for a scvf (overridden function from fv1_traits_most_common) More...
 
static void scvf_mid_id (const ReferenceOctahedron &refElem, MidID *vMidID, size_t i)
 Calculates array vMidID for scvf i. More...
 
static int substruct_coID (int dim_i, size_t i, size_t j)
 returns the id of corner j of obj i in dimension dim_i of the implicit interior substructure More...
 
static size_t substruct_num (int dim)
 returns the number of implicit interior substructure geometric objects of dim More...
 
static size_t substruct_num (int dim_i, size_t i, int dim_j)
 returns the number of objects of dim for a sub-geometric object of the implicit interior substructure More...
 
- Static Public Member Functions inherited from ug::fv1_traits_ReferenceVolume
static void NormalOnBF (MathVector< 3 > &outNormal, const MathVector< 3 > *vSCVFCorner, const MathVector< 3 > *vElemCorner)
 
static void NormalOnSCVF (MathVector< 3 > &outNormal, const MathVector< 3 > *vSCVFCorner, const MathVector< 3 > *vElemCorner)
 

Static Public Attributes

static const size_t numSCV = 16
 overridden field from fv1_traits_most_common More...
 
static const size_t numSCVF = 24
 overridden field from fv1_traits_most_common More...
 
- Static Public Attributes inherited from ug::fv1_traits_ReferenceVolume
static const size_t maxNSH = 8
 
static const size_t maxNumSCV = 32
 
static const size_t maxNumSCVF = 24
 
static const size_t NumCornersOfBF = 4
 
static const size_t NumCornersOfSCV = 8
 
static const size_t NumCornersOfSCVF = 4
 

Detailed Description

Octahedra: dimension-independent part of the FV1 traits.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
MAXDIM 

◆ anonymous enum

anonymous enum
Enumerator
MAXSUBSTRUCTOBJECTS 

◆ anonymous enum

anonymous enum
Enumerator
MAXSUBSTRUCTCORNERS 

Member Function Documentation

◆ scv_mid_id()

static void ug::fv1_traits_ReferenceOctahedron::scv_mid_id ( const ReferenceOctahedron refElem,
MidID vMidID,
size_t  i 
)
inlinestatic

Calculates array vMidID for scv i.

Parameters
refElemthe reference element object
vMidIDarray vMidID for scvf i
iindex of the scvf

References UG_THROW.

Referenced by ug::ComputeSCVMidID().

◆ scv_node_id()

static size_t ug::fv1_traits_ReferenceOctahedron::scv_node_id ( const ReferenceOctahedron refElem,
size_t  i 
)
inlinestatic

returns the node id for a scv (overridden function from fv1_traits_most_common)

Parameters
refElemthe reference element object
iindex of the scv

Referenced by ug::fv1_dim_traits_base< TDim, TWorldDim >::dim_scv_node_id().

◆ scvf_from_to()

static size_t ug::fv1_traits_ReferenceOctahedron::scvf_from_to ( const ReferenceOctahedron refElem,
size_t  i,
size_t  ft 
)
inlinestatic

returns the 'from' and 'to' corner indices for a scvf (overridden function from fv1_traits_most_common)

Parameters
refElemthe reference element object
iindex of the scvf
ft0 = from, 1 = to

Referenced by ug::fv1_dim_traits_base< TDim, TWorldDim >::get_dim_scvf_from_to().

◆ scvf_mid_id()

static void ug::fv1_traits_ReferenceOctahedron::scvf_mid_id ( const ReferenceOctahedron refElem,
MidID vMidID,
size_t  i 
)
inlinestatic

Calculates array vMidID for scvf i.

Parameters
refElemthe reference element object
vMidIDarray vMidID for scvf i
iindex of the scvf

References UG_THROW.

Referenced by ug::ComputeSCVFMidID().

◆ substruct_coID()

static int ug::fv1_traits_ReferenceOctahedron::substruct_coID ( int  dim_i,
size_t  i,
size_t  j 
)
inlinestatic

returns the id of corner j of obj i in dimension dim_i of the implicit interior substructure

The octahedral reference element contains an implicit interior substructure that is constructed by several geometric objects, that are mapped by a reference element by themselves. This method returns the id (w.r.t. this reference element) of a sub-geometric object that is part of a sub-geometric object of the implicit interior substructure of this reference element.

Parameters
[in]dim_idimension of sub geometric object
[in]iid of sub geometric object
[in]jnumber of obj contained in the sub-object
Returns
id of the j'th corner that is contained in the i*th (sub-)geom object of dimension dim_i

References ug::EDGE, ug::FACE, MAXDIM, MAXSUBSTRUCTCORNERS, MAXSUBSTRUCTOBJECTS, and ug::VOLUME.

◆ substruct_num() [1/2]

static size_t ug::fv1_traits_ReferenceOctahedron::substruct_num ( int  dim)
inlinestatic

returns the number of implicit interior substructure geometric objects of dim

The octahedral reference element contains an implicit interior substructure that is constructed by several geometric objects, that are mapped by a reference element by themselves. This method returns how many (sub-)geometric objects of a given dimension are contained in the implicit interior substructure of this reference element.

Parameters
[in]dimdimension
Returns
number of objects of the dimension contained in the ref elem

References dim, ug::EDGE, ug::FACE, MAXDIM, ug::VERTEX, and ug::VOLUME.

Referenced by substruct_num().

◆ substruct_num() [2/2]

static size_t ug::fv1_traits_ReferenceOctahedron::substruct_num ( int  dim_i,
size_t  i,
int  dim_j 
)
inlinestatic

returns the number of objects of dim for a sub-geometric object of the implicit interior substructure

The octahedral reference element contains an implicit interior substructure that is constructed by several geometric objects, that are mapped by a reference element by themselves. This method returns how many (sub-)geometric objects of a given dimension are contained in the (sub-)geometric object of the implicit interior substructure of this reference element.

Parameters
[in]dim_idimension of sub geometric object
[in]inumber of sub geometric object
[in]dim_jdimension for elems contained in the sub-object
Returns
number of objects of the dimension dim_j that are contained in the i*th (sub-)geom object of dimension dim_i

References ug::EDGE, ug::FACE, MAXDIM, MAXSUBSTRUCTOBJECTS, substruct_num(), ug::VERTEX, and ug::VOLUME.

Member Data Documentation

◆ numSCV

const size_t ug::fv1_traits_ReferenceOctahedron::numSCV = 16
static

overridden field from fv1_traits_most_common

The octahedral reference element contains an implicit interior substructure that is constructed by several geometric objects, i.e. imaginary subfaces (8 triangles), subedges (2) and subvolumes (4 tetrahedra) resulting from the division into 4 subtetrahedra alongside inner edge 3->1. The dual fv1 geometry consists of the original hexahedral SCVs in each of the 4 subtetrahedra.

◆ numSCVF

const size_t ug::fv1_traits_ReferenceOctahedron::numSCVF = 24
static

overridden field from fv1_traits_most_common


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