ug4
ug::FV1CondensedGeometry< TElem, TWorldDim > Class Template Reference

Geometry and shape functions for 1st order Vertex-Centered Finite Volume. More...

#include <fv1_geom.h>

+ Inheritance diagram for ug::FV1CondensedGeometry< TElem, TWorldDim >:

Additional Inherited Members

- Public Types inherited from ug::FV1Geometry_gen< TElem, TWorldDim, true >
typedef TElem elem_type
 type of element More...
 
typedef LagrangeP1< ref_elem_typelocal_shape_fct_set_type
 type of Shape function used More...
 
typedef reference_element_traits< TElem >::reference_element_type ref_elem_type
 type of reference element More...
 
typedef traits::scv_type scv_type
 type of SubControlVolume More...
 
typedef fv1_traits< ref_elem_type, TWorldDim > traits
 used traits More...
 
- Public Member Functions inherited from ug::FV1Geometry_gen< TElem, TWorldDim, true >
void add_boundary_subset (int subsetIndex)
 add subset that is interpreted as boundary subset. More...
 
const std::vector< BF > & bf (int si) const
 returns reference to vector of boundary faces for subsetIndex More...
 
const BF & bf (int si, size_t i) const
 returns the boundary face i for subsetIndex More...
 
void clear_boundary_subsets ()
 reset all boundary subsets More...
 
const MathVector< worldDim > * coe_global () const
 returns the global coordinates of the center of mass of the element More...
 
const MathVector< dim > * coe_local () const
 returns the local coordinates of the center of mass of the element More...
 
const MathVector< worldDim > * corners () const
 get vector of the global coordinates of corners for current element More...
 
TElem * elem () const
 get the element More...
 
 FV1Geometry_gen ()
 construct object and initialize local values and sizes More...
 
const MathVector< worldDim > & global_node_position (size_t nodeID) const
 return global coords for node ID More...
 
const MathVector< dim > & local_node_position (size_t nodeID) const
 return local coords for node ID More...
 
size_t num_bf () const
 number of all boundary faces More...
 
size_t num_bf (int si) const
 number of boundary faces on subset 'subsetIndex' More...
 
size_t num_boundary_subsets ()
 number of registered boundary subsets More...
 
size_t num_scv () const
 number of SubControlVolumes More...
 
size_t num_scv_ips () const
 returns number of all scv ips More...
 
size_t num_scvf () const
 number of SubControlVolumeFaces More...
 
size_t num_scvf_ips () const
 returns number of all scvf ips More...
 
size_t num_sh () const
 number of shape functions More...
 
void remove_boundary_subset (int subsetIndex)
 removes subset that is interpreted as boundary subset. More...
 
void reset_curr_elem ()
 
ReferenceObjectID roid () const
 returns reference object id More...
 
const SCV & scv (size_t i) const
 const access to SubControlVolume number i More...
 
const MathVector< worldDim > * scv_global_ips () const
 returns all ips of scv as they appear in scv loop More...
 
const MathVector< dim > * scv_local_ips () const
 returns all ips of scv as they appear in scv loop More...
 
const SCVF & scvf (size_t i) const
 const access to SubControlVolumeFace number i More...
 
const MathVector< worldDim > * scvf_global_ips () const
 returns all ips of scvf as they appear in scv loop More...
 
const MathVector< dim > * scvf_local_ips () const
 returns all ips of scvf as they appear in scv loop More...
 
void update (GridObject *elem, const MathVector< worldDim > *vCornerCoords, const ISubsetHandler *ish=NULL)
 update data for given element More...
 
void update_boundary_faces (GridObject *elem, const MathVector< worldDim > *vCornerCoords, const ISubsetHandler *ish=NULL)
 update boundary data for given element More...
 
void update_local_data ()
 update local data More...
 
- Static Public Attributes inherited from ug::FV1Geometry_gen< TElem, TWorldDim, true >
static const bool condensed_scvf_ips
 whether the scheme shifts the scvf ip's to midpoints of the edges More...
 
static const int dim
 dimension of reference element More...
 
static const size_t nip
 number of integration points More...
 
static const size_t nsh
 number of shape functions More...
 
static const size_t numSCV
 number of SubControlVolumes More...
 
static const size_t numSCVF
 number of SubControlVolumeFaces More...
 
static const int order
 order More...
 
static const bool staticLocalData
 flag indicating if local data may change More...
 
static const bool usesHangingNodes
 Hanging node flag: this Geometry does not support hanging nodes. More...
 
static const int worldDim
 dimension of world More...
 
- Protected Attributes inherited from ug::FV1Geometry_gen< TElem, TWorldDim, true >
std::map< int, std::vector< BF > > m_mapVectorBF
 
std::vector< BF > m_vEmptyVectorBF
 
MathVector< worldDimm_vGlobSCV_IP [numSCV]
 
MathVector< worldDimm_vGlobSCVF_IP [numSCVF]
 
MathVector< dimm_vLocSCV_IP [numSCV]
 
MathVector< dimm_vLocSCVF_IP [numSCVF]
 

Detailed Description

template<typename TElem, int TWorldDim>
class ug::FV1CondensedGeometry< TElem, TWorldDim >

Geometry and shape functions for 1st order Vertex-Centered Finite Volume.

The class provides the geometry and shape functions for 1st order Vertex-Centered Finite Element Finite Volume method based on the Donald Diagrams.

This class shifts the subcontrol volume face integration points to the edges. This allows to reduce the matrix pattern and to avoid positive off-diagonal entries in some cases. (For ex., the discretization of the Laplacian on a grid of rectangles retains results in the 5-point stencil.) However note that, in many cases, this leads to the discretization order reduction.

Cf. class FV1Geometry_gen for the implementation.

Template Parameters
TElemElement type
TWorldDim(physical) world dimension

The documentation for this class was generated from the following file: