ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/MinimizerParameterSet.hpp
Revision: 1064
Committed: Tue Feb 24 15:44:45 2004 UTC (20 years, 4 months ago) by tim
File size: 2294 byte(s)
Log Message:
Using inherit instead of compose to implement Minimizer
both versions are working

File Contents

# User Rev Content
1 tim 997 #ifndef _MININIZERPARAMETERSET_H_
2     #define _MININIZERPARAMETERSET_H_
3    
4 tim 1057 const double DEFAULTTOLERANCE = 1.0e-8;
5 tim 1002
6 tim 997 // base class of minimizer's parameter set
7     class MinimizerParameterSet{
8     public:
9    
10 tim 1023 MinimizerParameterSet() {setDefaultParameter();}
11 tim 1002 MinimizerParameterSet(MinimizerParameterSet& param) {*this = param;}
12    
13     void operator= (MinimizerParameterSet& param) {
14 tim 1000
15 tim 1002 maxIteration = param.maxIteration;
16 tim 1064 stepSize = param.stepSize;
17 tim 1002 stepTol = param.stepTol;
18     fTol = param.fTol;
19     gTol = param.gTol;
20 tim 1064
21     writeFrq = param.writeFrq;
22    
23     lsMaxIteration = param.lsMaxIteration;
24     lsTol = param.lsTol;
25    
26     }
27 tim 997
28 tim 1002 virtual void setDefaultParameter(){
29     maxIteration = 200;
30 tim 1064 stepSize = 0.01;
31 tim 1002 stepTol = DEFAULTTOLERANCE;
32     fTol = DEFAULTTOLERANCE;
33     gTol = DEFAULTTOLERANCE;
34 tim 997
35 tim 1015 writeFrq = maxIteration;
36    
37 tim 1010 lsMaxIteration = 50;
38 tim 1057 lsTol = DEFAULTTOLERANCE;
39 tim 1002 }
40 tim 1015
41 tim 1002 void setStepTol(double tol) { stepTol = tol;}
42     double getStepTol() { return stepTol;}
43 tim 1064
44     void setStepSize(double size) { stepSize = size;}
45     double getStepSize() { return stepSize;}
46    
47 tim 1002 void setMaxIteration(int iter) { maxIteration = iter;}
48     int getMaxIteration() {return maxIteration;}
49 tim 997
50 tim 1002 void setFTol(double tol) {fTol = tol;}
51     double getFTol() {return fTol;}
52 tim 997
53 tim 1031 void setGTol(double tol) {gTol = tol;}
54     double getGTol() {return gTol;}
55 tim 997
56 tim 1002 void setLineSearchTol(double tol) {lsTol = tol;}
57 tim 1010 double getLineSearchTol() {return lsTol;}
58 tim 1002
59 tim 1010 void setLineSearchMaxIteration(int iter) {lsMaxIteration = iter;}
60     int getLineSearchMaxIteration() {return lsMaxIteration;}
61 tim 1002
62 tim 1015 void setWriteFrq(int frq) {writeFrq = frq;}
63     int getWriteFrq() {return writeFrq;}
64    
65 tim 997 protected:
66    
67 tim 1000 int maxIteration;
68 tim 1002 double stepTol;
69     double fTol;
70     double gTol;
71 tim 1064 double stepSize;
72 tim 1000
73 tim 1002 int lsMaxIteration;
74     double lsTol;
75 tim 997
76 tim 1015 int writeFrq;
77 tim 1064 //int resetFrq;
78 tim 1002 /*
79 tim 997 // 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 tim 1002 */
91 tim 997 };
92    
93    
94     #endif

Properties

Name Value
svn:executable *