ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/src/brains/Register.cpp
(Generate patch)

Comparing branches/development/src/brains/Register.cpp (file contents):
Revision 1629 by gezelter, Wed Sep 14 21:15:17 2011 UTC vs.
Revision 1744 by gezelter, Tue Jun 5 18:07:08 2012 UTC

# Line 36 | Line 36
36   * [1]  Meineke, et al., J. Comp. Chem. 26, 252-271 (2005).            
37   * [2]  Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006).          
38   * [3]  Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008).          
39 < * [4]  Vardeman & Gezelter, in progress (2009).                        
39 > * [4]  Kuang & Gezelter,  J. Chem. Phys. 133, 164101 (2010).
40 > * [5]  Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011).
41   */
42  
43   #include "brains/Register.hpp"
# Line 58 | Line 59
59   #include "integrators/LangevinHullDynamics.hpp"
60   #endif
61  
62 < #include "minimizers/MinimizerFactory.hpp"
63 < #include "minimizers/MinimizerCreator.hpp"
64 < #include "minimizers/PRCG.hpp"
65 < #include "minimizers/SDMinimizer.hpp"
66 < #include "UseTheForce/DUFF.hpp"
67 < #include "UseTheForce/EAM_FF.hpp"
68 < #include "UseTheForce/EADM_FF.hpp"
68 < #include "UseTheForce/ForceFieldFactory.hpp"
69 < #include "UseTheForce/ForceFieldCreator.hpp"
70 < #include "UseTheForce/SHAPES_FF.hpp"
71 < #include "UseTheForce/SC_FF.hpp"
72 < #include "UseTheForce/MnM_FF.hpp"
73 < #include "UseTheForce/CLAYFF.hpp"
74 < #include "UseTheForce/Amber_FF.hpp"
62 > #include "optimization/OptimizationFactory.hpp"
63 > #include "optimization/OptimizationCreator.hpp"
64 > #include "optimization/Method.hpp"
65 > #include "optimization/SteepestDescent.hpp"
66 > #include "optimization/ConjugateGradient.hpp"
67 > #include "optimization/BFGS.hpp"
68 >
69   #include "lattice/LatticeFactory.hpp"
70   #include "lattice/LatticeCreator.hpp"
71   #include "lattice/FCCLattice.hpp"
72  
73 + using namespace QuantLib;
74   namespace OpenMD {
75  
81
82  void registerForceFields() {
83    /** @todo move to a seperate initialization module */
84    //DUFF, WATER and LJ are merged into one force field
85    ForceFieldFactory::getInstance()->registerForceField(new ForceFieldBuilder<DUFF>("DUFF"));
86    ForceFieldFactory::getInstance()->registerForceField(new ForceFieldBuilder<DUFF>("WATER"));
87    ForceFieldFactory::getInstance()->registerForceField(new ForceFieldBuilder<DUFF>("LJ"));
88    //in theory, EAM can also be merged
89    ForceFieldFactory::getInstance()->registerForceField(new ForceFieldBuilder<EAM_FF>("EAM"));
90    ForceFieldFactory::getInstance()->registerForceField(new ForceFieldBuilder<EADM_FF>("EADM"));
91    //heck, that worked...  let's try merging SHAPES
92    ForceFieldFactory::getInstance()->registerForceField(new ForceFieldBuilder<SHAPES_FF>("SHAPES"));
93    //Well if EAM worked... then Sutton-Chen should work like a CHARMM(Hopefully not).
94    ForceFieldFactory::getInstance()->registerForceField(new ForceFieldBuilder<SC_FF>("SC"));
95    //Well if Sutton-Chen worked... then lets just mangle all of the forcefields together in MnM.
96    //That sounds like a good idea right......
97    ForceFieldFactory::getInstance()->registerForceField(new ForceFieldBuilder<MnM_FF>("MnM"));
98    ForceFieldFactory::getInstance()->registerForceField(new ForceFieldBuilder<CLAYFF>("CLAY"));
99    ForceFieldFactory::getInstance()->registerForceField(new ForceFieldBuilder<Amber_FF>("Amber"));
100  }
101  
76    void registerIntegrators() {
77      IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NVE>("NVE"));
78      IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NVT>("NVT"));
# Line 119 | Line 93 | namespace OpenMD {
93   #endif
94    }
95  
96 <  void registerMinimizers() {
97 <    MinimizerFactory::getInstance()->registerMinimizer(new MinimizerBuilder<SDMinimizer>("SD"));
98 <    MinimizerFactory::getInstance()->registerMinimizer(new MinimizerBuilder<PRCGMinimizer>("CG"));
96 >  void registerOptimizers() {
97 >    OptimizationFactory::getInstance()->registerOptimization(new OptimizationBuilder<QuantLib::SteepestDescent>("SD"));
98 >    OptimizationFactory::getInstance()->registerOptimization(new OptimizationBuilder<QuantLib::ConjugateGradient>("CG"));
99 >    OptimizationFactory::getInstance()->registerOptimization(new OptimizationBuilder<QuantLib::BFGS>("BFGS"));
100    }
101  
102    void registerLattice(){
# Line 129 | Line 104 | namespace OpenMD {
104    }
105  
106    void registerAll() {
132    registerForceFields();
107      registerIntegrators();
108 <    registerMinimizers();
108 >    registerOptimizers();
109    }
110  
111   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines