C API Documentation
NLEQ1Solver.h
Go to the documentation of this file.
1 // == PREAMBLE ================================================
2 
3 // * Licensed under the Apache License, Version 2.0; see README
4 
5 // == FILEDOC =================================================
6 
14 #ifndef rrNLEQ1SolverH
15 #define rrNLEQ1SolverH
16 #include <vector>
17 #include "SteadyStateSolver.h"
18 #include "rrExecutableModel.h"
19 using std::vector;
20 
21 namespace rr
22 {
23 
27 class RR_DECLSPEC NLEQ1Solver : public SteadyStateSolver
28 {
29  public:
33  NLEQ1Solver(ExecutableModel *_model = NULL);
34  ~NLEQ1Solver();
35 
41  virtual void syncWithModel(ExecutableModel* m);
42 
43  void loadConfigSettings();
44 
49  void resetSettings();
50 
56  std::string getName() const;
57 
62  static std::string getNLEQName();
63 
69  std::string getDescription() const;
70 
75  static std::string getNLEQDescription();
76 
82  std::string getHint() const;
83 
88  static std::string getNLEQHint();
89 
90  // ** Solver routines
91  double solve();
92 
93  private:
94  ExecutableModel *model; // Model generated from the SBML. Static so we can access it from standalone function
95 };
96 
97 
98  // ** Registration *********************************************************
99 
100 
102  public:
107  virtual std::string getName() const {
108  return NLEQ1Solver::getNLEQName();
109  }
110 
115  virtual std::string getDescription() const {
117  }
118 
123  virtual std::string getHint() const {
124  return NLEQ1Solver::getNLEQHint();
125  }
126 
131  virtual SteadyStateSolver* construct(ExecutableModel *model) const {
132  return new NLEQ1Solver(model);
133  }
134  };
135 }
136 
137 #endif
Contains the base class for RoadRunner solvers.
Base class for all code generation systems; allows compiling and evaluating the model.
Definition: rrExecutableModel.h:118
Definition: NLEQ1Solver.h:28
static std::string getNLEQHint()
Get the hint for this Solver.
static std::string getNLEQDescription()
Get the description for this Solver.
std::string getDescription() const
Get the description for this Solver.
virtual void syncWithModel(ExecutableModel *m)
Called whenever a new model is loaded to allow integrator to reset internal state.
NLEQ1Solver(ExecutableModel *_model=NULL)
void resetSettings()
Reset all integrator settings to their respective default values.
std::string getName() const
Get the name for this Solver.
static std::string getNLEQName()
Get the name for this Solver.
std::string getHint() const
Get the hint for this Solver.
Definition: NLEQ1Solver.h:101
virtual std::string getDescription() const
Gets the description associated with this integrator type.
Definition: NLEQ1Solver.h:115
virtual SteadyStateSolver * construct(ExecutableModel *model) const
Constructs a new integrator of a given type.
Definition: NLEQ1Solver.h:131
virtual std::string getName() const
Gets the name associated with this integrator type.
Definition: NLEQ1Solver.h:107
virtual std::string getHint() const
Gets the hint associated with this integrator type.
Definition: NLEQ1Solver.h:123
Definition: SteadyStateSolver.h:41
Handles constructing a solver and contains meta information about it.
Definition: SteadyStateSolver.h:88
Base class for all code generators in RoadRunner.