/中文/
/中文/
/中文/
/英文/
/中文/
/中文/
/中文/
/中文/
/英文/
/英文/
软件Tags:
netgen提供建模功能,可以在软件上通过编程的方式生成几何模型,方便用户在分析动力学、分析流体的时候建立模型,支持定义和网格化2D几何、构造实体几何CSG、使用网格、手动生成网格、网格尺寸和细化等常用的功能,结合python就可以为用户提供更专业的编程方案,适合喜欢通过python绘图和建模的朋友使用;软件也提供NGSolve功能,用户可以在NGSolve软件创建2D模型,可以在软件生成网格,可以对实体编辑,可以使用各种函数创建模型,适合需要编辑多面体网格的朋友使用,如果你会使用netgen就下载吧!
Netgen / NGSolve是一款高性能的多物理场有限元软件。它被广泛用于分析来自固体力学,流体动力学和电磁学的模型。由于其灵活的Python界面,可以轻松实现新的物理方程式和求解算法。
一体
从几何建模,网格生成,数值模拟到可视化的无缝集成
灵活的
变量公式的数学描述允许耦合任意物理模型
准确的
先进的数值技术:高阶,矢量,混合和不连续,Galerkin方法
高效的
适用于函数空间和微分方程的强大预处理器
高性能
用现代C ++编写的并行计算核心与Python脚本编写的灵活控制相结合
打开
基于LGPL许可证的开放源代码,可通过C ++模块和Python包进行扩展
局部网格尺寸
边界的局部网格大小已指定给实体对象本身,可以在将其添加到几何对象时设置体积网格大小各向异性网格
Netgen可以使用闭合曲面识别来创建各向异性网格。它将用棱镜填充该层,可以对其进行切片
构造实体几何CSG
构造性实体几何格式允许定义几何图元,例如球体和圆柱体,并对它们进行布尔运算。此类对象为实体类型。
定义和网格化2D几何
Netgen-python允许通过边界曲线定义2D几何形状。曲线可以是直线,也可以是二阶有理曲线。
1、打开NGSuite-6.1-win64.msi软件直接安装,点击下一步
2、软件的安装协议内容,点击接受
3、提示附加的安装内容,设置安装地址C:\Program Files\netgen6.1\
4、提示安装准备完毕,点击install
5、软件的安装进度条界面,等待主程序安装结束吧
6、NETGEN成功安装到电脑,点击finish
2D中的几何
我们必须SplineGeometry从geom2d模块中导入类,以便能够生成二维几何。导入模块后,我们可以创建一个新的SplineGeometry。
现在,我们可以使用一个预定义的对象(矩形,圆形),或使用二阶直线或有理样条生成我们自己的几何。
预定义的几何
首先,我们使用预定义的对象,并在边界条件为rectangle和的情况下向我们的几何图形添加一个矩形和一个圆circle。
为了获得合适的几何形状,我们必须为曲线左侧的区域和右侧的区域设置区域编号。在这种情况下,以数学上肯定的方式对曲线进行参数设置。此外,我们可以使用SetMaterial名称来标识域。
使用线和样条线
我们定义一个新的几何图形,并编写一个要用于几何图形的点的列表,并将其添加到地理几何图形中。
然后,我们定义定义几何的曲线,并使用将它们添加到几何中Append。
除边界条件外,还可以使用可选参数为整个曲线设置最大网格大小maxh。
周期性几何
以下示例显示了如何为周期构造几何 L2L2 有限元素空间。
同样,我们从将点添加到几何体开始。在这种情况下,六边形的点。对于前三个段,我们保存的返回值(行号)geo.Append。现在,我们可以使用这些行号来标识最后三个段中的每个段,它们的对面已经添加了相反的段。这种识别是通过可选参数完成的copy。然后,网格划分算法只是将边界网格复制到相反的部分。因此,这些段必须具有相同的方向。
二维CSG(NEW)
SplineGeometry的替代方法是新的CSG2d接口,该接口允许使用构造性实体几何定义(类似于3D)。
此功能是新功能,与相比,目前有一些限制SplineGeometry,例如周期性边界。
第一个例子
Solid2d类
在内部,只有一个实心类型(Solid2d),其中包含二次样条线段的闭合链。为了方便起见,有一些辅助函数,类似于Rectangle和Circle上面使用的。
的一般构造函数Solid2d需要一个点列表。要定义弯曲的线段并设置各个边的属性(例如边界条件名称和maxh),可以将EdgeInfo对象放置在两个点之间,也可以PointInfo在一个点之后放置一个对象。
构造实体几何(CSG)
这些几何形状是基于基元(例如,球体,圆柱体,平面)的,这些基元用于通过执行布尔运算来构建实体。Netgen提供以下原语
和布尔运算符
使用这些原语和操作,我们可以轻松地构建一个多维数据集。首先,我们导入netgen.csg模块,创建6个平面并将它们相交以获得实体cube。
然后,我们创建一个CSGeometry对象并添加实体。
设置实体的属性
实体具有我们可以设置以定义所需属性的成员。
如果我们想可视化几何图形,我们可以定义颜色(使用rgb值)和实体的透明度。
为了改善弯曲几何形状的近似性,可以使用弯曲元素。这可以在内完成NGSolve。因此,我们必须在将其弯曲之前将其转换为Netgen网NGSolve格。
设定网眼尺寸
有以下选项可设置网格大小:
全局作为参数maxh的GenerateMesh
到一种固体的表面(maxh如上所述)
将实体添加到几何体时作为可选参数的体积 Add(...,bc)
限制使用1点的网格大小 RestrictH
用于CloseSurfaces生成各向异性网格
全局网格尺寸
可以使用命名参数设置全局网格大小maxh。以下两个版本是等效的,因为如果未指定命名参数,则GenerateMesh函数的所有参数都将解析为。MeshingParametersmp
一个实体的网格大小
要为网格的一个域设置网格大小,我们必须maxh在将实体添加到几何体时添加所需的参数
表面的网眼尺寸
如果只想在曲面上进行细化,则将其定义为实体的属性。
网格尺寸(以磅为单位)
可以使用来完成MeshingParameters。使用RestrictH我们可以在任意点定义网格大小。
各向异性网格
如果几何体包含薄层CloseSurfaces,则可以避免使用小角度的元素。
设定边界条件
固体表面的边界条件
通过将实体作为属性添加到实体上,可以在实体的整个表面上设置边界条件。
修改两个实体之间的边界
这可以通过bcmod在将实体添加到几何体时添加命名参数来完成。在这里,我们更改halfsphere和之间的边界条件box。