Domain decomposition space. More...
#include <domainDecomp.hh>


Public Types | |
| typedef concepts::Element < typename F::t_type > | Element |
| Element type. | |
| typedef concepts::Scan< Element > | Scan |
| typedef Scan< Element< F > > | Scanner |
Public Member Functions | |
| bool | available () const |
| Returns true, if space is available, false, if it has to be rebuilt. | |
| virtual uint | dim () const |
| Returns the dimension of the space. | |
| template<class G > | |
| DomainDecomp (G &prebuild, Sequence< Set< uint > > domains, BoundaryConditions *bc=0, CellConditions *cc=0, uint spcNo=0, uint *offset=0) | |
| Constructor. | |
| const uint | domains () const |
| Returns number of domains/spaces. | |
| virtual const Set< IndexRange > | indicesB (uint i) const |
Returns index set for dof at the boundary the i th domain. | |
| virtual const Set< IndexRange > | indicesI (uint i) const |
Returns index set for dof inside the i th domain. | |
| virtual uint & | lastIdx () |
| Returns last global index of the space. | |
| virtual uint | nelm () const |
| Returns the number of elements in the space. | |
| virtual uint | offset () const |
| Returns the offset, returns 0 if space is not a subspace or first one. | |
| void | rebuild () |
| Rebuilds the spaces. | |
| virtual Scan * | scan () const |
| Returns a scanner to iterate over the elements of the space. | |
| virtual const F & | space (uint i) const |
Returns space belonging to i th domain. | |
| F & | space (uint i) |
| virtual | ~DomainDecomp () |
Protected Member Functions | |
| virtual std::ostream & | info (std::ostream &os) const |
| Returns all index sets for dof at boundary of each domain. | |
Protected Attributes | |
| uint | domains_ |
| Number of domains/spaces. | |
| Sequence< Set< IndexRange > > | indicesB_ |
| Sequence< Set< IndexRange > > | indicesI_ |
| Index sets of dof inside and at the boundary for each domain/space. | |
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. | |
| Sequence< CellConditions > | cc_ |
| Cell conditions for the spaces. | |
| concepts::Joiner< Element *, 1 > * | elm_ |
| Array of the elements of all domains. | |
| uint | idx_ |
| uint | nelm_ |
| Number of elements in all spaces. | |
| Sequence< F * > | spaces_ |
| Spaces belonging to domains. | |
| Array< uint > | spcBuild_ |
| Array of build number of the spaces at last call of rebuild() | |
| uint | spcNo_ |
| Number for the global indices of the domains, for distinguishing between global indices on same topological entity. | |
Domain decomposition space.
| F | type of space pre builder class |
Definition at line 70 of file domainDecomp.hh.
| typedef concepts::Element<typename F::t_type> concepts::DomainDecomp< F >::Element |
Element type.
| F::t_type | type of T matrix entries |
Definition at line 76 of file domainDecomp.hh.
| typedef concepts::Scan<Element> concepts::DomainDecomp< F >::Scan |
Definition at line 77 of file domainDecomp.hh.
typedef Scan<Element<F> > concepts::Space< F >::Scanner [inherited] |
Reimplemented in linDG3D::FvdgSpace, concepts::SpaceOnCells< F >, vectorial::Space< F >, concepts::SpaceOnCells< Real >, and vectorial::Space< Real >.
| concepts::DomainDecomp< F >::DomainDecomp | ( | G & | prebuild, |
| Sequence< Set< uint > > | domains, | ||
| BoundaryConditions * | bc = 0, |
||
| CellConditions * | cc = 0, |
||
| uint | spcNo = 0, |
||
| uint * | offset = 0 |
||
| ) |
Constructor.
| 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 161 of file domainDecomp.hh.

| concepts::DomainDecomp< F >::~DomainDecomp | ( | ) | [virtual] |
Definition at line 247 of file domainDecomp.hh.
| bool concepts::DomainDecomp< F >::available | ( | ) | const |
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 361 of file domainDecomp.hh.
| uint concepts::DomainDecomp< F >::dim | ( | ) | const [inline, virtual] |
Returns the dimension of the space.
Implements concepts::Space< F >.
Definition at line 371 of file domainDecomp.hh.
| const uint concepts::DDSpace< F >::domains | ( | ) | const [inline, inherited] |
Returns number of domains/spaces.
Definition at line 35 of file domainDecomp.hh.
| void concepts::DomainDecomp< F >::getIndices_ | ( | const G & | prebuild, |
| const H & | cntr, | ||
| Set< IndexRange > & | indices | ||
| ) | [private] |
Definition at line 433 of file domainDecomp.hh.
| const Set< IndexRange > concepts::DomainDecomp< F >::indicesB | ( | uint | i | ) | const [virtual] |
Returns index set for dof at the boundary the i th domain.
Implements concepts::DDSpace< F::t_type >.
Definition at line 424 of file domainDecomp.hh.
| const Set< IndexRange > concepts::DomainDecomp< F >::indicesI | ( | uint | i | ) | const [virtual] |
Returns index set for dof inside the i th domain.
Implements concepts::DDSpace< F::t_type >.
Definition at line 416 of file domainDecomp.hh.
| std::ostream & concepts::DomainDecomp< F >::info | ( | std::ostream & | os | ) | const [protected, virtual] |
Returns all index sets for dof at boundary of each domain.
Reimplemented from concepts::DDSpace< F::t_type >.
Definition at line 261 of file domainDecomp.hh.
| uint & concepts::DomainDecomp< F >::lastIdx | ( | ) | [virtual] |
Returns last global index of the space.
Implements concepts::Subspace.
Definition at line 394 of file domainDecomp.hh.
| uint concepts::DomainDecomp< F >::nelm | ( | ) | const [inline, virtual] |
Returns the number of elements in the space.
Implements concepts::Space< F >.
Definition at line 380 of file domainDecomp.hh.
| uint concepts::DomainDecomp< F >::offset | ( | ) | const [virtual] |
Returns the offset, returns 0 if space is not a subspace or first one.
Implements concepts::Subspace.
Definition at line 399 of file domainDecomp.hh.
| void concepts::DomainDecomp< F >::rebuild | ( | ) |
Rebuilds the spaces.
Definition at line 283 of file domainDecomp.hh.

| DomainDecomp< F >::Scan * concepts::DomainDecomp< F >::scan | ( | ) | const [inline, virtual] |
Returns a scanner to iterate over the elements of the space.
Implements concepts::Space< F >.
Definition at line 387 of file domainDecomp.hh.
| F & concepts::DomainDecomp< F >::space | ( | uint | i | ) |
Definition at line 410 of file domainDecomp.hh.
| const F & concepts::DomainDecomp< F >::space | ( | uint | i | ) | const [virtual] |
Returns space belonging to i th domain.
Implements concepts::DDSpace< F::t_type >.
Definition at line 404 of file domainDecomp.hh.
HashMap<uint> concepts::DomainDecomp< F >::attrToDomain_ [private] |
Mapping from attribute to domain number.
Definition at line 141 of file domainDecomp.hh.
Sequence<CellConditions> concepts::DomainDecomp< F >::cc_ [private] |
Cell conditions for the spaces.
Definition at line 138 of file domainDecomp.hh.
uint concepts::DDSpace< F >::domains_ [protected, inherited] |
Number of domains/spaces.
Definition at line 52 of file domainDecomp.hh.
concepts::Joiner<Element*, 1>* concepts::DomainDecomp< F >::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 148 of file domainDecomp.hh.
uint concepts::DomainDecomp< F >::idx_ [private] |
Definition at line 152 of file domainDecomp.hh.
Sequence<Set<IndexRange> > concepts::DDSpace< F >::indicesB_ [protected, inherited] |
Definition at line 54 of file domainDecomp.hh.
Sequence<Set<IndexRange> > concepts::DDSpace< F >::indicesI_ [protected, inherited] |
Index sets of dof inside and at the boundary for each domain/space.
Definition at line 54 of file domainDecomp.hh.
uint concepts::DomainDecomp< F >::nelm_ [private] |
Number of elements in all spaces.
Definition at line 150 of file domainDecomp.hh.
Sequence<F*> concepts::DomainDecomp< F >::spaces_ [private] |
Spaces belonging to domains.
Definition at line 134 of file domainDecomp.hh.
Array<uint> concepts::DomainDecomp< F >::spcBuild_ [private] |
Array of build number of the spaces at last call of rebuild()
Definition at line 136 of file domainDecomp.hh.
uint concepts::DomainDecomp< F >::spcNo_ [private] |
Number for the global indices of the domains, for distinguishing between global indices on same topological entity.
Definition at line 132 of file domainDecomp.hh.