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

Gaussian profile. More...

#include <gaussian_xy_profile.h>

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

Public Member Functions

 GaussianXYProfile (const double a, const double mu, const double sigma, const double b)
 
virtual ~GaussianXYProfile ()
 
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 r)
 

Protected Attributes

double _a
 Coefficients defining parabola. More...
 
double _mu
 
double _variance
 
double _b
 

Private Member Functions

 GaussianXYProfile ()
 

Detailed Description

Gaussian profile.

$ r $ is computed in the x-y plane: $ r = \sqrt{x^2 + y^2} $

Definition at line 36 of file gaussian_xy_profile.h.

Constructor & Destructor Documentation

GRINS::GaussianXYProfile::GaussianXYProfile ( const double  a,
const double  mu,
const double  sigma,
const double  b 
)

Definition at line 35 of file gaussian_xy_profile.C.

37  : GaussianProfile(a,mu,sigma,b)
38  {
39  _initialized = true;
40  return;
41  }
GRINS::GaussianXYProfile::~GaussianXYProfile ( )
virtual

Definition at line 43 of file gaussian_xy_profile.C.

44  {
45  return;
46  }
GRINS::GaussianXYProfile::GaussianXYProfile ( )
private

Member Function Documentation

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

Definition at line 48 of file gaussian_xy_profile.C.

49  {
50  return libMesh::AutoPtr< libMesh::FunctionBase<libMesh::Number> >( new GaussianXYProfile( _a, _mu, std::sqrt(_variance), _b ) );
51  }
double _a
Coefficients defining parabola.
libMesh::Number GRINS::GaussianXYProfile::component ( unsigned int  i,
const libMesh::Point &  p,
const libMesh::Real  time 
)
virtual

Definition at line 72 of file gaussian_xy_profile.C.

75  {
76  return (*this)(p, time);
77  }
double GRINS::GaussianProfile::eval ( const double  r)
inlineprotectedinherited

Definition at line 56 of file gaussian_profile.h.

References GRINS::GaussianProfile::_a, GRINS::GaussianProfile::_b, GRINS::GaussianProfile::_mu, and GRINS::GaussianProfile::_variance.

57  {
58  const double r_m_mu = r - _mu;
59  return _a*std::exp( -r_m_mu*r_m_mu/(2.0*_variance) ) - _b;
60  };
double _a
Coefficients defining parabola.
libMesh::Number GRINS::GaussianXYProfile::operator() ( const libMesh::Point &  p,
const libMesh::Real  time 
)
virtual

Definition at line 53 of file gaussian_xy_profile.C.

55  {
56  const double r = std::sqrt( p(0)*p(0) + p(1)*p(1) );
57 
58  return this->eval( r );
59  }
double eval(const double r)
void GRINS::GaussianXYProfile::operator() ( const libMesh::Point &  p,
const libMesh::Real  time,
libMesh::DenseVector< libMesh::Number > &  output 
)
virtual

Definition at line 61 of file gaussian_xy_profile.C.

64  {
65  for( unsigned int i = 0; i < output.size(); i++ )
66  {
67  output(i) = (*this)(p, time);
68  }
69  return;
70  }

Member Data Documentation

double GRINS::GaussianProfile::_a
protectedinherited

Coefficients defining parabola.

Definition at line 60 of file gaussian_profile.h.

Referenced by GRINS::GaussianProfile::eval().

double GRINS::GaussianProfile::_b
protectedinherited

Definition at line 60 of file gaussian_profile.h.

Referenced by GRINS::GaussianProfile::eval().

double GRINS::GaussianProfile::_mu
protectedinherited

Definition at line 60 of file gaussian_profile.h.

Referenced by GRINS::GaussianProfile::eval().

double GRINS::GaussianProfile::_variance
protectedinherited

Definition at line 60 of file gaussian_profile.h.

Referenced by GRINS::GaussianProfile::eval().


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