# | Line 66 | Line 66 | void SimSetup::createSim( void ){ | |
---|---|---|
66 | ||
67 | MakeStamps *the_stamps; | |
68 | Globals* the_globals; | |
69 | + | ExtendedSystem* the_extendedsystem; |
70 | int i, j; | |
71 | ||
72 | // get the stamps and globals; | |
# | Line 80 | Line 81 | void SimSetup::createSim( void ){ | |
81 | // get the ones we know are there, yet still may need some work. | |
82 | n_components = the_globals->getNComponents(); | |
83 | strcpy( force_field, the_globals->getForceField() ); | |
84 | + | |
85 | + | // get the ensemble and set up an extended system if we need it: |
86 | strcpy( ensemble, the_globals->getEnsemble() ); | |
87 | + | if( !strcasecmp( ensemble, "NPT" ) ) { |
88 | + | the_extendedsystem = new ExtendedSystem( simnfo ); |
89 | + | the_extendedsystem->setTargetTemp(the_globals->getTargetTemp()); |
90 | + | the_extendedsystem->setTargetPressure(the_globals->getTargetPressure()); |
91 | + | } else if ( !strcasecmp( ensemble, "NVT") ) { |
92 | + | the_extendedsystem = new ExtendedSystem( simnfo ); |
93 | + | the_extendedsystem->setTargetTemp(the_globals->getTargetTemp()); |
94 | + | } else if ( !strcasecmp( ensemble, "NVE") ) { |
95 | + | } else { |
96 | + | sprintf( painCave.errMsg, |
97 | + | "SimSetup Warning. Unrecognized Ensemble -> %s, " |
98 | + | "reverting to NVE for this simulation.\n", |
99 | + | ensemble ); |
100 | + | painCave.isFatal = 0; |
101 | + | simError(); |
102 | + | strcpy( ensemble, "NVE" ); |
103 | + | } |
104 | strcpy( simnfo->ensemble, ensemble ); | |
105 | ||
106 | strcpy( simnfo->mixingRule, the_globals->getMixingRule() ); | |
107 | simnfo->usePBC = the_globals->getPBC(); | |
108 | ||
109 | < | |
110 | < | |
91 | < | if( !strcmp( force_field, "TraPPE_Ex" ) ) the_ff = new TraPPE_ExFF(); |
92 | < | else if( !strcmp( force_field, "LJ" ) ) the_ff = new LJ_FF(); |
109 | > | if( !strcmp( force_field, "TraPPE_Ex" ) ) the_ff = new TraPPE_ExFF(); |
110 | > | else if( !strcasecmp( force_field, "LJ" ) ) the_ff = new LJ_FF(); |
111 | else{ | |
112 | sprintf( painCave.errMsg, | |
113 | "SimSetup Error. Unrecognized force field -> %s\n", | |
# | Line 314 | Line 332 | void SimSetup::createSim( void ){ | |
332 | ||
333 | if(mol2proc[i] == worldRank ){ | |
334 | the_molecules[molIndex].setStampID( molCompType[i] ); | |
335 | + | the_molecules[molIndex].setMyIndex( molIndex ); |
336 | molIndex++; | |
337 | } | |
338 | } | |
# | Line 324 | Line 343 | void SimSetup::createSim( void ){ | |
343 | for(i=0; i<n_components; i++){ | |
344 | for(j=0; j<components_nmol[i]; j++ ){ | |
345 | the_molecules[molIndex].setStampID( i ); | |
346 | + | the_molecules[molIndex].setMyIndex( molIndex ); |
347 | molIndex++; | |
348 | } | |
349 | } | |
# | Line 334 | Line 354 | void SimSetup::createSim( void ){ | |
354 | ||
355 | if( simnfo->n_SRI ){ | |
356 | ||
337 | – | std::cerr << "n_SRI = " << simnfo->n_SRI << "\n"; |
338 | – | |
357 | Exclude::createArray(simnfo->n_SRI); | |
358 | the_excludes = new Exclude*[simnfo->n_SRI]; | |
359 | for( int ex=0; ex<simnfo->n_SRI; ex++) the_excludes[ex] = new Exclude(ex); | |
360 | simnfo->globalExcludes = new int; | |
361 | < | simnfo->n_exclude = tot_SRI; |
361 | > | simnfo->n_exclude = simnfo->n_SRI; |
362 | } | |
363 | else{ | |
364 | ||
# | Line 655 | Line 673 | void SimSetup::createSim( void ){ | |
673 | ||
674 | // new AllLong( simnfo ); | |
675 | ||
676 | < | if( !strcmp( force_field, "TraPPE_Ex" ) ) new Symplectic( simnfo, the_ff ); |
677 | < | if( !strcmp( force_field, "LJ" ) ) new Verlet( *simnfo, the_ff ); |
676 | > | if( !strcmp( force_field, "TraPPE_Ex" ) ) new Symplectic(simnfo, |
677 | > | the_ff, |
678 | > | the_extendedsystem); |
679 | > | if( !strcmp( force_field, "LJ" ) ) new Verlet( *simnfo, |
680 | > | the_ff, |
681 | > | the_extendedsystem ); |
682 | ||
683 | #ifdef IS_MPI | |
684 | mpiSim->mpiRefresh(); | |
# | Line 932 | Line 954 | void SimSetup::makeMolecules( void ){ | |
954 | ||
955 | ||
956 | the_molecules[i].initialize( info ); | |
957 | + | |
958 | + | |
959 | atomOffset += info.nAtoms; | |
960 | delete[] theBonds; | |
961 | delete[] theBends; |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |