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

Parabolic profile. More...

#include <parabolic_profile.h>

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

Public Member Functions

 ParabolicProfile ()
 Default constructor. More...
 
 ParabolicProfile (const double a, const double b, const double c, const double d, const double e, const double f)
 
virtual ~ParabolicProfile ()
 
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 a, const double b, const double c, const double d, const double e, const double f, const double x, const double y)
 

Protected Attributes

double _a
 Coefficients defining parabola. More...
 
double _b
 
double _c
 
double _d
 
double _e
 
double _f
 

Detailed Description

Parabolic profile.

Generic parabolic profile. Mainly used for defining inflow boundary conditions. Parabola takes the form: $ ax^2 + bxy + cy^2 + dx + ey + f $

Todo:
Need to incorporate z-directions

Definition at line 42 of file parabolic_profile.h.

Constructor & Destructor Documentation

GRINS::ParabolicProfile::ParabolicProfile ( )

Default constructor.

Default constructor sets parameters for the profile: value = $ 4y(1-y) $

Definition at line 35 of file parabolic_profile.C.

Referenced by clone().

36  : libMesh::FunctionBase<libMesh::Number>(),
37  _a(0.0), _b(0.0), _c(-4.0), _d(0.0), _e(4.0), _f(0.0)
38  {
39  _initialized=true;
40  return;
41  }
double _a
Coefficients defining parabola.
GRINS::ParabolicProfile::ParabolicProfile ( const double  a,
const double  b,
const double  c,
const double  d,
const double  e,
const double  f 
)

Definition at line 43 of file parabolic_profile.C.

45  : libMesh::FunctionBase<libMesh::Number>(),
46  _a(a), _b(b), _c(c), _d(d), _e(e), _f(f)
47  {
48  _initialized=true;
49  return;
50  }
double _a
Coefficients defining parabola.
GRINS::ParabolicProfile::~ParabolicProfile ( )
virtual

Definition at line 52 of file parabolic_profile.C.

53  {
54  return;
55  }

Member Function Documentation

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

Definition at line 57 of file parabolic_profile.C.

References _a, _b, _c, _d, _e, _f, and ParabolicProfile().

58  {
59  return libMesh::AutoPtr< libMesh::FunctionBase<libMesh::Number> >( new ParabolicProfile( _a, _b, _c, _d, _e, _f ) );
60  }
ParabolicProfile()
Default constructor.
double _a
Coefficients defining parabola.
libMesh::Number GRINS::ParabolicProfile::component ( unsigned int  i,
const libMesh::Point &  p,
const libMesh::Real  time 
)
virtual

Definition at line 82 of file parabolic_profile.C.

85  {
86  return (*this)(p, time);
87  }
double GRINS::ParabolicProfile::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 
)
inlineprotected

Definition at line 69 of file parabolic_profile.h.

Referenced by operator()().

72  {
73  return a*x*x + b*x*y + c*y*y + d*x + e*y + f;
74  };
libMesh::Number GRINS::ParabolicProfile::operator() ( const libMesh::Point &  p,
const libMesh::Real  time 
)
virtual

Definition at line 62 of file parabolic_profile.C.

References _a, _b, _c, _d, _e, _f, and eval().

64  {
65  const double x = p(0);
66  const double y = p(1);
67 
68  return this->eval( _a, _b, _c, _d, _e, _f, x, y );
69  }
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)
double _a
Coefficients defining parabola.
void GRINS::ParabolicProfile::operator() ( const libMesh::Point &  p,
const libMesh::Real  time,
libMesh::DenseVector< libMesh::Number > &  output 
)
virtual

Definition at line 71 of file parabolic_profile.C.

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

Member Data Documentation

double GRINS::ParabolicProfile::_a
protected

Coefficients defining parabola.

Definition at line 74 of file parabolic_profile.h.

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

double GRINS::ParabolicProfile::_b
protected

Definition at line 74 of file parabolic_profile.h.

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

double GRINS::ParabolicProfile::_c
protected

Definition at line 74 of file parabolic_profile.h.

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

double GRINS::ParabolicProfile::_d
protected

Definition at line 74 of file parabolic_profile.h.

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

double GRINS::ParabolicProfile::_e
protected

Definition at line 74 of file parabolic_profile.h.

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

double GRINS::ParabolicProfile::_f
protected

Definition at line 74 of file parabolic_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:23 for GRINS-0.6.0 by  doxygen 1.8.9.1