几何 – COMSOL 博客 - //www.denkrieger.com/blogs 发布博客 Mon, 08 Apr 2024 06:12:31 +0000 en-US hourly 1 https://wordpress.org/?v=5.7 新课程:在 COMSOL Multiphysics® 中构建几何 //www.denkrieger.com/blogs/new-course-on-building-geometry-in-comsol-multiphysics //www.denkrieger.com/blogs/new-course-on-building-geometry-in-comsol-multiphysics#respond Mon, 29 Jan 2024 09:29:54 +0000 http://cn.staging.comsol.com/blogs?p=356811 COMSOL Multiphysics® 软件包含许多使用户能够在软件中构建简单和复杂的几何的工具和功能。在 COMSOL 学习中心推出的新课程中,我们介绍了其中的一些功能,并通过教学视频、模型文件、仿真练习和逐步说明等讨论了如何使用这些功能。该课程是自学课程,适合各种仿真水平的 COMSOL® 用户。阅读这篇博客,了解关于该系列课程的概述。

构建二维几何

课程从如何在二维中构建几何开始介绍。首先,介绍了如何在图形 窗口中使用草图 模式绘制二维几何形状。此外,还介绍了如何在设置 窗口使用常见的内置形状(即体素)中直接配置和构建几何。完成几何构建后,就可以通过图形 窗口中的草图 模式或设置 窗口对创建的图形进行编辑。这两种方法几乎适用于构建所有几何。不过,复杂的几何常常更容易绘制,容差较小的几何则更容易在设置 窗口中进行配置。课程介绍的体素包括:

  • 多边形
  • 圆弧
  • 插值曲线
  • 二次曲线
  • 三次曲线
  • 矩形
  • 圆和椭圆

图形窗口编辑二维几何。

扩展几何

在课程的第2部分,我们介绍了如何使用 COMSOL Multiphysics® 中的各种内置功能将二维设计扩展为三维几何。这在处理具有某种对称性的几何或构建常用三维几何时非常有用。

我们使用一个示例讨论了如何使用扫掠功能将二维设计轻松扩展为三维几何,因为其横截面积保持不变。此外,我们还介绍了将二维设计扩展为三维几何的其他各种功能,包括拉伸旋转放样 功能。(请注意,放样 功能包含在 COMSOL Multiphysics® 的附加组件设计模块中)。对于想测试自己这方面建模技能的学员,课程还提供了有三个仿真练习,这些练习都比较简单,目的是鼓励您自主解决问题。

使用 扫掠 功能在 xy 平面上沿路径扫掠出一个椭圆的演示。

三维体素和几何操作

在课程的第 3 部分中,我们介绍了如何通过在模型中直接添加体素来快速、轻松地创建三维几何。正如可以用二维体素直接创建二维几何对象来替代草图一样,也可以用三维体素创建几何对象来替代三维扩展。软件中可用的三维体素包括长方体、圆柱、圆锥、圆环和螺旋。布尔、分割变换 菜单中的功能可用于您所创建的任意三维对象中,以帮助创建简单和复杂的几何。在这些菜单中,您可以选择包含以下功能:并集差集数组镜像,等等。

COMSOL Multiphysics UI 显示了在模型开发器中选择的几何块,相应的设置窗口和图形窗口中的微混合器模型。
微搅拌器模型的几何结构。在几何序列中,模型的形状由多个长方体和六面体组成。

分割几何

当您学会如何在二维和三维中构建几何后,可能会发现需要拆分几何对象、删除部件、细化网格或添加内部边界。在课程的第 4 部分,我们介绍了如何通过将其他几何对象或工作平面作为分割工具,使用分割对象 功能来实现这些需求。域、面和边也可以通过各自的功能进行分割,而拆分 功能可用于将对象分解为单独的实体,然后根据需要对其进行使用和编辑。

具有对称性的弯管模型的几何结构(左),对其进行分割以去除一半几何(右)。

提取几何

在课程的第 5 部分,我们介绍了如何由三维几何结构创建二维模型,以及这种方法的好处,比如减少计算时间和产品设计迭代的周期。

光学环形谐振腔陷波滤波器模型的三维几何结构(左)和二维截面几何(右)。在计算三维模型模拟之前,使用二维模型研究光学环形谐振器的不同设计。

自己动手

点击下方按钮继续学习此课程,了解更多有关在 COMSOL Multiphysics® 中构建几何和最佳的仿真实践:

此外,请参阅博客:如何使用 COMSOL® 中的草图工具绘制二维几何,了解有关设计模块中的约束和尺寸的信息。

]]>
//www.denkrieger.com/blogs/new-course-on-building-geometry-in-comsol-multiphysics/feed/ 0
如何通过扫描图像数据创建和优化网格 //www.denkrieger.com/blogs/generating-a-simulation-mesh-of-a-femur-from-3d-data //www.denkrieger.com/blogs/generating-a-simulation-mesh-of-a-femur-from-3d-data#comments Fri, 21 Apr 2023 02:20:35 +0000 http://cn.staging.comsol.com/blogs?p=335971 你有没有想过用三维成像技术获得的数据创建一个仿真网格?在这篇博客中,我们将解释如何使用 COMSOL Multiphysics® 软件来实现这一目标。这个主题是对我们以前博客中讨论过的模拟不规则形状主题的扩展,今天我们将讨论的过程,一部分已经在为拓扑优化结果设置验证研究时使用过。这篇博客,我们将对工作流程进行概括,以适用于通过三维成像技术获得的数据。

输入的数据

COMSOL Multiphysics® 支持不同格式的数据导入: txt 文件、Excel 文件、CSV 文件、图像、DEM 文件、MATLAB® 函数,以及用 C 语言编写的外部函数。扫描的数据通常以一组截面图像的形式出现,包括我们在这篇文章中介绍的例子:人体股骨的一部分(这个模型中的某些数据来自 Visible Human 项目)。通常情况下,COMSOL Multiphysics 只支持导入一张图像来生成二维数据。因此,在使用软件之前,通过以下步骤生成数据文件:手动挑选带有股骨上半部分的图像,人工识别包含其中一根股骨的像素,以减少数据量。随后,识别出的像素亮度,连同它在空间中的位置一起被读取和写入一个txt 文件。图像中的像素位置用 x 坐标y 坐标表示,图像编号用 z 坐标表示。电子表格是一种适合使用的格式,因为每个像素都是从图像中读取并逐一写入txt 文件的:

x1 y1 z1 data1
x2 y2 z2 data2
x3 y3 z3 data3
...

对数据也进行了清理,以去除股骨以外的所有东西,并按比例调整以适应股骨的实际尺寸。为了方便使用,还对数据进行了二值化处理。

人类股骨的二值化数据的三张切面图。
用于创建网格的人类股骨的二值化数据的三个切面图。白色代数据文件中的表亮度值为 1,黑色代表值为 0。

此模型的 MPH 文件可以在文末下载,所以这里的说明只是对需要采取的步骤做一个大致的描述。在这篇博客的最后,我们将给出两个包含周围域的人类股骨的网格,在以后的计算中可以使用。我们还将讨论如何添加其他计算域划分表面网格,以便能够在网格上应用适当的边界条件。

首先,将数据导入软件中的一个插值 函数中,我们把这个函数命名为 human_femur。我们将通过两种可能的工作流程来获得股骨的网格:

  1. 一个快速通道,在这个流程中,我们可以得到一个非常粗糙的数据网格表示,并将使用重新划分的网格将粗糙的表面变平。
  2. 一个包含更多步骤的工作流程,使用亥姆霍兹平滑来确保我们可以得到一个平滑的形状。

工作流程 1:使用网格数据集表示数据,并将表面重新划分网格作为一种平滑技术

我们从更快的工作流程开始。在这个例子中,我们将使用栅格 数据集来表示数据,并使用过滤器 数据集滤除数据来表示股骨。这将产生一个比较大块的表面网格,因此我们使用自由三角形 操作来平滑不平整的表面。

设置一个网格数据集和过滤股骨数据

在这个工作流程中,我们不需要几何 节点,甚至不需要模型开发器中的组件 节点,尽管我们稍后将在添加额外的计算域和创建股骨的计算网格时添加一个组件。在全局定义节点下设置插值 函数,然后直接进入结果,定义一个栅格 数据集。

COMSOL Multiphysics 用户界面突出显示带栅格数据集功能的模型开发器,相应的设置窗口中展开的数据,参数界限和栅格栏。
添加插值函数后,直接设置栅格数据集。

COMSOL Multiphysics UI 显示了模型开发器,突出显示了网格数据集功能,相应的设置窗口与数据,参数边界和网格部分展开。

将栅格 数据集作为一个规则的网格使用,并在这个网格上应用插值函数。这里,大约一半的图像分辨率被用作数据集的分辨率。现在,添加一个过滤器 数据集,输入表达式 human_femur(x,y,z),并将下限 设置为 0.99。这将创建一个值为 0.99 的等值面,并包括所有超过该值的数据。换句话说,就是人类股骨的等值面。如果你想在最后得到一个域,过滤器 数据集很适用。在第二个工作流程中,我们将改用分割 数据集,其中你可以定义多个值来创建多个等值面,产生多个计算域。

股骨等值面在 z 方向上被压缩,因为坐标轴经过了缩放。
由过滤器数据集生成的等值面。请注意,股骨在 Z 方向上被压缩,因为坐标轴经过了缩放。

导入和分割过滤器数据集的网格

过滤器 数据集所代表的网格可以导入到网格划分序列中,在这里我们将重新划分面网格以平滑粗糙度。我们可以通过右击数据集 > 过滤器节点,选择创建网格零件 来完成这个工作流程。

创建网格分割选项的特写。

在第二个工作流程中,我们将使用在新组件中创建网格 选项。在当前流程中,我们选择创建一个网格零件,因为我们将使用这个网格作为构造几何,这一点你很快就会看到。这样操作后,我们将在全局定义 下自动设置一个网格零件,并添加一个导入 节点,导入过滤器 数据集的网格。过滤器 数据集的域单元通常质量很差,所以我们只导入三角形网格。然后,当表面网格达到要求时,我们将重新生成四面体网格。

通常情况下,我们需要一个特定的边界划分来施加边界条件。使用“与平面相交”操作进行平面切割,也可以对其他形状进行分割操作。您可以阅读博客“在 COMSOL Multiphysics® 中编辑和修复导入的网格”,看看相交和分割网格的比较。这里,我们将使用用球分割 操作来得到一个大致的圆形边界。

股骨顶部网格的特写,使用带球分割操作划分出大致圆形的边界。
球分割操作(粉红色边)分割出一个大致的圆形边界(用蓝色突出显示),稍后我们可以在上面添加一个边界条件。为了便于观察,关闭了网格的渲染。

重新划分网格以提高质量和均匀粗糙度

由于单元大小不一,并且有许多条状的三角形,使网格表面不光滑,不适合模拟。因此,需要对网格进行重新划分后再使用。使用更大的网格尺寸重新划分面网格,也可以使形状更加平滑。

左边是导入的过滤网格,右边是过滤网格的特写。网格由大三角形、小三角形和银色三角形组成。
导入的过滤器网格 放大图片。由于网格数据集是六边形,其形状呈明显的块状,包含了大三角、小三角和狭长的三角形的混合体。

使用自由三角形 操作重新划分面网格。为了避免求解网格中的粗糙度,对网格进行均匀化操作,可以设置一个比网格中的不均匀度大的单元尺寸。这可以通过设置最大单元尺寸最小单元尺寸 为 0.005m 来实现。如下图所示,现在的表面已经平滑了很多,但仍然有点不均匀。在工作流程的后期,将再次重新划分边界网格,所以这些不规则的地方将被进一步均匀化。

股骨的网格,其中顶部的部分用蓝色圆圈突出显示。
图片显示的是重新划分面网格之后的股骨顶部。

如果你尝试对几乎彼此相交的表面重新进行网格划分,或者正在对那些几乎与自身相交的表面重新划分网格,请试试亥姆霍兹平滑功能。

现在,表面网格已经足够好了,可以继续在这个网格上添加额外的几何形状。

添加更多的计算域

股骨域可能是你唯一感兴趣的域,但假设你还想在股骨周围再建立一个模拟域或一些螺钉来固定股骨中的裂缝,你会怎么做呢?这可以通过几何 序列来实现。首先,在股骨模型上添加一个 3D 组件。然后,添加几何 > 导入节点,在其设置窗口中选择网格零件 1。这个节点将使我们能够添加和定位新的几何体,并且应该被标记为构造几何,因为我们将只使用股骨的面来定位所述的几何。一旦确定最终几何,构造几何对象就会被移除。你可以看到它是一个构造几何,因为它的边是虚线而不是实线。

COMSOL Multiphysics 软件的用户界面,突出显示了导入节点和图形窗口中的股骨几何形状。
将股骨作为 构造几何对象导入几何序列,以定位与股骨有关的额外几何形状。

我们要创建的几何形状稍后将在网格划分序列中将与网格结合。作为一种替代方案,也可以将股骨的表面网格和创建的几何形状与几何序列中的几何并集 操作结合起来。然而,通常在网格序列中使用网格并集 操作更为稳健,这也是这里要遵循的工作流程。

你可以画出你在仿真过程中所需的任何几何形状,或者导入 CAD 设计。有了可用的构造几何,很容易绘制出所需的几何形状。在这个例子中,我们将添加两个螺钉来加固股骨,但无论你是创建还是导入一个或多个几何对象,原理都相似。螺钉的几何形状和股骨的构造几何形状如下面的左图所示。一旦创建完几何结构,并且已经构建了形成联合体,股骨的构造几何就会从生成的几何结构中移除,只剩下螺钉,如下图中间所示。对于导入的 CAD 设计,也可以添加移除细节虚拟操作 对几何形状进行简化,然后再与网格结合。关于如何结合几何和网格的更详细说明,请看 STL 导入教程系列的第二个教程。

在同一个组件 中,转到网格 序列。确保添加两个导入 节点,一个导入螺钉的几何,另一个导入 节点从网格部分导入股骨的网格(如下图右)。使用网格并集 操作将两个表面网格结合起来,并使用自由三角形 节点对块的平面进行重新网格化,其中最大单元尺寸最小单元尺寸 设置为 0.005m

用螺钉加固的股骨的几何图形(左),使用形成装配体节点后的螺钉几何图形(中),以及导入网格序列的螺钉加固的股骨网格(右)。
左图:螺钉的几何形状与股骨的构造几何形状。中间:构建形成联合体节点后的螺钉的几何形状。右图:股骨和螺钉的网格导入到网格划分序列中。

最后,添加一个自由四面体 操作,用四面体网格填充域。如果需要的话,还可以选择添加一个扫掠网格或边界层网格,以满足当前的物理场的需求。这个网格所定义的域和边界将在设置和求解模拟时使用。

用高阶离散化添加物理场

现在网格已经创建好了,接下来可以进行仿真了,如下面的左图所示。但是,如果我们加入高阶离散化的物理场,会发生什么?比方说,我们想使用离散化设置二次巧凑边点单元 创建一个固体力学仿真。弯曲单元的二阶节点将被放置在网格表面的弯曲表示上,类似于具有基础几何形状时的放置方式。为了查看弯曲单元在网格中的样子,我们可以通过将网格数据集的几何形函数 设置为二次拉格朗日,将网格绘图的节点设置为几何形函数。二次拉格朗日绘图 的设置并不与模型中的任何物理离散化相耦合,它只用于绘图。

左侧为用螺钉加固后的股骨体网格图,右侧为股骨与螺钉的最终网格顶部特写,包括显示在股骨弯曲边界上的二阶节点。
左图:股骨和螺钉的体网格图。白色单元代表螺钉的域,股骨的单元被表达式 x> -0.015 过滤掉了。右图:在股骨的弯曲边界上显示的具有二阶节点的最终网格。绿色和黄色代表偏度。

生成的网格和导入数据的比较

为了比较生成的网格如何跟随数据的一种方式,我们可以添加一个表达式 human_femur(x,y,z) 的等值面图,以删 数据集的网格分辨率绘制。从下面的图中可以看出,网格很好地遵循了等值面。

股骨顶部特写图。在这里,我们可以比较生成的网格(灰色)和导入的数据(蓝色)。
生成的表面网格(灰色)和插值数据 human_femur(x,y,z) 的等值面(蓝色)的比较。

工作流程 2:使用亥姆霍兹方程对股骨数据进行平滑处理

对于这个工作流程,简单来说,我们将添加一个应用了股骨数据的规则块状域,然后通过求解亥姆霍兹方程对数据进行平滑处理,得到一个光滑的股骨表面网格。我们仍然需要对股骨的表面网格进行重新网格化,但这次只是为了提高网格单元的质量。

定义一个规则域

为了求解亥姆霍兹方程,需要定义一个域,可以是长方体、球或其他一些简单适用于股骨数据的形状,如这篇博客中所述。要确保这个域尽可能的小,这样就可以用一个精细的网格来求解这个域。网格需要足够精细,以解析你想在表面网格中看到的数据的任何细节。

规则域上的六面体网格,形状像长方形。
一个定义了导入数据的规则域上的足够细的六面体网格。

接下来,设置方程,添加一个瞬态研究并进行求解,以获得我们可以使用的解数据集。

对数据进行亥姆霍兹平滑处理

为了避免数值伪影,并使之有可能使用较粗的网格,插值函数使用亥姆霍兹滤波的偏微分方程(PDE)进行低通滤波:

-\nabla \cdot (R^2\nabla u)+u=human\textunderscore femur(x,y,z)

其中,R 是滤波器半径,近似代表低通滤波器的宽度。添加一个系数形式偏微分方程 接口,如下图所示。

COMSOL Multiphysics 软件用户界面,突出显示系数形式PDE接口,在图形窗口中显示了其中一个截面模型。
系数形式偏微分方程接口的设置。

这里,我们使用表达式 max((h[1/m])^2,R^2) 来表示扩散系数。软件会对网格中的每个节点使用最大的网格大小 h 和参数 R。在这个例子中,局部的网格大小 h 是恒定的,但是如果使用非结构化的四面体网格,h 会变化。请注意,由于所有操作都是在一个由网格表示的几何结构上进行的,每个单元网格都是线性的,所有的单元离散化阶次被都降低到线性单元,然后使用一个稳态求解器计算求解。

左图为绘制在六面体网格上的插值函数切面图,右图为平滑后的解数据切面图。
在六面体网格上绘制的插值函数 human_femur 的切面图(左)和平滑处理后的解数据(右)。

使用分割数据集过滤股骨

我们在平滑的解数据中使用一个介于 0(蓝色)和 1(红色)之间的值来过滤股骨的表面网格。在这个例子中,假设我们也希望股骨外的区域成为我们模拟的一部分,因此应该选择添加一个分割 数据集。如果只对模拟股骨域感兴趣,可以使用过滤 数据集,就像第一个工作流程中做的那样。水平值 0.6 的分割 数据集就已经足够满足我们的目标了,如下图所示。

分割数据集的图显示为红色,其中股骨的网格位于块域内。
分割数据集的图,水平值设置为 0.6。等值面将模拟域划分为两个域,一个是股骨域,一个是股骨周围的域。

当对水平值满意时,右击分割过滤 数据集节点,选择在新组件中创建网格。如果需要创建额外的模拟域,请使用创建网格组件 选项,并按照第一个工作流程的步骤进行。

在组件选项创建网格的特写图。

这将自动设置一个带有导入节点的新组件,导入分割 数据集的网格。清除导入域单元 复选框,并将边界分割 设置为最小值。这将只导入表面网格,并将形成尽可能少的边界;7 个平面边界和 1 个股骨边界。我们将对这个表面网格进行改进,然后重新创建一个体网格。

左图为导入的股骨网格分割数据集,右图为股骨顶部特写。面网格包含大三角形、小三角形和狭长三角形。
导入的 分割数据集网格。股骨的表面网格包含了大的、小的和条状的混合三角形,其质量需要改进以适合模拟。为了便于观察,一些边界被隐藏起来了。

重新划分表面网格来提高三角形的质量

使用自由三角形 操作对同一网格划分序列中的表面进行重新划分。为了得到大小基本相同的三角形,将最大单元大小最小单元大小 都设置为 0.005m。

股骨的网格表面的图像显示在左边,网格顶部的特写显示在右边。网格包含相似大小的三角形。
重新划分网格后的股骨和长方体表面。大小已经被修改,以生成一个大小基本相同的三角形的表面网格。为了便于观察,一些边界被隐藏起来。

现在,我们可以用一个四面体网格来填充这些域。添加的物理场接口将被应用到这个网格所定义的域和边界上。这样,我们就有了高质量的体网格,可以用于仿真对于其他的形状和应用,还可以在域中添加扫掠和边界层网格,但在这个例子中,四面体网格已经满足我们的需求了。

股骨的体网格如图所示,最终网格顶部的特写如图所示,包括显示在股骨弯曲边界上的二阶节点。
左图:股骨和周围长方体的体网格。白色的单元代表股骨域,周围的单元使用表达式 x > 0 过滤。右图:在股骨的弯曲边界上显示二阶节点的最终的网格。颜色代表偏度。为了便于观察,隐藏了一些边界起来。

二阶节点生成的网格与导入和平滑的数据的比较。

在这个工作流程中生成的网格可以与导入的数据的等值面 human_femur(x,y,z) 进行比较,该等值面与分割数据集使用的等值面相同,被绘制在原始长方体域的网格上。为了生成一个更接近导入数据的网格,可以在求解亥姆霍兹方程的原始长方体域中使用更细的网格,相应的也可以降低扩散系数。

股骨顶部特写。在这里,我们可以看到生成的网格(灰色)与插值数据的等值面(蓝色)的比较。
生成的表面网格(灰色)和插值数据 human_femur(x,y,z) 的等值面(蓝色)的比较。

结束语

至此,这篇由扫描的数据创建表面网格的博客就讲完了。我们对表面网格进行了分割,使用了两种不同的技术对数据进行了平滑处理,并学会了如何将网格和几何图形结合起来。

如果您想要了解文中讨论的工作流程的更多细节,请通过下面的按钮下载 MPH 文件。

更多资源

 

文中介绍模型的一些数据来自 Visible Human Project,https://www.nlm.nih.gov/research/visible/visible_human.html,由美国国家医学图书馆提供。这些数据是截至 2023 年 4 月 21 日的最新数据,已经经过修改,可能无法映 NLM 提供的最新/最准确的数据。NLM 没有认可 COMSOL 的产品、服务或应用,并声明对数据的准确性或完整性不作任何明示或暗示的保证,包括对商业性或适用于特定目的的保证。数据的使用者应使 NLM 和美国政府不承担因数据错误而引起的任何责任。对于因使用、误用或解释数据中包含或不包含的信息而造成的任何后果,NLM 不承担任何责任。

MATLAB 是 The MathWorks, Inc. 的注册商标。

]]>
//www.denkrieger.com/blogs/generating-a-simulation-mesh-of-a-femur-from-3d-data/feed/ 2
在 COMSOL Multiphysics® 中编辑和修复导入的网格 //www.denkrieger.com/blogs/editing-and-repairing-imported-meshes-in-comsol-multiphysics //www.denkrieger.com/blogs/editing-and-repairing-imported-meshes-in-comsol-multiphysics#comments Tue, 19 Jul 2022 06:26:02 +0000 http://cn.staging.comsol.com/blogs?p=247261 在一些情况下,修复导入的网格可能会很有用。今天这篇博客,我们将讨论在 COMSOL Multiphysics® 软件中编辑、修复和连接导入面网格的功能。我们将对不同操作的结果进行比较,讨论一些案例,并提供一些现有的教程和其他相关资源来帮助您了解更多信息。

编者注:这篇博文的最初发布于 2021 2 25 日。现在已经更新,以反映 COMSOL Multiphysics® 软件 6.0 版本中的新特性和新功能。

导入面网格的格式

COMSOL Multiphysics 中的几何体和网格导入都支持导入三维表面网格格式。以下三种格式是最常见的,软件都支持:

  1. STL
  2. 3MF
  3. PLY

由于使用的这些格式并不是来自有限元分析模拟,而是来自激光扫描和 3D 打印等应用,因此这类文件中生成的网格质量并不重要。这些格式通常包含质量较差的单元,从仿真的角度来看,网格质量差意味着:

  1. 具有非常大或非常小的角的三角形
  2. 大小相差很大的三角形
  3. 有问题的区域,例如孔、尖刺或其它不想要的不规则形状

对于质量较差的导入网格,通常需要修复和编辑,以及为了平滑小的不规则区域重新划分面。接下来,我们将对此进行更详细地讨论。

编辑面网格的不同方法

在 COMSOL 中有多种操作可以编辑导入的面网格:

  • 创建实体,可以使用:
    • 创建顶点
    • 创建边
    • 创建面
    • 创建域
    • 填充孔
  • 相交、分割、连接或删除实体,可以使用:
    • 并集
    • 与平面相交(3D)
    • 与线相交(2D)
    • 用球分割
    • 用框分割
    • 用柱体分割
    • 按表达式分割
    • 连接实体
    • 删除实体
  • 要生成和修改网格,可以使用:
    • 自由四边形网格
    • 自由三角形网格
    • 自由四面体网格
    • 自适应
    • 细化

接下来,让我们来研究一些案例和不同操作类型的区别。

重新划分和自适应面网格

如果要细化导入的网格,可以使用细化 操作。如果正在寻找一个同时支持粗化网格的操作,可以使用自适应自由三角形 操作。这三个操作都将新的或移动的网格顶点放置在输入网格的近似面上。这意味着如果输出网格比输入网格更精细,面通常会变得更平滑,如下面的示例所示。了解有关如何将新的和移动的网格顶点放置在面上的更多信息,请阅读博客文章“如何优化和调整导入的网格”。

为了解释细化、调整和重新划分面网格之间的区别,我们将使用下图所示的单位球体的粗化表面网格为例说明。

具有粗化三角网格的单位球体。
单位球体的粗化三角形网格。球体顶部的网格稍微细一些。

单位球体的粗网格被导入到三个不同的模型中,以方便我们比较细化自适应自由三角形 操作的结果。导入网格中最大三角形的单元大小约为 0.6 m。对于细化 操作,我们可以指定单元被细化一次。这将用四个较小的三角形替换每个三角形。在自适应 操作中,如果从 列表中选择 并从表达式类型 列表中选择绝对值,就可以指定一个目标单元大小(在本例中为 0.3 m)来指导自适应。对于自由三角形 操作,我们可以设置最大单元大小;在本例中,设置为 0.3 m。运行这些网格操作时,一个光滑的几何表面会在后台中被创建,新的网格被放置在上面(这个步骤对用户来说是不可见的)。

经过修正之后的球体。
顶部较细的网格被粗化后的球体,三角形单元的大小比较接近。
表面重新网格划分后的一个球体网格,三角形单元大小更相近。

使用 细化(左)对球体的粗面网格进行一次细化。使用 自适应操作后的结果(中间)。使用 自由三角形操作后重新网格化球体的表面(右)。

正如上图中所看到的,当使用细化 操作时,所有的三角形都被细化了,包括顶部的较小的三角形。自适应 操作在顶部粗化较细的网格并细化较粗的网格,从而产生更相似大小的单元。还可以使用自由三角形 来获取大小更加相似的单元。

由于自由三角形 操作会在后台中创建平滑几何表面,而自适应 操作可以修改现有网格以使其粗化,因此有时可以使用这些操作对网格中的过小的不规则部分进行平滑处理。对同一个边界选择添加多个相同的操作或这些操作的任何组合,会使网格更加平滑,因为操作没有存储网格,例如之前的不规则性。

低质量的球体网格。
经过粗化处理后,球体网格质量得到改进。
重新划分网格之后的球体网格。

对质量较差的导入 STL 网格(左)中的不规则部分进行平滑处理。中间的图像显示了运行两次 自适应操作后的结果右侧的网格显示了运行一次 自由三角形操作后的结果。

通过在空白处创建边和面连接两个导入的网格

创建顶点创建边创建面 操作可用于在空白处创建网格。在下面的幻灯片中,我们将看到如何使用这些操作来弥合两个不相连的导入网格之间的间隙。有两种导入的、断开的管道网格,一种具有椭圆形横截面(左侧的 S 形管道),另一种具有圆形横截面(右侧的管道)。目标是连接蓝色突出显示的边缘。

我们首先使用创建顶点 来确保两个网格上的顶点数量相似。使用创建边 将顶点与网格边连接起来。创建的边始终是直的、网格状。然后使用创建面 操作在每个循环边中创建面。最后,使用自由三角形 连接和重新划分面。正如我们在最后一张图片中看到的,重新划分连接的表面使其更平滑,现在很难看出两根管道一开始就没有连接。

  • 突出显示边缘的两个管网。突出显示边缘的两个管网。
  • 使用 Create Edges 连接顶点后的两个网格。
    使用 Create Edges 连接顶点后的两个网格。
  • 在每个边循环中创建面后的两个网格。
    在每个边循环中创建面后的两个网格。
  • 生成的网格,两个面连接在一起。
    生成的网格,两个面连接在一起。

所创建的曲面总是尽可能的平面化,因此可能需要添加更多的网格顶点和边以解析面。为了使生成的曲面平滑并使用相似大小单元的高质量网格,可以对曲面进行调整或重新划分,如上一节所述。

相交与分割面网格

如果有两个相交的导入面网格,请使用并集 使面相交并更新域信息。之后重新网格化或调整面以获得高质量的面网格通常很有用,如下所示。

两个相交的网格,一个是球体,一个是圆柱体。
使用并集和修正处理后的表面网格。

使用 并集操作合并两个导入的面网格(左)和使用 自适应修改后生成的网格(右)。

有时,有必要对网格进行分割或相交以获得边界,方便之后分配边界条件。我们通过在 z = 1 处相交和分割下图中的面网格,来看看相交操作和分割操作之间的重要区别。如下右图所示,平面在三角形的中间相交。相交操作将分割平面所在的单元以添加直线几何边。分割操作将沿着最接近平面的现有网格边添加几何边。

平面相交 操作仅被用于表面网格。它与网格单元相交,这意味着三角形将在平面位置处划分,并在需要的地方引入新的网格顶点、边和三角形。结果是相交的面被笔直的边隔开,如下左图所示。如果需要,可以使用 清理生成的网格算法,例如,删除可能在生成的网格中引入的短网格边和小单元。

注意:要查看与平面相交 操作的另一个示例并更详细地了解它,请查看 STL 导入系列教程模型。

使用平面相交操作后的网格特写图,受影响的区域用蓝色突出显示。
使用分割框操作前网格的特写图。

显示 与平面相交操作之前和之后的网格的图像。左:平面网格位于 z = 1 中,以蓝色突出显示。该平面与蓝色区域上边的表面网格相交。右:生成的上边界(以蓝色突出显示)具有笔直的下边。

体积网格和面网格支持分割操作。可以使用不同的形状来划分网格的域或面,包括:

  • 球体
  • 用户定义的表达式

这里的分割 一词表示根据形状中是否包含单元形成新实体。网格单元和网格边不被分割。这意味着域和面上的网格单元数量保持不变,并且创建的边将遵循现有的网格边,如右图所示。

使用分割框操作后的网格特写图。
A close-up image of the mesh after using the Partition with Box operation.

图像显示了构建 用框分割 操作之前和之后的网格左:一个面网格,显示了一个放置在 z = 1 中的平面,以蓝色突出显示,框将划分网格。右:几何边尽可能接近 z = 1 的现有网格边。

分割操作与创建边

虽然可以使用分割操作对面进行分割,但也可以使用创建边 操作。分割操作仅限于某些形状或具有各自设置的逻辑表达式,但可以快速分割网格。另一方面,创建边 操作更加灵活,因为每个网格边都是手动选择的。因此,这个操作通常在隔离较少数量的网格单元时使用。

注意:在 STL 导入系列教程中提供了创建边 操作的示例,您可以下载应用程序文件了解更多信息。

例如,我们可以使用用球分割 操作隔离在网格中形成尖峰的部分面,如下图所示。如果单元的部分或全部网格顶点位于球体内,我们可以设置分割条件以包含三角形单元。或者,如果想要更多地控制选择哪些网格边转换为界定新面的边,可以使用创建边 操作。

用蓝色突出显示的尖刺网格和一个粉红色的圆突出显示分割与球操作,包括所有网格单元的顶点。
用蓝色突出显示的尖刺网格和用粉色圆突出的用球分割操作,只有一些网格单元的顶点在里面。

在左图中,如果所有顶点都在球内,则分割条件设置为包括网格单元;右图显示了相同的操作,如果只有一些它的顶点在球内,条件设置为包括网格单元。在这两种情况下,新面的边(以蓝色突出显示)都会变成锯齿状。

一个网格尖刺的特写图,每个网格边都被选中并以蓝色高亮显示。
使用创建边操作后的网格尖刺的特写图,底部边有一个更均匀的形状。

在这个示例中,鼠标右键单击选择 图形窗口(左)中的每个网格边,这是一个快捷操作,可以使所选面底部边的形状更加均匀(右侧,以蓝色突出显示)。

自动化常用操作

在编辑和修复导入的网格时,可能会比其他操作更多地使用某些操作,或者意识到每次设置新模拟时都会使用特定的操作序列。一种自动化建模工作流程或部分工作流程的方法是设置模型方法或使用插件

例如,当使用代表多孔结构的导入网格进行工作时,通常会存在狭窄的“桥”将网格的一部分与另一部分连接起来。这些桥在创建几何图形或重新分割面网格时可能会出现问题,因为桥的面很容易变得自相交。因此,有时有必要将它从网格中删除。一种快速的方法是使用球分割插件,这个插件会在旋转中心创建一个 用球分割(如下左图所示)。我们可以通过用鼠标中键单击将旋转中心设置在边界处。

一个多孔结构的表面网格显示为红色,旋转中心设置有一个小图标。
多孔结构的表面网格与一个粉红色的圆圈突出旋转中心。

多孔结构的面网格。图像中间的柱状部分创建了一条从表面的一部分到另一部分的狭窄的桥。我们在桥上设置了旋转中心(左图),并使用球分割 插件根据旋转中心的位置(右图)来定位 用球分割操作的

这个插件可以很容易地移除窄桥和修复孔。

用桥隔离的网格以蓝色突出显示。
中间有空隙的自适应网格。

桥被隔离为一个单独的边界,并被选中(左侧,以蓝色突出显示)以将它删除。右图显示了填充孔并调整网格后调整的网格。

体积网格

如果要重新划分导入的体积网格,可以清除导入 操作设置中的导入域单元 复选框。另一种选择是删除域单元,同时保留面网格和未划分网格的域。为此,我们可以使用删除实体 操作,选择要删除其单元的域,然后选中保留为未划分网格的域 复选框。

COMSOL Multiphysics 用户界面显示了导入设置窗口。
COMSOL Multiphysics 用户界面显示了删除实体设置窗口。

要恢复域中的四面体网格,请使用 自由四面体操作。

结论

编辑导入的网格有多种方法,COMSOL® 提供了多种功能,可以使这些更改成为可能。

如果您还没有准备好,可以查看 COMSOL 案例库中的两部分教程系列。在这个系列的第一部分中,几何对象是基于 STL 网格创建的,然后与块相交。在第二部分中,导入两个面网格并直接用四面体网格填充,而不基于 STL 网格创建几何形状。学习这些教程,可以让您深入了解修复和编辑任何类型的导入面网格。

更多资源

查看下面列出的这些资源,了解有关网格的更多信息:

]]>
//www.denkrieger.com/blogs/editing-and-repairing-imported-meshes-in-comsol-multiphysics/feed/ 3
如何对卷绕和翘曲几何形状进行建模? //www.denkrieger.com/blogs/wrapping-and-warping-geometries-for-analysis-in-comsol //www.denkrieger.com/blogs/wrapping-and-warping-geometries-for-analysis-in-comsol#comments Fri, 10 Sep 2021 02:47:53 +0000 http://cn.staging.comsol.com/blogs?p=278611 假设有一些会发生变形的 CAD 零件,例如柔性印刷电路板。这些 CAD 零件是在未发生变形的制造状态下设计的。然而,出于分析的目的,我们只对它的变形和组装状态感兴趣。今天这篇博客将介绍如何对这类几何进行卷绕和翘曲变形,以及模拟变形零件周围空间的几种方法。接下来,我们来看看如何操作。

定义变形形状

如下图所示,考虑一个矩形薄柔性材料,其中一侧带有电极图案,类似于我们在电容式传感器博客中介绍的示例。对于更复杂的图案,您可以使用 COMSOL Multiphysics® 软件核心包的 DXF 导入功能,或 ECAD 导入模块的 ECAD 导入功能

一个柔性部件的示意图,以绿色和橙色显示,黑色线显示它将被卷绕的轴
即将绕轴卷绕的柔性零件。

我们将定义这个零件的变形,假设施加的变形与我们通过求解几何非线性(可能还有材料非线性)固体力学控制方程得到的实际变形非常相似。也就是说,我们将避免通过假设一个变形场来求解变形问题。

我们将考虑单个弯曲变形,因此可以通过查看一个垂直于弯曲轴的二维平面来构建讨论的问题,如下图所示。我们的目标是让这个薄零件变形,因此其中心线长度和体积不变。这可以通过在零件的未变形状态(笛卡尔坐标系)和变形状态(柱坐标系)之间定义一个映射轻松实现。

显示变形和未变形状态之间定义映射的示意图,标有笛卡尔坐标和柱坐标
绕轴卷绕一个零件涉及在笛卡尔坐标系中零件的未变形状态和柱坐标系中的变形状态之间定义一个映射。

为了定义这种映射,最简单的做法是使 CAD 零件与全局笛卡尔坐标系保持一致, 轴对应于卷绕状态下的径向方向。接下来,定义一个零件将被卷绕的点 ,以及被固定在空间中的零件上的一个点 。这两个点之间的距离为 。然后,考虑一个以同一原点为中心的柱坐标系,其 轴指向相同两点之间的轴。选择一个位于零件中心的点 (假设厚度均匀),表示卷绕该零件不会改变t其体积,但如果需要拉伸或压缩域,也可以选择其他点。例如,选择一个位于零件表面的点代表该表面面积不会改变。

为了定义这种变形,我们定义一组将 平面内的点映射到 平面内的点的表达式。

R=(X-X_c)+R_0
\Theta = (Y-Y_c)/R_0 + \text{atan2}(Y_c-Y_0,X_c-X_0)

 
由此,可得变形表达式为:

dx = R \cos(\Theta) – (X-X_0)
dy = R \sin(\Theta) – (Y-Y_0)

 

这些变形表达式可以直接在 COMSOL 软件中的 动网格变形几何 接口的 指定变形 特征中使用。对于绕任意轴卷绕的情况,需要构建一个完整的三维旋转矩阵。这篇学习中心文章介绍了定义任意旋转的问题。在实际模拟中,只要有可能最好绕笛卡尔轴进行卷绕。这种变形的结果如下图所示,进一步的分析可以直接在这个变形状态上进行。

卷绕后的变形部分,以绿色和橙色显示,初始状态以线框显示以供参考
卷绕后变形的零件。

通过第二个组件和网格对周围域进行网格划分

尽管对零件进行变形很有趣,但我们往往也需要关注零件周围的空间。例如,我们可能想在自由空间内模拟被卷绕的零件,其中变形零件的复杂形状的体积在另一个域内,例如代表无限元或完美匹配层的一组域。如下图所示就是这样一个例子,卷绕的零件位于一个空的、未划分网格的球形空间内,其中外部有一组划分了网格的球形层。

一个卷绕部分,绿色和橙色,具有更细的网格,位于粗网格中的灰色球形域内部
一个在一个空的、未划分网格的球形空间内卷绕的零件和一个外部划分了网格的球形层。

由上述可以发现两个问题:

  1. 卷绕的零件现在有一个变形的网格
  2. 紧邻的周围空间没有网格

我们想对这个卷绕的零件重新划分网格,并在相邻域中引入一个网格。第一步非常简单:只需对变形的配置重新划分网格,这样就在模型的第一个组件中得到第二个网格。

接下来,我们必须在模型中引入第二个组件,在第二个 组件网格 分支中,导入第一个组件中重新划分的网格。这样就复制了网格,并能引入额外的网格操作。我们只需要添加两个额外的功能。首先,创建域 功能将从所有完全封闭的自由空间区域中创建域,比如卷绕的零件和外部层之间的空间。其次,添加一个 自由四面体 功能,对刚刚创建的域,即被卷绕的零件和封装的外壳之间的体积,进行网格划分。这个网格现在可以用于模型第二个 组件 中的任何进一步分析。

并排图像显示了在左侧的模型树和设置窗口中选择的导入节点,以及右侧的网格化组件和可用空间
基于第一个组件的变形配置的网格被导入模型的第二个组件中。零件周围的自由空间可以被定义为一个域并进行网格划分。

结束语

在今天的博客中,我们介绍了一种通过显式变形将一个 CAD 零件绕轴卷绕的方法,还介绍了一种可以轻松地对变形零件周围的空间划分网格的方法,并利用它进行进一步的分析。值得一提的是,这种重新划分网格的方法也适用于计算实际的变形而不是指定的变形。不过,对于需要简单卷绕的情况,本文介绍的方法要简单得多。只要能够定义未变形状态和变形状态之间的映射,也可以被指定更复杂的变形形状。

点击以下按钮,获得介绍文中方法的演示模型:

]]>
//www.denkrieger.com/blogs/wrapping-and-warping-geometries-for-analysis-in-comsol/feed/ 6
如何将点云数据转换为曲面和实体 //www.denkrieger.com/blogs/how-to-convert-point-cloud-data-to-surfaces-and-solids //www.denkrieger.com/blogs/how-to-convert-point-cloud-data-to-surfaces-and-solids#respond Thu, 28 Jan 2021 07:01:06 +0000 http://cn.staging.comsol.com/blogs?p=246681 在实际仿真过程中,并不是所有分析都是以 CAD 模型开始的。有时,我们唯一可用的数据仅是一系列点数据,也称为点云数据。在这篇博客中,我们将演示如何将点云数据转换为可在 COMSOL Multiphysics® 软件中进行仿真分析的几何模型。

什么是点云?

点云是指在 xyz 坐标上绘制的一系列三维点数据。这些点通常来自使用激光扫描仪、测量工具或雷达成像等技术对物体表面进行扫描所获得的信息。

下面的屏幕截图显示了一个文本文件中的部分点云数据,其中的 xyz 坐标以制表符分隔列的形式排列。

含点云数据的文本文件
含点云数据的文本文件屏幕截图。

这是 COMSOL Multiphysics 可以导入的最简单的坐标格式类型之一。在软件中,它被称为 电子表格 格式。在这种格式下,可以使用可选的%(百分比)字符来代表注释行。可以用空格、逗号、分号或制表符分隔值和索引。当这类数据被导入后,软件将根据文件中的行号为其指定坐标的索引。由于没有关于这些点之间的信息(也称为连通性),因此这种点集经常存在歧义。我们用一个简单的二维示例来说明可能发生的歧义类型。以下图中的二维曲线为例,从图中可以明显看出,点 5、18 和 7 是曲线上的连续点。

蓝线代表一条2D曲线,曲线上的连续点标有数字,用于演示如何转换点云数据。
然而,在下图中,由导入的点云数据表示的对应曲线并不是那么明显。也许点 5、6 和 4 是曲线上的连续点?

一个带编号的点,但没有线的点云数据,显示了一条推测的但不明显的二维曲线。
点云数据可能具有内在的歧义。点 5、6 和 4 是不是曲线上连续的点?在这个示例中,它们没有连接,这可以从原始曲线看出,但不能从其相对稀疏的点云数据中看出。

如果一个导入的三维坐标列表带有相关的三角形表面连通性数据,例如 STL,PLY 或 3MF 文件格式,就可以解决这种歧义。比如,一个由两点之间的连通性定义的,并且仅定义了表面的三角形列表。如下所示,三角形表面数据文件

15 17 23

表示将索引为 15、17 和 23 的点作为三角形的顶点相连。

另一方面,如果只有点云数据而没有连通性信息,我们就需要做出其他假设来解决这种歧义。一种可能的假设是:表面数据以 的形式表示,也称为函数面。如果数据不在该表单 上,可以尝试将其分成几部分,使每一部分在表单 上。这里要注意的是,在表单 或者 上的数据在重新排列后同样有用。

可视化点云数据

将点坐标数据可视化的一种简单方法是将其作为表格导入到 多边形 几何对象中,然后使用 转换为点 操作,如下图所示。

COMSOL Multiphysics UI在图形窗口中以点云数据作为几何点对象的侧面视图。
COMSOL Multiphysics 模型开发器中点云数据的几何点对象的正面视图。

点云数据的可视化图,从两个不同的视角看到的几何点对象。

基于这个视图,可以假设点云数据定义了以 形式表示的函数面。为了方便以后使用,我们需要知道点云的范围。获取此信息的一种简单方法是右键单击几何 节点,然后选择 测量

“测量设置”窗口的屏幕截图,展开了“几何类型”、“选择”和“测量”部分。
测量设置窗口给出了有关点云范围的信息。

由点云范围显示的信息可以看到,有 958 个点在 xy 方向上都从 0.5 延伸到 9.5m,在 z 方向上从 -0.2 延伸到 +1.5m。本示例中使用的单位是米(m)。

现在,我们可以尝试使用 转换为曲面 操作将这组点数据转换为曲面。但是,这个操作不起作用。因为我们没有这些点的连接信息,所以系统将提示一条错误消息。我们需要以某种方式构建连接性数据。另外,还需要假设数据在表单 上。解决方案是将点云作为一个非结构化插值曲面导入。

创建一个插值曲面

接下来,我们在 全局定义 节点下添加一个 插值 函数,并将 数据源 设置为 文件。浏览点云文本文件,在本示例中为 C\ COMSOL \ point_cloud.txt,如下图所示。您可以点击文章末尾的链接下载此文件。

COMSOL Multiphysics 中的插值设置屏幕截图,展开了定义和插值和外推部分。
由点云定义的 插值 函数。

插值 功能将自动猜测该数据在表单 上,文件的前两列分别代表 xy 坐标,第三列代表函数值,即函数曲面的 z 坐标。我们可以从参数量中看到这一点,它被自动设置为2,分别对应于 xy 坐标。函数名称 被自动设置为 int1(可以更改以及 文件中的位置 被设置为 1 表示int1xy)的函数值,代表 z 坐标的将由输入参数列之后的第一列给出。换句话说,列数 2+1=3。在这个示例中,文件只有三列,因此 1 是唯一选择。如果数据采用其他形式,则可以在导入之前使用文本编辑器或电子表格软件(例如 Excel®)重新排列数据。

然后,单击 插值设置窗口顶部的 绘图创建绘图 按钮将插值函数可视化。绘图 选项将创建一个临时的可视化结果,创建绘图 选项将创建一个二维 网格 数据集,并在 结果 下的 二维绘图组 节点创建相关的 函数 绘图。

一个插值函数,由点云数据生成的以彩色表显示了插值函数绘图
函数设置窗口的屏幕截图,展开了部分数据和表达式。

结果 及其相关的 设置窗口下以 函数 绘图的形式显示的插值函数。

那么,软件是如何仅基于假设 来创建表面的几何表示呢?首先,插值函数在后台创建 xy 坐标的二维三角形网格,然后将函数值关联到每个点,最后在两个函数值之间进行线性插值。我们可以将这个过程看作在点云上放置一个渔网。请注意,这个三角形网格对用户不可见。在 插值和外推 部分的 插值设置 窗口中,可以看到设置 插值选项,它默认设置为 线性。另一个选项是 最近邻插值,它将创建一个分段常数函数插值,在这个示例中没有用。

这部分的另外一个设置是 外推。这个功能用于猜测函数定义范围之外的值,定义范围由 xy 坐标确定。在这个示例中,点云分布在 xy平面的一个圆内。当将数据可视化为 函数 图时,xy 数据取自一个矩形 二维栅格 数据集,并且插值函数将以辐射模式分配常数函数值,用于填充圆和矩形之间的空间,以限制点云数据。如下图所示,我们可以从点云数据中识别出圆形迹线。

 COMSOL 多物理场图形窗口中插值函数的俯视图,以彩色表的形式显示。
内插函数的俯视图,在定义原始点云迹线的圆形区域之外可以看到外推部分。

软件又是如何将这个插值函数转换为可以进行网格划分和仿真分析的几何表示呢?这是通过使用 参数化曲面 几何对象完成的,我们将在后面进行介绍。

创建一个参数化曲面

要创建一个基于上述插值函数的 几何表面,请根据下图在 几何 下添加 参数化曲面 特征。

参数化曲面设置窗口的屏幕截图,其中展开了参数、表达式和高级设置部分。
基于点云插值函数的表面的 参数化曲面 设置。

在这个 设置 窗口中,s1s2 分别被解释为 xy 坐标,int1s1s2)解释为 z 坐标。现在,我们需要使用之前通过 测量 工具获得的信息。我们将 s1 和 s2 的最小值和最大值设置为比点云数据的测量范围宽一点,以确保不会遗漏任何细节。

在这个示例中,参数化曲面 将在两个方向上被定义在 0 到 10 之间,以与测得的 0.5 到 9.5 之间的点云数据进行比较。

在内部,COMSOL 软件用 B 样条表面表示参数化曲面,该 B 样条曲线表面近似于计算以 xyz 表达式 定义的数学表面。 B 样条曲面是分段多项式曲面,所使用的分段多项式的数量由 数间接确定。结数越大,分段多项式的数目越多,近似效果越好,但是计算成本更高。B 样条曲面中的结数会自动增加,直到曲面近似值满足 相对容差 栏中指定的 容差 或直到达到 相对容差 栏中 最大结数 栏指定的结数为止。根据相对于参数化曲面的边界框的空间对角线测量容差。

在这个示例中,我们使用试错法得到 相对容差 为 5e-4,而 最大结数为 500。(默认值分别为 1e-5 和 20。)下图显示了生成的曲面。


参数化曲面几何对象。

我们可以在更早的时候就使用这项技术,以同时可视化点云和曲面,如下图所示。


参数化曲面几何对象和点云数据。

要更好地控制表面可视化的细节,可以单击 网格 节点并创建适当 单元大小 的网格。下图显示了使用 极细化 设置的网格。要获得更高的分辨率,请选择 用户控制网格 选项并设置 定制 单元大小。

模型开发器图形窗口中显示的网格点云和参数化曲面几何对象。
使用网格将点云数据和参数化曲面几何进行可视化。

修剪表面

在原始点云数据中心有一个圆心在x=5,y=5上,半径为 4.5 的圆形迹线。下图显示了添加一个圆柱体来拟合这些测量点,圆柱体高度位于 z 方向的最小值和最大值之间。

用一个圆形几何裁剪由点云数据生成的参数曲面几何。
用于修剪表面的圆柱体。

现在,使用 交集 操作通过选择曲面和圆柱体来修剪表面,如下图所示。

将参数化曲面与圆柱体相交后的模型几何形状。
表面与圆柱相交的结果。

修剪的表面,将点云数据覆盖在灰色几何上作为黑点。
点云数据和修剪的表面。

在两个曲面之间的空间创建实体

要在两个内插曲面之间的空间创建具有圆形迹线的实体,只需重复上述步骤导入第二个曲面即可,如下图所示。

The original parametric surface with another surface above that corresponds to another point cloud.
与第二组点云数据对应的第二个曲面。

然后,创建一个圆柱体来修剪表面,并对所有对象使用 转换为实体 操作,如下图所示。

COMSOL Multiphysics 中模型开发器的屏幕截图,由一个圆柱体和两个参数化曲面组成的紫色几何。
模型开发器图形窗口的灰色圆柱体几何。

使用圆柱体修剪两个表面。

我们可以使用 分割对象分割域 操作获得相同的结果。这些操作比 转换为实体 更复杂,并且允许选择圆柱作为要分割的对象或域。然后,可以选择插值曲面作为用于分割的工具对象。在某些情况下,分割域 操作适用性更广,因为它允许从对象中分割选定的域,并且可以选择自动扩展平面、圆柱或球形工具面,当这些平面与要划分的域不相交时。

最后,使用 删除实体 删除不需要的域,如下图所示。

通过导入点云数据和修剪两个插值曲面得到的实体模型几何。
通过导入和修剪两个插值曲面得到的实体。

现在可以对该实体进行网格剖分,并用于任何类型的仿真。在这种情况下,我们可以创建仅有六面体的扫掠网格,如下图所示。

一个带扫掠网格的圆柱体。
用于圆柱体的扫掠网格。

生成点云数据进行测试

我们可以通过本页底部的链接下载本博客文章中使用的点云数据和文件。如果想生成自己的点云数据,使用任何表面。在下图中,如上例所示,使用了一个参数化曲面,并用圆柱体对其进行了修剪,用于 z 坐标的表达式为:

z = 0.25 * cos(s1)+ 0.2 * cos(1.5 * s2)* exp(-0.1 * s1 + 0.1 * 0.25 * s2)+ 0.1 * s2

实际上,这是用于生成第一个示例中使用的点云数据的表面。

A parametric surface that was created via a mathematical expression and trimmed via a cylindrical object.
由数学表达式给出并由圆柱对象修剪的参数化曲面。

现在,创建一个网格,然后右键单击 网格 节点并选择 绘图结果 下生成一个网格图。接下来,右键单击 网格图>网格,然后选择添加要导出的绘图数据 。在数据设置窗口中,将1用作表达式。由此导出的常量值将不被使用。选择一个文件名,然后单击窗口顶部的导出 将数据写入文件。

A screenshot of the Data Settings window, with the Output section expanded to show the Spreadsheet option for exporting data.
用于以电子表格格式输出数据的输出设置。

如果在文本编辑器或电子表格软件中打开生成的文本文件,则会看到带有注释行和四列的标题。最后一列包含常量表达式1。

屏幕截图显示了在文本文件中导出的模型数据。

在电子表格软件(例如 Excel®)中,我们可以删除第 4 列,然后将文件再次保存为文本文件格式。生成的文件将采用与前面讨论的示例相同的格式。请注意,标题中的前导注释行是可选择项,可以删除。

结束语

这篇博客介绍的技术可用于多种用途。例如,可以导入两个以上的曲面来创建更加复杂的结构;可以使用非圆柱体对象修剪数据;在其他示例中,点云数据可以基于圆柱或球形坐标;可以将以上技术与坐标转换结合使用以生成圆柱或球形面切片。

有关在岩土工程应用中使用插值数据的真实示例,请参阅这篇博客:将地质模型整合到区域尺度的地下水模型中

更多相关示例,请参阅这篇博客:如何基于高程数据模拟不规则形状并构建模型几何

动手尝试:转换点云数据

单击下面的按钮,您可以下载文中使用示例的 MPH 文件和数据文件。您还可以找到一个 MPH 文件,这个文件演示了如何将表达式定义的原始参数平面与点云定义的参数平面进行比较。

Microsoft 和 Excel 是 Microsoft Corporation 在美国和/或其他国家的注册商标或商标。

]]>
//www.denkrieger.com/blogs/how-to-convert-point-cloud-data-to-surfaces-and-solids/feed/ 0
如何在 COMSOL®中使用草图工具绘制二维几何 //www.denkrieger.com/blogs/how-to-use-the-sketch-tools-in-comsol-to-draw-2d-geometry //www.denkrieger.com/blogs/how-to-use-the-sketch-tools-in-comsol-to-draw-2d-geometry#respond Thu, 18 Jun 2020 05:40:38 +0000 http://cn.staging.comsol.com/blogs?p=236341 在COMSOL软件中对二维组件进行建模,或在三维模拟中使用工作平面时,您可能已经注意到,如何创建几何图形的功能发生了一些细微但重要的变化。使用草图 模式以及约束和尺寸,可以绘制平面几何图形并定义您所绘制的几何实体之间的关系。请放心,您已经习惯使用的二维几何图形绘制功能仍然可用,但新版本软件新增的一些功能绘图效率更高。

草图模式简介

与 COMSOL Multiphysics® 软件 5.5 版本一起发布的草图 模式,使您可以在图形 窗口中交互式绘制和编辑几何图形。该功能可用于平面绘图,并可与 COMSOL® 软件的核心功能一起使用。

COMSOL Multiphysics 模型构建器中“草图”选项卡的屏幕截图。
二维或三维模型组件的几何或工作平面功能区分别提供了草图选项卡。

使用草图 模式,您可以交互式绘制大量不同类型的形状。这些形状的绘制方式与先前版本的软件相同,但具有增强的可视化效果、指示器和功能。

交互式绘图

使用草图 模式在 图形 窗口中绘制几何图形时,所有对象均以线框渲染的方式显示(如下图左所示),直到离开草图模式或模型树中的几何节点。无论您为对象类型(例如实线、开放曲线或封闭曲线)选择何种设置,此选项都将保持不变,从而使您可以轻松访问和查看所有组成的对象。

在COMSOL Multiphysics 中以“草图”模式工作时的固体对象。
在“图形”窗口中草绘的实体对象。

草图模式下(左)与草图模式外(右)比较,实体几何的可视化图形。

打开草图 工具栏并在工具栏的绘图 部分选择要制作的几何形状类型后,您可以在图形 窗口中单击并移动或拖动鼠标形成形状。您可以通过不同的按钮来绘制不同的几何体素,并且可以通过组合多个体素特征创建任何几何图形。

 

首先使用相应形状的体素特征、矩形按钮和多边形按钮绘制一个矩形。使用矩形按钮,通过左键单击,将鼠标拖动到所需的大小,然后再次单击鼠标左键以完成绘制。使用多边形按钮,通过为每条边形成线段来绘制对象。完成绘制最后一条边后,右键单击即可完成绘制。

与 COMSOL® 软件的早期版本相比,新的草图 模式提供了交互式且更快的绘图选项,例如:

  • 插值曲线
  • 贝塞尔曲线
  • 长方形
  • 正方形
  • 圆形
  • 弧线
  • 椭圆形

新版本还增加了新功能,增加了绘制以前无法绘制的几何形状和特征(例如多边形)的选项,所有这些功能都可以最大限度地提高组合所需几何图形的效率。

您现在可以通过选择一个或多个点,然后拖动鼠标以交互式创建圆角。

 

视频中演示了正在使用的 圆角操作。选择尖角处的顶点,然后拖动它以形成圆角。

通过复合曲线 特征,您可以将不同类型的边交互式地放置到单个对象中,同时保持所有组成边之间的连接。绘制一系列不同类型的边缘线时,会自动生成此特征并将其添加到几何序列中。您还可以通过以下方法手动使用此功能:在几何序列中选择与几何中连接边相对应的节点,单击鼠标右键,然后选择复合曲线 特征。这会将序列中选择的所有已连接但独立的曲线对象组装为单个对象。

 

视频显示了正在绘制的复合曲线。先自动绘制,再手动绘制。手动将对象组装为复合曲线时,可能需要先更新对象类型的设置,以使菜单选项可用。

交互式编辑

编辑几何图形中的任何对象时,除了在设置 窗口中更改对象的任何值外,现在还可以单击并拖动对象本身、对象的边或顶点以调整其大小或更改几何的一个或多个零件。您也可以在拖动鼠标的同时按 Ctrl 和(或) Shift 键,以更改设计中其他几何实体的移动方式。

 

如本视频中所示,您可以通过多种方式交互式地编辑几何。您可以单击并拖动对象的中心以移动它,可以通过拖动边缘来更改大小,或者可以通过拖动顶点来更改大小或配置。

此外,如果草图包含多个对象,选择几何实体后不确定零件属于几何序列中的哪些节点,您可以双击它。草图中该零件所属的节点将在模型开发器窗口中自动被选择。

 

在草图模式下双击每个单独的几何实体时,将在模型开发器窗口中自动选择对应于该几何零件的节点。

当您为模拟的几何体进行复杂的设计时,这将非常有用。在这里,您可以在设置窗口手动更改其属性,或直接在图形窗口中更改对象。

导航和指示器

使用草图模式时,您会注意到在图形窗口以及正在交互的各个几何实体上都会出现许多可视指示器。单击草图按钮后,粗体栅格线会自动出现在 x–y– 截距处,从而可以快速参考栅格中的原点。

A screenshot showing the Graphics window in the Model Builder with the Sketch mode enabled and grid lines shown.
在几何中启用草图模式后,图形窗口中在原点处显示粗体栅格线。

拖动模型几何图形中的任何顶点时,您会看到,当该点拖动到与几何图形中的其他点对齐时,会出现绿色的栅格线。您还会发现,在几何图形中绘制任何新对象时,也会出现这些相同的线。此功能为在相对位置上绘制对象提供了指导。

 

当拖动点或绘制新对象与其他点对齐时,图形窗口中将显示绿色栅格指示线。

如前所述,您除了可以在图形窗口中进行交互式编辑所绘制的对象外,还可以在设置窗口中进行更改。对于某些几何体素特征(例如多边形或插值曲线),在编辑点坐标时,红色圆圈标识您当前正在编辑的图形窗口中的对应点,从而使您能够准确地看到要移动的点。

 

在多边形的设置窗口中,选择表中的任何单元格都会导致相应的点及坐标以红色圆圈突出显示。

设计模块中的约束和尺寸

草图 功能选项卡中,设有约束和尺寸工具应用于平面几何,您也可以在图形窗口中以交互的方式完成。当您绘制或处理复杂的几何图形和研究时(例如,如果要参数化几何图形并随后更改值),此功能将非常有用且尤为重要。您无需为体素的坐标和尺寸创建表达式,然后再手动定义表达式;您可以指定位置、距离和角度,从而使该过程变得更快、更简单。请注意,您需通过设计模块访问此功能,它并不是 COMSOL® 软件的基础功能的一部分。

A screenshot of the Sketch tab in the Design Module, including the Constraint and Dimension sections.
设计模块中草图选项卡中的约束和尺寸功能

通过在几何节点上打开设置窗口的约束尺寸部分的相应设置,您就可以启用这些工具。

A screenshot of the Geometry Settings window for inputting constraints and dimensions in the Design Module.
在几何设置窗口,通过从相应的下拉菜单中选择开,就可以启用约束和尺寸功能。

约束 是设置与数值无关的几何实体的要求。这样的示例包括:要求两边相互垂直或要求直线与曲线相切的。COMSOL 软件具有许多可使用的预定义约束,例如:

  • 平行
  • 垂直
  • 相切
  • 重合
  • 同心
  • 等距
  • 等半径
模型构建器中“图形”窗口中的简单几何图形。
在两个相邻边之间应用垂直约束后的简单几何。

在两个相邻边之间应用 垂直约束之前(左侧)和之后(右侧)的简单几何形。

相反,尺寸 是设置与数值关联的几何实体的要求。例如,可以设置圆弧半径或两点之间的距离的值。参数和表达式也可以用于定义此类值,这在运行参数扫描或参数优化时会很有用(稍后会对此进行详细介绍)。COMSOL® 软件内置的尺寸包括:

  • 距离
  • x距离
  • y距离
  • 总边长
  • 角度
  • 半径
  • 位置
图形窗口中的简单几何图形。
A simple geometry after applying a Distance dimension to an edge.

一个简单的几何图形区域,显示了 距离尺寸应用于边之前(左侧)和之后(右侧)。

约束尺寸 特征可以应用于几种不同的方式。您可以通过在功能区中选择所需的约束尺寸按钮,然后在图形窗口中选择要应用关系的适当几何实体来手动添加它们。通过启用智能约束模式或智能尺寸模式,您也可以通过更自动化的方法来完成此操作。使用这种方法,您可以在草图工具栏中选择约束按钮或尺寸按钮;开始选择几何;然后,根据您选择的几何实体,鼠标旁边会出现相应的约束或尺寸图标,然后就可以应用了。

此外,如果打开使用约束和尺寸,则在交互式编辑草图时还可以自动添加约束。例如,拖动一个顶点以与草图中的另一个顶点重合会导致自动生成重合约束。

定义好草图后,几何图形将被锁定并显示为黑色,而在解锁和可编辑时显示的是灰色。此外,在几何 节点的设置窗口中会显示一条状态消息,说明草图已完全定义。请注意,应用约束和尺寸以创建完全定义的草图不是必须的,但建议在几何参数扫描和优化完全定义草图。

 

启用智能约束模式可将约束应用于任意几何图。注意视频开头的几何状态消息。之后,将启用智能尺寸模式以将尺寸应用于几何图形。在视频末尾,应用所有这些约束和尺寸后,请注意出现的几何图形的状态消息。

在对几何图形应用任何约束或尺寸后,您始终可以将鼠标悬停在任何代表性图标上。这将在图形窗口中突出显示与约束或尺寸关联的几何实体。您也可以双击图标,然后将自动选择几何序列中的相应节点。在此,您可以选择在设置窗口中编辑约束或尺寸的任何属性。

 

将鼠标悬停在应用于几何图形的任何约束和尺寸上时,关联的几何实体将在图形窗口中突出显示。然后,您可以双击任何约束/尺寸以在设置窗口中打开并编辑其属性。

为参数化扫描准备草图

在详细讨论了几何功能之后,您可能想知道在设计过程中的哪些点需要使用这些功能,特别是如果您希望使用参数化扫描来研究几何参数的影响。对于这样的应用,建议对已绘制的草图应用约束和尺寸,以使其定义良好。这样做可以确保在更改尺寸时,您绘制的几何图形的行为可预测。随着尺寸和坐标根据您在扫描中指定的值的更新,几何实体的形状以及几何实体之间的相互关系得以保持。

没有特定的过程需要将未充分定义的草图设置为充分定义。但是,我们发现在使用草图工具绘制和唯一定义用于参数研究中的草图时,以下步骤很有用:

  1. 绘制几何图形
  2. 应用约束
  3. 应用尺寸
  4. 应用约束和尺寸以锁定刚体的自由度

在上述步骤中,您可以看到应用约束和尺寸实际上分为两部分:一部分用于定义和约束草图中的几何实体,另一部分用于定义和约束几何以避免刚体平移和旋转。遵循此顺序通常可以有效地获得定义良好的草图。这样一来,几何形状本身首先受到约束。然后,生成定义良好的几何图形需要约束和尺寸来消除草图中的自由移动使其成为刚性体,例如位置x 距离y 距离 可用于约束刚体的自由度。

后续步骤和延伸学习

在了解了 COMSOL 软件中新增的几何绘制功能之后,我们建议您尝试一下。体验组合不同的形状,并采用上述推荐的草图绘制工作流程,来熟悉这些重要的工具。

要了解有关草图工具栏以及约束尺寸 功能的更多信息,您可以分别参考 COMSOL Multiphysics 5.5 版本“发布亮点”页面中的几何设计模块。另外,对于获得设计模块许可证的用户,设计模块 的简介文档中提供了有关使用草图 工具以及约束和尺寸的教程。

]]>
//www.denkrieger.com/blogs/how-to-use-the-sketch-tools-in-comsol-to-draw-2d-geometry/feed/ 0
在多体动力学模块中创建滚子链的几何形状 //www.denkrieger.com/blogs/building-roller-chain-geometries-in-the-multibody-dynamics-module //www.denkrieger.com/blogs/building-roller-chain-geometries-in-the-multibody-dynamics-module#comments Thu, 13 Feb 2020 03:11:58 +0000 http://cn.staging.comsol.com/blogs?p=218251 COMSOL Multiphysics® 软件为您提供了链传动系统建模的便捷方法。本文为链传动建模系列博客的第一部分内容。在本篇博文中,您将了解如何使用 COMSOL Multiphysics 零件库中的内置参数化几何零件创建滚子链组件的真实几何模型。

链传动系统简介

自行车上的链条至关重要。当您踩下踏板并旋转自行车的前链轮时,链条将这种旋转传递到后链轮及其相连的车轮上。在许多机器中,也使用类似链条和链轮的组件将动力从一个轴传递到另一个轴或举起重物。

自行车链条传动装置和齿轮的黑白照片
自行车的链传动系统和齿轮。图片由 5 Cent Dollar 提供。通过 Wikimedia CommonsCC BY-SA 4.0下获得许可。

链传动是动力传动系统中重要的一类,广泛用于许多工业应用中。它们的主要用途包括传递扭矩或运动,传送物体或同步不同机械装配部件之间的运动。由不同材料和不同尺寸制成的链传动装置被广泛用于各种应用中,例如汽车、输送机和叉车等起重设备。

链传动系统的两个基本组件是链条和链轮。链条是链节的组合,通过销钉连接。它被围绕在一个或多个齿轮上,这些齿轮通常安装在机器的特定轴上。链条通过在接触链轮的齿面上啮合和滑动,在链轮之间传递运动。

根据用途,可以将链传动中的链条和链轮分为不同类型,包括无声链、板式链和平顶链等。最常用的传动类型是滚子链。同样,链轮的样式也多种多样,可满足各种特殊需求。

为您的应用选择合适的动力传输系统取决于多种因素。尽管链传动相对于齿轮传动和皮带传动具有许多优势,但它们也有链转动无法比拟的优点,如皮带传动中的滑移和摩擦损失在链传动中是最小的。与皮带传动相比,链转动结构紧凑,易于安装,并且能抵抗极端天气条件。但是,在链传动系统中,校准所需的精度比皮带传动的精度更高。当需要连接相对较远的轴时,链传动比齿轮传动更有优势。但是齿轮转动可安装在平行轴和非平行轴上,而链传动装置只能安装在平行轴上。

链传动系统建模

由于各种原因,通常模拟链轮总成,即链传动系统的动力学是一项艰巨的任务。为了模拟链轮传动系统,必须对链传动中的所有相关部件进行建模。但是,由于典型的链传动由多个链节组成,这些链节互相连接并缠绕在多个链轮上,因此,在构建几何结构时就需要大量时间。

 

链传动系统的 3D 动画模拟。

即使准确建立了一个链节的几何形状,如何通过合适的方法进行复制构建出整个几何系统也是一个挑战。例如,要模拟链轮与链轮的啮合和松开机制,您需要对链轮齿与接触链节之间的结构接触建模。同样的,在模拟相邻链节之间的旋转(帮助链条匹配和移动链轮)时,建立正确的动力学模型也至关重要。

原则上,您可以使用 COMSOL Multiphysics 的附加产品多体动力学模块中的不同功能来设置链传动系统。但是,手动设置系统每个组件的真实链传动几何形状和相关的物理特性非常耗时且容易出错。为了简化这些步骤,并快速建立链传动模型,COMSOL Multiphysics 在 5.5 版本中新增了相关功能。

使用多体动力学接口中的链传动功能,您只需单击一下按钮,就可轻松添加具有多个物理特性的链传动模型设置。为了简化模型设置,在 5.5 版本中增加了一系列内置几何零件,可用于参数化构建链轮部件的几何。

在本篇博文的第一部分,您将学习如何使用零件库中的内置几何零件来创建自定义的链传动几何形状。第二部分将重点介绍链转动功能如何将几何模型作为输入并自动创建分析所需的各种物理特征。

在 COMSOL Multiphysics® 中构建滚子链的几何结构

为了精确模拟链传动的动力学,必须具有真实的系统几何形状。由于部件数量众多且布局复杂,因此,在大多数实际情况下构建链轮部件的几何并不容易。

如果您已经具有使用 COMSOL Multiphysics 或任何 CAD 软件构建的链传动几何结构,那么可以将其导入 COMSOL Multiphysics,然后继续进行后续分析。但是,导入几何结构的主要缺点是无法在建模中实时修改它们。因此,如果您想要通过更改某些几何参数(例如链节距、宽度、链节的数量或链轮齿的数量)来进行参数研究,导入外部几何可能并不是最佳结构。这就需要使用参数化几何建模,通过调整一组输入参数来修改系统几何的形状和大小。

从 5.5 版开始,COMSOL Multiphysics 提供了一种简单的方法,可以使用零件库中的内置零件创建滚子链、链轮和滚子链轮组件的参数几何模型。借助大量的参数输入设置,您可以自定义链条的形状、大小,链轮和链轮组件,快速创建自己需要的 2D 或 3D 链传动几何结构。由于软件内置了各种可供选择的域和边界条件,因此您可以毫不费力的为这些几何结构设置不同的物理场和边界条件。由内置零件创建几何结构的另一个优点是,如果需要,您还可以将这些几何结构导出为 CAD 格式,以便在 CAD 软件中随时调用。

滚子链轮部件的装配

在学习如何使用内置零件创建几何结构之前,需要重点了解链传动几何结构的不同部件,以及如何将它们组装成一个链转动系统。下面,我们将讨论滚子链、链轮以及它们之间的装配细节。

滚子链

滚子链是通过销接头连接的一系列链节板。如下图所示,典型的 2D 滚子链具有两种类型的链板:

  1. 辊板
  2. 销板

连接销接头的设计使销钉之间可以不受限制地相对旋转。一般在辊板和销板之间有弹性衬套。

二维滚子链单元的示意图
滚子链单元的 2D 组件。

3D 滚子链的组成组件是 3D 链板。其中,辊板由 2 个中空圆柱体组成,并由 2 个侧板连接。类似地,销板是由 2 个侧板连接 2 个实心圆柱体。将实心销板插入 2 个相邻辊板的空心圆柱体中形成链条,从而形成压合连接。这种连接使得各链接之间可以相对旋转,从而将运动从系统的一部分传递到另一部分。您还可以选择,在辊板和销板之间插入弹性衬套。

带有零件标记的滚子链单元的3D分解图
滚子链组件的 3D 分解图。

链轮

创建 2D 模型时,链轮是一个多齿的圆形物体,链条的滚轴在移动时连续地啮合和分离。可以选择创建一个钻孔,这有助于将系统安装在外部组件(例如轴)上。在 3D 建模中,您还可以在链轮的顶侧和底侧都创建一个轮毂。

 链轮2D和3D几何的并排视图
链轮几何的 2D 和 3D 视图。

滚子链轮总成

在建模时,您可以不必总是同时使用链和链轮的几何零件。对于某些特定的建模,您甚至可以单独将滚子链或链轮零件添加到模型中,并将它们与其他组件结合起来以构建一些复杂的模型几何形状。另一方面,如果您想模拟链传动的动态特性,则无需单独添加和组合链条部件;取而代之的是,滚子链链轮总成还有第三个内置部件,该部件有 2D 和 3D 两种形式。如下图所示,在滚子链轮组件部件中,滚子链和链轮的几何零件用于创建系统的几何结构,其中两个链轮通过闭合的链节连接。

滚子链轮组件的 2D/3D 视图
A 3D view of a roller chain sprocket assembly.

滚子链轮组件的 2D 和 3D 视图。

在 COMSOL Multiphysics® 零件库中添加链几何零件

COMSOL Multiphysics 中的零件库包含不同的几何零件,这些零件被划分为不同的分类,可用于各种应用程序。零件库的“多体动力学模块”提供了滚子链和相关的几何零件。打开“零件库”窗口的方法如下图所示,右键单击模型中的“几何”节点,然后从“零件”子菜单中选择“零件库”。

如要将零件添加到模型中,请单击“添加到几何”按钮,该按钮会将选定的零件作为零件实例添加到模型几何中,用于构建参数化几何的零件。零件实例设置窗口输入参数列出了建立零件几何的参数列表。您可以修改不同参数的默认值,来构建自己的链传动系统几何模型。还有一些选项可以输入零件的位置和方向。

选择了滚子链轮零件的COMSOL Multiphysics中零件库的屏幕截图
“多体动力学”模块中的“滚子链”文件夹包含构建不同几何零件的2D3D几何模型。选择3D中的滚子链轮零件并将它们添加到几何中。

滚子链轮组件的屏幕截图作为零件实例添加到模型中

在几何序列中通过添加零件实例滚子链轮部件。“输入参数”列出了此部分的所有参数。

接下来,我们将研究不同输入参数的详细信息,以及如何自定义它们以生成不同类型的滚子链组件。

设置几何参数

市场上售卖的滚子链和链轮通常标识一组数字,用于表示不同组成部分的尺寸。这些编号标记在组件上或随产品一起提供。如果没有这些信息,您还可以测量得到链条和链轮的尺寸。一旦知道了基本几何尺寸,就可以很容易地使用 COMSOL Multiphysics 中的零件库复制它们。利用几何零件的参数特性,您只需要输入最少的一组参数就可以构建链传动几何模型。

内置部件还可以灵活地选择某些特定的几何部件。例如,如果您的系统不包括链节之间的衬套,链轮上的钻孔或链轮顶侧和底侧的轮毂等元素,那么只需要将相关参数设置为零就可以轻松地将它们从最终几何形状中去除。

下面,我们介绍滚子链相关部件中一些重要的参数,以及如何使用它们构建你自己的链传动几何结构。

滚子链参数

在建立滚子链和链轮几何形状所需的所有参数中,节距是最重要的。节距是两个相邻链接的中心之间的距离。许多标准和供应商都使用节距尺寸来标识滚子链。其他链条组件的大小大多使用节距的固定比率设置。为了遵循这一制造惯例,内置零件的输入参数都是无量纲的。

滚子链的一些重要参数包括:

  • 节距(p)
  • 链环数量(n)
  • 链轮宽度与节距比(W)
  • 滚子直径与节距比(Dr)
  • 销轴直径与节距比(Dp)
  • 最小链板宽度与滚子直径比(Wl)

带有输入参数标记的滚子链单元的示意图
带输入参数的滚子链组件。

通过调整以上参数,可以更改链节的形状和大小。例如,如果要缩小链的几何形状,可以通过更改节距值来快速实现。可以通过修改相应的链节直径参数,也可分别更改滚轮和销板的尺寸为相同的节距值。

并排图片显示了具有相似和变化元素的滚子链单元
左:三个具有不同节距和相同链节直径比的滚子链组件。右:三个具有相同节距和不同链节直径比的滚子链组件。

您可能已经注意到,某些滚子链的侧板的形状是笔直的,而另一些链条是弯曲的。通过更改最小链板宽度与滚子直径之比(Wl),就可以在 COMSOL Multiphysics 中生成直线和弯曲板的几何形状。

三个并排图像显示了带有不同形状侧板的滚子链几何形状
三个具有不同侧板形状的滚子链。从左到右:最小链节板宽度与滚子直径之比(W1)分别设置为 0.92、0.6 和 0.25,以制作直线或弯曲形状的滚子链。以上三种情况,由于链接之间没有衬套,可选参数 Db 均设置为零。

链轮参数

为了使链转动系统正常工作,链轮和链条应相互兼容。为了确保这一点,链轮相邻齿的中心之间的距离应与链条的节距保持一致。类似地,应该构建每个链轮齿使其适合链轮。而且链轮的最大宽度应小于内部链节板之间的净距。如果需要,可以设定一个参数使链轮和链板之间增加一些间隙。

链轮的一些重要参数包括:

  • 节距(p)
  • 齿数(N)
  • 链轮齿宽比(Wsp)
  • 滚径节距比(Dr)
  • 孔径直径与节距直径之比(Dbr)
  • 轮毂直径与节距直径之比(Dh)
  • 轮毂上/下(Whd)的轮距宽度/节距比

参数标记为 2D 和 3D 的链轮的并排图像
带有输入参数的链轮 2D 和 3D 模型。

链轮主要由节距和齿数确定。如下图所示,您可以通过更改节距和齿数的组合来构建不同形状的链轮。

带有齿数不同的链轮的三个并排图像
大小相同但齿数不同的三个链轮几何模型。

为了能够安装在轴上,链轮的默认几何形状在顶侧和底侧均包含一个钻孔和轮毂。如下图所示,您也可以选择将相应的参数值设置为零,将它们从几何图形中去除。

具有不同特征的链轮几何图形的三张并排图像
具有不同的可选功能的链轮几何形状。左:默认带孔和轮毂的链轮几何形状;中部:顶部和底部无轮毂的链轮几何形状;右:无毂孔的链轮几何形状。

滚子链轮组件参数

除了设置链条和链轮的各个属性所需的上述参数外,滚子链轮组件的零件还具有一些其他参数,主要用于控制装配属性。装配参数包括:

  • 链轮中心距(cd)
  • 链节数(Nc)
  • 第一个链轮齿数(n1)
  • 第二个链轮齿数(n2)
  • 第一个链轮中心坐标(x0,y0,z0)
  • 链轮轴方向(esx,esy,esz)
  • 链轮间隙(CLRSP)

带有参数标记的滚子链轮组件的3D图像
带输入参数的滚子链轮组件 3D 模型。

构建滚子链轮组件的零件变体

在构建链传动时,您可以添加不同类型的约束。假设有这样一种情况,您想在安装在两个固定轴上的链轮之间传递运动。对于此类问题,可能不知道确切的链节数量,而是为给定尺寸和位置的链轮计算其所需的数量。第二种情况,您想使用一个固定长度的链来耦合两个链轮。这时,可以调节链轮位置以适应给定的链条长度。使用不同的滚子链轮组件的零件变量,您可以在 COMSOL® 软件中针对上述两种情况快速建立几何模型。

滚子链轮总成零件有两个零件变量:

  1. 指定链轮中心距
  2. 指定链节数

在将滚子链轮零件添加到您的几何模型时,将出现一个选择零件变量的窗口。根据您的输入,可以选择其中之一并将其添加到几何中。

屏幕截图显示了滚子链轮组件零件的两个零件变体
滚子链轮组件的两个零件变体。

对于两个变体,除一个参数外,其他所有的输入参数均相同。如果使用“指定链轮中心距”变体,则需要输入“链轮中心距(cd)”参数。基于此,COMSOL Multiphysics 通过计算两个给定距离的链轮所需的最小偶数连接来构建几何。相反的,如果使用“指定链接数”变量,则需要输入“链节数量(Nc)”参数。COMSOL Multiphysics 还可以通过调整第二个链轮的位置,以使给定数量的链环完美地缠绕在两个链轮上。

请注意,在上述两种情况中,链轮中心距和链节数量的计算均基于非线性方程。因此,链节可能无法紧密地缠绕在链轮上。如果要小幅调整链轮之间的中心距离,请将中心距离校正参数(ccorr)设置为1,然后相应地调整中心距离校正系数(cdelta)的值。

可供选择的链零件

我们已经了解了如何使用内置零件创建各种链传动组件的几何形状。如前所述,这些参数几何模型用于建立分析链传动系统所需的物理框架。为了简化这个过程,在所有与滚子链相关的零件中添加了一组选择。使用这些选项,您可以轻松地将不同的材料分配给不同的组件,设置各种边界条件,以及修改物理设置或后处理步骤。

当您将几何零件添加到模型几何中时,所有可用的选择都会在相应的部分列出,例如,在“零件实例”中“设置”窗口中的“对象选择”,“域选择 ”或“边界选择”。在滚子链轮零件中,为辊板、销板和链轮定义了不同的对象选择和区域选择。类似地,还为辊板、销板和链轮定义了不同的边界选择。下图显示了滚子链轮组件中可用的各种预定义选择。(在链传动建模系列博客的第二篇,您将详细了解这些预定义的选择如何在设置链传动系统中起关键作用)。

要将任何预定义选择添加到模型,请使用“保留”或“物理场”下的复选框。通过选中“保留”下的复选框,可以将相应的选择保留在组件的几何模型中。您可以在定义材料和分配物理场时进行选择,选中“物理场”下的复选框。选择保留非贡献选择 复选框以禁用保留 列,并保留所有不有助于累积选择的选择。

带有滚子链轮零件和不同域和边界选择的COMSOL Multiphysics Model Builder屏幕截图
在滚子链轮零件中定义了不同的区域选择和边界选择。图中高亮显示了一个域选择,即由所有链接构成的 选择组。

检查构建的实际几何模型

上述几个参数用于构建链轮和链轮的几何零件。输入这些参数时,需要小心选择允许范围内的合理值。(例如,间距、宽度或链接直径不能为负值。)如果选择不正确,输入参数的某些组合可能会导致不切实际或无效的几何形状。为了避免此问题,在每个零件中都添加了一组“参数检查”节点,这些节点用于检查输入参数及其组合对于有效的几何图形是否可接受。仅当所有参数均通过检查时,才能构建几何形状。否则,系统将显示一条错误消息,其中包含有关如何更正参数的信息。

对于必要的几何参数,在所有零件中添加常规检查是必要的。对不同部件,需要做一些其他重要的检查:

  • 滚子链
    • 滚子直径必须小于节距
    • 销钉直径必须小于滚子直径
    • 衬套直径必须小于滚子直径且大于销钉直径
  • 链轮
    • 齿数必须为正整数
    • 内径必须小于外径
  • 滚子链轮总成
    • 链轮中心距必须大于链轮半径之和
    • 第一个链轮的齿数必须大于或等于第二个链轮

如果遇到以上任何错误消息,请尝试相应地修改一些参数并重建几何。

在链传动建模系列的下一篇博客文章中,我们将向您展示如何使用多体动力学模块设置链传动。敬请关注!

下一步

浏览其他资源:

编者按:我们已经在本系列博客中发布了后续文章。请在此处阅读:如何在 COMSOL Multiphysics® 中模拟链传动系统

]]>
//www.denkrieger.com/blogs/building-roller-chain-geometries-in-the-multibody-dynamics-module/feed/ 4
如何在 COMSOL Multiphysics® 中进行灵敏度分析 //www.denkrieger.com/blogs/how-to-perform-a-sensitivity-analysis-in-comsol-multiphysics //www.denkrieger.com/blogs/how-to-perform-a-sensitivity-analysis-in-comsol-multiphysics#respond Thu, 06 Feb 2020 02:41:57 +0000 http://cn.staging.comsol.com/blogs?p=290601 几乎所有工程领域都使用仿真在虚拟环境中来预测组件的性能。然而,这并不是仿真技术的唯一优势。了解影响组件性能的主要因素能够赋予设计过程更多价值。在 COMSOL Multiphysics® 软件中进行灵敏度分析是理解这种关系的一种方法。今天,我们将展示如何在一个承受弯曲和扭转载荷的桁架塔中使用 COMSOL 软件的 灵敏度 研究步骤进行分析。

什么是灵敏度分析?

如果你曾经研究过更改模型中某个参数会带来什么影响,那么基本上你已经对该参数进行了灵敏度分析。这些参数可以是材料特性、载荷或几何距离。在两种情况下,对灵敏度进行研究很重要:

  1. 你需要描述响应对输入数据的不确定性的敏感程度;例如,制造容差或材料特性
  2. 你需要更改参数以提高设计的性能,并希望找出最有效地实现目标的更改

显然,如果参数扰动很大,响应的改变会更大,因此将所测量的任何变化除以参数扰动的大小,来获得标准化的灵敏度测量值是有意义的。然后,再将这个归一化的数字与以相同方式计算的其他参数的类似数字进行比较,假设这些参数在某种程度上是等效的并且具有相同的单位。

这种(或多或少通过手动进行的)灵敏度分析称为 前向差分分析 ,其计算成本与参数数量成正比。它最适用于参数数量较少的情况。然而,选择参数扰动的大小可能有点棘手,因为它必须足够大以避免数值噪声,并且应足够小以避免非线性效应。

你可以通过增加和减少参数来获得所谓的 中心差分 来提高分析的准确性,如下图所示。从计算的角度来看,这需要花费2倍的时间,因为你必须对两个新参数值计算模型,而不是一个。

在数学上,灵敏度可以看成是对一个或多个输入参数的求导结果。上述我们讨论的两种方法是最常见的近似求导法。

显示使用伴随灵敏度分析执行的中心差异方案的图。
可以使用灵敏度分析以及正向或中心差分相结合的方法来计算曲线的斜率。

然而,灵敏度分析是 COMSOL Multiphysics 中的内置功能,因此你无需自行扰动参数。你可以使用伴随灵敏度分析来避免一些相关数值参数带来的参数扰动,结果以单一线性解的代价来计算灵敏度。从概念上讲,你可以把它看作使用分析方法计算所导数,而不是通过有限差分对它进行近似。这个功能可用于稳态和频域研究类型,只要参数不改变网格就可以使用。

在这篇博文中演示的示例中,我们将使用伴随灵敏度分析,因为考虑的问题有很多参数。

桁架塔的弯曲和扭转

想象一个底部固定的桁架塔,顶部承受扭转和弯曲载荷,如下图左侧所示。该模型使用不包含旋转信息的桁架单元。但是,计算倾斜度和扭转度需要这些信息。

该模型使用梁单元(在下图右上方显示为黑色十字)来测量倾斜度和扭转度。

并排图像显示了桁架塔的弯曲和扭转以及倾斜和偏航。
弯曲和扭转载荷工况(左)以及使用 4 个顶部节点位移计算的偏航和倾斜变形的定义(右)。

下表列出了扭转和弯曲载荷工况的倾斜度和扭转度:

载荷工况 倾斜度(°) 扭转度(°)
弯曲 0.72 0
扭转 0 1.2

在 COMSOL Multiphysics® 中执行灵敏度分析

我们将研究该塔对单个梁横截面积变化的敏感程度。通过为每个梁创建一个控制变量来实现这个研究,该变量可用于调节梁的横截面积。在 COMSOL 中我们使用边控制变量场 Abar 来实现。COMSOL Multiphysics 的核心功能包含 灵敏度 研究步骤,我们需要在“显示更多选项 ”对话框中启用并添加这项功能。

显示如何在 COMSOL Multiphysics 中启用灵敏度研究步骤的屏幕截图。
可以从 显示更多选项 中启用 灵敏度 研究步骤

控制变量将自动显示在灵敏度研究步骤中,但必须使用探针或积分耦合算子定义目标函数。无论哪种情况,我们都可以在灵敏度研究步骤中输入目标函数,如下图所示。

显示如何在灵敏度研究步骤设置中添加目标函数的屏幕截图。
倾斜目标被定义为一个变量,因此它可以直接写入 目标函数 表格或使用 添加表达式 按钮添加。

灵敏度分析的结果

对于控制变量的灵敏度,我们可以使用表达式 fsens(abar) 绘制,如下图的倾斜灵敏度所示。对于弯曲载荷工况,如果对垂直梁进行加固,倾斜度将会降低,尤其是在塔的下部。右侧为扭转载荷工况,我们可以看到塔的倾斜对梁区域的变化不敏感。

弯曲和扭转载荷工况的敏感性分析结果图。
绘制了弯曲载荷工况(左)和扭转载荷工况(右)下的倾斜灵敏度。

扭转灵敏度如下图所示。我们可以通过在一侧加固对角梁,同时在另一侧削弱对角梁,为弯曲荷载工况引入扭转度。这样做会破坏对称性,使塔顶响应弯曲载荷而扭转。对于扭转载荷工况,可以通过加强对角梁来减小扭转度。

弯曲和扭转载荷情况下偏航灵敏度的仿真结果。
绘制了弯曲载荷工况(左)和扭转载荷工况(右)的扭转灵敏度。

倾斜度和扭转度对水平梁的变化都不敏感,这表明可以移除它们,从而降低结构的成本。然而,这将导致垂直梁的长度加倍,结构将变得更容易受到局部屈曲的影响。

下一步

尝试自己进行灵敏度分析。单击下面的按钮转到 COMSOL“ 案例库”,其中包括用于桁架塔模型灵敏度分析的 PDF 文档和 MPH 文件。

]]>
//www.denkrieger.com/blogs/how-to-perform-a-sensitivity-analysis-in-comsol-multiphysics/feed/ 0
如何使用拓扑优化结果创建几何模型 //www.denkrieger.com/blogs/how-to-use-topology-optimization-results-as-model-geometries //www.denkrieger.com/blogs/how-to-use-topology-optimization-results-as-model-geometries#respond Thu, 23 Jan 2020 18:15:58 +0000 http://cn.staging.comsol.com/blogs?p=182951 拓扑优化是一种优化技术,可以将模拟域划分为需要保留或删除的区域。优化在将要删除的区域中使用物理场的近似表示,因此我们应该从几何图形中删除这些区域并进行新的仿真来验证优化结果。借助 COMSOL Multiphysics® 软件,我们可以根据拓扑优化结果图创建几何图形以进行进一步分析,并可以将其轻松导入 CAD 软件中。

本文最初发布于 2017 年,更新后的内容包含了更多关于过滤器数据集的信息。

在设计工作流程中使用拓扑优化结果

拓扑优化是一项有用的功能,它可以帮助我们找到我们无法合理想到的设计。但是,在开发设计时,这只是第一步。构建通过拓扑优化找到的特定设计可能是不合理的,也可能无法完成,因为该设计的生产成本太高或根本无法制造。

MBB梁的拓扑优化
MBB 梁的拓扑优化结果。

为了解决这些问题,我们可以基于拓扑优化的结果提出新的设计,然后对其进行进一步的仿真分析。但是,我们该怎么做呢?我们可能需要一个可以剖分网格的几何形状,或者需要一个代表拓扑优化结果的导入网格。事实证明,COMSOL Multiphysics 使我们可以从二维和三维模拟中轻松获得这些。在 COMSOL Multiphysics 中,我们可以直接使用它们,也可以将其导出到各种 CAD 软件平台。下面,我们首先研究如何创建几何结构,然后再讨论如何跳过创建几何的步骤,直接通过导入和修改网格进行仿真。

如何在COMSOL Multiphysics®中生成拓扑优化结果的几何

在 COMSOL Multiphysics 5.5 版本中,使用 “过滤器” 数据集生成拓扑优化结果的几何操作,二维和三维几何操作步骤相同。但是,创建二维几何还有一些额外的步骤。下面,我们通过 COMSOL 案例库中的最小化微通道中的流速案例教程来演示此过程。除了原始教程之外,我们还将展示:在新创建的几何体上进行验证研究时,如何导入添加的域和边界选择,以及如何重复利用这些选择。您可以点击本文末尾的链接,下载带有附加选择和验证研究的 MPH 文件,自己使用 COMSOL 创建几何结构。

该案例教程的目标是寻找多孔填充材料的最佳分布,以最大程度地减小微通道中心的水平流速。

COMSOL的拓扑优化结果
优化后的水平速度(表面图)和速度场(流线)。黑色轮廓代表填充材料。

在上图所示的结果中,黑色轮廓线是设计变量等于 0.5 的等值线。它代表通道与填充材料之间的边界,就是我们希望合并到几何图形中的结果。在其他应用中,绘制的表达式和等值线水平可能有所不同,但是原理是相同的,即找到一个轮廓线来描述固体和非固体材料(通常是某种流体)之间的界限。

添加和设置过滤器数据集

下面,我们将使用“过滤器”数据集,根据上述结果创建几何图形。对于三维拓扑优化研究,将使用默认绘图自动设置此类数据集。但是,对于二维拓扑优化,需要通过在“结果”功能区上的“更多数据集”菜单中手动设置添加“过滤器”数据集。

COMSOL中的过滤数据集和结果绘图
结果”功能区上的更多数据集”菜单提供了一种添加过滤器数据集的方式。

在“过滤器”节点的设置 窗口中,“表达式”处输入 dtopo1.theta,设置“下界水平 0.5。单击“绘制”按钮将可视化显示此水平表示的区域。

过滤器数据集的屏幕截图和COMSOL软件中的结果图。
“过滤器”数据集的设置以及该数据集定义的域。

基于过滤器数据集创建网格零件

右键单击“模型开发器”树中的“过滤器”节点,然后从菜单中选择“创建网格零件”。

创建网格零件属性图
使用创建网格零件属性作为从拓扑优化结果导出创建几何的第一步。

根据“过滤器数据集的可视化结果设置网格零件。如下图所示,在网格零件”>“导入操作的设置窗口中,有一个复选框“导入选择。导入的选择也列在导入设置的下方,并根据实体级别进行分类。在此示例中,原始几何图形上的选择是基于坐标的选择,用于定义拓扑优化研究的材料和物理场设置。

使用网格零件设置的模型开发器
网格零件 导入节点的设置窗口。所选设置导入选择” 位于设置窗口底部列出了 选择列表。正如在模型开发器树中看到的那样,选择在几何序列和组件1”中的定义下定义的。

网格导入 操作支持导入任何类型的模型选择。最常见的选择类型有“ 定义下添加的选择,“几何”操作序列中添加的选择以及在 LiveLink™ 同步和网格导入时创建的选择。从 COMSOL Multiphysics 5.5 版本开始,我们在导入 CAD 文件时,还可以根据材质、颜色、对象(实体)和图层自动创建选择。

导入网格之后,可以使用例如“分割实体操作来创建更多的实体,或者使用“连接实体来减少实体,从而对其进行修改。也可以在创建几何之前使用自适应操作修改网格,如导出和导入拓扑优化的钢钩教程中所示。对于三维网格,我们可以直接将网格导出为与 COMSOL Multiphysics 和 CAD 软件兼容的格式,甚至可以直接用于 3D 打印。支持外部软件使用的文件格式是STL3MFPLY格式,它们是 3D 扫描和 3D 打印的常见文件格式。

如何创建几何并重复使用导入的选择

当网格符合要求后,右键单击“网格零件节点,然后从菜单中选择“基于网格创建几何”,这项设置在“模型开发器”几何操作序列的“导入节点设置新组件。在之前的博客文章中,我们详细地讨论了三维案例中涉及的过程和导入设置。

导入的选择现在可以用于在验证研究中设置材料和物理场,如下图所示。

入口边界条件设置
根据拓扑优化结果创建的几何。使用通过 网格零件导入的一个边界选择来设置入口边界条件

我们还可以复制 MPH 文件,清除几何操作序列,添加导入操作,然后直接指向新创建的网格零件。这样,只需确保选择已正确更新,就可以再次使用物理场设置。

替代过程:直接在过滤器数据集创建的网格上运行验证研究

COMSOL Multiphysics 5.5 版本开始,我们直接使用从“ 过滤器数据集创建的网格,而不必生成几何。这种操作可以适应曲面网格以提高网格质量,在需要时创建域并构建自由的四面体网格,所有这些都基于导入的网格。以教程导出和导入拓扑优化钢钩的已求解结果开始,按照以下步骤进行操作:

添加一个新的三维组件 然后来到组件3 的网格 4。注意,也可以转到两个现有组件中的任何网格,然后选择“删除序列以重复使用已经设置的物理场。在选择的组件中,添加一个网格导入操作并设置源:过滤器数据集数据集:过滤器1,如下图所示。默认情况下,将选中“导入选择复选框,以方便设置验证研究的物理场,这在上一节中已进行了讨论。这些选择列在“域选择和“边界选择。对于此用途,建议仅导入边界网格单元并单独创建域网格(请参见下面的步骤),因为这样可以得到质量更好的网格。导入后将生成网格和导入的选择,如下图所示。

使用数据集创建的挂钩网格
过滤器” 数据集定义的拓扑优化结果创建的网格。原始组件的选择转移到了新网格。

从“过滤器数据集导入的网格是用于可视化的网格,因此对于模拟而言并不理想。为提高网格的质量,我们可以添加自适应 操作,并进行以下设置:解:无表达式类型:绝对大小,大小表达式meshsz/2,其中 meshsz 是一个已定义的参数,用于定义拓扑优化研究中的网格尺寸。

自适应节点设置图
表面网格大小适应表达式 meshsz / 2 设置

使用自适应操作之前
使用自适应操作之后

使用自适应操作之前(左)和之后(右)创建的表面网格

实体信息也从过滤器 数据集转换过来,因此即使我们仅转换了面网格,也存在域。如果从文件导入表面网格,则还需要在继续下一步之前添加“创建域操作,否则将没有域来画网格。最后,我们添加了一个自由的四面体 操作来构建域网格。要确保在“自由四面体节点下方的“ 大小操作中设置适当的尺寸。这里,我们将预定义的网格大小设置为较细化 并构建网格。

现在,我们可以在验证研究中设置物理场了。

两种方式的比较

我们研究了基于过滤器 数据集创建几何或网格的可能性。那么,在选择这两种方式时,需要考虑什么呢?

通过创建几何,可以确保非平面用弯曲单元表示,而直接从“过滤器”数据集创建的网格只能使用边界的分段线性表示。如果我们要解决的物理场高度依赖于弯曲边界的平滑性,则可能需要考虑创建几何。此外,通过创建几何图形,我们可以自由地对边界进行网格重划分,而直接在拓扑优化结果创建的网格求解时,则只能适应边界网格。

另一方面,与仅使用网格相比,创建几何更加耗时且消耗更多计算机内存。此外,根据拓扑优化结果的形状,有时可能无法根据结果创建几何。例如,一个典型的情况是,代表较小或狭窄区域的粗糙网格,我们可能需要考虑直接在导入的网格上求解。

将二维几何图形导出到 CAD 软件

DXF 格式是大多数 CAD 软件平台都可以读取的二维格式。DXF 还描述了点之间的高阶多边形,因此与仅导出点相比,它通常可以更好的表示图形。

从这个几何导出优化的拓扑结构到DXF文件,我们可以按照以下步骤操作。请注意,如果要在 DXF 文件中排除域,有一个可选择步骤。

  1. 从“ 几何工具栏上的“ 布尔操作和分割菜单中添加并集
  2. 输入所有对象
  3. 使用“删除实体功能删除任何不需要的域(可选)
  4. 单击“几何工具栏上的“导出按钮,输入二维几何的 DXF 格式

如何将三维绘图数据以 STL,PLY 和 3MF 格式导出

在三维模式下执行拓扑优化后,我们通常通过创建设计变量图来查看最终形状,例如等值面图。在 COMSOL Multiphysics 中,可以从以下绘图功能中导出 STL、PLY 和 3MF 文件:

  • 等值面
  • 表面
  • 切面
  • 多切面
  • 辐射方向图

如果想要导出变形图,COMSOL 软件支持在绘图特征上添加“变形节点。

An image of a topology-optimized bracket model in COMSOL Multiphysics.
支架的拓扑优化结果。体图中的颜色表示总位移。该绘图数据可以直接用多种格式导出,以进一步在 CAD 软件中使用和进行3D打印。

将数据导出为适当的文件格式非常简单, “支架—拓扑优化案例教程中对此进行了演示。右键单击Plot Feature节点,选择添加要导出的绘图数据。在绘 节点的结果“设置”窗口中,从文件类型下拉列表中选择STL二进制文件(* .stlSTL文本文件(* .stlPLY二进制文件(* .plyPLY文本文件(* .ply3MF文件(* .3mf

A screenshot showing the different export file options.
绘制数据导出设置。支持在 CAD 软件和 3D 打印中使用的输出文件格式为 STLPLY3MF

3MF 和 PLY 文件还将包含所有网格节点的颜色数据。大多数 CAD 软件和 3D 打印平台都可以轻松读取导出的文件。

结语

如果要将实际的 CAD 工程图与优化的结果进行比较,则需要以可以导入到正在使用的 CAD 软件中的格式导出数据。DXF 格式(用于 2D)和 STL,3MF 和 PLY 格式(用于 3D)是广泛使用的格式,应该可以在许多软件平台中导入。

本篇博客文章,我们讨论了以 DXF,STL,3MF 和 PLY 格式导出拓扑优化结果所需的步骤。这将使我们将 COMSOL Multiphysics 和 CAD 软件联合使用更有效地分析模型几何。

了解有关 COMSOL Multiphysics 如何满足您的 CAD 软件和拓扑优化需求的更多信息,请单击下面按钮:

更多资源

阅读 COMSOL 博客了解有关拓扑优化和导出几何的更多信息:

]]>
//www.denkrieger.com/blogs/how-to-use-topology-optimization-results-as-model-geometries/feed/ 0
使用柏拉图固体创建几何零件 //www.denkrieger.com/blogs/how-to-use-the-platonic-solids-as-geometry-parts-in-comsol //www.denkrieger.com/blogs/how-to-use-the-platonic-solids-as-geometry-parts-in-comsol#respond Mon, 18 Nov 2019 07:29:24 +0000 http://cn.staging.comsol.com/blogs?p=214751 柏拉图固体以柏拉图的名字命名,它是规则的凸多面体,由四面体、立方体、八面体、十二面体以及二十面体组成。自远古时代以来,由于其属性和历史意义,人们对著名的柏拉图固体进行了研究。自 COMSOL Multiphysics® 5.5 版本起,在零件库中提供了柏拉图固体。在此博客文章中,我们研究柏拉图固体背后的故事,并展示如何通过内切球的半径来创建一个十二面体。

柏拉图固体:历史、几何与现代的结合

柏拉图出生于公元前430年左右的雅典,是有史以来最著名的哲学家之一。作为苏格拉底的学生和亚里斯多德的老师,他创立了以科学为中心的学院(通常被称为第一所西方大学),并通过 The Republic 等标志性著作为哲学做出了贡献。在 Timaeus 一书中,柏拉图揭开了四种经典元素(火、土、空气与水)的神秘面纱,他将每种元素与一种和它们的原子形状相似的固体相连接。火与四面体相关,土与立方体相关,空气与八面体相关,水与二十面体相关。最后,十二面体被认为是组成宇宙的星座。从那时起,这个著名的多面体集合就被称为柏拉图固体。

五个并排的图像显示了柏拉图固体。
1619年 Johannes Kepler 在 Harmonices Mundi 中绘制的柏拉图固体及其各自的元素。左起:四面体立方体八面体二十面体十二面体。图片源自: Wikimedia Commons 。

柏拉图固体是三维、凸形的规则固体。在形状、大小、角度和边缘方面,它们具有相同的多边形面,并且在每个顶点处都有相等数量的面。只有四面体,立方体,八面体,十二面体和二十面体满足这些要求。柏拉图固体的名称基于每个实体所构成的面数。

根据它们的对称性,我们可以创建出不同的柏拉图固体和球体的组合,具体来说就是外切球、内切球和中球。外切球 是具有半径的球体,它可以让创建的柏拉图实体恰好装在球体内部。相反的,内切球 中切球 恰好可以装在柏拉图固体内部。内切球面与柏拉图实体的每个面都相切,而中切球的各面与柏拉图固体的各边相切。上图中 最后一个图像显示了一个内切球的示例。

该图显示了柏拉图固体,四面体,立方体,八面体,十二面体和二十面体的完整集合。
柏拉图式固体的完整集合:四面体(左上),立方体(中),八面体(右上),十二面体(左下)和二十面体(右下)。

除了具有自然美观性,在科技中柏拉图固体还有许多有趣的用途。例如,四面体经常用于电子产品中,二十面体已被证明在地球物理建模中很有用,带有多面体的扬声器被用于向各个方向辐射声能。尽管在室内声学测量中,作为全向声源的十二面体似乎更可靠,但在某些情况下,四面体扬声器具有更好的辐射均匀性。

垂悬从地铁车站的屋顶的十二面体的图片。
瑞典斯德哥尔摩皇家理工学院附近的 Tekniska Högskolan 地铁站的屋顶上悬挂着的十二面体。图片由 ArildVågen 提供。经 CC BY-SA 4.0许可,获得授权

现在,让我们看看如何在 COMSOL Multiphysics® 软件中使用内切球体创建一个十二面体。

使用COMSOL 零件库中的内切球体创建一个十二面体

从 COMSOL Multiphysics® 5.5 版本开始,您可以根据相关的参数,在特定柏拉图固体的四个变体之间进行选择。

屏幕截图显示了在COMSOL多物理场中可以找到柏拉图固体的位置。
在零件库的 COMSOL Multiphysics 中找到柏拉图式固体。可供选择的部件可以提供变化的边长、半径、圆周半径或中半径。

向几何图形中添加半径部分变量将生成一个十二面体,其半径的默认表达式为 sqrt((25 + 11 * sqrt(5))/ 10)/ 2,以原点为中心。该表达式将自动给出的边长为 1m 。您可以在 “设置 ” 窗口中轻松更改输入参数、工作平面、位移和旋转、以创建自定义的十二面体。下图显示了十二面体的示例,其中半径设置为1 [m]。十二面体的边长是根据半径的表达式自动计算的。

屏幕截图显示了如何以及在何处更改十二面体的参数。
可以更改十二面体的半径、工作平面、位移和旋转。

现在,让我们在十二面体中构造一个球体。即一个内切球体。您可以适当地调整属性,以将球体放置在柏拉图固体的内部,并确保球体的半径和内半径相等。

屏幕截图显示了如何创建一个内切球体。
通过在几何图形中添加一个球体来创建内切球体。

了解更多:如何在 COMSOL Multiphysics® 中构建几何图形

无论是为仿真建立复杂的几何图形,还是为了教学目的研究柏拉图固体,这些内置零件及其功能都有很多可能性。COMSOL Multiphysics 中的零件库还包含其他可以简化仿真的有用零件,其中某些零件是特定于附加模块的。同时,我们也可以创建自己的零件并将其添加到用户定义的零件库中,如博客文章“ 在 COMSOLMultiphysics® 中使用几何零件和零件库”中 的示例。

请查看以下其他资源,以获取更多有关创建几何的信息:

]]>
//www.denkrieger.com/blogs/how-to-use-the-platonic-solids-as-geometry-parts-in-comsol/feed/ 0