如果您需要在不使用Rocky UI的情况下执行Rocky任务,也就是以批处理模式运行,那么在基于Windows和基于Linux的机器上都可以从命令行来实现这一点。
您也可以使用日志来执行批处理Fluent运行。
例如,您可以通过传递--simulate和要处理的项目文件的路径和名称,以及其他参数(比如您希望在CPU或GPU资源上处理仿真)来处理Rocky仿真项目,而无需查看Rocky UI(有时称为隐藏模式或静默模式)。
值得注意的是,Rocky可执行文件存在于不同操作系统的不同文件夹中。具体而言:
在Windows中,
Rocky.exe文件位于bin文件夹中,标准位置是C:/Program Files/ANSYS Inc/v241/Rocky/bin
在Linux中,
Rocky文件没有标准位置;但是,该位置可能类似于<Path to Rocky Installation>
在某些情况下,在批处理模式下使用Rocky命令不起作用。有关更多信息,请参见以下章节。
当您以批处理模式运行的Rocky仿真(或Workbench项目)的脚本包含需要打开Rocky UI的任务时,您可能会在Rocky(或Ansys Workbench)中遇到错误。这些任务包括:
创建和导出动画。
创建和导出绘图。
创建和导出3D View窗口的图像。
当您以批处理模式运行的Rocky仿真(或Workbench项目)的脚本使用以Qt作为后端的matplotlib时,您可能会在Rocky(或Ansys Workbench)中遇到错误。例如,如果脚本试图导出图像,就会发生这种情况。
另请参见在批处理模式下运行脚本时,我遇到了一个“Server returned a fault exception”错误。
请参见下表和下面列出的步骤,以了解有关使用命令执行Rocky任务的更多信息。
表1:Rocky命令行参数
命令 | 定义 | 范围 |
|---|---|---|
处理命令 | ||
--simulate | 在隐藏模式下,从头开始处理用引号括起来的项目文件名和位置。 | <file path to project
|
--ncpus | 设置将运行仿真的CPU处理器的数量。 | 正整数 |
--resume | 如果可能,继续进行进程内仿真。 | 0 =关 1 =开 |
--use-gpu | 在支持CUDA的GPU上处理仿真。 | 0 =关 1 =开 |
--gpu-num | 用于处理的GPU的索引。 注意: 此设置可能会出现多次,以在多个GPU中运行。 提示: 要确定哪个GPU映射到哪个索引,请打开Rocky UI并查看Solver选项卡中的Target GPU列表。索引基于显示的顺序,从0开始。 | 正整数 |
其他命令 | ||
--script | 运行名称用引号括起来的脚本.py文件。 |
|
| --headless | 在隐藏模式下,从头开始处理名称用引号括起来的脚本.py文件。 |
|
重要: 对于使用双向Fluent方法的CFD耦合仿真,2-Way Fluent | Fluent选项卡上的项(即Execution mode、Solver Processes等)将由Rocky控制,因此应在Rocky项目中进行定义。这些参数可用于从命令行执行Rocky - Fluent任务。(另请参见关于使用双向Fluent方法。)
您想要做什么?
打开命令提示符。
使用命令,导航到包含Rocky可执行文件的目录。例如:
在Windows中,
Rocky.exe文件的标准位置是C:\Program Files\ANSYS Inc\v241\Rocky\bin
在Linux中,没有标准位置,但是
Rocky文件的位置最好描述为<Path to Rocky Installation>
键入可执行文件的名称(在Linux中是
Rocky,在Windows中是Rocky.exe),然后依次输入--simulate、用引号括起来的要处理的文件名和位置、要定义的任何其他参数。(另请参见附录G:从命令行或日志执行任务。)Windows示例:使用多个GPU运行的命令:
Rocky.exe --simulate"C:Documents\project_filename.rocky"--resume=0 --use-gpu=1 --gpu-num=0 --gpu-num=1使用多个CPU恢复仿真的命令:
Rocky.exe--simulate "C:\Documents\project_filename.rocky"--resume=1 --ncpus=7选择多gpu切片方向(X、Y或Z)的命令:
Rocky.exe --simulate"C:\Documents\project_filename.rocky"--multi-gpu-slicing-direction=X键入可执行文件的名称(在Linux中是Rocky,在Windows中是Rocky.exe),然后依次输入
--script、用引号括起来的要处理的文件名和位置、--headless、要定义的任何其他参数。
例如:
以批处理模式运行脚本的命令:
Rocky.exe --script "C:\Documents\project_filename.py" --headless
您的仿真开始在后台处理。
提示: 因为您正在以批处理模式运行此仿真,所以您可以通过在项目文件目录中查找.lock文件的存在,来验证Rocky是否已经打开了仿真并开始处理它。如果此文件与.rocky项目文件一起存在,那么Rocky可能已经打开了仿真并开始在后台处理它。(另请参见Rocky说我的项目文件被“locked”。)
其他提示:
由于在没有打开用户界面的情况下很难跟踪仿真的进度,因此您可以选择通过使用管道重定向来编写一个包含关于上述命令的信息的文件,即
> log.txt。例如,在Windows中,这可能是:
Rocky.exe --simulate "C:\Documents\project_filename.rocky" > C:\Documents\log.txt.如果您想更频繁地查看信息,可以使用:
tail -f <path to log file>(在Linux上)或type -f <path to log file>(在Windows上)。这将冻结终端并输出写入指定文件的最后内容。
如果您需要阻止Rocky处理项目,请执行以下操作之一:
- 在Linux上,按下键盘上的
Ctrl+C。- 在Windows上,打开任务管理器,然后结束
RockySolver.exe进程。
因为在Linux中没有默认的安装文件夹,所以有两种方法可以通过使用一个单词的简单命令来运行Rocky:
定义和使用alias:这允许您为可执行文件使用不同的(较短的)名称。
示例:假设您已经在
/home/user/Ansys/Rocky上安装了Rocky,请输入alias Rocky=/home/user/Ansys/Rocky/Rocky。然后,您可以简单地使用
Rocky --simulate <project>。-编辑PATH变量:这允许您将一个文件夹添加到Linux查找可执行文件的位置列表中。
示例:假设您已经在
/home/user/Ansys/Rocky上安装了Rocky,请输入export PATH=$PATH:/home/user/Ansys/Rocky。然后,您可以简单地使用
Rocky --simulate <project>。
这两个更改都是临时的,所以您应该考虑将这些行存储在.bashrc或同等版本,以便在更改终端或重新启动时保留它们。
另请参见:
打开命令提示符。
使用命令,导航到包含Rocky可执行文件的目录。例如:
在Windows中,
Rocky.exe文件的标准位置是C:Program FilesANSYS Incv222Rockybin
在Linux中,没有标准位置,但是
Rocky文件的位置最好描述为<Path to Rocky Installation>
键入可执行文件的名称(在Linux中是
Rocky,在Windows中是Rocky.exe),然后依次输入用引号括起来的要打开的.rocky文件名和项目位置、-script、您要应用的用引号括起来的脚本的PY文件名和位置。Windows示例:Rocky.exe "C:Documentsproject_filename.rocky" -script "C:DocumentsRockyScriptsscript_filename.py"
Rocky用户界面打开指示的项目并尝试运行脚本。
注意:如果-script与-simulate一起使用,脚本将尝试播放,但如果需要UI元素(如Camera Preset)来完成录制或脚本化的步骤,则可能会失败。
另请参见:
使用以下信息运行Fluent,并使用日志(用于批处理Fluent运行的过程)导出单向瞬态仿真的结果。这将使您无需打开Fluent UI,即可运行CFD案例并导出结果。
/file/start-transcript "fluent.log"
(define rocky/library-path "
{lib_directory}") (ti-menu-load-string "/file/read-macros "{lib_directory}
rocky_fluent_coupling.scm""))
/file/read-case "
{base_cas_filename}
" /solve/set/time-step 0.0005
(set-f2r-folder "
{f2r_folder}
")
/solve/initialize/initialize-flow (one-way-transient-export)
(display (rpgetvar 'rocky/additional-output-name-list)) (display (rpgetvar 'rocky/additional-output-phase-id-list)) (display (rpgetvar 'rocky/additional-output-id-list)) (display (rpgetvar 'rocky/additional-output-type-list))
/solve/dual-time-iterate 2 2 (stop-one-way-transient-export)
exit OK
另请参见