| 66 |
|
|
| 67 |
|
MakeStamps *the_stamps; |
| 68 |
|
Globals* the_globals; |
| 69 |
+ |
ExtendedSystem* the_extendedsystem; |
| 70 |
|
int i, j; |
| 71 |
|
|
| 72 |
|
// get the stamps and globals; |
| 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", |
| 332 |
|
|
| 333 |
|
if(mol2proc[i] == worldRank ){ |
| 334 |
|
the_molecules[molIndex].setStampID( molCompType[i] ); |
| 335 |
+ |
the_molecules[molIndex].setMyIndex( molIndex ); |
| 336 |
|
molIndex++; |
| 337 |
|
} |
| 338 |
|
} |
| 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 |
|
} |
| 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 |
|
|
| 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(); |
| 954 |
|
|
| 955 |
|
|
| 956 |
|
the_molecules[i].initialize( info ); |
| 957 |
+ |
|
| 958 |
+ |
|
| 959 |
|
atomOffset += info.nAtoms; |
| 960 |
|
delete[] theBonds; |
| 961 |
|
delete[] theBends; |