ug4
ug::IDomain< TGrid, TSubsetHandler > Class Template Referenceabstract

describes a physical domain More...

#include <domain.h>

+ Inheritance diagram for ug::IDomain< TGrid, TSubsetHandler >:

Public Types

typedef TGrid grid_type
 Grid type. More...
 
typedef TSubsetHandler subset_handler_type
 Subset Handler type. More...
 

Public Member Functions

SmartPtr< TSubsetHandler > additional_subset_handler (std::string name)
 returns an additional subset handler Subset Handler More...
 
const ConstSmartPtr< TSubsetHandler > additional_subset_handler (std::string name) const
 const access to Subset Handler More...
 
std::vector< std::string > additional_subset_handler_names () const
 returns a list with the names of additional subset handlers More...
 
bool create_additional_subset_handler (std::string name)
 creates an additional subset-handler with the given name More...
 
DistributedGridManagerdistributed_grid_manager ()
 returns Distributed Grid Manager More...
 
const DomainInfodomain_info () const
 returns information on the current domain More...
 
bool empty () const
 returns whether the associated grid is empty More...
 
virtual SPIGeometry3d geometry3d () const =0
 returns the geometry of the domain More...
 
virtual int get_dim () const =0
 World Dimension. More...
 
SmartPtr< TGrid > grid ()
 returns Grid More...
 
const ConstSmartPtr< TGrid > grid () const
 const access to Grid More...
 
 IDomain (bool isAdaptive=true)
 Default constructor. More...
 
bool is_adaptive () const
 returns whether the domain may be used for adaptive refinement More...
 
bool is_parallel ()
 returns whether the domain can be used for parallel computations More...
 
SPMessageHub message_hub ()
 returns the message hub of the grid More...
 
SPRefinementProjector refinement_projector () const
 returns the domain's ug::RefinementProjector. The pointer may be invalid. More...
 
void set_refinement_projector (SPRefinementProjector proj)
 sets the ug::RefinementProjector which can be used by refiners during refinement More...
 
SmartPtr< TSubsetHandler > subset_handler ()
 returns Subset Handler More...
 
const ConstSmartPtr< TSubsetHandler > subset_handler () const
 const access to Subset Handler More...
 
void update_domain_info ()
 updates the internal domain-info object. More...
 
void update_subset_infos (int rootProc)
 updates and broadcasts subset names and dimensions from the given rootProc to all other processes. More...
 
virtual ~IDomain ()
 Destructor. More...
 

Protected Member Functions

SPRefinementProjector broadcast_refinement_projector (int rootProc, pcl::ProcessCommunicator &procCom, SPIGeometry3d geometry, SPRefinementProjector projector=SPNULL)
 helper method to broadcast ug::RefinementProjectors to different processes More...
 
template<class TElem >
void count_ghosts (std::vector< DomainInfo::int_t > &numGhostsOnLvlOut)
 
template<class TElem >
size_t count_local_unique_surface_elements ()
 counts local surface elements which are not ghosts or h-slaves More...
 
SPRefinementProjector deserialize_projector (BinaryBuffer &buf)
 
void grid_adaption_callback (const GridMessage_Adaption &msg)
 
void grid_creation_callback (const GridMessage_Creation &msg)
 Called when a domain has been loaded and during domain distribution. More...
 
void grid_distribution_callback (const GridMessage_Distribution &msg)
 
void serialize_projector (BinaryBuffer &bufOut, SPRefinementProjector proj)
 

Protected Attributes

bool m_adaptionIsActive
 
std::map< std::string, SmartPtr< TSubsetHandler > > m_additionalSH
 additional subset handlers More...
 
DomainInfo m_domainInfo
 
bool m_isAdaptive
 
SPRefinementProjector m_refinementProjector
 
SmartPtr< TGrid > m_spGrid
 Grid. More...
 
MessageHub::SPCallbackId m_spGridAdaptionCallbackID
 
MessageHub::SPCallbackId m_spGridCreationCallbackID
 
MessageHub::SPCallbackId m_spGridDistributionCallbackID
 
SmartPtr< TSubsetHandler > m_spSH
 Subset Handler. More...
 

Detailed Description

template<typename TGrid = MultiGrid, typename TSubsetHandler = MGSubsetHandler>
class ug::IDomain< TGrid, TSubsetHandler >

describes a physical domain

A Domain collects and exports relevant information about the physical domain, that is intended to be discretized. It will be used as a template Parameter in several classes to distinguish at compile-time between needed types and parameters. It mainly has a grid and a subset handler for the grid to define different physical subsets. In addition to a grid, that may only contain topological informations a domain always has a Position Attachment holding the physical coordinates.

Template Parameters
TGridGrid type
TSubsetHandlerSubset Handler type

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