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__
122 template <
typename TElem,
int TWorldDim>
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
number vShape[nsh]
Definition: hfvcr_geom.h:277
size_t num_sh() const
number of shape functions
Definition: hfvcr_geom.h:225
const MathVector< worldDim > & global_ip() const
global integration point of scvf
Definition: hfvcr_geom.h:213
const MathVector< worldDim > & normal() const
normal on scvf (points direction "from"->"to"). Norm is equal to area
Definition: hfvcr_geom.h:216
static const size_t numCo
Number of corners of scvf.
Definition: hfvcr_geom.h:195
MathVector< worldDim > vGlobalGrad[nsh]
Definition: hfvcr_geom.h:279
const MathVector< worldDim > & global_corner(size_t co) const
return glbal corner number i
Definition: hfvcr_geom.h:255
const MathVector< dim > * local_grad_vector() const
vector of local gradients in ip point
Definition: hfvcr_geom.h:238
const MathVector< dim > & local_corner(size_t co) const
return local corner number i
Definition: hfvcr_geom.h:251
size_t to() const
index of SubControlVolume on one side of the scvf
Definition: hfvcr_geom.h:204
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
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
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
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
size_t num_ip() const
number of integration points on scvf
Definition: hfvcr_geom.h:207
const MathVector< worldDim > * global_grad_vector() const
vector of global gradients in ip point
Definition: hfvcr_geom.h:245
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
SCV()
Definition: hfvcr_geom.h:292
number detj
Definition: hfvcr_geom.h:380
const number * shape_vector() const
vector of shape functions in ip point
Definition: hfvcr_geom.h:336
number volume() const
volume of scv
Definition: hfvcr_geom.h:295
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_corner(size_t co) const
return local corner number i
Definition: hfvcr_geom.h:301
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
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
const MathMatrix< worldDim, dim > & JTInv() const
Transposed Inverse of Jacobian in integration point.
Definition: hfvcr_geom.h:324
MathVector< worldDim > vGlobalGrad[nsh]
Definition: hfvcr_geom.h:378
const MathVector< worldDim > & global_ip() const
global integration point
Definition: hfvcr_geom.h:318
const MathVector< worldDim > & global_corner(size_t co) const
return global corner number i
Definition: hfvcr_geom.h:305
size_t num_sh() const
number of shape functions
Definition: hfvcr_geom.h:330
const MathVector< dim > & local_ip() const
local integration point of scv
Definition: hfvcr_geom.h:315
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
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
const MathVector< worldDim > & normal() const
normal on scvf (points direction "from"->"to"). Norm is equal to area
Definition: hfvcr_geom.h:321
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
const MathVector< worldDim > * global_grad_vector() const
vector of global gradients in ip point
Definition: hfvcr_geom.h:350
MathVector< dim > vLocIP
Definition: hfvcr_geom.h:372
number detJ() const
Determinant of Jacobian in integration point.
Definition: hfvcr_geom.h:327
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
size_t nodeID
Definition: hfvcr_geom.h:360
MathVector< dim > vLocPos[maxNumCo]
Definition: hfvcr_geom.h:369
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
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
const SCVF & scvf(size_t i) const
const access to SubControlVolumeFace number i
Definition: hfvcr_geom.h:443
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
const MathVector< dim > * scv_local_ips() const
returns all ips of scv as they appear in scv loop
Definition: hfvcr_geom.h:477
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
std::vector< HandledEdge > handledEdges
Definition: hfvcr_geom.h:512
const MathVector< dim > local_bary() const
returns local barycenter
Definition: hfvcr_geom.h:483
const MathVector< worldDim > * scvf_global_ips() const
returns all ips of scvf as they appear in scv loop
Definition: hfvcr_geom.h:471
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 SCV & scv(size_t i) const
const access to SubControlVolume number i
Definition: hfvcr_geom.h:450
const MathVector< worldDim > global_bary() const
returns global barycenter
Definition: hfvcr_geom.h:486
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
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
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
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
const CONSTRAINED_DOF & constrained_dof(size_t i) const
const access to constrained dof i
Definition: hfvcr_geom.h:457
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 > * scvf_local_ips() const
returns all ips of scvf as they appear in scv loop
Definition: hfvcr_geom.h:468
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
const MathVector< worldDim > * scv_global_ips() const
returns all ips of scv as they appear in scv loop
Definition: hfvcr_geom.h:480
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
Definition: reference_element.h:345
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