OpenFoam 分块计算
(2011-07-02 12:54:01)
标签:
openfoam杂谈 |
分类: OpenFoam |
刚学OpenFoam,这个方法姑且认为是OpenFoam的并行计算吧!
通过decomposePar对网格进行划分,再通过mpirun
-np
使用方法及说明:
1. blockMesh
2. 对网格的边界等条件进行重新定义操作(可选)
3. 复制 /run/tutorials/multiphase/interFoam/laminar/damBreak/system下的decomposeParDict到你的case的system中。
文件代码:
FoamFile
{
}
// * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 4;
method
simpleCoeffs
{
}
hierarchicalCoeffs
{
}
metisCoeffs
{
}
manualCoeffs
{
}
distributed
roots
(
);
//
*************************************************************************
//
4. decomposePar (-force)
说明:执行分块,产生processor0, processor1,...文件夹
5. mpirun -np 4 interFoam -parallel
说明:运行计算,
6. reconstructPar
说明:合并各个Processor的计算结果
其他说明:
1. 显示残差:pyFoamPlotRunner.py --clear mpirun -np 4 icoFoam -parallel -case cavity
2. 边界定义要一致,像combustion/dieselFoam/aachenBomb/0中的ft,fu定义的fixedWalls在mesh里面没有定义,再执行decomposePar时就会报错。把这两个文件删掉或者改fixedWalls为walls就可以顺利分块。至于ft,fu在计算中是那个参数,我还没有去查看,有算过的同志可以告诉下。