Nektar++
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
Nektar::LibUtilities::AnalyticExpressionEvaluator::EvalAWGN Struct Reference
Inheritance diagram for Nektar::LibUtilities::AnalyticExpressionEvaluator::EvalAWGN:
Inheritance graph
[legend]
Collaboration diagram for Nektar::LibUtilities::AnalyticExpressionEvaluator::EvalAWGN:
Collaboration graph
[legend]

Public Member Functions

 EvalAWGN (rgt rn, vr s, cvr c, cvr p, cvr v, ci i, ci l, ci r)
 
virtual void run_many (ci n)
 declaring this guy pure virtual shortens virtual table. It saves some execution time. More...
 
virtual void run_once ()
 
- Public Member Functions inherited from Nektar::LibUtilities::AnalyticExpressionEvaluator::EvaluationStep
 EvaluationStep (rgt rn, ci i, ci l, ci r, vr s, cvr c, cvr p, cvr v)
 
virtual ~EvaluationStep ()
 

Additional Inherited Members

- Public Attributes inherited from Nektar::LibUtilities::AnalyticExpressionEvaluator::EvaluationStep
rgt rng
 reference to random number generator More...
 
vr state
 references to arrays holding the common state More...
 
cvr consts
 
cvr params
 
cvr vars
 
ci storeIdx
 indices in the above arrays uniquely defining actual command arguments More...
 
ci argIdx1
 
ci argIdx2
 

Detailed Description

Definition at line 730 of file AnalyticExpressionEvaluator.hpp.

Constructor & Destructor Documentation

Nektar::LibUtilities::AnalyticExpressionEvaluator::EvalAWGN::EvalAWGN ( rgt  rn,
vr  s,
cvr  c,
cvr  p,
cvr  v,
ci  i,
ci  l,
ci  r 
)
inline

Definition at line 732 of file AnalyticExpressionEvaluator.hpp.

732 : EvaluationStep(rn,i,l,r,s,c,p,v) {}
EvaluationStep(rgt rn, ci i, ci l, ci r, vr s, cvr c, cvr p, cvr v)

Member Function Documentation

virtual void Nektar::LibUtilities::AnalyticExpressionEvaluator::EvalAWGN::run_many ( ci  n)
inlinevirtual

declaring this guy pure virtual shortens virtual table. It saves some execution time.

Implements Nektar::LibUtilities::AnalyticExpressionEvaluator::EvaluationStep.

Definition at line 733 of file AnalyticExpressionEvaluator.hpp.

References Nektar::LibUtilities::AnalyticExpressionEvaluator::EvaluationStep::rng, Nektar::LibUtilities::AnalyticExpressionEvaluator::EvaluationStep::state, and Nektar::LibUtilities::AnalyticExpressionEvaluator::EvaluationStep::storeIdx.

734  {
735  // assuming the argument to AWGN does not depend on spatial variables =>
736  boost::variate_generator<RandomGeneratorType&, boost::normal_distribution<> >
737  _normal(rng, boost::normal_distribution<>(0, state[storeIdx*n]) );
738  for(int i=0;i<n;i++) { state[storeIdx*n+i] = _normal(); }
739  }
ci storeIdx
indices in the above arrays uniquely defining actual command arguments
virtual void Nektar::LibUtilities::AnalyticExpressionEvaluator::EvalAWGN::run_once ( )
inlinevirtual

Implements Nektar::LibUtilities::AnalyticExpressionEvaluator::EvaluationStep.

Definition at line 740 of file AnalyticExpressionEvaluator.hpp.

References Nektar::LibUtilities::AnalyticExpressionEvaluator::EvaluationStep::rng, Nektar::LibUtilities::AnalyticExpressionEvaluator::EvaluationStep::state, and Nektar::LibUtilities::AnalyticExpressionEvaluator::EvaluationStep::storeIdx.

741  {
742  boost::variate_generator<RandomGeneratorType&, boost::normal_distribution<> >
743  _normal(rng, boost::normal_distribution<>(0, state[storeIdx]) );
744  state[storeIdx] = _normal();
745  }
ci storeIdx
indices in the above arrays uniquely defining actual command arguments