ug4
|
Geometry and shape functions for 1st order Vertex-Centered Finite Volume. More...
#include <fv1_geom.h>
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_type > | local_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< worldDim > | m_vGlobSCV_IP [numSCV] |
MathVector< worldDim > | m_vGlobSCVF_IP [numSCVF] |
MathVector< dim > | m_vLocSCV_IP [numSCV] |
MathVector< dim > | m_vLocSCVF_IP [numSCVF] |
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.
TElem | Element type |
TWorldDim | (physical) world dimension |