GRINS-0.6.0
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
GRINS::ConcentricCylinderProfile Class Reference

Profile for flow between axially moving concentric cylinders. More...

#include <concentric_cylinder_profile.h>

Inheritance diagram for GRINS::ConcentricCylinderProfile:
Inheritance graph
[legend]
Collaboration diagram for GRINS::ConcentricCylinderProfile:
Collaboration graph
[legend]

Public Member Functions

 ConcentricCylinderProfile ()
 Default constructor. More...
 
 ConcentricCylinderProfile (const double u0, const double r0, const double r1)
 
virtual ~ConcentricCylinderProfile ()
 
virtual libMesh::AutoPtr< libMesh::FunctionBase< libMesh::Number > > clone () const
 
virtual libMesh::Number operator() (const libMesh::Point &p, const libMesh::Real time)
 
virtual void operator() (const libMesh::Point &p, const libMesh::Real time, libMesh::DenseVector< libMesh::Number > &output)
 
virtual libMesh::Number component (unsigned int i, const libMesh::Point &p, const libMesh::Real time)
 

Protected Member Functions

double eval (const double u0, const double r0, const double r1, const double r)
 

Protected Attributes

double _u0
 Coefficients defining parabola. More...
 
double _r0
 
double _r1
 

Detailed Description

Profile for flow between axially moving concentric cylinders.

Profile generated between axially moving concentric cylinders. In this case, we assume the outer cylinder is stationary, and the inner cylinder is moving at speed u0. The profile is given by: $ u_0 \frac{ \log( r_1/r) }{\log( r_1/r_0)} $ where: $ r_0 $ is the inner cylinder radius and $ r_1 $ is the outer cylinder radius. Note, that this assumes axisymmetry.

Definition at line 47 of file concentric_cylinder_profile.h.

Constructor & Destructor Documentation

GRINS::ConcentricCylinderProfile::ConcentricCylinderProfile ( )

Default constructor.

Default constructor sets parameters for the profile: value = $ 2.0 \frac{ \log( 2.0/r) }{\log(2.0)} $

Definition at line 35 of file concentric_cylinder_profile.C.

Referenced by clone().

36  : libMesh::FunctionBase<libMesh::Number>(),
37  _u0(2.0),
38  _r0(1.0),
39  _r1(2.0)
40  {
41  return;
42  }
double _u0
Coefficients defining parabola.
GRINS::ConcentricCylinderProfile::ConcentricCylinderProfile ( const double  u0,
const double  r0,
const double  r1 
)

Definition at line 44 of file concentric_cylinder_profile.C.

47  : libMesh::FunctionBase<libMesh::Number>(),
48  _u0(u0),
49  _r0(r0),
50  _r1(r1)
51  {
52  return;
53  }
double _u0
Coefficients defining parabola.
GRINS::ConcentricCylinderProfile::~ConcentricCylinderProfile ( )
virtual

Definition at line 55 of file concentric_cylinder_profile.C.

56  {
57  return;
58  }

Member Function Documentation

libMesh::AutoPtr< libMesh::FunctionBase< libMesh::Number > > GRINS::ConcentricCylinderProfile::clone ( ) const
virtual

Definition at line 60 of file concentric_cylinder_profile.C.

References _r0, _r1, _u0, and ConcentricCylinderProfile().

61  {
62  return libMesh::AutoPtr< libMesh::FunctionBase<libMesh::Number> >( new ConcentricCylinderProfile( _u0, _r0, _r1 ) );
63  }
double _u0
Coefficients defining parabola.
libMesh::Number GRINS::ConcentricCylinderProfile::component ( unsigned int  i,
const libMesh::Point &  p,
const libMesh::Real  time 
)
virtual

Definition at line 84 of file concentric_cylinder_profile.C.

87  {
88  return (*this)(p, time);
89  }
double GRINS::ConcentricCylinderProfile::eval ( const double  u0,
const double  r0,
const double  r1,
const double  r 
)
inlineprotected

Definition at line 75 of file concentric_cylinder_profile.h.

Referenced by operator()().

77  {
78  return u0*std::log(r1/r)/std::log(r1/r0);
79  };
libMesh::Number GRINS::ConcentricCylinderProfile::operator() ( const libMesh::Point &  p,
const libMesh::Real  time 
)
virtual

Definition at line 65 of file concentric_cylinder_profile.C.

References _r0, _r1, _u0, and eval().

67  {
68  const double r = p(0);
69 
70  return this->eval( _u0, _r0, _r1, r );
71  }
double _u0
Coefficients defining parabola.
double eval(const double u0, const double r0, const double r1, const double r)
void GRINS::ConcentricCylinderProfile::operator() ( const libMesh::Point &  p,
const libMesh::Real  time,
libMesh::DenseVector< libMesh::Number > &  output 
)
virtual

Definition at line 73 of file concentric_cylinder_profile.C.

76  {
77  for( unsigned int i = 0; i < output.size(); i++ )
78  {
79  output(i) = (*this)(p, time);
80  }
81  return;
82  }

Member Data Documentation

double GRINS::ConcentricCylinderProfile::_r0
protected

Definition at line 79 of file concentric_cylinder_profile.h.

Referenced by clone(), and operator()().

double GRINS::ConcentricCylinderProfile::_r1
protected

Definition at line 79 of file concentric_cylinder_profile.h.

Referenced by clone(), and operator()().

double GRINS::ConcentricCylinderProfile::_u0
protected

Coefficients defining parabola.

Definition at line 79 of file concentric_cylinder_profile.h.

Referenced by clone(), and operator()().


The documentation for this class was generated from the following files:

Generated on Mon Jun 22 2015 21:32:22 for GRINS-0.6.0 by  doxygen 1.8.9.1