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 1526 by kstocke1, Wed Nov 24 17:40:12 2010 UTC vs.
Revision 2011 by gezelter, Wed Aug 6 19:27:37 2014 UTC

# Line 35 | Line 35
35   *                                                                      
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).                        
38 > * [3]  Sun, Lin & Gezelter, J. Chem. Phys. 128, 234107 (2008).          
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 52 | Line 53
53   #include "integrators/NPTsz.hpp"
54   #include "integrators/NPAT.hpp"
55   #include "integrators/NPrT.hpp"
56 + #include "integrators/NPA.hpp"
57   #include "integrators/NgammaT.hpp"
58   #include "integrators/LangevinDynamics.hpp"
59   #if defined(HAVE_QHULL)
60   #include "integrators/LangevinHullDynamics.hpp"
61   #endif
62  
63 < #include "minimizers/MinimizerFactory.hpp"
64 < #include "minimizers/MinimizerCreator.hpp"
65 < #include "minimizers/PRCG.hpp"
66 < #include "minimizers/SDMinimizer.hpp"
67 < #include "UseTheForce/DUFF.hpp"
68 < #include "UseTheForce/EAM_FF.hpp"
69 < #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"
63 > #include "optimization/OptimizationFactory.hpp"
64 > #include "optimization/OptimizationCreator.hpp"
65 > #include "optimization/Method.hpp"
66 > #include "optimization/SteepestDescent.hpp"
67 > #include "optimization/ConjugateGradient.hpp"
68 > #include "optimization/BFGS.hpp"
69 >
70   #include "lattice/LatticeFactory.hpp"
71   #include "lattice/LatticeCreator.hpp"
72   #include "lattice/FCCLattice.hpp"
73  
74 + using namespace QuantLib;
75   namespace OpenMD {
76  
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  
77    void registerIntegrators() {
78      IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NVE>("NVE"));
79      IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NVT>("NVT"));
80      IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NPTi>("NPTI"));
81      IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NPTf>("NPTF"));
82      IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NPTxyz>("NPTXYZ"));
106    IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NPTsz>("NPTSZ"));
83      IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NPAT>("NPAT"));
84 +    IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NPA>("NPA"));
85      IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NPrT>("NPRT"));
86      IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NPrT>("NPGT"));
87      IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NgammaT>("NGT"));
# Line 114 | Line 91 | namespace OpenMD {
91   #if defined(HAVE_QHULL)
92      IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<LangevinHullDynamics>("LHULL"));
93      IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<LangevinHullDynamics>("LANGEVINHULL"));
94 +    IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<LangevinHullDynamics>("SMIPD"));
95   #endif
96    }
97  
98 <  void registerMinimizers() {
99 <    MinimizerFactory::getInstance()->registerMinimizer(new MinimizerBuilder<SDMinimizer>("SD"));
100 <    MinimizerFactory::getInstance()->registerMinimizer(new MinimizerBuilder<PRCGMinimizer>("CG"));
98 >  void registerOptimizers() {
99 >    OptimizationFactory::getInstance()->registerOptimization(new OptimizationBuilder<QuantLib::SteepestDescent>("SD"));
100 >    OptimizationFactory::getInstance()->registerOptimization(new OptimizationBuilder<QuantLib::ConjugateGradient>("CG"));
101 >    OptimizationFactory::getInstance()->registerOptimization(new OptimizationBuilder<QuantLib::BFGS>("BFGS"));
102    }
103  
104    void registerLattice(){
# Line 127 | Line 106 | namespace OpenMD {
106    }
107  
108    void registerAll() {
130    registerForceFields();
109      registerIntegrators();
110 <    registerMinimizers();
110 >    registerOptimizers();
111    }
112  
113   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines