这是一个在 Windows 下通过 PowerShell 脚本,结合 SCP 文件传输与 SSH 远程登录,实现本地提交计算任务、远程执行 Fluent 仿真的完整工作流。
准备工作
在开始之前,请确保:
- 本地 Windows 已安装 OpenSSH Client(Windows 10/11 自带)
- 远程服务器已安装 Fluent 并配置好环境变量
- 已获取服务器的 IP 地址、用户名和密码(或 SSH Key)
变量设置
使用 PowerShell 定义以下变量:
$data="fluent.dat"
$case="fluent.cas"
$jou="fluent.jou"
$path="/home/fluent_case"
$user="yujj"
$ip="cloud.yujj.top"
$data- Fluent 数据文件(.dat)$case- Fluent 算例文件(.cas)$jou- 批处理 Journal 文件(.jou)$path- 远程服务器上的工作目录$user- SSH 登录用户名$ip- 远程服务器地址
传输文件
使用 SCP(Secure Copy Protocol)将本地计算文件上传至服务器:
scp $data $user@$ip:$path
scp $case $user@$ip:$path
scp $jou $user@$ip:$path
SSH 登录与执行
远程登录服务器并进入工作目录:
ssh $user@$ip
cd $path
登录后,在服务器端执行 Fluent 批处理命令:
fluent 3ddp -g -i fluent.jou -t4
参数说明:
3ddp- 三维双精度求解器-g- 无图形界面模式(后台运行)-i fluent.jou- 指定 Journal 批处理文件-t4- 使用 4 个 CPU 核心并行计算
自动化脚本
将以上步骤整合为一个完整的 PowerShell 脚本 run_fluent.ps1:
# Windows 下远程执行 Fluent 的 PowerShell 脚本
$data="fluent.dat"
$case="fluent.cas"
$jou="fluent.jou"
$path="/home/fluent_case"
$user="yujj"
$ip="cloud.yujj.top"
Write-Host "[1/3] 传输文件到服务器..." -ForegroundColor Green
scp $data $user@$ip:$path
scp $case $user@$ip:$path
scp $jou $user@$ip:$path
Write-Host "[2/3] 远程执行 Fluent..." -ForegroundColor Green
ssh $user@$ip "cd $path && fluent 3ddp -g -i fluent.jou -t4"
Write-Host "[3/3] 任务完成!请检查服务器输出文件。" -ForegroundColor Green
运行时只需在 PowerShell 中执行:
.run_fluent.ps1
使用提示
- 免密码登录:搭配 SSH Key 可省去每次输入密码的步骤,使用
ssh-keygen生成密钥对后将公钥添加到服务器的~/.ssh/authorized_keys - 首次连接:首次 SSH 登录需手动确认服务器指纹(输入
yes) - 结果下载:可在脚本末尾添加
scp $user@$ip:$path/results.out .将结果自动下载到本地 - Fluent 版本:确保远程服务器的 Fluent 命令路径已添加到
PATH环境变量中
常见问题
- SCP 提示 Permission denied - 检查服务器目录权限,确保
$path目录可写 - Fluent 命令未找到 - SSH 登录后执行
source ~/.bashrc刷新环境变量 - 并行计算失败 - 确认服务器已安装并行计算库,适当调整
-t参数值