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__
60template <
typename TElem,
int TWorldDim>
74 static const int dim = ref_elem_type::dim;
99 static const int dim = ref_elem_type::dim;
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);
497template <
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");
974template <
typename TElem,
int TWorldDim>
995 static const int dim = ref_elem_type::dim;
1102 const MathVector<worldDim>* corners() const {return m_gloMid[0];}
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
const MathVector< worldDim > * global_grad_vector() const
vector of global gradients in ip point
Definition hfv1_geom.h:607
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< worldDim > & normal() const
normal on scvf (points direction "from"->"to"). Norm is equal to area
Definition hfv1_geom.h:580
number detj
Definition hfv1_geom.h:642
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
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 > 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< dim > * local_grad_vector() const
vector of local gradients in ip point
Definition hfv1_geom.h:600
MathVector< worldDim > m_vGloPos[m_numCorners]
Definition hfv1_geom.h:629
size_t m_to
Definition hfv1_geom.h:623
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
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_ip() const
local integration point of scvf
Definition hfv1_geom.h:574
std::vector< MathVector< dim > > localGrad
Definition hfv1_geom.h:639
const MathVector< dim > & local_corner(size_t co) const
return local corner number i
Definition hfv1_geom.h:613
const MathMatrix< worldDim, dim > & JTInv() const
Transposed Inverse of Jacobian in integration point.
Definition hfv1_geom.h:583
static const int worldDim
dimension of world
Definition hfv1_geom.h:549
const MathVector< worldDim > & global_corner(size_t co) const
return glbal corner number i
Definition hfv1_geom.h:617
MathVector< worldDim > Normal
Definition hfv1_geom.h:635
static const size_t m_numIP
number of integration points
Definition hfv1_geom.h:556
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_ip() const
global integration point of scvf
Definition hfv1_geom.h:577
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
number volume() const
volume of scv
Definition hfv1_geom.h:676
size_t numSH
Definition hfv1_geom.h:729
MathMatrix< worldDim, dim > JtInv
Definition hfv1_geom.h:733
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
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
MathVector< dim > m_vLocPos[m_maxNumCorners]
Definition hfv1_geom.h:723
MidID m_midId[m_maxNumCorners]
Definition hfv1_geom.h:725
const MathVector< dim > & local_corner(size_t co) const
return local corner number i
Definition hfv1_geom.h:682
const number * shape_vector() const
vector of shape functions in ip point
Definition hfv1_geom.h:696
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 MathVector< dim > & local_ip() const
local integration point of scv
Definition hfv1_geom.h:670
MathVector< worldDim > m_vGloPos[m_maxNumCorners]
Definition hfv1_geom.h:724
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
const MathVector< worldDim > & global_ip() const
global integration point
Definition hfv1_geom.h:673
number vShape[m_maxNSH]
Definition hfv1_geom.h:730
const MathVector< worldDim > & global_corner(size_t co) const
return global corner number i
Definition hfv1_geom.h:686
size_t num_ip() const
number of integration points
Definition hfv1_geom.h:667
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
const MathVector< dim > * local_grad_vector() const
vector of local gradients in ip point
Definition hfv1_geom.h:703
traits::scv_type scv_type
type of element the subcontrol volume represents
Definition hfv1_geom.h:658
const MathVector< worldDim > * global_grad_vector() const
vector of global gradients in ip point
Definition hfv1_geom.h:710
number vol
Definition hfv1_geom.h:726
static const size_t m_numIP
number of integration points
Definition hfv1_geom.h:652
const MathMatrix< worldDim, dim > & JTInv() const
Transposed Inverse of Jacobian in integration point.
Definition hfv1_geom.h:713
size_t nodeId
Definition hfv1_geom.h:719
Definition hfv1_geom.h:498
std::vector< MathVector< worldDim > > m_gloMid[dim+1]
Definition hfv1_geom.h:950
const SCV & scv(size_t i) const
const access to SubControlVolume number i
Definition hfv1_geom.h:764
size_t num_sh() const
number of shape functions
Definition hfv1_geom.h:768
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
const SCVF & scvf(size_t i) const
const access to SubControlVolumeFace number i
Definition hfv1_geom.h:757
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
const MathVector< dim > * scvf_local_ips() const
returns all ips of scv as they appear in scv loop
Definition hfv1_geom.h:781
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
const MathVector< dim > * scv_local_ips() const
returns all ips of scv as they appear in scv loop
Definition hfv1_geom.h:790
traits::elem_type_1 elem_type_1
Definition hfv1_geom.h:527
std::vector< NewEdgeInfo > m_vNewEdgeInfo
Definition hfv1_geom.h:940
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
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
const MathVector< worldDim > * scv_global_ips() const
returns all ips of scv as they appear in scv loop
Definition hfv1_geom.h:787
hdimfv1_traits< TDim > traits
traits
Definition hfv1_geom.h:523
GridObject * m_pElem
pointer to current element
Definition hfv1_geom.h:944
dimension dependent base class for reference elements
Definition reference_element.h:183
virtual base class for reference mappings
Definition reference_mapping_provider.h:53
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
const MathVector< worldDim > & global_corner(size_t co) const
return glbal corner number i
Definition hfv1_geom.h:172
MathMatrix< worldDim, dim > JtInv
Definition hfv1_geom.h:196
number detJ() const
Determinante of Jacobian in integration point.
Definition hfv1_geom.h:141
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
const MathVector< worldDim > & normal() const
normal on scvf (points direction "from"->"to"). Norm is equal to area
Definition hfv1_geom.h:135
const MathMatrix< worldDim, dim > & JTInv() const
Transposed Inverse of Jacobian in integration point.
Definition hfv1_geom.h:138
size_t num_ip() const
number of integration points on scvf
Definition hfv1_geom.h:126
static const int worldDim
dimension of world
Definition hfv1_geom.h:102
MathVector< worldDim > m_vGloPos[m_numCorners]
Definition hfv1_geom.h:184
const MathVector< dim > & local_corner(size_t co) const
return local corner number i
Definition hfv1_geom.h:168
std::vector< MathVector< dim > > localGrad
Definition hfv1_geom.h:194
const MathVector< dim > & local_ip() const
local integration point of scvf
Definition hfv1_geom.h:129
MathVector< worldDim > globalIP
Definition hfv1_geom.h:189
size_t from() const
Definition hfv1_geom.h:119
std::vector< MathVector< worldDim > > globalGrad
Definition hfv1_geom.h:195
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
size_t m_from
Definition hfv1_geom.h:178
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
size_t to() const
Definition hfv1_geom.h:123
const MathVector< worldDim > & global_ip() const
global integration point of scvf
Definition hfv1_geom.h:132
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
size_t num_sh() const
number of shape functions
Definition hfv1_geom.h:144
const MathVector< dim > * local_grad_vector() const
vector of local gradients in ip point
Definition hfv1_geom.h:155
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
const MathVector< worldDim > * global_grad_vector() const
vector of global gradients in ip point
Definition hfv1_geom.h:162
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
SCVF()
Definition hfv1_geom.h:115
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_corner(size_t co) const
return global corner number i
Definition hfv1_geom.h:241
const MathVector< dim > & local_ip() const
local integration point of scv
Definition hfv1_geom.h:225
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
size_t num_ip() const
number of integration points
Definition hfv1_geom.h:222
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
const MathVector< dim > & local_corner(size_t co) const
return local corner number i
Definition hfv1_geom.h:237
SCV()
Definition hfv1_geom.h:216
static const size_t m_numIP
number of integration points
Definition hfv1_geom.h:207
number volume() const
volume of scv
Definition hfv1_geom.h:231
size_t nodeId
Definition hfv1_geom.h:245
hfv1_traits< ref_elem_type, TWorldDim >::scv_type scv_type
type of element the subcontrol volume represents
Definition hfv1_geom.h:213
Geometry and shape functions for 1st order Vertex-Centered Finite Volume with the hanging nodes.
Definition hfv1_geom.h:61
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
const MathVector< dim > & local_node_position(size_t nodeID) const
return local coords for node ID
Definition hfv1_geom.h:311
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 MathVector< worldDim > * scvf_global_ips() const
returns all ips of scv as they appear in scv loop
Definition hfv1_geom.h:296
const ref_elem_type & m_rRefElem
Definition hfv1_geom.h:494
std::vector< NatEdgeInfo > m_vNatEdgeInfo
Definition hfv1_geom.h:471
const MathVector< dim > * scv_local_ips() const
returns all ips of scv as they appear in scv loop
Definition hfv1_geom.h:308
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
const MathVector< dim > * scvf_local_ips() const
returns all ips of scv as they appear in scv loop
Definition hfv1_geom.h:299
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
const SCVF & scvf(size_t i) const
const access to SubControlVolumeFace number i
Definition hfv1_geom.h:275
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
const SCV & scv(size_t i) const
const access to SubControlVolume number i
Definition hfv1_geom.h:282
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
const MathVector< worldDim > * scv_global_ips() const
returns all ips of scv as they appear in scv loop
Definition hfv1_geom.h:305
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
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
const MathVector< worldDim > & global_node_position(size_t nodeID) const
return global coords for node ID
Definition hfv1_geom.h:318
GridObject * elem() const
get the element
Definition hfv1_geom.h:268
size_t get_child_edge_of_corner(size_t i, size_t co)
Definition hfv1_geom.h:428
static const size_t m_numNaturalSCVF
number of SubControlVolumeFaces
Definition hfv1_geom.h:70
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
BF()
Definition hfv1_geom.h:1032
static const size_t numCorners
Definition hfv1_geom.h:1029
const MathVector< worldDim > & global_corner(size_t i) const
return global position of corner number i
Definition hfv1_geom.h:1059
const MathVector< worldDim > & global_ip() const
global integration point of scvf
Definition hfv1_geom.h:1045
size_t node_id() const
node id that this bf is associated to
Definition hfv1_geom.h:1035
const MathVector< dim > & local_corner(size_t i) const
return local position of corner number i
Definition hfv1_geom.h:1055
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_ip() const
local integration point of scvf
Definition hfv1_geom.h:1041
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
static const int dim
Definition hfv1_geom.h:995
static const bool usesHangingNodes
Definition hfv1_geom.h:1004
const BF & bf(size_t i) const
const access to Boundary Face number i
Definition hfv1_geom.h:1108
void print()
print information about hfvg to log
Definition hfv1_geom.cpp:1848
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
const MathVector< dim > * bf_local_ips() const
returns all ips of scvf as they appear in scv loop
Definition hfv1_geom.h:1118
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
hfv1_traits< ref_elem_type, dim >::scv_type bf_type
Definition hfv1_geom.h:1001
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
const MathVector< worldDim > * bf_global_ips() const
returns all ips of scvf as they appear in scv loop
Definition hfv1_geom.h:1112
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
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
A class for fixed size, dense matrices.
Definition math_matrix.h:63
a mathematical Vector with N entries.
Definition math_vector.h:97
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
Definition reference_mapping.h:65
#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:537
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:90
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:1014
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
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