博客主机
A-A+

开源离散元软件YADE的安装与编译(基于ubuntu18.04)

2020年01月22日 离散元法 暂无评论 阅读 943 次

转载自CSDN博主「深度不想学习」的原创文章

 

简介

Yade是一款十分好用的开源离散元软件,其简单易用,拓展性强。然而,无论是在其官网还是各类博客,都只介绍了其在较老版本ubuntu系统中的安装,我寻找了很久都没有找到在ubuntu18.04中的安装方法。后来经过多次尝试,终于安装成功。本教程适合对Yade安装和ubuntu使用不熟悉的新手,方法理论上适用于各版本的ubuntu系统。如有错误,还请大家指出。

修改下载源

ubuntu系统自带的源由于服务器在境外,下载速度非常慢,建议换成国内的镜像源,比如清华源、阿里云源等等。此处以ubuntu18.04 替换为清华镜像源为例。首先在ubuntu系统中使用Ctrl+Alt+t打开terminal终端,在终端中输入:
sudo gedit /etc/apt/sources.list

不要忘记使用sudo,否则无法保存文件修改。将其中的内容全部删除(不放心的话可以自行备份一下),替换为下面的清华源(18.04)。

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

如果是其他的ubuntu版本,替换的内容请参考:清华镜像源。

替换保存以后,在终端输入:sudo apt-get update刷新源。

如果不想使用gedit,也可以使用vim修改源文件。
sudo vim /etc/apt/sources.list
打开以后按i,进入-插入-模式,替换内容(操作与普通文字软件无异)。
修改好了以后按Esc退出插入模式,输入命令:wq保存并退出vim。

如果提示未安装vim,可以先使用:sudo apt-get install vim安装。

如此,源便替换好了。

安装Yade发行版

Yade在ubuntu系统上已经提供了稳定版本的Yade。如果不需要修改源代码可以直接使用这种方法。

直接在终端中输入sudo apt-get install yade即可安装稳定版本的Yade。

我们也可以添加Yade官方的源,安装更新更加频繁的Yade daily。

sudo bash -c 'echo "deb http://www.yade-dem.org/packages/ bionic/" >> /etc/apt/sources.list'
wget -O - http://www.yade-dem.org/packages/yadedev_pub.gpg | sudo apt-key add -
sudo apt-get update
sudo apt-get install yadedaily

注意:其中第一行的bionic即为ubuntu18.04的版本代号,如果为其他版本的系统,需要替换为相应的代号。使用命令lsb_release -a可以查看ubuntu版本号。

如果是通过以上两种方式安装的发行版Yade或者Yade-daily,直接在terminal中输入yade或者yadedaily即可运行。

具体的使用方法请参考官方手册,如果有必要,我后面会考虑更新一些。

Yade的编译与安装

既然是开源软件,只使用稳定的发行版显然有点浪费。如果你需要自行编译、安装Yade软件请继续看下文。

源文件下载

源文件可以直接到我的博客下载。下载链接
也可以到github下载zip压缩包,但注意解压后将文件夹改名为trunk(注意,trunk文件夹里要直接包含cMake、core文件夹才行,不要再套一层文件夹)。

在ubuntu的home文件夹创建目录myYade,将trunk拷贝进去。

依赖库的安装

官方的文档对于老版本的说明已经很清楚了,Yade官方安装教程,但是其中的external packages只提供了老版本ubuntu的依赖库。

20190116141335100

这起初给我的安装带来了不少的麻烦,而且按照官网方法安装依赖库的那一长串代码输入终端以后也总是提示出错。(如果你能按官网方法安装成功那就忽略我后面的方法,直接进入cmake编译环节。)

后来我在lunchpad上找到了各版本yade所需要的支撑库内容。
进入该网页寻找到你的系统版本对应的yade的页面。
此处以18.04 bionic为例。在yade bionic的网页向下滚,有Package relationships一栏,其中包括了所有的支撑库。使用命令:

sudo apt-get install cmake debhelper dh-exec freeglut3-dev help2man ipython libboost-all-dev libbz2-dev libcgal-dev libeigen3-dev libgl1-mesa-dev libgmp-dev libgts-dev libloki-dev libmetis-dev libopenblas-dev libqglviewer-dev-qt5 libsuitesparse-dev libvtk6-dev libxi-dev libxmu-dev pyqt5-dev-tools python-all-dev python-gts python-matplotlib python-minieigen python-numpy python-pil python-pyqt5 python-pyqt5.qtsvg python-sip python-tk python-xlib zlib1g-dev dvipng graphviz libjs-jquery lmodern python-bibtex python-sphinx texlive-fonts-recommended texlive-generic-extra texlive-latex-extra texlive-latex-recommended texlive-pictures texlive-xetex tipa

即可批量安装全部支撑库。

其他版本的安装命令请参考你查到的实际所需的支撑库内容做修改。

cmake编译与安装

回到之前创建的myYade文件夹中,创建install、build两个文件夹。

20190116161524305

打开终端,输入命令cd ~/myYade/build即可进入build文件夹。

输入命令cmake -DCMAKE_INSTALL_PREFIX=../install ../trunk将build源程序trunk到install。可以在命令最后添加-DNOSUFFIX=ON(注意空格)避免生成版本号。

输入make开始编译。编译过程比较慢,如果要使用多核加速,在make后面添加-j8来进行多核加速,如make -j8即使用8核加速来编译。核数请按照你的电脑实际的核心数量来。

编译过程中会有进度显示,如果编译失败请多尝试一次编译,或者检测是否少安装了支持库之类的。编译完成以后,输入:
make install

即可完成安装。

运行Yade

在终端中输入~/myYade/install/bin/yade即可启动Yade。

输入yade.qt.Controller();打开控制界面。

其他

以上简单介绍了ubuntu下安装yade的方法,如有疑问可以留言。后续可能会更新一些别的使用方法的教程。参考:

https://yade-dem.org/doc/installation.html

https://launchpad.net/yade/trunk

http://blog.sina.com.cn/s/blog_7faab07b0102vy1c.html

————————————————

添加一些其他有用的链接:

Documentation:

Downloads:

Teams involved:

Miscellaneous:

 

 

博客主机

给我留言