首页/文章/ 详情

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

11月前浏览2517
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
                        最近编辑:11月前
                        计算岩土力学
                        传播岩土工程教育理念、工程分析...
                        获赞 118粉丝 866文章 1721课程 0
                        点赞
                        收藏
                        未登录
                        还没有评论

                        课程
                        培训
                        服务
                        行家

                        VIP会员 学习 福利任务 兑换礼品
                        下载APP
                        联系我们
                        帮助与反馈