2. 几何建模基础

几何是 COMSOL 多物理场仿真的“骨架”。网格剖分、材料赋值、边界条件施加、求解器自由度分配,全部建立在几何实体之上。几何一旦出错,后续所有物理设置都会连带失效。因此本节不讨论“点哪个按钮”,而是围绕四件事展开:二维与三维几何的创建逻辑、布尔运算的拓扑规则、参数化几何的驱动方式,以及外部 CAD 模型的导入与修复。

一、二维与三维几何的创建逻辑

COMSOL 的几何序列(Geometry Sequence)是一棵有序的操作树,节点按顺序执行,后一个节点在前一个节点的结果上继续操作。二维几何的基本图元包括矩形、圆、椭圆、多边形、贝塞尔曲线、参数曲线;三维几何的基本图元包括长方体、球、圆柱、圆锥、圆环、螺旋、多面体等。这些图元都由尺寸参数和位置参数定义,例如一个矩形由宽度、高度、角点坐标(或中心坐标)确定,一个圆柱由半径、高度和轴向确定。

创建几何时,首先要明确建模维度与对称性。如果结构在某一方向近似无限长或载荷沿该方向不变,可用二维平面应变、平面应力或轴对称来降维,计算量可下降一到两个数量级。例如一个轴对称的密封圈,用二维轴对称截面即可完整描述其受力与传热行为,无需建三维实体。反之,若结构存在明显的三维扭转、斜向载荷或非对称边界,就必须建三维模型。

三维几何的构建通常有两种思路:自底向上(先建点、线、面,再生成体)和自顶向下(先建体,再用布尔运算切割、组合)。COMSOL 更常用后者,因为体图元加布尔运算更直观、更易参数化。对于复杂曲面,可先用工作平面(Work Plane)在二维中绘制截面,再通过拉伸、旋转、扫掠生成三维实体,这种方式把二维草图的灵活性和三维实体的完整性结合起来,是工程建模中最常用的手段之一。

二、布尔运算的拓扑规则

布尔运算决定了几何实体之间的拓扑关系,COMSOL 提供并集(Union)、差集(Difference)、交集(Intersection)、分割(Split)、组合(Compose)、分解(Decompose)等操作。理解它们的关键不是“怎么点”,而是“运算后哪些边界被保留、哪些被消除”。

并集把多个实体合并为一个实体,内部相交面会被自动消除,只保留外表面。差集用一个或多个实体去“挖掉”目标实体,常用于打孔、开槽、去除倒角。交集只保留多个实体的公共部分,适合提取重叠区域。分割则用一个工具实体把目标实体切开,但保留所有碎片,常用于把复杂域拆成规则子域以便映射网格。组合与分解是互逆操作:组合把多个相邻实体缝合成一个实体,分解则把一个多域实体拆成独立域。

布尔运算最容易出问题的地方是“容差”。当两个面几乎重合但不完全重合时,COMSOL 可能判定为相交或不相交,导致几何出现细长碎片或自由边。处理办法是:在几何设置中适当调整相对修复容差(Relative Repair Tolerance),或先对图元尺寸做对齐,避免出现 1e-9 量级的错位。另一个常见问题是差集后产生零厚度壁,这种几何在网格剖分时必然失败,应通过给工具实体留出明确间隙来避免。

布尔运算的顺序会影响结果。例如先并集再差集,与先差集再并集,得到的实体边界可能不同。建议在几何序列中按“先组合大块、再局部切除、最后倒角/圆角”的顺序组织,便于排查问题。

三、参数化几何:让尺寸成为变量

参数化几何是 COMSOL 建模效率的核心。做法是把几何尺寸写成全局参数(Global Parameters),例如 L=0.1[m]、R=0.02[m]、t=0.005[m],然后在图元尺寸栏中直接引用这些参数名。这样修改一个参数,所有引用它的几何、网格、物理场设置都会同步更新。

参数化不仅用于尺寸,还可用于位置、角度、阵列数量。例如用 for 循环配合参数生成周期性阵列,或用参数控制拉伸长度实现不同工况的快速切换。在参数扫描(Parametric Sweep)中,几何参数可以作为扫描变量,COMSOL 会自动为每个参数值重建几何并求解,这是做尺寸优化、灵敏度分析的基础。

参数化几何的另一个价值是“可追溯”。当模型需要交付给他人或半年后自己再看时,参数表就是模型的说明书。建议参数命名采用“物理量_对象_方向”的格式,如 L_channel、R_inlet、t_wall,并附上单位和注释。COMSOL 参数支持单位,写 0.1[m] 比写 0.1 更安全,能避免单位制混乱。

四、导入外部 CAD 模型

实际工程中,几何往往来自 SolidWorks、CATIA、NX、Creo、AutoCAD 等 CAD 软件。COMSOL 支持导入 STEP、IGES、Parasolid、SAT、STL 等格式,其中 STEP 和 Parasolid 是首选,因为它们保留精确的 B-Rep 边界表示;STL 是三角面片格式,导入后只能作为网格使用,无法进行布尔运算和参数化编辑。

导入 CAD 模型后,第一件事不是直接剖分网格,而是检查几何质量。常见问题包括:微小面(小于最小网格尺寸)、细长条面、自由边、重复面、面法向不一致。COMSOL 提供“修复几何”(Repair Geometry)功能,可自动缝合自由边、删除微小面、合并重合边。对于导入后仍无法修复的几何,可在 CAD 软件中先做简化,例如去除不影响物理场的小圆角、小孔、装饰性特征。

导入的 CAD 模型默认是“非参数化”的,尺寸无法通过参数修改。如果需要在 COMSOL 中继续参数化,有两种做法:一是用“导入”节点后接“修复”和“虚拟操作”(Virtual Operations),把导入几何转化为可操作的几何序列;二是把 CAD 模型作为背景,在 COMSOL 中重新参数化建模。前者适合几何复杂但不需要频繁改尺寸的场景,后者适合需要做参数扫描或优化的场景。

COMSOL 几何建模四条路径与关键检查点 二维几何创建 矩形 / 圆 / 多边形 参数曲线 / 贝塞尔 工作平面草图 适用:平面应变/轴对称 降维 → 计算量↓ 三维几何创建 长方体 / 球 / 圆柱 拉伸 / 旋转 / 扫掠 自顶向下建体 适用:扭转/非对称 工作平面 → 三维实体 布尔运算 并集 / 差集 / 交集 分割 / 组合 / 分解 拓扑关系决定边界 容差:相对修复容差 避免零厚度壁 外部 CAD 导入 STEP / Parasolid 优先 STL 仅作网格 修复几何 / 虚拟操作 检查:微小面/自由边 简化:去小圆角/小孔 参数化几何:全局参数驱动 L=0.1[m] R=0.02[m] t=0.005[m] → 图元尺寸引用参数名 → 参数扫描 / 尺寸优化 命名规范:物理量_对象_方向(如 L_channel、R_inlet、t_wall) 几何质量检查清单(导入/布尔后必查) 微小面 < 网格尺寸 自由边 / 重复面 细长条面 / 尖角 面法向一致性 零厚度壁

五、一个可复现的建模示例

下面以一个“带圆孔的矩形板”为例,说明参数化几何与布尔运算的配合方式。假设板长 L=0.1[m],宽 W=0.05[m],厚 t=0.005[m],中心圆孔半径 R=0.008[m]。在 COMSOL 中建立三维几何序列:

参数:
  L = 0.1[m]
  W = 0.05[m]
  t = 0.005[m]
  R = 0.008[m]

几何序列:
  1. Block1: 尺寸 (L, W, t),位置 (0,0,0)
  2. Cylinder1: 半径 R,高度 t,轴沿 z,位置 (L/2, W/2, 0)
  3. Difference1: 目标 Block1,工具 Cylinder1
  4. Form Union: 最终化几何

执行后,矩形板中心出现一个通孔。此时若把 R 改为 0.012[m],几何自动更新,孔变大,无需重新绘制。若在“研究”中添加参数扫描,令 R 从 0.006 到 0.015 分 5 步变化,即可一次性得到 5 组几何对应的应力集中结果,用于分析孔边应力随孔径的变化规律。

需要判断结果是否合理时,可观察孔边最大应力与理论应力集中系数 Kt 的对比。对于无限大板中心圆孔,Kt=3;有限宽板需按宽度修正。若仿真得到的 Kt 明显偏离 3 且网格已收敛,应检查孔边网格是否足够细、圆孔是否被多边形近似、以及边界条件是否施加在足够远的位置。

导入 CAD 模型后,不要直接使用默认的“形成联合体”(Form Union)。如果模型包含大量微小特征,形成联合体可能失败或产生极差网格。建议先执行“修复几何”,再用“形成装配体”(Form Assembly)配合“一致对”(Identity Pair)处理接触面,或对几何做简化后再形成联合体。

六、常见问题与处理思路

几何建模阶段的问题往往在网格剖分时才暴露,因此建议在几何完成后立即执行一次“网格预览”,用较粗的网格快速检查是否存在无法剖分的区域。若出现“无法生成网格”的报错,优先检查是否存在零厚度面、微小边或自相交面。布尔运算失败时,可尝试调整操作顺序、增大修复容差、或把复杂差集拆成多个简单差集分步执行。

对于导入的 CAD 模型,如果需要在 COMSOL 中做参数化修改,最稳妥的方式是在 CAD 软件中把关键尺寸设为变量并导出为参数化 STEP,或在 COMSOL 中用“虚拟操作”把导入面合并、忽略微小边,再在几何序列中追加新的参数化图元。无论采用哪种方式,都应在几何序列末尾保留一个“形成联合体”或“形成装配体”节点,确保几何拓扑完整、边界明确,为后续物理场设置提供干净的输入。