25 #ifndef PARABOLIC_PROFILE_H
26 #define PARABOLIC_PROFILE_H
32 #include "libmesh/function_base.h"
52 const double d,
const double e,
const double f );
56 virtual libMesh::AutoPtr< libMesh::FunctionBase<libMesh::Number> >
clone()
const;
58 virtual libMesh::Number
operator()(
const libMesh::Point &p,
const libMesh::Real time );
60 virtual void operator()(
const libMesh::Point &p,
61 const libMesh::Real time,
62 libMesh::DenseVector<libMesh::Number> &output );
64 virtual libMesh::Number
component(
unsigned int i,
const libMesh::Point &p,
65 const libMesh::Real time );
69 inline double eval(
const double a,
const double b,
const double c,
70 const double d,
const double e,
const double f,
71 const double x,
const double y )
73 return a*x*x + b*x*y + c*y*y + d*x + e*y + f;
83 #endif // PARABOLIC_PROFILE_H
virtual libMesh::AutoPtr< libMesh::FunctionBase< libMesh::Number > > clone() const
double eval(const double a, const double b, const double c, const double d, const double e, const double f, const double x, const double y)
virtual libMesh::Number operator()(const libMesh::Point &p, const libMesh::Real time)
virtual libMesh::Number component(unsigned int i, const libMesh::Point &p, const libMesh::Real time)
virtual ~ParabolicProfile()
ParabolicProfile()
Default constructor.
double _a
Coefficients defining parabola.