- 准备工作
- 下载安装cmake,最低版本要求3.13;
- 下载安装Visual Studio,需支持c++17标准,当前使用的是Visual Studio 2022;
- 下载安装MPI,其他MPI存在其他问题(微软不支持0,openmpi在Windows上也不好编译,mpich也没有高版本的安装包,等等),当前使用intel-mpi-2021.14.1.8;
- 下载安装zlib最新版本即可;
- 在LAPACK for Windows下载lapack及blas:
- 下载安装doxygen最新版本即可。
- 编译p4est
从https://gitcode.com/gh_mirrors/p4/p4est下载源码到本地,当前是在E:\temp,解压之后在E:\temp\p4est-2.8.6创建build文件夹,打开cmake-gui.exe,安装路径E:/temp/p4est-2.8.6/build/local,根据实际情况即可,需注意MPI路径,其他不重要

生成完成后打开vs2022编译,会生成以下文件

- 编译Trilinos
从主页http://trilinos.sandia.gov/或Git下载源码解压到本地,当前是在F:\temp,解压之后在F:\temp\Trilinos-master路径下创建build文件夹,打开cmake-gui.exe,安装路径F:\temp\Trilinos,根据实际情况即可,需注意MPI路径:

Lapack路径根据实际情况写:

Trilinos需要勾选以下:




- 编译dealii
从官网https://www.dealii.org/或者git下载源码解压到本地,当前是在E:\temp\dealii\dealii,解压之后在E:\temp\dealii\dealii路径下创建build文件夹,打开cmake-gui.exe,安装路径E:/temp/dealii/install,根据实际情况即可,需注意MPI路径:


生成之前需要在Trilinos的安装路径下F:\temp\Trilinos\lib\cmake将所有的Config.cmake文件中最下面的set_target_properties(${libname}
PROPERTIES DEPRECATION "${deprecationMessage}" )删除,否则会报错,具体报啥错记不得了。例如TeuchosComm找到并打开\Trilinos\lib\cmake\TeuchosComm\ TeuchosCommConfig.cmake:

在E:\temp\dealii\dealii\cmake\configure找到configure_50_p4est.cmake并打开,删除以下代码,不然会报错p4est版本低于2.2,实际上我们都已经是2.8.6版本了:

- 编译lethe
从主页或Githttps://gitcode.com/gh_mirrors/let/lethe下载源码解压到本地,当前是在E:\temp,解压之后在E:\temp\lethe-master路径下创建build文件夹,打开cmake-gui.exe,只需要填写doxygen路径即可:

有些代码可能会把 &&、||写成and、or改成实际的即可,在编译applications时需要以下链接器:


运行时需要以下动态库:
