1 #ifndef DUNE_FEM_FUNCTION_LOCALFUNCTION_TEMPORARY_HH
2 #define DUNE_FEM_FUNCTION_LOCALFUNCTION_TEMPORARY_HH
4 #include <dune/common/ftraits.hh>
5 #include <dune/common/dynvector.hh>
20 template<
class DiscreteFunctionSpace,
class DoFVector >
21 class BasicTemporaryLocalFunction;
23 template<
class DiscreteFunctionSpace,
class Dof >
24 class TemporaryLocalFunction;
39 template<
class DiscreteFunctionSpace,
class DofVector >
40 class BasicTemporaryLocalFunction
41 :
public LocalFunction < typename DiscreteFunctionSpace :: BasisFunctionSetType, DofVector >
43 typedef BasicTemporaryLocalFunction< DiscreteFunctionSpace, DofVector > ThisType;
44 typedef LocalFunction < typename DiscreteFunctionSpace :: BasisFunctionSetType, DofVector > BaseType;
81 localDofVector().reserve( DiscreteFunctionSpaceType::localBlockSize *
dfSpace_.blockMapper().maxNumDofs() );
102 localDofVector().reserve( DiscreteFunctionSpaceType::localBlockSize *
dfSpace_.blockMapper().maxNumDofs() );
159 template <
class IntersectionType>
163 intersection.inside(): intersection.outside() );
194 template<
class DiscreteFunctionSpace,
class Dof >
198 template<
class DiscreteFunctionSpace,
class Dof >
199 struct FieldTraits< Fem::TemporaryLocalFunction<DiscreteFunctionSpace,Dof> >
200 :
public FieldTraits< Dof >
205 template<
class DiscreteFunctionSpace,
class Dof =
typename DiscreteFunctionSpace::RangeFieldType >
234 : BaseType( dfSpace ) {}
250 : BaseType( dfSpace,
entity ){}
Definition: bindguard.hh:11
IntersectionSide
Definition: intersectionside.hh:10
interface for local functions
Definition: localfunction.hh:77
void init(const EntityType &entity)
initialize the local function for an entity
Definition: localfunction.hh:437
const EntityType & entity() const
obtain the entity, this local function lives on
Definition: localfunction.hh:302
BasisFunctionSet BasisFunctionSetType
type of basis function set
Definition: localfunction.hh:83
const LocalDofVectorType & localDofVector() const
return const reference to local Dof Vector
Definition: localfunction.hh:415
void unbind()
clears the local function by removing the basisFunctionSet
Definition: localfunction.hh:458
BasisFunctionSetType::EntityType EntityType
type of the entity, the local function lives on is given by the space
Definition: localfunction.hh:95
LocalDofVector LocalDofVectorType
type of local Dof Vector
Definition: localfunction.hh:86
A temporary function carrying values for one entity.
Definition: temporary.hh:24
const DiscreteFunctionSpaceType & dfSpace_
Definition: temporary.hh:174
void bind(const IntersectionType &intersection, IntersectionSide side)
initialize the local function for an entity adjacent to the intersection
Definition: temporary.hh:160
BaseType ::BasisFunctionSetType BasisFunctionSetType
type of BasisFunctionSet
Definition: temporary.hh:54
DiscreteFunctionSpace DiscreteFunctionSpaceType
type of the discrete function space
Definition: temporary.hh:48
BaseType ::LocalDofVectorType LocalDofVectorType
type of LocalDofVector
Definition: temporary.hh:57
BasicTemporaryLocalFunction(const DiscreteFunctionSpaceType &dfSpace, const LocalDofVectorType &dofVector=LocalDofVectorType())
constructor creating a local function without binding it to an entity
Definition: temporary.hh:76
const LocalDofVectorType & localDofVector() const
return const reference to local Dof Vector
Definition: localfunction.hh:415
void init(const EntityType &entity)
initialize the local function for an entity
Definition: temporary.hh:118
void bind(const EntityType &entity)
initialize the local function for an entity
Definition: temporary.hh:135
BaseType ::EntityType EntityType
type of Entity
Definition: temporary.hh:51
BasicTemporaryLocalFunction(const DiscreteFunctionSpaceType &dfSpace, const EntityType &entity, const LocalDofVectorType &dofVector=LocalDofVectorType())
constructor creating a local function and binding it to an entity
Definition: temporary.hh:97
const DiscreteFunctionSpaceType & space() const
return discrete function space this local function belongs to
Definition: temporary.hh:168
void unbind()
Unbinds a local function from an entity.
Definition: temporary.hh:139
A temporary function carrying values for one entity.
Definition: temporary.hh:208
BaseType ::EntityType EntityType
type of Entity
Definition: temporary.hh:214
BaseType ::DiscreteFunctionSpaceType DiscreteFunctionSpaceType
type of the discrete function space
Definition: temporary.hh:217
TemporaryLocalFunction(const DiscreteFunctionSpaceType &dfSpace, const EntityType &entity)
constructor creating a local function and binding it to an entity
Definition: temporary.hh:249
TemporaryLocalFunction(const DiscreteFunctionSpaceType &dfSpace)
constructor creating a local function without binding it to an entity
Definition: temporary.hh:233