dune-fem 2.8.0
Loading...
Searching...
No Matches
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 Reference

#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
 

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()

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()

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()

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()

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: