Open ZhangYanTJU opened 3 years ago
非常感谢您的分享!请教下您flameMaster中输出组分反应速率是在哪里定义的
@shane-sudo 非常感谢您的分享!请教下您flameMaster中输出组分反应速率是在哪里定义的
感谢支持!
对于 unsteady 对冲火焰,在 TTransFlameSolver.hpp 文件中,搜索 write source term CO
,在这一段后边依葫芦画瓢添加所有组分的输出:
// write source of species
for ( i = 0; i < nOfSpecies; ++i ) {
fprintf( fp, "Source-%s\n", names[i] );
fprintf( fp, "\t%-.6e", 0.0 );
for ( k = 0; k < fNGridPoints; ++k ) {
fprintf( fp, "\t%-.6e", prodRateGrid[k][i] );
if ( (k+2) % 5 == 0 ) {
fprintf( fp, "\n" );
}
}
fprintf( fp, "\t%-.6e\n", 0.0 );
}
对于 steady 对冲火焰,在 TCountDiffFlameMix.hpp 文件中,搜索 write source term ProdRateProgVar
,在这一段后边添加:
// write source of species
for (i = 0; i < nOfSpecies; ++i) {
fprintf(fp, "Source-%s\n", names[i]);
fprintf(fp, "\t%-.6e", 0.0);
for (k = 0; k < gridPoints; ++k) {
fprintf(fp, "\t%-.6e", prod[k][i] );
if ((k + 2) % 5 == 0) {
fprintf(fp, "\n");
}
}
fprintf(fp, "\t%-.6e\n", 0.0);
}
然后重新编译即可。
哇,真的太感谢您啦!我的毕业论文中一定会引用您的OpenFoam成长之路,致谢部分一定会感谢您和您的博客,再次感谢巨佬!
敬颂师祺!
------------------ 原始邮件 ------------------ 发件人: "ZhangYanTJU/ZhangYanTJU.github.io" @.>; 发送时间: 2021年6月24日(星期四) 下午3:24 @.>; 抄送: "Shane @.**@.>; 主题: Re: [ZhangYanTJU/ZhangYanTJU.github.io] FlameMaster 编译教程 | OpenFOAM 成长之路 (#139)
@shane-sudo 非常感谢您的分享!请教下您flameMaster中输出组分反应速率是在哪里定义的
感谢支持!
对于unsteady 对冲火焰,在 TTransFlameSolver.hpp 文件中,搜索 write source term CO,在这一段后边依葫芦画瓢添加所有组分的输出: // write source of species for ( i = 0; i < nOfSpecies; ++i ) { fprintf( fp, "Source-%s\n", names[i] ); fprintf( fp, "\t%-.6e", 0.0 ); for ( k = 0; k < fNGridPoints; ++k ) { fprintf( fp, "\t%-.6e", prodRateGrid[k][i] ); if ( (k+2) % 5 == 0 ) { fprintf( fp, "\n" ); } } fprintf( fp, "\t%-.6e\n", 0.0 ); }
对于 steady 对冲火焰,在 TCountDiffFlameMix.hpp 文件中,搜索 write source term ProdRateProgVar,在这一段后边添加: // write source of species for (i = 0; i < nOfSpecies; ++i) { fprintf(fp, "Source-%s\n", names[i]); fprintf(fp, "\t%-.6e", 0.0); for (k = 0; k < gridPoints; ++k) { fprintf(fp, "\t%-.6e", prod[k][i] ); if ((k + 2) % 5 == 0) { fprintf(fp, "\n"); } } fprintf(fp, "\t%-.6e\n", 0.0); }
然后重新编译即可。
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.
补充一个FM的使用:
https://github.com/Combustion-Zhen/FM2Cantera
给出了将FM生成的flamelet数据导出为.csv格式的程序,其中需要用到的
speciestranslated文件,在使用FM将chemkin格式的反应机理转换为FM格式时生成。
FM2Cantera.C中的FM2Can函数中添加以下代码便可导出每个组分的反应速率:
` /---------------the below is added for output reaction rate of species---------------/ //定义变量
vector<string> nOfSpecies;
ifstream fastrm;
fastrm.open("speciestranslated");
if(!fastrm.is_open())
throw runtime_error("File speciestranslated not found");
string aline;
while(getline(fastrm, aline)){
istringstream asstrm(aline);
string name_FM, name_CK;
asstrm >> name_CK >> name_FM;
nOfSpecies.push_back(name_FM);
}
/---------------the above is added for output reaction rate of species---------------/
//导出
//reaction rate: rate of specie[i]
for(int i=0;i<nOfSpecies.size();++i)
{
getline(FM_file,line);
// translate FM_name to CK_name
// cout << names[FM_name] << endl;
var_name.push_back("rate of "+nOfSpecies[i]);
all_data.push_back(data_read(FM_file,grid_pts));
}
`
再次编译即可。
shaneHe96, 您好 我在用FM2Cantera-master的时候会报错 提示 terminate called after throwing an instance of 'std::runtime_error' what(): File speciestranslated not found Aborted (core dumped) 请问我应该如何操作呢?
您好,我想做一个标量耗散率随时间变化的算例,请问我需要如何更改呢?
请问我如何输出温度源项呢
请问在0维的isobar或者isochor如何定义prod rate呢
博主 你好请问可以向你请教一下、flamemaster的知识吗 我想修改源代码 有些地方不懂
https://openfoam.top/FlameMaster/
FlameMaster 编译教程