ug4
ug::DoFDistribution Class Reference

#include <dof_distribution.h>

+ Inheritance diagram for ug::DoFDistribution:

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 GridLevelgrid_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< SurfaceViewsurface_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< MultiGridmulti_grid ()
 
ConstSmartPtr< MultiGridmulti_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< AlgebraLayoutslayouts () const
 
SmartPtr< AlgebraLayoutslayouts ()
 
- 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< DoFDistributionInfodof_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< FunctionPatternfunction_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< ISubsetHandlersubset_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 LFEIDlocal_finite_element_id (size_t fct) const
 
const LFEIDlfeid (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...
 
MultiGridm_pMG
 
SmartPtr< AlgebraLayoutsm_spAlgebraLayouts
 algebra layouts More...
 
SmartPtr< DoFIndexStoragem_spDoFIndexStorage
 DoF-Index Memory Storage. More...
 
SmartPtr< MultiGridm_spMG
 Multi Grid. More...
 
SmartPtr< MGSubsetHandlerm_spMGSH
 Subset Handler. More...
 
SmartPtr< SurfaceViewm_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< DoFDistributionInfom_spDDI
 Function Pattern. More...
 

Constructor & Destructor Documentation

◆ DoFDistribution()

ug::DoFDistribution::DoFDistribution ( SmartPtr< MultiGrid spMG,
SmartPtr< MGSubsetHandler spMGSH,
ConstSmartPtr< DoFDistributionInfo spDDInfo,
SmartPtr< SurfaceView spSurfView,
const GridLevel level,
bool  bGrouped,
SmartPtr< DoFIndexStorage spDoFIndexStorage = SPNULL 
)

◆ ~DoFDistribution()

ug::DoFDistribution::~DoFDistribution ( )

destructor

Member Function Documentation

◆ _algebra_indices()

template<typename TBaseElem >
size_t ug::DoFDistribution::_algebra_indices ( TBaseElem elem,
std::vector< size_t > &  ind,
bool  bClear = true 
) const
protected

◆ _dof_indices()

template<typename TBaseElem >
size_t ug::DoFDistribution::_dof_indices ( TBaseElem elem,
size_t  fct,
std::vector< DoFIndex > &  ind,
bool  bHang = false,
bool  bClear = true 
) const
protected

◆ _indices()

◆ _inner_algebra_indices()

template<typename TBaseElem >
size_t ug::DoFDistribution::_inner_algebra_indices ( TBaseElem elem,
std::vector< size_t > &  ind,
bool  bClear = true 
) const
protected

◆ _inner_dof_indices()

template<typename TBaseElem >
size_t ug::DoFDistribution::_inner_dof_indices ( TBaseElem elem,
size_t  fct,
std::vector< DoFIndex > &  ind,
bool  bClear = true 
) const
protected

◆ add()

template<typename TBaseObject >
void ug::DoFDistribution::add ( TBaseObject *  obj,
const ReferenceObjectID  roid,
const int  si 
)
protected

◆ add_indices_from_layouts()

◆ algebra_indices() [1/5]

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.

Parameters
[in]elemthe element
[out]indvector of algebra indices
[in]bClearflag if vector has to be clear before insertion

◆ algebra_indices() [2/5]

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.

Parameters
[in]elemthe element
[out]indvector of algebra indices
[in]bClearflag if vector has to be clear before insertion

◆ algebra_indices() [3/5]

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.

Parameters
[in]elemthe element
[out]indvector of algebra indices
[in]bClearflag 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.

◆ algebra_indices() [4/5]

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.

Parameters
[in]elemthe element
[out]indvector of algebra indices
[in]bClearflag if vector has to be clear before insertion

◆ algebra_indices() [5/5]

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.

Parameters
[in]elemthe element
[out]indvector of algebra indices
[in]bClearflag if vector has to be clear before insertion

◆ begin() [1/8]

template<typename TElem >
traits<TElem>::iterator ug::DoFDistribution::begin ( )
inline

iterator for elements where dofs are defined

References defaultValidSurfState(), m_gridLevel, and m_spSurfView.

Referenced by get_connections().

◆ begin() [2/8]

template<typename TElem >
traits<TElem>::const_iterator ug::DoFDistribution::begin ( ) const
inline

iterator for elements where dofs are defined

References defaultValidSurfState(), m_gridLevel, and m_spSurfView.

◆ begin() [3/8]

template<typename TElem >
traits<TElem>::iterator ug::DoFDistribution::begin ( int  si)
inline

iterator for elements where dofs are defined

References defaultValidSurfState(), m_gridLevel, and m_spSurfView.

◆ begin() [4/8]

template<typename TElem >
traits<TElem>::const_iterator ug::DoFDistribution::begin ( int  si) const
inline

iterator for elements where dofs are defined

References defaultValidSurfState(), m_gridLevel, and m_spSurfView.

◆ begin() [5/8]

template<typename TElem >
traits<TElem>::iterator ug::DoFDistribution::begin ( int  si,
SurfaceView::SurfaceConstants  validStates 
)
inline

iterator for elements where dofs are defined

References m_gridLevel, and m_spSurfView.

◆ begin() [6/8]

template<typename TElem >
traits<TElem>::const_iterator ug::DoFDistribution::begin ( int  si,
SurfaceView::SurfaceConstants  validStates 
) const
inline

iterator for elements where dofs are defined

References m_gridLevel, and m_spSurfView.

◆ begin() [7/8]

template<typename TElem >
traits<TElem>::iterator ug::DoFDistribution::begin ( SurfaceView::SurfaceConstants  validStates)
inline

iterator for elements where dofs are defined

References m_gridLevel, and m_spSurfView.

◆ begin() [8/8]

template<typename TElem >
traits<TElem>::const_iterator ug::DoFDistribution::begin ( SurfaceView::SurfaceConstants  validStates) const
inline

iterator for elements where dofs are defined

References m_gridLevel, and m_spSurfView.

◆ changable_indices()

template<typename TBaseElem >
void ug::DoFDistribution::changable_indices ( std::vector< size_t > &  vIndex,
const std::vector< TBaseElem * > &  vElem 
) const
protected

returns indices, that can be changed on the element

References m_spMGSH, obj_index(), and UG_ASSERT.

◆ check_subsets()

void ug::DoFDistribution::check_subsets ( )
protected

checks that subset assignment is ok

References ug::ElementDebugInfo(), m_spMGSH, multi_grid(), UG_LOGN, and UG_THROW.

Referenced by DoFDistribution().

◆ collect_associated() [1/2]

template<typename TBaseElem >
void ug::DoFDistribution::collect_associated ( std::vector< TBaseElem * > &  vAssElem,
GridObject elem,
bool  clearContainer = true 
) const
inline

References UG_THROW.

◆ collect_associated() [2/2]

template<typename TElem , typename TBaseElem >
void ug::DoFDistribution::collect_associated ( std::vector< TBaseElem * > &  vAssElem,
TElem *  elem,
bool  clearContainer = true 
) const
inline

◆ constrained_edge_dof_indices()

template<typename TBaseElem , typename TConstraining , typename TConstrained , typename TSubElem >
void ug::DoFDistribution::constrained_edge_dof_indices ( TBaseElem elem,
size_t  fct,
std::vector< DoFIndex > &  ind,
const typename Grid::traits< TSubElem >::secure_container &  vSubElem 
) const
protected

◆ constrained_edge_indices()

template<typename TBaseElem , typename TConstraining , typename TConstrained , typename TSubElem >
void ug::DoFDistribution::constrained_edge_indices ( TBaseElem elem,
LocalIndices ind,
const typename Grid::traits< TSubElem >::secure_container &  vSubElem 
) const
protected

◆ constrained_face_dof_indices()

template<typename TBaseElem , typename TConstraining , typename TConstrained , typename TSubElem >
void ug::DoFDistribution::constrained_face_dof_indices ( TBaseElem elem,
size_t  fct,
std::vector< DoFIndex > &  ind,
const typename Grid::traits< TSubElem >::secure_container &  vSubElem 
) const
protected

◆ constrained_face_indices()

template<typename TBaseElem , typename TConstraining , typename TConstrained , typename TSubElem >
void ug::DoFDistribution::constrained_face_indices ( TBaseElem elem,
LocalIndices ind,
const typename Grid::traits< TSubElem >::secure_container &  vSubElem 
) const
protected

◆ constrained_vertex_dof_indices()

template<typename TConstraining , typename TConstrained , typename TBaseElem >
void ug::DoFDistribution::constrained_vertex_dof_indices ( size_t  fct,
std::vector< DoFIndex > &  ind,
const typename Grid::traits< TBaseElem >::secure_container &  vSubElem 
) const
protected

◆ constrained_vertex_indices()

template<typename TConstraining , typename TConstrained , typename TBaseElem >
void ug::DoFDistribution::constrained_vertex_indices ( LocalIndices ind,
const typename Grid::traits< TBaseElem >::secure_container &  vSubElem 
) const
protected

◆ copy_values()

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.

◆ defaultValidSurfState()

SurfaceView::SurfaceConstants ug::DoFDistribution::defaultValidSurfState ( ) const

◆ dof_count()

◆ dof_indices() [1/6]

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.

Parameters
[in]elemthe element
[in]fctthe function
[out]indvector of multi indices
[in]bHangflag if extracting of constrained dofs required
[in]bClearflag if vector has to be clear before insertion

◆ dof_indices() [2/6]

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.

Parameters
[in]elemthe element
[in]fctthe function
[out]indvector of multi indices
[in]bHangflag if extracting of constrained dofs required
[in]bClearflag if vector has to be clear before insertion

◆ dof_indices() [3/6]

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.

Parameters
[in]elemthe element
[in]fctthe function
[out]indvector of multi indices
[in]bHangflag if extracting of constrained dofs required
[in]bClearflag 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().

◆ dof_indices() [4/6]

template<typename TBaseElem , typename TSubBaseElem >
void ug::DoFDistribution::dof_indices ( TBaseElem elem,
const ReferenceObjectID  roid,
size_t  fct,
std::vector< DoFIndex > &  ind,
const typename Grid::traits< TSubBaseElem >::secure_container &  vElem 
) const
protected

◆ dof_indices() [5/6]

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.

Parameters
[in]elemthe element
[in]fctthe function
[out]indvector of multi indices
[in]bHangflag if extracting of constrained dofs required
[in]bClearflag if vector has to be clear before insertion

◆ dof_indices() [6/6]

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.

Parameters
[in]elemthe element
[in]fctthe function
[out]indvector of multi indices
[in]bHangflag if extracting of constrained dofs required
[in]bClearflag if vector has to be clear before insertion

◆ end() [1/8]

template<typename TElem >
traits<TElem>::iterator ug::DoFDistribution::end ( )
inline

iterator for elements where dofs are defined

References defaultValidSurfState(), m_gridLevel, and m_spSurfView.

Referenced by get_connections().

◆ end() [2/8]

template<typename TElem >
traits<TElem>::const_iterator ug::DoFDistribution::end ( ) const
inline

iterator for elements where dofs are defined

References defaultValidSurfState(), m_gridLevel, and m_spSurfView.

◆ end() [3/8]

template<typename TElem >
traits<TElem>::iterator ug::DoFDistribution::end ( int  si)
inline

iterator for elements where dofs are defined

References defaultValidSurfState(), m_gridLevel, and m_spSurfView.

◆ end() [4/8]

template<typename TElem >
traits<TElem>::const_iterator ug::DoFDistribution::end ( int  si) const
inline

iterator for elements where dofs are defined

References defaultValidSurfState(), m_gridLevel, and m_spSurfView.

◆ end() [5/8]

template<typename TElem >
traits<TElem>::iterator ug::DoFDistribution::end ( int  si,
SurfaceView::SurfaceConstants  validStates 
)
inline

iterator for elements where dofs are defined

References m_gridLevel, and m_spSurfView.

◆ end() [6/8]

template<typename TElem >
traits<TElem>::const_iterator ug::DoFDistribution::end ( int  si,
SurfaceView::SurfaceConstants  validStates 
) const
inline

iterator for elements where dofs are defined

References m_gridLevel, and m_spSurfView.

◆ end() [7/8]

template<typename TElem >
traits<TElem>::iterator ug::DoFDistribution::end ( SurfaceView::SurfaceConstants  validStates)
inline

iterator for elements where dofs are defined

References m_gridLevel, and m_spSurfView.

◆ end() [8/8]

template<typename TElem >
traits<TElem>::const_iterator ug::DoFDistribution::end ( SurfaceView::SurfaceConstants  validStates) const
inline

iterator for elements where dofs are defined

References m_gridLevel, and m_spSurfView.

◆ extract_inner_algebra_indices() [1/2]

template<typename TBaseElem >
void ug::DoFDistribution::extract_inner_algebra_indices ( const typename Grid::traits< TBaseElem >::secure_container &  vElem,
std::vector< size_t > &  ind 
) const
protected

adds all algebra indices of a set of geometric objects

References inner_algebra_indices(), and ug::PointerConstArray< TPtr >::size().

◆ extract_inner_algebra_indices() [2/2]

template<typename TBaseElem >
size_t ug::DoFDistribution::extract_inner_algebra_indices ( TBaseElem elem,
std::vector< size_t > &  ind 
) const
protected

◆ get_connections() [1/2]

void ug::DoFDistribution::get_connections ( std::vector< std::vector< size_t > > &  vvConnection) const

◆ get_connections() [2/2]

template<typename TBaseElem >
void ug::DoFDistribution::get_connections ( std::vector< std::vector< size_t > > &  vvConnection) const

◆ grid_level()

const GridLevel& ug::DoFDistribution::grid_level ( ) const
inline

◆ grouped()

bool ug::DoFDistribution::grouped ( ) const
inline

returns if dofs are grouped

References m_bGrouped.

Referenced by get_connections().

◆ indices() [1/6]

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.

Parameters
[in]elemthe element
[out]indLocal indices
[in]bHangflag if extracting of constrained dofs required

◆ indices() [2/6]

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.

Parameters
[in]elemthe element
[out]indLocal indices
[in]bHangflag if extracting of constrained dofs required

◆ indices() [3/6]

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.

Parameters
[in]elemthe element
[out]indLocal indices
[in]bHangflag if extracting of constrained dofs required

References ug::GridObject::base_object_id(), ug::EDGE, ug::FACE, UG_THROW, ug::VERTEX, and ug::VOLUME.

◆ indices() [4/6]

◆ indices() [5/6]

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.

Parameters
[in]elemthe element
[out]indLocal indices
[in]bHangflag if extracting of constrained dofs required

◆ indices() [6/6]

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.

Parameters
[in]elemthe element
[out]indLocal indices
[in]bHangflag if extracting of constrained dofs required

◆ indices_on_vertex()

◆ inner_algebra_indices() [1/5]

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.

Parameters
[in]elemthe element
[out]indvector of algebra indices
[in]bClearflag if vector has to be clear before insertion

◆ inner_algebra_indices() [2/5]

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.

Parameters
[in]elemthe element
[out]indvector of algebra indices
[in]bClearflag if vector has to be clear before insertion

◆ inner_algebra_indices() [3/5]

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.

Parameters
[in]elemthe element
[out]indvector of algebra indices
[in]bClearflag 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().

◆ inner_algebra_indices() [4/5]

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.

Parameters
[in]elemthe element
[out]indvector of algebra indices
[in]bClearflag if vector has to be clear before insertion

◆ inner_algebra_indices() [5/5]

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.

Parameters
[in]elemthe element
[out]indvector of algebra indices
[in]bClearflag if vector has to be clear before insertion

◆ inner_algebra_indices_for_fct()

◆ inner_dof_indices() [1/5]

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.

Parameters
[in]elemthe element
[in]fctthe function
[out]indvector of multi indices
[in]bClearflag if vector has to be clear before insertion

◆ inner_dof_indices() [2/5]

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.

Parameters
[in]elemthe element
[in]fctthe function
[out]indvector of multi indices
[in]bClearflag if vector has to be clear before insertion

◆ inner_dof_indices() [3/5]

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.

Parameters
[in]elemthe element
[in]fctthe function
[out]indvector of multi indices
[in]bClearflag 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().

◆ inner_dof_indices() [4/5]

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.

Parameters
[in]elemthe element
[in]fctthe function
[out]indvector of multi indices
[in]bClearflag if vector has to be clear before insertion

◆ inner_dof_indices() [5/5]

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.

Parameters
[in]elemthe element
[in]fctthe function
[out]indvector of multi indices
[in]bClearflag if vector has to be clear before insertion

◆ is_contained()

template<class TGeomObj >
bool ug::DoFDistribution::is_contained ( TGeomObj *  obj) const
inline

◆ layouts() [1/2]

SmartPtr<AlgebraLayouts> ug::DoFDistribution::layouts ( )
inline

returns algebra layouts

References m_spAlgebraLayouts.

◆ layouts() [2/2]

ConstSmartPtr<AlgebraLayouts> ug::DoFDistribution::layouts ( ) const
inline

returns algebra layouts

References m_spAlgebraLayouts.

Referenced by reinit_layouts_and_communicator().

◆ manage_grid_function()

void ug::DoFDistribution::manage_grid_function ( IGridFunction gridFct)

registers a grid function for adaptation management

References ug::find(), and m_vpGridFunction.

◆ multi_grid() [1/2]

◆ multi_grid() [2/2]

ConstSmartPtr<MultiGrid> ug::DoFDistribution::multi_grid ( ) const
inline

returns the multigrid

References m_spMG.

◆ num_indices() [1/2]

◆ num_indices() [2/2]

size_t ug::DoFDistribution::num_indices ( int  si) const
inline

return the number of dofs distributed on subset si

References m_vNumIndexOnSubset.

◆ obj_index() [1/2]

◆ obj_index() [2/2]

template<typename TElem >
const size_t& ug::DoFDistribution::obj_index ( TElem *  obj) const
inlineprotected

returns the index assigned to a grid object

References m_spDoFIndexStorage.

◆ permute_indices() [1/2]

void ug::DoFDistribution::permute_indices ( const std::vector< size_t > &  vIndNew)

◆ permute_indices() [2/2]

template<typename TBaseElem >
void ug::DoFDistribution::permute_indices ( const std::vector< size_t > &  vNewInd)
protected

◆ permute_values()

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().

◆ reinit() [1/2]

◆ reinit() [2/2]

◆ reinit_index_layout()

void ug::DoFDistribution::reinit_index_layout ( IndexLayout layout,
int  keyType 
)
protected

◆ reinit_layouts_and_communicator()

◆ resize_values()

void ug::DoFDistribution::resize_values ( size_t  newSize)

changes values in managed functions, number of indices changed

References m_vpGridFunction.

◆ sort_constrained_edges()

template<typename TBaseElem , typename TConstraining , typename TConstrained >
void ug::DoFDistribution::sort_constrained_edges ( std::vector< size_t > &  sortedInd,
TBaseElem elem,
TConstraining *  constrainingObj,
size_t  objIndex 
) const
protected

◆ sort_constrained_faces()

template<typename TBaseElem , typename TConstraining , typename TConstrained >
void ug::DoFDistribution::sort_constrained_faces ( std::vector< size_t > &  sortedInd,
TBaseElem elem,
TConstraining *  constrainingObj,
size_t  objIndex 
) const
protected

◆ sum_dof_count()

◆ surface_view()

ConstSmartPtr<SurfaceView> ug::DoFDistribution::surface_view ( ) const
inline

returns the surface view

References m_spSurfView.

◆ unmanage_grid_function()

void ug::DoFDistribution::unmanage_grid_function ( IGridFunction gridFct)

unregisters a grid function for adaptation management

References m_vpGridFunction.

Member Data Documentation

◆ m_bGrouped

◆ m_gridLevel

GridLevel ug::DoFDistribution::m_gridLevel
protected

Grid level.

Referenced by begin(), defaultValidSurfState(), end(), and grid_level().

◆ m_numIndex

size_t ug::DoFDistribution::m_numIndex
protected

number of distributed indices on whole domain

Referenced by add(), num_indices(), and reinit().

◆ m_pMG

MultiGrid* ug::DoFDistribution::m_pMG
protected

◆ m_spAlgebraLayouts

SmartPtr<AlgebraLayouts> ug::DoFDistribution::m_spAlgebraLayouts
protected

algebra layouts

Referenced by DoFDistribution(), and layouts().

◆ m_spDoFIndexStorage

SmartPtr<DoFIndexStorage> ug::DoFDistribution::m_spDoFIndexStorage
protected

DoF-Index Memory Storage.

Referenced by DoFDistribution(), and obj_index().

◆ m_spMG

SmartPtr<MultiGrid> ug::DoFDistribution::m_spMG
protected

◆ m_spMGSH

◆ m_spSurfView

SmartPtr<SurfaceView> ug::DoFDistribution::m_spSurfView
protected

◆ m_vNumIndexOnSubset

std::vector<size_t> ug::DoFDistribution::m_vNumIndexOnSubset
protected

number of distributed indices on each subset

Referenced by add(), DoFDistribution(), num_indices(), and reinit().

◆ m_vpGridFunction

std::vector<IGridFunction*> ug::DoFDistribution::m_vpGridFunction
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().


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