# | Line 24 | Line 24 | |
---|---|---|
24 | ||
25 | #define FF_DUFF 0 | |
26 | #define FF_LJ 1 | |
27 | + | #define FF_EAM 2 |
28 | ||
28 | – | |
29 | SimSetup::SimSetup(){ | |
30 | + | |
31 | + | isInfoArray = 0; |
32 | + | nInfo = 1; |
33 | + | |
34 | stamps = new MakeStamps(); | |
35 | globals = new Globals(); | |
36 | ||
37 | + | |
38 | #ifdef IS_MPI | |
39 | strcpy( checkPointMsg, "SimSetup creation successful" ); | |
40 | MPIcheckPoint(); | |
# | Line 40 | Line 45 | SimSetup::~SimSetup(){ | |
45 | delete stamps; | |
46 | delete globals; | |
47 | } | |
48 | + | |
49 | + | void SimSetup::setSimInfo( SimInfo* the_info, int theNinfo ) { |
50 | + | info = the_info; |
51 | + | nInfo = theNinfo; |
52 | + | isInfoArray = 1; |
53 | + | } |
54 | + | |
55 | ||
56 | void SimSetup::parseFile( char* fileName ){ | |
57 | ||
# | Line 586 | Line 598 | void SimSetup::gatherInfo( void ){ | |
598 | ||
599 | if( !strcasecmp( force_field, "DUFF" )) ffCase = FF_DUFF; | |
600 | else if( !strcasecmp( force_field, "LJ" )) ffCase = FF_LJ; | |
601 | + | else if( !strcasecmp( force_field, "EAM" )) ffCase = FF_EAM; |
602 | else{ | |
603 | sprintf( painCave.errMsg, | |
604 | "SimSetup Error. Unrecognized force field -> %s\n", | |
# | Line 1032 | Line 1045 | void SimSetup::createFF( void ){ | |
1045 | the_ff = new LJFF(); | |
1046 | break; | |
1047 | ||
1048 | + | case FF_EAM: |
1049 | + | the_ff = new EAM_FF(); |
1050 | + | break; |
1051 | + | |
1052 | default: | |
1053 | sprintf( painCave.errMsg, | |
1054 | "SimSetup Error. Unrecognized force field in case statement.\n"); | |
# | Line 1281 | Line 1298 | void SimSetup::makeIntegrator( void ){ | |
1298 | ||
1299 | void SimSetup::makeIntegrator( void ){ | |
1300 | ||
1301 | < | NVT* myNVT = NULL; |
1302 | < | NPTi* myNPTi = NULL; |
1303 | < | NPTf* myNPTf = NULL; |
1304 | < | NPTim* myNPTim = NULL; |
1305 | < | NPTfm* myNPTfm = NULL; |
1301 | > | NVT<RealIntegrator>* myNVT = NULL; |
1302 | > | NPTi<RealIntegrator>* myNPTi = NULL; |
1303 | > | NPTf<RealIntegrator>* myNPTf = NULL; |
1304 | > | NPTim<RealIntegrator>* myNPTim = NULL; |
1305 | > | NPTfm<RealIntegrator>* myNPTfm = NULL; |
1306 | ||
1307 | switch( ensembleCase ){ | |
1308 | ||
1309 | case NVE_ENS: | |
1310 | < | new NVE( info, the_ff ); |
1310 | > | new NVE<RealIntegrator>( info, the_ff ); |
1311 | break; | |
1312 | ||
1313 | case NVT_ENS: | |
1314 | < | myNVT = new NVT( info, the_ff ); |
1314 | > | myNVT = new NVT<RealIntegrator>( info, the_ff ); |
1315 | myNVT->setTargetTemp(globals->getTargetTemp()); | |
1316 | ||
1317 | if (globals->haveTauThermostat()) | |
# | Line 1310 | Line 1327 | void SimSetup::makeIntegrator( void ){ | |
1327 | break; | |
1328 | ||
1329 | case NPTi_ENS: | |
1330 | < | myNPTi = new NPTi( info, the_ff ); |
1330 | > | myNPTi = new NPTi<RealIntegrator>( info, the_ff ); |
1331 | myNPTi->setTargetTemp( globals->getTargetTemp() ); | |
1332 | ||
1333 | if (globals->haveTargetPressure()) | |
# | Line 1345 | Line 1362 | void SimSetup::makeIntegrator( void ){ | |
1362 | break; | |
1363 | ||
1364 | case NPTf_ENS: | |
1365 | < | myNPTf = new NPTf( info, the_ff ); |
1365 | > | myNPTf = new NPTf<RealIntegrator>( info, the_ff ); |
1366 | myNPTf->setTargetTemp( globals->getTargetTemp()); | |
1367 | ||
1368 | if (globals->haveTargetPressure()) | |
# | Line 1380 | Line 1397 | void SimSetup::makeIntegrator( void ){ | |
1397 | break; | |
1398 | ||
1399 | case NPTim_ENS: | |
1400 | < | myNPTim = new NPTim( info, the_ff ); |
1400 | > | myNPTim = new NPTim<RealIntegrator>( info, the_ff ); |
1401 | myNPTim->setTargetTemp( globals->getTargetTemp()); | |
1402 | ||
1403 | if (globals->haveTargetPressure()) | |
# | Line 1415 | Line 1432 | void SimSetup::makeIntegrator( void ){ | |
1432 | break; | |
1433 | ||
1434 | case NPTfm_ENS: | |
1435 | < | myNPTfm = new NPTfm( info, the_ff ); |
1435 | > | myNPTfm = new NPTfm<RealIntegrator>( info, the_ff ); |
1436 | myNPTfm->setTargetTemp( globals->getTargetTemp()); | |
1437 | ||
1438 | if (globals->haveTargetPressure()) |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |