# | Line 240 | Line 240 | void SimSetup::createSim( void ){ | |
---|---|---|
240 | ||
241 | globalIndex = mpiSim->divideLabor(); | |
242 | ||
243 | – | |
244 | – | |
243 | // set up the local variables | |
244 | ||
245 | int localMol, allMol; | |
# | Line 335 | Line 333 | void SimSetup::createSim( void ){ | |
333 | ||
334 | ||
335 | if( simnfo->n_SRI ){ | |
336 | + | |
337 | + | std::cerr << "n_SRI = " << simnfo->n_SRI << "\n"; |
338 | + | |
339 | Exclude::createArray(simnfo->n_SRI); | |
340 | the_excludes = new Exclude*[simnfo->n_SRI]; | |
341 | + | for( int ex=0; ex<simnfo->n_SRI; ex++) the_excludes[ex] = new Exclude(ex); |
342 | simnfo->globalExcludes = new int; | |
343 | simnfo->n_exclude = tot_SRI; | |
344 | } | |
# | Line 354 | Line 356 | void SimSetup::createSim( void ){ | |
356 | // set the arrays into the SimInfo object | |
357 | ||
358 | simnfo->atoms = the_atoms; | |
359 | + | simnfo->molecules = the_molecules; |
360 | simnfo->nGlobalExcludes = 0; | |
361 | simnfo->excludes = the_excludes; | |
362 | ||
# | Line 655 | Line 658 | void SimSetup::createSim( void ){ | |
658 | if( !strcmp( force_field, "TraPPE_Ex" ) ) new Symplectic( simnfo, the_ff ); | |
659 | if( !strcmp( force_field, "LJ" ) ) new Verlet( *simnfo, the_ff ); | |
660 | ||
661 | + | #ifdef IS_MPI |
662 | + | mpiSim->mpiRefresh(); |
663 | + | #endif |
664 | ||
659 | – | |
665 | // initialize the Fortran | |
666 | < | |
666 | > | |
667 | > | |
668 | simnfo->refreshSim(); | |
669 | ||
670 | if( !strcmp( simnfo->mixingRule, "standard") ){ | |
# | Line 777 | Line 783 | void SimSetup::makeMolecules( void ){ | |
783 | theBonds[j].a = currentBond->getA() + atomOffset; | |
784 | theBonds[j].b = currentBond->getB() + atomOffset; | |
785 | ||
786 | < | exI = theBonds[i].a; |
787 | < | exJ = theBonds[i].b; |
786 | > | exI = theBonds[j].a; |
787 | > | exJ = theBonds[j].b; |
788 | ||
789 | // exclude_I must always be the smaller of the pair | |
790 | if( exI > exJ ){ | |
# | Line 794 | Line 800 | void SimSetup::makeMolecules( void ){ | |
800 | ||
801 | the_excludes[j+excludeOffset]->setPair( exI, exJ ); | |
802 | #else // isn't MPI | |
803 | + | |
804 | the_excludes[j+excludeOffset]->setPair( (exI+1), (exJ+1) ); | |
805 | #endif //is_mpi | |
806 | } | |
# | Line 831 | Line 838 | void SimSetup::makeMolecules( void ){ | |
838 | ||
839 | default: | |
840 | sprintf( painCave.errMsg, | |
841 | < | "SimSetup Error: ghostVectorSource was neiter a " |
841 | > | "SimSetup Error: ghostVectorSource was neither a " |
842 | "double nor an int.\n" | |
843 | "-->Bend[%d] in %s\n", | |
844 | j, comp_stamps[stampID]->getID() ); | |
# | Line 931 | Line 938 | void SimSetup::makeMolecules( void ){ | |
938 | delete[] theTorsions; | |
939 | } | |
940 | ||
941 | + | #ifdef IS_MPI |
942 | + | sprintf( checkPointMsg, "all molecules initialized succesfully" ); |
943 | + | MPIcheckPoint(); |
944 | + | #endif // is_mpi |
945 | + | |
946 | // clean up the forcefield | |
947 | the_ff->calcRcut(); | |
948 | the_ff->cleanMe(); | |
949 | + | |
950 | } | |
951 | ||
952 | void SimSetup::initFromBass( void ){ |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |