这是超算使用的案例,我在本地跑了1000步,确认了fluent设置等相关内容没问题,现在我需要如何从...
생성일: 2026년 8월 20일
답변에 사용된 모델 GPT-5.6 Thinking by Chat01
생성일: 2026년 8월 20일
답변에 사용된 모델 GPT-5.6 Thinking by Chat01
这是超算使用的案例,我在本地跑了1000步,确认了fluent设置等相关内容没问题,现在我需要如何从fluent导出案例和相关设置,然后上传到超算中,再超算中继续跑,最好能够接着1000步开始继续跑,如果不行,那是否能导入案例和设置
可以,而且你这个场景最适合用 Fluent 的 Restart(续算) 思路:** 本地算到 1000 步后,不要只导出“设置”,而是把 Case + Data 一起保存并上传到超算。** 这样超算上的 Fluent 可以从你本地第 1000 步对应的流场状态继续计算,而不是重新初始化。
你上传的超算手册主要讲平台上传、VNC/SSH 和作业提交,并没有给 Fluent 的具体续算操作;下面我把手册里的超算操作和 Fluent 本身的续算方法结合起来说明。
你本地 1000 步已经确认设置正确后,在 Fluent 里建议直接:
File → Write → Case & Data
例如保存为:
textrestart_1000.cas.h5 restart_1000.dat.h5
新版 Fluent 默认一般就是这种 HDF5 格式。
这两个文件的作用不一样:
| 文件 | 内容 | 能否续算 |
|---|---|---|
*.cas.h5 | 网格、材料、边界条件、湍流模型、求解设置等 | 只能恢复设置 |
*.dat.h5 | 第 1000 步时的压力、速度、温度、湍流量等解数据 | 用于恢复当前计算状态 |
cas.h5 + dat.h5 | 设置 + 当前解 | 可以继续算 |
ANSYS 官方也明确区分:Case 属于当前模型设置,而 Data 保存当前求解结果;用于 restart 时,需要当前的 .cas.h5 和 .dat.h5。(Ansys Help)
所以你这里不要只保存 Case。
例如:
textfluent_restart/ ├── restart_1000.cas.h5 ├── restart_1000.dat.h5 ├── continue.jou ├── udf/ │ └── my_udf.c ├── profiles/ │ └── inlet.prof └── other_input/
其中真正必需的通常是:
textrestart_1000.cas.h5 restart_1000.dat.h5
但如果你的模型使用了下面这些东西,也要一起带上:
.c / .h如果你是在 Windows 本地 Fluent 里编译的 UDF,不要直接把 Windows 生成的 libudf 拿到 Linux 超算上运行。
最保险的是上传:
textmy_udf.c my_udf.h
然后在超算的 Linux Fluent 上重新 Compile。
你上传的手册里建议:
text/data/home/username/
容量大、性能中;
text/ssd/work/username/
容量较小但性能高,主要用于作业输入、输出和日志,手册明确建议把作业工作目录放这里。(详细上机手册.pdf)
所以推荐你最后在超算上整理成:
text/ssd/work/你的用户名/fluent_case/
例如:
text/ssd/work/zhangsan/fluent_case/ ├── restart_1000.cas.h5 ├── restart_1000.dat.h5 └── continue.jou
可以直接:
控制台 → 文件管理 → 上传
手册说明平台文件管理可以直接把本地计算文件上传到个人目录。(详细上机手册.pdf)
然后再复制到:
text/ssd/work/username/
Fluent 的 .dat.h5 很容易几 GB、几十 GB,这种情况下更推荐 SFTP。
手册推荐使用:
数据传输节点:
textIP:60.31.21.42 端口:1018
(详细上机手册.pdf)
因此 Windows 本地用 WinSCP 上传会比较方便。
你第一次迁移,我强烈建议不要马上批处理跑几千步。
先用 VNC 打开 Fluent,确认 Case/Data 能正确读取。
你的平台手册支持:
控制台 → VNC 可视化连接
或者:
应用中心 → VNC 模板
提交 VNC 作业后进入 Linux 图形界面。(详细上机手册.pdf)
然后在超算 Fluent 中:
textFile → Read → Case & Data
选择:
textrestart_1000.cas.h5
Fluent 会读取对应的:
textrestart_1000.dat.h5
官方 Fluent 也支持直接导入匹配的 Case & Data 文件。(Ansys Help)
这是你能不能从第 1000 步继续的关键。
正确流程是:
text读取 restart_1000.cas.h5 ↓ 读取 restart_1000.dat.h5 ↓ 检查模型 ↓ 直接 Calculate / Iterate
而不是:
text读取 case/data ↓ Initialize ↓ Calculate
如果你重新点了:
textInitialization → Initialize
相当于把第 1000 步已经得到的解重新覆盖掉了。
例如你本地已经:
textIteration 1 ... Iteration 1000
保存 Case & Data。
超算读入之后直接再设置:
textNumber of Iterations = 5000
然后 Calculate。
它本质上就是:
text本地: 初始场 ↓ 1000 iterations ↓ 保存 dat 超算: 读取第1000步流场 ↓ 继续迭代 ↓ 1001、1002、1003……
即使某些版本界面上的迭代显示方式有所变化,真正重要的是速度、压力、温度、湍流量等第 1000 步的解已经继承了下来。
瞬态更需要 dat.h5。
例如:
textTime Step Size = 1e-4 s Number of Time Steps = 1000
本地已经跑到:
textt = 0.1 s
然后保存:
textrestart_1000.cas.h5 restart_1000.dat.h5
超算读入 Case & Data 后,应该继承当前瞬态解状态,然后继续后续 Time Steps。
例如再跑:
text5000 time steps
即从当前已有流场向后推进。
此时也同样:
不要重新初始化。
如果你用:
尤其应该使用完整 Case + Data restart,而不是只复制设置。
读取 Case & Data 以后,先不要点 Calculate。
检查几个东西。
例如查看一个截面的:
textContours → Velocity Magnitude
或者:
textContours → Static Pressure
应该能看到本地第 1000 步的流场,而不是全场一个初始值。
再查看:
textResiduals Report Definitions Monitors
如果是瞬态,还可以检查当前:
textFlow Time Time Step
如果这些都对,说明 restart 成功。
这点你不用过于担心。
比如这些内容通常都保存在 .cas.h5:
textMesh Materials Cell Zone Conditions Boundary Conditions Energy Viscous Model Multiphase Species Pressure-Velocity Coupling Spatial Discretization Under-Relaxation Factors Report Definitions Monitor Definitions
所以如果你最终发现 dat.h5 损坏或者没有保存,第 1000 步不能恢复,也仍然可以:
textFile → Read → Case
读取:
textrestart_1000.cas.h5
然后从这个模型重新 Initialization 开算。
换句话说:
text只有 case: 设置能搬过去 但已有1000步解丢失
而:
textcase + data: 设置能搬过去 1000步已有解也能搬过去
这里容易混淆。
Workbench 可能会涉及:
text.msh.h5 .set .cas.h5 .dat.h5
Workbench 中 .set 是 Setup 信息的一部分;ANSYS 官方说明,Workbench Setup 常见的是网格文件加 .set,而当前 Solution 则是 .cas.h5 + .dat.h5。(Ansys Help)
但你现在要把计算转移到超算上续算,我建议不要只拷贝整个 Workbench 工程指望超算识别。
最稳定的是在本地 Fluent 界面里直接:
textFile → Write → Case & Data
生成:
textrestart_1000.cas.h5 restart_1000.dat.h5
再上传。
这样和 Workbench 工程路径关系最小。
例如你本地用:
textANSYS Fluent 2024 R2
超算也尽量用:
text2024 R2
并保持一致的:
text3D / 2D Double Precision / Single Precision
例如本地如果是:
text3D Double Precision
超算启动时也选:
text3ddp
通常新版 Fluent 可以读取较旧版本 Case,但不建议用更老的 Fluent 去读取新版本生成的 Case/Data。
超算真正长时间跑一般不建议一直开 VNC。
你可以准备一个 Fluent journal,例如:
textcontinue.jou
稳态计算可以类似:
text/file/read-case-data restart_1000.cas.h5 /solve/iterate 5000 /file/write-case-data result_6000.cas.h5 /exit yes
含义就是:
text读取1000步结果 ↓ 继续跑5000次迭代 ↓ 保存最终结果 ↓ 退出
然后 Fluent 批处理通常类似:
bashfluent 3ddp -g -t32 -i continue.jou > fluent.out 2>&1
例如:
text3ddp
表示:
text3D double precision
text-t32
表示使用 32 个并行进程。
text-g
表示不启动 GUI。
text-i continue.jou
表示执行 journal。
Fluent 官方支持 -g 无 GUI 模式、-i <journal> 执行 journal,并且也支持启动时直接读取 Case/Data。(Ansys Help)
不过注意:不要直接在超算登录节点运行这条命令。 应该通过平台的 Fluent 作业模板或者调度系统提交。
你的平台手册说明提交应用作业时可以设置:
text作业名称 输入文件路径 资源队列 核心数 节点数量 应用版本
然后提交到队列运行。(详细上机手册.pdf)
你现在本地已经完成 1000 步,所以按下面做基本不会错:
text本地 Fluent │ ├─ 确认1000步计算结束 │ ├─ File → Write → Case & Data │ ├─ restart_1000.cas.h5 └─ restart_1000.dat.h5 │ ▼ WinSCP / 平台文件上传 │ ▼ /ssd/work/username/fluent_case/ │ ▼ 超算 VNC │ ▼ 启动与本地相同版本 Fluent │ ▼ File → Read → Case & Data │ ▼ 检查流场、边界条件、残差 │ ▼ 【不要 Initialize】 │ ▼ 先试跑 10~20 步 │ ▼ 确认结果正常 │ ▼ 写 journal │ ▼ 提交正式并行作业
我非常建议你在超算上先跑:
text10~20步
而不是一上来跑 5000 步。
看看:
textresidual 质量守恒 监测点 力/力矩 温度 压降
有没有突然跳变。
如果跟你本地第 1000 步衔接正常,再提交长作业。
最佳方案:
text本地: restart_1000.cas.h5 restart_1000.dat.h5 ↓ 上传超算 ↓ Read Case & Data ↓ 不要初始化 ↓ Continue Calculation
这样就是你想要的**“从本地第 1000 步继续跑”**。
如果没有 dat.h5,则退而求其次:
textrestart.cas.h5 ↓ 上传 ↓ Read Case ↓ 设置、网格、边界条件基本都还在 ↓ Initialize ↓ 重新从头计算
如果你愿意,我下一步可以直接根据你这个超算平台,给你写一份可以直接提交的 Fluent continue.jou + 超算作业提交脚本。你只需要告诉我三个信息:** Fluent 版本(例如 2024R2)、稳态还是瞬态、计划用多少核**。