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, 7 months ago) by tim
File size: 1027 byte(s)
Log Message:
constraint class in energy minimization

File Contents

# User Rev Content
1 tim 969 #ifndef _NLOPMODEL_H_
2     #define _NLOPMODEL_H_
3    
4     class NLOPBase{
5     public:
6 tim 975
7 tim 969 virtual ~NLPBase() {;}
8    
9     // set and Accessor Methods
10 tim 975 virtual void setX(const vector<double>& x) = 0;
11 tim 969
12 tim 975 virtual void setF(const vector<double>& fx) = 0;
13 tim 969
14     virtual int getDim() const = 0;
15 tim 975 virtual int getFevals() const = 0;
16     virtual real getF() const = 0;
17 tim 969
18 tim 975 bool hasConstraints() = 0;
19     getConstraints() = 0;
20 tim 969
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 tim 975 protected:
33    
34 tim 969 };
35    
36     class NLOPNoDerive : public NLOPBase{
37    
38     };
39    
40     class NLOPFirstDerive : NLOPNoDerive{
41    
42     };
43    
44     class NLOPSecondDerive : NLOPFirstDerive{
45    
46     };
47     #endif