自问自答一下:
具体方法参考这个链接
先说一下整体背景:
我要做的是飞行器进气道+燃料掺混段的仿真,分开计算,先算的进气道,想把进气道出口的数据转换到掺混段入口计算。
操作方法:
- 1. 使用如下代码,获取掺混段网格信息
#include "fvCFD.H"
int main(int argc, char *argv[])
{
#include "setRootCase.H"
#include "createTime.H"
// 在头文件createMesh.H中创建了一个名为mesh的fvMesh对象
#include "createMesh.H"
Info << "当前时间文件:" << runTime.timeName() << nl
<< "网格数量:" << mesh.C().size() << nl
<< "网格面数量:" << mesh.Cf().size() << nl << nl;
// 利用mesh.boundaryMesh()函数获取边界面信息
forAll(mesh.boundaryMesh(), patchI)
{
Info << "Patch[" << patchI << "]:" << mesh.boundary()[patchI].name() << "包括"
<< mesh.boundary()[patchI].Cf().size() << "个网格面" << nl
<< "起始面为:" << mesh.boundary()[patchI].start() << endl;
}
Info << endl;
forAll(mesh.boundaryMesh(), patchI)
{
Info << "Patch[" << patchI << "]:" << mesh.boundary()[patchI].name() << nl;
for (label faceI = 0; faceI < mesh.boundary()[patchI].Cf().size(); faceI++)
{
Info << mesh.boundary()[patchI].Cf()[faceI] << nl;
}
}
return 0;
}
代码的编译运行等流程参考上面的链接,运行时添加“| tee log”生成log文件,结果如下图:
会按照网格面的编号顺序返回网格面心坐标
-
2.使用自己熟悉的语言,写一个脚本
使用tecplot,提取进气道出口数据(包含坐标值和数据值),然后只需要把这二者一一对应起来就行了 -
3.手动拷贝到of中0文件夹下各个变量
像这样:
boundaryField
{
INLET
{
type fixedValue;
value nonuniform List<scalar>
493
(
62304.3935999968
62304.3935999968
62304.3935999968
62304.3935999968
61340.9584462695
61340.9584462695
61340.9584462695
61340.9584462695
60768.5332074465
60768.5332074465
60768.5332074465
60768.5332074465
60032.5837566927
60032.5837566927
60032.5837566927
60032.5837566927
59027.6877524254
59027.6877524254
59027.6877524254
...省略