SpaceClaim流体域创建学习笔记
核心思想: 把流体域看作一个普通的几何实体,用SpaceClaim的建模工具直接创建。适用场景外流场分析(汽车、飞机、建筑物)简单规则的内流场核心思想: 当固体模型是一个封闭的容器时,其内部的"空腔"就是流体域。我们需要将这个空腔"实体化"。物理类比想象一个水壶:实体模型 = 壶壁+壶身+壶嘴(外形)流体域 = 如果你能冻住水壶里的水,它的形状抽取过程 = 用"魔法"把壶里的水变成实体适用场景管道
SpaceClaim流体域创建学习笔记
📋 目录
1. 为什么需要流体域?
1.1 从真实世界说起
想象你正在设计一辆汽车。工程师关心的问题是:
- 空气如何流过车身?
- 阻力有多大?
- 会不会产生升力?
但问题来了:空气在哪里?
在现实世界中,空气无处不在,但在计算机仿真中,我们需要明确定义流体(如空气、水)所占据的空间区域。这个区域就是流体域(Fluid Domain)。
1.2 实际应用场景
| 应用领域 | 固体几何 | 流体域 | 分析目标 |
|---|---|---|---|
| 汽车外流场 | 车身 | 车身周围的空气空间 | 阻力、升力、压力分布 |
| 管道流动 | 管壁 | 管道内部的水/油空间 | 压降、流速分布 |
| 散热器设计 | 散热片 | 散热片间隙的空气 | 换热效率、温度场 |
| 泵设计 | 叶轮、壳体 | 泵内部的液体空间 | 扬程、效率 |
1.3 核心理解
物理世界: [固体] + 流体(无边界)
CFD仿真: [固体] + [流体域](必须有边界) + [计算网格]
↑
这是我们要创建的!
关键认知: CFD求解器(如Fluent)只能在封闭的、有明确边界的流体域上进行计算。
2. 流体域的本质理解
2.1 流体域是什么?
简单定义: 流体域是一个三维实体,代表流体在某个时刻占据的空间。
数学角度:
- 流体域 Ω ⊂ ℝ³,是一个有界区域
- 边界 ∂Ω 包括: 入口、出口、壁面、对称面等
- 在 Ω 内求解 Navier-Stokes 方程
2.2 两种典型情况
情况A: 外流场(External Flow)
流体域边界(远场)
┌─────────────────────┐
│ │
│ ╔═══╗ │ ← 流体(空气)占据
│ ║车身║ │ 除固体外的全部空间
│ ╚═══╝ │
│ │
└─────────────────────┘
特点: 固体在流体中,流体域包围固体
情况B: 内流场(Internal Flow)
╔═══════════════════╗
║ 管壁(固体) ║
║ ┌─────────────┐ ║
║ │ │ ║ ← 流体(水)只占据
║ │ 流体域 │ ║ 固体内部空间
║ └─────────────┘ ║
╔═══════════════════╗
特点: 固体包围流体,流体域在固体内部
2.3 为什么有两种创建方法?
这两种物理情况的差异,直接导致了两种不同的创建策略:
| 方法 | 适用场景 | 核心思想 | 难点 |
|---|---|---|---|
| 直接创建 | 外流场 | 用基本几何体构建流体域 | 需要规划边界位置 |
| 抽取方法 | 内流场 | 从固体中"提取"流体空间 | 模型需封闭、无泄漏 |
3. 方法一: 直接创建流体域
3.1 方法概述
核心思想: 把流体域看作一个普通的几何实体,用SpaceClaim的建模工具直接创建。
适用场景:
- 外流场分析(汽车、飞机、建筑物)
- 简单规则的内流场
3.2 操作步骤详解
步骤1: 导入或创建固体模型
目标: 获得需要分析的固体几何
工具: File → Open 或 Design → Modeling Tools
实例: 导入一个车身模型 car_body.stp
检查清单:
- ✓ 模型是否完整?
- ✓ 单位是否正确?(mm, m, inch)
- ✓ 是否有明显的几何缺陷?
步骤2: 创建包围流体域
2.1 确定流体域尺寸
经验法则 (以车身为例):
流体域尺寸:
前方距离: 3~5 倍车长
后方距离: 8~10 倍车长 (尾流发展需要更长距离)
侧向距离: 3~5 倍车宽
上下距离: 3~5 倍车高
物理原因:
- 前方: 流体需要平稳发展到来流状态
- 后方: 尾流涡结构需要充分发展
- 侧向/上下: 避免边界效应影响主要流动
批判性思考 🤔:
问: 为什么后方需要更长? 答: 因为尾流中的涡旋结构会延续很远,如果边界太近,会产生非物理的反射效应,污染解的准确性。
2.2 创建长方体流体域
操作路径: Design → Box
参数设置 (假设车长 L=4.5m):
Origin Point: 选择合适的原点(建议以车为参考)
Dimensions:
Length (X): 60m (前15m + 车长4.5m + 后40.5m)
Width (Y): 30m (两侧各15m,车宽约1.8m)
Height (Z): 20m (地面到顶部)
技巧: 使用 Move 工具将车身移动到流体域内的合适位置
2.3 创建其他形状流体域(可选)
对于某些情况,长方体不是最优选择:
圆柱形流体域 (适合对称问题):
工具: Design → Cylinder
应用: 机翼绕流、圆柱绕流等轴对称问题
优势: 网格更规整,计算量更小
自定义形状:
工具: Design → Sketch → Pull
步骤:
1. 在合适平面上绘制草图
2. 用Pull拉伸成三维实体
3. 使用Blend/Chamfer优化边角
步骤3: 布尔运算减去固体
目的: 从流体域中"挖掉"固体占据的空间
操作路径: Design → Combine
选择:
1. 选中流体域长方体 (Target Body)
2. 选中车身模型 (Tool Body)
3. Operation: Subtract (减去)
执行: ✓ 完成
结果:
原始: [████████████] ← 完整长方体
[ ╔═══╗ ] ← 车身
处理后: [██╚═══╝████] ← 流体域(中空)
重要检查 ⚠️:
- 检查减法操作后,车身是否完全消失
- 检查流体域内表面是否光滑,无残留面片
- 使用
Select → Edges检查是否有开放边(泄漏)
步骤4: 命名与共享拓扑
4.1 命名重要面
为什么要命名? 在Fluent中设置边界条件时,需要通过名称识别各个面。
选择工具: Select → Faces
操作: 右键 → Rename
推荐命名规范:
inlet → 入口面
outlet → 出口面
wall_car → 车身表面
wall_ground → 地面
wall_sides → 侧面墙(可含顶面)
symmetry → 对称面(如果有)
技巧: 使用 Selection Filter 快速选择多个共面
4.2 共享拓扑(Share Topology)
概念: 使相邻体之间的接触面成为共享面,确保网格节点重合。
操作: Design → Share Topology
选择: 选中所有相关体
执行: ✓
何时需要?
- 多区域问题(如固体+流体的共轭传热)
- 多相流中不同相的交界面
本例中: 通常外流场不需要共享拓扑,因为车身是固定的壁面边界。
步骤5: 检查与准备导出
几何检查清单:
✓ 流体域是否为单个连通体?
✓ 所有外表面是否正确命名?
✓ 是否存在小的间隙或重叠? (用 Check Geometry)
✓ 尺寸单位是否与计划一致?
使用Check Geometry工具:
Tools → Check Geometry
检查项:
- Duplicate Faces: 重复面
- Short Edges: 过短的边
- Small Faces: 过小的面
- Sliver Faces: 细长面
导出设置:
File → Save As
格式: .scdoc (SpaceClaim原生) 或 .x_t/.sat (通用格式)
注意: 确保在Design模式下,而非Prepare模式
3.3 完整代码流程(SpaceClaim脚本示例)
虽然SpaceClaim主要通过GUI操作,但理解逻辑流程很重要:
# 伪代码: 直接创建流体域流程
# 1. 导入固体模型
solid_body = Import("car_body.stp")
# 2. 创建包围盒
bbox = GetBoundingBox(solid_body)
expansion = [3*L, 5*L, 3*L, 10*L, 3*H, 3*H] # 前后左右上下
fluid_box = CreateBox(
center=bbox.center + offset,
dimensions=bbox.size + expansion
)
# 3. 布尔减法
fluid_domain = Subtract(fluid_box, solid_body)
# 4. 命名边界
faces = GetFaces(fluid_domain)
NameFace(faces.inlet, "inlet")
NameFace(faces.outlet, "outlet")
NameFace(faces.car_surface, "wall_car")
# ... 其他面
# 5. 检查
CheckGeometry(fluid_domain)
# 6. 导出
Export(fluid_domain, "fluid_domain_external.scdoc")
3.4 实例: 汽车外流场
问题设定:
- 车型: 某轿车模型
- 车长: 4.5m, 车宽: 1.8m, 车高: 1.5m
- 分析: 风阻系数(Cd),以速度 100 km/h
流体域设计:
尺寸参数:
前方: 15m
后方: 45m
左右: 各15m
高度: 从地面10m
总尺寸: 60m × 30m × 10m
边界条件规划:
入口(西): Velocity Inlet, 27.8 m/s
出口(东): Pressure Outlet, 0 Pa (gauge)
地面: Moving Wall (与车速相同) 或 No-slip Wall
车身: No-slip Wall
顶/侧: Symmetry 或 Free-slip Wall
预期结果:
- 压力分布: 前部高压,后部低压
- 速度场: 车身表面附近有边界层
- 涡结构: 尾流中有明显涡旋
4. 方法二: 抽取流体域
4.1 方法概述
核心思想: 当固体模型是一个封闭的容器时,其内部的"空腔"就是流体域。我们需要将这个空腔"实体化"。
物理类比:
想象一个水壶:
实体模型 = 壶壁+壶身+壶嘴(外形)
流体域 = 如果你能冻住水壶里的水,它的形状
抽取过程 = 用"魔法"把壶里的水变成实体
适用场景:
- 管道系统
- 泵、阀门内部流动
- 热交换器
- 任何"流体在容器内"的情况
4.2 操作步骤详解
步骤1: 准备固体模型
要求: 模型必须是完全封闭的,没有任何泄漏孔洞。
1.1 检查模型封闭性
方法1: 视觉检查
- 使用 Shaded 和 Wireframe 视图切换
- 旋转模型,寻找可疑的开口
方法2: 使用工具检查
Tools → Check Geometry → Show Edges
- 红色边 = 开放边(bad!)
- 正常边 = 内部边
常见问题:
- 导入CAD模型时的容差问题导致微小间隙
- 设计中故意留下的通气孔、螺纹孔
- 模型简化过程中的破面
1.2 修复模型(如有必要)
修复小间隙:
工具: Design → Pull → Pull to Next
选择: 需要延伸的面
操作: 拖动至封闭
填充孔洞:
工具: Design → Delete → Delete Face
选择: 孔洞周围的面
结果: 自动填充孔洞(适合简单孔)
或:
工具: Design → Surface → Fill
选择: 孔洞边界边
结果: 创建填充面
合并小间隙:
工具: Tools → Options → Modeling → 提高容差
建议: 从 1e-6 提高到 1e-5 或 1e-4
风险: 可能造成过度简化
步骤2: 添加封盖(Cap Ends)
问题: 管道两端是开口的,需要人为封闭。
方法A: 使用Fill工具
操作: Design → Surface → Fill
步骤:
1. 选择入口边界的环形边
2. 点击 Fill
3. 重复出口
方法B: 拉伸草图
操作: Design → Sketch → Circle → Pull
步骤:
1. 在开口端面上绘制圆(或对应形状)
2. 确保与边界重合
3. 用 Pull 生成薄片
4. Combine → Unite 合并到主体
重要: 记住封盖的位置,后续需要删除或标记为边界!
步骤3: 执行流体域抽取
方法A: Volume Extract (推荐)
SpaceClaim没有直接的"Volume Extract",但可以通过以下方式实现:
技巧1: 填充内部空间
步骤:
1. 确保模型完全封闭(包括封盖)
2. Design → Fill → Fill by Surface
3. 选中所有封闭体的表面
4. 执行填充
5. 内部空腔会自动生成一个独立实体
6. 使用 Select → Bodies 选中内部实体
原理: SpaceClaim识别封闭曲面围成的"空洞",并创建实体填充。
方法B: 包络减法(常用)
步骤:
1. 创建一个包围盒,完全包裹整个模型
2. Design → Combine → Subtract
- Target: 包围盒
- Tool: 封闭的固体模型
3. 得到的"外部空间"
4. 然后再创建一个小包围盒,仅包裹内部流道
5. 用该小包围盒与外部空间做 Intersect(交集)
6. 剩下的就是流道内部
说明: 这个方法比较繁琐,但理解清楚布尔运算逻辑后很实用。
方法C: 使用专用插件(如SpaceClaim Extensions)
某些版本的SpaceClaim或Ansys Discovery有直接的 Enclosure 工具:
工具: Prepare → Enclosure
选项:
- Internal Void: 提取内部空腔 ✓
- External Flow: 创建外部流体域
步骤:
1. 选中封闭的固体体
2. 点击 Enclosure
3. 选择 "Internal Void"
4. 自动生成内部流体域实体
推荐: 如果有这个工具,这是最快捷的方法!
步骤4: 清理与优化流体域
4.1 删除辅助封盖面
操作: Select → Faces → 选中入口/出口的封盖面
右键 → Delete (删除面,保留开口)
或: Design → Delete → Delete Face
目的: 恢复入口和出口的开放边界,为Fluent中的边界条件做准备。
4.2 检查流体域质量
检查项:
✓ 流体域是否为单一连通体? (无分离的碎片)
✓ 表面是否光滑? (无锯齿状边缘)
✓ 是否有极薄的区域? (会导致网格问题)
✓ 尺寸是否合理? (不要过大或过小)
使用Repair工具:
Tools → Repair → Remove Small Features
参数: 设置阈值,例如 0.1mm
作用: 去除微小的凸起、凹陷
4.3 简化几何(可选)
复杂的流体域会导致网格生成困难:
简化技巧:
1. Defeaturing: 删除次要特征
Tools → Simplify → Defeaturing
2. 替换复杂曲面为简单形状
例如: 螺旋管简化为直管+弯头
3. 分区
将复杂流体域分割成多个简单子域
Design → Split Body
权衡: 简化 ↔ 精度
步骤5: 命名与导出
与方法一类似,需要命名关键面:
内流场典型命名:
inlet → 入口
outlet → 出口
wall_pipe → 管壁
wall_internal → 内部障碍物表面(如叶轮)
interface → 多区域交界面(如有)
4.3 实例: 简单管道流动
问题设定:
- 直管,直径 D=50mm,长度 L=1m
- 分析: 压降,流速分布
- 流体: 水,入口速度 2 m/s
建模步骤:
步骤1: 创建管壁模型
- Design → Cylinder
- 外径: 50mm, 内径: 45mm (壁厚5mm)
- 长度: 1000mm
步骤2: 封闭两端
- Design → Fill
- 选择两端的环形边
- 创建端面
步骤3: 抽取流体域
方法: 创建内部圆柱 (直径45mm, 长1000mm)
这就是流体域!
或使用包络减法:
- 创建包围盒
- 减去管壁几何
- 得到"管芯"
步骤4: 删除端面
- 删除入口和出口的封盖面
步骤5: 命名
- 入口面: inlet
- 出口面: outlet
- 圆柱面: wall
步骤6: 导出
- 保存为 pipe_fluid_domain.scdoc
4.4 实例: 复杂泵体内流道
挑战: 泵体内流道形状复杂,有叶轮、蜗壳等。
策略:
步骤1: 获取外壳几何
- 导入泵体装配模型
- 包含: 蜗壳、叶轮、轴、进出口法兰
步骤2: 确保封闭性
- 检查所有配合面是否密封
- 填充螺栓孔、排气孔等非流道孔洞
- 在进出口法兰端面添加封盖
步骤3: 分离固体与流体空间
关键: 叶轮是固体,但周围需要流体
方法:
a) 如果有流道CAD模型 → 直接使用
b) 如果没有 → 使用包络减法
- 创建蜗壳内腔包围盒
- 减去叶轮实体
- 减去轴实体
- 得到流体域
步骤4: 分区(推荐)
将流体域分成:
- 进口段
- 叶轮区(旋转域)
- 蜗壳区(静止域)
- 出口段
使用 Design → Split Body
步骤5: 创建Interface
在旋转域与静止域交界处创建接口面
这些面需要精确重合(Share Topology)
步骤6: 详细命名
- inlet
- outlet
- wall_casing (壳体)
- wall_impeller (叶轮)
- interface_rotor_stator (旋转-静止交界面)
5. 两种方法的对比与选择
5.1 方法对比表
| 对比维度 | 直接创建 | 抽取方法 |
|---|---|---|
| 典型场景 | 外流场:汽车、飞机、建筑 | 内流场:管道、泵、阀门 |
| 几何起点 | 固体模型(作为"障碍物") | 封闭容器模型 |
| 操作核心 | 创建包围体 + 布尔减法 | 识别/填充内部空腔 |
| 难度 | ★★☆ 中等 | ★★★ 较难(需确保封闭) |
| 灵活性 | 高(容易调整流体域大小) | 低(受固体几何约束) |
| 常见问题 | 边界位置选择不当 | 模型泄漏,抽取失败 |
| 网格友好性 | 较好(规则外形) | 取决于内部几何复杂度 |
5.2 决策流程图
开始
↓
问题类型判断
↓
流体在物体外部? ——是→ [直接创建法]
↓否 ↓
流体在容器内部? 创建包围体
↓是 ↓
| 布尔减法
| ↓
模型是否封闭? ——否→ 修复/简化模型
↓是 ↓
| 命名导出
封盖开口端
↓
[抽取方法] ← - - - - - - ┘
↓
提取内部空腔
↓
删除封盖
↓
命名导出
↓
结束
5.3 混合策略
某些复杂情况需要结合两种方法:
案例: 散热器分析
问题: 散热片浸泡在空气中
- 散热片表面: 固体壁面
- 散热片间隙: 流体域(内部)
- 散热片外部: 流体域(外部)
策略:
1. 对于间隙流道: 使用抽取方法
- 将散热片间隙看作"管道"
- 抽取内部流体域
2. 对于外部流场: 使用直接创建
- 创建包围盒
- 减去散热片实体
- 减去步骤1中的内部流体域
3. 在交界面处使用 Share Topology 连接
6. 常见问题与批判性思维
6.1 流体域边界应该放多远?
问题: 在外流场中,边界距离物体多远才合适?
错误理解: ❌ “边界越远越好,这样更精确” ❌ “边界尽量近,节省计算资源”
正确理解: ✓ 需要在精度和成本之间平衡
分析框架:
# 理论分析
无穷远边界 → 理论最精确,但计算成本 → ∞
有限边界 → 引入边界效应,但可接受
边界效应影响 ∝ 1/r² (r为距离)
计算成本 ∝ r³ (对于三维问题)
最优距离 = argmin(精度损失 + 计算成本)
实用准则:
| 流动类型 | 推荐距离 | 原因 |
|---|---|---|
| 低速外流场(汽车) | 前方3-5L, 后方10L | 尾流涡影响范围大 |
| 高速外流场(飞机) | 前方10c, 后方20c (c=翼弦) | 激波影响范围更大 |
| 建筑物绕流 | 各向5H (H=建筑高度) | 城市边界层影响 |
验证方法:
网格独立性测试 + 边界独立性测试
1. 固定网格,改变边界距离(如5L, 10L, 15L)
2. 对比关键参数(如阻力系数)
3. 当变化<1-2%, 说明边界足够远
6.2 为什么抽取的流体域有时失败?
常见原因分析:
原因1: 模型未完全封闭
症状: 抽取工具报错或生成异常几何
诊断: 使用 Check Geometry → Show Open Edges
红色边 = 泄漏点
解决: 使用 Fill/Extend/Blend 修复
原因2: 容差问题
症状: 面与面之间有微小间隙(0.001mm级别)
诊断: 放大100倍检查配合面
解决: 调整SpaceClaim容差设置
Tools → Options → Modeling → 容差 = 1e-5
原因3: 复杂几何导致算法失败
症状: 抽取时卡死或崩溃
原因: 内部有细长通道、尖角、薄壁
解决:
- 简化几何(Defeaturing)
- 分段抽取,再合并
- 使用包络减法替代自动抽取
原因4: 多体/多腔问题
症状: 只抽取了一部分流道
原因: 模型内有多个不连通的空腔
诊断: 使用 Select → Bodies 查看体数量
解决:
- 确认哪些腔室需要包含
- 单独抽取后用 Combine → Unite 合并
6.3 流体域需要多精细?
批判性问题:
“如果我的实体模型有螺纹孔、倒角、圆角,流体域要全部保留吗?”
答案: 不一定!需要根据物理重要性判断。
特征重要性评估:
评估准则:
1. 特征尺寸 vs 主流道尺寸
如果 d_feature / d_main < 0.01 → 可能不重要
2. 距离关注区域的距离
远离→不重要, 近距离→重要
3. 对流动的影响
位于主流路径上→重要
位于死角、回流区→不太重要
4. 分析目标
如果关注局部细节→保留
如果只关注总体性能→简化
实例判断:
| 特征 | 管道内流分析 | 汽车外流分析 | 判断 |
|---|---|---|---|
| M8螺纹孔 | 管径200mm | 车长4500mm | ❌ 不重要,简化掉 |
| 导流板 | 位于主流路径 | 位于车尾 | ✓ 重要,保留 |
| 0.5mm倒角 | 管道弯头处 | 车身边缘 | 视网格能力而定 |
| 表面粗糙度 | - | - | 用壁面函数处理 |
操作建议:
工作流:
1. 初步建模: 保留主要特征,移除明显不重要的
2. 快速网格测试: 看能否生成合理网格
3. 粗糙计算: 快速判断流场模式
4. 根据结果决定: 是否需要加回某些特征
6.4 为什么要命名边界?
表面理解: “方便在Fluent中识别和设置边界条件”
深层理解:
几何模型(SpaceClaim) → 网格文件(Meshing) → 求解器(Fluent)
↓ ↓ ↓
拓扑信息(面、边) 网格区域(Zones) 边界条件(BCs)
↓ ↓ ↓
需要"标签"! 继承"标签" 通过"标签"识别
没有命名会怎样?
后果:
✗ Fluent中所有面显示为 "wall-1", "wall-2" ...
✗ 无法判断哪个面是入口,哪个是出口
✗ 设置边界条件变成"猜谜游戏"
✗ 修改模型后,编号可能改变,之前的设置失效
命名最佳实践:
1. 使用描述性名称
✓ inlet_main, outlet_bypass
✗ face1, surface_a
2. 遵循命名规范(团队内统一)
✓ wall_*, inlet_*, outlet_*
✗ 随意命名
3. 对称/周期边界成对命名
✓ periodic_left, periodic_right
✓ symmetry_plane
4. 对于复杂模型,使用分层命名
✓ region1_inlet, region1_outlet
✓ region2_inlet, region2_outlet
6.5 共享拓扑(Share Topology)到底做了什么?
常见困惑:
“我的模型看起来已经贴合了,为什么还要Share Topology?”
核心概念:
视觉贴合 ≠ 拓扑连接
场景A: 两个立方体紧贴
视觉: [ ][ ] 看起来接触
实际: [ ] [ ] 有两个独立的面,只是位置重合
场景B: Share Topology后
视觉: [ ][ ] 看起来一样
实际: [==] 共用一个面,节点重合
为什么重要?
网格生成阶段:
未Share Topology:
- 两侧独立生成网格
- 接触面的节点不重合
- 会有微小间隙或重叠
→ 导致插值误差、收敛问题
Share Topology后:
- 接触面只生成一套网格
- 两侧共享节点
- 完全匹配
→ 保证通量守恒、数值稳定
何时必须使用?
必须:
✓ 多区域问题(固体-流体界面,共轭传热)
✓ 旋转机械(旋转域-静止域界面)
✓ 多孔介质与自由流交界
可选:
≈ 单纯的流体域内部分区(便于网格控制)
不需要:
✗ 固定壁面边界(单侧接触)
✗ 完全独立的流体域
6.6 CFD分析的误差来源
批判性思维训练:
当CFD结果与实验不符时,可能的原因:
1. 几何误差(5-20%)
- 流体域尺寸不当
- 简化过度
- 建模错误
2. 网格误差(10-30%)
- 网格过粗
- 边界层分辨率不足
- 过渡区网格质量差
3. 物理模型误差(20-50%)
- 湍流模型选择不当
- 忽略了重要物理现象(如传热、相变)
- 边界条件设置错误
4. 数值误差(1-5%)
- 离散格式精度
- 收敛不充分
- 时间步长选择
5. 实验误差(5-15%)
- 测量不确定度
- 实验条件与仿真假设不符
启示:
流体域创建是CFD的第一步,虽然看似简单,但错误会传递和放大!
总结与提升路径
核心要点回顾
┌─────────────────────────────────────┐
│ 1. 流体域 = CFD的计算空间 │
│ 2. 外流场 → 直接创建法 │
│ 3. 内流场 → 抽取法 │
│ 4. 关键: 封闭性、命名、检查 │
│ 5. 精度与成本需平衡 │
└─────────────────────────────────────┘
进阶学习方向
- 高级几何处理
- 参数化建模
- 拓扑优化前的流体域准备
- 复杂装配体的流体域提取
- 特殊流体域
- 旋转机械的多参考系
- 自由液面的VOF域设置
- 多孔介质区域定义
- 自动化脚本
- SpaceClaim Python/IronPython脚本
- 批量处理多个几何变体
- 与优化循环集成
- 网格策略协同
- 流体域分区与网格类型匹配
- 边界层网格的几何准备
- 局部加密区的几何控制
附录: 快速参考卡
常用工具速查
| 功能 | SpaceClaim工具 | 快捷键 |
|---|---|---|
| 创建长方体 | Design → Box | B |
| 布尔减法 | Design → Combine → Subtract | - |
| 填充孔洞 | Design → Fill | - |
| 检查几何 | Tools → Check Geometry | - |
| 选择面 | Select → Faces | - |
| 命名 | 右键 → Rename | F2 |
| 共享拓扑 | Design → Share Topology | - |
典型尺寸参考
| 应用 | 流体域尺寸建议 | 依据 |
|---|---|---|
| 汽车外流 | 前3-5L, 后10L, 侧5L, 高5L | 尾流影响 |
| 飞机外流 | 前10c, 后20c, 侧10c | 激波扩散 |
| 建筑绕流 | 各向5H | 边界层 |
| 管道内流 | 进口5D, 出口10D | 充分发展 |
问题诊断检查表
✓ 模型是否完全导入?
✓ 单位是否正确?
✓ 流体域是否封闭?(外流) / 是否有开口?(内流的进出口)
✓ 是否有泄漏边?(红色边)
✓ 流体域是否为单一体?
✓ 边界是否全部命名?
✓ 几何尺寸是否合理?
✓ 是否有过小的特征?(< 0.1mm)
✓ 文件是否成功保存?
更多推荐

所有评论(0)