| version 1.9 | version 1.10 |
|---|
| |
| int port = simparams->IMDport; | int port = simparams->IMDport; |
| IMDwait = simparams->IMDwait; | IMDwait = simparams->IMDwait; |
| IMDignore = simparams->IMDignore; | IMDignore = simparams->IMDignore; |
| | IMDignoreForces = simparams->IMDignoreForces; |
| coordtmp = NULL; | coordtmp = NULL; |
| coordtmpsize = 0; | coordtmpsize = 0; |
| | |
| |
| | |
| void GlobalMasterIMD::calculate() { | void GlobalMasterIMD::calculate() { |
| /* clear out the requested forces first! */ | /* clear out the requested forces first! */ |
| if (!IMDignore) { | if (!IMDignore && !IMDignoreForces) { |
| modifyAppliedForces().resize(0); | modifyAppliedForces().resize(0); |
| modifyForcedAtoms().resize(0); | modifyForcedAtoms().resize(0); |
| modifyGroupForces().resize(0); | modifyGroupForces().resize(0); |
| |
| | |
| DebugM(2,"Setting " << num << " forces.\n"); | DebugM(2,"Setting " << num << " forces.\n"); |
| | |
| if (!IMDignore) { | if (!IMDignore && !IMDignoreForces) { |
| modifyForcedAtoms().resize(num); | modifyForcedAtoms().resize(num); |
| modifyAppliedForces().resize(num); | modifyAppliedForces().resize(num); |
| | |
| |
| "Error reading IMD forces, killing connection\n" << endi; | "Error reading IMD forces, killing connection\n" << endi; |
| goto vmdDestroySocket; | goto vmdDestroySocket; |
| } | } |
| if (IMDignore) { | if (IMDignore || IMDignoreForces) { |
| if ( ! warned ) { | if ( ! warned ) { |
| warned = 1; | warned = 1; |
| iout << iWARN << "Ignoring IMD forces due to IMDignore\n" << endi; | char option[16]; |
| | if (IMDignore) strcpy(option, "IMDignore"); |
| | else strcpy(option, "IMDignoreForces"); |
| | iout << iWARN << "Ignoring IMD forces due to " << option << "\n" << endi; |
| } | } |
| } else { | } else { |
| for (int i=0; i<length; i++) { | for (int i=0; i<length; i++) { |
| |
| vmdDestroySocket: | vmdDestroySocket: |
| vmdsock_destroy(clientsock); | vmdsock_destroy(clientsock); |
| clients.del(i_client); | clients.del(i_client); |
| | // Enable the MD to continue after detach |
| | if (IMDwait) IMDwait = 0; |
| goto vmdEnd; | goto vmdEnd; |
| case IMD_KILL: | case IMD_KILL: |
| if (IMDignore) { | if (IMDignore) { |