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){
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){
121 void add(
const std::vector<std::string>& vName,
LFEID id, {
…}
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;
277template <
typename TDomain>
285 static const int dim = domain_type::dim;
location name
Definition checkpoint_util.lua:128
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
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
SmartPtr< TDomain > domain()
Return the domain.
Definition approximation_space.h:301
static const int dim
World Dimension.
Definition approximation_space.h:285
TDomain domain_type
Domain type.
Definition approximation_space.h:282
Definition dof_distribution_info.h:152
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
ConstSmartPtr< MGSubsetHandler > subset_handler() const
get underlying subset handler
Definition approximation_space.h:153
bool grouped() const
returns if dofs are grouped
Definition approximation_space.h:162
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
void print_statistic() const
prints statistic about DoF Distribution
Definition approximation_space.cpp:753
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
ConstSmartPtr< SurfaceView > surface_view() const
returns the approximation space
Definition approximation_space.h:159
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
const RevisionCounter & revision() const
returns the current revision
Definition approximation_space.h:211
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
ConstSmartPtr< DoFDistributionInfo > ddinfo() const
Definition approximation_space.h:187
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
void create_dof_distribution(const GridLevel &gl)
creates a dof distribution
Definition approximation_space.cpp:318
ConstSmartPtr< DoFDistributionInfo > dof_distribution_info() const
Definition approximation_space.h:188
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
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