ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-2.0/src/minimizers/SDMinimizer.cpp
(Generate patch)

Comparing trunk/OOPSE-2.0/src/minimizers/SDMinimizer.cpp (file contents):
Revision 1930 by gezelter, Wed Jan 12 22:41:40 2005 UTC vs.
Revision 2204 by gezelter, Fri Apr 15 22:04:00 2005 UTC

# Line 1 | Line 1
1 < /*
1 > /*
2   * Copyright (c) 2005 The University of Notre Dame. All Rights Reserved.
3   *
4   * The University of Notre Dame grants you ("Licensee") a
# Line 43 | Line 43 | SDMinimizer::SDMinimizer(SimInfo* info) : Minimizer(in
43   #include "utils/Utility.hpp"
44  
45   namespace oopse {
46 < SDMinimizer::SDMinimizer(SimInfo* info) : Minimizer(info) {
46 >  SDMinimizer::SDMinimizer(SimInfo* info) : Minimizer(info) {
47      direction.resize(ndim);
48      stepSize = paramSet->getStepSize();
49 < }
49 >  }
50  
51 < void SDMinimizer::init() {
51 >  void SDMinimizer::init() {
52      calcG();
53  
54      for(int i = 0; i < direction.size(); i++) {
55 <        direction[i] = -curG[i];
55 >      direction[i] = -curG[i];
56      }
57 < }
57 >  }
58  
59 < int SDMinimizer::step() {
60 <  int lsStatus;
59 >  int SDMinimizer::step() {
60 >    int lsStatus;
61  
62      prevF = curF;
63  
# Line 65 | Line 65 | int SDMinimizer::step() {
65      lsStatus = doLineSearch(direction, stepSize);
66  
67      if (lsStatus < 0)
68 <        return -1;
68 >      return -1;
69      else
70 <        return 1;
71 < }
70 >      return 1;
71 >  }
72  
73 < void SDMinimizer::prepareStep() {
73 >  void SDMinimizer::prepareStep() {
74      for(int i = 0; i < direction.size(); i++) {
75 <        direction[i] = -curG[i];
75 >      direction[i] = -curG[i];
76      }
77 < }
77 >  }
78  
79 < int SDMinimizer::checkConvg() {
80 <  double fTol;
81 <  double relativeFTol; // relative tolerance
82 <  double deltaF;
83 <  double gTol;
84 <  double relativeGTol;
85 <  double gnorm;
79 >  int SDMinimizer::checkConvg() {
80 >    double fTol;
81 >    double relativeFTol; // relative tolerance
82 >    double deltaF;
83 >    double gTol;
84 >    double relativeGTol;
85 >    double gnorm;
86  
87      // test function tolerance test
88      fTol = paramSet->getFTol();
# Line 90 | Line 90 | int SDMinimizer::checkConvg() {
90      deltaF = prevF - curF;
91  
92      if (fabs(deltaF) <= relativeFTol) {
93 <        if (bVerbose) {
94 <            std::cout << "function value tolerance test passed" << std::endl;
95 <            std::cout << "ftol = " << fTol << "\tdeltaf = " << deltaF << std::endl;
96 <        }
93 >      if (bVerbose) {
94 >        std::cout << "function value tolerance test passed" << std::endl;
95 >        std::cout << "ftol = " << fTol << "\tdeltaf = " << deltaF << std::endl;
96 >      }
97  
98 <        return CONVG_FTOL;
98 >      return CONVG_FTOL;
99      }
100  
101      //gradient tolerance test
# Line 108 | Line 108 | int SDMinimizer::checkConvg() {
108  
109   #else
110  
111 <  double localDP;
112 <  double globalDP;
111 >    double localDP;
112 >    double globalDP;
113  
114      localDP = dotProduct(curG, curG);
115      MPI_Allreduce(&localDP, &globalDP, 1, MPI_DOUBLE, MPI_SUM, MPI_COMM_WORLD);
# Line 118 | Line 118 | int SDMinimizer::checkConvg() {
118   #endif
119  
120      if (gnorm <= relativeGTol) {
121 <        std::cout << "gradient tolerance test" << std::endl;
122 <        std::cout << "gnorm = " << gnorm << "\trelativeGTol = " << relativeGTol
123 <            << std::endl;
124 <        return CONVG_GTOL;
121 >      std::cout << "gradient tolerance test" << std::endl;
122 >      std::cout << "gnorm = " << gnorm << "\trelativeGTol = " << relativeGTol
123 >                << std::endl;
124 >      return CONVG_GTOL;
125      }
126  
127      //absolute gradient tolerance test
128  
129      if (gnorm <= gTol) {
130 <        std::cout << "absolute gradient tolerance test" << std::endl;
131 <        std::cout << "gnorm = " << gnorm << "\tgTol = " << gTol << std::endl;
132 <        return CONVG_ABSGTOL;
130 >      std::cout << "absolute gradient tolerance test" << std::endl;
131 >      std::cout << "gnorm = " << gnorm << "\tgTol = " << gTol << std::endl;
132 >      return CONVG_ABSGTOL;
133      }
134  
135      return CONVG_UNCONVG;
136 < }
136 >  }
137  
138   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines