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) { |