Nektar++
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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 737 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 739 of file AnalyticExpressionEvaluator.hpp.

739 : 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 740 of file AnalyticExpressionEvaluator.hpp.

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

741  {
742  // assuming the argument to AWGN does not depend on spatial variables =>
743  boost::variate_generator<RandomGeneratorType&, boost::normal_distribution<> >
744  _normal(rng, boost::normal_distribution<>(0, state[storeIdx*n]) );
745  for(int i=0;i<n;i++) { state[storeIdx*n+i] = _normal(); }
746  }
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 747 of file AnalyticExpressionEvaluator.hpp.

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

748  {
749  boost::variate_generator<RandomGeneratorType&, boost::normal_distribution<> >
750  _normal(rng, boost::normal_distribution<>(0, state[storeIdx]) );
751  state[storeIdx] = _normal();
752  }
ci storeIdx
indices in the above arrays uniquely defining actual command arguments