Skip to content
Snippets Groups Projects
Commit 1eb7f82f authored by Adrian Burri's avatar Adrian Burri
Browse files

Adjusted to interface changes

[[Imported from SVN: r3504]]
parent efcc05a2
Branches
Tags
No related merge requests found
......@@ -100,56 +100,62 @@ evaluateInit( const QuadratureType &quad )
}
template <class FunctionSpaceType>
void FastBaseFunctionSet<FunctionSpaceType>::
typename FastBaseFunctionSet<FunctionSpaceType>::DofType
FastBaseFunctionSet<FunctionSpaceType>::
evaluateSingle(int baseFunct,
const DomainType& xLocal,
const RangeType& factor,
DofType& result) const
const RangeType& factor) const
{
if (trulyVectorial_) {
BaseType::evaluateSingle(baseFunct, xLocal, factor, result);
} else {
evaluateSingleOptim(baseFunct, xLocal, factor, result);
return BaseType::evaluateSingle(baseFunct, xLocal, factor);
}
return evaluateSingleOptim(baseFunct, xLocal, factor);
}
template <class FunctionSpaceType>
void FastBaseFunctionSet<FunctionSpaceType>::
template <class Entity>
typename FastBaseFunctionSet<FunctionSpaceType>::DofType
FastBaseFunctionSet<FunctionSpaceType>::
evaluateGradientSingle(int baseFunct,
Entity& en,
const DomainType& xLocal,
const JacobianRangeType& factor,
DofType& result) const
const JacobianRangeType& factor) const
{
if (trulyVectorial_) {
BaseType::evaluateGradientSingle(baseFunct, xLocal, factor, result);
} else {
evaluateGradientSingleOptim(baseFunct, xLocal, factor, result);
return BaseType::evaluateGradientSingle(baseFunct, en, xLocal, factor);
}
return evaluateGradientSingleOptim(baseFunct, en, xLocal, factor);
}
template <class FunctionSpaceType>
void FastBaseFunctionSet<FunctionSpaceType>::
typename FastBaseFunctionSet<FunctionSpaceType>::DofType
FastBaseFunctionSet<FunctionSpaceType>::
evaluateSingleOptim(int baseFunct,
const DomainType& xLocal,
const RangeType& factor,
DofType& result) const
const RangeType& factor) const
{
RangeType phi;
this->eval(util_.containedDof(baseFunct), xLocal, phi);
int comp = util_.component(baseFunct);
result = factor[comp]*phi[comp];
return factor[comp]*phi[comp];
}
template <class FunctionSpaceType>
void FastBaseFunctionSet<FunctionSpaceType>::
template <class Entity>
typename FastBaseFunctionSet<FunctionSpaceType>::DofType
FastBaseFunctionSet<FunctionSpaceType>::
evaluateGradientSingleOptim(int baseFunct,
Entity& en,
const DomainType& xLocal,
const JacobianRangeType& factor,
DofType& result) const
const JacobianRangeType& factor) const
{
assert(false); // * Add scaling!
JacobianRangeType gradPhi;
this->jacobian(util_.containedDof(baseFunct), xLocal, gradPhi);
int comp = util_.component(baseFunct);
result = gradPhi[comp]*factor[comp];
return gradPhi[comp]*factor[comp];
}
......@@ -125,23 +125,15 @@ namespace Dune {
enum { numDiffOrd = 3 };
// * add methods for quadrature type as well
void evaluateSingle(int baseFunct,
const DomainType& xLocal,
const RangeType& factor,
DofType& result) const;
DofType evaluateSingle(int baseFunct,
const DomainType& xLocal,
const RangeType& factor) const;
void evaluateSet(const DomainType& xLocal,
const RangeType& factor,
DofVectorType& result) const;
void evaluateGradientSingle(int baseFunct,
const DomainType& xLocal,
const JacobianRangeType& factor,
DofType& result) const;
void evaluateGradientSet(const DomainType& xLocal,
const JacobianRangeType& factor,
DofVectorType& result) const;
template <class Entity>
DofType evaluateGradientSingle(int baseFunct,
Entity& en,
const DomainType& xLocal,
const JacobianRangeType& factor) const;
protected:
//! set method for storage of the base function pointers
......@@ -190,15 +182,15 @@ namespace Dune {
template <int diffOrd, class QuadratureType >
void evaluateInit ( const QuadratureType & quad ) ;
void evaluateSingleOptim(int baseFunct,
const DomainType& xLocal,
const RangeType& factor,
DofType& result) const;
DofType evaluateSingleOptim(int baseFunct,
const DomainType& xLocal,
const RangeType& factor) const;
void evaluateGradientSingleOptim(int baseFunct,
const DomainType& xLocal,
const JacobianRangeType& factor,
DofType& result) const;
template <class Entity>
DofType evaluateGradientSingleOptim(int baseFunct,
Entity& en,
const DomainType& xLocal,
const JacobianRangeType& factor) const;
}; // end class FastBaseFunctionSet
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment