NURBS — CAE用语解释
NURBS
CAD软件中制作曲面时,显示"NURBS"是什么意思?与普通曲线有什么不同吗?
NURBS的理论基础
NURBS的定义和基本概念
NURBS在教科书上写作"Non-Uniform Rational B-Spline",但它与普通B样条具体有什么不同?"Rational"(有理)这个词改变了什么?
这是个好问题。决定性的区别在于"权重"的存在。普通B样条直接混合控制点的坐标。而NURBS给每个控制点赋予权重
"Non-Uniform"部分是什么意思?是指节点矢量不均匀吗?
完全正确。这指的是节点矢量中的节点间距不均匀。例如,节点矢量为[0, 0, 0, 1, 2, 2, 2]时,0到1和1到2的间距不同,所以是Non-Uniform。这样就能在特定区域(边缘附近或曲率急剧变化的部分)集中放置控制点,大大提高了建模的自由度。相反,均匀的B样条间距均匀,灵活性较差。
看NURBS曲面的公式很复杂。在实际CAE软件中,不是直接求解这些公式吧?
对的。CAE预处理器将NURBS曲面离散化为有限元网格。基函数的评估通过de Boor算法等递归算法进行。NURBS曲面
NURBS的数值计算方法
从CAD到CAE的转换和网格生成
将CAD中制作的NURBS模型在CAE中进行解析时,为什么经常需要"几何体修复"?
主要原因是"拓扑上的不完整"和"数值上的缝隙"。例如,两个NURBS曲面理论上应该相接,但由于各自曲面方程计算的边界位置相差10^-5 mm左右。这是由于CAD软件(CATIA、NX、Creo)的内部计算精度和数据转换(STEP、IGES)时的舍入误差造成的。CAE预处理器(Ansys SpaceClaim、Altair HyperMesh)需要"缝合"这些微小缝隙,重新构建水密的实体模型。
进行网格划分时,NURBS曲面的"参数空间"和"物理空间"的区别会影响网格质量吗?
影响很大。参数空间(u,v空间)中的均匀正方形网格在物理空间中可能会生成极度扭曲的单元。例如自动车车身面板,参数空间中的细长区域在物理空间中对应大的曲面。要生成高质量的网格,需要评估雅可比矩阵
有一项"根据曲率调整网格大小"的功能。这使用NURBS的哪些信息呢?
使用从NURBS曲面的第一基本形式和第二基本形式计算得到的"平均曲率"或"高斯曲率"。具体来说,在曲率半径
NURBS的实际应用
提升解析精度时NURBS模型的取扱方法
从供应商收到的STEP文件中的模型是非常复杂的NURBS,无法进行网格划分。首先应该做什么?
首先是"简化几何体"。具体来说,1)删除解析中不需要的微小特征(0.5mm以下的圆角、小孔)。2)将连续的多个NURBS面尽可能合并为一个面(面合并)。使用Ansys SpaceClaim的"Pull"工具或Altair HyperMesh的"geometry cleanup"功能。只要面数从1000个减少到100个,网格生成的成功率和速度就会大幅提高。这称为"特征删除",是重要的前处理步骤。
简化时,不确定应该删除多小的形状。有标准吗?
根据经验,可以参考以下两个标准。第一,与目标应力影响范围相比。例如,板厚10mm的支架,如果最大主应力产生的区域远离半径1mm的圆角,可以忽略。第二,与使用的单元大小的比例。如果将单元大小设为2mm,就无法用网格表示更小的1mm突起,所以应删除或修改形状。始终要问自己"这个形状对结果的影响是否在许容误差内(例如应力5%以内)?"
进行网格划分后,有方法检查NURBS原始形状与网格形状之间的误差吗?
大多数CAE预处理器都有"几何偏差检查"功能。例如,Abaqus/CAE的"Verify Mesh"选项可以用颜色区分每个节点与原始NURBS曲面的距离(偏差)。许可偏差取决于部件大小和精度要求,但对于通常的机械部件结构分析,目标是将最大偏差控制在单元大小的10%以下(例如单元大小2mm则0.2mm以下)。如果不通过此检查,特别是在接触分析中可能会产生重大误差。
NURBS的软件比较
各CAE软件中NURBS的处理
Ansys、Abaqus和COMSOL在NURBS的导入和处理上有区别吗?
方法差异很大。Ansys Workbench集成了SCDM(SpaceClaim直接建模),在NURBS模型的修复和编辑方面很强。以Parasolid内核为基础。而Abaqus/CAE拥有独立的内核,虽然可以导入NURBS,但高级编辑建议与"CATIA"或"NX"联动而非在Abaqus/CAE中进行。COMSOL Multiphysics最灵活,通过CAD导入模块可以直接"实时"链接NURBS,甚至可以将参数更改反映到CAD端。但对于极其复杂的模型,Ansys SCDM的操作性似乎更优。
有实现"等几何分析(IGA)"的软件吗?听说是直接在解析中使用NURBS。
在商用软件中还很有限,但确实在扩展。西门子的"Simcenter 3D"内置了IGA for shells(板壳分析)功能,在汽车车身壳体分析等中可以省略网格生成。Altair正在开发与"RADIOSS"求解器联动的IGA功能。作为完整的通用IGA求解器,大学开发的"GeoPDEs"和"IGA++"用于研究。在商用软件中,COMSOL可以将"CAD导入模块"和"Shell"界面结合,近似于将NURBS面直接用作壳单元。
开源免费的CAE软件(CalculiX、Code_Aster)如何处理NURBS?
这些求解器本身处理网格数据,所以NURBS的处理取决于前处理软件。CalculiX的常用前端"PrePoMax"配备了Open CASCADE几何内核,可以读取STEP文件中的NURBS并生成网格。Code_Aster的官方前处理"Salome-Meca"也采用Open CASCADE。但与有偿软件相比,高级的几何修复和编辑功能较少,对于复杂模型,使用商用软件进行前处理,仅导出网格来使用更为现实。
NURBS的故障排除
NURBS相关的常见错误和对策
网格生成时出现"几何体中存在微小边/面"的错误。具体的查找方法和修复方法是什么?
首先用预处理器的"统计信息"功能确认面积和边长的最小值。在Ansys SCDML中,可以在"Prepare"选项卡的"Measure"中测量最小面积。面积小于10^-4 mm^2的面或长度小于0.01mm的边是对象。修复方法有两种。1)用"Merge"功能合并到相邻的大面。2)如果形状确实需要,直接编辑NURBS的"控制点"来简化形状(需高级技能)。大多数情况下这些微小单元是CAD操作历史的遗留物,可以安全删除。
导入的NURBS模型显示"扭曲的面"或"自相交"。这是什么原因,如何修复?
NURBS的控制点排列不当,导致曲面自身相交。原因是CAD操作中的极端形状变形或数据转换时控制点坐标损坏。对策很根本性,1)向供应商要求重新发送正常的模型。2)自己修复的话,删除问题面,从周围边界用"补丁"重新创建新面。可以用Altair HyperMesh的"surface edit"或Ansys SpaceClaim的"Fill"工具。此错误会完全阻止网格生成,必须修复。
在高曲率的圆角部分,网格始终会变得粗糙。除了将整体单元大小设置得极小,还有其他方法吗?
使用"局部网格控制"。具体方法有,1)用"面大小控制"仅对相应圆角面设置细网格大小(例如0.3mm)。2)用"边大小控制"沿圆角的两端边细化网格。3)将"曲率自适应网格"的灵敏度设置较高(许多软件有"高""最大"等选项)。Ansys Meshing中应用"Face Meshing",在圆角面贴规则四边形网格也有效。将这些组合使用,可以在不把总单元数增加10倍的情况下提高局部分辨率。
在不同软件间交换STEP文件时,形状有时看起来会改变。这是NURBS精度的问题吗?
是的。STEP(AP203、AP214)文件是以规格完全传输NURBS数据的,但接收端的CAD/CAE内核(Parasolid、ACIS、CASCADE)使用的数值精度(通常是双精度)和形状显示的"镶嵌化"设置不同。如果显示多边形分解精度低,曲线看起来会有棱角。但通常NURBS数据作为实际形状被正确保留,CAE工作上没有问题。只要把显示设置(显示精度)提高到最高(例如偏差0.01mm),看起来应该大致相同。为最大化数据兼容性,也可以用"Parasolid(.x_t)"作为中间格式。
相关主题
价值
详细说明
错误