ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/oopse-1.0/libmdtools/MinimizerParameterSet.hpp
Revision: 1447
Committed: Fri Jul 30 21:01:35 2004 UTC (19 years, 11 months ago) by gezelter
File size: 2294 byte(s)
Log Message:
Initial import of OOPSE sources into cvs tree

File Contents

# User Rev Content
1 gezelter 1447 #ifndef _MININIZERPARAMETERSET_H_
2     #define _MININIZERPARAMETERSET_H_
3    
4     const double DEFAULTTOLERANCE = 1.0e-8;
5    
6     // base class of minimizer's parameter set
7     class MinimizerParameterSet{
8     public:
9    
10     MinimizerParameterSet() {setDefaultParameter();}
11     MinimizerParameterSet(MinimizerParameterSet& param) {*this = param;}
12    
13     void operator= (MinimizerParameterSet& param) {
14    
15     maxIteration = param.maxIteration;
16     stepSize = param.stepSize;
17     stepTol = param.stepTol;
18     fTol = param.fTol;
19     gTol = param.gTol;
20    
21     writeFrq = param.writeFrq;
22    
23     lsMaxIteration = param.lsMaxIteration;
24     lsTol = param.lsTol;
25    
26     }
27    
28     virtual void setDefaultParameter(){
29     maxIteration = 200;
30     stepSize = 0.01;
31     stepTol = DEFAULTTOLERANCE;
32     fTol = DEFAULTTOLERANCE;
33     gTol = DEFAULTTOLERANCE;
34    
35     writeFrq = maxIteration;
36    
37     lsMaxIteration = 50;
38     lsTol = DEFAULTTOLERANCE;
39     }
40    
41     void setStepTol(double tol) { stepTol = tol;}
42     double getStepTol() { return stepTol;}
43    
44     void setStepSize(double size) { stepSize = size;}
45     double getStepSize() { return stepSize;}
46    
47     void setMaxIteration(int iter) { maxIteration = iter;}
48     int getMaxIteration() {return maxIteration;}
49    
50     void setFTol(double tol) {fTol = tol;}
51     double getFTol() {return fTol;}
52    
53     void setGTol(double tol) {gTol = tol;}
54     double getGTol() {return gTol;}
55    
56     void setLineSearchTol(double tol) {lsTol = tol;}
57     double getLineSearchTol() {return lsTol;}
58    
59     void setLineSearchMaxIteration(int iter) {lsMaxIteration = iter;}
60     int getLineSearchMaxIteration() {return lsMaxIteration;}
61    
62     void setWriteFrq(int frq) {writeFrq = frq;}
63     int getWriteFrq() {return writeFrq;}
64    
65     protected:
66    
67     int maxIteration;
68     double stepTol;
69     double fTol;
70     double gTol;
71     double stepSize;
72    
73     int lsMaxIteration;
74     double lsTol;
75    
76     int writeFrq;
77     //int resetFrq;
78     /*
79     // Absolute tolerance
80     vector<double> absTol;
81    
82     // Relative tolerance
83     vector<double> relTol;
84    
85     // Total specified tolerance at convergence
86     vector<double> totTol;
87    
88     // Tolerance achieved at convergence.
89     vector<double> achTol;
90     */
91     };
92    
93    
94     #endif