ug4
|
#include <dof_distribution.h>
Classes | |
struct | dim_traits |
struct | traits |
Public Member Functions | |
template<typename TBaseElem > | |
void | collect_associated (std::vector< TBaseElem * > &vAssElem, GridObject *elem, bool clearContainer=true) const |
template<typename TElem , typename TBaseElem > | |
void | collect_associated (std::vector< TBaseElem * > &vAssElem, TElem *elem, bool clearContainer=true) const |
returns the adjacent elements | |
void | copy_values (const std::vector< std::pair< size_t, size_t > > &vIndexMap, bool bDisjunct) |
swaps values in managed functions, if indices swapped | |
SurfaceView::SurfaceConstants | defaultValidSurfState () const |
returns the default valid surface state | |
DoFCount | dof_count () const |
DoFDistribution (SmartPtr< MultiGrid > spMG, SmartPtr< MGSubsetHandler > spMGSH, ConstSmartPtr< DoFDistributionInfo > spDDInfo, SmartPtr< SurfaceView > spSurfView, const GridLevel &level, bool bGrouped, SmartPtr< DoFIndexStorage > spDoFIndexStorage=SPNULL) | |
constructor | |
void | get_connections (std::vector< std::vector< size_t > > &vvConnection) const |
returns the connections | |
template<typename TBaseElem > | |
void | get_connections (std::vector< std::vector< size_t > > &vvConnection) const |
const GridLevel & | grid_level () const |
returns grid level | |
bool | grouped () const |
returns if dofs are grouped | |
size_t | inner_algebra_indices_for_fct (GridObject *elem, std::vector< size_t > &ind, bool bClear, int fct) const |
template<class TGeomObj > | |
bool | is_contained (TGeomObj *obj) const |
returns if the grid object is part of the dof distribution | |
void | manage_grid_function (IGridFunction &gridFct) |
registers a grid function for adaptation management | |
size_t | num_indices () const |
return the number of dofs distributed | |
size_t | num_indices (int si) const |
return the number of dofs distributed on subset si | |
void | permute_indices (const std::vector< size_t > &vIndNew) |
renames the indices | |
void | permute_values (const std::vector< size_t > &vIndNew) |
permutes values in managed functions, if indices permuted | |
void | reinit () |
initializes the indices | |
void | resize_values (size_t newSize) |
changes values in managed functions, number of indices changed | |
ConstSmartPtr< SurfaceView > | surface_view () const |
returns the surface view | |
void | unmanage_grid_function (IGridFunction &gridFct) |
unregisters a grid function for adaptation management | |
~DoFDistribution () | |
destructor | |
SmartPtr< MultiGrid > | multi_grid () |
ConstSmartPtr< MultiGrid > | multi_grid () const |
template<typename TElem > | |
traits< TElem >::iterator | begin () |
template<typename TElem > | |
traits< TElem >::iterator | begin (SurfaceView::SurfaceConstants validStates) |
template<typename TElem > | |
traits< TElem >::iterator | end () |
template<typename TElem > | |
traits< TElem >::iterator | end (SurfaceView::SurfaceConstants validStates) |
template<typename TElem > | |
traits< TElem >::const_iterator | begin () const |
template<typename TElem > | |
traits< TElem >::const_iterator | begin (SurfaceView::SurfaceConstants validStates) const |
template<typename TElem > | |
traits< TElem >::const_iterator | end () const |
template<typename TElem > | |
traits< TElem >::const_iterator | end (SurfaceView::SurfaceConstants validStates) const |
template<typename TElem > | |
traits< TElem >::iterator | begin (int si) |
template<typename TElem > | |
traits< TElem >::iterator | begin (int si, SurfaceView::SurfaceConstants validStates) |
template<typename TElem > | |
traits< TElem >::iterator | end (int si) |
template<typename TElem > | |
traits< TElem >::iterator | end (int si, SurfaceView::SurfaceConstants validStates) |
template<typename TElem > | |
traits< TElem >::const_iterator | begin (int si) const |
template<typename TElem > | |
traits< TElem >::const_iterator | begin (int si, SurfaceView::SurfaceConstants validStates) const |
template<typename TElem > | |
traits< TElem >::const_iterator | end (int si) const |
template<typename TElem > | |
traits< TElem >::const_iterator | end (int si, SurfaceView::SurfaceConstants validStates) const |
void | indices (GridObject *elem, LocalIndices &ind, bool bHang=false) const |
extracts all indices of the element (sorted) | |
void | indices (Vertex *elem, LocalIndices &ind, bool bHang=false) const |
extracts all indices of the element (sorted) | |
void | indices (Edge *elem, LocalIndices &ind, bool bHang=false) const |
extracts all indices of the element (sorted) | |
void | indices (Face *elem, LocalIndices &ind, bool bHang=false) const |
extracts all indices of the element (sorted) | |
void | indices (Volume *elem, LocalIndices &ind, bool bHang=false) const |
extracts all indices of the element (sorted) | |
size_t | dof_indices (GridObject *elem, size_t fct, std::vector< DoFIndex > &ind, bool bHang=false, bool bClear=true) const |
extracts all multiindices for a function (sorted) | |
size_t | dof_indices (Vertex *elem, size_t fct, std::vector< DoFIndex > &ind, bool bHang=false, bool bClear=true) const |
extracts all multiindices for a function (sorted) | |
size_t | dof_indices (Edge *elem, size_t fct, std::vector< DoFIndex > &ind, bool bHang=false, bool bClear=true) const |
extracts all multiindices for a function (sorted) | |
size_t | dof_indices (Face *elem, size_t fct, std::vector< DoFIndex > &ind, bool bHang=false, bool bClear=true) const |
extracts all multiindices for a function (sorted) | |
size_t | dof_indices (Volume *elem, size_t fct, std::vector< DoFIndex > &ind, bool bHang=false, bool bClear=true) const |
extracts all multiindices for a function (sorted) | |
size_t | inner_dof_indices (GridObject *elem, size_t fct, std::vector< DoFIndex > &ind, bool bClear=true) const |
extracts all multiindices of a function in the inner (sorted) | |
size_t | inner_dof_indices (Vertex *elem, size_t fct, std::vector< DoFIndex > &ind, bool bClear=true) const |
extracts all multiindices of a function in the inner (sorted) | |
size_t | inner_dof_indices (Edge *elem, size_t fct, std::vector< DoFIndex > &ind, bool bClear=true) const |
extracts all multiindices of a function in the inner (sorted) | |
size_t | inner_dof_indices (Face *elem, size_t fct, std::vector< DoFIndex > &ind, bool bClear=true) const |
extracts all multiindices of a function in the inner (sorted) | |
size_t | inner_dof_indices (Volume *elem, size_t fct, std::vector< DoFIndex > &ind, bool bClear=true) const |
extracts all multiindices of a function in the inner (sorted) | |
size_t | algebra_indices (GridObject *elem, std::vector< size_t > &ind, bool bClear=true) const |
extracts all algebra indices of an element (not sorted) | |
size_t | algebra_indices (Vertex *elem, std::vector< size_t > &ind, bool bClear=true) const |
extracts all algebra indices of an element (not sorted) | |
size_t | algebra_indices (Edge *elem, std::vector< size_t > &ind, bool bClear=true) const |
extracts all algebra indices of an element (not sorted) | |
size_t | algebra_indices (Face *elem, std::vector< size_t > &ind, bool bClear=true) const |
extracts all algebra indices of an element (not sorted) | |
size_t | algebra_indices (Volume *elem, std::vector< size_t > &ind, bool bClear=true) const |
extracts all algebra indices of an element (not sorted) | |
size_t | inner_algebra_indices (GridObject *elem, std::vector< size_t > &ind, bool bClear=true) const |
extracts all algebra indices in the inner of the element (not sorted) | |
size_t | inner_algebra_indices (Vertex *elem, std::vector< size_t > &ind, bool bClear=true) const |
extracts all algebra indices in the inner of the element (not sorted) | |
size_t | inner_algebra_indices (Edge *elem, std::vector< size_t > &ind, bool bClear=true) const |
extracts all algebra indices in the inner of the element (not sorted) | |
size_t | inner_algebra_indices (Face *elem, std::vector< size_t > &ind, bool bClear=true) const |
extracts all algebra indices in the inner of the element (not sorted) | |
size_t | inner_algebra_indices (Volume *elem, std::vector< size_t > &ind, bool bClear=true) const |
extracts all algebra indices in the inner of the element (not sorted) | |
ConstSmartPtr< AlgebraLayouts > | layouts () const |
SmartPtr< AlgebraLayouts > | layouts () |
![]() | |
SubsetGroup | all_subsets_grp_except_for (const char *names) const |
returns subset group of all the subsets except for (by name) | |
int | dim (size_t fct) const |
returns the dimension in which solution lives | |
int | dim_subset (int si) const |
returns dimension of subset | |
ConstSmartPtr< DoFDistributionInfo > | dof_distribution_info () const |
returns underlying info | |
DoFDistributionInfoProvider () | |
constructor | |
DoFDistributionInfoProvider (ConstSmartPtr< DoFDistributionInfo > spDDI) | |
constructor | |
FunctionGroup | fct_grp_by_name (const char *names) const |
returns a function group to a string of functions | |
size_t | fct_id_by_name (const char *name) const |
returns fct id by name | |
ConstSmartPtr< FunctionPattern > | function_pattern () const |
returns the function pattern | |
bool | is_def_everywhere (size_t fct) const |
returns true if the discrete function nr_fct is defined everywhere | |
bool | is_def_in_subset (size_t fct, int si) const |
returns if a function is defined on a subset | |
size_t | max_dofs (const GridBaseObjectId gbo) const |
returns the maximum number of dofs on a grid base object type | |
size_t | max_dofs (const GridBaseObjectId gbo, const int si) const |
returns the maximum number of dofs on a grid base object on a subset | |
size_t | max_dofs (const int dim) const |
returns the maximum number of dofs on grid objects in a dimension | |
size_t | max_dofs (const int dim, const int si) const |
returns the maximum number of dofs in a dimension on a subset | |
size_t | max_dofs (const ReferenceObjectID roid) const |
returns the maximum number of dofs on reference object type | |
size_t | max_fct_dofs (const size_t fct, const GridBaseObjectId gbo) const |
returns the maximal number of dofs on a base object type for a function component | |
size_t | max_fct_dofs (const size_t fct, const GridBaseObjectId gbo, const int si) const |
returns the maximum number of dofs on a grid base object on a subset for a function component | |
size_t | max_fct_dofs (const size_t fct, const int dim, const int si) const |
returns the maximum number of dofs in a dimension on a subset for a function component | |
size_t | max_fct_dofs (const size_t fct, const ReferenceObjectID roid) const |
returns the number of dofs on a reference object for a function component | |
size_t | max_fct_dofs (const size_t fct, int dim) const |
returns the maximal number of dofs on a dimension for a function component | |
std::string | name (size_t fct) const |
returns the name of the discrete function nr_fct | |
std::vector< std::string > | names () const |
returns the names of the discrete functions | |
size_t | num_dofs (const ReferenceObjectID roid, const int si) const |
returns the number of dofs on a Reference Object on a subset | |
size_t | num_fct () const |
number of discrete functions on subset si | |
size_t | num_fct (int si) const |
number of discrete functions on subset si | |
size_t | num_fct_dofs (const size_t fct, const ReferenceObjectID roid, const int si) const |
returns the number of dofs on a Reference Object on a subset for a function component | |
int | num_subsets () const |
returns number of subsets | |
size_t | offset (const ReferenceObjectID roid, const int si, const size_t fct) const |
returns the offset for reference element, subset and function | |
void | print_local_dof_statistic () const |
prints statistic on local dof distribution | |
void | print_local_dof_statistic (int verboseLev) const |
prints informations | |
void | set_dof_distribution_info (ConstSmartPtr< DoFDistributionInfo > spDDI) |
sets the dd info | |
SubsetGroup | subset_grp_by_name (const char *names) const |
returns subset group by name | |
ConstSmartPtr< ISubsetHandler > | subset_handler () const |
returns the subset handler | |
int | subset_id_by_name (const char *name) const |
returns the subset id | |
std::string | subset_name (int si) const |
returns subset name | |
const LFEID & | local_finite_element_id (size_t fct) const |
const LFEID & | lfeid (size_t fct) const |
Protected Member Functions | |
template<typename TBaseElem > | |
size_t | _algebra_indices (TBaseElem *elem, std::vector< size_t > &ind, bool bClear=true) const |
template<typename TBaseElem > | |
size_t | _dof_indices (TBaseElem *elem, size_t fct, std::vector< DoFIndex > &ind, bool bHang=false, bool bClear=true) const |
template<typename TBaseElem > | |
void | _indices (TBaseElem *elem, LocalIndices &ind, bool bHang=false) const |
template<typename TBaseElem > | |
size_t | _inner_algebra_indices (TBaseElem *elem, std::vector< size_t > &ind, bool bClear=true) const |
template<typename TBaseElem > | |
size_t | _inner_dof_indices (TBaseElem *elem, size_t fct, std::vector< DoFIndex > &ind, bool bClear=true) const |
template<typename TBaseObject > | |
void | add (TBaseObject *obj, const ReferenceObjectID roid, const int si) |
adds indices to a geometric object | |
template<typename TBaseElem > | |
void | add_indices_from_layouts (IndexLayout &indexLayout, int keyType) |
template<typename TBaseElem > | |
void | changable_indices (std::vector< size_t > &vIndex, const std::vector< TBaseElem * > &vElem) const |
returns indices, that can be changed on the element | |
void | check_subsets () |
checks that subset assignment is ok | |
template<typename TBaseElem , typename TConstraining , typename TConstrained , typename TSubElem > | |
void | constrained_edge_dof_indices (TBaseElem *elem, size_t fct, std::vector< DoFIndex > &ind, const typename Grid::traits< TSubElem >::secure_container &vSubElem) const |
multi indices on constrained edges | |
template<typename TBaseElem , typename TConstraining , typename TConstrained , typename TSubElem > | |
void | constrained_edge_indices (TBaseElem *elem, LocalIndices &ind, const typename Grid::traits< TSubElem >::secure_container &vSubElem) const |
template<typename TBaseElem , typename TConstraining , typename TConstrained , typename TSubElem > | |
void | constrained_face_dof_indices (TBaseElem *elem, size_t fct, std::vector< DoFIndex > &ind, const typename Grid::traits< TSubElem >::secure_container &vSubElem) const |
multi indices on constrained faces | |
template<typename TBaseElem , typename TConstraining , typename TConstrained , typename TSubElem > | |
void | constrained_face_indices (TBaseElem *elem, LocalIndices &ind, const typename Grid::traits< TSubElem >::secure_container &vSubElem) const |
template<typename TConstraining , typename TConstrained , typename TBaseElem > | |
void | constrained_vertex_dof_indices (size_t fct, std::vector< DoFIndex > &ind, const typename Grid::traits< TBaseElem >::secure_container &vSubElem) const |
multi indices on constrained vertices | |
template<typename TConstraining , typename TConstrained , typename TBaseElem > | |
void | constrained_vertex_indices (LocalIndices &ind, const typename Grid::traits< TBaseElem >::secure_container &vSubElem) const |
extract dofs on constrained objects | |
template<typename TBaseElem , typename TSubBaseElem > | |
void | dof_indices (TBaseElem *elem, const ReferenceObjectID roid, size_t fct, std::vector< DoFIndex > &ind, const typename Grid::traits< TSubBaseElem >::secure_container &vElem) const |
extracts the indices of a subelement of an element | |
template<typename TBaseElem > | |
void | extract_inner_algebra_indices (const typename Grid::traits< TBaseElem >::secure_container &vElem, std::vector< size_t > &ind) const |
adds all algebra indices of a set of geometric objects | |
template<typename TBaseElem > | |
size_t | extract_inner_algebra_indices (TBaseElem *elem, std::vector< size_t > &ind) const |
adds all algebra indices of an geom object to the LocalIndices | |
template<typename TBaseElem , typename TSubBaseElem > | |
void | indices (TBaseElem *elem, const ReferenceObjectID roid, LocalIndices &ind, const typename Grid::traits< TSubBaseElem >::secure_container &vElem) const |
extracts the indices of the subelement of an element | |
template<typename TBaseElem > | |
void | indices_on_vertex (TBaseElem *elem, const ReferenceObjectID roid, LocalIndices &ind, const Grid::SecureVertexContainer &vElem) const |
extracts the indices of the vertices | |
template<typename TBaseElem > | |
void | permute_indices (const std::vector< size_t > &vNewInd) |
template<typename TBaseElem > | |
void | reinit () |
initializes the indices | |
void | reinit_index_layout (IndexLayout &layout, int keyType) |
void | reinit_layouts_and_communicator () |
template<typename TBaseElem , typename TConstraining , typename TConstrained > | |
void | sort_constrained_edges (std::vector< size_t > &sortedInd, TBaseElem *elem, TConstraining *constrainingObj, size_t objIndex) const |
template<typename TBaseElem , typename TConstraining , typename TConstrained > | |
void | sort_constrained_faces (std::vector< size_t > &sortedInd, TBaseElem *elem, TConstraining *constrainingObj, size_t objIndex) const |
template<typename TBaseElem > | |
void | sum_dof_count (DoFCount &cnt) const |
template<typename TElem > | |
size_t & | obj_index (TElem *obj) |
template<typename TElem > | |
const size_t & | obj_index (TElem *obj) const |
Protected Attributes | |
bool | m_bGrouped |
grouping | |
GridLevel | m_gridLevel |
Grid level. | |
size_t | m_numIndex |
number of distributed indices on whole domain | |
MultiGrid * | m_pMG |
SmartPtr< AlgebraLayouts > | m_spAlgebraLayouts |
algebra layouts | |
SmartPtr< DoFIndexStorage > | m_spDoFIndexStorage |
DoF-Index Memory Storage. | |
SmartPtr< MultiGrid > | m_spMG |
Multi Grid. | |
SmartPtr< MGSubsetHandler > | m_spMGSH |
Subset Handler. | |
SmartPtr< SurfaceView > | m_spSurfView |
MultiGrid Subset Handler. | |
std::vector< size_t > | m_vNumIndexOnSubset |
number of distributed indices on each subset | |
std::vector< IGridFunction * > | m_vpGridFunction |
managed grid functions | |
![]() | |
ConstSmartPtr< DoFDistributionInfo > | m_spDDI |
Function Pattern. | |
ug::DoFDistribution::DoFDistribution | ( | SmartPtr< MultiGrid > | spMG, |
SmartPtr< MGSubsetHandler > | spMGSH, | ||
ConstSmartPtr< DoFDistributionInfo > | spDDInfo, | ||
SmartPtr< SurfaceView > | spSurfView, | ||
const GridLevel & | level, | ||
bool | bGrouped, | ||
SmartPtr< DoFIndexStorage > | spDoFIndexStorage = SPNULL |
||
) |
constructor
References check_subsets(), m_spAlgebraLayouts, m_spDoFIndexStorage, m_vNumIndexOnSubset, ug::DoFDistributionInfoProvider::num_subsets(), and reinit().
ug::DoFDistribution::~DoFDistribution | ( | ) |
destructor
|
protected |
|
protected |
|
protected |
|
protected |
References extract_inner_algebra_indices().
|
protected |
|
protected |
adds indices to a geometric object
References ug::PeriodicBoundaryManager::is_master(), ug::PeriodicBoundaryManager::is_slave(), m_bGrouped, m_numIndex, m_spMG, m_vNumIndexOnSubset, ug::DoFDistributionInfoProvider::num_dofs(), obj_index(), and UG_ASSERT.
Referenced by reinit().
|
protected |
References pcl::OrderedInterface< TType, TContainer, TAlloc >::get_element(), ug::GridLayoutMap::get_layout(), grid_level(), ug::GridLayoutMap::has_layout(), inner_algebra_indices(), pcl::SingleLevelLayout< TInterface >::interface(), ug::GridLevel::is_surface(), ug::GridLevel::level(), m_spMG, m_spSurfView, multi_grid(), ug::SurfaceView::SURFACE, and ug::GridLevel::top().
size_t ug::DoFDistribution::algebra_indices | ( | Edge * | elem, |
std::vector< size_t > & | ind, | ||
bool | bClear = true |
||
) | const |
extracts all algebra indices of an element (not sorted)
All Algebra-Indices of the element (including the subelements) are extracted and stored in a std::vector. The order of the indices is not sorted, no constrained DoFs are extracted. If bClear is set to true, the vector is cleared before insertion.
[in] | elem | the element |
[out] | ind | vector of algebra indices |
[in] | bClear | flag if vector has to be clear before insertion |
size_t ug::DoFDistribution::algebra_indices | ( | Face * | elem, |
std::vector< size_t > & | ind, | ||
bool | bClear = true |
||
) | const |
extracts all algebra indices of an element (not sorted)
All Algebra-Indices of the element (including the subelements) are extracted and stored in a std::vector. The order of the indices is not sorted, no constrained DoFs are extracted. If bClear is set to true, the vector is cleared before insertion.
[in] | elem | the element |
[out] | ind | vector of algebra indices |
[in] | bClear | flag if vector has to be clear before insertion |
size_t ug::DoFDistribution::algebra_indices | ( | GridObject * | elem, |
std::vector< size_t > & | ind, | ||
bool | bClear = true |
||
) | const |
extracts all algebra indices of an element (not sorted)
All Algebra-Indices of the element (including the subelements) are extracted and stored in a std::vector. The order of the indices is not sorted, no constrained DoFs are extracted. If bClear is set to true, the vector is cleared before insertion.
[in] | elem | the element |
[out] | ind | vector of algebra indices |
[in] | bClear | flag if vector has to be clear before insertion |
References algebra_indices(), ug::GridObject::base_object_id(), ug::EDGE, ug::FACE, UG_THROW, ug::VERTEX, and ug::VOLUME.
Referenced by algebra_indices().
size_t ug::DoFDistribution::algebra_indices | ( | Vertex * | elem, |
std::vector< size_t > & | ind, | ||
bool | bClear = true |
||
) | const |
extracts all algebra indices of an element (not sorted)
All Algebra-Indices of the element (including the subelements) are extracted and stored in a std::vector. The order of the indices is not sorted, no constrained DoFs are extracted. If bClear is set to true, the vector is cleared before insertion.
[in] | elem | the element |
[out] | ind | vector of algebra indices |
[in] | bClear | flag if vector has to be clear before insertion |
size_t ug::DoFDistribution::algebra_indices | ( | Volume * | elem, |
std::vector< size_t > & | ind, | ||
bool | bClear = true |
||
) | const |
extracts all algebra indices of an element (not sorted)
All Algebra-Indices of the element (including the subelements) are extracted and stored in a std::vector. The order of the indices is not sorted, no constrained DoFs are extracted. If bClear is set to true, the vector is cleared before insertion.
[in] | elem | the element |
[out] | ind | vector of algebra indices |
[in] | bClear | flag if vector has to be clear before insertion |
|
inline |
iterator for elements where dofs are defined
References defaultValidSurfState(), m_gridLevel, and m_spSurfView.
Referenced by get_connections().
|
inline |
iterator for elements where dofs are defined
References defaultValidSurfState(), m_gridLevel, and m_spSurfView.
|
inline |
iterator for elements where dofs are defined
References defaultValidSurfState(), m_gridLevel, and m_spSurfView.
|
inline |
iterator for elements where dofs are defined
References defaultValidSurfState(), m_gridLevel, and m_spSurfView.
|
inline |
iterator for elements where dofs are defined
References m_gridLevel, and m_spSurfView.
|
inline |
iterator for elements where dofs are defined
References m_gridLevel, and m_spSurfView.
|
inline |
iterator for elements where dofs are defined
References m_gridLevel, and m_spSurfView.
|
inline |
iterator for elements where dofs are defined
References m_gridLevel, and m_spSurfView.
|
protected |
returns indices, that can be changed on the element
References m_spMGSH, obj_index(), and UG_ASSERT.
|
protected |
checks that subset assignment is ok
References ug::ElementDebugInfo(), m_spMGSH, multi_grid(), UG_LOGN, and UG_THROW.
Referenced by DoFDistribution().
|
inline |
References UG_THROW.
|
inline |
returns the adjacent elements
References grid_level(), and m_spSurfView.
Referenced by ug::StdTransfer< TDomain, TAlgebra >::assemble_prolongation(), ug::StdTransfer< TDomain, TAlgebra >::assemble_restriction(), and get_connections().
|
protected |
multi indices on constrained edges
References ug::ComputeOrientationOffset(), ug::DoFDistributionInfoProvider::is_def_in_subset(), ug::DoFDistributionInfoProvider::lfeid(), m_bGrouped, m_spMGSH, ug::DoFDistributionInfoProvider::num_dofs(), ug::DoFDistributionInfoProvider::num_fct_dofs(), obj_index(), and ug::DoFDistributionInfoProvider::offset().
|
protected |
|
protected |
multi indices on constrained faces
References ug::ComputeOrientationOffset(), ug::DoFDistributionInfoProvider::is_def_in_subset(), ug::DoFDistributionInfoProvider::lfeid(), m_bGrouped, m_spMGSH, ug::DoFDistributionInfoProvider::num_dofs(), ug::DoFDistributionInfoProvider::num_fct_dofs(), obj_index(), and ug::DoFDistributionInfoProvider::offset().
|
protected |
|
protected |
multi indices on constrained vertices
References ug::DoFDistributionInfoProvider::is_def_in_subset(), m_bGrouped, m_spMGSH, ug::DoFDistributionInfoProvider::num_dofs(), ug::DoFDistributionInfoProvider::num_fct_dofs(), obj_index(), and ug::DoFDistributionInfoProvider::offset().
|
protected |
extract dofs on constrained objects
References ug::DoFDistributionInfoProvider::is_def_in_subset(), m_bGrouped, m_spMGSH, ug::DoFDistributionInfoProvider::num_fct(), obj_index(), ug::DoFDistributionInfoProvider::offset(), ug::LocalIndices::push_back_index(), and ug::LocalIndices::push_back_multi_index().
void ug::DoFDistribution::copy_values | ( | const std::vector< std::pair< size_t, size_t > > & | vIndexMap, |
bool | bDisjunct | ||
) |
swaps values in managed functions, if indices swapped
References copy_values(), and m_vpGridFunction.
Referenced by copy_values().
SurfaceView::SurfaceConstants ug::DoFDistribution::defaultValidSurfState | ( | ) | const |
returns the default valid surface state
References ug::SurfaceView::ALL, ug::SurfaceView::ALL_BUT_SHADOW_COPY, ug::GridLevel::is_level(), ug::GridLevel::is_surface(), m_gridLevel, and UG_THROW.
Referenced by begin(), begin(), begin(), begin(), end(), end(), end(), and end().
DoFCount ug::DoFDistribution::dof_count | ( | ) | const |
size_t ug::DoFDistribution::dof_indices | ( | Edge * | elem, |
size_t | fct, | ||
std::vector< DoFIndex > & | ind, | ||
bool | bHang = false , |
||
bool | bClear = true |
||
) | const |
extracts all multiindices for a function (sorted)
All Multi-Indices of a function living on the element (including the subelements) are extracted and stored in a std::vector. The order of the indices is sorted, i.e. the dofs are provided as specified in the local dof set of the local finite element trial space. If bHang is set to true, also the DoFs on the Constrained Objects belonging to the constraining Subelements are extracted and added at the end of the indices. If bClear is set to true, the vector is cleared before insertion.
[in] | elem | the element |
[in] | fct | the function |
[out] | ind | vector of multi indices |
[in] | bHang | flag if extracting of constrained dofs required |
[in] | bClear | flag if vector has to be clear before insertion |
size_t ug::DoFDistribution::dof_indices | ( | Face * | elem, |
size_t | fct, | ||
std::vector< DoFIndex > & | ind, | ||
bool | bHang = false , |
||
bool | bClear = true |
||
) | const |
extracts all multiindices for a function (sorted)
All Multi-Indices of a function living on the element (including the subelements) are extracted and stored in a std::vector. The order of the indices is sorted, i.e. the dofs are provided as specified in the local dof set of the local finite element trial space. If bHang is set to true, also the DoFs on the Constrained Objects belonging to the constraining Subelements are extracted and added at the end of the indices. If bClear is set to true, the vector is cleared before insertion.
[in] | elem | the element |
[in] | fct | the function |
[out] | ind | vector of multi indices |
[in] | bHang | flag if extracting of constrained dofs required |
[in] | bClear | flag if vector has to be clear before insertion |
size_t ug::DoFDistribution::dof_indices | ( | GridObject * | elem, |
size_t | fct, | ||
std::vector< DoFIndex > & | ind, | ||
bool | bHang = false , |
||
bool | bClear = true |
||
) | const |
extracts all multiindices for a function (sorted)
All Multi-Indices of a function living on the element (including the subelements) are extracted and stored in a std::vector. The order of the indices is sorted, i.e. the dofs are provided as specified in the local dof set of the local finite element trial space. If bHang is set to true, also the DoFs on the Constrained Objects belonging to the constraining Subelements are extracted and added at the end of the indices. If bClear is set to true, the vector is cleared before insertion.
[in] | elem | the element |
[in] | fct | the function |
[out] | ind | vector of multi indices |
[in] | bHang | flag if extracting of constrained dofs required |
[in] | bClear | flag if vector has to be clear before insertion |
References ug::GridObject::base_object_id(), dof_indices(), ug::EDGE, ug::FACE, UG_THROW, ug::VERTEX, and ug::VOLUME.
Referenced by ug::StdTransfer< TDomain, TAlgebra >::assemble_prolongation(), ug::StdTransfer< TDomain, TAlgebra >::assemble_restriction(), and dof_indices().
|
protected |
extracts the indices of a subelement of an element
References ug::ComputeOrientationOffset(), ug::DoFDistributionInfoProvider::is_def_in_subset(), ug::DoFDistributionInfoProvider::lfeid(), m_bGrouped, m_spMGSH, ug::DoFDistributionInfoProvider::num_dofs(), ug::DoFDistributionInfoProvider::num_fct_dofs(), obj_index(), ug::DoFDistributionInfoProvider::offset(), and UG_ASSERT.
size_t ug::DoFDistribution::dof_indices | ( | Vertex * | elem, |
size_t | fct, | ||
std::vector< DoFIndex > & | ind, | ||
bool | bHang = false , |
||
bool | bClear = true |
||
) | const |
extracts all multiindices for a function (sorted)
All Multi-Indices of a function living on the element (including the subelements) are extracted and stored in a std::vector. The order of the indices is sorted, i.e. the dofs are provided as specified in the local dof set of the local finite element trial space. If bHang is set to true, also the DoFs on the Constrained Objects belonging to the constraining Subelements are extracted and added at the end of the indices. If bClear is set to true, the vector is cleared before insertion.
[in] | elem | the element |
[in] | fct | the function |
[out] | ind | vector of multi indices |
[in] | bHang | flag if extracting of constrained dofs required |
[in] | bClear | flag if vector has to be clear before insertion |
size_t ug::DoFDistribution::dof_indices | ( | Volume * | elem, |
size_t | fct, | ||
std::vector< DoFIndex > & | ind, | ||
bool | bHang = false , |
||
bool | bClear = true |
||
) | const |
extracts all multiindices for a function (sorted)
All Multi-Indices of a function living on the element (including the subelements) are extracted and stored in a std::vector. The order of the indices is sorted, i.e. the dofs are provided as specified in the local dof set of the local finite element trial space. If bHang is set to true, also the DoFs on the Constrained Objects belonging to the constraining Subelements are extracted and added at the end of the indices. If bClear is set to true, the vector is cleared before insertion.
[in] | elem | the element |
[in] | fct | the function |
[out] | ind | vector of multi indices |
[in] | bHang | flag if extracting of constrained dofs required |
[in] | bClear | flag if vector has to be clear before insertion |
|
inline |
iterator for elements where dofs are defined
References defaultValidSurfState(), m_gridLevel, and m_spSurfView.
Referenced by get_connections().
|
inline |
iterator for elements where dofs are defined
References defaultValidSurfState(), m_gridLevel, and m_spSurfView.
|
inline |
iterator for elements where dofs are defined
References defaultValidSurfState(), m_gridLevel, and m_spSurfView.
|
inline |
iterator for elements where dofs are defined
References defaultValidSurfState(), m_gridLevel, and m_spSurfView.
|
inline |
iterator for elements where dofs are defined
References m_gridLevel, and m_spSurfView.
|
inline |
iterator for elements where dofs are defined
References m_gridLevel, and m_spSurfView.
|
inline |
iterator for elements where dofs are defined
References m_gridLevel, and m_spSurfView.
|
inline |
iterator for elements where dofs are defined
References m_gridLevel, and m_spSurfView.
|
protected |
adds all algebra indices of a set of geometric objects
References inner_algebra_indices().
|
protected |
adds all algebra indices of an geom object to the LocalIndices
References ug::DoFDistributionInfoProvider::is_def_in_subset(), m_bGrouped, m_spMGSH, ug::DoFDistributionInfoProvider::num_dofs(), ug::DoFDistributionInfoProvider::num_fct(), ug::DoFDistributionInfoProvider::num_fct_dofs(), obj_index(), and ug::DoFDistributionInfoProvider::offset().
Referenced by _inner_algebra_indices().
void ug::DoFDistribution::get_connections | ( | std::vector< std::vector< size_t > > & | vvConnection | ) | const |
returns the connections
References grouped(), ug::DoFDistributionInfoProvider::num_dofs(), num_indices(), ug::NUM_REFERENCE_OBJECTS, ug::DoFDistributionInfoProvider::num_subsets(), and UG_THROW.
Referenced by ug::OrderCuthillMcKee().
void ug::DoFDistribution::get_connections | ( | std::vector< std::vector< size_t > > & | vvConnection | ) | const |
|
inline |
returns grid level
References m_gridLevel.
Referenced by add_indices_from_layouts(), collect_associated(), dof_count(), is_contained(), reinit(), reinit_layouts_and_communicator(), and sum_dof_count().
|
inline |
void ug::DoFDistribution::indices | ( | Edge * | elem, |
LocalIndices & | ind, | ||
bool | bHang = false |
||
) | const |
extracts all indices of the element (sorted)
All Indices of the element (including the subelements) are extracted and stored in the LocalIndices structure. The order of the indices is sorted, i.e. the dofs are provided as specified in the local dof set of the local finite element trial space. If bHang is set to true, also the DoFs on the Constained Objects belonging to the constraining Subelements are extracted and added at the end of the indices.
[in] | elem | the element |
[out] | ind | Local indices |
[in] | bHang | flag if extracting of constrained dofs required |
void ug::DoFDistribution::indices | ( | Face * | elem, |
LocalIndices & | ind, | ||
bool | bHang = false |
||
) | const |
extracts all indices of the element (sorted)
All Indices of the element (including the subelements) are extracted and stored in the LocalIndices structure. The order of the indices is sorted, i.e. the dofs are provided as specified in the local dof set of the local finite element trial space. If bHang is set to true, also the DoFs on the Constained Objects belonging to the constraining Subelements are extracted and added at the end of the indices.
[in] | elem | the element |
[out] | ind | Local indices |
[in] | bHang | flag if extracting of constrained dofs required |
void ug::DoFDistribution::indices | ( | GridObject * | elem, |
LocalIndices & | ind, | ||
bool | bHang = false |
||
) | const |
extracts all indices of the element (sorted)
All Indices of the element (including the subelements) are extracted and stored in the LocalIndices structure. The order of the indices is sorted, i.e. the dofs are provided as specified in the local dof set of the local finite element trial space. If bHang is set to true, also the DoFs on the Constained Objects belonging to the constraining Subelements are extracted and added at the end of the indices.
[in] | elem | the element |
[out] | ind | Local indices |
[in] | bHang | flag if extracting of constrained dofs required |
References ug::GridObject::base_object_id(), ug::EDGE, ug::FACE, indices(), UG_THROW, ug::VERTEX, and ug::VOLUME.
Referenced by indices().
|
protected |
extracts the indices of the subelement of an element
References ug::ComputeOrientationOffset(), ug::DoFDistributionInfoProvider::is_def_in_subset(), ug::DoFDistributionInfoProvider::lfeid(), m_bGrouped, m_spMGSH, ug::DoFDistributionInfoProvider::num_fct(), ug::DoFDistributionInfoProvider::num_fct_dofs(), obj_index(), ug::DoFDistributionInfoProvider::offset(), ug::LocalIndices::push_back_index(), ug::LocalIndices::push_back_multi_index(), and UG_ASSERT.
void ug::DoFDistribution::indices | ( | Vertex * | elem, |
LocalIndices & | ind, | ||
bool | bHang = false |
||
) | const |
extracts all indices of the element (sorted)
All Indices of the element (including the subelements) are extracted and stored in the LocalIndices structure. The order of the indices is sorted, i.e. the dofs are provided as specified in the local dof set of the local finite element trial space. If bHang is set to true, also the DoFs on the Constained Objects belonging to the constraining Subelements are extracted and added at the end of the indices.
[in] | elem | the element |
[out] | ind | Local indices |
[in] | bHang | flag if extracting of constrained dofs required |
void ug::DoFDistribution::indices | ( | Volume * | elem, |
LocalIndices & | ind, | ||
bool | bHang = false |
||
) | const |
extracts all indices of the element (sorted)
All Indices of the element (including the subelements) are extracted and stored in the LocalIndices structure. The order of the indices is sorted, i.e. the dofs are provided as specified in the local dof set of the local finite element trial space. If bHang is set to true, also the DoFs on the Constained Objects belonging to the constraining Subelements are extracted and added at the end of the indices.
[in] | elem | the element |
[out] | ind | Local indices |
[in] | bHang | flag if extracting of constrained dofs required |
|
protected |
extracts the indices of the vertices
References ug::DoFDistributionInfoProvider::is_def_in_subset(), m_bGrouped, m_spMGSH, ug::DoFDistributionInfoProvider::num_fct(), ug::DoFDistributionInfoProvider::num_fct_dofs(), obj_index(), ug::DoFDistributionInfoProvider::offset(), ug::LocalIndices::push_back_index(), ug::LocalIndices::push_back_multi_index(), and ug::ROID_VERTEX.
size_t ug::DoFDistribution::inner_algebra_indices | ( | Edge * | elem, |
std::vector< size_t > & | ind, | ||
bool | bClear = true |
||
) | const |
extracts all algebra indices in the inner of the element (not sorted)
All Algebra-Indices of the element (excluding the subelements) are extracted and stored in a std::vector. The order of the indices is not sorted, no constrained DoFs are extracted. If bClear is set to true, the vector is cleared before insertion.
[in] | elem | the element |
[out] | ind | vector of algebra indices |
[in] | bClear | flag if vector has to be clear before insertion |
size_t ug::DoFDistribution::inner_algebra_indices | ( | Face * | elem, |
std::vector< size_t > & | ind, | ||
bool | bClear = true |
||
) | const |
extracts all algebra indices in the inner of the element (not sorted)
All Algebra-Indices of the element (excluding the subelements) are extracted and stored in a std::vector. The order of the indices is not sorted, no constrained DoFs are extracted. If bClear is set to true, the vector is cleared before insertion.
[in] | elem | the element |
[out] | ind | vector of algebra indices |
[in] | bClear | flag if vector has to be clear before insertion |
size_t ug::DoFDistribution::inner_algebra_indices | ( | GridObject * | elem, |
std::vector< size_t > & | ind, | ||
bool | bClear = true |
||
) | const |
extracts all algebra indices in the inner of the element (not sorted)
All Algebra-Indices of the element (excluding the subelements) are extracted and stored in a std::vector. The order of the indices is not sorted, no constrained DoFs are extracted. If bClear is set to true, the vector is cleared before insertion.
[in] | elem | the element |
[out] | ind | vector of algebra indices |
[in] | bClear | flag if vector has to be clear before insertion |
References ug::GridObject::base_object_id(), ug::EDGE, ug::FACE, inner_algebra_indices(), UG_THROW, ug::VERTEX, and ug::VOLUME.
Referenced by add_indices_from_layouts(), ug::AddEntriesToIndexLayout_DomainDecomposition(), ug::AddEntriesToLevelIndexLayout(), ug::AddEntriesToSurfaceIndexLayout(), ug::StdTransfer< TDomain, TAlgebra >::assemble_prolongation(), ug::StdTransfer< TDomain, TAlgebra >::assemble_prolongation_p1(), ug::StdTransfer< TDomain, TAlgebra >::assemble_restriction(), ug::AssembleInjectionByAverageOfChildren(), ug::AssembleInjectionForP1Lagrange(), extract_inner_algebra_indices(), inner_algebra_indices(), and ug::StdInjection< TDomain, TAlgebra >::set_identity_on_pure_surface().
size_t ug::DoFDistribution::inner_algebra_indices | ( | Vertex * | elem, |
std::vector< size_t > & | ind, | ||
bool | bClear = true |
||
) | const |
extracts all algebra indices in the inner of the element (not sorted)
All Algebra-Indices of the element (excluding the subelements) are extracted and stored in a std::vector. The order of the indices is not sorted, no constrained DoFs are extracted. If bClear is set to true, the vector is cleared before insertion.
[in] | elem | the element |
[out] | ind | vector of algebra indices |
[in] | bClear | flag if vector has to be clear before insertion |
size_t ug::DoFDistribution::inner_algebra_indices | ( | Volume * | elem, |
std::vector< size_t > & | ind, | ||
bool | bClear = true |
||
) | const |
extracts all algebra indices in the inner of the element (not sorted)
All Algebra-Indices of the element (excluding the subelements) are extracted and stored in a std::vector. The order of the indices is not sorted, no constrained DoFs are extracted. If bClear is set to true, the vector is cleared before insertion.
[in] | elem | the element |
[out] | ind | vector of algebra indices |
[in] | bClear | flag if vector has to be clear before insertion |
size_t ug::DoFDistribution::inner_algebra_indices_for_fct | ( | GridObject * | elem, |
std::vector< size_t > & | ind, | ||
bool | bClear, | ||
int | fct | ||
) | const |
size_t ug::DoFDistribution::inner_dof_indices | ( | Edge * | elem, |
size_t | fct, | ||
std::vector< DoFIndex > & | ind, | ||
bool | bClear = true |
||
) | const |
extracts all multiindices of a function in the inner (sorted)
All Multi-Indices of a function living on the element (including the subelements) are extracted and stored in a std::vector. The order of the indices is sorted, i.e. the dofs are provided as specified in the local dof set of the local finite element trial space. If bClear is set to true, the vector is cleared before insertion.
[in] | elem | the element |
[in] | fct | the function |
[out] | ind | vector of multi indices |
[in] | bClear | flag if vector has to be clear before insertion |
size_t ug::DoFDistribution::inner_dof_indices | ( | Face * | elem, |
size_t | fct, | ||
std::vector< DoFIndex > & | ind, | ||
bool | bClear = true |
||
) | const |
extracts all multiindices of a function in the inner (sorted)
All Multi-Indices of a function living on the element (including the subelements) are extracted and stored in a std::vector. The order of the indices is sorted, i.e. the dofs are provided as specified in the local dof set of the local finite element trial space. If bClear is set to true, the vector is cleared before insertion.
[in] | elem | the element |
[in] | fct | the function |
[out] | ind | vector of multi indices |
[in] | bClear | flag if vector has to be clear before insertion |
size_t ug::DoFDistribution::inner_dof_indices | ( | GridObject * | elem, |
size_t | fct, | ||
std::vector< DoFIndex > & | ind, | ||
bool | bClear = true |
||
) | const |
extracts all multiindices of a function in the inner (sorted)
All Multi-Indices of a function living on the element (including the subelements) are extracted and stored in a std::vector. The order of the indices is sorted, i.e. the dofs are provided as specified in the local dof set of the local finite element trial space. If bClear is set to true, the vector is cleared before insertion.
[in] | elem | the element |
[in] | fct | the function |
[out] | ind | vector of multi indices |
[in] | bClear | flag if vector has to be clear before insertion |
References ug::GridObject::base_object_id(), ug::EDGE, ug::FACE, inner_dof_indices(), UG_THROW, ug::VERTEX, and ug::VOLUME.
Referenced by ug::StdTransfer< TDomain, TAlgebra >::assemble_prolongation(), ug::StdTransfer< TDomain, TAlgebra >::assemble_prolongation_p1(), ug::StdTransfer< TDomain, TAlgebra >::assemble_restriction(), and inner_dof_indices().
size_t ug::DoFDistribution::inner_dof_indices | ( | Vertex * | elem, |
size_t | fct, | ||
std::vector< DoFIndex > & | ind, | ||
bool | bClear = true |
||
) | const |
extracts all multiindices of a function in the inner (sorted)
All Multi-Indices of a function living on the element (including the subelements) are extracted and stored in a std::vector. The order of the indices is sorted, i.e. the dofs are provided as specified in the local dof set of the local finite element trial space. If bClear is set to true, the vector is cleared before insertion.
[in] | elem | the element |
[in] | fct | the function |
[out] | ind | vector of multi indices |
[in] | bClear | flag if vector has to be clear before insertion |
size_t ug::DoFDistribution::inner_dof_indices | ( | Volume * | elem, |
size_t | fct, | ||
std::vector< DoFIndex > & | ind, | ||
bool | bClear = true |
||
) | const |
extracts all multiindices of a function in the inner (sorted)
All Multi-Indices of a function living on the element (including the subelements) are extracted and stored in a std::vector. The order of the indices is sorted, i.e. the dofs are provided as specified in the local dof set of the local finite element trial space. If bClear is set to true, the vector is cleared before insertion.
[in] | elem | the element |
[in] | fct | the function |
[out] | ind | vector of multi indices |
[in] | bClear | flag if vector has to be clear before insertion |
|
inline |
returns if the grid object is part of the dof distribution
References grid_level(), and m_spSurfView.
Referenced by ug::StdTransfer< TDomain, TAlgebra >::assemble_prolongation(), ug::StdTransfer< TDomain, TAlgebra >::assemble_prolongation_p1(), and ug::StdTransfer< TDomain, TAlgebra >::assemble_restriction().
|
inline |
returns algebra layouts
References m_spAlgebraLayouts.
|
inline |
returns algebra layouts
References m_spAlgebraLayouts.
Referenced by reinit_layouts_and_communicator().
void ug::DoFDistribution::manage_grid_function | ( | IGridFunction & | gridFct | ) |
registers a grid function for adaptation management
References m_vpGridFunction.
returns the multigrid
References m_spMG.
Referenced by add_indices_from_layouts(), ug::StdTransfer< TDomain, TAlgebra >::assemble_prolongation(), ug::StdTransfer< TDomain, TAlgebra >::assemble_prolongation_p1(), ug::StdTransfer< TDomain, TAlgebra >::assemble_restriction(), ug::AssembleInjectionByAverageOfChildren(), ug::AssembleInjectionForP1Lagrange(), check_subsets(), ug::StdInjection< TDomain, TAlgebra >::set_identity_on_pure_surface(), sort_constrained_edges(), and sort_constrained_faces().
|
inline |
returns the multigrid
References m_spMG.
|
inline |
return the number of dofs distributed
References m_numIndex.
Referenced by ug::StdTransfer< TDomain, TAlgebra >::assemble_prolongation(), ug::StdTransfer< TDomain, TAlgebra >::assemble_prolongation_p1(), ug::StdTransfer< TDomain, TAlgebra >::assemble_restriction(), ug::AssembleInjectionByAverageOfChildren(), ug::AssembleInjectionForP1Lagrange(), get_connections(), and reinit_layouts_and_communicator().
|
inline |
return the number of dofs distributed on subset si
References m_vNumIndexOnSubset.
|
inlineprotected |
returns the index assigned to a grid object
References m_spDoFIndexStorage.
Referenced by _inner_dof_indices(), add(), changable_indices(), constrained_edge_dof_indices(), constrained_edge_indices(), constrained_face_dof_indices(), constrained_face_indices(), constrained_vertex_dof_indices(), constrained_vertex_indices(), dof_indices(), extract_inner_algebra_indices(), indices(), indices_on_vertex(), inner_algebra_indices_for_fct(), permute_indices(), and reinit().
|
inlineprotected |
returns the index assigned to a grid object
References m_spDoFIndexStorage.
void ug::DoFDistribution::permute_indices | ( | const std::vector< size_t > & | vIndNew | ) |
renames the indices
References ug::EDGE, ug::FACE, ug::DoFDistributionInfoProvider::max_dofs(), permute_values(), reinit_layouts_and_communicator(), ug::VERTEX, and ug::VOLUME.
Referenced by ug::OrderCuthillMcKee().
|
protected |
References ug::SurfaceView::ALL, and obj_index().
void ug::DoFDistribution::permute_values | ( | const std::vector< size_t > & | vIndNew | ) |
permutes values in managed functions, if indices permuted
References m_vpGridFunction, and permute_values().
Referenced by permute_indices(), and permute_values().
void ug::DoFDistribution::reinit | ( | ) |
initializes the indices
References ug::EDGE, ug::FACE, m_numIndex, m_vNumIndexOnSubset, ug::DoFDistributionInfoProvider::max_dofs(), ug::DoFDistributionInfoProvider::num_subsets(), reinit_layouts_and_communicator(), ug::VERTEX, and ug::VOLUME.
Referenced by DoFDistribution().
|
protected |
initializes the indices
References add(), ug::SurfaceView::ALL, ug::DoFDistributionInfoProvider::dim(), ug::MultiGrid::get_child(), ug::MultiGrid::get_parent(), grid_level(), ug::SurfaceView::is_contained(), ug::GridLevel::LEVEL, m_spMG, m_spSurfView, ug::DoFDistributionInfoProvider::max_dofs(), ug::MultiGrid::num_children(), ug::DoFDistributionInfoProvider::num_subsets(), obj_index(), p, ug::SurfaceView::SHADOW_RIM_COPY, ug::GridLevel::SURFACE, ug::SurfaceView::SURFACE_RIM, ug::GridLevel::type(), and UG_THROW.
|
protected |
|
protected |
void ug::DoFDistribution::resize_values | ( | size_t | newSize | ) |
changes values in managed functions, number of indices changed
References m_vpGridFunction, and resize_values().
Referenced by resize_values().
|
protected |
|
protected |
|
protected |
References ug::DoFCount::add(), ug::Flag< TEnum, TStorageType, defaultValue >::contains(), ug::ES_NONE, ug::DistributedGridManager::get_status(), grid_level(), m_spSurfView, ug::SurfaceView::MG_SHADOW_RIM_COPY, ug::DoFDistributionInfoProvider::num_fct(), ug::DoFDistributionInfoProvider::num_fct_dofs(), ug::SurfaceView::subset_handler(), and ug::SurfaceView::surface_state().
|
inline |
returns the surface view
References m_spSurfView.
void ug::DoFDistribution::unmanage_grid_function | ( | IGridFunction & | gridFct | ) |
unregisters a grid function for adaptation management
References m_vpGridFunction.
|
protected |
grouping
Referenced by _inner_dof_indices(), add(), constrained_edge_dof_indices(), constrained_edge_indices(), constrained_face_dof_indices(), constrained_face_indices(), constrained_vertex_dof_indices(), constrained_vertex_indices(), dof_indices(), extract_inner_algebra_indices(), grouped(), indices(), indices_on_vertex(), and inner_algebra_indices_for_fct().
|
protected |
|
protected |
number of distributed indices on whole domain
Referenced by add(), num_indices(), and reinit().
|
protected |
Referenced by _algebra_indices(), _dof_indices(), and _indices().
|
protected |
algebra layouts
Referenced by DoFDistribution(), layouts(), and layouts().
|
protected |
DoF-Index Memory Storage.
Referenced by DoFDistribution(), obj_index(), and obj_index().
Multi Grid.
Referenced by add(), add_indices_from_layouts(), multi_grid(), multi_grid(), and reinit().
|
protected |
Subset Handler.
Referenced by _inner_dof_indices(), changable_indices(), check_subsets(), constrained_edge_dof_indices(), constrained_edge_indices(), constrained_face_dof_indices(), constrained_face_indices(), constrained_vertex_dof_indices(), constrained_vertex_indices(), dof_indices(), extract_inner_algebra_indices(), indices(), indices_on_vertex(), and inner_algebra_indices_for_fct().
|
protected |
MultiGrid Subset Handler.
Referenced by add_indices_from_layouts(), begin(), begin(), begin(), begin(), begin(), begin(), begin(), begin(), collect_associated(), end(), end(), end(), end(), end(), end(), end(), end(), is_contained(), reinit(), sum_dof_count(), and surface_view().
|
protected |
number of distributed indices on each subset
Referenced by add(), DoFDistribution(), num_indices(), and reinit().
|
protected |
managed grid functions
This vector holds a pointer to all grid functions, that should be managed (i.e. adapted), when the dof distribution is changed. NOTE: No SmartPtr is used here on purpose. The GridFunction stores a SmartPtr to the DoFDistribution. If we would use a SmartPtr here those objects would reference each other and would never be deleted.
Referenced by copy_values(), manage_grid_function(), permute_values(), resize_values(), and unmanage_grid_function().