7#ifndef VECTORIAL_FUNCTION_HH
8#define VECTORIAL_FUNCTION_HH
30 template<class F, class G = typename concepts::Realtype<F>::type>
32 public Vectorial<const concepts::ElementFunction<F,G> > {
39 virtual uint
n()
const;
56 const Real t = 0.0)
const;
60 const Real t = 0.0)
const;
64 const Real t = 0.0)
const;
76 const uint a = 0,
const uint b = 0);
78 virtual std::ostream&
info(std::ostream& os)
const;
90 template<
class F,
class G = Real>
95 const uint component);
104 virtual uint
n()
const {
111 const uint *i)
const;
119 const Real p,
const Real t = 0.0)
const;
124 const Real2d& p,
const Real t = 0.0)
const;
129 const Real3d& p,
const Real t = 0.0)
const;
132 virtual std::ostream&
info(std::ostream &os)
const
140 std::unique_ptr<ElementFunction<F,G> > fun_;
155 template<
class F,
class G = Real>
168 virtual uint
n()
const {
175 const uint *i)
const;
183 const Real p,
const Real t = 0.0)
const;
188 const Real2d& p,
const Real t = 0.0)
const;
193 const Real3d& p,
const Real t = 0.0)
const;
196 virtual std::ostream&
info(std::ostream &os)
const
204 std::unique_ptr<ElementFunction<F,G> > fun_;
222 template<u
int dim,
class F,
class G = Real>
239 virtual uint
n()
const {
246 const uint *i)
const;
254 const Real p,
const Real t = 0.0)
const;
259 const Real2d& p,
const Real t = 0.0)
const;
264 const Real3d& p,
const Real t = 0.0)
const;
267 virtual std::ostream&
info(std::ostream &os)
const
273 std::unique_ptr<const concepts::ElementFunction<F,G> > fun_;
virtual void operator()(const concepts::Element< G > &elm, const concepts::Array< F > &coeff, concepts::Array< F > &val, const uint *i) const
virtual void operator()(const concepts::Element< G > &elm, const uint *j, concepts::Array< F > &val, const uint *i) const
virtual uint n() const
Number of components.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual void operator()(const concepts::Element< G > &elm, const uint *j, concepts::Array< F > &val, const uint *i) const
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual uint n() const
Number of components.
virtual void operator()(const concepts::Element< G > &elm, const concepts::Array< F > &coeff, concepts::Array< F > &val, const uint *i) const
virtual void put(const concepts::ElementFunction< F, G > &vdata, const uint a=0, const uint b=0)
virtual void operator()(const concepts::Element< G > &elm, const concepts::Array< F > &coeff, concepts::Array< F > &val, const uint *i) const
Evaluates the function on precalculated quadrature points.
virtual uint n() const
Number of components.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
SymmetrizeTensor(const concepts::ElementFunction< F, G > &fun)
virtual uint n() const
Number of components.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual void operator()(const concepts::Element< G > &elm, const concepts::Array< F > &coeff, concepts::Array< F > &val, const uint *i) const
virtual void operator()(const concepts::Element< G > &elm, const uint *j, concepts::Array< F > &val, const uint *i) const
uint vdim() const
Returns number of components.
std::string typeOf(const T &t)