|
dune-fem 2.12-git
|
Loading...
Searching...
No Matches
stencil.hh
Go to the documentation of this file.
57 //static const bool indexIsPOD = false ;//std::is_convertible< RangeGlobalKeyType, IndexType >::value;
243 static_assert( Std::is_pod< DomainGlobalKeyType > :: value, "StencilWrapper only works for POD DomainGlobalKeyType");
347 template <class DomainSpace, class RangeSpace, class Partition = Dune::Partitions::InteriorBorder>
385 template <class DomainSpace, class RangeSpace, class Partition = Dune::Partitions::InteriorBorder>
void init(const Matrix *matrix)
virtual void operator()()=0
#define DUNE_THROW(E,...)
GhostEntity
Definition utility.hh:162
const RangeBlockMapper & rangeBlockMapper_
Definition stencil.hh:173
RangeIteratorType::Entity RangeEntityType
Definition stencil.hh:46
void update()
clear previously computed entries such that a re-compute happens when used again
Definition stencil.hh:137
DomainBlockMapper::GlobalKeyType DomainGlobalKeyType
Definition stencil.hh:47
virtual void setupStencil() const =0
method to setup stencil depending on entity set defined in derived class
RangeBlockMapper::GlobalKeyType RangeGlobalKeyType
Definition stencil.hh:48
const GlobalStencilType & globalStencil() const
Return the full stencil.
Definition stencil.hh:116
DomainIteratorType::Entity DomainEntityType
Definition stencil.hh:45
std::set< DomainGlobalKeyType > LocalStencilType
type for storing the stencil of one row
Definition stencil.hh:51
void fill(const DomainEntityType &dEntity, const RangeEntityType &rEntity, bool fillGhost=true) const
Create stencil entries for (dEntity,rEntity) pair.
Definition stencil.hh:93
std::vector< std::size_t >::size_type IndexType
type of std::vector for indexing
Definition stencil.hh:54
std::conditional< indexIsSimple, std::unordered_map< RangeGlobalKeyType, LocalStencilType >, std::map< RangeGlobalKeyType, LocalStencilType > >::type GlobalStencilType
Definition stencil.hh:60
int maxNonZerosEstimate() const
Return an upper bound for the maximum number of non-zero entries in all rows.
Definition stencil.hh:123
Stencil(const DomainSpace &dSpace, const RangeSpace &rSpace)
Constructor.
Definition stencil.hh:69
const LocalStencilType & localStencil(const RangeGlobalKeyType &key) const
Return stencil for a given row of the matrix.
Definition stencil.hh:109
const DomainBlockMapper & domainBlockMapper_
Definition stencil.hh:172
a watered down stencil providing only the upper bound for the non-zero entries per row.
Definition stencil.hh:187
StencilType::RangeGlobalKeyType RangeGlobalKeyType
Definition stencil.hh:193
StencilType::RangeEntityType RangeEntityType
Definition stencil.hh:191
const LocalStencilType & localStencil(const DomainGlobalKeyType &key) const
Definition stencil.hh:208
int maxNonZerosEstimate() const
Definition stencil.hh:204
const GlobalStencilType & globalStencil() const
Definition stencil.hh:213
StencilType::DomainEntityType DomainEntityType
Definition stencil.hh:190
StencilType::GlobalStencilType GlobalStencilType
Definition stencil.hh:195
StencilType::LocalStencilType LocalStencilType
Definition stencil.hh:194
StencilType::DomainGlobalKeyType DomainGlobalKeyType
Definition stencil.hh:192
a simple wrapper class for sparsity patterns provide as vector< set< size_t > >
Definition stencil.hh:234
void fill(const DomainEntityType &dEntity, const RangeEntityType &rEntity, bool fillGhost=true)
Create stencil entries for (dEntity,rEntity) pair.
Definition stencil.hh:310
StencilType::DomainEntityType DomainEntityType
Definition stencil.hh:238
std::vector< LocalStencilType > GlobalStencilType
Definition stencil.hh:246
const LocalStencilType & localStencil(const DomainGlobalKeyType &key) const
Definition stencil.hh:293
const ThisType & globalStencil() const
Definition stencil.hh:298
StencilType::RangeGlobalKeyType RangeGlobalKeyType
Definition stencil.hh:241
StencilType::DomainGlobalKeyType DomainGlobalKeyType
Definition stencil.hh:240
Iterator find(const DomainGlobalKeyType &key) const
Definition stencil.hh:317
StencilWrapper(const GlobalStencilType &stencil)
Definition stencil.hh:282
StencilType::RangeEntityType RangeEntityType
Definition stencil.hh:239
int maxNonZerosEstimate() const
Definition stencil.hh:288
Definition stencil.hh:249
bool operator==(const Iterator &other) const
Definition stencil.hh:271
const GlobalStencilType & stencil_
Definition stencil.hh:253
bool operator!=(const Iterator &other) const
Definition stencil.hh:276
Iterator(const DomainGlobalKeyType &init, const GlobalStencilType &stencil)
Definition stencil.hh:256
std::pair< DomainGlobalKeyType, const LocalStencilType & > ItemType
Definition stencil.hh:250
Stencil contaning the entries (en,en) for all entities in the space. Defailt for an operator over a L...
Definition stencil.hh:349
BaseType::DomainGlobalKeyType DomainGlobalKeyType
Definition stencil.hh:355
BaseType::GlobalStencilType GlobalStencilType
Definition stencil.hh:358
BaseType::RangeEntityType RangeEntityType
Definition stencil.hh:354
BaseType::DomainEntityType DomainEntityType
Definition stencil.hh:353
DiagonalStencil(const DomainSpace &dSpace, const RangeSpace &rSpace)
Definition stencil.hh:360
virtual void setupStencil() const override
method to setup stencil depending on entity set defined in derived class
Definition stencil.hh:368
BaseType::LocalStencilType LocalStencilType
Definition stencil.hh:357
BaseType::RangeGlobalKeyType RangeGlobalKeyType
Definition stencil.hh:356
Stencil< DomainSpace, RangeSpace > BaseType
Definition stencil.hh:350
Stencil contaning the entries (en,en) and (en,nb) for all entities en in the space and neighbors nb o...
Definition stencil.hh:387
virtual void setupStencil() const override
method to setup stencil depending on entity set defined in derived class
Definition stencil.hh:408
virtual ~DiagonalAndNeighborStencil()
Definition stencil.hh:405
bool onlyNonContinuousNeighbors_
Definition stencil.hh:429
BaseType::RangeEntityType RangeEntityType
Definition stencil.hh:392
BaseType::DomainGlobalKeyType DomainGlobalKeyType
Definition stencil.hh:393
DiagonalAndNeighborStencil(const DomainSpace &dSpace, const RangeSpace &rSpace, bool onlyNonContinuousNeighbors=false)
Definition stencil.hh:398
Stencil< DomainSpace, RangeSpace > BaseType
Definition stencil.hh:388
BaseType::LocalStencilType LocalStencilType
Definition stencil.hh:395
BaseType::GlobalStencilType GlobalStencilType
Definition stencil.hh:396
Partition PartitionType
Definition stencil.hh:390
BaseType::DomainEntityType DomainEntityType
Definition stencil.hh:391
BaseType::RangeGlobalKeyType RangeGlobalKeyType
Definition stencil.hh:394
T max(T... args)
T size(T... args)
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8