请教下dragmodel问题
-
请问下在使用twophaseeulerfoam解算器时出现这样的问题是怎样导致的?我查看了解算器源文件里的dragmodel代码但里边都是一些类的声明,没发现有等式或方程定义变量之类的。
#0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::sigFpe::sigHandler(int) at ??:? #2 ? in "/lib/x86_64-linux-gnu/libc.so.6" #3 ? in "/lib/x86_64-linux-gnu/libm.so.6" #4 pow in "/lib/x86_64-linux-gnu/libm.so.6" #5 Foam::pow(Foam::Field<double>&, Foam::UList<double> const&, double const&) at ??:? #6 Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::pow<Foam::fvPatchField, Foam::volMesh>(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::dimensioned<double> const&) at ??:? #7 Foam::dragModels::SchillerNaumann::CdRe() const at ??:? #8 Foam::dragModel::Ki() const at ??:? #9 Foam::dragModel::K() const at ??:? #10 Foam::BlendedInterfacialModel<Foam::dragModel>::K() const at ??:? #11 Foam::twoPhaseSystem::Kd() const at ??:? #12 ? at ??:? #13 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" #14 ? at ??:?
-
@lixh 有可能你的模型里面某个值过大了。用的哪个版本?
这个是
SchillerNaumann
的定义:Foam::tmp<Foam::volScalarField> Foam::dragModels::SchillerNaumann::CdRe() const { volScalarField Re(pair_.Re()); return neg(Re - 1000)*24.0*(1.0 + 0.15*pow(Re, 0.687)) + pos(Re - 1000)*0.44*max(Re, residualRe_); }