首页/文章/ 详情

在Windows系统下安装和使用Voronoi生成器Neper

1年前浏览5498
1 引言

Voronoi单元是UDEC和3DEC内置的一种单元,用于模拟不同尺度的岩石断裂过程。尽管UDEC在V1.5版本(20多年前)就引入了二维Voronoi,但3DEC在V7.0后才引入了三维Voronoi,3DEC V5.2不支持Voronoi,如果要在3DEC V5.2中使用Voronoi,必须通过geometry导入外部软件产生的Voronoi,有这样一个软件Neper可以实现这一点,它是一个开源软件,不过这个软件是在非Windows系统下开发的,不能直接应用于Windows系统。本文描述了如何在Windows下安装和使用Neper,事先说明一下,这是一个非常冗长的操作过程,因为它需要安装许多其它库。


2 Neper简介

Neper是一个用于多晶体(polycrystal)生成和网格划分的软件包。多晶体可以是二维或三维。Neper是围绕四个模块建立的:
(1) 模块-T将多晶体生成为镶嵌体(tessellations.);
(2) 模块-M将多晶体描述为镶嵌体文件;
(3) 模块-S处理来自FEPX的模拟结果;
(4) 模块-V可以生成出版物质量的PNG图像或镶嵌体、网格和模拟结果的VTK文件【ParaView在ADONIS, Plaxis, FLAC3D和3DEC中的应用】。
本文主要使用了(1)和(4)的功能,即首先生成一个镶嵌体文件,然后利用这个文件产生出一个png图像。

3 Neper安装过程
Neper是用C语言和少量C++语言编写的,它可以在任何类Unix系统(包括macOS)上运行。Neper也可以使用Linux的Windows子系统WSL、Ubuntu或类似的解决方案在微软Windows上运行。由于我们主要使用Windows系统,因此决定不使用双系统启动,而是使用Linux的Windows子系统WSL。
3.1 安装WSL
当在Windows系统下安装Docker【试一试本地搭建ChatGPT镜像的神器】的时候,会自动提示升级或安装WSL。
3.2 下载Neper
在Neper网站上下载源代码文件包neper-main.zip,这个压缩包大约24M。解压后放到C:\Users\m内,必须注意目录名称不能使用neper,否则后来编译时会出错。
一般情况下,Windows系统下的文件与Linux系统下的文件是不能互相访问的,必须把这些文件放在Linux系统下,使用WSL的好处是可以在Linux系统下访问Windows系统下的文件。
3.3 安装G++编译器
当安装WSL时,并没有默认安装G++编译器,因此需要安装。使用下面的命令:




sudo apt-get updatesudo apt-get install g++g++ --versionwhich g++
第一行更新软件包,第二行安装g++, 安装完成后用第三行检查版本号:

g++ (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0
第四行检查GNU C++编译器的路径(/usr/bin/g++)。
3.4 安装GSL库
编译Neper需要GSL(GNU Scientific Library)库,因此在编译前必须安装:



sudo apt-get updatesudo apt-get install libgsl-devgsl-config --version
最后一行命令用来检查GSL的版本号(2.7.1)。
3.5 安装Scotch和NLopt
编译Neper需要Scotch和NLopt库。Scotch是一个用于图形和网格划分的软件包,而NLopt是一个用于非线性优化的库。


sudo apt-get updatesudo apt-get install libscotch-dev libnlopt-dev
3.6 编译Neper
在安装完成上述软件包之后,便可以开始编译Neper啦。






cd srcmkdir buildcd buildcmake /mnt/c/Users/m/neperwu/srcmake -jsudo make install
首先进入src目录,建立一个新的子目录build,接着进入到build目录,使用CMake编译,需要注意的是make -j命令,-j的含义是使用多线程编译,如果不使用-j,单线程编译花费的时间会很长。
3.7 测试Neper
编译完成后,对这个软件包进行测试:



sudo apt install cmake-curses-guiccmake ..make test
测试结果显示共有460个模块,其中91%通过了测试,43项没有通过测试。没有通过测试的为-M模块和-V模块。-M模块主要功能为划分网格,需要安装GMsh软件包,而-V模块需要安装POV-Ray软件包。
3.8 检查Neper
使用下面三行命令检查Neper的安装完整性:
(1) neper --help
(2) neper --version
4.6.1-3
(3) neper --license
3.9 安装POV-Ray
POV-Ray用于输出png图像,安装命令如下:


sudo apt-get updatesudo apt-get install povray

4 试验
下面的命令用来创建一个包含100个块体的镶嵌体:

neper -T -n 100
这个命令在build文件夹内生成文件n100-id1.tess。接着使用命令

neper -V n100-id1.tess -print img1

输出名为img1.png的图像。产生另一个镶嵌体,文件名为n100-id2.tess


neper -T -n 100 -id 2
可视化输出名为img1b的png图像:

  
neper -V n100-id2.tess -print img1b  


来源:计算岩土力学
断裂非线性FLAC3D3DEC试验ParaView
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-05-29
最近编辑:1年前
计算岩土力学
传播岩土工程教育理念、工程分析...
获赞 147粉丝 1059文章 1782课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈