rhoCentralDyMFoam + Turbulence Model = Crash
Summary
I tried to simulate a transonic compressor with rhoCentralDyMFoam
with cyclicAMIs between a rotating and stationary mesh. However, rhoCentralDyMFoam
crashes on the first time step at the turbulence model. The error indicates that it has something to do with the orientation of the surfaceScalarFields.
Steps to reproduce
I have attached a sample case, which is based on the propeller tutorial case propeller_rhoCentralDyMFoam.tar.gz adjusted for a compressible flow and rhoCentralDyMFoam
.
What is the current bug behaviour?
The solver crashes.
What is the expected correct behavior?
The solver should run smoothly.
Relevant logs and/or images
The error message is pointing towards the fvc::absolute
function, which is called within the kOmegaSSTBase
class:
--> FOAM FATAL ERROR:
Operator + is undefined for unoriented and oriented types
From Foam::orientedType Foam::operator+(const Foam::orientedType&, const Foam::orientedType&)
in file orientedType/orientedType.C at line 479.
FOAM aborting
#0 Foam::error::printStack(Foam::Ostream&) at ??:?
#1 Foam::error::exitOrAbort(int, bool) at ??:?
#2 Foam::operator+(Foam::orientedType const&, Foam::orientedType const&) at ??:?
#3 void Foam::add<double, double, Foam::fvsPatchField, Foam::surfaceMesh>(Foam::GeometricField<Foam::typeOfSum<double,
double>::type, Foam::fvsPatchField, Foam::surfaceMesh>&, Foam::GeometricField<double, Foam::fvsPatchField,
Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&) at ??:?
#4 Foam::tmp<Foam::GeometricField<Foam::typeOfSum<double, double>::type, Foam::fvsPatchField, Foam::surfaceMesh> >
Foam::operator+<double, double, Foam::fvsPatchField, Foam::surfaceMesh>(Foam::tmp<Foam::GeometricField<double,
Foam::fvsPatchField, Foam::surfaceMesh> > const&, Foam::tmp<Foam::GeometricField<double, Foam::fvsPatchField,
Foam::surfaceMesh> > const&) at ??:?
#5 Foam::fvc::absolute(Foam::tmp<Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> > const&,
Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&) at ??:?
#6 Foam::kOmegaSSTBase<Foam::eddyViscosity<Foam::RASModel<Foam::EddyDiffusivity<Foam::ThermalDiffusivity<Foam::CompressibleTurbulenceModel<Foam::fluidThermo> > > > > >::correct() at ??:?
#7 ? at ??:?
#8 __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6
#9 ? at ??:?
Environment information
- OpenFOAM version : v2006
- Operating system : Debian 10
- Compiler : GCC 9.1.0
Possible fixes
Maybe it has something to do with the setOriented(true)
call missing in said function, but that's a guess.