25 #ifndef CONCENTRIC_CYLINDER_PROFILE_H
26 #define CONCENTRIC_CYLINDER_PROFILE_H
32 #include "libmesh/function_base.h"
61 virtual libMesh::AutoPtr< libMesh::FunctionBase<libMesh::Number> >
clone()
const;
63 virtual libMesh::Number
operator()(
const libMesh::Point& p,
const libMesh::Real time );
65 virtual void operator()(
const libMesh::Point& p,
66 const libMesh::Real time,
67 libMesh::DenseVector<libMesh::Number>& output );
69 virtual libMesh::Number
component(
unsigned int i,
const libMesh::Point& p,
70 const libMesh::Real time );
75 double eval(
const double u0,
const double r0,
76 const double r1,
const double r )
78 return u0*std::log(r1/r)/std::log(r1/r0);
88 #endif // CONCENTRIC_CYLINDER_H
virtual ~ConcentricCylinderProfile()
Profile for flow between axially moving concentric cylinders.
virtual libMesh::Number operator()(const libMesh::Point &p, const libMesh::Real time)
double _u0
Coefficients defining parabola.
ConcentricCylinderProfile()
Default constructor.
virtual libMesh::Number component(unsigned int i, const libMesh::Point &p, const libMesh::Real time)
double eval(const double u0, const double r0, const double r1, const double r)
virtual libMesh::AutoPtr< libMesh::FunctionBase< libMesh::Number > > clone() const