eDMFT安装教程

张开发
2026/4/3 20:51:49 15 分钟阅读
eDMFT安装教程
eDMFT 是面向 WIEN2k 全势 LAPW 程序的 DFTDMFT 耦合计算套件实现了密度泛函理论与动力学平均场方法的无缝对接可用于强关联电子体系的物性模拟。本文基于Intel oneAPI 编译环境、Linux 集群系统完整梳理 eDMFT 从依赖配置、源码编译、环境部署到计算初始化的全流程。系统与基础环境操作系统Linux x86_64CentOS/RHEL 系列集群通用编译器套件Intel oneAPI 2023.2icx/icpx/ifort替代经典 icc/ifortMPI 环境Intel MPImpiicc/mpiicpc/mpiifort禁止使用 GNU MPI 适配 Intel 编译链Python 环境Anaconda Python 3.8numpy≥1.24.4、scipy≥1.10.1、pybind11≥3.0.0耦合主程序WIEN2k需提前完成部署配置WIENROOT环境变量eDMFT 依赖三类核心数学库MKL 数学库随 Intel oneAPI 自带提供 BLAS/LAPACK/FFTW 接口FFTW3傅里叶变换库用于谱计算与动量空间变换GSLGNU 科学库用于 CTQMC/atom 等杂质求解器的随机数、数值积分进入 eDMFT 根目录cp configure.py.intel configure.py执行编译python3 setup.py如程序未寻找到系统/Intel中的fftw3则会弹出提醒可选择输入d 让程序自动下载和自行编译如未找到GSL库可重复此操作。但如果编译环境中出现链接错误、头文件缺失、CBLAS 未定义问题仍需手动编译库文件。统一通用路径根据实际安装环境更改# WIEN2k安装路径WIENROOT/public/software/wien2k# eDMFT根目录EDMFT_ROOT/public/software/wien2k/EDMFT/eDMFT-master# 依赖库安装路径如需手动编译FFTW_INSTALL${EDMFT_ROOT}/bin/fftwGSL_INSTALL${EDMFT_ROOT}/bin/gslFFTW3 编译# 进入eDMFT依赖目录cd ${EDMFT_ROOT}mkdir -p bin/fftw# 下载并解压FFTW3wget http://fftw.org/fftw-3.3.10.tar.gztar -zxvf fftw-3.3.10.tar.gz cd fftw-3.3.10# 加载Intel编译环境source /public/intel/oneapi/setvars.sh# 配置编译参数./configure --prefix${FFTW_INSTALL} CCicx CXXicpx F77ifort \--enable-openmp --enable-shared --enable-static# 编译安装make -j4 make install# 返回根目录cd ../GSL 编译cd ${EDMFT_ROOT}mkdir -p bin/gsl# 下载GSL2.7wget https://ftp.gnu.org/gnu/gsl/gsl-2.7.tar.gztar -zxvf gsl-2.7.tar.gz cd gsl-2.7# 配置./configure --prefix${GSL_INSTALL} CCicx CXXicpx FCifort \--with-blas-qmkl-ilp64parallel -qmkl \--with-lapack-qmkl-ilp64parallel -qmkl# 编译安装make -j4 make installcd ../编辑configure.py(链接configure.py.intel)cc icx # Intel C编译器cxx icpx # Intel C编译器fc ifort # Intel Fortran编译器mpi_define -D_MPI # MPI编译宏定义pcc mpiicc # Intel MPI C编译器pcxx mpiicpc # Intel MPI C编译器pfc mpiifort # Intel MPI Fortran编译器# 数学库配置核心全路径MKL链接blasname MKLblaslib -qmkl-ilp64parallel -qmkllapacklib fftwlib -I${FFTW_INSTALL}/include -L${FFTW_INSTALL}/lib -lfftw3_omp -lfftw3gsl -I${GSL_INSTALL}/include -L${GSL_INSTALL}/lib -lgsl -lgslcblas -qmkl-ilp64parallel -qmkl然后再次执行python3 setup.py

更多文章