67template <
typename TElem,
int TWorldDim>
82 static const int dim = ref_elem_type::dim;
99 ? ref_elem_type::numCorners : 8;
106 ? ref_elem_type::numEdges : 12;
112 static const size_t nsh = local_shape_fct_set_type::nsh;
115 static const size_t nip = 1;
132 static const size_t numCo = traits::NumCornersOfSCVF;
141 inline size_t to()
const {
return To;}
231 static const size_t numCo = traits::NumCornersOfSCV;
327 static const size_t numCo = traits::NumCornersOfSCVF;
512 typename std::map<int, std::vector<BF> >::const_iterator it;
515 num += (*it).second.size();
522 typename std::map<int, std::vector<BF> >::const_iterator it;
525 else return (*it).second.size();
529 inline const BF&
bf(
int si,
size_t i)
const
532 typename std::map<int, std::vector<BF> >::const_iterator it;
535 return (*it).second[i];
529 inline const BF&
bf(
int si,
size_t i)
const {
…}
539 inline const std::vector<BF>&
bf(
int si)
const
541 typename std::map<int, std::vector<BF> >::const_iterator it;
539 inline const std::vector<BF>&
bf(
int si)
const {
…}
596template <
int TDim,
int TWorldDim = TDim>
605 static const int dim = TDim;
630 static const size_t maxNSH = traits::maxNSH;
633 static const size_t nip = 1;
650 static const size_t numCo = traits::NumCornersOfSCVF;
659 inline size_t to()
const {
return To;}
750 static const size_t numCo = traits::NumCornersOfSCV;
839 static const size_t numCo = traits::NumCornersOfSCVF;
1024 typename std::map<int, std::vector<BF> >::const_iterator it;
1027 num += (*it).second.size();
1034 typename std::map<int, std::vector<BF> >::const_iterator it;
1037 else return (*it).second.size();
1041 inline const BF&
bf(
int si,
size_t i)
const
1043 typename std::map<int, std::vector<BF> >::const_iterator it;
1046 return (*it).second[i];
1041 inline const BF&
bf(
int si,
size_t i)
const {
…}
1050 inline const std::vector<BF>&
bf(
int si)
const
1052 typename std::map<int, std::vector<BF> >::const_iterator it;
1055 return (*it).second;
1050 inline const std::vector<BF>&
bf(
int si)
const {
…}
boundary face
Definition fv1ib_geom.h:836
MathVector< dim > vLocPos[numCo]
Definition fv1ib_geom.h:914
size_t nodeId
Definition fv1ib_geom.h:908
size_t node_id() const
index of SubControlVolume of the bf
Definition fv1ib_geom.h:845
const MathVector< worldDim > * global_grad_vector() const
vector of global gradients in ip point
Definition fv1ib_geom.h:890
const MathMatrix< worldDim, dim > & JTInv() const
Transposed Inverse of Jacobian in integration point.
Definition fv1ib_geom.h:863
number Vol
Definition fv1ib_geom.h:922
number detj
Definition fv1ib_geom.h:930
const MathVector< worldDim > & global_grad(size_t sh) const
value of global gradient of shape function i in integration point
Definition fv1ib_geom.h:886
const MathVector< worldDim > & global_ip() const
global integration point of bf
Definition fv1ib_geom.h:854
size_t num_ip() const
number of integration points on bf
Definition fv1ib_geom.h:848
MathVector< worldDim > vGlobalGrad[maxNSH]
Definition fv1ib_geom.h:928
MathVector< dim > vLocalGrad[maxNSH]
Definition fv1ib_geom.h:927
size_t numSH
Definition fv1ib_geom.h:925
BF()
Definition fv1ib_geom.h:842
number shape(size_t sh) const
value of shape function i in integration point
Definition fv1ib_geom.h:872
size_t num_sh() const
number of shape functions
Definition fv1ib_geom.h:869
MathVector< worldDim > globalIP
Definition fv1ib_geom.h:920
const MathVector< dim > & local_corner(size_t co) const
return local corner number i
Definition fv1ib_geom.h:896
MathVector< worldDim > Normal
Definition fv1ib_geom.h:921
size_t num_corners() const
number of corners, that bound the scvf
Definition fv1ib_geom.h:893
static const size_t numCo
Number of corners of bf.
Definition fv1ib_geom.h:839
number vShape[maxNSH]
Definition fv1ib_geom.h:926
const MathVector< dim > & local_ip() const
local integration point of bf
Definition fv1ib_geom.h:851
number volume() const
volume of bf
Definition fv1ib_geom.h:860
MidID vMidID[numCo]
Definition fv1ib_geom.h:916
MathVector< dim > localIP
Definition fv1ib_geom.h:919
const MathVector< dim > & local_grad(size_t sh) const
value of local gradient of shape function i in integration point
Definition fv1ib_geom.h:879
number detJ() const
Determinant of Jacobian in integration point.
Definition fv1ib_geom.h:866
MathVector< worldDim > vGloPos[numCo]
Definition fv1ib_geom.h:915
const MathVector< worldDim > & normal() const
outer normal on bf. Norm is equal to area
Definition fv1ib_geom.h:857
const MathVector< worldDim > & global_corner(size_t co) const
return global corner number i
Definition fv1ib_geom.h:900
const number * shape_vector() const
vector of local gradients in ip point
Definition fv1ib_geom.h:876
MathMatrix< worldDim, dim > JtInv
Definition fv1ib_geom.h:929
const MathVector< dim > * local_grad_vector() const
vector of local gradients in ip point
Definition fv1ib_geom.h:883
Sub-Control Volume Face structure.
Definition fv1ib_geom.h:647
MathVector< worldDim > Normal
Definition fv1ib_geom.h:722
MathVector< dim > vLocalGrad[maxNSH]
Definition fv1ib_geom.h:739
size_t num_ip() const
number of integration points on scvf
Definition fv1ib_geom.h:662
size_t numSH
Definition fv1ib_geom.h:737
number vShape[maxNSH]
Definition fv1ib_geom.h:738
number shape(size_t sh) const
value of shape function i in integration point
Definition fv1ib_geom.h:683
MathVector< dim > vLocPos[numCo]
Definition fv1ib_geom.h:728
const MathVector< worldDim > & global_corner(size_t co) const
return glbal corner number i
Definition fv1ib_geom.h:710
const MathVector< worldDim > * global_grad_vector() const
vector of gloabl gradients in ip point
Definition fv1ib_geom.h:700
MathVector< dim > localIP
Definition fv1ib_geom.h:733
MathVector< worldDim > vGlobalGrad[maxNSH]
Definition fv1ib_geom.h:740
size_t from() const
index of SubControlVolume on one side of the scvf
Definition fv1ib_geom.h:656
size_t From
Definition fv1ib_geom.h:719
const MathVector< dim > & local_grad(size_t sh) const
value of local gradient of shape function i in integration point
Definition fv1ib_geom.h:689
const MathVector< worldDim > & global_ip() const
global integration point of scvf
Definition fv1ib_geom.h:668
number detj
Definition fv1ib_geom.h:742
size_t To
Definition fv1ib_geom.h:719
MathVector< worldDim > globalIP
Definition fv1ib_geom.h:734
MathVector< worldDim > vGloPos[numCo]
Definition fv1ib_geom.h:729
MidID vMidID[numCo]
Definition fv1ib_geom.h:730
size_t num_sh() const
number of shape functions
Definition fv1ib_geom.h:680
size_t num_corners() const
number of corners, that bound the scvf
Definition fv1ib_geom.h:703
const MathVector< dim > & local_corner(size_t co) const
return local corner number i
Definition fv1ib_geom.h:706
static const size_t numCo
Number of corners of scvf.
Definition fv1ib_geom.h:650
MathMatrix< worldDim, dim > JtInv
Definition fv1ib_geom.h:741
SCVF()
Definition fv1ib_geom.h:653
const number * shape_vector() const
vector of shape functions in ip point
Definition fv1ib_geom.h:686
const MathVector< worldDim > & global_grad(size_t sh) const
value of global gradient of shape function i in integration point
Definition fv1ib_geom.h:696
const MathVector< dim > * local_grad_vector() const
vector of local gradients in ip point
Definition fv1ib_geom.h:693
const MathMatrix< worldDim, dim > & JTInv() const
Transposed Inverse of Jacobian in integration point.
Definition fv1ib_geom.h:674
const MathVector< worldDim > & normal() const
normal on scvf (points direction "from"->"to"). Norm is equal to area
Definition fv1ib_geom.h:671
number detJ() const
Determinant of Jacobian in integration point.
Definition fv1ib_geom.h:677
const MathVector< dim > & local_ip() const
local integration point of scvf
Definition fv1ib_geom.h:665
size_t to() const
index of SubControlVolume on one side of the scvf
Definition fv1ib_geom.h:659
sub control volume structure
Definition fv1ib_geom.h:747
const number * shape_vector() const
vector of shape functions in ip point
Definition fv1ib_geom.h:794
size_t numSH
Definition fv1ib_geom.h:826
number detj
Definition fv1ib_geom.h:831
size_t nodeId
Definition fv1ib_geom.h:815
const MathVector< worldDim > & global_grad(size_t sh) const
value of global gradient of shape function i in integration point
Definition fv1ib_geom.h:804
size_t node_id() const
node id that this scv is associated to
Definition fv1ib_geom.h:770
const MathVector< dim > * local_grad_vector() const
vector of local gradients in ip point
Definition fv1ib_geom.h:801
MathVector< worldDim > vGloPos[numCo]
Definition fv1ib_geom.h:822
SCV()
Definition fv1ib_geom.h:753
number vShape[maxNSH]
Definition fv1ib_geom.h:827
MidID vMidID[numCo]
Definition fv1ib_geom.h:823
const MathVector< worldDim > * global_grad_vector() const
vector of global gradients in ip point
Definition fv1ib_geom.h:808
const MathVector< dim > & local_corner(size_t co) const
return local corner number i
Definition fv1ib_geom.h:762
static const size_t numCo
Number of corners of scv.
Definition fv1ib_geom.h:750
const MathVector< worldDim > & global_ip() const
global integration point
Definition fv1ib_geom.h:779
const MathVector< dim > & local_grad(size_t sh) const
value of local gradient of shape function i in integration point
Definition fv1ib_geom.h:797
MathMatrix< worldDim, dim > JtInv
Definition fv1ib_geom.h:830
number shape(size_t sh) const
value of shape function i in integration point
Definition fv1ib_geom.h:791
number detJ() const
Determinant of Jacobian in integration point.
Definition fv1ib_geom.h:785
number volume() const
volume of scv
Definition fv1ib_geom.h:756
MathVector< dim > vLocalGrad[maxNSH]
Definition fv1ib_geom.h:828
MathVector< worldDim > vGlobalGrad[maxNSH]
Definition fv1ib_geom.h:829
const MathVector< worldDim > & global_corner(size_t co) const
return global corner number i
Definition fv1ib_geom.h:766
size_t num_sh() const
number of shape functions
Definition fv1ib_geom.h:788
size_t num_ip() const
number of integration points
Definition fv1ib_geom.h:773
number Vol
Definition fv1ib_geom.h:818
size_t num_corners() const
number of corners, that bound the scv
Definition fv1ib_geom.h:759
MathVector< dim > vLocPos[numCo]
Definition fv1ib_geom.h:821
const MathVector< dim > & local_ip() const
local integration point of scv
Definition fv1ib_geom.h:776
const MathMatrix< worldDim, dim > & JTInv() const
Transposed Inverse of Jacobian in integration point.
Definition fv1ib_geom.h:782
Geometry and shape functions for 1st order Vertex-Centered Finite Volume.
Definition fv1ib_geom.h:598
MathVector< worldDim > m_vGlobSCVF_IP[maxNumSCVF]
Definition fv1ib_geom.h:1005
size_t num_scvf_ips() const
returns number of all scvf ips
Definition fv1ib_geom.h:985
const MathVector< dim > * scvf_local_ips() const
returns all ips of scvf as they appear in scv loop
Definition fv1ib_geom.h:988
size_t num_boundary_subsets()
number of registered boundary subsets
Definition fv1ib_geom.h:1019
DimFV1IBGeometry()
construct object and initialize local values and sizes
Definition fv1ib_geom.h:935
ReferenceObjectID m_roid
current reference object id
Definition fv1ib_geom.h:1067
void add_boundary_subset(int subsetIndex)
add subset that is interpreted as boundary subset.
Definition fv1ib_geom.h:1010
size_t num_bf() const
number of all boundary faces
Definition fv1ib_geom.h:1022
size_t m_nsh
current number of shape functions
Definition fv1ib_geom.h:1076
SCV m_vSCV[maxNumSCV]
SubControlVolumes.
Definition fv1ib_geom.h:1090
MathVector< worldDim > m_vvGloMid[dim+1][maxMid]
Definition fv1ib_geom.h:1084
const SCV & scv(size_t i) const
const access to SubControlVolume number i
Definition fv1ib_geom.h:977
size_t m_numSCV
current number of scv
Definition fv1ib_geom.h:1070
std::map< int, std::vector< BF > > m_mapVectorBF
Definition fv1ib_geom.h:1059
size_t m_numSCVF
current number of scvf
Definition fv1ib_geom.h:1073
void adapt_integration_points(GridObject *elem, const MathVector< TWorldDim > *vCornerCoords, const ISubsetHandler *ish=NULL)
adapt integration points for elements cut by the inner boundary
Definition fv1ib_geom_impl.h:921
void update_local_data()
update local data
Definition fv1ib_geom_impl.h:951
const MathVector< dim > * scv_local_ips() const
returns all ips of scv as they appear in scv loop
Definition fv1ib_geom.h:997
static const int order
order
Definition fv1ib_geom.h:618
static const bool staticLocalData
flag indicating if local data may change
Definition fv1ib_geom.h:614
size_t num_scvf() const
number of SubControlVolumeFaces
Definition fv1ib_geom.h:965
size_t num_bf(int si) const
number of boundary faces on subset 'subsetIndex'
Definition fv1ib_geom.h:1032
const BF & bf(int si, size_t i) const
returns the boundary face i for subsetIndex
Definition fv1ib_geom.h:1041
void remove_boundary_subset(int subsetIndex)
removes subset that is interpreted as boundary subset.
Definition fv1ib_geom.h:1013
void update(GridObject *elem, const MathVector< worldDim > *vCornerCoords, const ISubsetHandler *ish=NULL)
update data for given element
Definition fv1ib_geom_impl.h:1057
const MathVector< worldDim > * scvf_global_ips() const
returns all ips of scvf as they appear in scv loop
Definition fv1ib_geom.h:991
static const int worldDim
dimension of world
Definition fv1ib_geom.h:608
MathVector< worldDim > m_MidPoint
Definition fv1ib_geom.h:1095
static const size_t nip
number of integration points
Definition fv1ib_geom.h:633
SCVF m_vSCVF[maxNumSCVF]
SubControlVolumeFaces.
Definition fv1ib_geom.h:1087
size_t num_scv() const
number of SubControlVolumes
Definition fv1ib_geom.h:974
MathVector< dim > m_vLocSCVF_IP[maxNumSCVF]
Definition fv1ib_geom.h:1006
const MathVector< worldDim > * corners() const
get vector of corners for current element
Definition fv1ib_geom.h:962
std::vector< BF > m_vEmptyVectorBF
Definition fv1ib_geom.h:1060
GridObject * m_pElem
pointer to current element
Definition fv1ib_geom.h:1064
static const size_t maxNSH
max number of shape functions
Definition fv1ib_geom.h:630
void adapt(GridObject *elem, const MathVector< TWorldDim > *vCornerCoords, const ISubsetHandler *ish=NULL)
adapt integration points for elements cut by the inner boundary
Definition fv1ib_geom_impl.h:858
MathVector< worldDim > vSCVF_PosOnEdge[maxNumSCVF]
new members for adaptions
Definition fv1ib_geom.h:1094
void adapt_normals(GridObject *elem, const MathVector< TWorldDim > *vCornerCoords, const ISubsetHandler *ish=NULL)
adapt normals for elements cut by the inner boundary
Definition fv1ib_geom_impl.h:930
MathVector< dim > m_vvLocMid[dim+1][maxMid]
local and global geom object midpoints for each dimension
Definition fv1ib_geom.h:1083
const MathVector< worldDim > * scv_global_ips() const
returns all ips of scv as they appear in scv loop
Definition fv1ib_geom.h:1000
traits::scv_type scv_type
type of SubControlVolume
Definition fv1ib_geom.h:624
size_t num_sh() const
number of shape functions
Definition fv1ib_geom.h:981
static const size_t maxNumSCV
number of SubControlVolumes
Definition fv1ib_geom.h:621
static const int maxMid
max number of geometric objects in a dimension
Definition fv1ib_geom.h:1080
static const size_t maxNumSCVF
max number of SubControlVolumeFaces
Definition fv1ib_geom.h:627
const std::vector< BF > & bf(int si) const
returns reference to vector of boundary faces for subsetIndex
Definition fv1ib_geom.h:1050
fv1_dim_traits< TDim, TWorldDim > traits
used traits
Definition fv1ib_geom.h:601
static const int dim
dimension of reference element
Definition fv1ib_geom.h:605
static const bool usesHangingNodes
Hanging node flag: this Geometry does not support hanging nodes.
Definition fv1ib_geom.h:611
const SCVF & scvf(size_t i) const
const access to SubControlVolumeFace number i
Definition fv1ib_geom.h:968
void update_boundary_faces(GridObject *elem, const MathVector< worldDim > *vCornerCoords, const ISubsetHandler *ish=NULL)
update boundary data for given element
Definition fv1ib_geom_impl.h:1169
size_t num_scv_ips() const
returns number of all scv ips
Definition fv1ib_geom.h:994
void clear_boundary_subsets()
reset all boundary subsets
Definition fv1ib_geom.h:1016
boundary face
Definition fv1ib_geom.h:324
const MathVector< dim > & local_grad(size_t sh) const
value of local gradient of shape function i in integration point
Definition fv1ib_geom.h:367
size_t num_corners() const
number of corners, that bound the scvf
Definition fv1ib_geom.h:381
const MathVector< dim > * local_grad_vector() const
vector of local gradients in ip point
Definition fv1ib_geom.h:371
const MathVector< dim > & local_ip() const
local integration point of bf
Definition fv1ib_geom.h:339
MathVector< worldDim > vGloPos[numCo]
Definition fv1ib_geom.h:403
size_t num_sh() const
number of shape functions
Definition fv1ib_geom.h:357
const MathVector< worldDim > & normal() const
outer normal on bf. Norm is equal to area
Definition fv1ib_geom.h:345
MathMatrix< worldDim, dim > JtInv
Definition fv1ib_geom.h:416
MathVector< worldDim > Normal
Definition fv1ib_geom.h:409
const MathVector< dim > & local_corner(size_t co) const
return local corner number i
Definition fv1ib_geom.h:384
MathVector< dim > vLocalGrad[nsh]
Definition fv1ib_geom.h:414
BF()
Definition fv1ib_geom.h:330
number detJ() const
Determinant of Jacobian in integration point.
Definition fv1ib_geom.h:354
const MathVector< worldDim > & global_ip() const
global integration point of bf
Definition fv1ib_geom.h:342
const MathMatrix< worldDim, dim > & JTInv() const
Transposed Inverse of Jacobian in integration point.
Definition fv1ib_geom.h:351
number shape(size_t sh) const
value of shape function i in integration point
Definition fv1ib_geom.h:360
const MathVector< worldDim > & global_grad(size_t sh) const
value of global gradient of shape function i in integration point
Definition fv1ib_geom.h:374
MidID vMidID[numCo]
Definition fv1ib_geom.h:404
static const size_t numCo
Number of corners of bf.
Definition fv1ib_geom.h:327
number detj
Definition fv1ib_geom.h:417
const MathVector< worldDim > & global_corner(size_t co) const
return global corner number i
Definition fv1ib_geom.h:388
MathVector< dim > localIP
Definition fv1ib_geom.h:407
size_t nodeId
Definition fv1ib_geom.h:396
size_t num_ip() const
number of integration points on bf
Definition fv1ib_geom.h:336
size_t node_id() const
index of SubControlVolume of the bf
Definition fv1ib_geom.h:333
number volume() const
volume of bf
Definition fv1ib_geom.h:348
MathVector< worldDim > globalIP
Definition fv1ib_geom.h:408
number Vol
Definition fv1ib_geom.h:410
number vShape[nsh]
Definition fv1ib_geom.h:413
const number * shape_vector() const
vector of local gradients in ip point
Definition fv1ib_geom.h:364
MathVector< dim > vLocPos[numCo]
Definition fv1ib_geom.h:402
const MathVector< worldDim > * global_grad_vector() const
vector of global gradients in ip point
Definition fv1ib_geom.h:378
MathVector< worldDim > vGlobalGrad[nsh]
Definition fv1ib_geom.h:415
Sub-Control Volume Face structure.
Definition fv1ib_geom.h:129
const MathVector< dim > & local_ip() const
local integration point of scvf
Definition fv1ib_geom.h:150
size_t num_corners() const
number of corners, that bound the scvf
Definition fv1ib_geom.h:185
number detJ() const
Determinant of Jacobian in integration point.
Definition fv1ib_geom.h:159
MathVector< dim > vLocPos[numCo]
Definition fv1ib_geom.h:210
MathVector< worldDim > vGlobalGrad[nsh]
Definition fv1ib_geom.h:221
const MathVector< worldDim > & global_ip() const
global integration point of scvf
Definition fv1ib_geom.h:153
number shape(size_t sh) const
value of shape function i in integration point
Definition fv1ib_geom.h:165
const MathVector< dim > & local_corner(size_t co) const
return local corner number i
Definition fv1ib_geom.h:188
MathVector< worldDim > globalIP
Definition fv1ib_geom.h:216
const MathVector< dim > * local_grad_vector() const
vector of local gradients in ip point
Definition fv1ib_geom.h:175
MathVector< dim > localIP
Definition fv1ib_geom.h:215
MidID vMidID[numCo]
Definition fv1ib_geom.h:212
const MathMatrix< worldDim, dim > & JTInv() const
Transposed Inverse of Jacobian in integration point.
Definition fv1ib_geom.h:156
const number * shape_vector() const
vector of shape functions in ip point
Definition fv1ib_geom.h:168
size_t To
Definition fv1ib_geom.h:201
number detj
Definition fv1ib_geom.h:223
const MathVector< worldDim > & global_corner(size_t co) const
return global corner number i
Definition fv1ib_geom.h:192
size_t to() const
index of SubControlVolume on one side of the scvf
Definition fv1ib_geom.h:141
MathVector< worldDim > vGloPos[numCo]
Definition fv1ib_geom.h:211
size_t from() const
index of SubControlVolume on one side of the scvf
Definition fv1ib_geom.h:138
const MathVector< worldDim > & normal() const
normal on scvf (points direction "from"->"to"). Norm is equal to area
Definition fv1ib_geom.h:144
number vShape[nsh]
Definition fv1ib_geom.h:219
size_t From
Definition fv1ib_geom.h:201
size_t num_sh() const
number of shape functions
Definition fv1ib_geom.h:162
MathVector< worldDim > Normal
Definition fv1ib_geom.h:204
const MathVector< worldDim > & global_grad(size_t sh) const
value of global gradient of shape function i in integration point
Definition fv1ib_geom.h:178
const MathVector< dim > & local_grad(size_t sh) const
value of local gradient of shape function i in integration point
Definition fv1ib_geom.h:171
MathVector< dim > vLocalGrad[nsh]
Definition fv1ib_geom.h:220
static const size_t numCo
Number of corners of scvf.
Definition fv1ib_geom.h:132
MathMatrix< worldDim, dim > JtInv
Definition fv1ib_geom.h:222
SCVF()
Definition fv1ib_geom.h:135
size_t num_ip() const
number of integration points on scvf
Definition fv1ib_geom.h:147
const MathVector< worldDim > * global_grad_vector() const
vector of global gradients in ip point
Definition fv1ib_geom.h:182
sub control volume structure
Definition fv1ib_geom.h:228
size_t num_ip() const
number of integration points
Definition fv1ib_geom.h:262
MidID midId[numCo]
Definition fv1ib_geom.h:312
MathVector< dim > vLocPos[numCo]
Definition fv1ib_geom.h:310
MathVector< worldDim > vGloPos[numCo]
Definition fv1ib_geom.h:311
number Vol
Definition fv1ib_geom.h:307
MathMatrix< worldDim, dim > JtInv
Definition fv1ib_geom.h:318
const MathVector< worldDim > & global_corner(size_t co) const
return global corner number i
Definition fv1ib_geom.h:247
const MathMatrix< worldDim, dim > & JTInv() const
Transposed Inverse of Jacobian in integration point.
Definition fv1ib_geom.h:271
number volume() const
volume of scv
Definition fv1ib_geom.h:237
const MathVector< dim > & local_ip() const
local integration point of scv
Definition fv1ib_geom.h:265
size_t node_id() const
node id that this scv is associated to
Definition fv1ib_geom.h:259
size_t nodeId
Definition fv1ib_geom.h:304
const MathVector< dim > & local_corner(size_t co) const
return local corner number i
Definition fv1ib_geom.h:243
MathVector< dim > vLocalGrad[nsh]
Definition fv1ib_geom.h:316
MathVector< worldDim > vGlobalGrad[nsh]
Definition fv1ib_geom.h:317
static const size_t numCo
Number of corners of scvf.
Definition fv1ib_geom.h:231
const MathVector< worldDim > & global_ip() const
global integration point
Definition fv1ib_geom.h:268
const MathVector< dim > * local_grad_vector() const
vector of local gradients in ip point
Definition fv1ib_geom.h:290
number detj
Definition fv1ib_geom.h:319
number shape(size_t sh) const
value of shape function i in integration point
Definition fv1ib_geom.h:280
size_t num_sh() const
number of shape functions
Definition fv1ib_geom.h:277
size_t num_corners() const
number of corners, that bound the scvf
Definition fv1ib_geom.h:240
SCV()
Definition fv1ib_geom.h:234
const MathVector< worldDim > * global_grad_vector() const
vector of global gradients in ip point
Definition fv1ib_geom.h:297
const MathVector< dim > * local_corners() const
return local corners
Definition fv1ib_geom.h:251
const MathVector< dim > & local_grad(size_t sh) const
value of local gradient of shape function i in integration point
Definition fv1ib_geom.h:286
const number * shape_vector() const
vector of shape functions in ip point
Definition fv1ib_geom.h:283
number detJ() const
Determinant of Jacobian in integration point.
Definition fv1ib_geom.h:274
const MathVector< worldDim > & global_grad(size_t sh) const
value of global gradient of shape function i in integration point
Definition fv1ib_geom.h:293
const MathVector< worldDim > * global_corners() const
return global corners
Definition fv1ib_geom.h:255
number vShape[nsh]
Definition fv1ib_geom.h:315
Geometry and shape functions for 1st order Vertex-Centered Finite Volume.
Definition fv1ib_geom.h:69
static const int maxMid
max number of geom objects in all dimensions
Definition fv1ib_geom.h:557
size_t num_sh() const
number of shape functions
Definition fv1ib_geom.h:469
MathVector< worldDim > m_vGlobSCVF_IP[numSCVF]
Definition fv1ib_geom.h:493
void remove_boundary_subset(int subsetIndex)
removes subset that is interpreted as boundary subset.
Definition fv1ib_geom.h:501
const MathVector< worldDim > * scv_global_ips() const
returns all ips of scv as they appear in scv loop
Definition fv1ib_geom.h:488
size_t num_boundary_subsets()
number of registered boundary subsets
Definition fv1ib_geom.h:507
LagrangeP1< ref_elem_type > local_shape_fct_set_type
type of Shape function used
Definition fv1ib_geom.h:109
MathVector< worldDim > m_vvGloMid[dim+1][maxMid]
Definition fv1ib_geom.h:561
void clear_boundary_subsets()
reset all boundary subsets
Definition fv1ib_geom.h:504
fv1_traits< ref_elem_type, TWorldDim > traits
used traits
Definition fv1ib_geom.h:78
const MathVector< dim > * scv_local_ips() const
returns all ips of scv as they appear in scv loop
Definition fv1ib_geom.h:485
const std::vector< BF > & bf(int si) const
returns reference to vector of boundary faces for subsetIndex
Definition fv1ib_geom.h:539
const SCV & scv(size_t i) const
const access to SubControlVolume number i
Definition fv1ib_geom.h:465
static const size_t nip
number of integration points
Definition fv1ib_geom.h:115
traits::scv_type scv_type
type of SubControlVolume
Definition fv1ib_geom.h:102
SCVF m_vSCVF[numSCVF]
SubControlVolumeFaces.
Definition fv1ib_geom.h:564
ReferenceMapping< ref_elem_type, worldDim > m_mapping
Reference Mapping.
Definition fv1ib_geom.h:570
const BF & bf(int si, size_t i) const
returns the boundary face i for subsetIndex
Definition fv1ib_geom.h:529
static const size_t numSCV
number of SubControlVolumes
Definition fv1ib_geom.h:98
void add_boundary_subset(int subsetIndex)
add subset that is interpreted as boundary subset.
Definition fv1ib_geom.h:498
size_t num_bf(int si) const
number of boundary faces on subset 'subsetIndex'
Definition fv1ib_geom.h:520
static const int order
order
Definition fv1ib_geom.h:95
FV1IBGeometry()
construct object and initialize local values and sizes
Definition fv1ib_geom_impl.h:552
static const size_t nsh
number of shape functions
Definition fv1ib_geom.h:112
const local_shape_fct_set_type & m_rTrialSpace
Shape function set.
Definition fv1ib_geom.h:576
static const bool usesHangingNodes
Hanging node flag: this Geometry does not support hanging nodes.
Definition fv1ib_geom.h:88
reference_element_traits< TElem >::reference_element_type ref_elem_type
type of reference element
Definition fv1ib_geom.h:75
void update_local_data()
update local data
Definition fv1ib_geom_impl.h:561
MathVector< dim > m_vvLocMid[dim+1][maxMid]
local and global geom object midpoints for each dimension
Definition fv1ib_geom.h:560
size_t num_bf() const
number of all boundary faces
Definition fv1ib_geom.h:510
size_t num_scvf_ips() const
returns number of all scvf ips
Definition fv1ib_geom.h:473
MathVector< worldDim > vSCVF_PosOnEdge[numSCVF]
new members for adaptions
Definition fv1ib_geom.h:580
size_t num_scv() const
number of SubControlVolumes
Definition fv1ib_geom.h:462
const MathVector< dim > * scvf_local_ips() const
returns all ips of scvf as they appear in scv loop
Definition fv1ib_geom.h:476
void update(GridObject *elem, const MathVector< worldDim > *vCornerCoords, const ISubsetHandler *ish=NULL)
update data for given element
Definition fv1ib_geom_impl.h:643
void adapt(GridObject *elem, const MathVector< TWorldDim > *vCornerCoords, const ISubsetHandler *ish=NULL)
adapt integration points for elements cut by the inner boundary
Definition fv1ib_geom_impl.h:47
const ref_elem_type & m_rRefElem
Reference Element.
Definition fv1ib_geom.h:573
void update_boundary_faces(GridObject *elem, const MathVector< worldDim > *vCornerCoords, const ISubsetHandler *ish=NULL)
update boundary data for given element
Definition fv1ib_geom_impl.h:741
static const int dim
dimension of reference element
Definition fv1ib_geom.h:82
static const bool staticLocalData
flag indicating if local data may change
Definition fv1ib_geom.h:91
MathVector< worldDim > m_MidPoint
Definition fv1ib_geom.h:581
MathVector< dim > m_vLocSCVF_IP[numSCVF]
Definition fv1ib_geom.h:494
std::map< int, std::vector< BF > > m_mapVectorBF
Definition fv1ib_geom.h:548
size_t num_scv_ips() const
returns number of all scv ips
Definition fv1ib_geom.h:482
const MathVector< worldDim > * scvf_global_ips() const
returns all ips of scvf as they appear in scv loop
Definition fv1ib_geom.h:479
static const size_t numSCVF
number of SubControlVolumeFaces
Definition fv1ib_geom.h:105
size_t num_scvf() const
number of SubControlVolumeFaces
Definition fv1ib_geom.h:453
static const int worldDim
dimension of world
Definition fv1ib_geom.h:85
const SCVF & scvf(size_t i) const
const access to SubControlVolumeFace number i
Definition fv1ib_geom.h:456
SCV m_vSCV[numSCV]
SubControlVolumes.
Definition fv1ib_geom.h:567
void adapt_normals(GridObject *elem, const MathVector< TWorldDim > *vCornerCoords, const ISubsetHandler *ish=NULL)
adapt normals for elements cut by the inner boundary
Definition fv1ib_geom_impl.h:120
TElem * m_pElem
pointer to current element
Definition fv1ib_geom.h:553
void adapt_integration_points(GridObject *elem, const MathVector< TWorldDim > *vCornerCoords, const ISubsetHandler *ish=NULL)
adapt integration points for elements cut by the inner boundary
Definition fv1ib_geom_impl.h:111
std::vector< BF > m_vEmptyVectorBF
Definition fv1ib_geom.h:549
const MathVector< worldDim > * corners() const
get vector of the global coordinates of corners for current element
Definition fv1ib_geom.h:450
TElem elem_type
type of element
Definition fv1ib_geom.h:72
base class for all FVGeometries
Definition fv_geom_base.h:76
The base class for all geometric objects, such as vertices, edges, faces, volumes,...
Definition grid_base_objects.h:157
Definition subset_handler_interface.h:223
Lagrange shape functions of first order.
Definition lagrangep1.h:55
A class for fixed size, dense matrices.
Definition math_matrix.h:63
a mathematical Vector with N entries.
Definition math_vector.h:97
Definition reference_mapping.h:65
#define UG_ASSERT(expr, msg)
Definition assert.h:70
#define UG_THROW(msg)
Definition error.h:57
double number
Definition types.h:124
ReferenceObjectID
these ids are used to identify the shape of a geometric object.
Definition grid_base_objects.h:74
@ ROID_PYRAMID
Definition grid_base_objects.h:83
@ ROID_UNKNOWN
Definition grid_base_objects.h:75
helper class to store dimension and id of a midpoint of a sub-element
Definition fv_geom_base.h:41
Traits for Finite Volumes for a generic element of the fixed dimensionalities.
Definition fv_util.h:1325
Traits for Finite Volumes (dummy implementation, s. the instantiations below)
Definition fv_util.h:178
traits for reference elements
Definition reference_element_traits.h:48