不规则形状有多种不同的格式。例如,我们之前讨论过将 STL 文件和 NASTRAN® 网格导入 COMSOL Multiphysics® 软件,这些格式常见于处理生物扫描数据时。在接下来的系列博客中,我们将讨论在 COMSOL Multiphysics 中处理不规则形状的不同方法。本文为第一部分,主要讨论如何导入曲线数据并放样成实体。
一个不规则形状示例:人体头部
处理扫描数据时,有时会出现带有坐标数据的文本文件,这些文件通常来自 MRI 或 CT 扫描得到的切片图像。本示例中的文件或截面坐标来自人体头部的不同切面。每个坐标文件代表头部特定平面外表面的曲线。
简而言之,该过程包括:
- 创建每个文本文件的曲线对象
- 将曲线的边缘进行分区,以确保点在放样方向上对齐
- 将曲线放样成实体
- 隐藏不必要的边缘以生成一致的形状
接下来,我们来详细了解每一个步骤。
导入曲线
为了能够在插值曲线 功能中导入文本文件,需要以分段 的格式组织坐标。这是 COMSOL Multiphysics 的一种原生格式,其中文本文档由三部分组成,一部分表示坐标,一部分表示单元连接,一部分表示数据列。这里,我们需要使用前两个部分,而使用此格式创建几何时可以省略数据列。下面是分段 格式的文件示例:
%坐标 1-3 列,分别包含 x,y(可选)和 z(可选) %单元 三角剖分,其中每一行都包含 组成一个单元的点在“坐标”部分里的行索引 (在二维结构中为三角形,在三维结构中为四面体) %数据(函数名) 每个点的数据值列
在本示例中,有 17 个文本文件,其中包含来自三维对象的坐标数据。每个文本文件增加了一个插值曲线 功能,总共提供了 17 个曲线对象。设置封闭曲线 用于确保创建的曲线对象确实封闭,并且一阶和二阶导数是处处连续的。在 COMSOL Multiphysics 中,放样一个闭合曲线会产生一个实体,而放样一个开放曲线会产生一个曲面。相对容差 将增加到 0.001 或 0.01,以产生一个相对平滑的曲线。在默认容差(数值为 0)下,曲线的形状比较参差不齐。在此示例中,头部的顶部由一个点表示。
“插值曲线”特征的“设置”窗口(左)和代表头部外壳的所有曲线(右)。当 相对容差增高到 0.001 或 0.01 时,曲线更加平滑。设置 “闭合曲线”确保了曲线封闭且处处具有连续一阶和二阶导数。
放样成实体的注意事项
当为头部横截面轮廓定义好曲线对象后,我们可以使用放样 操作创建实体形状。放样 操作是 COMSOL 设计模块 中包含的几何建模工具,关于这个功能的使用,我们可以阅读博客文章 设计模块简介。在设置放样 操作之前,我们需要确保曲线对象适合作为放样的轮廓。将曲线或曲面放样到实体需要不同的轮廓具有相同数量的边和点。第一个和最后一个对象(称为开始和结束轮廓)是个例外,可以是点。在此示例中,头部的顶部就是这种情况。
闭合的插值曲线具有两个顶点,但是无法选择它们的位置。上面提到的标准已经满足,即中间曲线具有相同数量的边和点,因为所有创建的曲线都具有两个边。但是,这些点在轮廓对象上的位置也很重要。当沿着曲线放样时,将沿放样方向把所有点与边连接起来。如果这些点的位置没有在一个相对直线的位置,那么生成的曲面可能会变形。因此,我们经常需要进一步分割边以更好的表示曲面。为此,我们可以使用两种不同的过程完成这些设置:由数据创建曲线并将其放样到对象中。
分割曲线边
如何分割边以及使用哪些功能并不是一门精确的科学,而是需要我们反复尝试并根据外观检查来决定最佳外观。此时,我们使用了分割对象 和分割边 功能。使用分割对象 操作的优点在于,该选项允许在与选定平面的交点处划分多个曲线对象。由于人头示例中插值曲线已经包含前后相对对齐的点,因此在 y= 0 处添加了一个工作平面,以沿相同的虚构线创建更多点。
使用 工作平面在 y= 0对一些曲线进行分割。设置 分割对象功能(左)。蓝色突出显示的曲线由工作平面在两处分割,该工作平面为带有矩形栅格的灰色表。
分割边 功能是基于指定的相对弧长或投影一个或多个顶点,对选定的边进行分割。由于我们希望放样曲线时顶点能够很好地对齐,因此投影顶点是一个不错的选择。但是,对于某些边,最好指定相对弧长,以更好地控制顶点的创建位置。
“分割边”功能的设置窗口显示 顶点投影(左)和 弧长(中间)设置类型,以及为顶点投影选择的边(右)。
要验证几何对象具有相同数量的边和点,请单击 图形 窗口上方的选择对象 按钮,在 图形 窗口中选择曲线对象,然后单击 几何 或 网格 选项卡中的 测量 按钮。该度量输出将写入消息 日志。
放样成实体
现在,这些点已大致对齐,是时候创建实体了。放样 功能包含许多选项,但此处仅使用最简单的过程:将所有曲线对象和头顶的点添加到 轮廓对象 列表中。由放样 操作自动确定开始和结束轮廓。如下左图所示,有许多折叠部分功能(以蓝色突出显示)可用于调整放样。例如,指定放样的方向。在这个示例中,我们不使用折叠部分的功能。
“放样”操作的“设置”窗口(左),显示输入轮廓对象,这是本示例中唯一使用的输入。右图是放样生成的头部实体。
面分割
从闭合的连续轮廓曲线放样的表面或实体对象具有至少两个接缝,这些接缝穿过轮廓曲线的顶点,从而创建了两个面分割。该操作可能会引入更多接缝,具体取决于不同曲线上顶点的对齐方式。如果轮廓曲线的切线不连续,则会引入其他穿过这些点的接缝。使用默认设置面分割 :最小化放样操作时(请参见上图),不会引入其他接缝,如本文中示例所示。
如果我们希望对放样表面进行更多分割(例如,分配边界条件),可以使用分割选项列 和栅格。第一个选项沿轮廓曲线中的每个顶点划分曲面,而后者还添加了轮廓曲线。还有另一种可能性是使用几何图形 功能区中的不同分割 操作。另一方面,如果我们想要更干净的外观,可以使用虚拟操作 来创建复合面。我们还可以使用忽略边 功能 来实现,通过形成 复合面 功能 也可以得到相同的最终结果。
将上一张图像中显示的边添加到“忽略边”操作(左)中,最终几何图形将变得平滑美观。
不规则形状建模的其他方法
本篇博客文章讨论了由坐标数据创建曲线,然后将这些曲线放样到实体中的可能性。本系列博客的后续文章将讨论 COMSOL Multiphysics 中其他可能的格式以及处理不规则形状的方法。
点击下方按钮,下载文中示例的 MPH 文件:
NASTRAN 是 NASA 的注册商标。
评论 (1)
轩 王
2024-05-30666