运行环境
系统: Ubuntu16.04
Neper: version-3.5.0
学习记录一
该学习记录主要针对Neper
的晶粒建模过程, 用于在Abaqus
中进行细管尺度上的研究.
- 初始化文件
调用模块前, 可以使用选项–rcfile指定另一个初始化文件.
当调用Neper的模块时, Neper在初始化文件中查找’neper module_name’的出现.
找不到初始化文件, 或者找不到’neper module_name’, 则neper将考虑命令行参数.
初始化参数仅使用最后指定的值
1 | 该处为禁用读取初始化文件 |
- 模块
模块名称: -T, -M, -V
模块参数: 包括所需的输入数据和选项
输入数据(不是文件名)和选项以
-
开头可以按任意顺序选项提供选项, 每个选项后跟一个参数
可以分别提供参数值
0
或1
来禁止和启用逻辑选项
- 参数分隔符
,
分隔符组合了相同类型的参数, 可以相互独立的进行处理
:
分隔符用于组合相关参数, 即不同类型的参数, 这些参数不能进行独立的处理
::
用于模块-T(以及模块-M中的一点), 用于将参数值分配给多尺度曲面细分的不同比例, 优先于,
和:
分隔符
学习记录二
细分模块-T
(镶嵌模块)
模块-T
以二维或三维方式生成有界空间域的曲面细分
和多尺度曲面细分
, 域必须是凸的, 且细分模块可以使曲面细分规则化, 从而实现更高质量的网格划分, 还可以为曲面细胞生成晶体去向
.
在该模块下, 输出文件以标量格式.tess
或者栅格格式描述曲面细分, 还有.tesr
两者都是模块-M
的输入文件.
输入数据
1 | #-n 指定曲面细分的单元格数 |
- 形态选项
1 | -morpho char_string |
- 晶向选项
1 | -ori 指定晶体取向分布的类型 |
- 转换选项
1 | -transform char_string(...) [标量镶嵌] 用于尺度上的缩放 |
- 正则化选项
1 | -regularization logical 使镶嵌正则化,即去除小边,间接去除小面. 对于3D, 可以使得平面变为非平面 |
- 输出选项
1 | -o file_name 指定输出文件名 |
- 后处理选项
1 | #第一个选项适用于曲面细分或栅格镶嵌的单元格和种子,与其尺寸无关 |
- 调试选项
1 | -checktess file_name |
输出文件
- 镶嵌
1 | Neper tessellation file: .tess 它包含镶嵌的标量说明 |
- 统计
为细胞、种子、顶点、边、面、多面体和点提供统计, 它们按每行一个实体进行格式化
1 | 每一行都包含指定给相应的-stat选项的数据 |
- 镶嵌优化日志文件
1 | 提供日志文件的时间,变量,统计分布和目标函数值 |
网格划分模块-M
模块-M
是用于对标量和栅格镶嵌进行网格划分的模块, 有两种网格划分策略可用.
参数
- 前提
1 | 指定Gmsh二进制文件的路径(用于划分为三角形和四面体单元) |
输入数据
在正常使用中, 输入数据是镶嵌文件
.tess
, 栅格镶嵌文件tesr
和网格文件.msh
.也可以从文件加载结果网格(使用选项-o不会覆盖文件). 如果该文件包含的尺寸小于镶嵌的尺寸的网格,则使用这些网格,并且仅生成高维的网格
- 网格选项
1 | 在四面体'tet'和六面体'hex'之间指定单元的类型, 可以使用2D对应的''tri'和'quad', 它们是等效的. |
指定网格算法
2D网格算法
1 | neper -mesh2dalgo char_string |
The available values are mead (MeshAdapt), dela (Delaunay) and fron (Frontal).
1 | Possible values: mead, dela, fron. Default value: mead,dela,fron. |
3D网格算法
1 | neper -mesh3dalgo char_string |
- 网格转换选项
1 | 将网格按照三个轴向的方向进行缩放 |
- 网格划分选项
使用libScotch库可实现网格划分
网格划分的原理是创建相同大小的分区,同时最小化它们之间的界面
- 输出选项
1 | 指定输出文件名 |
- 后处理选项
1 | 提供节点的统计信息 |