DAMASK安装教程——以Deepin为例

1.下载所需的软件安装包

​ Deepin官网:Deepin

​ DAMASK官网:DAMASK

​ PETSC官网:PETSC

​ HDF5官网:HDF5

​ Paraview官网:Paraview

​ 已经提供了相关软件百度云链接:百度云 提取码:i5kv

​ 安装视频可见: 哔哩哔哩视频

​ 知乎专栏:知乎

2.安装Auxiliary software

2.1 安装编译器

​ 在桌面使用快捷键 Ctrl+Alt+T 调出终端,输入:

sudo apt-get install gfortran g++ gcc default-jre cmake -y

2.2 获取最高权限

​ 解压HDF5文件夹,在解压后的文件夹右键打开终端:

image-20210509111635011

​ 输入:

sudo passwd root

​ 输入密码并重新确定密码后,输入:

su root

​ 再次验证密码获取最高权限

2.3 安装HDF5及相关依赖环境

​ 在HDF5文件夹终端下依次输入以下命令,等待安装,过程较为漫长。

./configure
make -j4
make check -j4
make install -j4

​ 在最终Root@admin显示处输入:

exit

​ 再次在admin@admin处(admin为自己设置的主机用户名)显示的命令行依次输入以下命令:

sudo h5cc -o h5_extend h5_extend.c

​ 提示h5cc找不到命令,应该是未安装吧,用下述命令安装:

sudo apt install hdf5-helpers
sudo apt-get install libhdf5-serial-dev

​ 在遇到是否下载的提示时输入Y,或在上述命令后加 -y

2.4 安装Python及相关模块

​ 在终端依次输入:

sudo apt install python3
sudo apt install python3-pip -y
sudo pip3 install numpy vtk scipy h5py -i https://pypi.tuna.tsinghua.edu.cn/simple

​ 上面下载numpy vtk scipy h5py 四个包调用了清华源。

2.5 安装Paraview(非必要)

​ Paraview为开源且跨平台的可视化软件,可以在Linux系统下使用,也可以在Windows下使用。我个人习惯于将文件传到Win端进行查看。因此这一步完全可以在Win下进行安装。如需在Linux下进行安装,则在终端输入:

sudo apt install paraview -y

3.系统认定

3.1 DAMASK软件设定

​ 解压DAMASK软件,在解压后的文件夹内打开终端,如下所示:

image-20210509112200194

​ 输入下面命令修改config:

sudo gedit CONFIG

​ 若提示找不到gedit命令,则有可能是没有安装,执行:

sudo apt-get install gedit

​ 若没有该提示则可忽略。

​ 在打开的*CONFIG文件中,根据自己的系统进行修改。

image-20210509112246012

3.2 修改环境变量

​ 在桌面使用快捷键 Ctrl+Alt+T 调出终端,或在上述终端输入:

cd

​ 退出当前的文件夹,显示如下:

image-20210507212707857

​ 输入下述命令,打开.bashrc文件

sudo gedit .bashrc

​ 找到DAMASK.sh的位置,我这里是:

image-20210507213250845

​ 在打开的.bashrc文件末尾添加DAMASK.sh的位置,如下图所示:

image-20210509112845763

​ 在桌面重新打开终端或退出文件夹,变成admin@admin的形式。输入:

source ~/.bashrc

可以看到下图所示:

image-20210507214833226

3.3 安装前后处理工具

​ 在DAMASK文件夹内的终端依次输入:

make processing
source ~/.bashrc

​ 可以看到前后处理器已经有了:

image-20210507215735213

4.安装通用求解器

4.1 安装PETSC和FFTW

​ 解压petsc软件,在解压后的文件夹打开终端,依次输入下述命令:

sudo apt install automake valgrind -y
sudo apt install libblas-dev liblapack-dev python3-mpi4py python3-petsc4py -y
sudo apt-get install gfortran-multilib libgl1-mesa-dev -y

​ 安装过程较为漫长,慢慢等待。

4.2 对PETSC进行configure

4.2.1 自动进行configure

./configure \
    --with-fc=$F90 --with-cc=$CC --with-cxx=$CXX \
    --download-mpich \
    --download-fftw \
    --download-hdf5 \
    --download-fblaslapack \
    --download-chaco  \
    --download-hypre \
    --download-metis \
    --download-ml \
    --download-mumps \
    --download-parmetis \
    --download-scalapack \
    --download-suitesparse \
    --download-superlu \
    --download-superlu_dist \
    --download-triangle \
    --download-zlib \
    --with-cxx-dialect=C++11 \
    --with-c2html=0 \
    --with-debugging=0 \
    --with-ssl=0 \
    --with-x=0 \
    COPTFLAGS="-O3 -xHost -no-prec-div" CXXOPTFLAGS="-O3 -xHost -no-prec-div" FOPTFLAGS="-O3 -xHost -no-prec-div" \
    PETSC_DIR=$(pwd)

​ 上述代码为DAMASK官网的,但在实际运行过程中存在问题,有些进行download的包并不能下载下来导致报错,因此可以对上述代码进行修改,将一些不能直接通过该命令下载的包提前下载好,通过

--download-下好的包=本地存储路径

的方式进行安装,就可以解决该问题。我的configure代码如下:

./configure \
    --with-cc=gcc --with-cxx=g++ --with-fc=gfortran \
    --download-mpich=/data/home/fischer/damaskinstall/mpich-3.3b1.tar.gz \
    --download-fftw=/data/home/fischer/damaskinstall/fftw-3.3.7.tar.gz \
    --download-hdf5=/data/home/fischer/damaskinstall/hdf5-1.8.18.tar.gz \
    --download-fblaslapack=/data/home/fischer/damaskinstall/fblaslapack-3.4.2.tar.gz \
    --download-chaco=/data/home/fischer/damaskinstall/Chaco-2.2-p2.tar.gz \
    --download-hypre=/data/home/fischer/damaskinstall/hypre-2.11.2.tar.gz \
    --download-metis \
    --download-ml \
    --download-mumps \
    --download-parmetis \
    --download-scalapack\
    --download-suitesparse=/data/home/fischer/damaskinstall/SuiteSparse-4.4.3.tar.gz \
    --download-superlu=/data/home/fischer/damaskinstall/superlu.tar.gz\
    --download-superlu_dist=/data/home/fischer/damaskinstall/superlu_dist-6.1.1.tar.gz \
    --download-triangle \
    --download-zlib \
    --with-cxx-dialect=C++11 \
    --with-c2html=0 \
    --with-debugging=0 \
    --with-ssl=0 \
    --with-x=0 \
    COPTFLAGS="-O3 -xHost -no-prec-div" CXXOPTFLAGS="-O3 -xHost -no-prec-div" FOPTFLAGS="-O3 -xHost -no-prec-div" \
    PETSC_DIR=$(pwd)

​ 通过这样的方式便可以将configure配置好。接下来可以根据完成后提示的代码(在完成后复制提示的命令输入),基本和我的相同,如下:

make PETSC_DIR=/data/home/fischer/petsc-3.10.4 PETSC_ARCH=arch-linux2-c-opt all

​ 同理,再次复制并输入提示的命令:

make PETSC_DIR=/data/home/fischer/petsc-3.10.4 PETSC_ARCH=linux-gnu-c-opt check

​ 执行完毕后再在DAMASK文件夹终端执行:

source ~/.bashrc

​ 接着执行:

sudo pip3 install petsc -i  https://pypi.tuna.tsinghua.edu.cn/simple
make spectral

​ 进行安装PETSC库,这里使用了清华源

​ 如果提示 make:*** build/spectral错误,则需要添加环境变量,执行:

sudo gedit ~/.bashrc

​ 在结尾添加环境变量:

export PETSC_DIR=/data/home/fischer/petsc-3.10.4
export PETSC_ARCH=arch-linux2-c-opt

​ 则更改之后的.bashrc文件如下所示:

image-20210507223251206

​ 接着输入:

make clean
make spectral

​ 即可看到已经安装成功(这里显示的是视频中的截图):

image-20210507223725440

​ 至此DAMASK的安装已经结束。

5.小结

​ DAMASK的安装过程较为繁琐,并且需要一定的Linux基础,这对刚入门的人来说是比较困难的,之所以选择Deepin系统,首先,那当然是视频教程本来就用的它啦~(雾)。。。其实这不是最主要的原因,Ubuntu我也同样安装成功了,Deepin相比于Ubuntu来说有几个所谓的优势:

​ 1.界面非常友好。 类似于MAC的桌面,以及文件的管理方式,图形化界面减少命令行的输入,甚至 Ctrl+C 和Ctrl+V都能用。

​ 2.不用安装镜像源。 一般来说,用Ubuntu官方的镜像源并不是最优的下载地址,就要切换到国内的镜像源。但是Deepin本身就是国内版本,因此不必修改镜像源,能省一步是一步。(当然不得不说有些库还是不全,BUG也不少)

​ 目前来看DAMASK在国内用的还是不多,目前也只是照着外网的视频做了几个例子,有时间也整理一下以备日后不时之需。

​ Fischer-stardust 于HIT(SZ)