CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Bugs (https://www.cfd-online.com/Forums/openfoam-bugs/)
-   -   rhoRotorSimpleFoam (https://www.cfd-online.com/Forums/openfoam-bugs/65691-rhorotorsimplefoam.html)

Marcin June 23, 2009 09:25

rhoRotorSimpleFoam
 
Hi everyone!

I have tried to make a new solver based on the rhoSimpleFoam with the name below. The idea is to calculate with this solver rotor blades of a turbine, so an additional velocity therm is needed.
I have copied all files and made some modifications. I've added a vector field Uabs in the rhoRotorSimleFoam.C file, added the centrifugal and Coriolis forces in the UEqn.H ( rho*SRF->Su() ) and created a single rotating frame model in the createFields.H
After I have compiled it I didn't get any bugs, but when I wonted to start a simulation of a rotor blade I have got this bug:

Attempt to cast type wall to type lduInterface#0 Foam::error::printStack(Foam::Ostream&) in "/home/marcin/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libOpenFOAM.so"
#1 Foam::error::abort() in "/home/marcin/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libOpenFOAM.so"
#2 Foam::Ostream& Foam::operator<< <Foam::error>(Foam::Ostream&, Foam::errorManip<Foam::error>) in "/home/marcin/OpenFOAM/OpenFOAM-1.5/applications/bin/linux64GccDPOpt/rhoRotorSimpleFoam"
#3 Foam::lduInterface const& Foam::refCast<Foam::lduInterface const, Foam::fvPatch const>(Foam::fvPatch const&) in "/home/marcin/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libfiniteVolume.so"
#4 Foam::cyclicFvPatchField<double>::cyclicFvPatchFie ld(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) in "/home/marcin/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libfiniteVolume.so"
#5 Foam::fvPatchField<double>::adddictionaryConstruct orToTable<Foam::cyclicFvPatchField<double> >::New(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) in "/home/marcin/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libfiniteVolume.so"
#6 Foam::fvPatchField<double>::New(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) in "/home/marcin/OpenFOAM/OpenFOAM-1.5/applications/bin/linux64GccDPOpt/rhoRotorSimpleFoam"
#7 Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::GeometricBoundaryField::GeometricB oundaryField(Foam::fvBoundaryMesh const&, Foam::DimensionedField<double,Foam::volMesh> const&, Foam::dictionary const&) in "/home/marcin/OpenFOAM/OpenFOAM-1.5/applications/bin/linux64GccDPOpt/rhoRotorSimpleFoam"
#8 Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::readField(Foam::Istream&) in "/home/marcin/OpenFOAM/OpenFOAM-1.5/applications/bin/linux64GccDPOpt/rhoRotorSimpleFoam"
#9 Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::GeometricField(Foam::IOobject const&, Foam::fvMesh const&) in "/home/marcin/OpenFOAM/OpenFOAM-1.5/applications/bin/linux64GccDPOpt/rhoRotorSimpleFoam"
#10 Foam::basicThermo::basicThermo(Foam::fvMesh const&) in "/home/marcin/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libbasicThermophysicalModels.so"
#11 Foam::hThermo<Foam::pureMixture<Foam::constTranspo rt<Foam::specieThermo<Foam::hConstThermo<Foam::per fectGas> > > > >::hThermo(Foam::fvMesh const&) in "/home/marcin/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libbasicThermophysicalModels.so"
#12 Foam::basicThermo::addfvMeshConstructorToTable<Foa m::hThermo<Foam::pureMixture<Foam::constTransport< Foam::specieThermo<Foam::hConstThermo<Foam::perfec tGas> > > > > >::New(Foam::fvMesh const&) in "/home/marcin/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libbasicThermophysicalModels.so"
#13 Foam::basicThermo::New(Foam::fvMesh const&) in "/home/marcin/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libbasicThermophysicalModels.so"
#14 main in "/home/marcin/OpenFOAM/OpenFOAM-1.5/applications/bin/linux64GccDPOpt/rhoRotorSimpleFoam"
#15 __libc_start_main in "/lib64/libc.so.6"
#16 _start at /usr/src/packages/BUILD/glibc-2.9/csu/../sysdeps/x86_64/elf/start.S:116

From function refCast<To>(From&)
in file /home/marcin/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/typeInfo.H at line 106.


Does anyone know what it means? Thanks for any help!

Best regards, Marcin.

jaswi June 23, 2009 13:33

Hi Marcin

There seems to be some clash in your boundary conditions.
I am no experts but in your error message it says

Quote:

Attempt to cast type wall to type lduInterface#0 Foam::error::printStack(Foam::Ostream&) in "/home/marcin/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libOpenFOAM.so"
Now lduInterface is an abstract base class for implicitly-coupled interfaces e.g. processor and cyclic patches and above message implies that you wall patch is being recasted into lduInterface type. One more question - are you using AMG solver in you fvSolution file. Try changing it to some other solver and see what happens.

There might be problem also if you are using Cylic Boundary condition on your field variable for a patch which is defined as wall in your polyMesh/boundary file.

Please cross check you case setup and if nothing works then try running your case without the modified solver, just to find out whether error is due to your change or due to case setup.

Best Regards
Jaswi

Marcin June 24, 2009 03:26

Hi Jaswi,

thanks a lot for your reply. Just to anwser your question I'm using only PCG and PBiCG solver, so it isn't caused with the AMG.
In the fact I have verified my boudary conditions and the boundary file and I found the reason thanks to you. The problem was that by mesh import from icem the cyclic boudary condition was lost. I have fixed it in the polyMesh/boudary file and now it seems to work.

Thanks a lot once more!

Best regards, Marcin.


All times are GMT -4. The time now is 11:40.