ug4
|
represents numerical solutions on a grid using an algebraic vector More...
#include <grid_function.h>
Classes | |
struct | dim_traits |
struct | traits |
iterator traits More... | |
Public Types | |
typedef TAlgebra | algebra_type |
Algebra type. More... | |
typedef ApproximationSpace< TDomain > | approximation_space_type |
Type of Approximation space. More... | |
typedef dim_traits< dim >::const_iterator | const_element_iterator |
typedef dim_traits< dim-1 >::const_iterator | const_side_iterator |
typedef TDomain | domain_type |
Domain. More... | |
typedef dim_traits< dim >::iterator | element_iterator |
typedef dim_traits< dim >::grid_base_object | element_type |
typedef dim_traits< dim-1 >::iterator | side_iterator |
typedef dim_traits< dim-1 >::grid_base_object | side_type |
typedef GridFunction< TDomain, TAlgebra > | this_type |
This type. More... | |
typedef algebra_type::vector_type | vector_type |
Vector type used to store dof values. More... | |
Public Member Functions | |
template<typename TElem > | |
size_t | algebra_indices (TElem *elem, std::vector< size_t > &ind, bool bClear=true) const |
get algebra indices on an geometric object in canonical order More... | |
SmartPtr< ApproximationSpace< TDomain > > | approx_space () |
returns approx space More... | |
ConstSmartPtr< ApproximationSpace< TDomain > > | approx_space () const |
returns const domain More... | |
void | assign (const this_type &v) |
assigns another GridFunction More... | |
void | assign (const vector_type &v) |
assigns the values of a vector More... | |
SmartPtr< this_type > | clone () const |
clone including values More... | |
virtual void | clone_pattern (const this_type &v) |
copies the GridFunction v, except that the values are copied. More... | |
SmartPtr< this_type > | clone_without_values () const |
clone excluding values More... | |
template<typename TElem , typename TBaseElem > | |
void | collect_associated (std::vector< TBaseElem * > &vAssElem, TElem *elem, bool clearContainer=true) const |
returns the adjacend elements More... | |
virtual void | copy_values (const std::vector< std::pair< size_t, size_t > > &vIndexMap, bool bDisjunct=false) |
copy values More... | |
template<typename TElem > | |
size_t | dof_indices (TElem *elem, size_t fct, std::vector< DoFIndex > &ind, bool bHang=false, bool bClear=true) const |
get multi indices on an finite element in canonical order More... | |
SmartPtr< TDomain > | domain () |
returns domain More... | |
ConstSmartPtr< TDomain > | domain () const |
returns const domain More... | |
void | enable_redistribution (bool enable) |
enables or disables redistribution for this grid function More... | |
const GridLevel & | grid_level () const |
returns the grid level More... | |
GridFunction (const this_type &v) | |
Copy constructor. More... | |
GridFunction (SmartPtr< ApproximationSpace< TDomain > > spApproxSpace, bool bManage=true) | |
Initializing Constructor using surface dof distribution. More... | |
GridFunction (SmartPtr< ApproximationSpace< TDomain > > spApproxSpace, const GridLevel &gl, bool bManage=true) | |
Initializing Constructor using a grid level. More... | |
GridFunction (SmartPtr< ApproximationSpace< TDomain > > spApproxSpace, int level, bool bManage=true) | |
Initializing Constructor using surface dof distribution on a level. More... | |
GridFunction (SmartPtr< ApproximationSpace< TDomain > > spApproxSpace, SmartPtr< DoFDistribution > spDoFDistr, bool bManage=true) | |
Initializing Constructor. More... | |
template<typename TElem > | |
void | indices (TElem *elem, LocalIndices &ind, bool bHang=false) const |
get all indices of the element More... | |
template<typename TElem > | |
size_t | inner_algebra_indices (TElem *elem, std::vector< size_t > &ind, bool bClear=true) const |
get algebra indices on an geometric object in canonical order More... | |
template<typename TElem > | |
size_t | inner_dof_indices (TElem *elem, size_t fct, std::vector< DoFIndex > &ind, bool bClear=true) const |
get multi indices on an geometric object in canonical order More... | |
template<class TGeomObj > | |
bool | is_contained (TGeomObj *obj) const |
returns if the grid object is part of this grid function More... | |
bool | managed () const |
return m_bManaged More... | |
size_t | num_indices () const |
return the number of indices distributed (proc local) More... | |
size_t | num_indices (int si) const |
return the number of indices distributed on subset si (proc local) More... | |
this_type & | operator= (const this_type &v) |
assigns another grid function More... | |
this_type & | operator= (number d) |
assigns constant value More... | |
virtual void | permute_values (const std::vector< size_t > &vIndNew) |
permutes all values More... | |
bool | redistribution_enabled () const |
retruns true if the grid-function is redistributed together with the grid in parallel applications More... | |
virtual void | resize_values (size_t s, number defaultValue=0.0) |
resize More... | |
void | SetConsistentStorageType () |
virtual | ~GridFunction () |
Destructor. More... | |
SmartPtr< DoFDistribution > | dof_distribution () |
SmartPtr< DoFDistribution > | dd () |
ConstSmartPtr< DoFDistribution > | dof_distribution () const |
ConstSmartPtr< DoFDistribution > | dd () const |
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 >::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 |
size_t | num_dofs () const |
size_t | num_dofs (int fct) const |
size_t | num_dofs (int fct, int si) const |
Public Member Functions inherited from ug::IGridFunction | |
virtual | ~IGridFunction () |
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 |
Static Public Attributes | |
static const int | dim = domain_type::dim |
World Dimension. More... | |
Protected Member Functions | |
void | check_algebra () |
checks the algebra More... | |
void | grid_changed_callback (const GridMessage_Adaption &msg) |
void | grid_distribution_callback (const GridMessage_Distribution &msg) |
called during parallel redistribution More... | |
void | init (SmartPtr< ApproximationSpace< TDomain > > spApproxSpace, SmartPtr< DoFDistribution > spDoFDistr, bool bManage) |
inits the grid function More... | |
void | register_at_adaption_msg_hub () |
registers at message hub for grid adaption More... | |
virtual this_type * | virtual_clone () const |
virtual clone using covariant return type More... | |
virtual this_type * | virtual_clone_without_values () const |
virtual clone using covariant return type excluding values More... | |
Protected Attributes | |
bool | m_bManaged |
boolean for DoF Distribution management of grid function More... | |
bool | m_bRedistribute |
specifies whether the gridfunction should be redistributed together with the grid. More... | |
uint | m_preDistStorageType |
stores the storage-type from before redistribution More... | |
SmartPtr< AdaptionSurfaceGridFunction< TDomain > > | m_spAdaptGridFct |
adaption grid function for temporary storage of values in grid More... | |
SmartPtr< ApproximationSpace< TDomain > > | m_spApproxSpace |
Approximation Space. More... | |
SmartPtr< DoFDistribution > | m_spDD |
DoF Distribution this GridFunction relies on. More... | |
MessageHub::SPCallbackId | m_spGridAdaptionCallbackID |
message hub id More... | |
MessageHub::SPCallbackId | m_spGridDistributionCallbackID |
Protected Attributes inherited from ug::DoFDistributionInfoProvider | |
ConstSmartPtr< DoFDistributionInfo > | m_spDDI |
Function Pattern. More... | |
represents numerical solutions on a grid using an algebraic vector
A grid function brings approximation space and algebra together. For a given DoF Distribution (e.g. a level dof distribution or a surface dof distribution) the grid function stores the values of the DoFs in an algebraic vector. In addition access to the grid elements is provided and the mapping between grid elements and DoFs is provided.
TDomain | domain type |
TAlgebra | algebra type |
typedef TAlgebra ug::GridFunction< TDomain, TAlgebra >::algebra_type |
Algebra type.
typedef ApproximationSpace<TDomain> ug::GridFunction< TDomain, TAlgebra >::approximation_space_type |
Type of Approximation space.
typedef dim_traits<dim>::const_iterator ug::GridFunction< TDomain, TAlgebra >::const_element_iterator |
typedef dim_traits<dim-1>::const_iterator ug::GridFunction< TDomain, TAlgebra >::const_side_iterator |
typedef TDomain ug::GridFunction< TDomain, TAlgebra >::domain_type |
typedef dim_traits<dim>::iterator ug::GridFunction< TDomain, TAlgebra >::element_iterator |
typedef dim_traits<dim>::grid_base_object ug::GridFunction< TDomain, TAlgebra >::element_type |
typedef dim_traits<dim-1>::iterator ug::GridFunction< TDomain, TAlgebra >::side_iterator |
typedef dim_traits<dim-1>::grid_base_object ug::GridFunction< TDomain, TAlgebra >::side_type |
typedef GridFunction<TDomain, TAlgebra> ug::GridFunction< TDomain, TAlgebra >::this_type |
This type.
typedef algebra_type::vector_type ug::GridFunction< TDomain, TAlgebra >::vector_type |
Vector type used to store dof values.
ug::GridFunction< TDomain, TAlgebra >::GridFunction | ( | SmartPtr< ApproximationSpace< TDomain > > | spApproxSpace, |
SmartPtr< DoFDistribution > | spDoFDistr, | ||
bool | bManage = true |
||
) |
Initializing Constructor.
References init().
ug::GridFunction< TDomain, TAlgebra >::GridFunction | ( | SmartPtr< ApproximationSpace< TDomain > > | spApproxSpace, |
bool | bManage = true |
||
) |
Initializing Constructor using surface dof distribution.
References init(), ug::GridLevel::SURFACE, and ug::GridLevel::TOP.
ug::GridFunction< TDomain, TAlgebra >::GridFunction | ( | SmartPtr< ApproximationSpace< TDomain > > | spApproxSpace, |
int | level, | ||
bool | bManage = true |
||
) |
Initializing Constructor using surface dof distribution on a level.
References init(), and ug::GridLevel::SURFACE.
ug::GridFunction< TDomain, TAlgebra >::GridFunction | ( | SmartPtr< ApproximationSpace< TDomain > > | spApproxSpace, |
const GridLevel & | gl, | ||
bool | bManage = true |
||
) |
Initializing Constructor using a grid level.
References init().
|
inline |
Copy constructor.
References ug::GridFunction< TDomain, TAlgebra >::assign().
|
inlinevirtual |
Destructor.
References ug::GridFunction< TDomain, TAlgebra >::m_spDD.
|
inline |
get algebra indices on an geometric object in canonical order
References ug::GridFunction< TDomain, TAlgebra >::m_spDD.
Referenced by ug::ElementGaussSeidelStep().
|
inline |
returns approx space
References ug::GridFunction< TDomain, TAlgebra >::m_spApproxSpace.
Referenced by ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::calc_error(), ug::AdaptionSurfaceGridFunction< TDomain >::copy_from_surface(), ug::AdaptionSurfaceGridFunction< TDomain >::copy_to_surface(), ug::StdTransfer< TDomain, TAlgebra >::do_restrict(), ug::ElementGaussSeidelStep(), ug::ComponentGaussSeidel< TDomain, TAlgebra >::extract_blocks(), ug::VertexCenteredVankaSubspace< TDomain, TAlgebra >::extract_ids(), and ug::StdTransfer< TDomain, TAlgebra >::prolongate().
|
inline |
returns const domain
References ug::GridFunction< TDomain, TAlgebra >::m_spApproxSpace.
void ug::GridFunction< TDomain, TAlgebra >::assign | ( | const this_type & | v | ) |
assigns another GridFunction
Referenced by ug::GridFunction< TDomain, TAlgebra >::GridFunction(), and ug::GridFunction< TDomain, TAlgebra >::operator=().
void ug::GridFunction< TDomain, TAlgebra >::assign | ( | const vector_type & | v | ) |
assigns the values of a vector
References UG_THROW.
|
inline |
iterator for elements where this grid function is defined
References ug::GridFunction< TDomain, TAlgebra >::m_spDD.
|
inline |
iterator for elements where this grid function is defined
References ug::GridFunction< TDomain, TAlgebra >::m_spDD.
|
inline |
iterator for elements where this grid function is defined
References ug::GridFunction< TDomain, TAlgebra >::m_spDD.
|
inline |
iterator for elements where this grid function is defined
References ug::GridFunction< TDomain, TAlgebra >::m_spDD.
|
protected |
checks the algebra
References UG_THROW, and ug::AlgebraType::VariableBlockSize.
|
inline |
clone including values
References ug::GridFunction< TDomain, TAlgebra >::virtual_clone().
|
virtual |
copies the GridFunction v, except that the values are copied.
References init(), ug::GridFunction< TDomain, TAlgebra >::m_bManaged, ug::GridFunction< TDomain, TAlgebra >::m_spApproxSpace, ug::GridFunction< TDomain, TAlgebra >::m_spDD, and ug::GridFunction< TDomain, TAlgebra >::redistribution_enabled().
|
inline |
clone excluding values
References ug::GridFunction< TDomain, TAlgebra >::virtual_clone_without_values().
Referenced by ug::IProjGaussSeidel< TDomain, TAlgebra >::apply(), ug::ComponentGaussSeidel< TDomain, TAlgebra >::extract_blocks(), ug::GridFunctionOrdering< TDomain, TAlgebra >::GridFunctionOrdering(), ug::GridPointsOrdering< TDomain, TAlgebra >::GridPointsOrdering(), ug::MGStats< TDomain, TAlgebra >::set_defect(), and ug::SortedGridFunctionOrdering< TDomain, TAlgebra >::SortedGridFunctionOrdering().
|
inline |
returns the adjacend elements
References ug::GridFunction< TDomain, TAlgebra >::m_spDD.
Referenced by ug::ElementGaussSeidelStep(), ug::VertexCenteredVankaSubspace< TDomain, TAlgebra >::init(), and ug::VertexBasedSubspace< TDomain, TAlgebra >::init().
|
virtual |
copy values
This method copies values between indices according to the passed mapping. The copy of the values is are performed as:
for all i: newIndex = vIndexMap[i].second oldIndex = vIndexMap[i].first value[newIndex] <- value[oldIndex]
If the copy operation is known to be a disjunct composition (i.e. each index appears only in one operation), this can be specified by a flag. In this case the order in which the copying is performed is arbitrary and this will save a copy operation of the whole vector.
[in] | vIndexMap | vector of index mappings (indexOld, indexNew) |
[in] | bDisjunct | flag, if permutation disjunct |
Implements ug::IGridFunction.
|
inline |
returns dof distribution
References ug::GridFunction< TDomain, TAlgebra >::dof_distribution().
Referenced by ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::calc_error(), and ug::NestedIterationSolver< TDomain, TAlgebra >::estimate_and_mark_domain().
|
inline |
returns dof distribution
References ug::GridFunction< TDomain, TAlgebra >::dof_distribution().
|
inline |
returns dof distribution
References ug::GridFunction< TDomain, TAlgebra >::m_spDD.
Referenced by ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::adjust_solution(), ug::ConstrainedLinearIterator< TDomain, TAlgebra, TLinIt, typename >::apply(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::assemble_defect(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::assemble_jacobian(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::assemble_linear(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::assemble_rhs(), ug::AdaptionSurfaceGridFunction< TDomain >::copy_from_surface(), ug::GridFunction< TDomain, TAlgebra >::dd(), ug::AssembledMultiGridCycle< TDomain, TAlgebra >::init(), ug::AssembledTransformingSmoother< TDomain, TAlgebra >::init(), ug::IObstacleConstraint< TDomain, TAlgebra >::IObstacleConstraint(), ug::MarkForAdaption_AbsoluteGradientIndicator(), ug::MarkForAdaption_AbsoluteGradientJumpIndicator(), ug::MarkForAdaption_GradientIndicator(), ug::MarkForAdaption_GradientJumpIndicator(), ug::MarkForCoarsenening_SurfaceLayer(), ug::ObstacleInNormalDir< TDomain, TAlgebra >::ObstacleInNormalDir(), ug::ConstrainedLinearIterator< TDomain, TAlgebra, TLinIt, typename >::apply_update_defect_impl< S, typename >::operator()(), ug::ActiveSet< TDomain, TAlgebra >::prepare(), ug::Prolongate(), ug::ProlongateElemwise(), ug::ProlongateP1(), ug::Restrict(), ug::RestrictElemwise(), and ug::RestrictP1().
|
inline |
returns dof distribution
References ug::GridFunction< TDomain, TAlgebra >::m_spDD.
|
inline |
get multi indices on an finite element in canonical order
References ug::GridFunction< TDomain, TAlgebra >::m_spDD.
Referenced by ug::ElementGaussSeidelStep().
|
inline |
returns domain
References ug::GridFunction< TDomain, TAlgebra >::m_spApproxSpace.
Referenced by ug::ActiveSet< TDomain, TAlgebra >::active_index_elem(), ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >::calc_error(), ug::ActiveSet< TDomain, TAlgebra >::check_conv_elem(), ug::AdaptionSurfaceGridFunction< TDomain >::copy_to_surface(), ug::GridPointsOrdering< TDomain, TAlgebra >::count_sizes(), ug::GridPointsOrdering< TDomain, TAlgebra >::create_vtkoutput_ordering(), ug::DirectionalOrdering< TAlgebra, TDomain, O_t >::init(), ug::LexOrdering< TAlgebra, TDomain, O_t >::init(), ug::RiverOrdering< TAlgebra, TDomain, O_t >::init(), ug::IObstacleConstraint< TDomain, TAlgebra >::IObstacleConstraint(), ug::MarkForAdaption_AbsoluteGradientIndicator(), ug::MarkForAdaption_AbsoluteGradientJumpIndicator(), ug::MarkForAdaption_GradientIndicator(), ug::MarkForAdaption_GradientJumpIndicator(), ug::MarkForAdaption_ResidualErrorP1Absolute(), ug::MarkForAdaption_ResidualErrorP1Relative(), ug::GridPointsOrdering< TDomain, TAlgebra >::number_points_elementwise(), ug::ObstacleInNormalDir< TDomain, TAlgebra >::ObstacleInNormalDir(), ug::ActiveSet< TDomain, TAlgebra >::prepare(), ug::Prolongate(), ug::ProlongateElemwise(), ug::ProlongateP1(), ug::Restrict(), ug::RestrictElemwise(), and ug::RestrictP1().
|
inline |
returns const domain
References ug::GridFunction< TDomain, TAlgebra >::m_spApproxSpace.
|
inline |
enables or disables redistribution for this grid function
References ug::GridFunction< TDomain, TAlgebra >::m_bRedistribute.
|
inline |
iterator for elements where this grid function is defined
References ug::GridFunction< TDomain, TAlgebra >::m_spDD.
|
inline |
iterator for elements where this grid function is defined
References ug::GridFunction< TDomain, TAlgebra >::m_spDD.
|
inline |
iterator for elements where this grid function is defined
References ug::GridFunction< TDomain, TAlgebra >::m_spDD.
|
inline |
iterator for elements where this grid function is defined
References ug::GridFunction< TDomain, TAlgebra >::m_spDD.
|
protected |
this callback is called by the message hub, when a grid change has been performed. It will call all necessary actions in order to keep the grid correct for computations.
References ug::GridMessage_Adaption::adaption_begins(), ug::GridMessage_Adaption::adaption_ends(), ug::GridMessage_Adaption::coarsening(), pcl::InterfaceCommunicator< TLayout >::communicate(), ug::Grid::distributed_grid_manager(), ug::EDGE, pcl::InterfaceCommunicator< TLayout >::exchange_data(), ug::FACE, ug::DistributedGridManager::grid_layout_map(), ug::INT_V_MASTER, ug::INT_V_SLAVE, ug::GridMessage_Adaption::refinement(), SPNULL, ug::GridMessage_Adaption::step_begins(), ug::GridMessage_Adaption::step_ends(), ug::VERTEX, and ug::VOLUME.
|
protected |
called during parallel redistribution
References ug::GridDataSerializationHandler::add(), pcl::InterfaceCommunicator< TLayout >::communicate(), create(), ug::Grid::distributed_grid_manager(), ug::EDGE, pcl::InterfaceCommunicator< TLayout >::exchange_data(), ug::FACE, ug::GMDT_DISTRIBUTION_STARTS, ug::GMDT_DISTRIBUTION_STOPS, ug::DistributedGridManager::grid_layout_map(), ug::INT_V_MASTER, ug::INT_V_SLAVE, ug::GridMessage_Distribution::msg(), PROFILE_BEGIN, PROFILE_END, PROFILE_FUNC, ug::PST_ADDITIVE, ug::PST_CONSISTENT, ug::PST_UNDEFINED, ug::PST_UNIQUE, ug::GridMessage_Distribution::serialization_handler(), SPNULL, UG_THROW, ug::VERTEX, and ug::VOLUME.
|
inline |
returns the grid level
References ug::GridFunction< TDomain, TAlgebra >::m_spDD.
Referenced by ug::NestedIterationSolver< TDomain, TAlgebra >::apply(), ug::StdTransfer< TDomain, TAlgebra >::do_restrict(), ug::UzawaBase< TDomain, TAlgebra >::extract_schur_update(), ug::UzawaBase< TDomain, TAlgebra >::init_in_first_step(), ug::UzawaBase< TDomain, TAlgebra >::my_write_debug(), ug::StdTransfer< TDomain, TAlgebra >::prolongate(), and ug::AssembledMultiGridCycle< TDomain, TAlgebra >::write_debug().
|
inline |
get all indices of the element
References ug::GridFunction< TDomain, TAlgebra >::m_spDD.
Referenced by ug::ActiveSet< TDomain, TAlgebra >::active_index_elem(), and ug::ActiveSet< TDomain, TAlgebra >::check_conv_elem().
|
protected |
inits the grid function
References ug::PST_UNDEFINED, SPNULL, and UG_THROW.
|
inline |
get algebra indices on an geometric object in canonical order
References ug::GridFunction< TDomain, TAlgebra >::m_spDD.
Referenced by ug::ProlongateP1(), and ug::RestrictP1().
|
inline |
get multi indices on an geometric object in canonical order
References ug::GridFunction< TDomain, TAlgebra >::m_spDD.
Referenced by ug::AdaptionSurfaceGridFunction< TDomain >::copy_from_surface(), ug::AdaptionSurfaceGridFunction< TDomain >::copy_to_surface(), ug::GridFunctionOrdering< TDomain, TAlgebra >::GridFunctionOrdering(), ug::GridPointsOrdering< TDomain, TAlgebra >::GridPointsOrdering(), and ug::SortedGridFunctionOrdering< TDomain, TAlgebra >::SortedGridFunctionOrdering().
|
inline |
returns if the grid object is part of this grid function
References ug::GridFunction< TDomain, TAlgebra >::m_spDD.
|
inline |
return m_bManaged
References ug::GridFunction< TDomain, TAlgebra >::m_bManaged.
|
inline |
return the number of dofs distributed (global)
References ug::DoFCount::ALL_FCT, and ug::GridFunction< TDomain, TAlgebra >::num_dofs().
Referenced by ug::GridFunction< TDomain, TAlgebra >::num_dofs().
|
inline |
return the number of dofs distributed (global)
References ug::DoFCount::ALL_SUBSET, and ug::GridFunction< TDomain, TAlgebra >::num_dofs().
Referenced by ug::GridFunction< TDomain, TAlgebra >::num_dofs().
size_t ug::GridFunction< TDomain, TAlgebra >::num_dofs | ( | int | fct, |
int | si | ||
) | const |
return the number of dofs distributed (global)
References ug::DoFCount::num(), ug::DoFCount::sum_values_over_procs(), ug::DoFCount::UNIQUE_ES, and ug::DoFCount::UNIQUE_SS.
|
inline |
return the number of indices distributed (proc local)
References ug::GridFunction< TDomain, TAlgebra >::m_spDD.
Referenced by ug::ActiveSet< TDomain, TAlgebra >::active_index(), and ug::MGStats< TDomain, TAlgebra >::set_defect().
|
inline |
return the number of indices distributed on subset si (proc local)
References ug::GridFunction< TDomain, TAlgebra >::m_spDD.
|
inline |
assigns another grid function
References ug::GridFunction< TDomain, TAlgebra >::assign().
|
inline |
assigns constant value
|
virtual |
permutes all values
This method permutes the values according to the passed mapping vector, i.e. it performs a permutation of the whole index set. The vector vIndNew must have the size of the number of indices and for each index it must return the new index, i.e. newIndex = vIndNew[oldIndex].
[in] | vIndNew | mapping for each index |
Implements ug::IGridFunction.
References UG_THROW.
|
inline |
retruns true if the grid-function is redistributed together with the grid in parallel applications
References ug::GridFunction< TDomain, TAlgebra >::m_bRedistribute.
Referenced by ug::GridFunction< TDomain, TAlgebra >::clone_pattern().
|
protected |
registers at message hub for grid adaption
References ug::MessageHub::register_class_callback().
|
virtual |
resize
This method resizes the length of the vector.
[in] | s | new size |
[in] | defaultValue | default value for new entries |
Implements ug::IGridFunction.
References s.
|
inline |
References ug::PST_CONSISTENT.
|
inlineprotectedvirtual |
virtual clone using covariant return type
Referenced by ug::GridFunction< TDomain, TAlgebra >::clone().
|
protectedvirtual |
virtual clone using covariant return type excluding values
References p.
Referenced by ug::GridFunction< TDomain, TAlgebra >::clone_without_values().
|
static |
World Dimension.
|
protected |
boolean for DoF Distribution management of grid function
Referenced by ug::GridFunction< TDomain, TAlgebra >::clone_pattern(), and ug::GridFunction< TDomain, TAlgebra >::managed().
|
protected |
specifies whether the gridfunction should be redistributed together with the grid.
enabled by default
Referenced by ug::GridFunction< TDomain, TAlgebra >::enable_redistribution(), and ug::GridFunction< TDomain, TAlgebra >::redistribution_enabled().
|
protected |
stores the storage-type from before redistribution
|
protected |
adaption grid function for temporary storage of values in grid
|
protected |
Approximation Space.
Referenced by ug::GridFunction< TDomain, TAlgebra >::approx_space(), ug::GridFunction< TDomain, TAlgebra >::clone_pattern(), and ug::GridFunction< TDomain, TAlgebra >::domain().
|
protected |
DoF Distribution this GridFunction relies on.
Referenced by ug::GridFunction< TDomain, TAlgebra >::algebra_indices(), ug::GridFunction< TDomain, TAlgebra >::begin(), ug::GridFunction< TDomain, TAlgebra >::clone_pattern(), ug::GridFunction< TDomain, TAlgebra >::collect_associated(), ug::GridFunction< TDomain, TAlgebra >::dof_distribution(), ug::GridFunction< TDomain, TAlgebra >::dof_indices(), ug::GridFunction< TDomain, TAlgebra >::end(), ug::GridFunction< TDomain, TAlgebra >::grid_level(), ug::GridFunction< TDomain, TAlgebra >::indices(), ug::GridFunction< TDomain, TAlgebra >::inner_algebra_indices(), ug::GridFunction< TDomain, TAlgebra >::inner_dof_indices(), ug::GridFunction< TDomain, TAlgebra >::is_contained(), ug::GridFunction< TDomain, TAlgebra >::num_indices(), and ug::GridFunction< TDomain, TAlgebra >::~GridFunction().
|
protected |
message hub id
|
protected |