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 (20 years, 6 months ago) by tim
File size: 2053 byte(s)
Log Message:
create a register module to register force fields, integrators and minimizers

File Contents

# User Rev Content
1 tim 1913 #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 *