dune-pdelab 2.7-git
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Protected Member Functions | List of all members
Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE > Class Template Reference

A pdelab grid function space implemented by a dune-functions function space basis. More...

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

Inheritance diagram for Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >:
Inheritance graph

Classes

struct  ConstraintsContainer
 extract type for storing constraints More...
 
struct  LeafOrdering
 The actual Ordering object of the grid function space. More...
 
struct  Ordering
 Root of the ordering tree. More...
 
struct  Traits
 export Traits class More...
 

Public Types

using Basis = DFBasis
 
typedef std::size_t size_type
 

Public Member Functions

 GridFunctionSpace (std::shared_ptr< DFBasis > df_basis, std::shared_ptr< CE > ce)
 constructor
 
 GridFunctionSpace (std::shared_ptr< DFBasis > df_basis)
 
const Traits::GridViewgridView () const
 get grid view
 
const Traits::EntitySetentitySet () const
 get EntitySet
 
const auto & finiteElementMap () 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 Orderingordering () const
 Direct access to the DOF ordering.
 
std::shared_ptr< const OrderingorderingStorage () const
 
Traits::SizeType size () const
 
Traits::SizeType blockCount () const
 
Traits::SizeType globalSize () const
 
Traits::SizeType maxLocalSize () const
 
void update (bool force=false)
 Update the indexing information of the GridFunctionSpace.
 
const std::string & name () const
 
void name (const std::string &name)
 
bool isRootSpace () const
 
const Basisbasis () const
 
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.
 
size_type dataHandleSize (const Entity &e) const
 
void setup_dof_indices (V &v, size_type n, const EntityIndex &ei, std::integral_constant< bool, true >) const
 
void setup_dof_indices (V &v, size_type n, const EntityIndex &ei, std::integral_constant< bool, false >) const
 
V::iterator dof_indices_begin (V &v, std::integral_constant< bool, true >) const
 
DummyDOFIndexIterator dof_indices_begin (V &v, std::integral_constant< bool, false >) const
 
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
 

Protected Member Functions

const GridFunctionSpace< DFBasis, VBE, CE > & gfs () const
 

Detailed Description

template<typename DFBasis, typename VBE, typename CE>
class Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >

A pdelab grid function space implemented by a dune-functions function space basis.

Warning
This class works only under quite restrictive assumptions:
  • The dune-functions basis has to be scalar-valued
  • The basis has to be such that the local finite element type for a given element can be infered from the GeometryType of the element alone. (Due to a restriction in the current implementation of the FiniteElementMap)
Template Parameters
DFBasisA dune-functions function space basis
VBEThe type of the underlying vector backend
CEType for constraints assembler

Member Typedef Documentation

◆ size_type

typedef std::size_t Dune::PDELab::DataHandleProvider< GridFunctionSpace< DFBasis, VBE, CE > >::size_type
inherited

Member Function Documentation

◆ dataHandleContains()

bool Dune::PDELab::DataHandleProvider< GridFunctionSpace< DFBasis, VBE, CE > >::dataHandleContains ( int  codim) const
inlineinherited

returns true if data for this codim should be communicated

◆ dataHandleFixedSize()

bool Dune::PDELab::DataHandleProvider< GridFunctionSpace< DFBasis, VBE, CE > >::dataHandleFixedSize ( int  codim) const
inlineinherited

returns true if size per entity of given dim and codim is a constant

◆ dataHandleIndices()

void Dune::PDELab::DataHandleProvider< GridFunctionSpace< DFBasis, VBE, CE > >::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
inlineinherited

return vector of global indices associated with the given entity

◆ dataHandleSize()

size_type Dune::PDELab::DataHandleProvider< GridFunctionSpace< DFBasis, VBE, CE > >::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.

◆ dataSetType()

Output::DataSetType Dune::PDELab::GridFunctionOutputParameters::dataSetType ( ) const
inlineinherited

Return the data set type of this function.

◆ dof_indices_begin() [1/2]

DummyDOFIndexIterator Dune::PDELab::DataHandleProvider< GridFunctionSpace< DFBasis, VBE, CE > >::dof_indices_begin ( V &  v,
std::integral_constant< bool, false >   
) const
inlineinherited

◆ dof_indices_begin() [2/2]

V::iterator Dune::PDELab::DataHandleProvider< GridFunctionSpace< DFBasis, VBE, CE > >::dof_indices_begin ( V &  v,
std::integral_constant< bool, true >   
) const
inlineinherited

◆ gfs()

const GridFunctionSpace< DFBasis, VBE, CE > & Dune::PDELab::DataHandleProvider< GridFunctionSpace< DFBasis, VBE, CE > >::gfs ( ) const
inlineprotectedinherited

◆ sendLeafSizes()

constexpr bool Dune::PDELab::DataHandleProvider< GridFunctionSpace< DFBasis, VBE, CE > >::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.

◆ setDataSetType()

void Dune::PDELab::GridFunctionOutputParameters::setDataSetType ( Output::DataSetType  dataSetType)
inlineinherited

Set the data set type of this function.

◆ setup_dof_indices() [1/2]

void Dune::PDELab::DataHandleProvider< GridFunctionSpace< DFBasis, VBE, CE > >::setup_dof_indices ( V &  v,
size_type  n,
const EntityIndex &  ei,
std::integral_constant< bool, false >   
) const
inlineinherited

◆ setup_dof_indices() [2/2]

void Dune::PDELab::DataHandleProvider< GridFunctionSpace< DFBasis, VBE, CE > >::setup_dof_indices ( V &  v,
size_type  n,
const EntityIndex &  ei,
std::integral_constant< bool, true >   
) const
inlineinherited

The documentation for this class was generated from the following file: