5 #ifndef DUNE_BASISEVALUATOR_HH 6 #define DUNE_BASISEVALUATOR_HH 10 #include <dune/common/fmatrix.hh> 11 #include <dune/common/fvector.hh> 12 #include <dune/common/typetraits.hh> 14 #include <dune/geometry/type.hh> 33 typedef typename Basis::Field
Field;
40 template<
class Deriv >
43 template <
unsigned int deriv>
76 template<
class Deriv >
80 typedef typename Deriv::Field
Field;
81 static const unsigned int blockSize = Deriv::size;
82 typedef Dune::FieldVector<Field,blockSize>
Block;
84 static const unsigned int dimDomain = Deriv::dimDomain;
85 static const unsigned int dimRange = Deriv::dimRange;
88 typedef typename Container::iterator
CIter;
91 : pos_( container.begin() ),
92 end_( container.end() )
98 return reinterpret_cast<const Deriv&
>(*pos_);
119 pos_ += skip*blockSize;
133 typedef typename Basis::Field
Field;
140 template <
unsigned int deriv>
145 :
Base(basis,basis.order(),basis.
size())
147 template <
unsigned int deriv,
class DVector>
150 Base::template resize<deriv>();
156 Base::template resize<0>();
163 :
Base( basis, basis.order(),
size )
Definition: tensor.hh:180
B Basis
Definition: basisevaluator.hh:132
Field operator*(const Unity< Field > &u, const Field &f)
Definition: field.hh:51
BaseIterator< Derivatives< Field, dimension, 1, 0, DerivativeLayoutNS::value > > Integrate
Definition: basisevaluator.hh:47
Container::iterator CIter
Definition: basisevaluator.hh:88
Dune::FieldVector< Field, blockSize > Block
Definition: basisevaluator.hh:82
static const int dimRange
Definition: basisevaluator.hh:36
StandardEvaluator(const Basis &basis)
Definition: basisevaluator.hh:144
Definition: basisevaluator.hh:129
Definition: basisevaluator.hh:30
DerivativeLayout
Definition: tensor.hh:176
Definition: bdfmcube.hh:17
StandardEvaluator(const Basis &basis, unsigned int size)
Definition: basisevaluator.hh:162
Definition: basisevaluator.hh:44
static const int dimension
Definition: basisevaluator.hh:136
unsigned int size() const
Definition: basisevaluator.hh:50
Container container_
Definition: basisevaluator.hh:71
const Deriv & operator*() const
Definition: basisevaluator.hh:95
unsigned int size_
Definition: basisevaluator.hh:70
Iterator< deriv >::All evaluate(const DVector &x)
Definition: basisevaluator.hh:148
BaseIterator(Container &container)
Definition: basisevaluator.hh:90
BaseIterator< Derivatives< Field, dimension, dimRange, deriv, DerivativeLayoutNS::derivative > > All
Definition: basisevaluator.hh:46
Basis::Field Field
Definition: basisevaluator.hh:133
std::vector< Field > Container
Definition: basisevaluator.hh:87
Basis::Field Field
Definition: basisevaluator.hh:33
bool done() const
Definition: basisevaluator.hh:106
Basis::DomainVector DomainVector
Definition: basisevaluator.hh:134
const Deriv * operator->() const
Definition: basisevaluator.hh:101
Deriv::Field Field
Definition: basisevaluator.hh:80
MonomialEvaluator< B > Base
Definition: basisevaluator.hh:138
unsigned int order_
Definition: basisevaluator.hh:70
MonomialEvaluator(const Basis &basis, unsigned int order, unsigned int size)
Definition: basisevaluator.hh:56
std::vector< Field > Container
Definition: basisevaluator.hh:135
std::vector< Field > Container
Definition: basisevaluator.hh:38
Basis::DomainVector DomainVector
Definition: basisevaluator.hh:34
Definition: basisevaluator.hh:141
static const int dimension
Definition: basisevaluator.hh:35
const Basis & basis_
Definition: basisevaluator.hh:69
Deriv Derivatives
Definition: basisevaluator.hh:79
B Basis
Definition: basisevaluator.hh:32
void resize()
Definition: basisevaluator.hh:63
Definition: basisevaluator.hh:41
static const int dimRange
Definition: basisevaluator.hh:137
Iterator< 0 >::Integrate integrate()
Definition: basisevaluator.hh:154