由于需要更加精确的结果,所以想将以前计算的一个算例网格加密放到服务器上进行计算,在查找了很多教程后,发现就是一个在没有图形界面的情况下写.jou文件的问题。本来发现fluent能够记录.jou文件,但是试了一下后才发现记录下来的也是基于图形界面的,完全没法用,这样看Tecplot的宏记录真好用2333。不过好在fluent保存的case文件里面本来已经含有了很多设置,诸如湍流模型、边界条件之类的,所以可以先在图形界面调试好,然后在将cas、dat文件上传到服务器,这样我们需要的写的.jou文件就相对很简单了,而那些需要写入.jou文件的比如udf,则可以在fluent的控制台进行尝试,然后大致可以得到应该写什么样的语句。下面就是我写的一个简单的例子
/define/user-defined/compiled-functions/compile
libraryName
yes
sourcefilename.c
/define/user-defined/compiled-functions/load
libraryName
;#编译并载入UDF
/file read-case
yourcasename.cas
/file read-data
yourdatname.dat
;#读入调试好的case、data文件
/define/user-defined/function-hooks/adjust "youradjustname::libraryName"""
;#hook像诸如init adjust这些需要hook的udf,不知道为何除了udf里定义的DEFINE_ADJUST(youradjustname,d)外,还会有一个名字""为空的,并且三个"要连写,两者之间不能有空格,不知道代表什么
/solve/patch
phase-2
12
mp
1
;#我计算的是一个液面晃荡的问题,所以是两相流,要Patch一下,选择phase-2作为我们的domain,然后我要patch的zone的编号是12,然后要空格一下进入下一步,然后选择mp即体积分数,令其为1
/file/auto-save/root-name yourrootname
/file/auto-save/data-frequency 10000
/file/auto-save/case-frequency 10000
;#自动保存data,case,每10000个时间步或是10000迭代步
/solve/iterate
200000
;#如果是稳态问题,迭代200000次
/solve/set/time-step 0.0001
/solve/dual-time-iterate
50000
200
;#如果是非稳态问题,时间步为0.0001,时间步数50000,每步迭代200次
/file/write-case-data
yourfinalname.out
exit
yes
;#最后导出最后的case与data文件
然后最后提交任务可以用lsf、pbs啥的,但是我不会,不过直接用命令提交貌似也麻烦不了多少。
新建一个文件new
然后文件里面写
node9
node9
node9
....
node9
这样共n列代表你使用节点9,里面的n个核。
nohup fluent 3d -t12 -cnf=new -g -i yourjouname.jou >&youroutname.out&
其实-t12表示一共12个核,-cnf=new使用node9的12核,然后运行过程输出到youroutname.out中,这是使用一个节点的命令,使用多个节点只需对命令作些许修改如下 只需加入-pethernet 和 -ssh
nohup fluent 3ddp -pethernet -cnf=myhosts -t36 -ssh -g -i f30.jou>&out.out &