ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/NLOPModel.hpp
Revision: 975
Committed: Wed Jan 21 22:16:00 2004 UTC (20 years, 5 months ago) by tim
File size: 1027 byte(s)
Log Message:
constraint class in energy minimization

File Contents

# Content
1 #ifndef _NLOPMODEL_H_
2 #define _NLOPMODEL_H_
3
4 class NLOPBase{
5 public:
6
7 virtual ~NLPBase() {;}
8
9 // set and Accessor Methods
10 virtual void setX(const vector<double>& x) = 0;
11
12 virtual void setF(const vector<double>& fx) = 0;
13
14 virtual int getDim() const = 0;
15 virtual int getFevals() const = 0;
16 virtual real getF() const = 0;
17
18 bool hasConstraints() = 0;
19 getConstraints() = 0;
20
21
22 // Function Evaluation Methods
23 virtual void initFcn() = 0;
24 virtual real evalF() = 0;
25 virtual real evalF(const ColumnVector &x) = 0;
26 virtual ColumnVector evalG() = 0;
27 virtual ColumnVector evalG(const ColumnVector &x) = 0;
28 virtual SymmetricMatrix evalH() = 0;
29 virtual SymmetricMatrix evalH(ColumnVector &x) = 0;
30 virtual void eval() = 0;
31
32 protected:
33
34 };
35
36 class NLOPNoDerive : public NLOPBase{
37
38 };
39
40 class NLOPFirstDerive : NLOPNoDerive{
41
42 };
43
44 class NLOPSecondDerive : NLOPFirstDerive{
45
46 };
47 #endif