ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/SimSetup.cpp
(Generate patch)

Comparing trunk/OOPSE/libmdtools/SimSetup.cpp (file contents):
Revision 999 by chrisfen, Fri Jan 30 15:01:09 2004 UTC vs.
Revision 1031 by tim, Fri Feb 6 18:58:06 2004 UTC

# Line 9 | Line 9
9   #include "parse_me.h"
10   #include "Integrator.hpp"
11   #include "simError.h"
12 + #include "ConjugateMinimizer.hpp"
13  
14   #ifdef IS_MPI
15   #include "mpiBASS.h"
# Line 145 | Line 146 | void SimSetup::createSim(void){
146  
147    makeOutNames();
148  
149 <  // make the integrator
150 <
151 <  makeIntegrator();
152 <
149 >  if (globals->haveMinimizer())
150 >    // make minimizer
151 >    makeMinimizer();
152 >  else
153 >    // make the integrator
154 >    makeIntegrator();
155 >  
156   #ifdef IS_MPI
157    mpiSim->mpiRefresh();
158   #endif
# Line 841 | Line 845 | void SimSetup::gatherInfo(void){
845    for (int i = 0; i < nInfo; i++){
846      info[i].setSeed(seedValue);
847    }
848 <
848 >  
849   #ifdef IS_MPI
850    strcpy(checkPointMsg, "Successfully gathered all information from Bass\n");
851    MPIcheckPoint();
# Line 1705 | Line 1709 | void SimSetup::setupZConstraint(SimInfo& theInfo){
1709    
1710    //push data into siminfo, therefore, we can retrieve later
1711    theInfo.addProperty(zconsParaData);
1712 + }
1713 +
1714 + void SimSetup::makeMinimizer(){
1715 + /*  
1716 +  OOPSEMinimizerBase* myOOPSEMinimizerBase;
1717 +  ObjFunctor1 * objFunc;
1718 +  OutputFunctor* outputFunc;
1719 +  ConcreteNLModel1* nlp;
1720 +  MinimizerParameterSet* param;
1721 +  ConjugateMinimizerBase* minimizer;
1722 +  int dim;
1723 +  
1724 +  for (int i = 0; i < nInfo; i++){
1725 +    //creat
1726 +    myOOPSEMinimizerBase = new OOPSEMinimizerBase(&(info[i]), the_ff);
1727 +
1728 +    //creat the object functor;
1729 +    objFunc = (ObjFunctor1*) new ClassMemObjFunctor1<OOPSEMinimizerBase>
1730 +                                              (myOOPSEMinimizerBase, &OOPSEMinimizerBase::calcGradient);
1731 +
1732 +    //creat output functor;
1733 +    outputFunc =  new ClassMemOutputFunctor<OOPSEMinimizerBase>
1734 +                               (myOOPSEMinimizerBase, &OOPSEMinimizerBase::output);
1735 +
1736 +    //creat nonlinear model
1737 +    dim = myOOPSEMinimizerBase->getDim();    
1738 +    nlp = new ConcreteNLModel1(dim, objFunc);
1739 +
1740 +    //prepare parameter set for minimizer
1741 +    param = new MinimizerParameterSet();
1742 +    param->setDefaultParameter();
1743 +
1744 +    if (globals->haveMinimizer()){
1745 +      param->setFTol(globals->getMinFTol());
1746 +    }
1747 +
1748 +    if (globals->haveMinGTol()){
1749 +      param->setGTol(globals->getMinGTol());
1750 +    }
1751 +
1752 +    if (globals->haveMinMaxIter()){
1753 +      param->setMaxIteration(globals->getMinMaxIter());
1754 +    }
1755 +
1756 +    if (globals->haveMinWriteFrq()){
1757 +      param->setMaxIteration(globals->getMinMaxIter());
1758 +    }
1759 +
1760 +    if (globals->haveMinWriteFrq()){
1761 +      param->setWriteFrq(globals->getMinWriteFrq());
1762 +    }
1763 +    
1764 +    if (globals->haveMinResetFrq()){
1765 +      param->setResetFrq(globals->getMinResetFrq());
1766 +    }
1767 +
1768 +    if (globals->haveMinLSMaxIter()){
1769 +      param->setLineSearchMaxIteration(globals->getMinLSMaxIter());
1770 +    }    
1771 +
1772 +    if (globals->haveMinLSTol()){
1773 +      param->setLineSearchTol(globals->getMinLSTol());
1774 +    }    
1775 +    
1776 +     //creat the minimizer
1777 +     minimizer = new PRCGMinimizer(nlp, param);
1778 +     minimizer->setLineSearchStrategy(nlp, GoldenSection);
1779 +     minimizer->setOutputFunctor(outputFunc);
1780 +
1781 +     //store the minimizer into simInfo
1782 +     info[i].the_minimizer = minimizer;
1783 +     info[i].has_minimizer = true;
1784 +  }
1785 + */
1786   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines