ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/branches/new_design/OOPSE-4/src/brains/Register.cpp
Revision: 1913
Committed: Mon Jan 10 22:04:20 2005 UTC (19 years, 5 months ago) by tim
File size: 2053 byte(s)
Log Message:
create a register module to register force fields, integrators and minimizers

File Contents

# Content
1 #include "brains/Register.hpp"
2
3 #include "integrators/IntegratorFactory.hpp"
4 #include "integrators/IntegratorCreator.hpp"
5 #include "integrators/Integrator.hpp"
6 #include "integrators/NVE.hpp"
7 #include "integrators/NVT.hpp"
8 #include "integrators/NPTi.hpp"
9 #include "integrators/NPTf.hpp"
10 #include "integrators/NPTxyz.hpp"
11 #include "minimizers/MinimizerFactory.hpp"
12 #include "minimizers/MinimizerCreator.hpp"
13 #include "minimizers/PRCG.hpp"
14 #include "minimizers/SDMinimizer.hpp"
15 #include "UseTheForce/DUFF.hpp"
16 #include "UseTheForce/EAM.hpp"
17 #include "UseTheForce/ForceFieldFactory.hpp"
18 #include "UseTheForce/ForceFieldCreator.hpp"
19
20 namespace oopse {
21
22
23 void registerForceFields() {
24 /** @todo move to a seperate initialization module */
25 //DUFF, WATER and LJ are merged into one force field
26 ForceFieldFactory::getInstance()->registerForceField(new ForceFieldBuilder<DUFF>("DUFF"));
27 ForceFieldFactory::getInstance()->registerForceField(new ForceFieldBuilder<DUFF>("WATER"));
28 ForceFieldFactory::getInstance()->registerForceField(new ForceFieldBuilder<DUFF>("LJ"));
29 //in theory, EAM can also be merged
30 ForceFieldFactory::getInstance()->registerForceField(new ForceFieldBuilder<EAM>("EAM"));
31 }
32
33 void registerIntegrators() {
34 IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NVE>("NVE"));
35 IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NVT>("NVT"));
36 IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NPTi>("NPTi"));
37 IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NPTf>("NPTf"));
38 IntegratorFactory::getInstance()->registerIntegrator(new IntegratorBuilder<NPTxyz>("NPTxyz"));
39 }
40
41 void registerMinimizers() {
42 MinimizerFactory::getInstance()->registerMinimizer(new MinimizerBuilder<SDMinimizer>("SD"));
43 MinimizerFactory::getInstance()->registerMinimizer(new MinimizerBuilder<PRCGMinimizer>("CG"));
44 }
45
46 void registerAll() {
47 registerForceFields();
48 registerIntegrators();
49 registerMinimizers();
50 }
51
52 }

Properties

Name Value
svn:executable *