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 More... | |
void | copy_values (const std::vector< std::pair< size_t, size_t > > &vIndexMap, bool bDisjunct) |
swaps values in managed functions, if indices swapped More... | |
SurfaceView::SurfaceConstants | defaultValidSurfState () const |
returns the default valid surface state More... | |
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 More... | |
void | get_connections (std::vector< std::vector< size_t > > &vvConnection) const |
returns the connections More... | |
template<typename TBaseElem > | |
void | get_connections (std::vector< std::vector< size_t > > &vvConnection) const |
const GridLevel & | grid_level () const |
returns grid level More... | |
bool | grouped () const |
returns if dofs are grouped More... | |
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 More... | |
void | manage_grid_function (IGridFunction &gridFct) |
registers a grid function for adaptation management More... | |
size_t | num_indices () const |
return the number of dofs distributed More... | |
size_t | num_indices (int si) const |
return the number of dofs distributed on subset si More... | |
void | permute_indices (const std::vector< size_t > &vIndNew) |
renames the indices More... | |
void | permute_values (const std::vector< size_t > &vIndNew) |
permutes values in managed functions, if indices permuted More... | |
void | reinit () |
initializes the indices More... | |
void | resize_values (size_t newSize) |
changes values in managed functions, number of indices changed More... | |
ConstSmartPtr< SurfaceView > | surface_view () const |
returns the surface view More... | |
void | unmanage_grid_function (IGridFunction &gridFct) |
unregisters a grid function for adaptation management More... | |
~DoFDistribution () | |
destructor More... | |
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) More... | |
void | indices (Vertex *elem, LocalIndices &ind, bool bHang=false) const |
extracts all indices of the element (sorted) More... | |
void | indices (Edge *elem, LocalIndices &ind, bool bHang=false) const |
extracts all indices of the element (sorted) More... | |
void | indices (Face *elem, LocalIndices &ind, bool bHang=false) const |
extracts all indices of the element (sorted) More... | |
void | indices (Volume *elem, LocalIndices &ind, bool bHang=false) const |
extracts all indices of the element (sorted) More... | |
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) More... | |
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) More... | |
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) More... | |
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) More... | |
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) More... | |
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) More... | |
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) More... | |
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) More... | |
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) More... | |
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) More... | |
size_t | algebra_indices (GridObject *elem, std::vector< size_t > &ind, bool bClear=true) const |
extracts all algebra indices of an element (not sorted) More... | |
size_t | algebra_indices (Vertex *elem, std::vector< size_t > &ind, bool bClear=true) const |
extracts all algebra indices of an element (not sorted) More... | |
size_t | algebra_indices (Edge *elem, std::vector< size_t > &ind, bool bClear=true) const |
extracts all algebra indices of an element (not sorted) More... | |
size_t | algebra_indices (Face *elem, std::vector< size_t > &ind, bool bClear=true) const |
extracts all algebra indices of an element (not sorted) More... | |
size_t | algebra_indices (Volume *elem, std::vector< size_t > &ind, bool bClear=true) const |
extracts all algebra indices of an element (not sorted) More... | |
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) More... | |
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) More... | |
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) More... | |
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) More... | |
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) More... | |
ConstSmartPtr< AlgebraLayouts > | layouts () const |
SmartPtr< AlgebraLayouts > | layouts () |
Public Member Functions inherited from ug::DoFDistributionInfoProvider | |
SubsetGroup | all_subsets_grp_except_for (const char *names) const |
returns subset group of all the subsets except for (by name) More... | |
int | dim (size_t fct) const |
returns the dimension in which solution lives More... | |
int | dim_subset (int si) const |
returns dimension of subset More... | |
ConstSmartPtr< DoFDistributionInfo > | dof_distribution_info () const |
returns underlying info More... | |
DoFDistributionInfoProvider () | |
constructor More... | |
DoFDistributionInfoProvider (ConstSmartPtr< DoFDistributionInfo > spDDI) | |
constructor More... | |
FunctionGroup | fct_grp_by_name (const char *names) const |
returns a function group to a string of functions More... | |
size_t | fct_id_by_name (const char *name) const |
returns fct id by name More... | |
ConstSmartPtr< FunctionPattern > | function_pattern () const |
returns the function pattern More... | |
bool | is_def_everywhere (size_t fct) const |
returns true if the discrete function nr_fct is defined everywhere More... | |
bool | is_def_in_subset (size_t fct, int si) const |
returns if a function is defined on a subset More... | |
size_t | max_dofs (const GridBaseObjectId gbo) const |
returns the maximum number of dofs on a grid base object type More... | |
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 More... | |
size_t | max_dofs (const int dim) const |
returns the maximum number of dofs on grid objects in a dimension More... | |
size_t | max_dofs (const int dim, const int si) const |
returns the maximum number of dofs in a dimension on a subset More... | |
size_t | max_dofs (const ReferenceObjectID roid) const |
returns the maximum number of dofs on reference object type More... | |
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 More... | |
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 More... | |
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 More... | |
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 More... | |
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 More... | |
std::string | name (size_t fct) const |
returns the name of the discrete function nr_fct More... | |
std::vector< std::string > | names () const |
returns the names of the discrete functions More... | |
size_t | num_dofs (const ReferenceObjectID roid, const int si) const |
returns the number of dofs on a Reference Object on a subset More... | |
size_t | num_fct () const |
number of discrete functions on subset si More... | |
size_t | num_fct (int si) const |
number of discrete functions on subset si More... | |
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 More... | |
int | num_subsets () const |
returns number of subsets More... | |
size_t | offset (const ReferenceObjectID roid, const int si, const size_t fct) const |
returns the offset for reference element, subset and function More... | |
void | print_local_dof_statistic () const |
prints statistic on local dof distribution More... | |
void | print_local_dof_statistic (int verboseLev) const |
prints informations More... | |
void | set_dof_distribution_info (ConstSmartPtr< DoFDistributionInfo > spDDI) |
sets the dd info More... | |
SubsetGroup | subset_grp_by_name (const char *names) const |
returns subset group by name More... | |
ConstSmartPtr< ISubsetHandler > | subset_handler () const |
returns the subset handler More... | |
int | subset_id_by_name (const char *name) const |
returns the subset id More... | |
std::string | subset_name (int si) const |
returns subset name More... | |
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 More... | |
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 More... | |
void | check_subsets () |
checks that subset assignment is ok More... | |
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 More... | |
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 More... | |
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 More... | |
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 More... | |
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 More... | |
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 More... | |
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 More... | |
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 More... | |
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 More... | |
template<typename TBaseElem > | |
void | permute_indices (const std::vector< size_t > &vNewInd) |
template<typename TBaseElem > | |
void | reinit () |
initializes the indices More... | |
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 More... | |
GridLevel | m_gridLevel |
Grid level. More... | |
size_t | m_numIndex |
number of distributed indices on whole domain More... | |
MultiGrid * | m_pMG |
SmartPtr< AlgebraLayouts > | m_spAlgebraLayouts |
algebra layouts More... | |
SmartPtr< DoFIndexStorage > | m_spDoFIndexStorage |
DoF-Index Memory Storage. More... | |
SmartPtr< MultiGrid > | m_spMG |
Multi Grid. More... | |
SmartPtr< MGSubsetHandler > | m_spMGSH |
Subset Handler. More... | |
SmartPtr< SurfaceView > | m_spSurfView |
MultiGrid Subset Handler. More... | |
std::vector< size_t > | m_vNumIndexOnSubset |
number of distributed indices on each subset More... | |
std::vector< IGridFunction * > | m_vpGridFunction |
managed grid functions More... | |
Protected Attributes inherited from ug::DoFDistributionInfoProvider | |
ConstSmartPtr< DoFDistributionInfo > | m_spDDI |
Function Pattern. More... | |
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 |
References ug::Grid::associated_elements_sorted(), ug::LocalIndices::clear_dof(), dim, ug::DoFDistributionInfoProvider::dim(), ug::EDGE, ug::FACE, m_pMG, ug::DoFDistributionInfoProvider::max_dofs(), ug::DoFDistributionInfoProvider::num_fct(), ug::LocalIndices::resize_fct(), ug::VERTEX, and ug::VOLUME.
|
protected |
References extract_inner_algebra_indices().
|
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 ug::GridObject::base_object_id(), ug::EDGE, ug::FACE, UG_THROW, ug::VERTEX, and ug::VOLUME.
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(), ug::DoFDistributionInfoProvider::offset(), and ug::PointerConstArray< TPtr >::size().
|
protected |
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(), ug::LocalIndices::push_back_multi_index(), and ug::PointerConstArray< TPtr >::size().
|
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(), ug::DoFDistributionInfoProvider::offset(), and ug::PointerConstArray< TPtr >::size().
|
protected |
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(), ug::LocalIndices::push_back_multi_index(), and ug::PointerConstArray< TPtr >::size().
|
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(), ug::DoFDistributionInfoProvider::offset(), and ug::PointerConstArray< TPtr >::size().
|
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(), ug::LocalIndices::push_back_multi_index(), and ug::PointerConstArray< TPtr >::size().
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 m_vpGridFunction.
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.
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(), ug::EDGE, ug::FACE, UG_THROW, ug::VERTEX, and ug::VOLUME.
Referenced by ug::StdTransfer< TDomain, TAlgebra >::assemble_prolongation(), and ug::StdTransfer< TDomain, TAlgebra >::assemble_restriction().
|
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(), ug::PointerConstArray< TPtr >::size(), 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(), and ug::PointerConstArray< TPtr >::size().
|
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, UG_THROW, ug::VERTEX, and ug::VOLUME.
|
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(), ug::PointerConstArray< TPtr >::size(), 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(), ug::ROID_VERTEX, and ug::PointerConstArray< TPtr >::size().
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, 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(), 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, UG_THROW, ug::VERTEX, and ug::VOLUME.
Referenced by ug::StdTransfer< TDomain, TAlgebra >::assemble_prolongation(), ug::StdTransfer< TDomain, TAlgebra >::assemble_prolongation_p1(), and ug::StdTransfer< TDomain, TAlgebra >::assemble_restriction().
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 ug::find(), and 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.
Referenced by permute_indices().
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, dim, 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.
|
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 |
Grid level.
Referenced by begin(), defaultValidSurfState(), end(), and grid_level().
|
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(), and layouts().
|
protected |
DoF-Index Memory Storage.
Referenced by DoFDistribution(), and obj_index().
Multi Grid.
Referenced by add(), add_indices_from_layouts(), 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(), collect_associated(), 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().