CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM

compressible flow in turbocharger

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree2Likes

Reply
 
LinkBack Thread Tools Display Modes
Old   January 28, 2012, 13:49
Default compressible flow in turbocharger
  #1
New Member
 
Florian
Join Date: Jan 2011
Location: Mannheim, Germany
Posts: 24
Rep Power: 6
riesotto is on a distinguished road
Hi,

For my Masterthesis I want to simulate the flow in a turbocharger. The Mach-Number 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

kind regards
Florian
riesotto is offline   Reply With Quote

Old   January 29, 2012, 05:26
Default
  #2
New Member
 
Florian
Join Date: Jan 2011
Location: Mannheim, Germany
Posts: 24
Rep Power: 6
riesotto is on a distinguished road
Hi all,

now I have some results, but with rhoPorousMRFLTPimpleFoam and only laminar. With kEpsilon-Modell 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
riesotto is offline   Reply With Quote

Old   January 30, 2012, 04:09
Default
  #3
Senior Member
 
BastiL
Join Date: Mar 2009
Posts: 471
Rep Power: 11
bastil is on a distinguished road
Florian,

some hints:
1. rhoPorousMRFSimpleFoam can be used without a porosity by simply defining none in the porousZones file.
2. Getting compressible OpenFOAM-Solvers to run can be very hard from of my experience.
3. You can simply do a restart on the latest time-folder of your laminar case to restart wih turbulence turned on.
bastil is offline   Reply With Quote

Old   January 30, 2012, 07:25
Default
  #4
New Member
 
Florian
Join Date: Jan 2011
Location: Mannheim, Germany
Posts: 24
Rep Power: 6
riesotto is on a distinguished road
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.
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
riesotto is offline   Reply With Quote

Old   January 30, 2012, 08:02
Default
  #5
Member
 
Join Date: Nov 2009
Location: Germany
Posts: 96
Rep Power: 7
val46 is on a distinguished road
Hi Florian,

i'm very interested in what you did.
What kind of mesh do you have?

Would be nice to keep us up-to-date.


Regards,
Toni
__________________
"When I meet God, I am going to ask him two questions: Why relativity? And why turbulence? I really believe he will have an answer for the first." Werner Heisenberg
val46 is offline   Reply With Quote

Old   January 30, 2012, 08:21
Default
  #6
New Member
 
Florian
Join Date: Jan 2011
Location: Mannheim, Germany
Posts: 24
Rep Power: 6
riesotto is on a distinguished road
Hi Toni,

I use a hybrid mesh (from Gambit). I convert the mesh into OpenFOAM (fluentMeshtoFoam). At the moment it is a hex mesh + tet-mesh. 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
riesotto is offline   Reply With Quote

Old   February 13, 2012, 13:37
Default
  #7
New Member
 
Florian
Join Date: Jan 2011
Location: Mannheim, Germany
Posts: 24
Rep Power: 6
riesotto is on a distinguished road
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 shaft-power 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 shaft-power 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.

Regards,
Florian
riesotto is offline   Reply With Quote

Old   May 2, 2012, 07:22
Default
  #8
Member
 
jk
Join Date: Jun 2009
Posts: 64
Rep Power: 8
jyothishkumar is on a distinguished road
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
jyothishkumar is offline   Reply With Quote

Old   May 2, 2012, 07:23
Default
  #9
Member
 
jk
Join Date: Jun 2009
Posts: 64
Rep Power: 8
jyothishkumar is on a distinguished road
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
jyothishkumar is offline   Reply With Quote

Old   June 22, 2012, 09:53
Default
  #10
Member
 
jk
Join Date: Jun 2009
Posts: 64
Rep Power: 8
jyothishkumar is on a distinguished road
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
jyothishkumar is offline   Reply With Quote

Old   June 23, 2012, 02:31
Default
  #11
New Member
 
Michal
Join Date: Apr 2012
Location: Czech Republic
Posts: 27
Rep Power: 5
majkl is on a distinguished road
Hi Florian,

I'm interested in your simulation and experience result, too

Quote:
Originally Posted by riesotto View Post
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 shaft-power of the rotor for different RPM (3500 rad/s, 6000 rad/s, 9000 rad/s ...)
Well, is it possible, you measure the outlet temperature and compare with the simulation results? Are you OK with the temperature field, temperature difference from the OpenFOAM simulation?

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 inlet-patch outlet-patch 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.6-ext it works much better.

Thanks.

Michal
majkl is offline   Reply With Quote

Old   June 23, 2012, 02:34
Default
  #12
New Member
 
Michal
Join Date: Apr 2012
Location: Czech Republic
Posts: 27
Rep Power: 5
majkl is on a distinguished road
Hi,

Quote:
Originally Posted by jyothishkumar View Post
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
it is simple. In constant/porousZones put zero:

Quote:
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "";
object porousZones;
}
/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/

0
(
)
Michal
majkl is offline   Reply With Quote

Old   June 27, 2012, 13:40
Default
  #13
New Member
 
Join Date: Oct 2011
Posts: 27
Rep Power: 5
antoniofct is on a distinguished road
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
antoniofct is offline   Reply With Quote

Old   July 4, 2012, 06:29
Default
  #14
Member
 
jk
Join Date: Jun 2009
Posts: 64
Rep Power: 8
jyothishkumar is on a distinguished road
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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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.22561e-18, 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.68733e-12, 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
jyothishkumar is offline   Reply With Quote

Old   July 4, 2012, 06:30
Default
  #15
Member
 
jk
Join Date: Jun 2009
Posts: 64
Rep Power: 8
jyothishkumar is on a distinguished road
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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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/OpenFOAM-1.6-ext/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.22561e-18, 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.68733e-12, 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
jyothishkumar is offline   Reply With Quote

Old   July 4, 2012, 13:26
Default
  #16
New Member
 
Join Date: Oct 2011
Posts: 27
Rep Power: 5
antoniofct is on a distinguished road
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
antoniofct is offline   Reply With Quote

Old   July 5, 2012, 12:45
Default
  #17
Member
 
jk
Join Date: Jun 2009
Posts: 64
Rep Power: 8
jyothishkumar is on a distinguished road
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
jyothishkumar is offline   Reply With Quote

Old   July 6, 2012, 10:04
Default
  #18
New Member
 
Join Date: Oct 2011
Posts: 27
Rep Power: 5
antoniofct is on a distinguished road
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
antoniofct is offline   Reply With Quote

Old   July 11, 2012, 10:41
Default
  #19
Member
 
jk
Join Date: Jun 2009
Posts: 64
Rep Power: 8
jyothishkumar is on a distinguished road
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(pStarRight-pStarLeft) > SMALL
mag(pStarRight-pStarLeft) > SMALL
mag(pStarRight-pStarLeft) > SMALL
mag(pStarRight-pStarLeft) > SMALL
mag(pStarRight-pStarLeft) > 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
jyothishkumar is offline   Reply With Quote

Old   July 12, 2012, 03:47
Default
  #20
New Member
 
Join Date: Oct 2011
Posts: 27
Rep Power: 5
antoniofct is on a distinguished road
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
antoniofct is offline   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Natural Convection using Compressible Flow (chtMultiRegionFOAM) msarkar OpenFOAM 2 September 7, 2010 00:13
Compressible flow, no data at the outlet mireis FLUENT 1 July 28, 2010 05:22
help with compressible flow BC's (need subsonic flow) meangreen Main CFD Forum 5 July 24, 2010 13:16
Compressible Fluid Flow in COMSOL Multiphysics BBG Main CFD Forum 1 November 19, 2008 15:05
Solving unsteady compressible low speed flow atit Main CFD Forum 8 July 31, 2000 13:19


All times are GMT -4. The time now is 06:22.