在 COMSOL 中处理不规则形状的方法

不规则形状有多种不同的格式。例如,我们之前讨论过将 STL 文件和 NASTRAN® 文件格式的网格导入 COMSOL Multiphysics® 软件 ,这些格式常见于生物扫描数据。在接下来的文章中,我们将讨论在 COMSOL Multiphysics 中处理不规则形状的不同方法。本文为第一部分,主要讨论如何导入曲线数据并放样成实体。

一个不规则形状示例:人体头部

处理扫描数据时,有时会出现带有坐标数据的文本文件,这些文件通常来自 MRI 或 CT 扫描得到的切片图像。本示例中的文件或截面坐标来自人体头部的不同切面。每个坐标文件代表头部特定平面外表面的曲线。
简单来说,这个过程包括:
  • 创建每个文本文件的曲线对象

  • 将曲线的边进行分区,以确保点在放样方向上对齐

  • 将曲线放样成实体

  • 隐藏不必要的边以生成一致的形状

接下来,让我们来详细了解每一个步骤。

导入曲线

为了能够在插值曲线功能中导入文本文件,需要以分段的格式组织坐标。这是 COMSOL Multiphysics 的一种原生格式,其中文本文档由三部分组成,一部分表示坐标,一部分表示单元连接,一部分表示数据列。这里,我们需要使用前两个部分,而使用此格式创建几何体时可以省略数据列。下面是分段格式的文件示例:
%坐标
1-3 列,分别包含 x,y(可选)和
z(可选)
%单元
三角剖分,其中每一行都包含
组成一个单元的点在“坐标”部分里的行索引
(在二维结构中为三角形,在三维结构中为四面体)
%数据(函数名)
每个点的数据值列
在这个示例中,有 17 个包含三维对象的坐标数据的文本文件。为每个文本文件增加了一个插值曲线功能,总共提供了 17 个曲线对象。设置封闭曲线用于确保创建的曲线对象封闭,并且一阶和二阶导数是处处连续的。在 COMSOL Multiphysics 中,放样一个闭合曲线会产生一个实体,而放样一个开放曲线会产生一个曲面。将相对容差增加到 0.001 或 0.01,以产生一个相对平滑的曲线。在默认容差(数值为 0)下,曲线的形状比较参差不齐。在此示例中,头部的顶部由一个点表示。
在 COMSOL 中处理不规则形状的方法的图1

“插值曲线”特征的“设置”窗口(左)和代表头部外壳的所有曲线(右)。当相对容差增高到 0.001 或 0.01 时,曲线更加平滑。设置“闭合曲线”确保曲线封闭且处处具有连续一阶和二阶导数。

放样成实体的注意事项

当为头部横截面轮廓定义好曲线对象后,我们可以使用放样操作创建实体形状。放样操作是 COMSOL 设计模块中包含的几何建模工具,关于这个功能的使用,我们可以阅读文章 设计模块简介 。在设置放样操作之前,需要确保曲线对象适合作为放样的轮廓。将曲线或曲面放样到实体需要不同的轮廓具有相同数量的边和点。第一个和最后一个对象(称为开始和结束轮廓)是个例外,可以是点。在这个示例中,头部的顶部就是这种情况。
闭合的插值曲线具有两个顶点,但是无法选择它们的位置。上面提到的标准已经满足,即中间曲线具有相同数量的边和点,因为所有创建的曲线都具有两个边。但是,这些点在轮廓对象上的位置也很重要。当沿着曲线放样时,将沿放样方向把所有点与边连接起来。如果这些点的位置没有在一个相对直线的位置,那么生成的曲面可能会变形。因此,我们经常需要进一步分割边以更好的表示曲面。为此,我们可以使用两种不同的过程完成这些设置:由数据创建曲线并将其放样到对象中。

分割曲线边

如何分割边以及使用哪些功能并不是一门精确的科学,而是需要我们反复尝试并根据外观检查来决定最佳外观。此时,我们使用了分割对象和分割边功能。使用分割对象操作的优点在于,该选项允许在与选定平面的交点处划分多个曲线对象。由于人头示例中插值曲线已经包含前后相对对齐的点,因此在 y=0 处添加了一个工作平面,以沿相同的虚构线创建更多点。
在 COMSOL 中处理不规则形状的方法的图2

使用工作平面在 y=0 对一些曲线进行分割。设置分割对象功能(左)。蓝色突出显示的曲线由工作平面在两处分割,该工作平面为带有矩形栅格的灰色表。

分割边功能是基于指定的相对弧长或投影一个或多个顶点,对选定的边进行分割。由于我们希望放样曲线时顶点能够很好地对齐,因此投影顶点是一个不错的选择。但是,对于某些边,最好指定相对弧长,以更好地控制顶点的创建位置。
在 COMSOL 中处理不规则形状的方法的图3

“分割边”功能的设置窗口显示顶点投影(左)和弧长(中间)设置类型,以及为顶点投影选择的边(右)。

要验证几何对象具有相同数量的边和点,请单击图形窗口上方的选择对象按钮,在图形窗口中选择曲线对象,然后单击几何或网格选项卡中的测量按钮。该度量输出将写入消息日志。

放样成实体

现在,这些点已大致对齐,是时候创建实体了。放样功能包含许多选项,但此处仅使用最简单的过程:将所有曲线对象和头顶的点添加到轮廓对象列表中。由放样操作自动确定开始和结束轮廓。如下左图所示,有许多折叠部分功能(以蓝色突出显示)可用于调整放样。例如,指定放样的方向。在这个示例中,我们不使用折叠部分的功能。

在 COMSOL 中处理不规则形状的方法的图4“放样”操作的“设置”窗口(左),显示输入轮廓对象,这是本示例中唯一使用的输入。右图是放样生成的头部实体。

面分割

从闭合的连续轮廓曲线放样的表面或实体对象具有至少两个接缝,这些接缝穿过轮廓曲线的顶点,从而创建了两个面分割。该操作可能会引入更多接缝,具体取决于不同曲线上顶点的对齐方式。如果轮廓曲线的切线不连续,则会引入其他穿过这些点的接缝。使用默认设置面分割:最小化放样操作时(请参见上图),不会引入其他接缝,如本文中示例所示。
如果我们希望对放样表面进行更多分割(例如,分配边界条件),可以使用分割选项列和栅格。第一个选项沿轮廓曲线中的每个顶点划分曲面,而后者还添加了轮廓曲线。还有另一种可能性是使用几何图形功能区中的不同分割操作。另一方面,如果我们想要更干净的外观,可以使用虚拟操作来创建复合面。我们还可以使用忽略边功能来实现,通过形成复合面功能也可以得到相同的最终结果。

在 COMSOL 中处理不规则形状的方法的图5将上一张图像中显示的边添加到“忽略边”操作(左)中,最终几何图形将变得平滑美观。

不规则形状建模的其他方法

本文讨论了如何由坐标数据创建曲线,然后将这些曲线放样到实体中的可能性。在本系列的后续文章中,我们将讨论在 COMSOL Multiphysics 中处理其他可能的格式以及处理不规则形状的方法。
本文内容来自 COMSOL 博客

(1条)
默认 最新
感谢分享
评论 点赞
点赞 1 评论 1 收藏 1
关注