资源简介
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;
}
相关资源
- 上传下达任务管理平台(asp源码+acc
- VB版免杀远程控制服务端及客户端源码
- 医院工资系统vb源码(附数据库)
- aspx 购物车详细源码
- asp sql 网上招聘系统 (完整源码)
- asp.net超市管理系统(源码+数据库)
- ASP微信支付接口源码(微信公众号支
- 完整asp.net进销存系统源码
- ASP纯手机商城源码
- asp.net网上书城(源码+数据库脚本)
- 市长信箱(网上办事)系统源码(附
- 郑州大学勤工助学管理系统(asp源码
- asp微信支付源码
- 小区物业管理系统(源码+论文+数据库
- asp.net 网上购书系统源码(附数据库)
- 酒店网站源码模板asp版(附数据库)
- asp.net 网上选课系统(源码+数据库)
- 网上选课(源码+数据库+视频)
- 纯ASP微信支付V3版源码不需要第三方中
- asp通用的excel 导入Access数据库程序源
- BWS员工考评系统 20100520.rar
- 酒店网站源码 v1.0
- 四通政府管理系统
- 学校管理系统源码经典
- 中国美文网
- FR短信平台源码
- 免费在线算命网站源码
- 政府网站源码asp+access稳定版2014已测
- 艺帆学前教育早教机构网站源码
- 在线简单书店程序[源码+系统说明书
评论
共有 条评论