33 #ifndef __H__UG__LIB_DISC__SPATIAL_DISC__DISC_HELPER__HANGING_FINITE_VOLUME_GEOMETRY__
34 #define __H__UG__LIB_DISC__SPATIAL_DISC__DISC_HELPER__HANGING_FINITE_VOLUME_GEOMETRY__
60 template <
typename TElem,
int TWorldDim>
359 <<dim_<<
" wrong. (size is "<<
m_locMid[dim_].size()<<
")\n");
372 <<dim_<<
" wrong. (size is "<<
m_gloMid[dim_].size()<<
")\n");
384 const size_t coID0 =
m_rRefElem.id(2, i, 0, 0);
389 for(
size_t j = 1; j <
m_rRefElem.num(2, i, 0); ++j)
391 const size_t coID =
m_rRefElem.id(2, i, 0, j);
497 template <
int TDim,
int TWorldDim = TDim>
511 static const int dim = TDim;
546 static const int dim = TDim;
827 <<dim_<<
" wrong. (size is "<<
m_locMid[dim_].size()<<
")\n");
840 <<dim_<<
" wrong. (size is "<<
m_gloMid[dim_].size()<<
")\n");
974 template <
typename TElem,
int TWorldDim>
1108 inline const BF&
bf(
size_t i)
const
1163 locSideMid *= 1./3.;
1164 gloSideMid *= 1./3.;
Definition: hfv1_geom.h:543
MidID m_midId[m_numCorners]
Definition: hfv1_geom.h:630
SCVF()
Definition: hfv1_geom.h:562
size_t m_from
Definition: hfv1_geom.h:623
size_t num_sh() const
number of shape functions
Definition: hfv1_geom.h:589
size_t num_corners() const
number of corners, that bound the scvf
Definition: hfv1_geom.h:610
MathMatrix< worldDim, dim > JtInv
Definition: hfv1_geom.h:641
std::vector< MathVector< worldDim > > globalGrad
Definition: hfv1_geom.h:640
const MathVector< dim > * local_grad_vector() const
vector of local gradients in ip point
Definition: hfv1_geom.h:600
number detj
Definition: hfv1_geom.h:642
const MathVector< worldDim > & normal() const
normal on scvf (points direction "from"->"to"). Norm is equal to area
Definition: hfv1_geom.h:580
size_t from() const
index of SubControlVolume on one side of the scvf
Definition: hfv1_geom.h:565
size_t to() const
index of SubControlVolume on one side of the scvf
Definition: hfv1_geom.h:568
MathVector< worldDim > globalIP
Definition: hfv1_geom.h:634
number shape(size_t sh) const
value of shape function i in integration point
Definition: hfv1_geom.h:592
static const int dim
dimension of reference element
Definition: hfv1_geom.h:546
static const size_t m_numCorners
Number of corners of scvf.
Definition: hfv1_geom.h:559
const MathVector< worldDim > & global_grad(size_t sh) const
value of global gradient of shape function i in integration point
Definition: hfv1_geom.h:603
MathVector< worldDim > m_vGloPos[m_numCorners]
Definition: hfv1_geom.h:629
const MathVector< dim > & local_grad(size_t sh) const
value of local gradient of shape function i in integration point
Definition: hfv1_geom.h:596
size_t m_to
Definition: hfv1_geom.h:623
const MathVector< dim > & local_ip() const
local integration point of scvf
Definition: hfv1_geom.h:574
MathVector< dim > localIP
Definition: hfv1_geom.h:633
size_t num_ip() const
number of integration points on scvf
Definition: hfv1_geom.h:571
std::vector< number > vShape
Definition: hfv1_geom.h:638
const MathVector< dim > & local_corner(size_t co) const
return local corner number i
Definition: hfv1_geom.h:613
const MathVector< worldDim > & global_ip() const
global integration point of scvf
Definition: hfv1_geom.h:577
std::vector< MathVector< dim > > localGrad
Definition: hfv1_geom.h:639
static const int worldDim
dimension of world
Definition: hfv1_geom.h:549
MathVector< worldDim > Normal
Definition: hfv1_geom.h:635
static const size_t m_numIP
number of integration points
Definition: hfv1_geom.h:556
const MathMatrix< worldDim, dim > & JTInv() const
Transposed Inverse of Jacobian in integration point.
Definition: hfv1_geom.h:583
number detJ() const
Determinante of Jacobian in integration point.
Definition: hfv1_geom.h:586
MathVector< dim > m_vLocPos[m_numCorners]
Definition: hfv1_geom.h:628
const MathVector< worldDim > * global_grad_vector() const
vector of global gradients in ip point
Definition: hfv1_geom.h:607
const MathVector< worldDim > & global_corner(size_t co) const
return glbal corner number i
Definition: hfv1_geom.h:617
Definition: hfv1_geom.h:646
size_t node_id() const
node id that this scv is associated to
Definition: hfv1_geom.h:664
number shape(size_t sh) const
value of shape function i in integration point
Definition: hfv1_geom.h:693
size_t num_sh() const
number of shape functions
Definition: hfv1_geom.h:690
const MathVector< worldDim > & global_grad(size_t sh) const
value of global gradient of shape function i in integration point
Definition: hfv1_geom.h:706
number volume() const
volume of scv
Definition: hfv1_geom.h:676
const MathVector< worldDim > & global_ip() const
global integration point
Definition: hfv1_geom.h:673
size_t numSH
Definition: hfv1_geom.h:729
MathMatrix< worldDim, dim > JtInv
Definition: hfv1_geom.h:733
const MathVector< worldDim > * global_grad_vector() const
vector of global gradients in ip point
Definition: hfv1_geom.h:710
number detj
Definition: hfv1_geom.h:734
SCV()
Definition: hfv1_geom.h:661
static const size_t m_maxNumCorners
Number of corners of scvf.
Definition: hfv1_geom.h:655
MathVector< dim > m_vLocPos[m_maxNumCorners]
Definition: hfv1_geom.h:723
MidID m_midId[m_maxNumCorners]
Definition: hfv1_geom.h:725
const MathVector< worldDim > & global_corner(size_t co) const
return global corner number i
Definition: hfv1_geom.h:686
number detJ() const
Determinant of Jacobian in integration point.
Definition: hfv1_geom.h:716
MathVector< worldDim > globalGrad[m_maxNSH]
Definition: hfv1_geom.h:732
const number * shape_vector() const
vector of shape functions in ip point
Definition: hfv1_geom.h:696
MathVector< worldDim > m_vGloPos[m_maxNumCorners]
Definition: hfv1_geom.h:724
const MathVector< dim > & local_corner(size_t co) const
return local corner number i
Definition: hfv1_geom.h:682
size_t m_numCorners
Definition: hfv1_geom.h:720
size_t num_corners() const
number of corners, that bound the scvf
Definition: hfv1_geom.h:679
MathVector< dim > localGrad[m_maxNSH]
Definition: hfv1_geom.h:731
number vShape[m_maxNSH]
Definition: hfv1_geom.h:730
size_t num_ip() const
number of integration points
Definition: hfv1_geom.h:667
const MathMatrix< worldDim, dim > & JTInv() const
Transposed Inverse of Jacobian in integration point.
Definition: hfv1_geom.h:713
traits::scv_type scv_type
type of element the subcontrol volume represents
Definition: hfv1_geom.h:658
number vol
Definition: hfv1_geom.h:726
const MathVector< dim > & local_ip() const
local integration point of scv
Definition: hfv1_geom.h:670
static const size_t m_numIP
number of integration points
Definition: hfv1_geom.h:652
size_t nodeId
Definition: hfv1_geom.h:719
const MathVector< dim > * local_grad_vector() const
vector of local gradients in ip point
Definition: hfv1_geom.h:703
const MathVector< dim > & local_grad(size_t sh) const
value of local gradient of shape function i in integration point
Definition: hfv1_geom.h:699
Definition: hfv1_geom.h:498
std::vector< MathVector< worldDim > > m_gloMid[dim+1]
Definition: hfv1_geom.h:950
size_t num_sh() const
number of shape functions
Definition: hfv1_geom.h:768
const MathVector< dim > * scvf_local_ips() const
returns all ips of scv as they appear in scv loop
Definition: hfv1_geom.h:781
size_t num_scvf_ips() const
returns number of all scv ips
Definition: hfv1_geom.h:775
static const bool staticLocalData
flag indicating if local data may change
Definition: hfv1_geom.h:520
std::vector< SCVF > m_vSCVF
Definition: hfv1_geom.h:953
traits::elem_type_3 elem_type_3
Definition: hfv1_geom.h:529
void copy_global_corners(SCVF &scvf)
Definition: hfv1_geom.h:809
std::vector< MathVector< worldDim > > m_vGlobSCVFIP
Definition: hfv1_geom.h:793
void copy_local_corners(SCVF &scvf)
Definition: hfv1_geom.h:799
std::vector< MathVector< worldDim > > m_vGlobSCVIP
Definition: hfv1_geom.h:795
void update_local_data()
update local data for an element
Definition: hfv1_geom.cpp:688
size_t m_numNaturalSCVF
number of SubControlVolumeFaces
Definition: hfv1_geom.h:504
void update(GridObject *pElem, const MathVector< worldDim > *vCornerCoords, const ISubsetHandler *ish=NULL)
update values for an element
Definition: hfv1_geom.cpp:742
size_t get_child_edge_of_corner(size_t i, size_t co)
Definition: hfv1_geom.h:896
void copy_local_corners(SCV &scv)
Definition: hfv1_geom.h:819
traits::elem_type_0 elem_type_0
element type names
Definition: hfv1_geom.h:526
ReferenceObjectID m_roid
current reference object id
Definition: hfv1_geom.h:947
static const bool usesHangingNodes
Hanging node flag: this Geometry does support hanging nodes.
Definition: hfv1_geom.h:517
DimHFV1Geometry()
constructor
Definition: hfv1_geom.h:740
traits::elem_type_4 elem_type_4
Definition: hfv1_geom.h:530
std::vector< NatEdgeInfo > m_vNatEdgeInfo
Definition: hfv1_geom.h:939
size_t num_scvf() const
number of SubControlVolumeFaces
Definition: hfv1_geom.h:754
std::vector< SCV > m_vSCV
Definition: hfv1_geom.h:956
size_t num_scv() const
number of SubControlVolumes
Definition: hfv1_geom.h:761
size_t m_numSh
Definition: hfv1_geom.h:959
std::vector< MathVector< dim > > m_vLocSCVFIP
Definition: hfv1_geom.h:794
std::vector< MathVector< dim > > m_vLocSCVIP
Definition: hfv1_geom.h:796
void copy_global_corners(SCV &scv)
Definition: hfv1_geom.h:832
static const int dim
dimension of reference element
Definition: hfv1_geom.h:511
const MathVector< worldDim > * scvf_global_ips() const
returns all ips of scv as they appear in scv loop
Definition: hfv1_geom.h:778
static const size_t m_maxNSH
max number of shapes
Definition: hfv1_geom.h:507
static const int worldDim
dimension of world
Definition: hfv1_geom.h:514
traits::elem_type_1 elem_type_1
Definition: hfv1_geom.h:527
const MathVector< worldDim > * scv_global_ips() const
returns all ips of scv as they appear in scv loop
Definition: hfv1_geom.h:787
std::vector< NewEdgeInfo > m_vNewEdgeInfo
Definition: hfv1_geom.h:940
const SCV & scv(size_t i) const
const access to SubControlVolume number i
Definition: hfv1_geom.h:764
traits::elem_type_2 elem_type_2
Definition: hfv1_geom.h:528
DimReferenceElement< dim > m_rRefElem
reference element
Definition: hfv1_geom.h:962
void compute_side_midpoints(size_t i, size_t j, size_t k, MathVector< dim > &locSideMid, MathVector< worldDim > &gloSideMid)
Definition: hfv1_geom.h:884
size_t num_scv_ips() const
returns number of all scv ips
Definition: hfv1_geom.h:784
void compute_side_midpoints(size_t i, MathVector< dim > &locSideMid, MathVector< worldDim > &gloSideMid)
Definition: hfv1_geom.h:846
const MathVector< dim > * scv_local_ips() const
returns all ips of scv as they appear in scv loop
Definition: hfv1_geom.h:790
const SCVF & scvf(size_t i) const
const access to SubControlVolumeFace number i
Definition: hfv1_geom.h:757
DimReferenceMapping< dim, worldDim > * m_rMapping
reference mapping
Definition: hfv1_geom.h:965
void compute_side_midpoints(size_t i, size_t j, size_t k, size_t l, MathVector< dim > &locSideMid, MathVector< worldDim > &gloSideMid)
Definition: hfv1_geom.h:871
std::vector< MathVector< dim > > m_locMid[dim+1]
Definition: hfv1_geom.h:949
size_t m_numNaturalSCV
number of SubControlVolumes
Definition: hfv1_geom.h:501
hdimfv1_traits< TDim > traits
traits
Definition: hfv1_geom.h:523
GridObject * m_pElem
pointer to current element
Definition: hfv1_geom.h:944
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: hfv1_geom.h:96
MathMatrix< worldDim, dim > JtInv
Definition: hfv1_geom.h:196
number detJ() const
Determinante of Jacobian in integration point.
Definition: hfv1_geom.h:141
size_t num_ip() const
number of integration points on scvf
Definition: hfv1_geom.h:126
const MathVector< dim > & local_grad(size_t sh) const
value of local gradient of shape function i in integration point
Definition: hfv1_geom.h:151
const MathVector< dim > & local_corner(size_t co) const
return local corner number i
Definition: hfv1_geom.h:168
const MathVector< worldDim > & global_corner(size_t co) const
return glbal corner number i
Definition: hfv1_geom.h:172
static const int worldDim
dimension of world
Definition: hfv1_geom.h:102
MathVector< worldDim > m_vGloPos[m_numCorners]
Definition: hfv1_geom.h:184
std::vector< MathVector< dim > > localGrad
Definition: hfv1_geom.h:194
MathVector< worldDim > globalIP
Definition: hfv1_geom.h:189
size_t from() const
Definition: hfv1_geom.h:119
const MathVector< dim > * local_grad_vector() const
vector of local gradients in ip point
Definition: hfv1_geom.h:155
std::vector< MathVector< worldDim > > globalGrad
Definition: hfv1_geom.h:195
const MathMatrix< worldDim, dim > & JTInv() const
Transposed Inverse of Jacobian in integration point.
Definition: hfv1_geom.h:138
const MathVector< worldDim > & normal() const
normal on scvf (points direction "from"->"to"). Norm is equal to area
Definition: hfv1_geom.h:135
static const size_t m_numCorners
Number of corners of scvf.
Definition: hfv1_geom.h:112
number shape(size_t sh) const
value of shape function i in integration point
Definition: hfv1_geom.h:147
const MathVector< worldDim > & global_ip() const
global integration point of scvf
Definition: hfv1_geom.h:132
size_t m_from
Definition: hfv1_geom.h:178
size_t to() const
Definition: hfv1_geom.h:123
size_t m_to
Definition: hfv1_geom.h:178
size_t num_corners() const
number of corners, that bound the scvf
Definition: hfv1_geom.h:165
const MathVector< worldDim > & global_grad(size_t sh) const
value of global gradient of shape function i in integration point
Definition: hfv1_geom.h:158
size_t num_sh() const
number of shape functions
Definition: hfv1_geom.h:144
MathVector< dim > m_vLocPos[m_numCorners]
Definition: hfv1_geom.h:183
MidID m_midId[m_numCorners]
Definition: hfv1_geom.h:185
number detj
Definition: hfv1_geom.h:197
MathVector< dim > localIP
Definition: hfv1_geom.h:188
static const size_t m_numIP
number of integration points
Definition: hfv1_geom.h:109
static const int dim
dimension of reference element
Definition: hfv1_geom.h:99
std::vector< number > vShape
Definition: hfv1_geom.h:193
MathVector< worldDim > Normal
Definition: hfv1_geom.h:190
const MathVector< worldDim > * global_grad_vector() const
vector of global gradients in ip point
Definition: hfv1_geom.h:162
SCVF()
Definition: hfv1_geom.h:115
const MathVector< dim > & local_ip() const
local integration point of scvf
Definition: hfv1_geom.h:129
Definition: hfv1_geom.h:201
static const size_t m_maxNumCorners
Number of corners of scvf.
Definition: hfv1_geom.h:210
MathVector< dim > m_vLocPos[m_maxNumCorners]
Definition: hfv1_geom.h:249
MidID m_midId[m_maxNumCorners]
Definition: hfv1_geom.h:251
const MathVector< worldDim > & global_ip() const
global integration point
Definition: hfv1_geom.h:228
number vol
Definition: hfv1_geom.h:252
size_t m_numCorners
Definition: hfv1_geom.h:246
MathVector< worldDim > m_vGloPos[m_maxNumCorners]
Definition: hfv1_geom.h:250
const MathVector< dim > & local_ip() const
local integration point of scv
Definition: hfv1_geom.h:225
size_t num_ip() const
number of integration points
Definition: hfv1_geom.h:222
const MathVector< worldDim > & global_corner(size_t co) const
return global corner number i
Definition: hfv1_geom.h:241
size_t node_id() const
node id that this scv is associated to
Definition: hfv1_geom.h:219
size_t num_corners() const
number of corners, that bound the scvf
Definition: hfv1_geom.h:234
SCV()
Definition: hfv1_geom.h:216
static const size_t m_numIP
number of integration points
Definition: hfv1_geom.h:207
hfv1_traits< ref_elem_type, TWorldDim >::scv_type scv_type
type of element the subcontrol volume represents
Definition: hfv1_geom.h:213
const MathVector< dim > & local_corner(size_t co) const
return local corner number i
Definition: hfv1_geom.h:237
number volume() const
volume of scv
Definition: hfv1_geom.h:231
size_t nodeId
Definition: hfv1_geom.h:245
Geometry and shape functions for 1st order Vertex-Centered Finite Volume with the hanging nodes.
Definition: hfv1_geom.h:61
const SCVF & scvf(size_t i) const
const access to SubControlVolumeFace number i
Definition: hfv1_geom.h:275
GridObject * elem() const
get the element
Definition: hfv1_geom.h:268
const MathVector< worldDim > & global_node_position(size_t nodeID) const
return global coords for node ID
Definition: hfv1_geom.h:318
size_t num_scvf() const
number of SubControlVolumeFaces
Definition: hfv1_geom.h:272
ReferenceMapping< ref_elem_type, worldDim > m_rMapping
Definition: hfv1_geom.h:491
void copy_local_corners(SCV &scv)
Definition: hfv1_geom.h:351
reference_element_traits< TElem >::reference_element_type ref_elem_type
type of reference element
Definition: hfv1_geom.h:64
void compute_side_midpoints(size_t i, size_t j, size_t k, MathVector< dim > &locSideMid, MathVector< worldDim > &gloSideMid)
Definition: hfv1_geom.h:416
std::vector< MathVector< worldDim > > m_vGlobSCVFIP
Definition: hfv1_geom.h:325
void update(GridObject *pElem, const MathVector< worldDim > *vCornerCoords, const ISubsetHandler *ish=NULL)
update values for an element
Definition: hfv1_geom.cpp:67
const ref_elem_type & m_rRefElem
Definition: hfv1_geom.h:494
const MathVector< worldDim > * scv_global_ips() const
returns all ips of scv as they appear in scv loop
Definition: hfv1_geom.h:305
std::vector< NatEdgeInfo > m_vNatEdgeInfo
Definition: hfv1_geom.h:471
const SCV & scv(size_t i) const
const access to SubControlVolume number i
Definition: hfv1_geom.h:282
static const int dim
dimension of reference element
Definition: hfv1_geom.h:74
std::vector< MathVector< dim > > m_vLocSCVIP
Definition: hfv1_geom.h:328
HFV1Geometry()
constructor
Definition: hfv1_geom.cpp:40
std::vector< MathVector< dim > > m_vLocSCVFIP
Definition: hfv1_geom.h:326
std::vector< NewEdgeInfo > m_vNewEdgeInfo
Definition: hfv1_geom.h:472
void compute_side_midpoints(size_t i, MathVector< dim > &locSideMid, MathVector< worldDim > &gloSideMid)
Definition: hfv1_geom.h:378
size_t num_sh() const
number of shape functions
Definition: hfv1_geom.h:286
void print()
Definition: hfv1_geom.cpp:644
void compute_side_midpoints(size_t i, size_t j, size_t k, size_t l, MathVector< dim > &locSideMid, MathVector< worldDim > &gloSideMid)
Definition: hfv1_geom.h:403
std::vector< MathVector< worldDim > > m_vGlobSCVIP
Definition: hfv1_geom.h:327
size_t m_numSh
Definition: hfv1_geom.h:488
void copy_global_corners(SCVF &scvf)
Definition: hfv1_geom.h:341
std::vector< MathVector< dim > > m_locMid[dim+1]
Definition: hfv1_geom.h:478
size_t num_scv() const
number of SubControlVolumes
Definition: hfv1_geom.h:279
size_t num_scvf_ips() const
returns number of all scv ips
Definition: hfv1_geom.h:293
static const int worldDim
dimension of world
Definition: hfv1_geom.h:77
void copy_local_corners(SCVF &scvf)
Definition: hfv1_geom.h:331
size_t num_scv_ips() const
returns number of all scv ips
Definition: hfv1_geom.h:302
static const bool usesHangingNodes
Hanging node flag: this Geometry does support hanging nodes.
Definition: hfv1_geom.h:80
GridObject * m_pElem
Definition: hfv1_geom.h:476
void copy_global_corners(SCV &scv)
Definition: hfv1_geom.h:364
std::vector< SCV > m_vSCV
Definition: hfv1_geom.h:485
static const bool staticLocalData
flag indicating if local data may change
Definition: hfv1_geom.h:83
const MathVector< dim > * scv_local_ips() const
returns all ips of scv as they appear in scv loop
Definition: hfv1_geom.h:308
std::vector< MathVector< worldDim > > m_gloMid[dim+1]
Definition: hfv1_geom.h:479
std::vector< SCVF > m_vSCVF
Definition: hfv1_geom.h:482
static const size_t m_numNaturalSCV
number of SubControlVolumes
Definition: hfv1_geom.h:67
size_t get_child_edge_of_corner(size_t i, size_t co)
Definition: hfv1_geom.h:428
const MathVector< worldDim > * scvf_global_ips() const
returns all ips of scv as they appear in scv loop
Definition: hfv1_geom.h:296
const MathVector< dim > * scvf_local_ips() const
returns all ips of scv as they appear in scv loop
Definition: hfv1_geom.h:299
static const size_t m_numNaturalSCVF
number of SubControlVolumeFaces
Definition: hfv1_geom.h:70
const MathVector< dim > & local_node_position(size_t nodeID) const
return local coords for node ID
Definition: hfv1_geom.h:311
Definition: hfv1_geom.h:1020
size_t nodeId
Definition: hfv1_geom.h:1070
MathVector< dim > localIP
Definition: hfv1_geom.h:1079
number volume() const
volume of bf
Definition: hfv1_geom.h:1049
const MathVector< worldDim > & global_corner(size_t i) const
return global position of corner number i
Definition: hfv1_geom.h:1059
BF()
Definition: hfv1_geom.h:1032
static const size_t numCorners
Definition: hfv1_geom.h:1029
const MathVector< worldDim > & global_ip() const
global integration point of scvf
Definition: hfv1_geom.h:1045
const MathVector< dim > & local_ip() const
local integration point of scvf
Definition: hfv1_geom.h:1041
size_t node_id() const
node id that this bf is associated to
Definition: hfv1_geom.h:1035
number shape(size_t i, size_t ip) const
value of shape function i in integration point
Definition: hfv1_geom.h:1066
MathVector< worldDim > m_vGloPos[numCorners]
Definition: hfv1_geom.h:1076
size_t num_sh() const
number of shape functions
Definition: hfv1_geom.h:1063
size_t num_ip() const
number of integration points
Definition: hfv1_geom.h:1038
MathVector< worldDim > globalIP
Definition: hfv1_geom.h:1080
size_t num_corners() const
number of corners, that bound the bf
Definition: hfv1_geom.h:1052
static const size_t m_numIP
Definition: hfv1_geom.h:1026
std::vector< number > vShape
Definition: hfv1_geom.h:1081
number vol
Definition: hfv1_geom.h:1083
MathVector< dim > m_vLocPos[numCorners]
Definition: hfv1_geom.h:1075
const MathVector< dim > & local_corner(size_t i) const
return local position of corner number i
Definition: hfv1_geom.h:1055
Definition: hfv1_geom.h:976
size_t num_bf_local_ips() const
returns number of all scvf ips
Definition: hfv1_geom.h:1121
std::vector< MathVector< dim > > m_locMid[dim+1]
Definition: hfv1_geom.h:1206
std::vector< MathVector< dim > > m_vLocBFIP
Definition: hfv1_geom.h:1087
size_t num_bf_global_ips() const
returns number of all scvf ips
Definition: hfv1_geom.h:1115
const MathVector< dim > * bf_local_ips() const
returns all ips of scvf as they appear in scv loop
Definition: hfv1_geom.h:1118
static const int dim
Definition: hfv1_geom.h:995
static const bool usesHangingNodes
Definition: hfv1_geom.h:1004
void print()
print information about hfvg to log
Definition: hfv1_geom.cpp:1848
const MathVector< worldDim > * bf_global_ips() const
returns all ips of scvf as they appear in scv loop
Definition: hfv1_geom.h:1112
GridObject * m_pElem
Definition: hfv1_geom.h:1203
ReferenceMapping< ref_elem_type, worldDim > m_rMapping
Definition: hfv1_geom.h:1213
void compute_side_midpoints(size_t i, size_t j, size_t k, MathVector< dim > &locSideMid, MathVector< worldDim > &gloSideMid)
Definition: hfv1_geom.h:1156
size_t num_bf() const
number of BoundaryFaces
Definition: hfv1_geom.h:1105
std::vector< NewEdgeInfo > m_vNewEdgeInfo
Definition: hfv1_geom.h:1199
TElem elem_type
Definition: hfv1_geom.h:979
static const size_t m_numNaturalBFS
Definition: hfv1_geom.h:992
HFV1ManifoldGeometry()
constructor
Definition: hfv1_geom.cpp:1249
std::vector< MathVector< worldDim > > m_gloMid[dim+1]
Definition: hfv1_geom.h:1207
void compute_side_midpoints(MathVector< dim > &locSideMid, MathVector< worldDim > &gloSideMid)
Definition: hfv1_geom.h:1124
std::vector< MathVector< worldDim > > m_vGlobBFIP
Definition: hfv1_geom.h:1088
hfv1_traits< ref_elem_type, dim >::scv_type bf_type
Definition: hfv1_geom.h:1001
std::vector< NatEdgeInfo > m_vNatEdgeInfo
Definition: hfv1_geom.h:1198
static const int order
Definition: hfv1_geom.h:986
static const size_t m_numNaturalBF
Definition: hfv1_geom.h:989
std::vector< BF > m_vBF
Definition: hfv1_geom.h:1210
reference_element_traits< TElem >::reference_element_type ref_elem_type
Definition: hfv1_geom.h:982
static const int worldDim
Definition: hfv1_geom.h:998
static const bool staticLocalData
flag indicating if local data may change
Definition: hfv1_geom.h:1007
const BF & bf(size_t i) const
const access to Boundary Face number i
Definition: hfv1_geom.h:1108
void compute_side_midpoints(size_t i, size_t j, size_t k, size_t l, MathVector< dim > &locSideMid, MathVector< worldDim > &gloSideMid)
Definition: hfv1_geom.h:1143
const ref_elem_type & m_rRefElem
Definition: hfv1_geom.h:1216
void update(GridObject *elem, const MathVector< worldDim > *vCornerCoords, const ISubsetHandler *ish=NULL)
update data for given element
Definition: hfv1_geom.cpp:1270
Definition: subset_handler_interface.h:223
size_t num(int dim) const
returns the number of geometric objects of dim
Definition: reference_element.h:95
int id(int dim_i, size_t i, int dim_j, size_t j) const
id of object j in dimension dim_j of obj i in dimension dim_i
Definition: reference_element.h:127
#define UG_ASSERT(expr, msg)
Definition: assert.h:70
double number
Definition: types.h:124
void VecAdd(vector_t &vOut, const vector_t &v1, const vector_t &v2)
adds two MathVector<N>s and stores the result in a third one
Definition: math_vector_functions_common_impl.hpp:185
ReferenceObjectID
these ids are used to identify the shape of a geometric object.
Definition: grid_base_objects.h:74
@ ROID_UNKNOWN
Definition: grid_base_objects.h:75
Definition: hfv1_geom.h:534
size_t dim
Definition: hfv1_geom.h:536
size_t id
Definition: hfv1_geom.h:538
MidID(size_t dim_, size_t id_)
Definition: hfv1_geom.h:536
MidID()
Definition: hfv1_geom.h:535
Definition: hfv1_geom.h:923
bool is_hanging() const
Definition: hfv1_geom.h:927
size_t nodeId
Definition: hfv1_geom.h:933
size_t numChildEdges
Definition: hfv1_geom.h:934
size_t num_child_edges() const
Definition: hfv1_geom.h:929
size_t node_id() const
Definition: hfv1_geom.h:928
size_t childEdge[2]
Definition: hfv1_geom.h:935
size_t child_edge(size_t i) const
Definition: hfv1_geom.h:930
NatEdgeInfo()
Definition: hfv1_geom.h:926
Definition: hfv1_geom.h:911
size_t m_from
Definition: hfv1_geom.h:918
NewEdgeInfo()
Definition: hfv1_geom.h:914
size_t from() const
Definition: hfv1_geom.h:915
size_t to() const
Definition: hfv1_geom.h:916
size_t m_to
Definition: hfv1_geom.h:919
Definition: hfv1_geom.h:87
MidID(size_t dim_, size_t id_)
Definition: hfv1_geom.h:89
MidID()
Definition: hfv1_geom.h:88
size_t id
Definition: hfv1_geom.h:91
size_t dim
Definition: hfv1_geom.h:89
Definition: hfv1_geom.h:455
size_t num_child_edges() const
Definition: hfv1_geom.h:461
size_t numChildEdges
Definition: hfv1_geom.h:466
NatEdgeInfo()
Definition: hfv1_geom.h:458
size_t childEdge[2]
Definition: hfv1_geom.h:467
bool is_hanging() const
Definition: hfv1_geom.h:459
size_t nodeId
Definition: hfv1_geom.h:465
size_t child_edge(size_t i) const
Definition: hfv1_geom.h:462
size_t node_id() const
Definition: hfv1_geom.h:460
Definition: hfv1_geom.h:443
NewEdgeInfo()
Definition: hfv1_geom.h:446
size_t to() const
Definition: hfv1_geom.h:448
size_t m_to
Definition: hfv1_geom.h:451
size_t m_from
Definition: hfv1_geom.h:450
size_t from() const
Definition: hfv1_geom.h:447
Definition: hfv1_geom.h:1011
size_t id
Definition: hfv1_geom.h:1015
size_t dim
Definition: hfv1_geom.h:1013
MidID()
Definition: hfv1_geom.h:1012
MidID(size_t dim_, size_t id_)
Definition: hfv1_geom.h:1013
Definition: hfv1_geom.h:1182
size_t node_id() const
Definition: hfv1_geom.h:1187
size_t child_edge(size_t i) const
Definition: hfv1_geom.h:1189
size_t childEdge[2]
Definition: hfv1_geom.h:1194
bool is_hanging() const
Definition: hfv1_geom.h:1186
size_t numChildEdges
Definition: hfv1_geom.h:1193
size_t nodeId
Definition: hfv1_geom.h:1192
size_t num_child_edges() const
Definition: hfv1_geom.h:1188
NatEdgeInfo()
Definition: hfv1_geom.h:1185
Definition: hfv1_geom.h:1169
size_t to() const
Definition: hfv1_geom.h:1175
size_t m_to
Definition: hfv1_geom.h:1178
size_t m_from
Definition: hfv1_geom.h:1177
size_t from() const
Definition: hfv1_geom.h:1174
NewEdgeInfo()
Definition: hfv1_geom.h:1173
Traits for Finite Volumes for a generic element of the fixed dimensionalities.
Definition: fv_util.h:1325
Definition: fv_util.h:1472
void elem_type_3
Definition: fv_util.h:1477
void elem_type_2
Definition: fv_util.h:1476
void elem_type_0
Definition: fv_util.h:1474
void elem_type_4
Definition: fv_util.h:1478
void scv_type
Definition: fv_util.h:1473
static const size_t MaxNumCornersOfSCV
Definition: fv_util.h:1480
static const size_t NumCornersOfSCVF
Definition: fv_util.h:1479
void elem_type_1
Definition: fv_util.h:1475
Traits for hanging finite volume (dummy implementation)
Definition: fv_util.h:1356
void scv_type
Definition: fv_util.h:1362
traits for reference elements
Definition: reference_element_traits.h:48