ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/branches/new_design/OOPSE-3.0/src/applications/oopse/oopse.cpp
(Generate patch)

Comparing branches/new_design/OOPSE-3.0/src/applications/oopse/oopse.cpp (file contents):
Revision 1902 by tim, Wed Dec 15 21:07:48 2004 UTC vs.
Revision 1903 by tim, Thu Jan 6 00:16:07 2005 UTC

# Line 38 | Line 38
38   #include "integrators/NPTi.hpp"
39   #include "integrators/NPTf.hpp"
40   #include "integrators/NPTxyz.hpp"
41 + #include "minimizers/MinimizerFactory.hpp"
42 + #include "minimizers/MinimizerCreator.hpp"
43 + #include "minimizers/PRCG.hpp"
44 + #include "minimizers/SDMinimizer.hpp"
45 +
46   #include "UseTheForce/DUFF.hpp"
47   #include "UseTheForce/EAM.hpp"
48   #include "UseTheForce/ForceFieldCreator.hpp"
# Line 105 | Line 110 | int main(int argc,char* argv[]){
110      IntegratorBuilder<NPTf> NPTfCreator("NPTf");
111      IntegratorBuilder<NPTxyz> NPTxyzCreator("NPTxyz");
112  
113 +    MinimizerBuilder<SDMinimizer> SDCreator("SD");
114 +    MinimizerBuilder<PRCGMinimizer> CGCreator("CG");
115 +    
116      //create simulation model
117      SimCreator creator;
118      SimInfo* info = creator.createSim(argv[1]);
111
112    //create Integrator
119      Globals* simParams = info->getSimParams();
120 <    if (simParams->haveEnsemble()) {
120 >
121 >    if (simParams->haveMinimizer() && simParams->haveEnsemble()) {
122 >        sprintf(painCave.errMsg, "Minimizer keyword and Ensemble keyword can not exist together\n");
123 >        painCave.isFatal = 1;
124 >        simError();        
125 >    }
126 >    
127 >    if (simParams->haveMinimizer()) {
128 >        //create minimizer
129 >        Minimizer* myMinimizer = MinimizerFactory::getInstance()->createMinimizer(simParams->getMinimizer(), info);
130 >
131 >        if (myMinimizer == NULL) {
132 >            sprintf(painCave.errMsg, "Minimizer Factory can not create %s Minimizer\n",
133 >                    simParams->getMinimizer());
134 >            painCave.isFatal = 1;
135 >            simError();
136 >        }
137 >
138 >        myMinimizer->minimize();
139 >        delete myMinimizer;
140 >    } else if (simParams->haveEnsemble()) {
141 >        //create Integrator
142 >
143          Integrator* myIntegrator = IntegratorFactory::getInstance()->createIntegrator(simParams->getEnsemble(), info);
144          
145          //Thermodynamic Integration Method
# Line 132 | Line 160 | int main(int argc,char* argv[]){
160          
161          myIntegrator->integrate();
162          delete myIntegrator;
163 +    }else {
164 +            sprintf(painCave.errMsg, "Integrator Factory can not create %s Integrator\n",
165 +            simParams->getEnsemble());
166 +            painCave.isFatal = 1;
167 +            simError();
168      }
169 <    //minimizer
170 <    // Minimizer* minimizer = MinimizerFactory::getInstance()->createMininizer();
138 <    //minimizer->run();
139 <    //delete minimizer
169 >
170 >
171      
172      delete info;
173  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines