# | Line 147 | Line 147 | void SimSetup::createSim(void){ | |
---|---|---|
147 | // make the output filenames | |
148 | ||
149 | makeOutNames(); | |
150 | – | |
151 | – | if (globals->haveMinimizer()) |
152 | – | // make minimizer |
153 | – | makeMinimizer(); |
154 | – | else |
155 | – | // make the integrator |
156 | – | makeIntegrator(); |
150 | ||
151 | #ifdef IS_MPI | |
152 | mpiSim->mpiRefresh(); | |
# | Line 162 | Line 155 | void SimSetup::createSim(void){ | |
155 | // initialize the Fortran | |
156 | ||
157 | initFortran(); | |
158 | + | |
159 | + | if (globals->haveMinimizer()) |
160 | + | // make minimizer |
161 | + | makeMinimizer(); |
162 | + | else |
163 | + | // make the integrator |
164 | + | makeIntegrator(); |
165 | + | |
166 | } | |
167 | ||
168 | ||
# | Line 262 | Line 263 | void SimSetup::makeMolecules(void){ | |
263 | else{ | |
264 | ||
265 | molInfo.myAtoms[j] = new Atom((j + atomOffset), info[k].getConfiguration()); | |
266 | + | |
267 | } | |
268 | ||
269 | molInfo.myAtoms[j]->setType(currentAtom->getType()); | |
268 | – | |
270 | #ifdef IS_MPI | |
271 | ||
272 | molInfo.myAtoms[j]->setGlobalIndex(globalAtomIndex[j + atomOffset]); | |
# | Line 409 | Line 410 | void SimSetup::makeMolecules(void){ | |
410 | info[k].excludes->addPair(exK, exL); | |
411 | } | |
412 | ||
413 | + | |
414 | + | molInfo.myRigidBodies.clear(); |
415 | + | |
416 | for (j = 0; j < molInfo.nRigidBodies; j++){ | |
417 | ||
418 | currentRigidBody = comp_stamps[stampID]->getRigidBody(j); | |
# | Line 418 | Line 422 | void SimSetup::makeMolecules(void){ | |
422 | ||
423 | myRB = new RigidBody(); | |
424 | ||
425 | < | sprintf(rbName,"%s_RB_%s", molName, j); |
425 | > | sprintf(rbName,"%s_RB_%d", molName, j); |
426 | myRB->setType(rbName); | |
427 | ||
428 | for (rb1 = 0; rb1 < nMembers; rb1++) { | |
# | Line 479 | Line 483 | void SimSetup::makeMolecules(void){ | |
483 | ||
484 | // After this is all set up, scan through the atoms to | |
485 | // see if they can be added to the integrableObjects: | |
486 | + | |
487 | + | molInfo.myIntegrableObjects.clear(); |
488 | + | |
489 | ||
490 | for (j = 0; j < molInfo.nAtoms; j++){ | |
491 | ||
# | Line 957 | Line 964 | void SimSetup::finalInfoCheck(void){ | |
964 | void SimSetup::finalInfoCheck(void){ | |
965 | int index; | |
966 | int usesDipoles; | |
967 | + | int usesCharges; |
968 | int i; | |
969 | ||
970 | for (i = 0; i < nInfo; i++){ | |
# | Line 968 | Line 976 | void SimSetup::finalInfoCheck(void){ | |
976 | usesDipoles = (info[i].atoms[index])->hasDipole(); | |
977 | index++; | |
978 | } | |
979 | < | |
979 | > | index = 0; |
980 | > | usesCharges = 0; |
981 | > | while ((index < info[i].n_atoms) && !usesCharges){ |
982 | > | usesCharges= (info[i].atoms[index])->hasCharge(); |
983 | > | index++; |
984 | > | } |
985 | #ifdef IS_MPI | |
986 | int myUse = usesDipoles; | |
987 | MPI_Allreduce(&myUse, &usesDipoles, 1, MPI_INT, MPI_LOR, MPI_COMM_WORLD); | |
# | Line 1019 | Line 1032 | void SimSetup::finalInfoCheck(void){ | |
1032 | info[i].dielectric = globals->getDielectric(); | |
1033 | } | |
1034 | else{ | |
1035 | < | if (usesDipoles){ |
1035 | > | if (usesDipoles || usesCharges){ |
1036 | if (!globals->haveECR()){ | |
1037 | sprintf(painCave.errMsg, | |
1038 | "SimSetup Warning: No value was set for electrostaticCutoffRadius.\n" |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |