dune-fem 2.8.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
Dune::Fem::BasicTemporaryLocalFunction< DiscreteFunctionSpace, DofVector > Class Template Reference

A temporary function carrying values for one entity. More...

#include <dune/fem/function/localfunction/temporary.hh>

Inheritance diagram for Dune::Fem::BasicTemporaryLocalFunction< DiscreteFunctionSpace, DofVector >:
Inheritance graph

Public Types

typedef DiscreteFunctionSpace DiscreteFunctionSpaceType
 type of the discrete function space
 
typedef BaseType::EntityType EntityType
 type of Entity
 
typedef BaseType::BasisFunctionSetType BasisFunctionSetType
 type of BasisFunctionSet
 
typedef BaseType::LocalDofVectorType LocalDofVectorType
 type of LocalDofVector
 
typedef LocalDofVectorType::value_type DofType
 type of DoF use with the discrete function
 
typedef LocalDofVectorType::size_type SizeType
 type of index
 
typedef BasisFunctionSetType::FunctionSpaceType FunctionSpaceType
 type of functionspace
 
typedef FunctionSpaceType::DomainFieldType DomainFieldType
 field type of the domain
 
typedef FunctionSpaceType::RangeFieldType RangeFieldType
 field type of the range
 
typedef FunctionSpaceType::DomainType DomainType
 type of domain vectors, i.e., type of coordinates
 
typedef FunctionSpaceType::RangeType RangeType
 type of range vectors, i.e., type of function values
 
typedef FunctionSpaceType::JacobianRangeType JacobianRangeType
 type of the Jacobian, i.e., type of evaluated Jacobian matrix
 
typedef FunctionSpaceType::HessianRangeType HessianRangeType
 type of the Hessian
 
typedef EntityType::Geometry::LocalCoordinate LocalCoordinateType
 type of local coordinates
 

Public Member Functions

 BasicTemporaryLocalFunction (const DiscreteFunctionSpaceType &dfSpace, const LocalDofVectorType &dofVector=LocalDofVectorType())
 constructor creating a local function without binding it to an entity
 
 BasicTemporaryLocalFunction (const DiscreteFunctionSpaceType &dfSpace, const EntityType &entity, const LocalDofVectorType &dofVector=LocalDofVectorType())
 constructor creating a local function and binding it to an entity
 
void init (const EntityType &entity)
 initialize the local function for an entity
 
void bind (const EntityType &entity)
 initialize the local function for an entity
 
void unbind ()
 Unbinds a local function from an entity.
 
template<class IntersectionType >
void bind (const IntersectionType &intersection, IntersectionSide side)
 initialize the local function for an entity adjacent to the intersection
 
const DiscreteFunctionSpaceTypespace () const
 return discrete function space this local function belongs to
 
const LocalDofVectorTypelocalDofVector () const
 return const reference to local Dof Vector

 
LocalDofVectorTypelocalDofVector ()
 return mutable reference to local Dof Vector

 
const DofTypeoperator[] (SizeType num) const
 access to local dofs (read-only)
 
DofTypeoperator[] (SizeType num)
 access to local dofs (read-write)
 
void assign (const LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType, T > &other)
 assign all DoFs of this local function
 
void clear ()
 set all DoFs to zero
 
void axpy (const PointType &x, const RangeType &factor)
 axpy operation for local function
 
void axpy (const PointType &x, const JacobianRangeType &factor)
 axpy operation for local function
 
void axpy (const PointType &x, const HessianRangeType &factor)
 
void axpy (const PointType &x, const RangeType &factor1, const JacobianRangeType &factor2)
 axpy operation for local function
 
int order () const
 obtain the order of this local function
 
const BasisFunctionSetTypebasisFunctionSet () const
 obtain the basis function set for this local function
 
const EntityTypeentity () const
 obtain the entity, this local function lives on
 
void evaluate (const PointType &x, RangeType &ret) const
 evaluate the local function
 
void jacobian (const PointType &x, JacobianRangeType &ret) const
 evaluate Jacobian of the local function
 
void hessian (const PointType &x, HessianRangeType &ret) const
 evaluate Hessian of the local function
 
int numDofs () const
 obtain the number of local DoFs
 
SizeType size () const
 obtain the number of local DoFs
 
void axpyQuadrature (const QuadratureType &quad, const Vectors &... values)
 evaluate all basisfunctions for all quadrature points, multiply with the given factor and add the result to the local coefficients

 
void axpyQuadrature (const QuadratureType &quad, const RangeVectorType &rangeVector, const JacobianRangeVectorType &jacobianVector)
 evaluate all basisfunctions for all quadrature points, multiply with the given factor and add the result to the local coefficients
 
void evaluateQuadrature (const QuadratureType &quad, Vectors &... vec) const
 evaluate all basisfunctions for all quadrature points and store the results in the result vector
 
void jacobianQuadrature (const QuadratureType &quad, Vectors &... vec) const
 evaluate all Jacobians for all basis functions for all quadrature points and store the results in the result vector
 
void hessianQuadrature (const QuadratureType &quad, Vectors &... vec) const
 evaluate all hessians of all basis functions for all quadrature points and store the results in the result vector
 
bool valid () const
 Returns true if local function if bind or init was previously called.
 

Static Public Attributes

static const int dimDomain
 dimension of the domain
 
static const int dimRange
 dimension of the range
 

Protected Member Functions

void evaluateQuadrature (const QuadratureType &quad, VectorType &result, const RangeType &) const
 
void evaluateQuadrature (const QuadratureType &quad, VectorType &result, const JacobianRangeType &) const
 
void evaluateQuadrature (const QuadratureType &quad, VectorType &result, const HessianRangeType &) const
 
void init (const EntityType &entity)
 initialize the local function for an entity
 
void init (const BasisFunctionSetType &basisFunctionSet)
 initialize the local function for an basisFunctionSet
 
void bind (const EntityType &entity)
 initialize the local function for an entity
 

Protected Attributes

const DiscreteFunctionSpaceTypedfSpace_
 
BasisFunctionSetType basisFunctionSet_
 
LocalDofVectorType localDofVector_
 

Detailed Description

template<class DiscreteFunctionSpace, class DofVector>
class Dune::Fem::BasicTemporaryLocalFunction< DiscreteFunctionSpace, DofVector >

A temporary function carrying values for one entity.

A BasicTemporaryLocalFunction is a LocalFunction which is not associated with any DiscreteFunction. It can be used when generating discrete functions to temporarily store values for one entity.

Parameters
DiscreteFunctionSpacetype of the discrete function space, the local function shall belong to
DofVectortype of vector the degrees of freedom for an entity are stored in

Member Typedef Documentation

◆ BasisFunctionSetType

template<class DiscreteFunctionSpace , class DofVector >
typedef BaseType::BasisFunctionSetType Dune::Fem::BasicTemporaryLocalFunction< DiscreteFunctionSpace, DofVector >::BasisFunctionSetType

◆ DiscreteFunctionSpaceType

template<class DiscreteFunctionSpace , class DofVector >
typedef DiscreteFunctionSpace Dune::Fem::BasicTemporaryLocalFunction< DiscreteFunctionSpace, DofVector >::DiscreteFunctionSpaceType

type of the discrete function space

◆ DofType

typedef LocalDofVectorType::value_type Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::DofType
inherited

type of DoF use with the discrete function

◆ DomainFieldType

typedef FunctionSpaceType::DomainFieldType Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::DomainFieldType
inherited

field type of the domain

◆ DomainType

typedef FunctionSpaceType::DomainType Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::DomainType
inherited

type of domain vectors, i.e., type of coordinates

◆ EntityType

template<class DiscreteFunctionSpace , class DofVector >
typedef BaseType::EntityType Dune::Fem::BasicTemporaryLocalFunction< DiscreteFunctionSpace, DofVector >::EntityType

type of Entity

◆ FunctionSpaceType

type of functionspace

◆ HessianRangeType

typedef FunctionSpaceType::HessianRangeType Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::HessianRangeType
inherited

type of the Hessian

◆ JacobianRangeType

typedef FunctionSpaceType::JacobianRangeType Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::JacobianRangeType
inherited

type of the Jacobian, i.e., type of evaluated Jacobian matrix

◆ LocalCoordinateType

typedef EntityType::Geometry::LocalCoordinate Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::LocalCoordinateType
inherited

type of local coordinates

◆ LocalDofVectorType

template<class DiscreteFunctionSpace , class DofVector >
typedef BaseType::LocalDofVectorType Dune::Fem::BasicTemporaryLocalFunction< DiscreteFunctionSpace, DofVector >::LocalDofVectorType

type of LocalDofVector

◆ RangeFieldType

typedef FunctionSpaceType::RangeFieldType Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::RangeFieldType
inherited

field type of the range

◆ RangeType

typedef FunctionSpaceType::RangeType Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::RangeType
inherited

type of range vectors, i.e., type of function values

◆ SizeType

typedef LocalDofVectorType::size_type Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::SizeType
inherited

type of index

Constructor & Destructor Documentation

◆ BasicTemporaryLocalFunction() [1/2]

template<class DiscreteFunctionSpace , class DofVector >
Dune::Fem::BasicTemporaryLocalFunction< DiscreteFunctionSpace, DofVector >::BasicTemporaryLocalFunction ( const DiscreteFunctionSpaceType dfSpace,
const LocalDofVectorType dofVector = LocalDofVectorType() 
)
inlineexplicit

constructor creating a local function without binding it to an entity

Creates the local function without initializing the fields depending on the current entity.

Note
Before using the local function it must be initilized by
static GridFunctionView< GF > localFunction(const GF &gf)
Definition: gridfunctionview.hh:118
const EntityType & entity() const
obtain the entity, this local function lives on
Definition: localfunction.hh:302
Parameters
[in]dfSpacediscrete function space the local function shall belong to

◆ BasicTemporaryLocalFunction() [2/2]

template<class DiscreteFunctionSpace , class DofVector >
Dune::Fem::BasicTemporaryLocalFunction< DiscreteFunctionSpace, DofVector >::BasicTemporaryLocalFunction ( const DiscreteFunctionSpaceType dfSpace,
const EntityType entity,
const LocalDofVectorType dofVector = LocalDofVectorType() 
)
inline

constructor creating a local function and binding it to an entity

Creates the local function and initilizes the fields depending on the current entity. It is not necessary, though allowed, to call init before using the discrete function.

Note
The degrees of freedom are not initialized by this function.
Parameters
[in]dfSpacediscrete function space the local function shall belong to
[in]entityentity for initialize the local function to

Member Function Documentation

◆ assign()

void Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::assign ( const LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , T > &  other)
inlineinherited

assign all DoFs of this local function

Parameters
[in]lflocal function to assign DoFs from

◆ axpy() [1/4]

void Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::axpy ( const PointType &  x,
const HessianRangeType factor 
)
inlineinherited

◆ axpy() [2/4]

void Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::axpy ( const PointType &  x,
const JacobianRangeType factor 
)
inlineinherited

axpy operation for local function

Denoting the DoFs of the local function by $u_i$ and the basis functions by $\varphi_i$, this function performs the following operation:

\[
u_i = u_i + factor \cdot \nabla\varphi_i( x )
\]

Parameters
[in]xpoint to evaluate jacobian of basis functions in
[in]factoraxpy factor

◆ axpy() [3/4]

void Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::axpy ( const PointType &  x,
const RangeType factor 
)
inlineinherited

axpy operation for local function

Denoting the DoFs of the local function by $u_i$ and the basis functions by $\varphi_i$, this function performs the following operation:

\[
u_i = u_i + factor \cdot \varphi_i( x )
\]

Parameters
[in]xpoint to evaluate basis functions in
[in]factoraxpy factor

◆ axpy() [4/4]

void Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::axpy ( const PointType &  x,
const RangeType factor1,
const JacobianRangeType factor2 
)
inlineinherited

axpy operation for local function

Denoting the DoFs of the local function by $u_i$ and the basis functions by $\varphi_i$, this function performs the following operation:

\[
u_i = u_i + factor1 \cdot \varphi_i( x ) + factor2 \cdot \nabla\varphi_i( x )
\]

Parameters
[in]xpoint to evaluate basis functions in
[in]factor1axpy factor for $\varphi( x )$
[in]factor2axpy factor for $\nabla\varphi( x )$

◆ axpyQuadrature() [1/2]

void Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::axpyQuadrature ( const QuadratureType &  quad,
const RangeVectorType &  rangeVector,
const JacobianRangeVectorType &  jacobianVector 
)
inlineinherited

evaluate all basisfunctions for all quadrature points, multiply with the given factor and add the result to the local coefficients

◆ axpyQuadrature() [2/2]

void Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::axpyQuadrature ( const QuadratureType &  quad,
const Vectors &...  values 
)
inlineinherited

evaluate all basisfunctions for all quadrature points, multiply with the given factor and add the result to the local coefficients

◆ basisFunctionSet()

const BasisFunctionSetType & Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::basisFunctionSet ( ) const
inlineinherited

obtain the basis function set for this local function

Returns
reference to the basis function set

◆ bind() [1/3]

void Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::bind ( const EntityType entity)
inlineprotectedinherited

initialize the local function for an entity

Binds the local function to an basisFunctionSet and entity.

Note
Must be overloaded on the derived implementation class.
Parameters
[in]entityto bind the local function to

◆ bind() [2/3]

template<class DiscreteFunctionSpace , class DofVector >
void Dune::Fem::BasicTemporaryLocalFunction< DiscreteFunctionSpace, DofVector >::bind ( const EntityType entity)
inline

initialize the local function for an entity

Binds the local function to an entity.

Note
A local function must be initialized to an entity before it can be used.
This function can be called multiple times to use the local function for more than one entity.
Parameters
[in]entityentity to bind the local function to

◆ bind() [3/3]

template<class DiscreteFunctionSpace , class DofVector >
template<class IntersectionType >
void Dune::Fem::BasicTemporaryLocalFunction< DiscreteFunctionSpace, DofVector >::bind ( const IntersectionType &  intersection,
IntersectionSide  side 
)
inline

initialize the local function for an entity adjacent to the intersection

Binds the local function to an entity.

Note
A local function must be initialized to an entity before it can be used.
This function can be called multiple times to use the local function for more than one entity.
Parameters
[in]intersectionto bind the local function to either inside or outside entity
[in]sideside of intersection, i.e. in or out

◆ clear()

void Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::clear ( )
inlineinherited

set all DoFs to zero

◆ entity()

const EntityType & Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::entity ( ) const
inlineinherited

obtain the entity, this local function lives on

Returns
reference to the entity

◆ evaluate()

void Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::evaluate ( const PointType &  x,
RangeType ret 
) const
inlineinherited

evaluate the local function

Parameters
[in]xevaluation point in local coordinates
[out]retvalue of the function in the given point

◆ evaluateQuadrature() [1/4]

void Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::evaluateQuadrature ( const QuadratureType &  quad,
Vectors &...  vec 
) const
inlineinherited

evaluate all basisfunctions for all quadrature points and store the results in the result vector

◆ evaluateQuadrature() [2/4]

void Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::evaluateQuadrature ( const QuadratureType &  quad,
VectorType &  result,
const HessianRangeType  
) const
inlineprotectedinherited

◆ evaluateQuadrature() [3/4]

void Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::evaluateQuadrature ( const QuadratureType &  quad,
VectorType &  result,
const JacobianRangeType  
) const
inlineprotectedinherited

◆ evaluateQuadrature() [4/4]

void Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::evaluateQuadrature ( const QuadratureType &  quad,
VectorType &  result,
const RangeType  
) const
inlineprotectedinherited

◆ hessian()

void Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::hessian ( const PointType &  x,
HessianRangeType ret 
) const
inlineinherited

evaluate Hessian of the local function

Note
Though the Hessian is evaluated on the reference element, the return value is the Hessian with respect to the actual entity.
Parameters
[in]xevaluation point in local coordinates
[out]retHessian of the function in the evaluation point

◆ hessianQuadrature()

void Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::hessianQuadrature ( const QuadratureType &  quad,
Vectors &...  vec 
) const
inlineinherited

evaluate all hessians of all basis functions for all quadrature points and store the results in the result vector

◆ init() [1/3]

void Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::init ( const BasisFunctionSetType basisFunctionSet)
inlineprotectedinherited

initialize the local function for an basisFunctionSet

Binds the local function to an basisFunctionSet and entity.

Note
A local function must be initialized to an entity before it can be used.
This function can be called multiple times to use the local function for more than one entity.
Parameters
[in]basisFunctionSetto bind the local function to

◆ init() [2/3]

void Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::init ( const EntityType entity)
inlineprotectedinherited

initialize the local function for an entity

Binds the local function to an basisFunctionSet and entity.

Note
Must be overloaded on the derived implementation class.
Parameters
[in]entityto bind the local function to

◆ init() [3/3]

template<class DiscreteFunctionSpace , class DofVector >
void Dune::Fem::BasicTemporaryLocalFunction< DiscreteFunctionSpace, DofVector >::init ( const EntityType entity)
inline

initialize the local function for an entity

Binds the local function to an entity.

Note
A local function must be initialized to an entity before it can be used.
This function can be called multiple times to use the local function for more than one entity.
Parameters
[in]entityentity to bind the local function to

◆ jacobian()

void Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::jacobian ( const PointType &  x,
JacobianRangeType ret 
) const
inlineinherited

evaluate Jacobian of the local function

Note
Though the Jacobian is evaluated on the reference element, the return value is the Jacobian with respect to the actual entity.
Parameters
[in]xevaluation point in local coordinates
[out]retJacobian of the function in the evaluation point

◆ jacobianQuadrature()

void Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::jacobianQuadrature ( const QuadratureType &  quad,
Vectors &...  vec 
) const
inlineinherited

evaluate all Jacobians for all basis functions for all quadrature points and store the results in the result vector

◆ localDofVector() [1/2]

template<class DiscreteFunctionSpace , class DofVector >
LocalDofVectorType & Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::localDofVector ( )
inline

return mutable reference to local Dof Vector

◆ localDofVector() [2/2]

template<class DiscreteFunctionSpace , class DofVector >
const LocalDofVectorType & Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::localDofVector ( ) const
inline

return const reference to local Dof Vector

◆ numDofs()

int Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::numDofs ( ) const
inlineinherited

obtain the number of local DoFs

Obtain the number of local DoFs of this local function. The value is identical to the number of basis functons on the entity.

Returns
number of local DoFs

◆ operator[]() [1/2]

DofType & Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::operator[] ( SizeType  num)
inlineinherited

access to local dofs (read-write)

Parameters
[in]numlocal DoF number
Returns
reference to DoF

◆ operator[]() [2/2]

const DofType & Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::operator[] ( SizeType  num) const
inlineinherited

access to local dofs (read-only)

Parameters
[in]numlocal dof number
Returns
reference to dof

◆ order()

int Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::order ( ) const
inlineinherited

obtain the order of this local function

The order of a local function refers to the polynomial order required to integrate it exactly.

Note
It is not completely clear what this value should be, e.g., for bilinear basis functions.
Returns
order of the local function

◆ size()

SizeType Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::size ( ) const
inlineinherited

obtain the number of local DoFs

Obtain the number of local DoFs of this local function. The value is identical to the number of basis functons on the entity.

Returns
number of local DoFs

◆ space()

template<class DiscreteFunctionSpace , class DofVector >
const DiscreteFunctionSpaceType & Dune::Fem::BasicTemporaryLocalFunction< DiscreteFunctionSpace, DofVector >::space ( ) const
inline

return discrete function space this local function belongs to

◆ unbind()

template<class DiscreteFunctionSpace , class DofVector >
void Dune::Fem::BasicTemporaryLocalFunction< DiscreteFunctionSpace, DofVector >::unbind ( )
inline

Unbinds a local function from an entity.

◆ valid()

bool Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::valid ( ) const
inlineinherited

Returns true if local function if bind or init was previously called.

Member Data Documentation

◆ basisFunctionSet_

BasisFunctionSetType Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::basisFunctionSet_
protectedinherited

◆ dfSpace_

template<class DiscreteFunctionSpace , class DofVector >
const DiscreteFunctionSpaceType& Dune::Fem::BasicTemporaryLocalFunction< DiscreteFunctionSpace, DofVector >::dfSpace_
protected

◆ dimDomain

const int Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::dimDomain
staticinherited

dimension of the domain

◆ dimRange

const int Dune::Fem::LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType , DofVector >::dimRange
staticinherited

dimension of the range

◆ localDofVector_


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