33 #ifndef __H__UG__LIB_DISC__FUNCTION_SPACE__APPROXIMATION_SPACE__
34 #define __H__UG__LIB_DISC__FUNCTION_SPACE__APPROXIMATION_SPACE__
98 void add(
const std::vector<std::string>& vName,
LFEID id){
103 void add(
const std::vector<std::string>& vName,
const char* type,
int order);
106 void add(
const std::vector<std::string>& vName,
const char* type);
109 void add(
const char*
name,
const char* type,
int order);
112 void add(
const char*
name,
const char* type);
121 void add(
const std::vector<std::string>& vName,
LFEID id,
122 const std::vector<std::string>& vSubset){
127 void add(
const std::vector<std::string>& vName,
const char* type,
int order,
128 const std::vector<std::string>& vSubsets);
137 void add(
const char*
name,
const char* type,
int order,
const char* subsets);
140 void add(
const std::vector<std::string>& vName,
const char* type,
141 const std::vector<std::string>& vSubsets);
149 void add(
const char*
name,
const char* type,
const char* subsets);
267 std::vector<SmartPtr<DoFDistribution> >
m_vDD;
277 template <
typename TDomain>
Definition: smart_pointer.h:296
Definition: smart_pointer.h:108
class describing the type of an algebra
Definition: algebra_type.h:49
base class for approximation spaces without type of algebra or dof distribution
Definition: approximation_space.h:279
ApproximationSpace(SmartPtr< TDomain > domain)
constructor
Definition: approximation_space.cpp:882
domain_type::subset_handler_type subset_handler_type
Subset Handler type.
Definition: approximation_space.h:288
SmartPtr< TDomain > m_spDomain
Domain, where solution lives.
Definition: approximation_space.h:307
int get_dim() const
Definition: approximation_space.h:303
ConstSmartPtr< TDomain > domain() const
Return the domain.
Definition: approximation_space.h:298
static const int dim
World Dimension.
Definition: approximation_space.h:285
TDomain domain_type
Domain type.
Definition: approximation_space.h:282
SmartPtr< TDomain > domain()
Return the domain.
Definition: approximation_space.h:301
Definition: dof_distribution_info.h:152
std::string name(size_t fct) const
returns the name of the discrete function nr_fct
Definition: dof_distribution_info.h:182
Definition: grid_level.h:42
A message sent along with "GridRefinement" messages.
Definition: lib_grid_messages.h:91
Definition: lib_grid_messages.h:166
describes the ansatz spaces on a domain
Definition: approximation_space.h:62
void init_surfaces()
initializes all surface dof distributions
Definition: approximation_space.cpp:295
bool m_bAdaptionIsActive
Definition: approximation_space.h:230
bool grouped() const
returns if dofs are grouped
Definition: approximation_space.h:162
ConstSmartPtr< DoFDistributionInfo > ddinfo() const
Definition: approximation_space.h:187
void register_at_adaption_msg_hub()
registers at message hub for grid adaption
Definition: approximation_space.cpp:421
SmartPtr< SurfaceView > m_spSurfaceView
Surface View.
Definition: approximation_space.h:251
~IApproximationSpace()
Destructor.
Definition: approximation_space.cpp:111
void grid_changed_callback(const GridMessage_Adaption &msg)
Definition: approximation_space.cpp:435
SmartPtr< DoFIndexStorage > m_spDoFIndexStrgForLevelNoGhost
Definition: approximation_space.h:271
size_t num_levels() const
returns the number of level
Definition: approximation_space.h:156
void surface_view_required()
creates surface SurfaceView if needed
Definition: approximation_space.cpp:351
ConstSmartPtr< MGSubsetHandler > subset_handler() const
get underlying subset handler
Definition: approximation_space.h:153
void print_statistic() const
prints statistic about DoF Distribution
Definition: approximation_space.cpp:753
ConstSmartPtr< DoFDistributionInfo > dof_distribution_info() const
Definition: approximation_space.h:188
void print_layout_statistic() const
prints statistic on layouts
Definition: approximation_space.cpp:837
AlgebraType m_algebraType
suitable algebra type for the index distribution pattern
Definition: approximation_space.h:254
MessageHub::SPCallbackId m_spGridAdaptionCallbackID
message hub id
Definition: approximation_space.h:228
bool might_contain_ghosts() const
returns if ghosts might be present on any level
Definition: approximation_space.cpp:154
std::vector< SmartPtr< DoFDistribution > > m_vDD
MG Level DoF Distribution.
Definition: approximation_space.h:267
void grid_distribution_callback(const GridMessage_Distribution &msg)
called during parallel redistribution
Definition: approximation_space.cpp:478
RevisionCounter m_RevCnt
revision counter
Definition: approximation_space.h:263
SmartPtr< MultiGrid > m_spMG
multigrid, where elements are stored
Definition: approximation_space.h:245
MGSubsetHandler subset_handler_type
Type of Subset Handler.
Definition: approximation_space.h:65
SmartPtr< MGSubsetHandler > m_spMGSH
subsethandler, where elements are stored
Definition: approximation_space.h:248
void init_levels()
initializes all level dof distributions
Definition: approximation_space.cpp:286
void add(const std::vector< std::string > &vName, LFEID id)
add single solutions of LocalShapeFunctionSetID to the entire domain
Definition: approximation_space.h:98
std::vector< SmartPtr< DoFDistribution > > dof_distributions() const
returns all currently created dof distributions
Definition: approximation_space.cpp:280
SmartPtr< DoFIndexStorage > m_spDoFIndexStrgForLevelWithGhost
Definition: approximation_space.h:272
void add(const std::vector< std::string > &vName, LFEID id, const std::vector< std::string > &vSubset)
add single solutions of LocalShapeFunctionSetID to selected subsets
Definition: approximation_space.h:121
SmartPtr< DoFDistributionInfo > m_spDoFDistributionInfo
DofDistributionInfo.
Definition: approximation_space.h:260
void clear()
clears functions
Definition: approximation_space.h:90
bool m_bGrouped
flag if DoFs should be grouped
Definition: approximation_space.h:257
IApproximationSpace(SmartPtr< subset_handler_type > spMGSH, SmartPtr< grid_type > spMG)
Constructor.
Definition: approximation_space.cpp:70
void create_dof_distribution(const GridLevel &gl)
creates a dof distribution
Definition: approximation_space.cpp:318
void init(SmartPtr< subset_handler_type > spMGSH, SmartPtr< grid_type > spMG, const AlgebraType &algebraType)
initializing
Definition: approximation_space.cpp:77
void init_top_surface()
initializes all top surface dof distributions
Definition: approximation_space.cpp:304
MultiGrid grid_type
Type of Subset Handler.
Definition: approximation_space.h:68
const RevisionCounter & revision() const
returns the current revision
Definition: approximation_space.h:211
ConstSmartPtr< SurfaceView > surface_view() const
returns the approximation space
Definition: approximation_space.h:159
SmartPtr< DoFDistribution > dd(const GridLevel &gl, bool bCreate=true)
Definition: approximation_space.cpp:262
void reinit()
reinits all data after grid adaption
Definition: approximation_space.cpp:405
void dof_distribution_info_required()
create dof distribution info
Definition: approximation_space.cpp:358
MessageHub::SPCallbackId m_spGridDistributionCallbackID
Definition: approximation_space.h:229
SmartPtr< DoFDistribution > dof_distribution(const GridLevel &gl, bool bCreate=true)
Definition: approximation_space.cpp:247
Identifier for Local Finite Elements.
Definition: local_finite_element_id.h:98
Definition: multi_grid.h:72
Handles subsets on a per level basis.
Definition: subset_handler_multi_grid.h:60
Class used to identify a state of adaption of a grid, approx-space, ...
Definition: revision_counter.h:56