dune-fem 2.8-git
|
Implementation of an -adaptive discrete function space using anisotropic product Legendre polynomials.
More...
#include <dune/fem/space/hpdg/anisotropic.hh>
Public Member Functions | |
AnisotropicDiscontinuousGalerkinSpace (GridPartType &gridPart, const Dune::InterfaceType interface=Dune::InteriorBorder_All_Interface, const Dune::CommunicationDirection direction=Dune::ForwardCommunication) | |
AnisotropicDiscontinuousGalerkinSpace (GridPartType &gridPart, const typename BaseType::KeyType key, const Dune::InterfaceType interface=Dune::InteriorBorder_All_Interface, const Dune::CommunicationDirection direction=Dune::ForwardCommunication) | |
AnisotropicDiscontinuousGalerkinSpace (GridPartType &gridPart, const std::vector< int > &key, const Dune::InterfaceType interface=Dune::InteriorBorder_All_Interface, const Dune::CommunicationDirection direction=Dune::ForwardCommunication) | |
template<class Function , std::enable_if_t< std::is_arithmetic< decltype(Function(std::declval< const EntityType >()))>::value , int , i = 0> | |
AnisotropicDiscontinuousGalerkinSpace (GridPartType &gridPart, Function function, const Dune::InterfaceType interface=Dune::InteriorBorder_All_Interface, const Dune::CommunicationDirection direction=Dune::ForwardCommunication) | |
bool | continuous (const IntersectionType &intersection) const |
returns true if discrete functions over this space have zero jump over the given intersection. More... | |
void | adapt (const Vector &polynomialOrders, const int polOrderShift=0) const |
default implementation of adapt does nothing, its only used in PAdaptiveLagrangeSpace More... | |
int | sequence () const |
get index of the sequence in grid sequences More... | |
const GridType & | grid () const |
get reference to grid this discrete function space belongs to More... | |
GridType & | grid () |
get reference to grid this discrete function space belongs to More... | |
GridPartType & | gridPart () const |
GridPartType & | gridPart () |
get a reference to the associated grid partition More... | |
const IndexSetType & | indexSet () const |
Get a reference to the associated index set. More... | |
int | size () const |
get number of DoFs for this space More... | |
int | maxNumDofs () const |
return the maximal number of dofs on entities More... | |
IteratorType | begin () const |
get iterator pointing to the first entity of the associated grid partition More... | |
IteratorType | end () const |
get iterator pointing behind the last entity of the associated grid partition More... | |
void | forEach (FunctorType &f) const |
apply a functor to each entity in the associated grid partition More... | |
bool | multipleGeometryTypes () const |
returns true if the grid has more than one geometry type More... | |
InterfaceType | communicationInterface () const |
return the communication interface appropriate for this space More... | |
CommunicationDirection | communicationDirection () const |
return the communication interface appropriate for this space More... | |
const CommunicationManagerType & | communicator () const |
return reference to communicator (see CommunicationManager) More... | |
void | communicate (DiscreteFunction &discreteFunction) const |
communicate data for given discrete function using the space's default communication operation More... | |
void | communicate (DiscreteFunction &discreteFunction, const Operation &op) const |
communicate data for given discrete function More... | |
BaseType::template CommDataHandle< DiscreteFunction, Operation >::Type | createDataHandle (DiscreteFunction &discreteFunction, const Operation &operation) const |
const AuxiliaryDofsType & | auxiliaryDofs () const |
get auxiliary dofs More... | |
void | addFunction (DiscreteFunction &df) const |
default implementation of addFunction does nothing at the moment More... | |
void | removeFunction (DiscreteFunction &df) const |
default implementation of removeFunction does nothing at the moment More... | |
const AuxiliaryDofsType & | slaveDofs () const |
deprecated method, use auxiliaryDofs More... | |
Query methods | |
bool | continuous () const |
please doc me More... | |
bool | continuous (const typename BaseType::IntersectionType &intersection) const |
please doc me More... | |
bool | multipleBasisFunctionSets () const |
please doc me More... | |
Basis function set methods | |
int | order () const |
return polynomial order More... | |
int | order (const EntityType &entity) const |
return polynomial order More... | |
BasisFunctionSetType | basisFunctionSet (const EntityType &entity) const |
return basis function set More... | |
Interpolation | |
InterpolationType | interpolation () const |
return interpolation More... | |
InterpolationImplType | interpolation (const EntityType &entity) const |
return interpolation More... | |
InterpolationImplType | localInterpolation (const EntityType &entity) const |
return interpolation More... | |
Block mapper | |
BlockMapperType & | blockMapper () const |
return block mapper More... | |
Adaptation | |
const KeyType & | key (const EntityType &entity) const |
get identifiying basis function set key assigned to given entity More... | |
void | mark (const KeyType &key, const EntityType &entity) |
assign new key to given entity More... | |
KeyType | getMark (const EntityType &entity) const |
get key to be assigned to an entity after next call to adapt() More... | |
bool | adapt () |
please doc me More... | |
bool | adapt (DataProjection< DiscreteFunctionSpace, Implementation > &projection) |
please doc me More... | |
Deprecated methods | |
DFSpaceIdentifier | type () const |
Non-interface methods | |
const BasisFunctionSetsType & | basisFunctionSets () const |
return basis function sets More... | |
Static Public Attributes | |
static constexpr std::size_t | localBlockSize |
size of local blocks More... | |
Protected Types | |
typedef SingletonList< std::pair< GridPartType *, BlockMapperType * >, std::pair< AuxiliaryDofsType, int >, AuxiliaryDofsFactory > | AuxiliaryDofsProviderType |
typedef ThreadSafeValue< UninitializedObjectStack > | LocalDofVectorStackType |
typedef StackAllocator< typename BaseType::RangeFieldType, LocalDofVectorStackType * > | LocalDofVectorAllocatorType |
typedef Dune::DynamicVector< typename BaseType::RangeFieldType, LocalDofVectorAllocatorType > | LocalDofVectorType |
typedef BasicTemporaryLocalFunction< ThisType, LocalDofVectorType > | LocalFunctionType |
typedef AllGeomTypes< IndexSetType, GridType > | AllGeometryTypes |
Protected Member Functions | |
const std::vector< GeometryType > & | geomTypes (int codim) const |
returns true if the grid has more than one geometry type More... | |
const DiscreteFunctionSpaceType & | asImp () const |
DiscreteFunctionSpaceType & | asImp () |
Protected Attributes | |
BasisFunctionSetsType | basisFunctionSets_ |
BlockMapperType | blockMapper_ |
GridPartType & | gridPart_ |
LocalDofVectorStackType | ldvStack_ |
LocalDofVectorAllocatorType | ldvAllocator_ |
const AllGeometryTypes | allGeomTypes_ |
DofManagerType & | dofManager_ |
const InterfaceType | commInterface_ |
const CommunicationDirection | commDirection_ |
std::unique_ptr< CommunicationManagerType > | communicator_ |
std::unique_ptr< std::pair< AuxiliaryDofsType, int >, typename AuxiliaryDofsProviderType::Deleter > | auxiliaryDofs_ |
Related Functions | |
(Note that these are not member functions.) | |
bool | operator== (const DiscreteFunctionSpaceInterface< Traits > &X, const DiscreteFunctionSpaceInterface< Traits > &Y) |
check two spaces for equality More... | |
Implementation of an -adaptive discrete function space using anisotropic product Legendre polynomials.
FunctionSpace | a Dune::Fem::FunctionSpace |
GridPart | a Dune::Fem::GridPart |
order | maximum polynomial order per coordinate |
Storage | enable/disable Storage of quadratures |
|
protectedinherited |
|
protectedinherited |
|
inherited |
using Dune::Fem::hpDG::AnisotropicDiscontinuousGalerkinSpace< FunctionSpace, GridPart, order, Storage >::BasisFunctionSetsType = typename BaseType::BasisFunctionSetsType |
|
inherited |
basis function set type
|
inherited |
block mapper type
|
inherited |
type of communication manager
|
inherited |
type of DoF manager
using Dune::Fem::hpDG::AnisotropicDiscontinuousGalerkinSpace< FunctionSpace, GridPart, order, Storage >::EntityType = typename BaseType::EntityType |
|
inherited |
type of function space
using Dune::Fem::hpDG::AnisotropicDiscontinuousGalerkinSpace< FunctionSpace, GridPart, order, Storage >::GridPartType = typename BaseType::GridPartType |
|
inherited |
|
inherited |
|
inherited |
local interpolation type
|
inherited |
local interpolation type
|
inherited |
type of the intersections
|
inherited |
typedef BaseType::KeyType Dune::Fem::hpDG::AnisotropicDiscontinuousGalerkinSpace< FunctionSpace, GridPart, order, Storage >::KeyType |
|
inherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
inherited |
deprecated type
|
inherited |
|
inlineexplicit |
|
inlineexplicit |
|
inlineexplicit |
|
inline |
|
inlineinherited |
please doc me
|
inlineinherited |
default implementation of adapt does nothing, its only used in PAdaptiveLagrangeSpace
|
inlineinherited |
please doc me
|
inlineinherited |
default implementation of addFunction does nothing at the moment
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineinherited |
get auxiliary dofs
|
inlineinherited |
return basis function set
|
inlineinherited |
return basis function sets
|
inlineinherited |
get iterator pointing to the first entity of the associated grid partition
|
inlineinherited |
return block mapper
|
inlineinherited |
communicate data for given discrete function using the space's default communication operation
discreteFunction | discrete function to be communicated |
|
inlineinherited |
communicate data for given discrete function
discreteFunction | discrete function to be communicated | |
[in] | op | communication operation to use (see DFCommunicationOperation) |
|
inlineinherited |
return the communication interface appropriate for this space
|
inlineinherited |
return the communication interface appropriate for this space
|
inlineinherited |
return reference to communicator (see CommunicationManager)
|
inlineinherited |
please doc me
|
inlineinherited |
returns true if discrete functions over this space have zero jump over the given intersection.
For example, a Lagrange space returns true iff the intersection is conforming while a discontiuous Galerkin space always returns false.
intersection | Intersection for which we want to know the continuety |
|
inlineinherited |
please doc me
|
inlineinherited |
|
inlineinherited |
get iterator pointing behind the last entity of the associated grid partition
|
inlineinherited |
apply a functor to each entity in the associated grid partition
The functor must provide an the following operator
[in] | f | functor to apply |
|
inlineprotectedinherited |
returns true if the grid has more than one geometry type
|
inlineinherited |
get key to be assigned to an entity after next call to adapt()
[in] | entity | grid part entity |
|
inlineinherited |
get reference to grid this discrete function space belongs to
|
inlineinherited |
get reference to grid this discrete function space belongs to
|
inlineinherited |
get a reference to the associated grid partition
|
inlineinherited |
|
inlineinherited |
Get a reference to the associated index set.
|
inlineinherited |
return interpolation
[in] | entity | a grid part entity |
|
inlineinherited |
return interpolation
[in] | entity | a grid part entity |
|
inlineinherited |
get identifiying basis function set key assigned to given entity
[in] | entity | grid part entity |
|
inlineinherited |
return interpolation
[in] | entity | a grid part entity |
|
inlineinherited |
assign new key to given entity
[in] | key | key identifying basis function set |
[in] | entity | grid part entity |
|
inlineinherited |
return the maximal number of dofs on entities
|
inlineinherited |
please doc me
|
inlineinherited |
returns true if the grid has more than one geometry type
|
inlineinherited |
return polynomial order
|
inlineinherited |
return polynomial order
|
inlineinherited |
default implementation of removeFunction does nothing at the moment
|
inlineinherited |
get index of the sequence in grid sequences
|
inlineinherited |
get number of DoFs for this space
|
inlineinherited |
deprecated method, use auxiliaryDofs
|
inlineinherited |
|
related |
check two spaces for equality
This is a default implemented equality operator for discrete function spaces. It assumes the mapper to be a singleton and then compares the addresses of the two mappers.
Note that this method can be specialized by implementing another version that uses the exact traits of the discrete function space.
|
protectedinherited |
|
mutableprotectedinherited |
|
protectedinherited |
|
mutableprotectedinherited |
|
protectedinherited |
|
protectedinherited |
|
mutableprotectedinherited |
|
protectedinherited |
|
protectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
staticconstexprinherited |
size of local blocks