# | Line 239 | Line 239 | void SimSetup::createSim( void ){ | |
---|---|---|
239 | ||
240 | ||
241 | globalIndex = mpiSim->divideLabor(); | |
242 | – | |
243 | – | |
242 | ||
243 | // set up the local variables | |
244 | ||
# | 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 | < | |
661 | > | #ifdef IS_MPI |
662 | > | mpiSim->mpiRefresh(); |
663 | > | #endif |
664 | ||
665 | // initialize the Fortran | |
666 | < | |
666 | > | |
667 | > | |
668 | simnfo->refreshSim(); | |
669 | ||
670 | if( !strcmp( simnfo->mixingRule, "standard") ){ | |
# | Line 695 | Line 701 | void SimSetup::makeMolecules( void ){ | |
701 | BondStamp* currentBond; | |
702 | BendStamp* currentBend; | |
703 | TorsionStamp* currentTorsion; | |
704 | + | |
705 | + | bond_pair* theBonds; |
706 | + | bend_set* theBends; |
707 | + | torsion_set* theTorsions; |
708 | + | |
709 | ||
710 | //init the forceField paramters | |
711 | ||
712 | the_ff->readParams(); | |
713 | ||
714 | ||
715 | < | // init the molecules |
715 | > | // init the atoms |
716 | ||
717 | + | double ux, uy, uz, u, uSqr; |
718 | + | |
719 | atomOffset = 0; | |
720 | excludeOffset = 0; | |
721 | for(i=0; i<simnfo->n_mol; i++){ | |
# | Line 719 | Line 732 | void SimSetup::makeMolecules( void ){ | |
732 | info.myExcludes = &the_excludes[excludeOffset]; | |
733 | info.myBonds = new Bond*[info.nBonds]; | |
734 | info.myBends = new Bend*[info.nBends]; | |
735 | < | info.myTorsions = new Torsions*[info.nTorsions]; |
735 | > | info.myTorsions = new Torsion*[info.nTorsions]; |
736 | ||
737 | theBonds = new bond_pair[info.nBonds]; | |
738 | theBends = new bend_set[info.nBends]; | |
# | Line 729 | Line 742 | void SimSetup::makeMolecules( void ){ | |
742 | ||
743 | for(j=0; j<info.nAtoms; j++){ | |
744 | ||
745 | < | currentAtom = theComponents[stampID]->getAtom( j ); |
745 | > | currentAtom = comp_stamps[stampID]->getAtom( j ); |
746 | if( currentAtom->haveOrientation() ){ | |
747 | ||
748 | dAtom = new DirectionalAtom(j + atomOffset); | |
# | Line 802 | Line 815 | void SimSetup::makeMolecules( void ){ | |
815 | ||
816 | if( currentBend->haveExtras() ){ | |
817 | ||
818 | < | extras = current_bend->getExtras(); |
818 | > | extras = currentBend->getExtras(); |
819 | current_extra = extras; | |
820 | ||
821 | while( current_extra != NULL ){ | |
# | Line 824 | Line 837 | void SimSetup::makeMolecules( void ){ | |
837 | ||
838 | default: | |
839 | sprintf( painCave.errMsg, | |
840 | < | "SimSetup Error: ghostVectorSource was neiter a " |
840 | > | "SimSetup Error: ghostVectorSource was neither a " |
841 | "double nor an int.\n" | |
842 | "-->Bend[%d] in %s\n", | |
843 | j, comp_stamps[stampID]->getID() ); | |
# | Line 919 | Line 932 | void SimSetup::makeMolecules( void ){ | |
932 | ||
933 | the_molecules[i].initialize( info ); | |
934 | atomOffset += info.nAtoms; | |
935 | + | delete[] theBonds; |
936 | + | delete[] theBends; |
937 | + | delete[] theTorsions; |
938 | } | |
939 | ||
940 | + | #ifdef IS_MPI |
941 | + | sprintf( checkPointMsg, "all molecules initialized succesfully" ); |
942 | + | MPIcheckPoint(); |
943 | + | #endif // is_mpi |
944 | + | |
945 | // clean up the forcefield | |
946 | the_ff->calcRcut(); | |
947 | the_ff->cleanMe(); | |
948 | + | |
949 | } | |
950 | ||
951 | void SimSetup::initFromBass( void ){ |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |