我是个计算机小白本白+超级菜鸟,由于我的电脑系统是win10,网上很多对Fenics有限元框架的文章可能不是非常适合我。一开始在老师的指导下,想要在windows下通过下载Docker来安装,但没有成功。后面开始安装虚拟机,最近才在linux环境下搭建Fenics有限元框架,很幸运看到了一篇类似的博客,并与作者进行了讨论,于是想要记录一下,给有需要的同学们一点帮助,希望大家都能成功安装,也欢迎指教~
本文转载整理自:
我的软件下载版本:
VMwareWorkstation 16 Pro, ubuntu 20.04
我的电脑版本:
windows 10家庭版
具体步骤:
第一步:创建root账户,在终端输入:
sudo passwd root
该命令是ubuntu首次为root账户设置密码,先输入当前账户的密码,再创建root账户的密码,并确认。(补充:root账户和登陆ubuntu开机时的账号不一样。Ubuntu装好后只有一个用户,这个用户是有管理员权限的普通用户,不能访问根目录,如果ubuntu访问根目录,可以把自己整个删除,所以需要一个可以访问根目录的超级管理员账号,这就是root账号,所以root账号需要另外创建。)
第二步:Ubuntu更换国内镜像站的源,推荐阿里源或者中科大源。
先输入以下命令用来备份/etc/apt/sources.list文件:
su
会让你输入密码,然后再输入
mv /etc/apt/sources.list /etc/apt/sources.list.backup
这时,sources.list文件已经变为空白,
再输入以下命令,修改sources.list文件
sudo gedit /etc/apt/sources.list
此时,会自动弹出空白的sources.list文件,
选择下面三个中的一个源,黏贴进入sources.list中保存后关掉(我选择的是中科大源)。
#南科大源
deb https://mirrors.sustech.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.sustech.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.sustech.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.sustech.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.sustech.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.sustech.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.sustech.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.sustech.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.sustech.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.sustech.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
#中科大源
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
#阿里云源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
这时终端出现了警告,先不要管。
如果遇到:无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?尝试如下命令:
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
这时,已经换源成功。
第三步:安装anaconda,
通过ubuntu里的Firefox浏览器去到anaconda官网下载界面https://www.anaconda.com/distribution/, 下载最新版本的anaconda安装文件,Linux对应的文件后缀名是.sh
在界面的右边选择点击Get Additional Install,再选择Linux下面的第一个64-Bit(x86)Installer(554MB)。
点击确定。
默认的是保存在/home/hjl/下载里面,可以把下载的Anaconda3-2021.05-Linux-x86_64.sh复制到自己账户的根目录下(~/home/hjl/)
打开终端,输入命令:
bash Anaconda3-2021.05-Linux-x86_64.sh
按Enter继续,直到出现问你
Do you accept the license terms?[yes|no],输入yes
然后又问你是否安装在根目录下,输入yes
接着又问你是否愿意用conda init来初始化anaconda3,输入yes
然后会出现
安装完成后再终端输入:
sudo gedit ~/.bashrc
并输入自己的密码
在弹出的文件最后添加
export PATH="/home/hjl/anaconda3/bin:$PATH"
保存文件并关闭。
关闭文件后,在终端输入
source ~/.bashrc
这时,重启终端后,用户名前面会出现(base)字样,这是因为anaconda的base环境自动启动了,可以通过以下命令关闭base环境自启动。该命令表示只关闭本次启动的base环境(事实上,可以关闭任何已经进入的环境)
conda deactivate
再输入python检查是否安装成功,如果出现以下所示的anaconda字样,则说明安装成功。
第四步:安装FEniCS有限元框架,先输入以下命令
conda create -n fenicsproject -c conda-forge fenics
直到出现Proceed([y]/n)?输入y
等待继续安装。等待安装完成后,可以尝试启动该环境,输入
source activate fenicsproject
或
conda activate fenicsproject
每次当你需要调用fenics时,都需要执行conda activate fenicsproject命令。
第五步:在fenicsproject环境下,安装fenics所需要的库函数,输入命令:
conda install numpy
安装过程中出现Proceed([y]/n),输入y,在输入命令
conda install matplotlib
conda install pandas
安装过程中出现Proceed([y]/n),输入y
再输入命令查看fenicsproject环境中模块
conda list
第六步:安装paraview后处理工具,输入
sudo apt install paraview
出现错误:无法定位软件包paraview
解决方法:更新一些软件源,输入命令
sudo apt-get update
再继续输入命令重新安装paraview
sudo apt install paraview
看到 您希望继续执行吗?[Y/n]输入Y
第七步:安装mshr包,注意一定要在自己创建的fenicsproject环境中,输入:
cd anaconda3
git clone http://bitbucket.org/fenics-project/mshr
出现git没有找到,需要先安装git,输入
sudo apt install git
然后再输入
git clone http://bitbucket.org/fenics-project/mshr
第八步:安装Python IDE:jupyterLab ,安装IDE时需要在激活的fenics环境中安装,否则即使安装成功也没有办法调用fenics。
先进入fenics环境,输入:
conda activate fenicsproject
安装jupyterLab,输入:
conda install jupyterLab
如果conda报错,可以用
pip install jupyterLab
看到Proceed([y/n]),输入y
安装完成后,输入
jupyter lab
如果浏览器可以正常打开并且弹出jupyterlab的页面的话,说明安装成功。
有任何问题欢迎留言或者通过邮箱(1135762269@qq.com)与我交流哟~
最后,特别谢谢李姣老师和刘亚卓同学对我的帮助,也希望看到本文的同学们能顺利完成Fenics框架的安装,加油!