首页 > 行业资讯 > 在Windows系统下安装和使用Voronoi生成器Neper

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

时间:2023-05-27 来源: 浏览:

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

原创 GeotechWu 计算岩土力学
计算岩土力学

GeotechWu

计算岩土力学(Geomechanics)是一个综合的岩土工程(Geotechnical Engineering)信息源。

收录于合集
1 引言

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

  • Voronoi块体单轴抗压强度(UCS)试验

  • GeotechGPT训练产生的---带承压板的Voronoi块体单轴抗压强度试验

  • 三维Voronoi块体的单轴抗压强度试验

  • 岩石断裂过程的数值模拟(rock fracturing processes)

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:Usersm内,必须注意目录名称不能使用 n eper ,否则后来编译时会出错。
一般情况下,Windows系统下的文件与Linux系统下的文件是不能互相访问的,必须把这些文件放在Linux系统下,使用WSL的好处是可以在Linux系统下访问Windows系统下的文件。
3.3 安装G++编译器
当安装WSL时,并没有默认安装G++编译器,因此需要安装。使用下面的命令:

sudo apt-get update sudo apt-get install g++ g++ --version which 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 update sudo apt-get install libgsl-dev gsl-config --version

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

sudo apt-get update sudo apt-get install libscotch-dev libnlopt-dev

3.6 编译Neper
在安装完成上述软件包之后,便可以开始编译Neper啦。

cd src mkdir build cd build cmake /mnt/c/Users/m/neperwu/src make -j sudo make install

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

sudo apt install cmake-curses-gui ccmake .. 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 update sudo 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

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐