计算化学公社

标题: 想了解一下哪个分子模拟的软件可以加磁场? [打印本页]

作者
Author:
417036436    时间: 2020-11-4 20:36
标题: 想了解一下哪个分子模拟的软件可以加磁场?
各位前辈,小弟0基础,最近想做加磁状态下的分子模拟,介质是水和Ca2+、CO32-等。请问一下大家,分子模拟的的话,哪个软件能加磁场?最好是免费的,可以再windows平台上运行的。之前看过一些论文有用GROMACS和NAMD的。不知道MS能不能加磁场,学校倒是买了MS。

作者
Author:
sobereva    时间: 2020-11-4 22:11
修改版的GROMACS,以及DL_POLY可以加,没有其它的知名程序可以直接加

(, 下载次数 Times of downloads: 61)

作者
Author:
liuyuje714    时间: 2020-11-4 22:33
本帖最后由 liuyuje714 于 2020-11-4 22:35 编辑

看看这篇文章,Implementation of magnetic field force in molecular dynamics algorithm: NAMD source code version 2.12
https://link.springer.com/article/10.1007%2Fs00894-020-4349-0
M$应该不能,没听说过。




作者
Author:
sobereva    时间: 2020-11-5 04:05
JMM那篇文章对应的NAMD的额外文件:https://github.com/kosar7/NAMD-MAGNETIC-FIELD
作者
Author:
417036436    时间: 2020-11-5 18:32
sobereva 发表于 2020-11-4 22:11
修改版的GROMACS,以及DL_POLY可以加,没有其它的知名程序可以直接加

感谢sob老师的回答。老师,DL_POLY可以在windows上运行么?我看好像只有Linux的版本。GROMACS和NAMD都是免费的软件么?
作者
Author:
417036436    时间: 2020-11-5 18:41
liuyuje714 发表于 2020-11-4 22:33
看看这篇文章,Implementation of magnetic field force in molecular dynamics algorithm: NAMD source co ...

谢谢前辈的回答。MS我也查了一下, 确实还没人通过修改算法加磁场的。
作者
Author:
sobereva    时间: 2020-11-5 21:46
417036436 发表于 2020-11-5 18:32
感谢sob老师的回答。老师,DL_POLY可以在windows上运行么?我看好像只有Linux的版本。GROMACS和NAMD都是 ...

DL_POLY我自己不用
GROMACS的windows版我直接给了
GROMACS的原生Windows版的编译和安装方法(支持GPU加速)
http://sobereva.com/458http://bbs.keinsci.com/thread-11848-1-1.html

NAMD的windows版也能下。但是你必须重新编译源代码才能用那个人的文件实现加磁场,不会linux你很难搞。搞动力学的人不会Linux几乎是不可能的事。
作者
Author:
417036436    时间: 2020-11-6 19:02
sobereva 发表于 2020-11-5 21:46
DL_POLY我自己不用
GROMACS的windows版我直接给了
GROMACS的原生Windows版的编译和安装方法(支持GPU加 ...

收到,谢谢sob老师。安装教程很详细,我用GROMACS尝试一下。十分感谢。
作者
Author:
417036436    时间: 2020-11-6 19:38
sobereva 发表于 2020-11-4 22:11
修改版的GROMACS,以及DL_POLY可以加,没有其它的知名程序可以直接加

老师,您给我提供的这篇文章里的非官方版本是指另一个版本么?跟您的这个(GROMACS的原生Windows版的编译和安装方法(支持GPU加速))是否存在区别?如果我安装您提供的这个windows版本,后续能否实现加磁场的功能?问题比较多,还希望老师解答一下。
作者
Author:
sobereva    时间: 2020-11-15 09:20
417036436 发表于 2020-11-6 19:38
老师,您给我提供的这篇文章里的非官方版本是指另一个版本么?跟您的这个(GROMACS的原生Windows版的编译 ...

是gmx用户自己修改源代码的版本,显然和官方发布的源代码有差别
显然不能。要想在Windows下实现,先得联系那篇文章的作者让他告诉你怎么改代码,你改过源代码之后你再在windows下自行编译GROMACS
作者
Author:
tjuptz    时间: 2022-4-3 12:09
本帖最后由 tjuptz 于 2022-4-3 12:13 编辑
liuyuje714 发表于 2020-11-4 22:33
看看这篇文章,Implementation of magnetic field force in molecular dynamics algorithm: NAMD source co ...

在我的垃圾机器E5-2678 v3上编译试了下,那篇文章大小的901水盒子,巨慢,而且会输出速度刷屏。另外,GitHub提供的ion rotation例子也跑不了。不知道和DL_POLY比如何,感觉除非有超算,不然没啥实用性。弃坑了
作者
Author:
lyj714    时间: 2022-4-3 12:23
tjuptz 发表于 2022-4-3 12:09
在我的垃圾机器E5-2678 v3上编译试了下,那篇文章大小的901水盒子,巨慢,而且会输出速度刷屏。另外,Git ...

可以改它那个源码,刷屏的那个问题可以把两个printf注释掉就行了https://github.com/kosar7/NAMD-M ... uteMField.C#L77-L78
不能用gpu算吗,namd不是支持gpu的吗。


作者
Author:
tjuptz    时间: 2022-4-3 13:12
本帖最后由 tjuptz 于 2022-4-3 17:05 编辑
lyj714 发表于 2022-4-3 12:23
可以改它那个源码,刷屏的那个问题可以把两个printf注释掉就行了https://github.com/kosar7/NAMD-MAGNETI ...

我编译的时候没开gpu,不过相比没加磁场设定就慢了很多。我再编译一个版本试试能不能用gpu

PS1:注释掉那两行后的CPU版本,速度就和源码CPU版本差不多了。应该是可以用了。

PS2::试了下编译GPU版本的过不去,到CudaPmeSolverUtil.C这个就报错了,错误前面延续挺长我就截取了一部分。还试了下源码编译,这个问题是只用下载的源码编译就有的,跟磁场补丁包没关系,不太懂咋回事。
  1. In file included from src/CudaPmeSolverUtil.C:9:0:
  2. src/CudaPmeSolverUtil.C: In member function ‘virtual void CudaFFTCompute::plan3D(int*, int)’:
  3. src/CudaPmeSolverUtil.C:51:85: error: ‘cufftSetCompatibilityMode’ was not declared in this scope
  4.    cufftCheck(cufftSetCompatibilityMode(forwardPlan, CUFFT_COMPATIBILITY_FFTW_PADDING));
  5.                                                                                      ^
  6. src/CudaPmeSolverUtil.h:18:21: note: in definition of macro ‘cufftCheck’
  7.    cufftResult err = stmt;      \
  8.                      ^
  9. src/CudaPmeSolverUtil.C:52:86: error: ‘cufftSetCompatibilityMode’ was not declared in this scope
  10.    cufftCheck(cufftSetCompatibilityMode(backwardPlan, CUFFT_COMPATIBILITY_FFTW_PADDING));
  11.                                                                                       ^
  12. src/CudaPmeSolverUtil.h:18:21: note: in definition of macro ‘cufftCheck’
  13.    cufftResult err = stmt;      \
  14.                      ^
  15. src/CudaPmeSolverUtil.C: In member function ‘virtual void CudaFFTCompute::plan2D(int*, int, int)’:
  16. src/CudaPmeSolverUtil.C:64:85: error: ‘cufftSetCompatibilityMode’ was not declared in this scope
  17.    cufftCheck(cufftSetCompatibilityMode(forwardPlan, CUFFT_COMPATIBILITY_FFTW_PADDING));
  18.                                                                                      ^
  19. src/CudaPmeSolverUtil.h:18:21: note: in definition of macro ‘cufftCheck’
  20.    cufftResult err = stmt;      \
  21.                      ^
  22. src/CudaPmeSolverUtil.C:65:86: error: ‘cufftSetCompatibilityMode’ was not declared in this scope
  23.    cufftCheck(cufftSetCompatibilityMode(backwardPlan, CUFFT_COMPATIBILITY_FFTW_PADDING));
  24.                                                                                       ^
  25. src/CudaPmeSolverUtil.h:18:21: note: in definition of macro ‘cufftCheck’
  26.    cufftResult err = stmt;      \
  27.                      ^
  28. src/CudaPmeSolverUtil.C: In member function ‘virtual void CudaFFTCompute::plan1DX(int*, int, int)’:
  29. src/CudaPmeSolverUtil.C:76:85: error: ‘cufftSetCompatibilityMode’ was not declared in this scope
  30.    cufftCheck(cufftSetCompatibilityMode(forwardPlan, CUFFT_COMPATIBILITY_FFTW_PADDING));
  31.                                                                                      ^
  32. src/CudaPmeSolverUtil.h:18:21: note: in definition of macro ‘cufftCheck’
  33.    cufftResult err = stmt;      \
  34.                      ^
  35. src/CudaPmeSolverUtil.C:77:86: error: ‘cufftSetCompatibilityMode’ was not declared in this scope
  36.    cufftCheck(cufftSetCompatibilityMode(backwardPlan, CUFFT_COMPATIBILITY_FFTW_PADDING));
  37.                                                                                       ^
  38. src/CudaPmeSolverUtil.h:18:21: note: in definition of macro ‘cufftCheck’
  39.    cufftResult err = stmt;      \
  40.                      ^
  41. src/CudaPmeSolverUtil.C: In member function ‘virtual void CudaFFTCompute::plan1DY(int*, int, int)’:
  42. src/CudaPmeSolverUtil.C:88:85: error: ‘cufftSetCompatibilityMode’ was not declared in this scope
  43.    cufftCheck(cufftSetCompatibilityMode(forwardPlan, CUFFT_COMPATIBILITY_FFTW_PADDING));
  44.                                                                                      ^
  45. src/CudaPmeSolverUtil.h:18:21: note: in definition of macro ‘cufftCheck’
  46.    cufftResult err = stmt;      \
  47.                      ^
  48. src/CudaPmeSolverUtil.C:89:86: error: ‘cufftSetCompatibilityMode’ was not declared in this scope
  49.    cufftCheck(cufftSetCompatibilityMode(backwardPlan, CUFFT_COMPATIBILITY_FFTW_PADDING));
  50.                                                                                       ^
  51. src/CudaPmeSolverUtil.h:18:21: note: in definition of macro ‘cufftCheck’
  52.    cufftResult err = stmt;      \
  53.                      ^
  54. src/CudaPmeSolverUtil.C: In member function ‘virtual void CudaFFTCompute::plan1DZ(int*, int, int)’:
  55. src/CudaPmeSolverUtil.C:100:85: error: ‘cufftSetCompatibilityMode’ was not declared in this scope
  56.    cufftCheck(cufftSetCompatibilityMode(forwardPlan, CUFFT_COMPATIBILITY_FFTW_PADDING));
  57.                                                                                      ^
  58. src/CudaPmeSolverUtil.h:18:21: note: in definition of macro ‘cufftCheck’
  59.    cufftResult err = stmt;      \
  60.                      ^
  61. src/CudaPmeSolverUtil.C:101:86: error: ‘cufftSetCompatibilityMode’ was not declared in this scope
  62.    cufftCheck(cufftSetCompatibilityMode(backwardPlan, CUFFT_COMPATIBILITY_FFTW_PADDING));
  63.                                                                                       ^
  64. src/CudaPmeSolverUtil.h:18:21: note: in definition of macro ‘cufftCheck’
  65.    cufftResult err = stmt;      \
  66.                      ^
  67. make: *** [obj/CudaPmeSolverUtil.o] Error 1
  68. make: *** Waiting for unfinished jobs....
复制代码





作者
Author:
隔壁老张sir    时间: 2023-10-31 20:29
tjuptz 发表于 2022-4-3 12:09
在我的垃圾机器E5-2678 v3上编译试了下,那篇文章大小的901水盒子,巨慢,而且会输出速度刷屏。另外,Git ...

您好,可以详细的说一下,作者开发的磁场代码怎么用到NAMD里吗?感谢
作者
Author:
myc3007    时间: 2023-11-2 15:27
您好,后来用磁场算了嘛
作者
Author:
Jasmine123    时间: 2024-11-12 19:46
sobereva 发表于 2020-11-5 04:05
JMM那篇文章对应的NAMD的额外文件:https://github.com/kosar7/NAMD-MAGNETIC-FIELD

老师请问在哪里可以下载到包含磁场代码的namd,您发的这个链接打不开了
作者
Author:
sobereva    时间: 2024-11-13 02:27
Jasmine123 发表于 2024-11-12 19:46
老师请问在哪里可以下载到包含磁场代码的namd,您发的这个链接打不开了

链接无问题,你的机子或网的问题




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3