在Win10使用WSL2环境运行xTB程序
xTB 是 Grimme 组开发的“半经验”的类 DFT 程序,普适性不错,而且开源,不过暂时只有 Linux 版,但好在 Windows 10 已经开始拥抱开源,有了 Linux 子系统,因此对于少量的计算,使用 Win 下的 WSL 快速在可视化和计算中切换很有用处。
WSL2 的安装
系统需求
最好的方法就是参考微软的 WSL 文档https://docs.microsoft.com/zh-cn/windows/wsl/install-win10,这里简单概述一些WSL2(不是 WSL1)涉及的要点:
- Windows 系统版本:(不同的版本有不同的要求)
- 20H2,可参照 2004
- 2004, 内部版本 19041 or higher:测试表明需要额外安装 Linux 内核供 WSL 2 使用:https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-kernel
- 1903 或 1909,不建议使用,需要自行安装如 KB4566116,并须使用
winver
验证 Windows 版本在 18362.1049 或 18363.1049 以上
安装步骤
需要启用的系统功能(建议按照步骤依次进行):
启用“适用于 Linux 的 Windows 子系统”可选功能:
(_使用管理员权限_)1
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
启用“虚拟机平台”可选组件:
(_使用管理员权限_)1
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
启用后需要重启
将 WSL 2 设置为默认版本:
(_使用管理员权限_)1
wsl --set-default-version 2
如果没有安装此前提到的内核会报错
安装需要的 Linux 分发版即可(通过 Windows Store)
额外说明
- 如果需要使用 root 用户作为默认用户,可以执行:
1 | ubuntu config --default-user root |
- 如果要通过Windows资源管理器访问wsl目录:
可以通过在“此电脑”右键“添加网络位置”实现,需要输入的路径为\\wsl$\ubuntu
.
xTB 的配置和使用
建议直接使用 xtb-python,此外需要配置的还有一些环境变量,以合理地处理一些原子数较多的体系:
1
2
3
4
5
ulimit -s unlimited
export OMP_STACKSIZE=4G
export OMP_MAX_ACTIVE_LEVELS=1
export OMP_NUM_THREADS=<ncores>,1
export MKL_NUM_THREADS=<ncores>
!注意,可能会与 Gaussian 软件的使用存在一定冲突,可能会使内存占用上升。