37#ifndef __H__UG__LIB_DISC__SPATIAL_DISC__DISC_HELPER__HANGING_CR_FINITE_VOLUME_GEOMETRY__
38#define __H__UG__LIB_DISC__SPATIAL_DISC__DISC_HELPER__HANGING_CR_FINITE_VOLUME_GEOMETRY__
122template <
typename TElem,
int TWorldDim>
133 static const int dim = ref_elem_type::dim;
148 static const size_t nsh = local_shape_fct_set_type::nsh;
174 static const size_t nip = 1;
204 inline size_t to()
const {
return To;}
Lagrange Shape Function Set without virtual functions and fixed order.
Definition crouzeix_raviart.h:92
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 hfvcr_geom.h:384
size_t index() const
Definition hfvcr_geom.h:393
size_t cDofInd[maxNumConstrainingDofs]
Definition hfvcr_geom.h:404
size_t i
Definition hfvcr_geom.h:408
size_t num_constraining_dofs() const
Definition hfvcr_geom.h:396
number cDofWeights[maxNumConstrainingDofs]
Definition hfvcr_geom.h:406
size_t constraining_dofs_index(size_t i) const
Definition hfvcr_geom.h:387
number constraining_dofs_weight(size_t i) const
Definition hfvcr_geom.h:390
size_t numConstrainingDofs
Definition hfvcr_geom.h:410
static const size_t maxNumConstrainingDofs
Definition hfvcr_geom.h:386
Definition hfvcr_geom.h:414
bool from
Definition hfvcr_geom.h:420
size_t scvfIndex
Definition hfvcr_geom.h:418
size_t index
Definition hfvcr_geom.h:416
size_t associatedSCV[2]
Definition hfvcr_geom.h:417
Sub-Control Volume Face structure.
Definition hfvcr_geom.h:192
size_t from() const
index of SubControlVolume on one side of the scvf
Definition hfvcr_geom.h:201
size_t num_corners() const
number of corners, that bound the scvf
Definition hfvcr_geom.h:248
MathVector< dim > vLocPos[numCo]
Definition hfvcr_geom.h:269
const MathMatrix< worldDim, dim > & JTInv() const
Transposed Inverse of Jacobian in integration point.
Definition hfvcr_geom.h:219
size_t From
Definition hfvcr_geom.h:264
const number * shape_vector() const
vector of shape functions in ip point
Definition hfvcr_geom.h:231
const MathVector< dim > & local_grad(size_t sh) const
value of local gradient of shape function i in integration point
Definition hfvcr_geom.h:234
const MathVector< worldDim > & global_grad(size_t sh) const
value of global gradient of shape function i in integration point
Definition hfvcr_geom.h:241
const MathVector< worldDim > & global_corner(size_t co) const
return glbal corner number i
Definition hfvcr_geom.h:255
number vShape[nsh]
Definition hfvcr_geom.h:277
size_t num_sh() const
number of shape functions
Definition hfvcr_geom.h:225
static const size_t numCo
Number of corners of scvf.
Definition hfvcr_geom.h:195
const MathVector< worldDim > * global_grad_vector() const
vector of global gradients in ip point
Definition hfvcr_geom.h:245
MathVector< worldDim > vGlobalGrad[nsh]
Definition hfvcr_geom.h:279
size_t to() const
index of SubControlVolume on one side of the scvf
Definition hfvcr_geom.h:204
const MathVector< worldDim > & normal() const
normal on scvf (points direction "from"->"to"). Norm is equal to area
Definition hfvcr_geom.h:216
const MathVector< dim > * local_grad_vector() const
vector of local gradients in ip point
Definition hfvcr_geom.h:238
MathVector< worldDim > Normal
Definition hfvcr_geom.h:267
const MathVector< dim > & local_ip() const
local integration point of scvf
Definition hfvcr_geom.h:210
SCVF()
Definition hfvcr_geom.h:198
MathVector< dim > vLocalGrad[nsh]
Definition hfvcr_geom.h:278
size_t To
Definition hfvcr_geom.h:264
number detj
Definition hfvcr_geom.h:281
MathVector< worldDim > vGloPos[numCo]
Definition hfvcr_geom.h:270
number shape(size_t sh) const
value of shape function i in integration point
Definition hfvcr_geom.h:228
number detJ() const
Determinant of Jacobian in integration point.
Definition hfvcr_geom.h:222
const MathVector< dim > & local_corner(size_t co) const
return local corner number i
Definition hfvcr_geom.h:251
size_t num_ip() const
number of integration points on scvf
Definition hfvcr_geom.h:207
const MathVector< worldDim > & global_ip() const
global integration point of scvf
Definition hfvcr_geom.h:213
MathVector< dim > localIP
Definition hfvcr_geom.h:273
MathVector< worldDim > globalIP
Definition hfvcr_geom.h:274
MathMatrix< worldDim, dim > JtInv
Definition hfvcr_geom.h:280
sub control volume structure
Definition hfvcr_geom.h:286
const MathMatrix< worldDim, dim > & JTInv() const
Transposed Inverse of Jacobian in integration point.
Definition hfvcr_geom.h:324
const MathVector< worldDim > & global_ip() const
global integration point
Definition hfvcr_geom.h:318
SCV()
Definition hfvcr_geom.h:292
const MathVector< dim > & local_corner(size_t co) const
return local corner number i
Definition hfvcr_geom.h:301
const number * shape_vector() const
vector of shape functions in ip point
Definition hfvcr_geom.h:336
const MathVector< worldDim > * global_grad_vector() const
vector of global gradients in ip point
Definition hfvcr_geom.h:350
number detj
Definition hfvcr_geom.h:380
number volume() const
volume of scv
Definition hfvcr_geom.h:295
const MathVector< dim > & local_grad(size_t sh) const
value of local gradient of shape function i in integration point
Definition hfvcr_geom.h:339
size_t num_ip() const
number of integration points
Definition hfvcr_geom.h:312
size_t node_id() const
node id that this scv is associated to
Definition hfvcr_geom.h:309
const MathVector< dim > & local_ip() const
local integration point of scv
Definition hfvcr_geom.h:315
int numCorners
Definition hfvcr_geom.h:366
const MathVector< dim > * local_grad_vector() const
vector of local gradients in ip point
Definition hfvcr_geom.h:343
MathVector< worldDim > vGlobalGrad[nsh]
Definition hfvcr_geom.h:378
size_t num_sh() const
number of shape functions
Definition hfvcr_geom.h:330
MathMatrix< worldDim, dim > JtInv
Definition hfvcr_geom.h:379
number shape(size_t sh) const
value of shape function i in integration point
Definition hfvcr_geom.h:333
const MathVector< worldDim > & normal() const
normal on scvf (points direction "from"->"to"). Norm is equal to area
Definition hfvcr_geom.h:321
static const size_t maxNumCo
Number of corners of scv.
Definition hfvcr_geom.h:289
number Vol
Definition hfvcr_geom.h:363
MathVector< worldDim > vGlobIP
Definition hfvcr_geom.h:373
size_t num_corners() const
number of corners, that bound the scvf
Definition hfvcr_geom.h:298
MathVector< worldDim > Normal
Definition hfvcr_geom.h:357
number vShape[nsh]
Definition hfvcr_geom.h:376
MathVector< worldDim > vGloPos[maxNumCo]
Definition hfvcr_geom.h:370
MathVector< dim > vLocalGrad[nsh]
Definition hfvcr_geom.h:377
MathVector< dim > vLocIP
Definition hfvcr_geom.h:372
number detJ() const
Determinant of Jacobian in integration point.
Definition hfvcr_geom.h:327
size_t nodeID
Definition hfvcr_geom.h:360
const MathVector< worldDim > & global_grad(size_t sh) const
value of global gradient of shape function i in integration point
Definition hfvcr_geom.h:346
MathVector< dim > vLocPos[maxNumCo]
Definition hfvcr_geom.h:369
const MathVector< worldDim > & global_corner(size_t co) const
return global corner number i
Definition hfvcr_geom.h:305
Definition hfvcr_geom.h:124
ReferenceMapping< ref_elem_type, worldDim > m_mapping
Reference Mapping.
Definition hfvcr_geom.h:518
SCV m_vSCV[maxNumSCV]
SubControlVolumes.
Definition hfvcr_geom.h:507
const MathVector< worldDim > * corners() const
Definition hfvcr_geom.h:437
const SCVF & scvf(size_t i) const
const access to SubControlVolumeFace number i
Definition hfvcr_geom.h:443
MathVector< dim > m_vLocSCVF_IP[maxNumSCVF]
Definition hfvcr_geom.h:491
reference_element_traits< TElem >::reference_element_type ref_elem_type
type of reference element
Definition hfvcr_geom.h:130
MathVector< worldDim > globalBary
Definition hfvcr_geom.h:178
hcrfv_traits< TWorldDim, TWorldDim+1 >::scv_type scv_type1
Definition hfvcr_geom.h:170
void update_local_data()
update local data
Definition hfvcr_geom.cpp:63
size_t num_scv() const
number of SubControlVolumes
Definition hfvcr_geom.h:447
static const size_t nip
number of integration points
Definition hfvcr_geom.h:174
size_t num_scvf() const
number of SubControlVolumeFaces
Definition hfvcr_geom.h:440
MathVector< dim > m_vLocUnkCoords[maxNumSCV]
Definition hfvcr_geom.h:494
MathVector< worldDim > m_vCo[numMaxCo]
Definition hfvcr_geom.h:498
const MathVector< worldDim > global_bary() const
returns global barycenter
Definition hfvcr_geom.h:486
std::vector< HandledEdge > handledEdges
Definition hfvcr_geom.h:512
void update(GridObject *elem, const MathVector< worldDim > *vCornerCoords, const ISubsetHandler *ish=NULL)
update data for given element
Definition hfvcr_geom.cpp:138
static const size_t numMaxCo
Definition hfvcr_geom.h:496
static const int worldDim
dimension of world
Definition hfvcr_geom.h:136
const CONSTRAINED_DOF & constrained_dof(size_t i) const
const access to constrained dof i
Definition hfvcr_geom.h:457
const SCV & scv(size_t i) const
const access to SubControlVolume number i
Definition hfvcr_geom.h:450
static const int order
order
Definition hfvcr_geom.h:165
static const size_t deleted
Definition hfvcr_geom.h:534
static const size_t nsh
number of shape functions
Definition hfvcr_geom.h:148
HCRFVGeometry()
construct object and initialize local values and sizes
Definition hfvcr_geom.cpp:54
size_t num_sh() const
number of shape functions
Definition hfvcr_geom.h:461
size_t numConstrainedDofs
Definition hfvcr_geom.h:528
MathVector< dim > m_ipCoord[maxNumSCVF]
Definition hfvcr_geom.h:501
SCVF m_vSCVF[maxNumSCVF]
SubControlVolumeFaces.
Definition hfvcr_geom.h:504
const MathVector< dim > * scvf_local_ips() const
returns all ips of scvf as they appear in scv loop
Definition hfvcr_geom.h:468
size_t num_scvf_ips() const
returns number of all scvf ips
Definition hfvcr_geom.h:465
size_t num_scv_ips() const
returns number of all scv ips
Definition hfvcr_geom.h:474
MathVector< worldDim > m_vGlobSCVF_IP[maxNumSCVF]
Definition hfvcr_geom.h:490
void print()
debug output
Definition hfvcr_geom.cpp:560
size_t numSCV
Definition hfvcr_geom.h:526
const MathVector< worldDim > * scvf_global_ips() const
returns all ips of scvf as they appear in scv loop
Definition hfvcr_geom.h:471
TElem * m_pElem
pointer to current element
Definition hfvcr_geom.h:515
hcrfv_traits< TWorldDim, TWorldDim >::face_type face_type0
Definition hfvcr_geom.h:169
const MathVector< dim > * scv_local_ips() const
returns all ips of scv as they appear in scv loop
Definition hfvcr_geom.h:477
hcrfv_traits< TWorldDim, TWorldDim >::scv_type scv_type0
traits
Definition hfvcr_geom.h:168
CONSTRAINED_DOF m_vCD[maxNumSCV]
constrained Dofs
Definition hfvcr_geom.h:510
static const size_t maxNumSCVF
Definition hfvcr_geom.h:161
static const size_t numNaturalSCVF
number of SubControlVolumeFaces
Definition hfvcr_geom.h:154
size_t num_constrained_dofs() const
number of constrained dofs
Definition hfvcr_geom.h:454
static const int dim
dimension of reference element
Definition hfvcr_geom.h:133
hcrfv_traits< dim, worldDim > traits
used traits
Definition hfvcr_geom.h:157
const local_shape_fct_set_type & m_rTrialSpace
Shape function set.
Definition hfvcr_geom.h:524
const MathVector< dim > local_bary() const
returns local barycenter
Definition hfvcr_geom.h:483
const MathVector< worldDim > * scv_global_ips() const
returns all ips of scv as they appear in scv loop
Definition hfvcr_geom.h:480
static const size_t numNaturalSCV
number of SubControlVolumes
Definition hfvcr_geom.h:151
size_t numDofs
Definition hfvcr_geom.h:530
size_t numSCVF
Definition hfvcr_geom.h:527
MathVector< worldDim > m_vGlobUnkCoords[maxNumSCV]
Definition hfvcr_geom.h:493
const ref_elem_type & m_rRefElem
Reference Element.
Definition hfvcr_geom.h:521
hcrfv_traits< TWorldDim, TWorldDim+1 >::face_type face_type1
Definition hfvcr_geom.h:171
static const bool usesHangingNodes
Hanging node flag: this geometry supports hanging nodes.
Definition hfvcr_geom.h:139
CrouzeixRaviartLSFS< ref_elem_type > local_shape_fct_set_type
type of Shape function used
Definition hfvcr_geom.h:145
bool localUpdateNecessary
Definition hfvcr_geom.h:532
TElem elem_type
type of element
Definition hfvcr_geom.h:127
MathVector< dim > localBary
Definition hfvcr_geom.h:177
static const size_t maxNumSCV
Definition hfvcr_geom.h:159
static const bool staticLocalData
flag indicating if local data may change
Definition hfvcr_geom.h:142
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
Definition reference_element.h:345
Definition reference_mapping.h:65
Definition reference_element.h:546
Definition reference_element.h:445
Definition reference_element.h:494
Definition reference_element.h:394
#define UG_ASSERT(expr, msg)
Definition assert.h:70
double number
Definition types.h:124
ReferenceTriangle scv_type
Definition hfvcr_geom.h:78
ReferenceEdge face_type
Definition hfvcr_geom.h:79
ReferenceTriangle scv_type
Definition hfvcr_geom.h:88
ReferenceEdge face_type
Definition hfvcr_geom.h:89
ReferenceTriangle face_type
Definition hfvcr_geom.h:99
ReferenceTetrahedron scv_type
Definition hfvcr_geom.h:98
ReferenceQuadrilateral face_type
Definition hfvcr_geom.h:109
ReferencePyramid scv_type
Definition hfvcr_geom.h:108
Definition hfvcr_geom.h:67
static const size_t maxNumSCVF
Definition hfvcr_geom.h:70
static const size_t maxNumSCV
Definition hfvcr_geom.h:71
static const size_t maxNSH
Definition hfvcr_geom.h:72
void scv_type
Definition hfvcr_geom.h:68
static const size_t maxNumCo
Definition hfvcr_geom.h:73
void face_type
Definition hfvcr_geom.h:69
traits for reference elements
Definition reference_element_traits.h:48