今天,在运行案例文件时出现以下错误:
[stu@node ls]$ multiphaseInterFoam >log1
#0 Foam::error::printStack(Foam::Ostream&) at ??:?
#1 Foam::sigFpe::sigHandler(int) at ??:?
#2 ? in "/lib64/libpthread.so.0"
#3 Foam::divide(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) at ??:?
#4 Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::operator/<Foam::fvPatchField, Foam::volMesh>(Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMe
sh> > const&, Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > const&) at ??:?#5 Foam::mymultiphaseMixture::mymultiphaseMixture(Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceM
esh> const&) at ??:?#6 ? at ??:?
#7 __libc_start_main in "/lib64/libc.so.6"
#8 ? at ??:?
浮点数例外(吐核)
在网上查阅了一些资料,给出了以下建议:
- 检查网格质量(
checkMesh
) - 确认边界条件是否出错
- 确认是否出现了除以 0 这种情况
- 其他数学上的错误,比如负数开根
- 检查
time step
是否过大,导致库朗数出错 - 编译了新的程序以后,solver及相关的头文件是否重新编译?
弄了半天,结果发现是忘了设置场量setFields
。
尴尬。