Loading [MathJax]/extensions/tex2jax.js
ug4
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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.
 
typedef TSubsetHandler subset_handler_type
 Subset Handler type.
 

Public Member Functions

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

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
 
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
 
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.
 
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
 
DomainInfo m_domainInfo
 
bool m_isAdaptive
 
SPRefinementProjector m_refinementProjector
 
SmartPtr< TGrid > m_spGrid
 Grid.
 
MessageHub::SPCallbackId m_spGridAdaptionCallbackID
 
MessageHub::SPCallbackId m_spGridCreationCallbackID
 
MessageHub::SPCallbackId m_spGridDistributionCallbackID
 
SmartPtr< TSubsetHandler > m_spSH
 Subset Handler.
 

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: