From 45d0234ea80096c0191c622c7239df69b19bf1f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B6=82=E6=B6=82?= <2018205036@tju.edu.cn> Date: Mon, 22 Mar 2021 19:47:00 +0800 Subject: [PATCH 1/4] add 18.cfMesh.md. --- 18.cfMesh.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 18.cfMesh.md diff --git a/18.cfMesh.md b/18.cfMesh.md new file mode 100644 index 0000000..6043168 --- /dev/null +++ b/18.cfMesh.md @@ -0,0 +1,17 @@ +### 18 cfMesh +cfMesh是一个由Creative Fields公司提供的网格划分工具的集合。这家公司在GPL下免费提供了基本的cfMesh套件。在编写cfMesh时,cfMesh包含了四个网格工具,它们提供了一个可与snappyHexMesh和foamyHexMesh提供的工作流相媲美的工作流。 +cfMesh的网格工具基于用户提供的三角化的几何曲面来生成网格。不需要类似于foamyHexMesh的背景网格。所有的工具都能够在所有或选定的表面上生成边界层。所有工具都由一个名为meshDict的字典控制,该字典位于系统目录中。一般来说,用户对这些网格工具的控制不像snappyHexMesh或foamyHexMesh那样严格。然而,与snappyHexMesh和foamyHexMesh相比,这种不那么严格的控制在控制字典中表现得更为轻量级。 +cfMesh得网格划分工具有: +cartesian2DMesh:生成二维网格的工具 +tetMesh:生成四面体网格 +cartesianMesh:生成主要由六面体组成的网格,类似于snappyHexMesh +pMesh:生成多面网格 +cfMesh还为各种任务提供了一系列实用程序(在撰写本文时是21个)。 +#### 18.1 使用 +##### 18.1.1 处理或不处理特征边 +特征边必须由用户明确指定,让cfMesh遵守这些边。 +以浴缸为例,它的边界只有一个patch,我们在图24中看到了不明确设置特征边的影响。在这种情况下,提供的STL面并没有被更好的网格完美拟合。如果我们想要刻画特征边,我们需要将几何图形的边界分割成多个patch。由于相邻patch之间的边默认由网格工具刻画,将浴缸的边界分成几个patch将解决图24所示的问题。 +![图24:不提供特征边信息导致的特征边分辨率差。注意,整个几何图形只由一个patch围成](images/23.PNG) +如果我们想要刻画一个不是两个patch边缘上的特征边,我们可以使用实用工具surfaceFeatureEdges从几何图形中提取特征边。这个工具检查三角化表面的邻近三角形的角度,并创建额外的patch。例如,如果指定的特征角导致面wall被划分为N个单独的区域,则将面wall划分为wall_0到wall_N的patch。默认情况下,cfMesh会刻画相邻patch之间的边缘。因此,该网格生成器不知道我们的特征边处理。在完成网格划分后,该网格划分器会重命名patch。这一特性允许我们将所有中间过程中patch合并到我们最初的patch中。 +![图25:刻画浴缸的特征边。在这种情况下,边界由两个patch组成:顶部表面和其余部分。](images/24.PNG) +在图25中,我们注意到网格生成器插入的悬挂节点加入了不同的细化级别。这些悬挂节点从它们所插入的面上伸出。这可以防止连接不同细化级别的单元的面是共面的,这和使用snappyHexMesh的情况是一样的。 -- Gitee From 79973c3d888335ce746e94acfc628a26293160e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B6=82=E6=B6=82?= <2018205036@tju.edu.cn> Date: Mon, 22 Mar 2021 19:47:46 +0800 Subject: [PATCH 2/4] update 18.cfMesh.md. --- 18.cfMesh.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/18.cfMesh.md b/18.cfMesh.md index 6043168..7b23e86 100644 --- a/18.cfMesh.md +++ b/18.cfMesh.md @@ -11,7 +11,7 @@ cfMesh还为各种任务提供了一系列实用程序(在撰写本文时是21 ##### 18.1.1 处理或不处理特征边 特征边必须由用户明确指定,让cfMesh遵守这些边。 以浴缸为例,它的边界只有一个patch,我们在图24中看到了不明确设置特征边的影响。在这种情况下,提供的STL面并没有被更好的网格完美拟合。如果我们想要刻画特征边,我们需要将几何图形的边界分割成多个patch。由于相邻patch之间的边默认由网格工具刻画,将浴缸的边界分成几个patch将解决图24所示的问题。 -![图24:不提供特征边信息导致的特征边分辨率差。注意,整个几何图形只由一个patch围成](images/23.PNG) +![图24:不提供特征边信息导致的特征边分辨率差。注意,整个几何图形只由一个patch围成](images/23.PNG) 如果我们想要刻画一个不是两个patch边缘上的特征边,我们可以使用实用工具surfaceFeatureEdges从几何图形中提取特征边。这个工具检查三角化表面的邻近三角形的角度,并创建额外的patch。例如,如果指定的特征角导致面wall被划分为N个单独的区域,则将面wall划分为wall_0到wall_N的patch。默认情况下,cfMesh会刻画相邻patch之间的边缘。因此,该网格生成器不知道我们的特征边处理。在完成网格划分后,该网格划分器会重命名patch。这一特性允许我们将所有中间过程中patch合并到我们最初的patch中。 -![图25:刻画浴缸的特征边。在这种情况下,边界由两个patch组成:顶部表面和其余部分。](images/24.PNG) +![图25:刻画浴缸的特征边。在这种情况下,边界由两个patch组成:顶部表面和其余部分。](images/24.PNG) 在图25中,我们注意到网格生成器插入的悬挂节点加入了不同的细化级别。这些悬挂节点从它们所插入的面上伸出。这可以防止连接不同细化级别的单元的面是共面的,这和使用snappyHexMesh的情况是一样的。 -- Gitee From c8d1625e40cc9128b6aa6b9a140dc68d1dee3a91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B6=82=E6=B6=82?= <2018205036@tju.edu.cn> Date: Mon, 22 Mar 2021 19:49:48 +0800 Subject: [PATCH 3/4] update 18.cfMesh.md. --- 18.cfMesh.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/18.cfMesh.md b/18.cfMesh.md index 7b23e86..fad445c 100644 --- a/18.cfMesh.md +++ b/18.cfMesh.md @@ -11,7 +11,9 @@ cfMesh还为各种任务提供了一系列实用程序(在撰写本文时是21 ##### 18.1.1 处理或不处理特征边 特征边必须由用户明确指定,让cfMesh遵守这些边。 以浴缸为例,它的边界只有一个patch,我们在图24中看到了不明确设置特征边的影响。在这种情况下,提供的STL面并没有被更好的网格完美拟合。如果我们想要刻画特征边,我们需要将几何图形的边界分割成多个patch。由于相邻patch之间的边默认由网格工具刻画,将浴缸的边界分成几个patch将解决图24所示的问题。 -![图24:不提供特征边信息导致的特征边分辨率差。注意,整个几何图形只由一个patch围成](images/23.PNG) +![figure:24](images/23.PNG) +图24:不提供特征边信息导致的特征边分辨率差。注意,整个几何图形只由一个patch围成 如果我们想要刻画一个不是两个patch边缘上的特征边,我们可以使用实用工具surfaceFeatureEdges从几何图形中提取特征边。这个工具检查三角化表面的邻近三角形的角度,并创建额外的patch。例如,如果指定的特征角导致面wall被划分为N个单独的区域,则将面wall划分为wall_0到wall_N的patch。默认情况下,cfMesh会刻画相邻patch之间的边缘。因此,该网格生成器不知道我们的特征边处理。在完成网格划分后,该网格划分器会重命名patch。这一特性允许我们将所有中间过程中patch合并到我们最初的patch中。 -![图25:刻画浴缸的特征边。在这种情况下,边界由两个patch组成:顶部表面和其余部分。](images/24.PNG) +![figure:25](images/24.PNG) +图25:刻画浴缸的特征边。在这种情况下,边界由两个patch组成:顶部表面和其余部分。 在图25中,我们注意到网格生成器插入的悬挂节点加入了不同的细化级别。这些悬挂节点从它们所插入的面上伸出。这可以防止连接不同细化级别的单元的面是共面的,这和使用snappyHexMesh的情况是一样的。 -- Gitee From 4951f8777118ce0775538ddc037645c86c0d5913 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B6=82=E6=B6=82?= <2018205036@tju.edu.cn> Date: Mon, 22 Mar 2021 19:50:15 +0800 Subject: [PATCH 4/4] update 18.cfMesh.md. --- 18.cfMesh.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/18.cfMesh.md b/18.cfMesh.md index fad445c..2c6a0c5 100644 --- a/18.cfMesh.md +++ b/18.cfMesh.md @@ -12,8 +12,12 @@ cfMesh还为各种任务提供了一系列实用程序(在撰写本文时是21 特征边必须由用户明确指定,让cfMesh遵守这些边。 以浴缸为例,它的边界只有一个patch,我们在图24中看到了不明确设置特征边的影响。在这种情况下,提供的STL面并没有被更好的网格完美拟合。如果我们想要刻画特征边,我们需要将几何图形的边界分割成多个patch。由于相邻patch之间的边默认由网格工具刻画,将浴缸的边界分成几个patch将解决图24所示的问题。 ![figure:24](images/23.PNG) + 图24:不提供特征边信息导致的特征边分辨率差。注意,整个几何图形只由一个patch围成 + 如果我们想要刻画一个不是两个patch边缘上的特征边,我们可以使用实用工具surfaceFeatureEdges从几何图形中提取特征边。这个工具检查三角化表面的邻近三角形的角度,并创建额外的patch。例如,如果指定的特征角导致面wall被划分为N个单独的区域,则将面wall划分为wall_0到wall_N的patch。默认情况下,cfMesh会刻画相邻patch之间的边缘。因此,该网格生成器不知道我们的特征边处理。在完成网格划分后,该网格划分器会重命名patch。这一特性允许我们将所有中间过程中patch合并到我们最初的patch中。 ![figure:25](images/24.PNG) + 图25:刻画浴缸的特征边。在这种情况下,边界由两个patch组成:顶部表面和其余部分。 + 在图25中,我们注意到网格生成器插入的悬挂节点加入了不同的细化级别。这些悬挂节点从它们所插入的面上伸出。这可以防止连接不同细化级别的单元的面是共面的,这和使用snappyHexMesh的情况是一样的。 -- Gitee