资源简介
VASP+BEEF
beef-vdW全称为Bayesian error estimation functional with van der Waals correlation, 是DTU在2012年做出来的一个新泛函,目前和Quantum Espresso,VASP,GPAW均有接口。具体的编译过程可以参考SUNCAT - Software和 BEEF Functional Software。
把beef编译到VASP里,首先要编译libbeef
1 编译和安装BEEF
$ cd libbeef
$ chmod +x configure
$ ./configure CC=mpicc --prefix=/opt/software/beef
$ make
$ make install
2 修改VASP makefile.include
makefile.include需要稍作修改(CPP_OPTIONS里添加-Dlibbeeef,LLIBS里添加-Lpathtolibbeef -lbeef)
CPP_OPTIONS= -DMPI -DHOST=\"IFC91_ompi\" -DIFC \
-DCACHE_SIZE=4000 -DPGF90 -Davoidalloc \
-DMPI_BLOCK=8000 -DscaLAPACK -Duse_collective \
-DnoAugXCmeta -Duse_bse_te \
-Duse_shmem -Dtbdyn -Dlibbeef
......
BEEF = -L/opt/software/beef/lib -lbeef
......
LLIBS = $(SCALAPACK) $(LAPACK) $(BLAS) $(BEEF)
......
3 编译VASP
$ make
beef-vdW全称为Bayesian error estimation functional with van der Waals correlation, 是DTU在2012年做出来的一个新泛函,目前和Quantum Espresso,VASP,GPAW均有接口。具体的编译过程可以参考SUNCAT - Software和 BEEF Functional Software。
把beef编译到VASP里,首先要编译libbeef
1 编译和安装BEEF
$ cd libbeef
$ chmod +x configure
$ ./configure CC=mpicc --prefix=/opt/software/beef
$ make
$ make install
2 修改VASP makefile.include
makefile.include需要稍作修改(CPP_OPTIONS里添加-Dlibbeeef,LLIBS里添加-Lpathtolibbeef -lbeef)
CPP_OPTIONS= -DMPI -DHOST=\"IFC91_ompi\" -DIFC \
-DCACHE_SIZE=4000 -DPGF90 -Davoidalloc \
-DMPI_BLOCK=8000 -DscaLAPACK -Duse_collective \
-DnoAugXCmeta -Duse_bse_te \
-Duse_shmem -Dtbdyn -Dlibbeef
......
BEEF = -L/opt/software/beef/lib -lbeef
......
LLIBS = $(SCALAPACK) $(LAPACK) $(BLAS) $(BEEF)
......
3 编译VASP
$ make
代码片段和文件信息
#include
#include
#include
#include
#define nbuf 65536
static inline double sq(double x) {return x*x;}
void fileerror(const char *filename FILE *file)
{
fclose(file);
fprintf(stderr “error reading file %s\n“ filename);
exit(4);
}
void openerror(const char *filename)
{
fprintf(stderr “error opening file %s\n“ filename);
exit(3);
}
FILE *openandfindlastbeefens(const char *filename char *buf)
{
FILE *f;
unsigned long int ulastu;
f = fopen(filename “r“);
if(!f) openerror(filename);
u = 1;
while(fgets(bufnbuff) && !strstr(buf“BEEFens“)) u++;
if(!strstr(buf“ensemble energies“)) fileerror(filename f);
do {
lastu = u;
u++;
while(fgets(bufnbuff) && !strstr(buf“BEEFens“)) u++;
} while(strstr(buf“ensemble energies“));
if(fseek(f0SEEK_SET)) fileerror(filename f);
for(u=0;u
return f;
}
int main(int argc char **argv)
{
char buf[nbuf];
double *samples;
FILE *dftout;
double de;
int nsamples;
if(argc < 3)
{
fprintf(stderr “usage: %s factor1 outputfile1 ... factorN outputfileN\n“ argv[0]);
return 1;
}
dftout = openandfindlastbeefens(argv[2] buf);
nsamples = strtol(strstr(buf“BEEFens“)+7 NULL 10);
samples = (double *) malloc(nsamples*sizeof(double));
if(!samples)
{
fclose(dftout);
fputs(“not enough memory for ensemble energies\n“ stderr);
return 2;
}
d = strtod(argv[1] NULL);
for(int j=0;j {
if(!fgets(bufnbufdftout)) fileerror(argv[2] dftout);
samples[j] = d*strtod(buf NULL);
}
fclose(dftout);
for(int i=3;i {
d = strtod(argv[i] NULL);
dftout = openandfindlastbeefens(argv[i+1] buf);
for(int j=0;j {
if(!fgets(bufnbufdftout)) fileerror(argv[i+1] dftout);
samples[j] += d*strtod(buf NULL);
}
fclose(dftout);
}
d = samples[0];
for(int i=1;i d /= (double) nsamples;
e = sq(samples[0]-d);
for(int i=1;i free(samples);
printf(“%.5g standard deviation\n“ sqrt(e/nsamples));
return 0;
}
相关资源
- RS高校教师档案管理系统源码
- 微网站源码
- OpenWBS 企业建站CMS源码(手机端+PC端
- ASP带手机版财务会计网站源码.zip
- 毕业论文选题系统asp+access版
- asp net 红湖宾馆客房管理系统源码
- asp毕业论文!毕业论文设计,毕业网
- 医药进销存管理系统源码
- 某靓贩式KTV网站源码
- 学生综合管理系统源码
- 基于asp+MapGuide做的xx省收养WebGis
- 基于ASP NET在线考试系统实现 源码
- 售后管理系统源码+10000多字完整论文
- 服装进销存源码asp的
- ASP源码完整二手网
- ASP网上报名系统源码
- 在线订餐系统源码
- 网上订餐系统源码
- asp个人博客源码 个人主页网站个人博
- Asp动态网页源码+数据库
- 跆拳道馆ASP无后台无数据库动态网站
- 4S汽车销售公司网站源码
- 漂亮 功能齐全 在线订餐系统 ASP源码
- 信息发布网站asp源码
- 开源一个企业站源码(前台+后台)
- 酒店管理(三层架构)系统源码
- ASP系统源码
- ASP。NET做的网上商城源码
- 仿淘宝网多用户网络商城购物系统源
- 基于ASP的商城系统源码 购物网站源码
评论
共有 条评论