dune-fem  2.8-git
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct > Class Template Referenceabstract

#include <dune/fem/space/basisfunctionset/evaluatecaller.hh>

Inheritance diagram for Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >:
Inheritance graph

Public Types

typedef BaseType InterfaceType
 
typedef std::unique_ptr< ThisTypeStoragePointerType
 
typedef std::pair< bool, StoragePointerTypeStorageItemType
 

Public Member Functions

 EvaluateRealImplementation (const RangeVectorType &rangeStorage)
 
virtual void * storageAddress () const
 
virtual size_t storageSize () const
 
virtual void axpyRanges (const QuadratureType &quad, const FactorType &rangeFactors, LocalDofVectorType &dofs) const
 
virtual void evaluateRanges (const QuadratureType &quad, const LocalDofVectorType &dofs, FactorType &rangeFactors) const
 
virtual void axpyJacobians (const QuadratureType &quad, const Geometry &geometry, const FactorType &jacFactors, LocalDofVectorType &dofs) const
 
virtual void evaluateJacobians (const QuadratureType &quad, const Geometry &geometry, const LocalDofVectorType &dofs, FactorType &jacFactors) const
 
virtual void axpyRanges (const QuadratureType &, const FactorType &, LocalDofVectorType &) const=0
 
virtual void evaluateRanges (const QuadratureType &quad, const LocalDofVectorType &dofs, FactorType &factors) const=0
 
virtual void axpyJacobians (const QuadratureType &, const Geometry &, const FactorType &, LocalDofVectorType &) const=0
 
virtual void evaluateJacobians (const QuadratureType &, const Geometry &, const LocalDofVectorType &, FactorType &) const=0
 

Static Public Member Functions

static InterfaceTypecreate (const RangeVectorType &rangeStorage)
 
static const StoragePointerTypestorage (const BaseFunctionSet &baseSet, const Storage &dataCache, const QuadratureType &quad)
 

Protected Types

typedef Traits ::BaseFunctionSetType BaseFunctionSetType
 
typedef Traits ::QuadratureType QuadratureType
 
typedef Traits ::FactorType FactorType
 
typedef Traits ::LocalDofVectorType LocalDofVectorType
 
typedef Traits ::Geometry Geometry
 
typedef Traits ::RangeVectorType RangeVectorType
 
typedef RangeVectorType ::value_type ::field_type FieldType
 
typedef EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct > ThisType
 
typedef EvaluateCallerInterface< typename Traits ::BaseTraits > BaseType
 

Protected Member Functions

template<class K >
int getDim (const DenseVector< K > &vec) const
 
template<class K >
int getDim (const DenseMatrix< K > &mat) const
 
void initRangeStorageTransposed (const std::integral_constant< bool, true >)
 
void initRangeStorageTransposed (const std::integral_constant< bool, false >)
 
template<class Quadrature >
const std::vector< FieldType > & getTwistedStorage (const Quadrature &quad) const
 

Protected Attributes

RangeVectorType rangeStorage_
 
std::vector< std::vector< FieldType > > rangeStorageTransposed_
 
std::vector< std::vector< FieldType > > rangeStorageFlat_
 
std::vector< std::vector< std::vector< FieldType > > > rangeStorageTwisted_
 

Static Protected Attributes

static const int maxNumBaseFunctions
 
static const int minNumBaseFunctions
 
static const int maxQuadNop
 
static const int minQuadNop
 
static const int maxQuadratures
 

Member Typedef Documentation

◆ BaseFunctionSetType

template<class Traits , int dimRange, int quadNop, int numBaseFct>
typedef Traits :: BaseFunctionSetType Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::BaseFunctionSetType
protected

◆ BaseType

template<class Traits , int dimRange, int quadNop, int numBaseFct>
typedef EvaluateCallerInterface< typename Traits :: BaseTraits > Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::BaseType
protected

◆ FactorType

template<class Traits , int dimRange, int quadNop, int numBaseFct>
typedef Traits :: FactorType Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::FactorType
protected

◆ FieldType

template<class Traits , int dimRange, int quadNop, int numBaseFct>
typedef RangeVectorType :: value_type :: field_type Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::FieldType
protected

◆ Geometry

template<class Traits , int dimRange, int quadNop, int numBaseFct>
typedef Traits :: Geometry Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::Geometry
protected

◆ InterfaceType

template<class Traits , int dimRange, int quadNop, int numBaseFct>
typedef BaseType Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::InterfaceType

◆ LocalDofVectorType

template<class Traits , int dimRange, int quadNop, int numBaseFct>
typedef Traits :: LocalDofVectorType Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::LocalDofVectorType
protected

◆ QuadratureType

template<class Traits , int dimRange, int quadNop, int numBaseFct>
typedef Traits :: QuadratureType Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::QuadratureType
protected

◆ RangeVectorType

template<class Traits , int dimRange, int quadNop, int numBaseFct>
typedef Traits :: RangeVectorType Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::RangeVectorType
protected

◆ StorageItemType

typedef std::pair< bool, StoragePointerType > Dune::Fem::Codegen::EvaluateCallerInterface< Traits ::BaseTraits >::StorageItemType
inherited

◆ StoragePointerType

typedef std::unique_ptr< ThisType > Dune::Fem::Codegen::EvaluateCallerInterface< Traits ::BaseTraits >::StoragePointerType
inherited

◆ ThisType

template<class Traits , int dimRange, int quadNop, int numBaseFct>
typedef EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct > Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::ThisType
protected

Constructor & Destructor Documentation

◆ EvaluateRealImplementation()

template<class Traits , int dimRange, int quadNop, int numBaseFct>
Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::EvaluateRealImplementation ( const RangeVectorType rangeStorage)
inline

Member Function Documentation

◆ axpyJacobians() [1/2]

virtual void Dune::Fem::Codegen::EvaluateCallerInterface< Traits ::BaseTraits >::axpyJacobians ( const QuadratureType ,
const Geometry ,
const FactorType ,
LocalDofVectorType  
) const
pure virtualinherited

◆ axpyJacobians() [2/2]

template<class Traits , int dimRange, int quadNop, int numBaseFct>
virtual void Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::axpyJacobians ( const QuadratureType quad,
const Geometry geometry,
const FactorType jacFactors,
LocalDofVectorType dofs 
) const
inlinevirtual

◆ axpyRanges() [1/2]

virtual void Dune::Fem::Codegen::EvaluateCallerInterface< Traits ::BaseTraits >::axpyRanges ( const QuadratureType ,
const FactorType ,
LocalDofVectorType  
) const
pure virtualinherited

◆ axpyRanges() [2/2]

template<class Traits , int dimRange, int quadNop, int numBaseFct>
virtual void Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::axpyRanges ( const QuadratureType quad,
const FactorType rangeFactors,
LocalDofVectorType dofs 
) const
inlinevirtual

◆ create()

template<class Traits , int dimRange, int quadNop, int numBaseFct>
static InterfaceType* Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::create ( const RangeVectorType rangeStorage)
inlinestatic

◆ evaluateJacobians() [1/2]

virtual void Dune::Fem::Codegen::EvaluateCallerInterface< Traits ::BaseTraits >::evaluateJacobians ( const QuadratureType ,
const Geometry ,
const LocalDofVectorType ,
FactorType  
) const
pure virtualinherited

◆ evaluateJacobians() [2/2]

template<class Traits , int dimRange, int quadNop, int numBaseFct>
virtual void Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::evaluateJacobians ( const QuadratureType quad,
const Geometry geometry,
const LocalDofVectorType dofs,
FactorType jacFactors 
) const
inlinevirtual

◆ evaluateRanges() [1/2]

virtual void Dune::Fem::Codegen::EvaluateCallerInterface< Traits ::BaseTraits >::evaluateRanges ( const QuadratureType quad,
const LocalDofVectorType dofs,
FactorType factors 
) const
pure virtualinherited

◆ evaluateRanges() [2/2]

template<class Traits , int dimRange, int quadNop, int numBaseFct>
virtual void Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::evaluateRanges ( const QuadratureType quad,
const LocalDofVectorType dofs,
FactorType rangeFactors 
) const
inlinevirtual

◆ getDim() [1/2]

template<class Traits , int dimRange, int quadNop, int numBaseFct>
template<class K >
int Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::getDim ( const DenseMatrix< K > &  mat) const
inlineprotected

◆ getDim() [2/2]

template<class Traits , int dimRange, int quadNop, int numBaseFct>
template<class K >
int Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::getDim ( const DenseVector< K > &  vec) const
inlineprotected

◆ getTwistedStorage()

template<class Traits , int dimRange, int quadNop, int numBaseFct>
template<class Quadrature >
const std::vector< FieldType >& Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::getTwistedStorage ( const Quadrature quad) const
inlineprotected

◆ initRangeStorageTransposed() [1/2]

template<class Traits , int dimRange, int quadNop, int numBaseFct>
void Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::initRangeStorageTransposed ( const std::integral_constant< bool, false >  )
inlineprotected

◆ initRangeStorageTransposed() [2/2]

template<class Traits , int dimRange, int quadNop, int numBaseFct>
void Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::initRangeStorageTransposed ( const std::integral_constant< bool, true >  )
inlineprotected

◆ storage()

static const StoragePointerType& Dune::Fem::Codegen::EvaluateCallerInterface< Traits ::BaseTraits >::storage ( const BaseFunctionSet &  baseSet,
const Storage &  dataCache,
const QuadratureType quad 
)
inlinestaticinherited

◆ storageAddress()

template<class Traits , int dimRange, int quadNop, int numBaseFct>
virtual void* Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::storageAddress ( ) const
inlinevirtual

◆ storageSize()

template<class Traits , int dimRange, int quadNop, int numBaseFct>
virtual size_t Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::storageSize ( ) const
inlinevirtual

Member Data Documentation

◆ maxNumBaseFunctions

const int Dune::Fem::Codegen::EvaluateCallerInterface< Traits ::BaseTraits >::maxNumBaseFunctions
staticprotectedinherited

◆ maxQuadNop

const int Dune::Fem::Codegen::EvaluateCallerInterface< Traits ::BaseTraits >::maxQuadNop
staticprotectedinherited

◆ maxQuadratures

const int Dune::Fem::Codegen::EvaluateCallerInterface< Traits ::BaseTraits >::maxQuadratures
staticprotectedinherited

◆ minNumBaseFunctions

const int Dune::Fem::Codegen::EvaluateCallerInterface< Traits ::BaseTraits >::minNumBaseFunctions
staticprotectedinherited

◆ minQuadNop

const int Dune::Fem::Codegen::EvaluateCallerInterface< Traits ::BaseTraits >::minQuadNop
staticprotectedinherited

◆ rangeStorage_

template<class Traits , int dimRange, int quadNop, int numBaseFct>
RangeVectorType Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::rangeStorage_
protected

◆ rangeStorageFlat_

template<class Traits , int dimRange, int quadNop, int numBaseFct>
std::vector< std::vector< FieldType > > Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::rangeStorageFlat_
protected

◆ rangeStorageTransposed_

template<class Traits , int dimRange, int quadNop, int numBaseFct>
std::vector< std::vector< FieldType > > Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::rangeStorageTransposed_
protected

◆ rangeStorageTwisted_

template<class Traits , int dimRange, int quadNop, int numBaseFct>
std::vector< std::vector< std::vector< FieldType > > > Dune::Fem::Codegen::EvaluateRealImplementation< Traits, dimRange, quadNop, numBaseFct >::rangeStorageTwisted_
mutableprotected

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