ug4
ug::ApproximationSpace< TDomain > Class Template Reference

base class for approximation spaces without type of algebra or dof distribution More...

#include <approximation_space.h>

+ Inheritance diagram for ug::ApproximationSpace< TDomain >:

Public Types

typedef TDomain domain_type
 Domain type. More...
 
typedef domain_type::subset_handler_type subset_handler_type
 Subset Handler type. More...
 
- Public Types inherited from ug::IApproximationSpace
typedef MultiGrid grid_type
 Type of Subset Handler. More...
 
typedef MGSubsetHandler subset_handler_type
 Type of Subset Handler. More...
 

Public Member Functions

 ApproximationSpace (SmartPtr< TDomain > domain)
 constructor More...
 
 ApproximationSpace (SmartPtr< TDomain > domain, const AlgebraType &algebraType)
 constructor passing requested algebra type More...
 
SmartPtr< TDomain > domain ()
 Return the domain. More...
 
ConstSmartPtr< TDomain > domain () const
 Return the domain. More...
 
int get_dim () const
 
- Public Member Functions inherited from ug::IApproximationSpace
void add (const char *name, const char *type)
 adds function using string to indicate finite element type More...
 
void add (const char *name, const char *type, const char *subsets)
 adds function using string to indicate finite element type More...
 
void add (const char *name, const char *type, int order)
 adds function using string to indicate finite element type More...
 
void add (const char *name, const char *type, int order, const char *subsets)
 adds function using string to indicate finite element type More...
 
void add (const std::vector< std::string > &vName, const char *type)
 adds function using string to indicate finite element type More...
 
void add (const std::vector< std::string > &vName, const char *type, const std::vector< std::string > &vSubsets)
 adds function using string to indicate finite element type More...
 
void add (const std::vector< std::string > &vName, const char *type, int order)
 adds function using string to indicate finite element type More...
 
void add (const std::vector< std::string > &vName, const char *type, int order, const std::vector< std::string > &vSubsets)
 adds function using string to indicate finite element type More...
 
void add (const std::vector< std::string > &vName, LFEID id)
 add single solutions of LocalShapeFunctionSetID to the entire domain More...
 
void add (const std::vector< std::string > &vName, LFEID id, const std::vector< std::string > &vSubset)
 add single solutions of LocalShapeFunctionSetID to selected subsets More...
 
void clear ()
 clears functions More...
 
std::vector< SmartPtr< DoFDistribution > > dof_distributions () const
 returns all currently created dof distributions More...
 
bool grouped () const
 returns if dofs are grouped More...
 
 IApproximationSpace (SmartPtr< subset_handler_type > spMGSH, SmartPtr< grid_type > spMG)
 Constructor. More...
 
 IApproximationSpace (SmartPtr< subset_handler_type > spMGSH, SmartPtr< grid_type >, const AlgebraType &algebraType)
 Constructor setting the grouping flag. More...
 
void init_levels ()
 initializes all level dof distributions More...
 
void init_surfaces ()
 initializes all surface dof distributions More...
 
void init_top_surface ()
 initializes all top surface dof distributions More...
 
bool might_contain_ghosts () const
 returns if ghosts might be present on any level More...
 
bool might_contain_ghosts (int lvl) const
 returns if ghosts might be present on a level More...
 
size_t num_levels () const
 returns the number of level More...
 
void print_layout_statistic () const
 prints statistic on layouts More...
 
void print_statistic () const
 prints statistic about DoF Distribution More...
 
void print_statistic (std::string flags) const
 prints statistic about DoF Distribution More...
 
const RevisionCounterrevision () const
 returns the current revision More...
 
ConstSmartPtr< MGSubsetHandlersubset_handler () const
 get underlying subset handler More...
 
ConstSmartPtr< SurfaceViewsurface_view () const
 returns the approximation space More...
 
 ~IApproximationSpace ()
 Destructor. More...
 
SmartPtr< DoFDistributiondof_distribution (const GridLevel &gl, bool bCreate=true)
 
SmartPtr< DoFDistributiondd (const GridLevel &gl, bool bCreate=true)
 
ConstSmartPtr< DoFDistributiondof_distribution (const GridLevel &gl, bool bCreate=true) const
 
ConstSmartPtr< DoFDistributiondd (const GridLevel &gl, bool bCreate=true) const
 
ConstSmartPtr< DoFDistributionInfoddinfo () const
 
ConstSmartPtr< DoFDistributionInfodof_distribution_info () const
 
- 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
 

Static Public Attributes

static const int dim = domain_type::dim
 World Dimension. More...
 

Protected Attributes

SmartPtr< TDomain > m_spDomain
 Domain, where solution lives. More...
 
- Protected Attributes inherited from ug::IApproximationSpace
AlgebraType m_algebraType
 suitable algebra type for the index distribution pattern More...
 
bool m_bAdaptionIsActive
 
bool m_bGrouped
 flag if DoFs should be grouped More...
 
RevisionCounter m_RevCnt
 revision counter More...
 
SmartPtr< DoFDistributionInfom_spDoFDistributionInfo
 DofDistributionInfo. More...
 
MessageHub::SPCallbackId m_spGridAdaptionCallbackID
 message hub id More...
 
MessageHub::SPCallbackId m_spGridDistributionCallbackID
 
SmartPtr< MultiGridm_spMG
 multigrid, where elements are stored More...
 
SmartPtr< MGSubsetHandlerm_spMGSH
 subsethandler, where elements are stored More...
 
SmartPtr< SurfaceViewm_spSurfaceView
 Surface View. More...
 
std::vector< SmartPtr< DoFDistribution > > m_vDD
 MG Level DoF Distribution. More...
 
SmartPtr< DoFIndexStoragem_spDoFIndexStrgForLevelNoGhost
 
SmartPtr< DoFIndexStoragem_spDoFIndexStrgForLevelWithGhost
 
- Protected Attributes inherited from ug::DoFDistributionInfoProvider
ConstSmartPtr< DoFDistributionInfom_spDDI
 Function Pattern. More...
 

Additional Inherited Members

- Protected Member Functions inherited from ug::IApproximationSpace
void create_dof_distribution (const GridLevel &gl)
 creates a dof distribution More...
 
void dof_distribution_info_required ()
 create dof distribution info 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< subset_handler_type > spMGSH, SmartPtr< grid_type > spMG, const AlgebraType &algebraType)
 initializing More...
 
void register_at_adaption_msg_hub ()
 registers at message hub for grid adaption More...
 
void reinit ()
 reinits all data after grid adaption More...
 
void surface_view_required ()
 creates surface SurfaceView if needed More...
 

Detailed Description

template<typename TDomain>
class ug::ApproximationSpace< TDomain >

base class for approximation spaces without type of algebra or dof distribution

Member Typedef Documentation

◆ domain_type

template<typename TDomain >
typedef TDomain ug::ApproximationSpace< TDomain >::domain_type

Domain type.

◆ subset_handler_type

template<typename TDomain >
typedef domain_type::subset_handler_type ug::ApproximationSpace< TDomain >::subset_handler_type

Subset Handler type.

Constructor & Destructor Documentation

◆ ApproximationSpace() [1/2]

◆ ApproximationSpace() [2/2]

template<typename TDomain >
ug::ApproximationSpace< TDomain >::ApproximationSpace ( SmartPtr< TDomain >  domain,
const AlgebraType algebraType 
)

Member Function Documentation

◆ domain() [1/2]

template<typename TDomain >
SmartPtr<TDomain> ug::ApproximationSpace< TDomain >::domain ( )
inline

Return the domain.

References ug::ApproximationSpace< TDomain >::m_spDomain.

◆ domain() [2/2]

template<typename TDomain >
ConstSmartPtr<TDomain> ug::ApproximationSpace< TDomain >::domain ( ) const
inline

Return the domain.

References ug::ApproximationSpace< TDomain >::m_spDomain.

Referenced by ug::OrderDownwind(), and ug::OrderLex().

◆ get_dim()

template<typename TDomain >
int ug::ApproximationSpace< TDomain >::get_dim ( ) const
inline

Member Data Documentation

◆ dim

template<typename TDomain >
const int ug::ApproximationSpace< TDomain >::dim = domain_type::dim
static

World Dimension.

Referenced by ug::ApproximationSpace< TDomain >::get_dim().

◆ m_spDomain

template<typename TDomain >
SmartPtr<TDomain> ug::ApproximationSpace< TDomain >::m_spDomain
protected

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