scychon / openmm_drudeNose

Dual Nose-Hoover thermostat with extended Lagrangian integration for drude polarizable MD in OpenMM
6 stars 0 forks source link

Compilation fails with OpenMM 7.5.0 on Debian 4.9.228-1 (2020-07-05) and CUDA 9.2 #7

Closed agiliopadua closed 3 years ago

agiliopadua commented 3 years ago

[ 44%] Building CXX object platforms/reference/CMakeFiles/DrudeNosePluginReference.dir/src/ReferenceDrudeNoseKernels.cpp.o /home/apadua/src/openmm_drudeNose/platforms/reference/src/ReferenceDrudeNoseKernels.cpp: In member function ‘virtual void OpenMM::ReferenceIntegrateDrudeNoseHooverStepKernel::initialize(const OpenMM::System&, const OpenMM::DrudeNoseHooverIntegrator&, const OpenMM::DrudeForce&)’: /home/apadua/src/openmm_drudeNose/platforms/reference/src/ReferenceDrudeNoseKernels.cpp:108:35: error: ‘const class OpenMM::DrudeNoseHooverIntegrator’ has no member named ‘getDrudeTemperature’; did you mean ‘drudeTemperature’? drudekbT = BOLTZ integrator.getDrudeTemperature(); ^~~~~~~ /home/apadua/src/openmm_drudeNose/platforms/reference/src/ReferenceDrudeNoseKernels.cpp:139:20: error: ‘const class OpenMM::DrudeNoseHooverIntegrator’ has no member named ‘getUseDrudeNHChains’ if (integrator.getUseDrudeNHChains()) { ^~~~~~~ /home/apadua/src/openmm_drudeNose/platforms/reference/src/ReferenceDrudeNoseKernels.cpp:146:31: error: ‘const class OpenMM::DrudeNoseHooverIntegrator’ has no member named ‘getNumNHChains’ iNumNHChains = integrator.getNumNHChains(); ^~~~~~ /home/apadua/src/openmm_drudeNose/platforms/reference/src/ReferenceDrudeNoseKernels.cpp:147:20: error: ‘const class OpenMM::DrudeNoseHooverIntegrator’ has no member named ‘getUseDrudeNHChains’ if (integrator.getUseDrudeNHChains()) { ^~~~~~~ /home/apadua/src/openmm_drudeNose/platforms/reference/src/ReferenceDrudeNoseKernels.cpp:148:37: error: ‘const class OpenMM::DrudeNoseHooverIntegrator’ has no member named ‘getNumNHChains’ idxMaxNHChains = integrator.getNumNHChains()numTempGroup-1; ^~~~~~ /home/apadua/src/openmm_drudeNose/platforms/reference/src/ReferenceDrudeNoseKernels.cpp:152:37: error: ‘const class OpenMM::DrudeNoseHooverIntegrator’ has no member named ‘getNumNHChains’ idxMaxNHChains = integrator.getNumNHChains()numTempGroup; ^~~~~~ /home/apadua/src/openmm_drudeNose/platforms/reference/src/ReferenceDrudeNoseKernels.cpp:170:49: error: ‘const class OpenMM::DrudeNoseHooverIntegrator’ has no member named ‘getCouplingTime’ etaMass.push_back(realNkbT pow(integrator.getCouplingTime(), 2)); // COM ^~~~~~~ /home/apadua/src/openmm_drudeNose/platforms/reference/src/ReferenceDrudeNoseKernels.cpp:171:50: error: ‘const class OpenMM::DrudeNoseHooverIntegrator’ has no member named ‘getDrudeCouplingTime’ etaMass.push_back(drudeNkbT pow(integrator.getDrudeCouplingTime(), 2)); // internal ^~~~~~~~ /home/apadua/src/openmm_drudeNose/platforms/reference/src/ReferenceDrudeNoseKernels.cpp:174:88: error: ‘const class OpenMM::DrudeNoseHooverIntegrator’ has no member named ‘getDrudeTemperature’; did you mean ‘drudeTemperature’? cout << "real T : " << integrator.getTemperature() << ", drude T : " << integrator.getDrudeTemperature() << "\n"; ^~~~~~~ /home/apadua/src/openmm_drudeNose/platforms/reference/src/ReferenceDrudeNoseKernels.cpp:178:45: error: ‘const class OpenMM::DrudeNoseHooverIntegrator’ has no member named ‘getNumNHChains’ cout << "Num NH Chain : " << integrator.getNumNHChains() << "\n"; ^~~~~~ /home/apadua/src/openmm_drudeNose/platforms/reference/src/ReferenceDrudeNoseKernels.cpp:179:50: error: ‘const class OpenMM::DrudeNoseHooverIntegrator’ has no member named ‘getCouplingTime’ cout << "real couplingTime : " << integrator.getCouplingTime() << "\n"; ^~~~~~~ /home/apadua/src/openmm_drudeNose/platforms/reference/src/ReferenceDrudeNoseKernels.cpp:180:51: error: ‘const class OpenMM::DrudeNoseHooverIntegrator’ has no member named ‘getDrudeCouplingTime’ cout << "drude couplingTime : " << integrator.getDrudeCouplingTime() << "\n"; ^~~~~~~~ /home/apadua/src/openmm_drudeNose/platforms/reference/src/ReferenceDrudeNoseKernels.cpp:192:20: error: ‘const class OpenMM::DrudeNoseHooverIntegrator’ has no member named ‘getUseDrudeNHChains’ if (integrator.getUseDrudeNHChains()) { ^~~~~~~ /home/apadua/src/openmm_drudeNose/platforms/reference/src/ReferenceDrudeNoseKernels.cpp:193:42: error: ‘const class OpenMM::DrudeNoseHooverIntegrator’ has no member named ‘getNumNHChains’ for (int ich=1; ich < integrator.getNumNHChains(); ich++) { ^~~~~~ /home/apadua/src/openmm_drudeNose/platforms/reference/src/ReferenceDrudeNoseKernels.cpp:194:56: error: ‘const class OpenMM::DrudeNoseHooverIntegrator’ has no member named ‘getCouplingTime’ etaMass.push_back(realkbT pow(integrator.getCouplingTime(), 2)); // COM ^~~~~~~ /home/apadua/src/openmm_drudeNose/platforms/reference/src/ReferenceDrudeNoseKernels.cpp:195:57: error: ‘const class OpenMM::DrudeNoseHooverIntegrator’ has no member named ‘getDrudeCouplingTime’ etaMass.push_back(drudekbT pow(integrator.getDrudeCouplingTime(), 2)); // internal ^~~~~~~~ /home/apadua/src/openmm_drudeNose/platforms/reference/src/ReferenceDrudeNoseKernels.cpp:207:42: error: ‘const class OpenMM::DrudeNoseHooverIntegrator’ has no member named ‘getNumNHChains’ for (int ich=1; ich < integrator.getNumNHChains(); ich++) { ^~~~~~ /home/apadua/src/openmm_drudeNose/platforms/reference/src/ReferenceDrudeNoseKernels.cpp:208:56: error: ‘const class OpenMM::DrudeNoseHooverIntegrator’ has no member named ‘getCouplingTime’ etaMass.push_back(realkbT pow(integrator.getCouplingTime(), 2)); // COM ^~~~~~~ /home/apadua/src/openmm_drudeNose/platforms/reference/src/ReferenceDrudeNoseKernels.cpp: In member function ‘void OpenMM::ReferenceIntegrateDrudeNoseHooverStepKernel::propagateNHChain(OpenMM::ContextImpl&, const OpenMM::DrudeNoseHooverIntegrator&)’: /home/apadua/src/openmm_drudeNose/platforms/reference/src/ReferenceDrudeNoseKernels.cpp:430:38: error: ‘const class OpenMM::DrudeNoseHooverIntegrator’ has no member named ‘getDrudeStepsPerRealStep’ int numDrudeSteps = integrator.getDrudeStepsPerRealStep(); ^~~~~~~~ platforms/reference/CMakeFiles/DrudeNosePluginReference.dir/build.make:86: recipe for target 'platforms/reference/CMakeFiles/DrudeNosePluginReference.dir/src/ReferenceDrudeNoseKernels.cpp.o' failed make[2]: [platforms/reference/CMakeFiles/DrudeNosePluginReference.dir/src/ReferenceDrudeNoseKernels.cpp.o] Error 1 CMakeFiles/Makefile2:179: recipe for target 'platforms/reference/CMakeFiles/DrudeNosePluginReference.dir/all' failed make[1]: [platforms/reference/CMakeFiles/DrudeNosePluginReference.dir/all] Error 2 Makefile:138: recipe for target 'all' failed make: *** [all] Error 2

scychon commented 3 years ago

Our plugin currently is compatible with OpenMM version 7.4 or earlier. The OpenMM community implemented dual-temperature Nose-Hoover thermostat for Drude simulation in version 7.5 (not tgNH thermostat that I developed here !), but they chose to use the same name as my plugin (DrudeNoseHooverIntegrator). We plan to update our plugin with new name, possibly tgNHIntegrator, but has not finished this yet.

So please use 7.4 branch when you compile OpenMM, and then compile the plugin to use the functionalities.

agiliopadua commented 3 years ago

Thank you for the info and for this TGNH thermostat, which is very valuable.