当前位置: 首页 > 软件库 > 其他开源 > 工业软件 >

Netgen

二/三维四面体网格生成器
授权协议 LGPL
开发语言 C/C++ HTML/CSS
所属分类 其他开源、 工业软件
软件类型 开源软件
地区 不详
投 递 者 程和蔼
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Netgen 是一个的二/三维四面体网格生成器,接受基于构造实体几何法 (CSG) 或边界表示法 (BRep) 的 STL 文件格式的实体模型输入,它与几何内核连接,能够处理 IGES 和 STEP 文件。

Netgen 一般搭配 NGSolve 库组合使用(相关教程一般会写成 NETGEN/NGSolve),NGSolve 是一个有限元库,包含所有标准元素几何图形的任意阶有限元,可以链接到 Netgen 使用。

NETGEN/NGSolve 包含用于网格优化和分层网格细化的模块,可完成有限元模拟的完整工作流程,包括从几何建模、网格生成、数值模拟到可视化的无缝集成,两者皆基于 LGPL 分发

Netgen 6.x 支持通过 Python 接口编写脚本,适用于 Unix、Linux、Windows 和 macOS。

特性

  • 一体化:NETGEN/NGSolve 可完成有限元模拟的完整工作流程,从几何建模、网格生成、数值模拟到可视化的无缝集成
  • 灵活:Python 前端 NGS-Py 提供了一种灵活的方式来设置和组合各种物理模型。
  • 准确:NETGEN/NGSolve 为常见的物理场提供准确的有限元空间。除了通常的标量函数空间,NGSolve 还包含用于电磁场的 Nedelec 类型的矢量有限元,以及用于通量的 Raviart-Thomas 或 Brezzi-Douglas-Marini 元素。
  • 高效:有限元模拟中最耗时的部分是方程求解器,大规模问题需要具有快速预处理器的迭代求解器。NGSolve 提供了几个有效的预处理器,例如多重网格或域分解方法。
  • 高性能:NGSolve 使用不同级别的并行计算:所有计算密集型函数都是任务并行的。工作功能被组织为计算内核,由任务管理器分配给可用线程。
  • 开放:Netgen/NGSolve 基于 LGPL 开源许可证免费分发,可以在学术和商业环境中使用它。

Netgen 示例:3D 圆环

为了获得一个圆环,我们在该点 (0,R) 周围定义一个圆:通过定义一组用于定义样条的控制点来完成。

然后使用函数 AddPoint 和 AddSegment 将这些点和样条线添加到 SplineCurve2d 。

spline = SplineCurve2d() # create a 2d spline
R = 1                    # define the major radius
r = 0.2                  # define the minor radius
eps = r*1e-2

# define the control points
pnts = [ (0,R-r), (-r+eps,R-r+eps), (-r,R),
         (-r+eps,R+r-eps), (0,R+r), (r-eps,R+r-eps), (r,R), (r-eps,R-r+eps) ]
# define the splines using the control points
segs = [ (0,1,2), (2,3,4), (4,5,6), (6,7,0) ]

# add the points and segments to the spline
for pnt in pnts:
    spline.AddPoint (*pnt)

for seg in segs:
    spline.AddSegment (*seg)

然后通过围绕由点(-1,0,0)和(1,0,0) 定义的轴旋转二维样条来生成圆环:

rev = Revolution ( Pnt(-1,0,0), Pnt(1,0,0), spline)

最后生成一个 CSG 对象,并添加刚刚定义的环面。

geo = CSGeometry()
geo.Add (rev.col([1,0,0]))
geo.Draw()

现在为圆环生成一个网格:

mesh = geo.GenerateMesh(maxh=0.5, optsteps2d=3)

最后,将其转换为 NGSolve 网格,以便让网格弯曲:

mesh = Mesh(mesh)
mesh.Curve(3)	

  • 一、关于netgen在CSDN上有非常全面的介绍 这些博文围绕下载、编译和连接进行了全面细致的讲解。但是……(见下文) 1.netgen.5.0.0下载地址与Windows下编译方法(https://blog.csdn.net/zhouschina/article/details/9050373?utm_medium=distribute.pc_relevant_t0.none-task-blog

  • 一.下载和安装netgen 网址https://ngsolve.org/downloads,目前最新的版本为NGSolve-6.2.2008-win64.msi。按默认设置安装即可,不需要更改任何选项。 二.下载和安装python 如果没安装python,会提示找不到python37.dll。 与nengen6.2匹配的python版本为3.7。网址https://www.python.org/d

  • netgen的帮助文档,自己生成的,谁要是做网格计算的用的着。 转载于:https://www.cnblogs.com/sunliming/archive/2012/03/24/2415668.html

 相关资料
  • 及策微信小程序二维码生成器,是一个根据小程序相关数据生成二维码的工具。在进行参数设置后,通过用户在不同场景中扫描该场景二维码激活小程序,从而准确帮您获取小程序的渠道推广数据,用户来源。 生成二维码 名称:为二维码定义一个独立的,方便识别的名称; 类型:选择生成小程序的类型; 页面路径:通过扫描将生成的二维码所访问的页面路径。也就是说你可以将任意页面生成为二维码,供用户扫描后直接进入; 参数设置:

  • 一面 最基础的一集,但是也会深挖,好久没被问基础了 实习中最有挑战的问题 SSR相关 js有哪些数据类型 数据类型判断 如何判断数组 原型链 vue-router的两种模式,原理 script的async defer 垂直水平居中 块级格式化上下文 输出题 事件循环题 事件冒泡捕获题 字符串格式化 let str=` 1 2 4342 3 4 5 23 4 4 5 ` let a

  • 1、renderQrCode 用法 renderQrCode 生成二维码极其简单方便,常见用法如下: // 二维码携带的数据 String data = "weixin://wxpay/bizpayurl?appid=xx&mch_id=xx......"; // 渲染二维码图片,长度与宽度为 200 像素 renderQrCode(data, 200, 200); 上例代码中的 data 为该

  • 本文向大家介绍java 生成二维码实例,包括了java 生成二维码实例的使用技巧和注意事项,需要的朋友参考一下 最近有点时间想学点东西,想做个简单的系统,现在登录的时候使用扫描二维码获取验证码登录,于是就有了下面的一些代码 首先要导入pom依赖 这个是goole提供的一些包 第一个类是goole提供帮主类 画出图片 生成图片工具类 controller 二维码示例 以上就是java 生成二维码实例

  • 说明 用于门店结账时生成桌台微信二维码(2015-07-01新增) 使用时将返回的code_url内容直接生成二维码。 请求地址 http://api.dc78.cn/Api/cash_qr_wxpay 请求方式 GET 请求参数 参数 参数名称 必填 描述 范例 table 桌台 bzid 结算业务单号 amt 结账金额 type 支付通道 wx=微信支付,ali=支付宝支付 返回 { "sta

  • 用于生成微信/支付宝支付二维码。(微信即将停用此接口,建议使用2.9代替) 请求参数说明 参数 描述 必填 示例值 类型 最大长度 action 接口参数组 是 object └action 需要调用的接口名称 是 cash_qr_wxpay string get GET参数组,本组参数需要参与签名 是 object └type 类型, wx=微信,ali=支付宝 是 wx string └amt

  • 在 ZBarSDK(本站下载:http://code4app.com/ios/ZBar-Barcode-Reader/4fa23f3f06f6e7ee18000000)的基础上做的一个demo,能够将字符串转换成二维码,能够通过摄像头扫描二维码。代码里面有对如何使用 ZBarSDK 的详细说明。 [Code4App.com]

  • 利用ZXing类库实现二维码生成和扫描识别的功能。可以生成不同颜色的二维码,以及圆点和矩形点形状的二维码。 二维码扫描功能,能识别本地相册的二维码。由于作者没有做屏幕适配,所以二维码生成的功能只能在4.0inch屏幕进行测试。 [Code4App.com]