PSCF v1.2
rpc/fts/ramp/LinearRamp.h
1#ifndef RPC_LINEAR_RAMP_H
2#define RPC_LINEAR_RAMP_H
3
4#include <rpc/fts/ramp/Ramp.h> // base class
5#include <rpc/fts/ramp/RampParameter.h> // member (templ parameter)
6#include <util/containers/DArray.h> // member (template)
7
8namespace Pscf {
9namespace Rpc {
10
11 using namespace Util;
12
13 template <int D> class Simulator;
14
27 template <int D>
28 class LinearRamp : public Ramp<D>
29 {
30
31 public:
32
37
41 virtual ~LinearRamp();
42
48 virtual void readParameters(std::istream& in);
49
58 virtual void setup(int nStep);
59
65 virtual void setParameters(int iStep);
66
71 virtual void output();
72
73 protected:
74
75 using Ramp<D>::nStep_;
76 using Ramp<D>::simulator;
77
78 private:
79
80 // Number of variable parameters
81 int nParameter_;
82
83 // Array of variable parameters
84 DArray< RampParameter<D> > parameters_;
85
86 };
87
88
89 #ifndef RPC_LINEAR_RAMP_TPP
90 // Suppress implicit instantiation
91 extern template class LinearRamp<1>;
92 extern template class LinearRamp<2>;
93 extern template class LinearRamp<3>;
94 #endif
95
96}
97}
98#endif
Linear ramp - parameters vary linearly with step index.
virtual void setup(int nStep)
Set nStep and complete initialization.
virtual void setParameters(int iStep)
Set new parameters values in associated System and Simulator.
virtual ~LinearRamp()
Destructor.
virtual void readParameters(std::istream &in)
Read parameters from parameter file input stream.
virtual void output()
Output initial and final parameter values of linear ramp at the end of the simulation.
LinearRamp(Simulator< D > &simulator)
Constructor.
Class that varies parameters during a simulation (abstract).
int nStep_
Number of steps planned for this simulation (set in setup).
Simulator< D > const & simulator() const
Get parent Simulator<D> by const reference.
Field theoretic simulator (base class).
Definition rpc/System.h:38
Dynamically allocatable contiguous array template.
PSCF package top-level namespace.
Definition param_pc.dox:1
Utility classes for scientific computation.