DUNE PDELab (git)

Dune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O > Class Template Reference

A grid function space. More...

#include <dune/pdelab/gridfunctionspace/gridfunctionspace.hh>

Classes

struct  ConstraintsContainer
 extract type for storing constraints More...
 

Public Types

typedef GridFunctionSpaceTraits< ES, FEM, CE, B, O > Traits
 export Traits class
 
typedef LeafNodeTag NodeTag
 The type tag that describes a LeafNode.
 

Public Member Functions

 GridFunctionSpace (const typename Traits::GridView &gridview, const FEM &fem, const CE &ce, const B &backend=B(), const OrderingTag &ordering_tag=OrderingTag())
 constructor
 
 GridFunctionSpace (const typename Traits::GridView &gridview, const std::shared_ptr< const FEM > &fem, const std::shared_ptr< const CE > &ce, const B &backend=B(), const OrderingTag &ordering_tag=OrderingTag())
 constructor
 
 GridFunctionSpace (const typename Traits::GridView &gridview, const FEM &fem, const B &backend=B(), const OrderingTag &ordering_tag=OrderingTag())
 constructor
 
 GridFunctionSpace (const typename Traits::GridView &gridview, const std::shared_ptr< const FEM > &fem, const B &backend=B(), const OrderingTag &ordering_tag=OrderingTag())
 constructor
 
 GridFunctionSpace (typename Traits::EntitySet entitySet, const FEM &fem, const CE &ce, const B &backend=B(), const OrderingTag &ordering_tag=OrderingTag())
 Construct a new Grid Function Space object. More...
 
 GridFunctionSpace (typename Traits::EntitySet entitySet, const std::shared_ptr< const FEM > &fem, const std::shared_ptr< const CE > &ce, const B &backend=B(), const OrderingTag &ordering_tag=OrderingTag())
 
 GridFunctionSpace (typename Traits::EntitySet entitySet, const FEM &fem, const B &backend=B(), const OrderingTag &ordering_tag=OrderingTag())
 
 GridFunctionSpace (typename Traits::EntitySet entitySet, const std::shared_ptr< const FEM > &fem, const B &backend=B(), const OrderingTag &ordering_tag=OrderingTag())
 
const FEM & finiteElementMap () const
 get finite element map
 
std::shared_ptr< const FEM > finiteElementMapStorage () const
 get finite element map
 
const Traits::ConstraintsTypeconstraints () const
 return constraints engine
 
std::shared_ptr< const CE > constraintsStorage () const
 return storage of constraints engine
 
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.
 
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::GridViewgridView () const
 get grid view
 
const Traits::EntitySetentitySet () const
 get entity set
 
Traits::EntitySetentitySet ()
 get entity set
 
Output::DataSetType dataSetType () const
 Return the data set type of this function.
 
void setDataSetType (Output::DataSetType dataSetType)
 Set the data set type of this function.
 
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
 

Static Public Attributes

static const bool isLeaf = true
 Mark this class as a leaf in a dune-typetree.
 
static const bool isPower = false
 Mark this class as a non power in the dune-typetree.
 
static const bool isComposite = false
 Mark this class as a non composite in the dune-typetree.
 

Protected Member Functions

void setEntitySet (typename Traits::EntitySet entity_set)
 Set the Entity Set object to this grid function space. More...
 

Detailed Description

template<typename ES, typename FEM, typename CE = NoConstraints, typename B = ISTL::VectorBackend<>, typename O = DefaultLeafOrderingTag>
class Dune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O >

A grid function space.

Representation of a function space in a grid. Here, the entity set.

Template Parameters
ESEntity Set type (See PartitionViewEntitySet). Respresents the sub set of entities where the finite element map has support.
FEMType implementing FiniteElementMapInterface. A map from entity to local finite element.
CEType for constraints assembler
BBackend type
OOrdering tag
Examples
recipe-blocking.cc, recipe-communication.cc, recipe-geometry-grid.cc, recipe-linear-system-assembly.cc, recipe-linear-system-solution-istl.cc, recipe-linear-system-solution-pdelab.cc, and recipe-operator-splitting.cc.

Member Function Documentation

◆ dataHandleSize()

template<typename GFS >
template<typename Entity >
size_type Dune::PDELab::DataHandleProvider< GFS >::dataHandleSize ( const Entity e) const
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()

template<typename GFS >
constexpr bool Dune::PDELab::DataHandleProvider< GFS >::sendLeafSizes ( ) const
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:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (Apr 26, 22:29, 2024)