DUNE PDELab (2.8)
base class for tuples of grid function spaces product of identical grid function spaces base class that holds implementation of the methods More...
#include <dune/pdelab/gridfunctionspace/powergridfunctionspace.hh>
Classes | |
struct | ConstraintsContainer |
extract type for storing constraints More... | |
Public Types | |
typedef ImplementationBase::Traits | Traits |
export traits class | |
typedef PowerNodeTag | NodeTag |
The type tag that describes a PowerNode. | |
typedef T | ChildType |
The type of each child. | |
typedef std::array< std::shared_ptr< T >, k > | NodeStorage |
The type used for storing the children. | |
Public Member Functions | |
PowerGridFunctionSpace (const std::array< std::shared_ptr< T >, k > &container, const Backend &backend=Backend(), const OrderingTag ordering_tag=OrderingTag()) | |
Construct a new Power Grid Function Space object. More... | |
const Ordering & | ordering () const |
Direct access to the DOF ordering. | |
Ordering & | ordering () |
Direct access to the DOF ordering. | |
std::shared_ptr< const Ordering > | orderingStorage () const |
Direct access to the storage of the DOF ordering. | |
std::shared_ptr< Ordering > | orderingStorage () |
Direct access to the storage of the DOF ordering. | |
const Traits::EntitySet & | entitySet () const |
get grid view partition | |
Traits::EntitySet & | entitySet () |
get grid view partition | |
Traits::SizeType | maxLocalSize () const |
get max dimension of shape function space | |
void | update (bool force=false) |
Update the indexing information of the GridFunctionSpace. More... | |
const Traits::GridView & | gridView () const |
get grid view | |
bool | dataHandleContains (int codim) const |
returns true if data for this codim should be communicated | |
bool | dataHandleFixedSize (int codim) const |
returns true if size per entity of given dim and codim is a constant | |
constexpr bool | sendLeafSizes () const |
Returns true if the sizes of the leaf orderings in this tree should be sent as part of the communcation. More... | |
template<typename Entity > | |
size_type | dataHandleSize (const Entity &e) const |
template<typename Entity , typename ContainerIndex , typename DOFIndex , typename OffsetIterator , bool map_dof_indices> | |
void | dataHandleIndices (const Entity &e, std::vector< ContainerIndex > &container_indices, std::vector< DOFIndex > &dof_indices, OffsetIterator oit, std::integral_constant< bool, map_dof_indices > map_dof_indices_value) const |
return vector of global indices associated with the given entity | |
Child Access (templated methods) | |
template<std::size_t i> | |
T & | child (index_constant< i >={}) |
Returns the i-th child. More... | |
template<std::size_t i> | |
const T & | child (index_constant< i >={}) const |
Returns the i-th child (const version). More... | |
template<std::size_t i> | |
std::shared_ptr< T > | childStorage (index_constant< i >={}) |
Returns the storage of the i-th child. More... | |
template<std::size_t i> | |
std::shared_ptr< const T > | childStorage (index_constant< i >={}) const |
Returns the storage of the i-th child (const version). More... | |
template<std::size_t i> | |
void | setChild (T &t, index_constant< i >={}) |
Sets the i-th child to the passed-in value. | |
template<std::size_t i> | |
void | setChild (T &&t, index_constant< i >={}) |
Store the passed value in i-th child. | |
template<std::size_t i> | |
void | setChild (std::shared_ptr< T > st, index_constant< i >={}) |
Sets the stored value representing the i-th child to the passed-in value. | |
Child Access (Dynamic methods) | |
T & | child (std::size_t i) |
Returns the i-th child. More... | |
const T & | child (std::size_t i) const |
Returns the i-th child (const version). More... | |
std::shared_ptr< T > | childStorage (std::size_t i) |
Returns the storage of the i-th child. More... | |
std::shared_ptr< const T > | childStorage (std::size_t i) const |
Returns the storage of the i-th child (const version). More... | |
void | setChild (std::size_t i, T &t) |
Sets the i-th child to the passed-in value. | |
void | setChild (std::size_t i, T &&t) |
Store the passed value in i-th child. | |
void | setChild (std::size_t i, std::shared_ptr< T > st) |
Sets the stored value representing the i-th child to the passed-in value. | |
const NodeStorage & | nodeStorage () const |
Nested Child Access | |
template<typename... Indices> | |
ImplementationDefined & | child (Indices... indices) |
Returns the child given by the list of indices. More... | |
template<typename... Indices> | |
const ImplementationDefined & | child (Indices... indices) |
Returns the child given by the list of indices. More... | |
Static Public Attributes | |
static const bool | isLeaf = false |
Mark this class as non leaf in the dune-typetree. | |
static const bool | isPower = true |
Mark this class as a power in the dune-typetree. | |
static const bool | isComposite = false |
Mark this class as a non composite in the dune-typetree. | |
static const std::size_t | CHILDREN = k |
The number of children. | |
Protected Member Functions | |
void | setEntitySet (typename Traits::EntitySet entity_set) |
Set the Entity Set object to this grid function space. More... | |
Detailed Description
class Dune::PDELab::PowerGridFunctionSpace< T, k, Backend, OrderingTag >
base class for tuples of grid function spaces product of identical grid function spaces base class that holds implementation of the methods
PGFS(T,k) = {T}^k
- Template Parameters
-
T the underlying are all grid function spaces k power factor Mapper is the ordering parameter. Use e.g. GridFunctionSpaceLexicographicMapper or GridFunctionSpaceComponentBlockwiseMapper or GridFunctionSpaceBlockwiseMapper or GridFunctionSpaceDynamicBlockwiseMapper
- Examples
- recipe-blocking.cc, and recipe-operator-splitting.cc.
Constructor & Destructor Documentation
◆ PowerGridFunctionSpace()
|
inline |
Member Function Documentation
◆ child() [1/6]
|
inlineinherited |
Returns the i-th child.
- Returns
- a reference to the i-th child.
◆ child() [2/6]
|
inlineinherited |
Returns the i-th child (const version).
- Returns
- a const reference to the i-th child.
◆ child() [3/6]
|
inlineinherited |
Returns the child given by the list of indices.
This method simply forwards to the freestanding function child(). See that function for further information.
References Dune::TypeTree::child().
◆ child() [4/6]
|
inlineinherited |
Returns the child given by the list of indices.
This method simply forwards to the freestanding function child(). See that function for further information.
References Dune::TypeTree::child().
◆ child() [5/6]
|
inlineinherited |
Returns the i-th child.
- Returns
- a reference to the i-th child.
References Dune::TypeTree::PowerNode< T, k >::CHILDREN.
◆ child() [6/6]
|
inlineinherited |
Returns the i-th child (const version).
- Returns
- a const reference to the i-th child.
References Dune::TypeTree::PowerNode< T, k >::CHILDREN.
◆ childStorage() [1/4]
|
inlineinherited |
Returns the storage of the i-th child.
- Returns
- a copy of the object storing the i-th child.
◆ childStorage() [2/4]
|
inlineinherited |
Returns the storage of the i-th child (const version).
- Returns
- a copy of the object storing the i-th child.
◆ childStorage() [3/4]
|
inlineinherited |
Returns the storage of the i-th child.
- Returns
- a copy of the object storing the i-th child.
References Dune::TypeTree::PowerNode< T, k >::CHILDREN.
◆ childStorage() [4/4]
|
inlineinherited |
Returns the storage of the i-th child (const version).
- Returns
- a copy of the object storing the i-th child.
References Dune::TypeTree::PowerNode< T, k >::CHILDREN.
◆ dataHandleSize()
|
inlineinherited |
how many objects of type DataType have to be sent for a given entity
Note: Only the sender side needs to know this size.
◆ sendLeafSizes()
|
inlineconstexprinherited |
Returns true if the sizes of the leaf orderings in this tree should be sent as part of the communcation.
The MultiDomain extensions require knowledge about the size of the individual orderings, which might belong to separate subdomains. Otherwise it is possible to have size mismatches for entities with codim > 0 if there are protruding edges in the parallel mesh partitioning.
By default, this method will always return false. It must be overridden for cases where the data actually needs to be sent.
This flag also modifies the behavior of the generic data handles, which will automatically send, receive and process the additional information. Note that if sendLeafSizes() returns true, the underlying DataHandleIF of the grid will always use the data type char to be able to send different types of data, which will automatically be marshalled to / from a byte stream.
The documentation for this class was generated from the following file:
- dune/pdelab/gridfunctionspace/powergridfunctionspace.hh
![Creative Commons License](https://i.creativecommons.org/l/by-sa/4.0/80x15.png)