DUNE PDELab (git)

Modules

 Finite Element Map
 
 Ordering
 Map between DOFIndex and ContainerIndex.
 
 Strict Trial and Test space handling
 

Namespaces

namespace  Dune::PDELab::gfs
 Implementation namespace for GridFunctionSpace-specific features.
 

Classes

struct  Dune::PDELab::DirichletConstraintsParameters
 
struct  Dune::PDELab::NoDirichletConstraintsParameters
 
struct  Dune::PDELab::FluxConstraintsParameters
 
struct  Dune::PDELab::NoFluxConstraintsParameters
 
struct  Dune::PDELab::FluxFromDirichletConstraintsAdapter< DirichletConstraintsParameters >
 
struct  Dune::PDELab::DirichletFromFluxConstraintsAdapter< FluxConstraintsParameters >
 
class  Dune::PDELab::NoConstraintsParameters
 
class  Dune::PDELab::ConstraintsTransformation< DI, CI, F >
 a class holding transformation for constrained spaces More...
 
class  Dune::PDELab::CompositeGridFunctionSpace< Backend, OrderingTag, Children >
 base class for tuples of grid function spaces base class that holds implementation of the methods this is the default version with lexicographic ordering More...
 
class  Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >
 A pdelab grid function space implemented by a dune-functions function space basis. More...
 
struct  Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::Traits
 export Traits class More...
 
struct  Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::Traits::FEM
 Rudimentary internal implementation of a FiniteElementMap. More...
 
struct  Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::LeafOrdering
 The actual Ordering object of the grid function space. More...
 
struct  Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::Ordering
 Root of the ordering tree. More...
 
struct  Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::ConstraintsContainer< E >
 extract type for storing constraints More...
 
struct  Dune::PDELab::GridFunctionSpaceTraits< G, L, C, B, O >
 collect types exported by a leaf grid function space More...
 
class  Dune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O >
 A grid function space. More...
 
struct  Dune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O >::ConstraintsContainer< E >
 extract type for storing constraints More...
 
class  Dune::PDELab::DiscreteGridFunction< T, X >
 convert a grid function space and a coefficient vector into a grid function More...
 
class  Dune::PDELab::DiscreteGridFunctionCurl< T, X >
 convert a grid function space and a coefficient vector into a grid function of the curl More...
 
struct  Dune::PDELab::DiscreteGridFunctionCurlTraits< GV, RangeFieldType, dimRangeOfBasis >
 Helper class to calculate the Traits of DiscreteGridFunctionCurl. More...
 
struct  Dune::PDELab::DiscreteGridFunctionCurlTraits< GV, RangeFieldType, 1 >
 Helper class to calculate the Traits of DiscreteGridFunctionCurl (1D) More...
 
struct  Dune::PDELab::DiscreteGridFunctionCurlTraits< GV, RangeFieldType, 2 >
 Helper class to calculate the Traits of DiscreteGridFunctionCurl (2D) More...
 
struct  Dune::PDELab::DiscreteGridFunctionCurlTraits< GV, RangeFieldType, 3 >
 Helper class to calculate the Traits of DiscreteGridFunctionCurl (3D) More...
 
class  Dune::PDELab::DiscreteGridFunctionGlobalCurl< T, X >
 convert a single component function space with experimental global finite elements into a grid function representing the curl More...
 
class  Dune::PDELab::DiscreteGridFunctionGradient< T, X >
 convert a single component function space with a grid function representing the gradient More...
 
class  Dune::PDELab::DiscreteGridFunctionPiola< T, X >
 DiscreteGridFunction with Piola transformation. More...
 
class  Dune::PDELab::VectorDiscreteGridFunction< T, X, dimR >
 DiscreteGridFunction for vector-valued functions. More...
 
class  Dune::PDELab::VectorDiscreteGridFunctionGradient< T, X >
 Equivalent of DiscreteGridFunctionGradient for vector-valued functions. More...
 
struct  Dune::PDELab::SingleDerivativeComputationHelper< Mat, RF, size >
 Helper class to compute a single derivative of scalar basis functions. More...
 
struct  Dune::PDELab::SingleDerivativeComputationHelper< Dune::FieldMatrix< RF, size, size >, RF, size >
 Template specialization for Dune::FieldMatrix. More...
 
struct  Dune::PDELab::SingleDerivativeComputationHelper< Dune::DiagonalMatrix< RF, size >, RF, size >
 Template specialization for Dune::DiagonalMatrix. More...
 
class  Dune::PDELab::VectorDiscreteGridFunctionDiv< T, X >
 Compute divergence of vector-valued functions. More...
 
class  Dune::PDELab::VectorDiscreteGridFunctionCurl< T, X, dimR >
 Compute curl of vector-valued functions. More...
 
class  Dune::PDELab::VectorDiscreteGridFunctionCurl< T, X, 3 >
 Compute curl of vector-valued functions (3D). More...
 
class  Dune::PDELab::VectorDiscreteGridFunctionCurl< T, X, 2 >
 Compute curl of vector-valued functions (2D). More...
 
struct  Dune::PDELab::LocalFunctionSpaceBaseTraits< GFS, DI >
 traits mapping global function space information to local function space More...
 
struct  Dune::PDELab::GridViewLocalFunctionSpaceBaseTraits< GFS, DOFIndex >
 traits for local function space on a gridview More...
 
struct  Dune::PDELab::PowerCompositeLocalFunctionSpaceTraits< GFS, DOFIndex, N >
 traits for multi component local function space More...
 
struct  Dune::PDELab::LeafLocalFunctionSpaceTraits< GFS, DOFIndex, N >
 traits for single component local function space More...
 
class  Dune::PDELab::LeafLocalFunctionSpaceNode< GFS, DOFIndex >
 single component local function space More...
 
class  Dune::PDELab::LocalFunctionSpace< GFS, TAG >
 Create a local function space from a global function space. More...
 
struct  Dune::PDELab::PowerCompositeGridFunctionSpaceTraits< G, B, O, k >
 Trait class for the multi component grid function spaces. More...
 
class  Dune::PDELab::PowerCompositeGridFunctionSpaceBase< GridFunctionSpace, GV, B, O, k >
 Mixin class providing common functionality of PowerGridFunctionSpace and CompositeGridFunctionSpace. More...
 
struct  Dune::PDELab::CompositeGridFunctionSpaceBaseTag
 Tag for the intermediate base class of the CompositeGridFunctionSpace. More...
 
struct  Dune::PDELab::EntityBlockedOrderingTag
 Indicate blocking of the unknowns by grid entity. More...
 
struct  Dune::PDELab::LexicographicOrderingTag
 Indicate lexicographic ordering of the unknowns of non-leaf grid function spaces. More...
 
struct  Dune::PDELab::InterleavedOrderingTag
 Indicate interleaved ordering of the unknowns of non-leaf grid function spaces according to a given blocking pattern. More...
 
struct  Dune::PDELab::NoConstOrderingSize< v >
 Mixin indicating whether a leaf GridFunctionSpace should never assume a const ordering size. More...
 
struct  Dune::PDELab::PartitionSelector< p0, p1, p2, p3, p4 >
 Helper for building the bitmask describing the grid partitions contained in a GFS. More...
 
struct  Dune::PDELab::LeafOrderingTag< Params >
 Tag indicating a standard ordering for a leaf GridfunctionSpace. More...
 
struct  Dune::PDELab::SingleCodimMapper
 
struct  Dune::PDELab::PowerLocalFunctionSpaceTag
 Tag denoting a PowerLocalFunctionSpace. More...
 
struct  Dune::PDELab::CompositeLocalFunctionSpaceTag
 Tag denoting a CompositeLocalFunctionSpace. More...
 
struct  Dune::PDELab::LeafLocalFunctionSpaceTag
 Tag denoting a LeafLocalFunctionSpace. More...
 
struct  Dune::PDELab::HierarchicContainerAllocationTag
 
struct  Dune::PDELab::FlatContainerAllocationTag
 
struct  Dune::PDELab::DefaultLFSCacheTag
 
struct  Dune::PDELab::SimpleLFSCacheTag
 

Typedefs

using Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::LeafOrdering::Traits::DOFIndex = PDELab::DOFIndex< std::size_t, 1, 2 >
 A DOF index that is independent of any ordering.
 
using Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::LeafOrdering::Traits::ContainerIndex = PDELab::MultiIndex< std::size_t, 1 >
 The index to access containers with. More...
 
using Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::ConstraintsContainer< E >::Type = std::conditional_t< std::is_same< CE, NoConstraints >::value, EmptyTransformation, ConstraintsTransformation< typename Ordering::Traits::DOFIndex, typename Ordering::Traits::ContainerIndex, E > >
 define Type as the Type of a container of E's
 
using Dune::PDELab::GridFunctionSpaceTraits< G, L, C, B, O >::GridView = impl::GridView< G >
 the grid view where grid function is defined upon
 
using Dune::PDELab::GridFunctionSpaceTraits< G, L, C, B, O >::EntitySet = impl::EntitySet< G >
 the entity set of this function space.
 
typedef B Dune::PDELab::GridFunctionSpaceTraits< G, L, C, B, O >::BackendType
 vector backend
 
typedef B::size_type Dune::PDELab::GridFunctionSpaceTraits< G, L, C, B, O >::SizeType
 short cut for size type exported by Backend
 
typedef L Dune::PDELab::GridFunctionSpaceTraits< G, L, C, B, O >::FiniteElementMapType
 finite element map
 
typedef L Dune::PDELab::GridFunctionSpaceTraits< G, L, C, B, O >::FiniteElementMap
 finite element map
 
typedef L::Traits::FiniteElementType Dune::PDELab::GridFunctionSpaceTraits< G, L, C, B, O >::FiniteElementType
 finite element
 
typedef C Dune::PDELab::GridFunctionSpaceTraits< G, L, C, B, O >::ConstraintsType
 type representing constraints
 
typedef O Dune::PDELab::GridFunctionSpaceTraits< G, L, C, B, O >::OrderingTag
 tag describing the ordering. More...
 
typedef GridFunctionSpaceTraits< ES, FEM, CE, B, O > Dune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O >::Traits
 export Traits class
 
typedef std::conditional< std::is_same< CE, NoConstraints >::value, EmptyTransformation, ConstraintsTransformation< typenameOrdering::Traits::DOFIndex, typenameOrdering::Traits::ContainerIndex, E > >::type Dune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O >::ConstraintsContainer< E >::Type
 define Type as the Type of a container of E's
 
using Dune::PDELab::PowerCompositeGridFunctionSpaceTraits< G, B, O, k >::GridViewType = GridView
 the grid view where grid function is defined upon
 
typedef B Dune::PDELab::PowerCompositeGridFunctionSpaceTraits< G, B, O, k >::BackendType
 vector backend
 
typedef O Dune::PDELab::PowerCompositeGridFunctionSpaceTraits< G, B, O, k >::MapperType
 mapper
 
typedef B::size_type Dune::PDELab::PowerCompositeGridFunctionSpaceTraits< G, B, O, k >::SizeType
 short cut for size type exported by Backend
 
typedef PowerCompositeGridFunctionSpaceTraits< GV, B, O, k > Dune::PDELab::PowerCompositeGridFunctionSpaceBase< GridFunctionSpace, GV, B, O, k >::Traits
 export traits class
 
template<typename GFS , typename TreePath >
using Dune::PDELab::GridFunctionSubSpace = gfs::GridFunctionSubSpace< GFS, TreePath >
 Non-nesting implementation of GridFunctionSubSpace. More...
 

Enumerations

enum  { Dune::PDELab::PowerCompositeGridFunctionSpaceTraits< G, B, O, k >::isComposite = 1 , Dune::PDELab::PowerCompositeGridFunctionSpaceTraits< G, B, O, k >::noChilds = k }
 

Functions

template<typename GFS , typename CG >
void Dune::PDELab::constraints (const GFS &gfs, CG &cg, const bool verbose=false)
 construct constraints More...
 
template<typename P , typename GFS , typename CG >
void Dune::PDELab::constraints (const P &p, const GFS &gfs, CG &cg, const bool verbose=false)
 construct constraints from given constraints parameter tree More...
 
template<typename CG , typename XG >
void Dune::PDELab::set_constrained_dofs (const CG &cg, typename XG::ElementType x, XG &xg)
 construct constraints from given boundary condition function More...
 
template<typename CG , typename XG , typename Cmp >
bool Dune::PDELab::check_constrained_dofs (const CG &cg, typename XG::ElementType x, XG &xg, const Cmp &cmp=Cmp())
 check that constrained dofs match a certain value More...
 
template<typename CG , typename XG >
bool Dune::PDELab::check_constrained_dofs (const CG &cg, typename XG::ElementType x, XG &xg)
 check that constrained dofs match a certain value More...
 
template<typename CG , typename XG >
void Dune::PDELab::constrain_residual (const CG &cg, XG &xg)
 transform residual into transformed basis: r -> r~ More...
 
const Traits::FiniteElementType & Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::Traits::FEM::find (const typename GridView::template Codim< 0 >::Entity &element) const
 Get local basis functions for entity. More...
 
size_type Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::LeafOrdering::size (const typename DOFIndex::EntityIndex &entity) const
 Number of degrees of freedom per entity.
 
bool Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::LeafOrdering::contains (typename Traits::SizeType codim) const
 True if there is at least one entity of the given codim that has a dof.
 
bool Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::LeafOrdering::fixedSize (typename Traits::SizeType codim) const
 True if all entities of the given codimension have the same number of dofs.
 
size_type Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::Ordering::blockCount () const
 Same as size(), because block size is always 1.
 
bool Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::Ordering::contains (typename Traits::SizeType codim) const
 Returns true if there is at least one entity of the given codim for which data needs to be communicated.
 
bool Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::Ordering::fixedSize (typename Traits::SizeType codim) const
 True if for all entities of the given codim the same number of data items has to be communicated.
 
 Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::GridFunctionSpace (std::shared_ptr< DFBasis > df_basis, std::shared_ptr< CE > ce)
 constructor
 
const Traits::GridView & Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::gridView () const
 get grid view
 
const Traits::EntitySet & Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::entitySet () const
 get EntitySet
 
const auto & Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::finiteElementMap () const
 get finite element map
 
const Traits::ConstraintsType & Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::constraints () const
 return constraints engine
 
std::shared_ptr< const CE > Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::constraintsStorage () const
 return storage of constraints engine
 
const OrderingDune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::ordering () const
 Direct access to the DOF ordering.
 
void Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::update (bool force=false)
 Update the indexing information of the GridFunctionSpace. More...
 
 Dune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O >::GridFunctionSpace (const typename Traits::GridView &gridview, const FEM &fem, const CE &ce, const B &backend=B(), const OrderingTag &ordering_tag=OrderingTag())
 constructor
 
 Dune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O >::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
 
 Dune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O >::GridFunctionSpace (const typename Traits::GridView &gridview, const FEM &fem, const B &backend=B(), const OrderingTag &ordering_tag=OrderingTag())
 constructor
 
 Dune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O >::GridFunctionSpace (const typename Traits::GridView &gridview, const std::shared_ptr< const FEM > &fem, const B &backend=B(), const OrderingTag &ordering_tag=OrderingTag())
 constructor
 
 Dune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O >::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...
 
 Dune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O >::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())
 
 Dune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O >::GridFunctionSpace (typename Traits::EntitySet entitySet, const FEM &fem, const B &backend=B(), const OrderingTag &ordering_tag=OrderingTag())
 
 Dune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O >::GridFunctionSpace (typename Traits::EntitySet entitySet, const std::shared_ptr< const FEM > &fem, const B &backend=B(), const OrderingTag &ordering_tag=OrderingTag())
 
const FEM & Dune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O >::finiteElementMap () const
 get finite element map
 
std::shared_ptr< const FEM > Dune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O >::finiteElementMapStorage () const
 get finite element map
 
const Traits::ConstraintsTypeDune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O >::constraints () const
 return constraints engine
 
std::shared_ptr< const CE > Dune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O >::constraintsStorage () const
 return storage of constraints engine
 
const Ordering & Dune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O >::ordering () const
 Direct access to the DOF ordering.
 
Ordering & Dune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O >::ordering ()
 Direct access to the DOF ordering.
 
std::shared_ptr< const Ordering > Dune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O >::orderingStorage () const
 Direct access to the storage of the DOF ordering.
 
std::shared_ptr< Ordering > Dune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O >::orderingStorage ()
 Direct access to the storage of the DOF ordering.
 
Traits::SizeType Dune::PDELab::GridFunctionSpaceBase< GFS, GFSTraits >::maxLocalSize () const
 get max dimension of shape function space
 
void Dune::PDELab::GridFunctionSpaceBase< GFS, GFSTraits >::update (bool force=false)
 Update the indexing information of the GridFunctionSpace. More...
 
const Traits::GridView & Dune::PDELab::GridFunctionSpaceBase< GFS, GFSTraits >::gridView () const
 get grid view
 
const Traits::EntitySet & Dune::PDELab::GridFunctionSpaceBase< GFS, GFSTraits >::entitySet () const
 get entity set
 
Traits::EntitySet & Dune::PDELab::GridFunctionSpaceBase< GFS, GFSTraits >::entitySet ()
 get entity set
 
void Dune::PDELab::GridFunctionSpaceBase< GFS, GFSTraits >::setEntitySet (typename Traits::EntitySet entity_set)
 Set the Entity Set object to this grid function space. More...
 
template<typename F , typename GFS , typename XG >
void Dune::PDELab::interpolate (const F &f, const GFS &gfs, XG &xg)
 interpolation from a given grid function More...
 
const Traits::EntitySet & Dune::PDELab::PowerCompositeGridFunctionSpaceBase< GridFunctionSpace, GV, B, O, k >::entitySet () const
 get grid view partition
 
Traits::EntitySet & Dune::PDELab::PowerCompositeGridFunctionSpaceBase< GridFunctionSpace, GV, B, O, k >::entitySet ()
 get grid view partition
 

Variables

static constexpr MultiIndexOrder Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::LeafOrdering::Traits::ContainerIndexOrder = MultiIndexOrder::Inner2Outer
 Inform about ContainerIndex multi-index order semantics.
 
static const bool Dune::PDELab::GridFunctionSpaceTraits< G, L, C, B, O >::isComposite = false
 True if this grid function space is composed of others.
 
template<typename CG , typename XG >
void Dune::PDELab::copy_constrained_dofs (const CG &cg, const XG &xgin, XG &xgout)
 
template<typename CG , typename XG >
void Dune::PDELab::set_nonconstrained_dofs (const CG &cg, typename XG::ElementType x, XG &xg)
 
template<typename CG , typename XG >
void Dune::PDELab::copy_nonconstrained_dofs (const CG &cg, const XG &xgin, XG &xgout)
 
template<typename CG , typename XG >
void Dune::PDELab::set_shifted_dofs (const CG &cg, typename XG::ElementType x, XG &xg)
 

Detailed Description

Typedef Documentation

◆ ContainerIndex

template<typename DFBasis , typename VBE , typename CE >
using Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::LeafOrdering::Traits::ContainerIndex = PDELab::MultiIndex<std::size_t,1>

The index to access containers with.

The implementation does not support blocking or other forms of multi-indices yet. Therefore the container index type is always a multi-index with one digit, i.e., an integer.

◆ GridFunctionSubSpace

template<typename GFS , typename TreePath >
using Dune::PDELab::GridFunctionSubSpace = typedef gfs::GridFunctionSubSpace<GFS,TreePath>

Non-nesting implementation of GridFunctionSubSpace.

This is the actual implementation of GridFunctionSubSpace. It is based around the idea of performing the mapping from the subspace to the rootspace in a single step using a SubOrdering. As SubOrderings cannot be nested, this class needs some helper functionality that constructs a new GridFunctionSubSpace directly on top of the underlying root GridFunctionSpace if the user attempts to nest GridFunctionSubSpaces. On the other hand, this implementation should render such usage mostly unnecessary, as it is now possible to directly construct a subspace for a given leaf space. If the compiler has support for template aliases, the de-nesting infrastructure will be able to completely remove all traces of nesting, letting the type obtained by nesting two GridFunctionSubSpaces look exactly like the type obtained by constructing a single GridFunctionSubSpace. Alternatively, without template aliases, it is only possible to have the actual implementation be non-nested. In this case, the Dune::PDELab::GridFunctionSubSpace classes will still nest.

Note
This class should always be used as Dune::PDELab::GridFunctionSubSpace. Never attempt to directly use the class Dune::PDELab::gfs::GridFunctionSubSpace!
Template Parameters
GFSThe root GridFunctionSpace.
TreePathPath from the root GridFunctionSpace to the represented subspace.

◆ OrderingTag

template<typename G , typename L , typename C , typename B , typename O >
typedef O Dune::PDELab::GridFunctionSpaceTraits< G, L, C, B, O >::OrderingTag

tag describing the ordering.

The tag type may contain additional constants and typedefs to control the behavior of the created ordering.

Enumeration Type Documentation

◆ anonymous enum

template<typename G , typename B , typename O , std::size_t k>
anonymous enum
Enumerator
isComposite 

True if this grid function space is composed of others.

noChilds 

number of child spaces

Function Documentation

◆ check_constrained_dofs() [1/2]

template<typename CG , typename XG >
bool Dune::PDELab::check_constrained_dofs ( const CG &  cg,
typename XG::ElementType  x,
XG &  xg 
)

check that constrained dofs match a certain value

#include <dune/pdelab/constraints/common/constraints.hh>

This just calls check_constrained_dofs(cg, x, xg, cmp) with a default comparison object FloatCmpOps<typename XG::ElementType>().

Template Parameters
CGType of ConstraintsContainer
XGType of coefficients container
Parameters
cgThe ConstraintsContainer
xThe value to compare with
xgThe container with the coefficients
Returns
true if all constrained dofs match the given value, false otherwise.

References Dune::PDELab::check_constrained_dofs().

Referenced by Dune::PDELab::check_constrained_dofs().

◆ check_constrained_dofs() [2/2]

template<typename CG , typename XG , typename Cmp >
bool Dune::PDELab::check_constrained_dofs ( const CG &  cg,
typename XG::ElementType  x,
XG &  xg,
const Cmp &  cmp = Cmp() 
)

check that constrained dofs match a certain value

as if they were set by set_constrained_dofs()

#include <dune/pdelab/constraints/common/constraints.hh>
Template Parameters
CGType of ConstraintsContainer
XGType of coefficients container
CmpType of Comparison object to use (something with the interface of Dune::FloatCmpOps)
Parameters
cgThe ConstraintsContainer
xThe value to compare with
xgThe container with the coefficients
cmpThe comparison object to use.
Returns
true if all constrained dofs match the given value, false otherwise.

◆ constrain_residual()

template<typename CG , typename XG >
void Dune::PDELab::constrain_residual ( const CG &  cg,
XG &  xg 
)

◆ constraints() [1/2]

template<typename GFS , typename CG >
void Dune::PDELab::constraints ( const GFS &  gfs,
CG &  cg,
const bool  verbose = false 
)

construct constraints

#include <dune/pdelab/constraints/common/constraints.hh>
Template Parameters
GFSType implementing the model GridFunctionSpace
CGType implementing the model GridFunctionSpace::ConstraintsContainer::Type
Parameters
gfsThe gridfunctionspace
cgThe constraints container
verbosePrint information about the constaints at the end
Examples
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.

◆ constraints() [2/2]

template<typename P , typename GFS , typename CG >
void Dune::PDELab::constraints ( const P &  p,
const GFS &  gfs,
CG &  cg,
const bool  verbose = false 
)

construct constraints from given constraints parameter tree

#include <dune/pdelab/constraints/common/constraints.hh>
Template Parameters
PType implementing a constraits parameter tree
GFSType implementing the model GridFunctionSpace
CGType implementing the model GridFunctionSpace::ConstraintsContainer::Type
Parameters
pThe condition parameters
gfsThe gridfunctionspace
cgThe constraints container
verbosePrint information about the constraints at the end
Note
For backwards compatibility you can implement the parameter tree as an Implemention Dune::PDELab::FunctionInterface

◆ copy_constrained_dofs()

template<typename CG , typename XG >
void Dune::PDELab::copy_constrained_dofs ( const CG &  cg,
const XG &  xgin,
XG &  xgout 
)

Modify coefficient vector based on constrained dofs as given in the constraints container

#include <dune/pdelab/constraints/common/constraints.hh>

Referenced by Dune::PDELab::copy_nonconstrained_dofs(), Dune::PDELab::set_nonconstrained_dofs(), and Dune::PDELab::NewtonMethod< GridOperator_, LinearSolver_ >::updateDefect().

◆ copy_nonconstrained_dofs()

template<typename CG , typename XG >
void Dune::PDELab::copy_nonconstrained_dofs ( const CG &  cg,
const XG &  xgin,
XG &  xgout 
)

◆ find()

template<typename DFBasis , typename VBE , typename CE >
const Traits::FiniteElementType & Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::Traits::FEM::find ( const typename GridView::template Codim< 0 >::Entity &  element) const
inline

Get local basis functions for entity.

This method makes a few short-cuts. The problem is that dune-functions bases return LocalFiniteElement objects by value, but the method 'find' here hands them out by reference. Therefore, the FiniteElementMap class has to assume ownership of these objects. In principle they can be different for each element. However, storing a LocalFiniteElement for each element can be very expensive. Therefore, we make the simplifying assumption that the basis is such that the LocalFiniteElement type can be inferred from the GeometryType of the element alone. This will work for many interesting case, but it will fail, for example, for p-adaptive or XFEM-type bases.

◆ GridFunctionSpace() [1/4]

template<typename ES , typename FEM , typename CE = NoConstraints, typename B = ISTL::VectorBackend<>, typename O = DefaultLeafOrderingTag>
Dune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O >::GridFunctionSpace ( typename Traits::EntitySet  entitySet,
const FEM &  fem,
const B &  backend = B(),
const OrderingTag &  ordering_tag = OrderingTag() 
)
inline

Warning
The entity set internals will be modified according to the finite element map used codimensions
This version of the constructor takes a reference on the fem. Therefore, these objects shall live longer than the grid function space!
Parameters
entitySetCopy of an entity set
femFinite Element Map
backendVector backend
ordering_tagOrdering tag

References Dune::PDELab::GridFunctionSpaceBase< GFS, GFSTraits >::setEntitySet().

◆ GridFunctionSpace() [2/4]

template<typename ES , typename FEM , typename CE = NoConstraints, typename B = ISTL::VectorBackend<>, typename O = DefaultLeafOrderingTag>
Dune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O >::GridFunctionSpace ( typename Traits::EntitySet  entitySet,
const FEM &  fem,
const CE &  ce,
const B &  backend = B(),
const OrderingTag &  ordering_tag = OrderingTag() 
)
inline

Construct a new Grid Function Space object.

Warning
The entity set internals will be modified according to the finite element map used codimensions
This version of the constructor takes a reference on the fem and the ce. Therefore, these objects shall live longer than the grid function space!
Parameters
entitySetCopy of an entity set
femFinite Element Map
ceConstraints Assembler
backendVector backend
ordering_tagOrdering tag

References Dune::PDELab::GridFunctionSpaceBase< GFS, GFSTraits >::entitySet(), and Dune::PDELab::GridFunctionSpaceBase< GFS, GFSTraits >::setEntitySet().

◆ GridFunctionSpace() [3/4]

template<typename ES , typename FEM , typename CE = NoConstraints, typename B = ISTL::VectorBackend<>, typename O = DefaultLeafOrderingTag>
Dune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O >::GridFunctionSpace ( typename Traits::EntitySet  entitySet,
const std::shared_ptr< const FEM > &  fem,
const B &  backend = B(),
const OrderingTag &  ordering_tag = OrderingTag() 
)
inline

Warning
The entity set internals will be modified according to the finite element map used codimensions
Parameters
entitySetCopy of an entity set
femFinite Element Map pointer
backendVector backend
ordering_tagOrdering tag

References Dune::PDELab::GridFunctionSpaceBase< GFS, GFSTraits >::setEntitySet().

◆ GridFunctionSpace() [4/4]

template<typename ES , typename FEM , typename CE = NoConstraints, typename B = ISTL::VectorBackend<>, typename O = DefaultLeafOrderingTag>
Dune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O >::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() 
)
inline

Warning
The entity set internals will be modified according to the finite element map used codimensions
Parameters
entitySetCopy of an entity set
femFinite Element Map pointer
ceConstraints Assembler pointer
backendVector backend
ordering_tagOrdering tag

References Dune::PDELab::GridFunctionSpaceBase< GFS, GFSTraits >::setEntitySet().

◆ interpolate()

template<typename F , typename GFS , typename XG >
void Dune::PDELab::interpolate ( const F &  f,
const GFS &  gfs,
XG &  xg 
)

interpolation from a given grid function

   \code

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

Parameters
fFunction to interpolate from.
gfsGridFunctionSpace to use for interpoaltion.
xgGlobal vector of dofs to interpolate into.
Note
xg needs to be initialized to the correct size, but there is no need to initialize its contents.
Examples
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.

References Dune::TypeTree::applyToTreePair().

Referenced by Dune::PDELab::FastDGGridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV >::interpolate(), and Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV >::interpolate().

◆ set_constrained_dofs()

template<typename CG , typename XG >
void Dune::PDELab::set_constrained_dofs ( const CG &  cg,
typename XG::ElementType  x,
XG &  xg 
)

construct constraints from given boundary condition function

#include <dune/pdelab/constraints/common/constraints.hh>
Template Parameters
CGType of ConstraintsContainer
XGType of coefficients container
Parameters
cgThe ConstraintsContainer
xThe value to assign
xgThe container with the coefficients

Referenced by Dune::PDELab::OvlpDGAMGPrec< DGGFS, DGMatrix, DGPrec, DGCC, CGGFS, CGPrec, CGCC, P, DGHelper, Comm >::apply(), and Dune::PDELab::NewtonMethod< GridOperator_, LinearSolver_ >::updateDefect().

◆ set_nonconstrained_dofs()

template<typename CG , typename XG >
void Dune::PDELab::set_nonconstrained_dofs ( const CG &  cg,
typename XG::ElementType  x,
XG &  xg 
)
#include <dune/pdelab/constraints/common/constraints.hh>
Todo:
reimplement; this is horribly inefficient

References Dune::PDELab::copy_constrained_dofs().

◆ set_shifted_dofs()

template<typename CG , typename XG >
void Dune::PDELab::set_shifted_dofs ( const CG &  cg,
typename XG::ElementType  x,
XG &  xg 
)
#include <dune/pdelab/constraints/common/constraints.hh>
Todo:
reimplement; this is horribly inefficient

Referenced by Dune::PDELab::StationaryLinearProblemSolver< GO, LS, V >::apply(), and Dune::PDELab::NewtonMethod< GridOperator_, LinearSolver_ >::updateDefect().

◆ setEntitySet()

template<typename GFS , typename GFSTraits >
void Dune::PDELab::GridFunctionSpaceBase< GFS, GFSTraits >::setEntitySet ( typename Traits::EntitySet  entity_set)
inlineprotected

Set the Entity Set object to this grid function space.

The passed entity set will be stored and modified by the grid function space. In case of a tree, all entity sets below an entity blocking tag are expected to be the same, otherwise, the ordering will issue an exception. (e.g. compartments with different function spaces). Additionally, the root node in a grid function space tree may also contain a different partition which will be used in the assembly process (e.g. a union of all entity sets from leaf nodes). If no other entity set was given, the root node will usually take the first leaf node entity set.

Parameters
entity_setAn object of the type PartitionViewEntitySet

Referenced by Dune::PDELab::GridFunctionSpace< ES, FEM, CE, B, O >::GridFunctionSpace().

◆ update() [1/2]

template<typename DFBasis , typename VBE , typename CE >
void Dune::PDELab::Experimental::GridFunctionSpace< DFBasis, VBE, CE >::update ( bool  force = false)
inline

Update the indexing information of the GridFunctionSpace.

\ param force Set to true if the underlying grid has changed (e.g. due to adaptivity) to force an update of the embedded EntitySet.

◆ update() [2/2]

Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 12, 23:30, 2024)