# | 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/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" |
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 | ||
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 | – | |
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")); | |
108 | – | 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 120 | Line 95 | namespace OpenMD { | |
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 130 | Line 106 | namespace OpenMD { | |
106 | } | |
107 | ||
108 | void registerAll() { | |
133 | – | registerForceFields(); |
109 | registerIntegrators(); | |
110 | < | registerMinimizers(); |
110 | > | registerOptimizers(); |
111 | } | |
112 | ||
113 | } |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |