sobereva 发表于 2023-7-11 12:37 谢谢sob老师的解答 ![]() 我找到了需要更改的源程序函数,但是刚接触程序改了多次也没成功,老师和各位大佬能否指点一下,我想要的余弦函数是E = E0+E0cos(wt), 原函数如下。 static void calc_f_el(FILE *fp, int start, int homenr, real charge[], rvec f[], t_cosines Ex[], t_cosines Et[], double t) { rvec Ext; real t0; int i, m; for (m = 0; (m < DIM); m++) { if (Et[m].n > 0) { if (Et[m].n == 3) { t0 = Et[m].a[1]; Ext[m] = cos(Et[m].a[0]*(t-t0))*exp(-sqr(t-t0)/(2.0*sqr(Et[m].a[2]))); } else { Ext[m] = cos(Et[m].a[0]*t); } } else { Ext[m] = 1.0; } if (Ex[m].n > 0) { /* Convert the field strength from V/nm to MD-units */ Ext[m] *= Ex[m].a[0]*FIELDFAC; for (i = start; (i < start+homenr); i++) { f[m] += charge*Ext[m]; } } else { Ext[m] = 0; } } if (fp != NULL) { fprintf(fp, "%10g %10g %10g %10g #FIELD\n", t, Ext[XX]/FIELDFAC, Ext[YY]/FIELDFAC, Ext[ZZ]/FIELDFAC); } } static void calc_virial(int start, int homenr, rvec x[], rvec f[], tensor vir_part, t_graph *graph, matrix box, t_nrnb *nrnb, const t_forcerec *fr, int ePBC) { int i; |
| mdp文件里没法设,得改源程序 |
手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图
GMT+8, 2026-2-21 21:09 , Processed in 0.166200 second(s), 25 queries , Gzip On.