compressible flow in turbocharger
Hi,
For my Masterthesis I want to simulate the flow in a turbocharger. The MachNumber of the flow is higher than 0.3, so I have to use a compressible solver (but not supersonic). I've done some simulations with MRFSimpleFoam (results not to bad at all), but this solver is for incompressible fluids. There is a solver called rhoPorousMRFSimpleFoam. Is it possible to simulate my problem with this solver, because I don't have a porous area inside???? My first tests with this solver was a flop, no chance to get a convergent case with my turbo. Some ideas?? please help :confused: kind regards Florian 
Hi all,
now I have some results, but with rhoPorousMRFLTPimpleFoam and only laminar. With kEpsilonModell it doesn't work (poor mesh quality, I don't know). Is it possible to run the case first laminar and then switch to turbulent??? Do I have to use the mapFields utility or is it possible to switch the RASModel in the RASProperties after some iterations?? What is the silver bullet to do this? If somebody has experience in this please let me know. kind regards Florian 
Florian,
some hints: 1. rhoPorousMRFSimpleFoam can be used without a porosity by simply defining none in the porousZones file. 2. Getting compressible OpenFOAMSolvers to run can be very hard from of my experience. 3. You can simply do a restart on the latest timefolder of your laminar case to restart wih turbulence turned on. 
Hi Bastil,
thx for your reply. I solved the problem first laminar and then turned on turbulence (like you said). Now it works. I have now a convergent case and the results looks not so bad. Thank you for your advice. :D:) I will do some further simulation and some measurments in the lab. Then I will find out how well the simulation works. kind regards Florian 
Hi Florian,
i'm very interested in what you did. What kind of mesh do you have? Would be nice to keep us uptodate. Regards, Toni 
Hi Toni,
I use a hybrid mesh (from Gambit). I convert the mesh into OpenFOAM (fluentMeshtoFoam). At the moment it is a hex mesh + tetmesh. But I will give it a shot with a polydualmesh. At the moment I'm looking for proper boundary conditions for my simulation. I keep you updated. kind regards, Florian 
Hi Toni,
hi all, at the moment I solve some cases with compressible and turbulent flow regime in the turbocharger. For this cases I have done some measurements in the lab for validation. I measured:  the velocity at the inlet of the turbocharger  the RPM of the rotor  the shaftpower of the rotor for different RPM (3500 rad/s, 6000 rad/s, 9000 rad/s ...) For the validation I set the inlet velocity with the corresponding RPM of the rotor. Then I simulate the shaftpower of the rotor and compare it with the measured power. Until now, the simulated shaftpower is significant lower than the measured power. But I have to include the efficency of the gear, the engine, the batteries... for the calculations. Pherhaps the results will be better.:rolleyes: Regards, Florian 
hi florian,
I am trying to run turbocharger compressor flow in openfoam. Can I use the rhoporousMRFSimpleFoam solver for that. Can you please tell me how to separate the rotating faces from the nonrotating one. Please help me in this regards. Thanks Jyothish 
hi florian,
I am trying to run turbocharger compressor flow in openfoam. Can I use the rhoporousMRFSimpleFoam solver for that. Can you please tell me how to separate the rotating faces from the nonrotating one. Please help me in this regards. Thanks Jyothish 
Hi Bastil,
I tried to set nothing in the porous zone file but i got some error. Can you pls tell me clearly how to set none in the porous zone file. thanks Jyothish 
Hi Florian,
I'm interested in your simulation and experience result, too :) Quote:
I'm solving some similar case. I'm using the OF 2.1.0, rhoPorousMRFSimpleFoam, which I adapted for viscous fluid. In my case pressure inletpatch outletpatch both fixedValue. Convergence  OK, the pressure field  OK, velocity  OK, but I'm not happy with the outlet temperature. There is no or very very low difference between inlet and outlet value. The theory said something different. What is curious, in OF 1.6ext it works much better. Thanks. Michal 
Hi,
Quote:
Quote:

Helo,
If you are interested in compressible turbomachinery you probably want to take a look into the DensityBasedTurbo solvers. They are not that fast, but you can get very nice results. Search in google for it. edit: if you add Oliver Borm to the search it might me better, it is the guy that wrote the solvers. Antonio 
Hi Antonio,
Thanks for your reply. I have found that and I am trying to run the cases. I have a query regarding that if you know please tell me. I am trying to run the steady axial rotor (with MRF) case (Axial_Rotor_MRF). It is perfectly running with lower rpm speed but when I increase the angular velocity to 2052 rad/s the solution looks diverging. Whether I need to change the riemann solver type or any limiters. Since I want to use this solver for running centrifugal compressor that are running at higher rpm (around 64000). I have pasted here the console output for your review.  Time = 60 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 diagonal: Solving for rhoUx, Initial residual = 0, Final residual = 0, No Iterations 0 diagonal: Solving for rhoUy, Initial residual = 0, Final residual = 0, No Iterations 0 diagonal: Solving for rhoUz, Initial residual = 0, Final residual = 0, No Iterations 0 diagonal: Solving for rhoE, Initial residual = 0, Final residual = 0, No Iterations 0 bounding rho, min: 1076.52 max: 2301.67 average: 1.18138 bounding rhoE, min: 6.83179e+08 max: 2.33017e+09 average: 286682 bounding U max: 6.39418e+06 bounding h, min: 699031 max: 1.63238e+07 average: 271602 From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ rho L2 Residual: 7.01546 rho LInf Residual: 8.87769 DILUPBiCG: Solving for omega, Initial residual = 0.111113, Final residual = 1.22561e18, No Iterations 1 bounding omega, min: 1.1257e+11 max: 7.10386e+19 average: 6.87155e+14 DILUPBiCG: Solving for k, Initial residual = 0.00266094, Final residual = 2.68733e12, No Iterations 1 bounding k, min: 177.234 max: 124.437 average: 5.4126 ExecutionTime = 51.03 s MassFlows: inlet_0 = 12.5882 MassFlows: outlet_0 = 9.82064 Averages of p : outlet_0 = 90000 inlet_0 = 83291.3 Averages of rho : outlet_0 = 1.07251 inlet_0 = 1.04512 Averages of T : outlet_0 = 291.689 inlet_0 = 277.008 Averages of U : outlet_0 = (0.908873 49.7794 141.731) inlet_0 = (0 0 179.234) Thanks Jyothish 
Hi Antonio,
Thanks for your reply. I have found that and I am trying to run the cases. I have a query regarding that if you know please tell me. I am trying to run the steady axial rotor (with MRF) case (Axial_Rotor_MRF). It is perfectly running with lower rpm speed but when I increase the angular velocity to 2052 rad/s the solution looks diverging. Whether I need to change the riemann solver type or any limiters. Since I want to use this solver for running centrifugal compressor that are running at higher rpm (around 64000). I have pasted here the console output for your review.  Time = 60 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 diagonal: Solving for rhoUx, Initial residual = 0, Final residual = 0, No Iterations 0 diagonal: Solving for rhoUy, Initial residual = 0, Final residual = 0, No Iterations 0 diagonal: Solving for rhoUz, Initial residual = 0, Final residual = 0, No Iterations 0 diagonal: Solving for rhoE, Initial residual = 0, Final residual = 0, No Iterations 0 bounding rho, min: 1076.52 max: 2301.67 average: 1.18138 bounding rhoE, min: 6.83179e+08 max: 2.33017e+09 average: 286682 bounding U max: 6.39418e+06 bounding h, min: 699031 max: 1.63238e+07 average: 271602 From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const in file /scratch/jyothish/OpenFOAM/OpenFOAM1.6ext/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 73 Maximum number of iterations exceeded. Rescue by HJ rho L2 Residual: 7.01546 rho LInf Residual: 8.87769 DILUPBiCG: Solving for omega, Initial residual = 0.111113, Final residual = 1.22561e18, No Iterations 1 bounding omega, min: 1.1257e+11 max: 7.10386e+19 average: 6.87155e+14 DILUPBiCG: Solving for k, Initial residual = 0.00266094, Final residual = 2.68733e12, No Iterations 1 bounding k, min: 177.234 max: 124.437 average: 5.4126 ExecutionTime = 51.03 s MassFlows: inlet_0 = 12.5882 MassFlows: outlet_0 = 9.82064 Averages of p : outlet_0 = 90000 inlet_0 = 83291.3 Averages of rho : outlet_0 = 1.07251 inlet_0 = 1.04512 Averages of T : outlet_0 = 291.689 inlet_0 = 277.008 Averages of U : outlet_0 = (0.908873 49.7794 141.731) inlet_0 = (0 0 179.234) Thanks Jyothish 
Hi jyothishkumar,
I have runned with RPM up to 100000 and it has no problem. About that error you are getting, it is a problem regarding thermodynamic settings, namely your temperatures are getting either too high or too low and they get out of the thermodynamic tables. You might want to change the models to Sutherlands theory, it usualy helps. Try also to start the computation by switching off second order accuracy in the rieman solver settings. Allthough it is not complety related in OpenFOAM it usualy helps starting with simpler settings and then elaborate. edit: you can confirm the temperatures just by running paraview and see the maximum of field T. And of course, If you change omega(velocity) in the BC, don't forget to change it too in MRFdict Good luck Antonio 
Hi Antonio,
I have tried as you mentioned in your reply. Please look at these  i. Changing the second order accuracy of riemann solver (in fvsolution file in system folder) like this Riemann { secondOrder no; // activate 2nd order extensions multidimLimiter yes; // Switch between 1D and mutliD limiters epsilon 5; // VK constant limiterName vanAlbadaSlope; // vanAlbadaSlope, MinmodSlope, vanLeerSlope } ii. Including Sutherlands theory in the thermophysicalproperties file like this thermoType hPsiThermo<pureMixture<sutherlandTransport<specieT hermo<hConstThermo<perfectGas>>>>>; iii. I dont find file like MRFdict as you mentioned in your reply but only MRFzones in the constant folder. Angular velocities are also changed in the mrfzones file as well as in the U velocity file in the zero folder In the MRFzones file it looks like this cellRegion0 { // Fixed patches (by default they 'move' with the MRF zone) nonRotatingPatches (inlet_0 outlet_0 passageSidesUpper_0 passageSidesLower_0); origin origin [0 1 0 0 0 0 0] (0 0 0); axis axis [0 0 0 0 0 0 0] (0 0 1); omega omega [0 0 1 0 0 0 0] 1852.387; } In the U velocity file it looks like this I have just put the top portion only here dimensions [0 1 1 0 0 0 0]; internalField uniform (0 50.0 170.0); boundaryField { inlet_0 { type temperatureDirectedInletVelocity; inletDirection uniform (0 0 1); // Direction of absolute velocity in cartesian coordinates phi phi; // just needed in compressible case to check dimensions T T; // name of the static temperature field T0 uniform 293.0; // value of the total temperature cylindricalCS no; // specifies if inletDirection is in cartesian or cylindrical coordinates omega (0 0 1852.387); // angular velocity value uniform (0 0 210); // Initial Value }  But still I am getting the same results (higher value of U,temperature density etc) Infact i tried to run only laminar also but still the same result If you have any other suggestions please tell me. thanks Jyothish 
You seem to have everything fine. As you have set bigger RPM, you could just put zero gradient in pressure at outlet and define a total pressure at inlet. The energy you are providing with the blade might not be consistent with the restriction you are imposing with 90000 Pa at outlet. Of course, it should not be a problem because you are not fixing the mass flow but the initial field might just be bad.
Try this and tell something antonio 
Hi Antonio,
I tried with total pressure inlet and zero gradient pressure at the outlet, Please see the following set up for pressure (p file)  inlet_0 { type totalPressure; p0 uniform 101325.0; value uniform 101325.0; U U; phi phi; rho rho; // psi psi; gamma 1.4; } outlet_0 { type zeroGradient; } for velocity (u file) (pls note the omega specification, is that right)  internalField uniform (0 50.0 170.0); boundaryField { inlet_0 { type temperatureDirectedInletVelocity; inletDirection uniform (0 0 1); // Direction of absolute velocity in cartesian coordinates phi phi; // just needed in compressible case to check dimensions T T; // name of the static temperature field T0 uniform 293.0; // value of the total temperature cylindricalCS no; // specifies if inletDirection is in cartesian or cylindrical coordinates omega (0 0 1852.387); // angular velocity value uniform (0 0 210); // Initial Value } for temperature (T file)  internalField uniform 300; boundaryField { inlet_0 { type totalTemperature; T0 uniform 293.0; // absolute total temperature field p0 uniform 101325; // absolute total presure field value uniform 293; // initial value gamma 1.4; } still the solution is having some problem, pls see the following output (just a snapshot from console) ExecutionTime = 181.95 s MassFlows: inlet_0 = 16.9287 MassFlows: outlet_0 = 10.0063 Averages of p : outlet_0 = 90635.8 inlet_0 = 56156.4 Averages of rho : outlet_0 = 1.08008 inlet_0 = 0.829196 Averages of T : outlet_0 = 290.956 inlet_0 = 232.152 Averages of U : outlet_0 = (9.48653 42.1902 145.792) inlet_0 = (4.47643 24.0704 337.283) Time = 482 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 diagonal: Solving for rhoUx, Initial residual = 0, Final residual = 0, No Iterations 0 diagonal: Solving for rhoUy, Initial residual = 0, Final residual = 0, No Iterations 0 diagonal: Solving for rhoUz, Initial residual = 0, Final residual = 0, No Iterations 0 diagonal: Solving for rhoE, Initial residual = 0, Final residual = 0, No Iterations 0 bounding p, min: 14733 max: 371723 average: 108935 rho L2 Residual: 4.09618 rho LInf Residual: 5.62148 ExecutionTime = 182.31 s MassFlows: inlet_0 = 18.1418 MassFlows: outlet_0 = 10.0078 Averages of p : outlet_0 = 90631.1 inlet_0 = 54757 Averages of rho : outlet_0 = 1.08002 inlet_0 = 0.80024 Averages of T : outlet_0 = 290.952 inlet_0 = 232.905 Averages of U : outlet_0 = (9.50389 42.108 145.837) inlet_0 = (4.47643 24.0704 333.899) Time = 483 mag(pStarRightpStarLeft) > SMALL mag(pStarRightpStarLeft) > SMALL mag(pStarRightpStarLeft) > SMALL mag(pStarRightpStarLeft) > SMALL mag(pStarRightpStarLeft) > SMALL diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 diagonal: Solving for rhoUx, Initial residual = 0, Final residual = 0, No Iterations 0 diagonal: Solving for rhoUy, Initial residual = 0, Final residual = 0, No Iterations 0 diagonal: Solving for rhoUz, Initial residual = 0, Final residual = 0, No Iterations 0 diagonal: Solving for rhoE, Initial residual = 0, Final residual = 0, No Iterations 0 bounding rho, min: 0.236508 max: 3.48568 average: 1.2381 bounding rhoE, min: 62241.5 max: 940662 average: 286822 bounding p, min: 14688.1 max: 372595 average: 108963 rho L2 Residual: 4.10788 rho LInf Residual: 5.85927 ExecutionTime = 182.69 s MassFlows: inlet_0 = 17.0218 MassFlows: outlet_0 = 10.0093 Averages of p : outlet_0 = 90626.7 inlet_0 = 56280.1 Averages of rho : outlet_0 = 1.07995 inlet_0 = 0.828314 Averages of T : outlet_0 = 290.949 inlet_0 = 232.665 Averages of U : outlet_0 = (9.52081 42.0248 145.883) inlet_0 = (4.47643 24.0704 335.24) May I ask you to share any of your old case setup files for the turbomachinery (higher rpm) (0 folder, constant and system folder) that may be really helpful for me. Thanks Jyothish 
Hi,
I can't give you my meshes as they belong to a company. I just notice you have some errors. your velocity file is wrong. The omega there is zero ( 0 0 0 ) ( look at the test case) you are mixing that boundary with the boundary of the SRF test case. You should just return to basics and just change the omega in MRFZones to the value you want. ( Why do you have static pressure the same as total pressure? now it doesnt matter, just run standard boundaries) Antonio 
All times are GMT 4. The time now is 12:23. 