24小时热门版块排行榜    

查看: 272  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿苏州大学材料工程(085601)专硕有科研经历三项国奖两个实用型专利一项省级立项 +3 大火山小火山 2026-03-16 5/250 2026-03-16 16:54 by barlinike
[考研] 中科院材料273求调剂 +4 yzydy 2026-03-15 4/200 2026-03-16 15:59 by Gaodh_82
[考研] 309求调剂 +5 花与叶@ 2026-03-10 5/250 2026-03-16 14:13 by 哦哦123
[考研] 22408总分284求调剂 +3 InAspic 2026-03-13 3/150 2026-03-15 11:10 by zhq0425
[基金申请] 现在如何回避去年的某一个专家,不知道名字 +3 zk200107 2026-03-12 6/300 2026-03-14 17:13 by zk200107
[考研] 328求调剂 +3 5201314Lsy! 2026-03-13 6/300 2026-03-14 15:31 by hyswxzs
[考研] 295复试调剂 +5 简木ChuFront 2026-03-09 5/250 2026-03-14 01:29 by JourneyLucky
[考研] 0805,333求调剂 +3 112253525 2026-03-10 3/150 2026-03-13 23:42 by JourneyLucky
[考研] 304求调剂 +6 Mochaaaa 2026-03-12 7/350 2026-03-13 22:18 by 星空星月
[考研] 一志愿西南交大,材料专硕317求调剂 +5 lx8568 2026-03-11 5/250 2026-03-13 21:43 by peike
[考研] 293求调剂 +3 世界首富 2026-03-11 3/150 2026-03-13 16:27 by JourneyLucky
[考研] 310求调剂 +3 【上上签】 2026-03-11 3/150 2026-03-13 16:16 by JourneyLucky
[考研] 328化工专硕求调剂 +4 。,。,。,。i 2026-03-12 4/200 2026-03-13 14:44 by JourneyLucky
[论文投稿] 投稿问题 5+4 星光灿烂xt 2026-03-12 6/300 2026-03-13 14:17 by god_tian
[考研] 304求调剂(085602一志愿985) +12 化工人999 2026-03-09 12/600 2026-03-13 12:02 by JourneyLucky
[考研] 0856化工原理 +6 z2839474511 2026-03-10 6/300 2026-03-13 10:41 by houyaoxu
[考研] 材料专硕274一志愿陕西师范大学求调剂 +4 薛云鹏 2026-03-13 4/200 2026-03-13 10:40 by 学员8dgXkO
[考研] 工科0856专硕化学工程269能调剂吗 +10 我想读研11 2026-03-10 10/500 2026-03-13 10:14 by Yuyi.
[考研] 420求调剂 +4 莫向外求11 2026-03-10 6/300 2026-03-12 14:41 by ruiyingmiao
[考研] 0703化学调剂 +3 三dd. 2026-03-10 3/150 2026-03-10 15:45 by peike
信息提示
请填处理意见