ug4
ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF Class Reference

Sub-Control Volume Face structure. More...

#include <fvcr_geom.h>

Public Member Functions

number detJ () const
 Determinant of Jacobian in integration point. More...
 
size_t from () const
 index of SubControlVolume on one side of the scvf More...
 
const MathVector< worldDim > & global_corner (size_t co) const
 return glbal corner number i More...
 
const MathVector< worldDim > & global_grad (size_t sh) const
 value of global gradient of shape function i in integration point More...
 
const MathVector< worldDim > * global_grad_vector () const
 vector of gloabl gradients in ip point More...
 
const MathVector< worldDim > & global_ip () const
 global integration point of scvf More...
 
const MathMatrix< worldDim, dim > & JTInv () const
 Transposed Inverse of Jacobian in integration point. More...
 
const MathVector< dim > & local_corner (size_t co) const
 return local corner number i More...
 
const MathVector< dim > & local_grad (size_t sh) const
 value of local gradient of shape function i in integration point More...
 
const MathVector< dim > * local_grad_vector () const
 vector of local gradients in ip point More...
 
const MathVector< dim > & local_ip () const
 local integration point of scvf More...
 
const MathVector< worldDim > & normal () const
 normal on scvf (points direction "from"->"to"). Norm is equal to area More...
 
size_t num_corners () const
 number of corners, that bound the scvf More...
 
size_t num_ip () const
 number of integration points on scvf More...
 
size_t num_sh () const
 number of shape functions More...
 
void operator= (const SCVF &s)
 
 SCVF ()
 
number shape (size_t sh) const
 value of shape function i in integration point More...
 
const numbershape_vector () const
 vector of shape functions in ip point More...
 
size_t to () const
 index of SubControlVolume on one side of the scvf More...
 

Static Public Attributes

static const size_t numCo = dim
 Number of corners of scvf. More...
 

Private Attributes

number detj
 
size_t From
 
MathVector< worldDimglobalIP
 
MathMatrix< worldDim, dimJtInv
 
MathVector< dimlocalIP
 
MathVector< worldDimNormal
 
size_t numSH
 
size_t To
 
MathVector< worldDimvGlobalGrad [maxNSH]
 
MathVector< worldDimvGloPos [numCo]
 
MathVector< dimvLocalGrad [maxNSH]
 
MathVector< dimvLocPos [numCo]
 
number vShape [maxNSH]
 

Friends

class DimCRFVGeometry< dim, worldDim >
 

Detailed Description

template<int TDim, int TWorldDim = TDim>
class ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF

Sub-Control Volume Face structure.

Each finite element is cut by several sub-control volume faces. The idea is that the "dual" skeleton formed by the sub control volume faces of all elements again gives rise to a regular mesh with closed (lipschitz-bounded) control volumes. The SCVF are the boundary of the control volume. In computation the flux over each SCVF must be the same in both directions over the face in order to guarantee the conservation property.

Constructor & Destructor Documentation

◆ SCVF()

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

Member Function Documentation

◆ detJ()

template<int TDim, int TWorldDim = TDim>
number ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::detJ ( ) const
inline

Determinant of Jacobian in integration point.

References ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::detj.

◆ from()

template<int TDim, int TWorldDim = TDim>
size_t ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::from ( ) const
inline

index of SubControlVolume on one side of the scvf

References ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::From.

◆ global_corner()

template<int TDim, int TWorldDim = TDim>
const MathVector<worldDim>& ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::global_corner ( size_t  co) const
inline

◆ global_grad()

template<int TDim, int TWorldDim = TDim>
const MathVector<worldDim>& ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::global_grad ( size_t  sh) const
inline

value of global gradient of shape function i in integration point

References ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::num_sh(), UG_ASSERT, and ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::vGlobalGrad.

◆ global_grad_vector()

template<int TDim, int TWorldDim = TDim>
const MathVector<worldDim>* ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::global_grad_vector ( ) const
inline

vector of gloabl gradients in ip point

References ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::vGlobalGrad.

◆ global_ip()

template<int TDim, int TWorldDim = TDim>
const MathVector<worldDim>& ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::global_ip ( ) const
inline

global integration point of scvf

References ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::globalIP.

◆ JTInv()

template<int TDim, int TWorldDim = TDim>
const MathMatrix<worldDim,dim>& ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::JTInv ( ) const
inline

Transposed Inverse of Jacobian in integration point.

References ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::JtInv.

◆ local_corner()

template<int TDim, int TWorldDim = TDim>
const MathVector<dim>& ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::local_corner ( size_t  co) const
inline

◆ local_grad()

template<int TDim, int TWorldDim = TDim>
const MathVector<dim>& ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::local_grad ( size_t  sh) const
inline

value of local gradient of shape function i in integration point

References ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::num_sh(), UG_ASSERT, and ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::vLocalGrad.

◆ local_grad_vector()

template<int TDim, int TWorldDim = TDim>
const MathVector<dim>* ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::local_grad_vector ( ) const
inline

vector of local gradients in ip point

References ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::vLocalGrad.

◆ local_ip()

template<int TDim, int TWorldDim = TDim>
const MathVector<dim>& ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::local_ip ( ) const
inline

local integration point of scvf

References ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::localIP.

◆ normal()

template<int TDim, int TWorldDim = TDim>
const MathVector<worldDim>& ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::normal ( ) const
inline

normal on scvf (points direction "from"->"to"). Norm is equal to area

References ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::Normal.

◆ num_corners()

template<int TDim, int TWorldDim = TDim>
size_t ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::num_corners ( ) const
inline

◆ num_ip()

template<int TDim, int TWorldDim = TDim>
size_t ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::num_ip ( ) const
inline

number of integration points on scvf

References ug::DimCRFVGeometry< TDim, TWorldDim >::nip.

◆ num_sh()

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

◆ operator=()

template<int TDim, int TWorldDim = TDim>
void ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::operator= ( const SCVF s)
inline

◆ shape()

template<int TDim, int TWorldDim = TDim>
number ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::shape ( size_t  sh) const
inline

value of shape function i in integration point

References ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::vShape.

◆ shape_vector()

template<int TDim, int TWorldDim = TDim>
const number* ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::shape_vector ( ) const
inline

vector of shape functions in ip point

References ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::vShape.

◆ to()

template<int TDim, int TWorldDim = TDim>
size_t ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::to ( ) const
inline

index of SubControlVolume on one side of the scvf

References ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::To.

Friends And Related Function Documentation

◆ DimCRFVGeometry< dim, worldDim >

template<int TDim, int TWorldDim = TDim>
friend class DimCRFVGeometry< dim, worldDim >
friend

Member Data Documentation

◆ detj

template<int TDim, int TWorldDim = TDim>
number ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::detj
private

◆ From

template<int TDim, int TWorldDim = TDim>
size_t ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::From
private

◆ globalIP

template<int TDim, int TWorldDim = TDim>
MathVector<worldDim> ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::globalIP
private

◆ JtInv

template<int TDim, int TWorldDim = TDim>
MathMatrix<worldDim,dim> ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::JtInv
private

◆ localIP

template<int TDim, int TWorldDim = TDim>
MathVector<dim> ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::localIP
private

◆ Normal

template<int TDim, int TWorldDim = TDim>
MathVector<worldDim> ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::Normal
private

◆ numCo

template<int TDim, int TWorldDim = TDim>
const size_t ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::numCo = dim
static

Number of corners of scvf.

Referenced by ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::num_corners().

◆ numSH

template<int TDim, int TWorldDim = TDim>
size_t ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::numSH
private

◆ To

template<int TDim, int TWorldDim = TDim>
size_t ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::To
private

◆ vGlobalGrad

template<int TDim, int TWorldDim = TDim>
MathVector<worldDim> ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::vGlobalGrad[maxNSH]
private

◆ vGloPos

template<int TDim, int TWorldDim = TDim>
MathVector<worldDim> ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::vGloPos[numCo]
private

◆ vLocalGrad

template<int TDim, int TWorldDim = TDim>
MathVector<dim> ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::vLocalGrad[maxNSH]
private

◆ vLocPos

template<int TDim, int TWorldDim = TDim>
MathVector<dim> ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::vLocPos[numCo]
private

◆ vShape

template<int TDim, int TWorldDim = TDim>
number ug::DimCRFVGeometry< TDim, TWorldDim >::SCVF::vShape[maxNSH]
private

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