24小时热门版块排行榜    

查看: 318  |  回复: 0
当前主题已经存档。

duxiao3150

新虫 (初入文坛)

[交流] 【其他】在windows环境下编译LAMMPS-17Jan05

1 将src下的所有.h 和.cpp文件copy到一个目录下,子文件夹下的文件全部拷出;

2 在VC中打开lammps.cpp,然后编译,建立project,然后把所有文件包含进去;

3 处理循环变量重定义;

4 处理FFT_DATA相关错误:在fft3d.h 文件的开头加入下列语句,

#ifndef FFT_NONE

#define FFT_NONE

#endif

5 input.cpp文件中,#include "unistd.h"在VC中没有,用direct.h代替;

6 关于timeval未定义的错误:这里使用的是单处理器,因此,在mpi.cpp 中会提示timeval未定义,将MPI_Wtime()代码删除,然后加上return 0.;

7 erfc函数:VC中没有该函数,必须自己编写.文后附有从网上找到的代码

8 程序命令行的处理:LAMMPS源程序默认用户从命令行输入命令,为了方便,我们可以直接指定文件,比如in.txt,在system.cpp中,将相应代码修改

80行 inflag=1

83行 iarg=2

175行 infile=fopen("in.txt","r"

然后编译,OK!

附误差函数:

double erfc(double x)
{
double temp;
if(x<0.0)
{
  temp=1.0+gammp(0.5,x*x);
}
else
{
  temp=gammq(0.5,x*x);
}
return temp;
}

double gammp(double a, double x)
{
double temp,gamser,gln,gammcf;
if(x<0.0 || a<=0.0)
{
  cout<<"pause";
  exit(1);
}
if(x {
  gser(gamser,a,x,gln);
  temp=gamser;
}
else
{
  gcf(gammcf,a,x,gln);
  temp=1.0-gammcf;
}
return temp;
}

double gammq(double a, double x)
{
double temp,gamser,gammcf,gln;
if(x<0.0||a<=0.0)
{
  cout<<"pause";
  exit(1);
}
if(x {
  gser(gamser,a,x,gln);
  temp=1.-gamser;
}
else
{
  gcf(gammcf,a,x,gln);
  temp=gammcf;
}
return temp;
}

void gser(double &gamser,double &a ,double &x,double &gln)
{
int itmax,n;
double ap,sum,del,eps;
itmax=100;
eps=0.0000003;
gln=gammln(a);
if(x<=0.0)
{
  if(x<0.0)
  {
   cout<<"pause";
   exit(1);
  }
  gamser=0.0;
  //exit(1);
  return;
}
ap=a;
sum=1.0/a;
del=sum;
for(n=1;n<=itmax;n++)
{
  ap=ap+1.0;
  del=del*x/ap;
  sum+=del;
  if(fabs(del)<(fabs(sum)*eps))
  {
   gamser=sum*exp(-x+a*log(x)-gln);
   return;
  }
}
}

void gcf(double &gammcf,double &a,double &x,double &gln)
{
int itmax,n;
double eps,a0,a1,b0,b1,fac,an,ana,anf,gold,g;
itmax=100;
eps=0.0000003;
gln=gammln(a);
gold=0.0;
a0=1.0;
a1=x;
b0=0.0;
b1=1.0;
fac=1.0;
for(n=1;n<=itmax;n++)
{
  an=n;
  ana=an-a;
  a0=(a1+a0*ana)*fac;
  b0=(b1+b0*ana)*fac;
  anf=an*fac;
  a1=x*a0+anf*a1;
  b1=x*b0+anf*b1;
  if(a!=0.0)
  {
   fac=1.0/a1;
   g=b1*fac;
   if(fabs((g-gold)/g)    {
    gammcf=exp(-x+a*log(x)-gln)*g;
    return;
   }
   gold=g;
  }
}
}



double gammln(double xx)
{
int j;
float temp;
double cof[6]={76.18009173,-86.50532033,24.01409822,-1.231739516,0.00120858003,-0.00000536382},stp,half,one,fpf,x,tmp,ser;
stp=2.50662827465;
half=0.5;
one=1.0;
fpf=5.5;
x=xx-one;
tmp=x+fpf;
tmp=(x+half)*log(tmp)-tmp;
ser=one;
for(j=1;j<=6;j++)
{
  x=x+one;
  ser=ser+cof[j-1]/x;
}
temp=tmp+log(stp*ser);
return temp;
}
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 duxiao3150 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 面上再次挂了,太难了,躺也躺不了,倦也卷不过,小学校之殇! +15 低垂的野花 2026-07-31 20/1000 2026-08-01 14:10 by gltch
[基金申请] 2026年国自然面上资助率 +15 布布和一二 2026-07-30 18/900 2026-08-01 13:56 by gltch
[博后之家] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 jzg3xk1po8 2026-07-31 8/400 2026-08-01 13:53 by y4XuShGyllvT
[考博] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 jzg3xk1po8 2026-07-31 10/500 2026-08-01 13:51 by y4XuShGyllvT
[教师之家] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 jzg3xk1po8 2026-07-31 7/350 2026-08-01 13:49 by y4XuShGyllvT
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 jzg3xk1po8 2026-07-31 10/500 2026-08-01 13:49 by y4XuShGyllvT
[基金申请] 小木虫看见有人已经知道结果了 +16 1234567wang 2026-07-25 20/1000 2026-08-01 08:57 by type2type
[教师之家] 基础研究怎么拉横向,学校到款任务越来越多,难以完成 拉横向,都有哪些途径啊 +8 锦衣卫寒战 2026-07-28 8/400 2026-07-31 18:13 by beefly
[高分子] HXDI做水性聚氨酯乳液,是不是特别容易出渣 15+3 yuyusuv 2026-07-29 3/150 2026-07-31 09:21 by huizingga
[基金申请] 系统今天又提示维护了,估计离放榜不远了 +11 winnerche 2026-07-29 15/750 2026-07-30 23:08 by jnhyjjm
[考博] 申请2027年材料/化学类博士 10+3 考研老狗? 2026-07-25 5/250 2026-07-30 19:33 by 白色木鱼
[基金申请] 你们的时间戳变了吗 +3 archvillain 2026-07-30 4/200 2026-07-30 18:53 by levinzhwen
[基金申请] 今年的WR进展到哪一步了? +5 wsgjhwz 2026-07-25 9/450 2026-07-30 12:59 by 可淡不可忘
[有机交流] 产物和副产物价值比较 30+4 小汤02 2026-07-27 5/250 2026-07-30 12:44 by czyzsu
[基金申请] 时间戳他又来了 +14 晓晓爱翠翠 2026-07-26 17/850 2026-07-29 16:30 by 呵呵二哥
[有机交流] 这个自发加氧反应的机理是什么? 50+4 YUAN2273 2026-07-25 7/350 2026-07-29 12:27 by xiaobenpu
[基金申请] 这种情况还有戏吗 +5 drbart 2026-07-27 11/550 2026-07-29 05:50 by drbart
[基金申请] 同事接到电话了,我却没有 +4 1234567wang 2026-07-27 4/200 2026-07-28 10:11 by GOODLUCKER
[基金申请] 准备明年的基金了 +5 Tide man 2026-07-27 5/250 2026-07-28 09:25 by newfuzzy1
[分析] 水蒸气蒸馏法乳化现象 +3 月光娇娇 2026-07-26 3/150 2026-07-26 23:25 by caiyun
信息提示
请填处理意见