1、controlDict中添加如下代码:
functions
{
Qdot
{
libs ("libcombustionModels.so");
type Qdot;
executeControl writeTime;
writeControl writeTime;
}
}
2、后处理:
postProcess命令
1、controlDict中添加如下代码:
functions
{
Qdot
{
libs ("libcombustionModels.so");
type Qdot;
executeControl writeTime;
writeControl writeTime;
}
}
2、后处理:
postProcess命令
1、被mapField的,要改时间。例如前一个算例算到1s,map到第二个算例上,第二个算例的起始时间要对应修改,从1s开始,图中看你这个location还是0
来流条件如图:
流场大致如下图,使用层流模型,Y+小于1,压缩拐角处存在回流区:
最开始想计算Cp和实验对比,结果发现了振荡:
进一步加密网格,振荡更严重了:
除了壁面附近有这种诡异的波动,激波波后也存在波动,想问一下各位大佬,这种情况应该如何调整?为何网格加密后,振荡更严重了?
自问自答一下:
具体方法参考这个链接
先说一下整体背景:
我要做的是飞行器进气道+燃料掺混段的仿真,分开计算,先算的进气道,想把进气道出口的数据转换到掺混段入口计算。
操作方法:
#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
...省略
@xpqiu 好的,谢谢老师
@李东岳 老师好,我已经解决了,过段时间我整理一下我的方法贴在这里,希望能帮助到其他人
(十分抱歉这么晚回复,因为我的邮箱没有收到消息的回复提醒...)
@xpqiu 老师好,我按照您方法的第二条调试成功了,我比较好奇的是,这样的原理是什么? cellimited是什么含义呢?
如题,二维情况下,给入口用文件赋值,可以通过fixedProfile,给定入口在某条线上的数据分布形式。
最近在做三维计算,有没有对应的工具可以实现?
@chon01 哈哈,新年快乐
我不是前辈,今年刚博士一年级,大家互相交流学习!
@chon01 我刚找到我的问题所在
我之前都是自适应网格,所以最后并行重组的时候要reconstructParAll,也就是重组网格在重组流场
这次没开自适应,我忘记改脚本命令了,仍然是reconstructParAll,会导致bug
如果计算过程中网格没有变化,重组网格命令会导致网格编号发生改变........
不仅如此,我还发现,tecplot有时候会乱码
左图tecplot右图paraview
我也遇见了类似的情况:
1、tecplot打开多个时刻文件卡死(10个时刻, 只有400Mb),paraview打开多个时刻正常显示
2、与1同样的结果文件,tecplot打开单一时刻,乱码;paraview也乱码
如下图所示: