sonicFoam forwardStep 现实边界条件导致错误::printStack(Foam::Ostream&)
Posted
技术标签:
【中文标题】sonicFoam forwardStep 现实边界条件导致错误::printStack(Foam::Ostream&)【英文标题】:sonicFoam forwardStep realistic boundary conditions leads to error::printStack(Foam::Ostream&) 【发布时间】:2018-08-27 12:05:45 【问题描述】:我正在尝试用更现实的边界条件修改sonicFoam forwardStep example。
在0/p
:
//internalField uniform 1;
internalField uniform 100000;
boundaryField
inlet
type fixedValue;
//value uniform 1;
value uniform 100000;
在0/p
:
//internalField uniform 1;
internalField uniform 300;
boundaryField
inlet
type fixedValue;
//value uniform 1;
value uniform 300;
但这会导致一个奇怪的错误:
时间 = 0.002
库朗数平均值:0.24881 最大值:0.25 对角线:求解 rho,初始残差 = 0,最终残差 = 0, 无迭代 0 PIMPLE:迭代 1 smoothSolver:求解 Ux, 初始残差 = 1,最终残差 = 9.33263e-16,无迭代 1 smoothSolver:求解 Uy,初始残差 = 1,最终残差 = 6.21609e-17,无迭代 1 smoothSolver:求解 e,初始残差 = 1,最终残差 = 2.96112e-06,无迭代 3 smoothSolver:求解 p,初始残差 = 1,最终残差 = 9.16163e-07,无迭代 22 对角线:求解 rho,初始残差 = 0,最终残差 = 0,无迭代 0 时间步连续性 错误:总和本地 = 0.000363585,全局 = 0.000346824,累积 = 0.000346824 PIMPLE:迭代 2 smoothSolver:求解 Ux,初始残差 = 0.0109637,最终残差 = 3.46971e-14,无迭代 1 smoothSolver:求解 Uy,初始残差 = 0.0462988,最终 残差 = 1.90246e-17,无迭代 1 smoothSolver:求解 e, 初始残差 = 0.999979,最终残差 = 1.12177e-06,否 迭代 3 0 泡沫::错误::printStack(泡沫::Ostream&) 在??:? 1 Foam::sigFpe::sigHandler(int) at ??:? 2 ?在“/lib64/libc.so.6”中 3 Foam::sqrt(Foam::Field&, Foam::UList const&) 在 ??:? 4 Foam::sqrt(Foam::tmp > const&) at ??:? 5 Foam::waveTransmissiveFvPatchField::advectionSpeed() const at ??:? 6 Foam::advectiveFvPatchField::updateCoeffs() at ??:? 7 Foam::GeometricField::Boundary::updateCoeffs() 在 ??:? 8 Foam::fvMatrix::fvMatrix(Foam::GeometricField const&, Foam::dimensionSet const&) 在 ??:? 9 Foam::tmp > Foam::fv::optionList::operator()(Foam::GeometricField const&, 泡沫::几何场&, Foam::word const&) at ??:? 10 ?在 ??:? 11 __libc_start_main 在“/lib64/libc.so.6” 12 ?在 ??:?浮点异常
如果您能帮助我了解问题所在以及如何解决问题,我将不胜感激。
关键字: Floating point exception
、__libc_start_main
、Foam::error::printStack(Foam::Ostream&)
、
【问题讨论】:
【参考方案1】:有许多不同的问题可能会导致此类错误。不幸的是,OpenFOAM 错误消息不是很具体,并且没有多少文档显示如何系统地解决这些错误消息。
在这种特定情况下,由于修改后的初始和入口压力值与原始出口值之间的巨大差异而出现错误,我忘了相应地修改。修改:
outlet
type waveTransmissive;
field p;
psi thermo:psi;
gamma 1.4;
fieldInf 1;
lInf 3;
value uniform 1;
到
outlet
type waveTransmissive;
field p;
psi thermo:psi;
gamma 1.4;
fieldInf 100000;
lInf 3;
value uniform 100000;
或者干脆
outlet
type fixedValue;
value uniform 100000;
解决了问题,求解器成功收敛。调节边界条件的经验法则,最小化controlDict
文件中的deltaT
可以减少此问题的可能性。
【讨论】:
以上是关于sonicFoam forwardStep 现实边界条件导致错误::printStack(Foam::Ostream&)的主要内容,如果未能解决你的问题,请参考以下文章