concepts::DomainDecomp< F > Class Template Reference
Domain decomposition space. More...
#include <domainDecomp.hh>
Public Types | |
typedef concepts::Element< typename F::t_type > | Element |
Element type. More... | |
typedef concepts::Scan< Element > | Scan |
typedef Scan< Element< F > > | Scanner |
typedef Element< F > | type |
Public Member Functions | |
bool | available () const |
Returns true, if space is available, false, if it has to be rebuilt. More... | |
virtual uint | dim () const |
Returns the dimension of the space. More... | |
template<class G > | |
DomainDecomp (G &prebuild, Sequence< Set< uint > > domains, BoundaryConditions *bc=0, CellConditions *cc=0, uint spcNo=0, uint *offset=0) | |
Constructor. More... | |
const uint | domains () const |
Returns number of domains/spaces. More... | |
virtual uint | getOutputDimension () const |
Returns the default output dimension, when we consider plotting a real-valued operator on this space. More... | |
virtual const Set< IndexRange > | indicesB (uint i) const |
Returns index set for dof at the boundary the i th domain. More... | |
virtual const Set< IndexRange > | indicesI (uint i) const |
Returns index set for dof inside the i th domain. More... | |
virtual uint & | lastIdx () |
Returns last global index of the space. More... | |
virtual uint | nelm () const |
Returns the number of elements in the space. More... | |
virtual uint | offset () const |
Returns the offset, returns 0 if space is not a subspace or first one. More... | |
void | rebuild () |
Rebuilds the spaces. More... | |
virtual Scan * | scan () const |
Returns a scanner to iterate over the elements of the space. More... | |
F & | space (uint i) |
virtual const F & | space (uint i) const |
Returns space belonging to i th domain. More... | |
virtual | ~DomainDecomp () |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Returns all index sets for dof at boundary of each domain. More... | |
Protected Attributes | |
uint | domains_ |
Number of domains/spaces. More... | |
Sequence< Set< IndexRange > > | indicesB_ |
Sequence< Set< IndexRange > > | indicesI_ |
Index sets of dof inside and at the boundary for each domain/space. More... | |
Private Member Functions | |
template<class G , class H > | |
void | getIndices_ (const G &prebuild, const H &cntr, Set< IndexRange > &indices) |
Private Attributes | |
HashMap< uint > | attrToDomain_ |
Mapping from attribute to domain number. More... | |
Sequence< CellConditions > | cc_ |
Cell conditions for the spaces. More... | |
concepts::Joiner< Element *, 1 > * | elm_ |
Array of the elements of all domains. More... | |
uint | idx_ |
uint | nelm_ |
Number of elements in all spaces. More... | |
Sequence< F * > | spaces_ |
Spaces belonging to domains. More... | |
Array< uint > | spcBuild_ |
Array of build number of the spaces at last call of rebuild() More... | |
uint | spcNo_ |
Number for the global indices of the domains, for distinguishing between global indices on same topological entity. More... | |
Detailed Description
template<class F>
class concepts::DomainDecomp< F >
Domain decomposition space.
- Parameters
-
F type of space pre builder class
Definition at line 72 of file domainDecomp.hh.
Member Typedef Documentation
◆ Element
typedef concepts::Element<typename F::t_type> concepts::DomainDecomp< F >::Element |
Element type.
- Parameters
-
F::t_type type of T matrix entries
Definition at line 78 of file domainDecomp.hh.
◆ Scan
typedef concepts::Scan<Element> concepts::DomainDecomp< F >::Scan |
Definition at line 79 of file domainDecomp.hh.
◆ Scanner
|
inherited |
◆ type
|
inherited |
Constructor & Destructor Documentation
◆ DomainDecomp()
concepts::DomainDecomp< F >::DomainDecomp | ( | G & | prebuild, |
Sequence< Set< uint > > | domains, | ||
BoundaryConditions * | bc = 0 , |
||
CellConditions * | cc = 0 , |
||
uint | spcNo = 0 , |
||
uint * | offset = 0 |
||
) |
Constructor.
- Parameters
-
prebuild Space pre builder domains Attributes of cells for each domain bc Boundary conditions cc Cell conditions spcNo Number for the global indices for distinguishing between global indices on same topological entity (same for all domains) offset Offset of global indices
Definition at line 163 of file domainDecomp.hh.
◆ ~DomainDecomp()
|
virtual |
Definition at line 249 of file domainDecomp.hh.
Member Function Documentation
◆ available()
bool concepts::DomainDecomp< F >::available |
Returns true, if space is available, false, if it has to be rebuilt.
The space is available if the spaces of all domains are available, and the build number of the spaces have not changed, i.e. the spaces are forced to rebuild from somewhere else.
Definition at line 363 of file domainDecomp.hh.
◆ dim()
|
inlinevirtual |
Returns the dimension of the space.
Implements concepts::Space< F >.
Definition at line 373 of file domainDecomp.hh.
◆ domains()
|
inlineinherited |
Returns number of domains/spaces.
Definition at line 37 of file domainDecomp.hh.
◆ getIndices_()
|
private |
Definition at line 435 of file domainDecomp.hh.
◆ getOutputDimension()
|
inlinevirtualinherited |
◆ indicesB()
|
virtual |
Returns index set for dof at the boundary the i
th domain.
Implements concepts::DDSpace< F::t_type >.
Definition at line 426 of file domainDecomp.hh.
◆ indicesI()
|
virtual |
Returns index set for dof inside the i
th domain.
Implements concepts::DDSpace< F::t_type >.
Definition at line 418 of file domainDecomp.hh.
◆ info()
|
protectedvirtual |
Returns all index sets for dof at boundary of each domain.
Reimplemented from concepts::DDSpace< F::t_type >.
Definition at line 263 of file domainDecomp.hh.
◆ lastIdx()
|
virtual |
Returns last global index of the space.
Implements concepts::Subspace.
Definition at line 396 of file domainDecomp.hh.
◆ nelm()
|
inlinevirtual |
Returns the number of elements in the space.
Implements concepts::Space< F >.
Definition at line 382 of file domainDecomp.hh.
◆ offset()
|
virtual |
Returns the offset, returns 0 if space is not a subspace or first one.
Implements concepts::Subspace.
Definition at line 401 of file domainDecomp.hh.
◆ rebuild()
void concepts::DomainDecomp< F >::rebuild |
Rebuilds the spaces.
Definition at line 285 of file domainDecomp.hh.
◆ scan()
|
inlinevirtual |
Returns a scanner to iterate over the elements of the space.
Implements concepts::Space< F >.
Definition at line 389 of file domainDecomp.hh.
◆ space() [1/2]
F & concepts::DomainDecomp< F >::space | ( | uint | i | ) |
Definition at line 412 of file domainDecomp.hh.
◆ space() [2/2]
|
virtual |
Returns space belonging to i
th domain.
Implements concepts::DDSpace< F::t_type >.
Definition at line 406 of file domainDecomp.hh.
Member Data Documentation
◆ attrToDomain_
|
private |
Mapping from attribute to domain number.
Definition at line 143 of file domainDecomp.hh.
◆ cc_
|
private |
Cell conditions for the spaces.
Definition at line 140 of file domainDecomp.hh.
◆ domains_
|
protectedinherited |
Number of domains/spaces.
Definition at line 54 of file domainDecomp.hh.
◆ elm_
|
private |
Array of the elements of all domains.
Array is used instead of linked list, because after building elements of all the domains, the whole number of elements is known.
Definition at line 150 of file domainDecomp.hh.
◆ idx_
|
private |
Definition at line 154 of file domainDecomp.hh.
◆ indicesB_
|
protectedinherited |
Definition at line 56 of file domainDecomp.hh.
◆ indicesI_
|
protectedinherited |
Index sets of dof inside and at the boundary for each domain/space.
Definition at line 56 of file domainDecomp.hh.
◆ nelm_
|
private |
Number of elements in all spaces.
Definition at line 152 of file domainDecomp.hh.
◆ spaces_
|
private |
Spaces belonging to domains.
Definition at line 136 of file domainDecomp.hh.
◆ spcBuild_
|
private |
Array of build number of the spaces at last call of rebuild()
Definition at line 138 of file domainDecomp.hh.
◆ spcNo_
|
private |
Number for the global indices of the domains, for distinguishing between global indices on same topological entity.
Definition at line 134 of file domainDecomp.hh.
The documentation for this class was generated from the following file:
- space/domainDecomp.hh