什么是 CFX 命令流?
CFX 命令流通常指使用 CCL (CFX Command Language) 编写的文本文件,CCL 是一种基于文本的语言,其语法结构清晰,易于学习和使用,它定义了 CFX 仿真的所有方面,包括:

- 项目设置:求解器类型、分析类型。
- 网格信息:导入网格、设置区域和边界。
- 物理模型:湍流模型、多相流、传热、化学反应等。
- 材料属性:定义流体或固体的物理参数(密度、粘度、比热容等)。
- 边界条件:入口、出口、壁面、对称面等的具体设置。
- 求解控制:收敛准则、计算步长、监控点等。
- 输出控制:结果文件写入频率、类型。
CCL 文件的默认扩展名是 .ccl。
CCL 的基本语法
在深入具体命令之前,了解 CCL 的基本语法非常重要。
- 结构:CCL 文件由一系列块 和参数 组成,块用大括号 包围,参数是
名称 = 值;的形式。 - 注释:使用 或 来添加注释,增强代码的可读性。
- 分隔符:每条 CCL 语句必须以分号
- 数据类型:
- 字符串:用双引号 括起来,
"Fluid 1"。 - 数值:整数或浮点数,
1,14159。 - 布尔值:
TRUE或FALSE。 - 列表/数组:用括号 括起来,元素之间用逗号 分隔,
(1.0, 2.0, 3.0)。 - 表达式:可以使用数学运算符和函数,
81 * 1000。
- 数据类型:
示例:一个简单的块
// 定义一个名为 Inlet 的边界条件
BOUNDARY: Inlet
Boundary Type = INLET;
Location = INLET_FACE; // 引用一个名为 INLET_FACE 的几何面
Boundary Conditions
and Value = 10 [m s^-1]; // 速度入口,速度为10 m/s
end
end
如何使用 CCL 命令流?
主要有两种方式:

在 CFX-Pre 中生成和编辑
这是最常用、最推荐的方式,尤其对于初学者。
- 生成:在 CFX-Pre 中完成所有设置后,通过菜单栏
File > Export > CCL...将整个项目导出为.ccl文件。 - 编辑:你可以用任何文本编辑器(如 Notepad++, VS Code, Sublime Text)打开这个
.ccl文件进行修改,你可以轻松地修改入口速度、温度等参数,而无需重新打开图形界面。 - 导入:在 CFX-Pre 中,可以通过
File > Import > CCL...导入修改后的.ccl文件,所有设置会自动加载。
在 CFX-Solver 中直接运行
CFX-Solver 是执行计算的核心程序,它可以直接读取并执行 CCL 文件。
- 命令行方式:打开命令行(CMD 或 PowerShell),切换到 CFX-Solver 的安装目录(通常是
ANSYS Inc/v231/CFX/bin),然后运行以下命令:cfx5solve -def your_simulation.ccl
这里的
-def参数指定了要执行的 CCL 文件。
CCL 命令流的核心结构
一个完整的 CCL 文件通常包含以下几个核心部分,下面是一个典型的外流场仿真的 CCL 文件结构示例。
// =========================================================================
// CCL 文件示例:绕流一个圆柱体的外流场仿真
// =========================================================================
// 1. 仿真定义
// 定义仿真的基本属性,如求解器、分析类型等。
SIMULATION: Flow
Solver Mode = Steady State;
Simulation Type = Fluid;
Turbulence Model = k-Epsilon;
Buoyancy Model = Buoyancy;
Gravity X = 0 [m s^-2];
Gravity Y = -9.81 [m s^-2];
Gravity Z = 0 [m s^-2];
end
// 2. 网格定义
// 导入网格文件,并为不同的区域命名。
MESH: Mesh1
Domain Type = Fluid;
Coordinate System Type = Cartesian;
Domain Locations = (Fluid_Domain);
Mesh File = "path/to/your/mesh.cfx5"; // 替换为你的网格文件路径
end
// 3. 材料定义
// 定义流体或固体的物理属性。
MATERIAL: Air at 25 C
Material = Air Ideal Gas;
Option = Pure Substance;
Thermodynamic State = Gas;
end
// 4. 域定义
// 这是仿真的核心,将材料、物理模型和边界条件应用到计算域上。
DOMAIN: Fluid_Domain
Location = Fluid_Domain; // 必须与网格定义中的 Domain Locations 一致
Domain Models
Buoyancy = On;
Heat Transfer = Off; // 假设为等温流动
Turbulence = k-Epsilon;
Turbulence Model = k-Epsilon;
Reference Pressure = 1 [atm];
end
Material = Air at 25 C;
Fluid Initialisation
Option = Automatic;
end
end
// 5. 边界条件定义
// 定义计算域的入口、出口、壁面等。
// 入口
BOUNDARY: Inlet
Boundary Type = INLET;
Location = INLET_FACE; // 对应网格中的入口面名称
Boundary Conditions
and Value = 10 [m s^-1]; // 速度入口
and Value = 0 [Pa]; // 相对静压
end
end
// 出口
BOUNDARY: Outlet
Boundary Type = OPENING;
Location = OUTLET_FACE; // 对应网格中的出口面名称
Boundary Conditions
and Value = 0 [Pa]; // 相对静压
and Value = 0 [m]; // 相对高度
end
end
// 圆柱体壁面
BOUNDARY: Cylinder_Wall
Boundary Type = WALL;
Location = CYLINDER_FACE; // 对应网格中的圆柱面名称
Boundary Conditions
and Value = No Slip Wall; // 无滑移壁面
end
end
// 远场边界
BOUNDARY: Far_Field
Boundary Type = OPENING;
Location = FAR_FIELD_FACE; // 对应网格中的远场面名称
Boundary Conditions
and Value = 0 [Pa]; // 相对静压
and Value = 0 [m]; // 相对高度
end
end
// 对称面
BOUNDARY: Symmetry_Plane_1
Boundary Type = SYMMETRY;
Location = SYMMETRY_FACE_1; // 对应网格中的对称面名称
end
BOUNDARY: Symmetry_Plane_2
Boundary Type = SYMMETRY;
Location = SYMMETRY_FACE_2; // 对应网格中的对称面名称
end
// 6. 求解控制
// 设置求解器的运行参数。
OUTPUT CONTROL: MONITORING
Monitor Variables
and Value = Pressure; // 监控压力
and Value = Velocity u; // 监控 u 方向速度
and Value = Velocity Magnitude; // 监控速度大小
end
end
SOLVER CONTROL
Max Iterations = 500;
Convergence Criteria
Residual Target = 1e-5;
end
end
CCL 的主要优势和应用场景
-
自动化与批处理:
- 参数化研究:你可以编写一个脚本,循环修改某个参数(如入口速度、雷诺数),然后自动运行一系列仿真,这是进行设计优化和敏感性分析的基础。
- 集成到工作流:可以将 CFX 的运行集成到更大的自动化流程中,例如与 Python、MATLAB 或其他 CAD/CAE 软件结合。
-
版本控制:
.ccl文件是纯文本,可以轻松地使用 Git、SVN 等版本控制系统进行管理,这对于团队协作和追踪仿真设置的变更历史至关重要。
-
可重复性:
一个确定的 CCL 文件可以保证在任何时间、任何机器上都能生成完全相同的 CFX 项目,避免了在图形界面中误操作导致设置不一致的问题。
-
高级定制:
对于 CFX-Pre 图形界面中没有直接提供的选项,或者需要复杂逻辑的场景,直接编写 CCL 是唯一的方法,自定义 Fortran 子程序来定义非常规的源项或边界条件。
-
调试与检查:
当仿真出现奇怪的错误时,检查 CCL 文件可以帮助你快速定位问题,因为所有的设置都以清晰、结构化的文本形式呈现。
常用命令参考
| CCL 块 | 描述 | 常用参数 |
|---|---|---|
SIMULATION |
定义仿真全局设置 | Solver Mode (Steady State/Transient), Simulation Type (Fluid/Solid) |
MESH |
导入和关联网格 | Mesh File (网格文件路径), Domain Locations (域名称) |
MATERIAL |
定义材料属性 | Material (选择材料库或自定义), Option (Pure Substance/Mixture) |
DOMAIN |
定义计算域 | Location (域名称), Material (应用的材料), Domain Models (物理模型开关) |
BOUNDARY |
定义边界条件 | Boundary Type (INLET/OUTLET/WALL/OPENING...), Location (边界几何面名称), Boundary Conditions (具体参数) |
OUTPUT CONTROL |
控制结果输出 | Output File Prefix (结果文件名), Monitor Variables (监控变量) |
SOLVER CONTROL |
控制求解过程 | Max Iterations (最大迭代次数), Convergence Criteria (收敛准则) |
学习建议
- 从 CFX-Pre 开始:先在图形界面中完成一个简单的仿真,然后导出 CCL 文件,这是理解 CCL 结构最直观的方法。
- 模仿和修改:仔细阅读导出的 CCL 文件,尝试修改一些参数(如入口速度、材料密度),然后重新导入运行,观察结果变化。
- 查阅官方文档:ANSYS 帮助文档中包含了 CCL 的完整参考手册,是权威的学习资料。
- 学习 CFX-Command Manager:对于更高级的自动化,可以学习 CFX 的命令行管理工具,它允许你从一个主脚本调用 CFX-Pre 和 CFX-Solver。
掌握 CCL 命令流,意味着你从 CFX 的“使用者”转变为“开发者”,能够极大地提升你的仿真效率和解决问题的能力。
