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

Comparing trunk/src/brains/Register.cpp (file contents):
Revision 1519 by gezelter, Tue Oct 26 14:27:28 2010 UTC vs.
Revision 1782 by gezelter, Wed Aug 22 02:28:28 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 55 | Line 56
56   #include "integrators/NgammaT.hpp"
57   #include "integrators/LangevinDynamics.hpp"
58   #if defined(HAVE_QHULL)
59 < #include "integrators/SMIPDynamics.hpp"
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/ForceFieldFactory.hpp"
68 < #include "UseTheForce/ForceFieldCreator.hpp"
69 < #include "UseTheForce/SHAPES_FF.hpp"
70 < #include "UseTheForce/SC_FF.hpp"
71 < #include "UseTheForce/MnM_FF.hpp"
72 < #include "UseTheForce/CLAYFF.hpp"
73 < #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  
80
81  void registerForceFields() {
82    /** @todo move to a seperate initialization module */
83    //DUFF, WATER and LJ are merged into one force field
84    ForceFieldFactory::getInstance()->registerForceField(new ForceFieldBuilder<DUFF>("DUFF"));
85    ForceFieldFactory::getInstance()->registerForceField(new ForceFieldBuilder<DUFF>("WATER"));
86    ForceFieldFactory::getInstance()->registerForceField(new ForceFieldBuilder<DUFF>("LJ"));
87    //in theory, EAM can also be merged
88    ForceFieldFactory::getInstance()->registerForceField(new ForceFieldBuilder<EAM_FF>("EAM"));
89    //heck, that worked...  let's try merging SHAPES
90    ForceFieldFactory::getInstance()->registerForceField(new ForceFieldBuilder<SHAPES_FF>("SHAPES"));
91    //Well if EAM worked... then Sutton-Chen should work like a CHARMM(Hopefully not).
92    ForceFieldFactory::getInstance()->registerForceField(new ForceFieldBuilder<SC_FF>("SC"));
93    //Well if Sutton-Chen worked... then lets just mangle all of the forcefields together in MnM.
94    //That sounds like a good idea right......
95    ForceFieldFactory::getInstance()->registerForceField(new ForceFieldBuilder<MnM_FF>("MnM"));
96    ForceFieldFactory::getInstance()->registerForceField(new ForceFieldBuilder<CLAYFF>("CLAY"));
97    ForceFieldFactory::getInstance()->registerForceField(new ForceFieldBuilder<Amber_FF>("Amber"));
98  }
99  
76    void registerIntegrators() {
77      IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NVE>("NVE"));
78      IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NVT>("NVT"));
79      IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NPTi>("NPTI"));
80      IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NPTf>("NPTF"));
81      IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NPTxyz>("NPTXYZ"));
106    IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NPTsz>("NPTSZ"));
82      IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NPAT>("NPAT"));
83      IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NPrT>("NPRT"));
84      IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NPrT>("NPGT"));
# Line 112 | Line 87 | namespace OpenMD {
87      IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<LangevinDynamics>("LANGEVINDYNAMICS"));
88      IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<LangevinDynamics>("LD"));
89   #if defined(HAVE_QHULL)
90 <    IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<SMIPDynamics>("SMIPD"));
90 >    IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<LangevinHullDynamics>("LHULL"));
91 >    IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<LangevinHullDynamics>("LANGEVINHULL"));
92 >    IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<LangevinHullDynamics>("SMIPD"));
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 126 | Line 104 | namespace OpenMD {
104    }
105  
106    void registerAll() {
129    registerForceFields();
107      registerIntegrators();
108 <    registerMinimizers();
108 >    registerOptimizers();
109    }
110  
111   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines