CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (http://www.cfd-online.com/Forums/openfoam-solving/)
-   -   transsonic nozzle with rhoSimpleFoam (http://www.cfd-online.com/Forums/openfoam-solving/79447-transsonic-nozzle-rhosimplefoam.html)

 Unseen August 24, 2010 08:50

transsonic nozzle with rhoSimpleFoam

Hi, I am trying to simulate a transsonic nozzle (like a laval nozzle with a convergent and a divergent part) using the rhoSimpleFoam solver. The case is set up to use the SST turbulence modell.

Boundary conditions are as follows:

At the inlet I specify T_0 and p_0, and at the outlet I set a static pressure and temperature to zeroGradient. Now the pressure ratio p_static/p_0 determines how the flow through the nozzle will look like: completely subsonic, transsonic or completely supersonic in the divergent part.
This setup works fine for CFX and sonicFoam, but for comparitive reasons I want to simulate this with rhoSimpleFoam too. Actually I even think it would make more sense using rhoSimpleFoam instead of sonicFoam since I want to find a steady solution. But I can't get it to work.

Here is the output from rhoSimpleFoam:
Quote:
 Starting time loop Time = 1 DILUPBiCG: Solving for Ux, Initial residual = 1, Final residual = 7.50557e-08, No Iterations 6 DILUPBiCG: Solving for Uy, Initial residual = 1, Final residual = 2.77255e-07, No Iterations 5 DILUPBiCG: Solving for h, Initial residual = 0.482888, Final residual = 5.27538e-08, No Iterations 3 DICPCG: Solving for p, Initial residual = 1, Final residual = 9.90481e-07, No Iterations 412 DICPCG: Solving for p, Initial residual = 0.00200474, Final residual = 9.53918e-07, No Iterations 301 DICPCG: Solving for p, Initial residual = 0.000147977, Final residual = 9.80301e-07, No Iterations 335 DICPCG: Solving for p, Initial residual = 7.0753e-05, Final residual = 9.78237e-07, No Iterations 183 DICPCG: Solving for p, Initial residual = 1.43311e-05, Final residual = 9.54748e-07, No Iterations 300 DICPCG: Solving for p, Initial residual = 6.37506e-06, Final residual = 9.87798e-07, No Iterations 37 time step continuity errors : sum local = 0.378442, global = -0.00107449, cumulative = -0.00107449 rho max/min : 1.15862 0.616445 smoothSolver: Solving for omega, Initial residual = 0.466632, Final residual = 9.60914e-05, No Iterations 10 bounding omega, min: -4.70953e+07 max: 5.36335e+08 average: 2.42753e+06 DILUPBiCG: Solving for k, Initial residual = 1, Final residual = 1.09971e-07, No Iterations 4 bounding k, min: 0 max: 2045.21 average: 174.164 ExecutionTime = 3.98 s ClockTime = 4 s Time = 2 DILUPBiCG: Solving for Ux, Initial residual = 0.19459, Final residual = 2.09254e-07, No Iterations 4 DILUPBiCG: Solving for Uy, Initial residual = 0.0855989, Final residual = 1.10864e-08, No Iterations 5 DILUPBiCG: Solving for h, Initial residual = 1, Final residual = 8.97303e-07, No Iterations 3 DICPCG: Solving for p, Initial residual = 0.957095, Final residual = 9.74092e-07, No Iterations 517 DICPCG: Solving for p, Initial residual = 0.0135551, Final residual = 9.30689e-07, No Iterations 442 DICPCG: Solving for p, Initial residual = 0.00064559, Final residual = 9.22921e-07, No Iterations 410 DICPCG: Solving for p, Initial residual = 0.000819135, Final residual = 9.92676e-07, No Iterations 246 DICPCG: Solving for p, Initial residual = 0.00010276, Final residual = 9.41144e-07, No Iterations 285 DICPCG: Solving for p, Initial residual = 0.000100948, Final residual = 9.60549e-07, No Iterations 206 time step continuity errors : sum local = 0.396817, global = -0.0229595, cumulative = -0.024034 rho max/min : 1.15876 1e-06 smoothSolver: Solving for omega, Initial residual = 0.00310563, Final residual = 2.19338e-07, No Iterations 10 bounding omega, min: -6.69351e+11 max: 8.60937e+13 average: 8.01497e+11 DILUPBiCG: Solving for k, Initial residual = 0.179666, Final residual = 2.05165e-08, No Iterations 5 bounding k, min: 0 max: 3073.3 average: 168.747 ExecutionTime = 8.13 s ClockTime = 8 s Time = 3 DILUPBiCG: Solving for Ux, Initial residual = 0.152395, Final residual = 4.46597e-07, No Iterations 4 DILUPBiCG: Solving for Uy, Initial residual = 0.0544148, Final residual = 1.16204e-07, No Iterations 4 DILUPBiCG: Solving for h, Initial residual = 0.56658, Final residual = 2.33144e-07, No Iterations 3 DICPCG: Solving for p, Initial residual = 0.251858, Final residual = 7.38651e-07, No Iterations 384 DICPCG: Solving for p, Initial residual = 4.20666e-05, Final residual = 9.08749e-07, No Iterations 28 DICPCG: Solving for p, Initial residual = 7.88155e-06, Final residual = 6.59651e-07, No Iterations 21 DICPCG: Solving for p, Initial residual = 2.55826e-06, Final residual = 9.73543e-07, No Iterations 3 DICPCG: Solving for p, Initial residual = 1.23148e-06, Final residual = 7.47417e-07, No Iterations 1 DICPCG: Solving for p, Initial residual = 7.42068e-07, Final residual = 7.42068e-07, No Iterations 0 time step continuity errors : sum local = 1.55563, global = 0.0208779, cumulative = -0.00315611 rho max/min : 2 1e-06 smoothSolver: Solving for omega, Initial residual = 0.585117, Final residual = 3.521e-09, No Iterations 5 DILUPBiCG: Solving for k, Initial residual = 0.25674, Final residual = 9.63173e-07, No Iterations 1 bounding k, min: -0.0701715 max: 4987.9 average: 162.727 ExecutionTime = 9.32 s ClockTime = 10 s Time = 4 DILUPBiCG: Solving for Ux, Initial residual = 0.997795, Final residual = 1.64032e-07, No Iterations 6 DILUPBiCG: Solving for Uy, Initial residual = 0.998882, Final residual = 7.32716e-07, No Iterations 5 DILUPBiCG: Solving for h, Initial residual = 0.0744124, Final residual = 4.70478e-07, No Iterations 3 DICPCG: Solving for p, Initial residual = 0.759872, Final residual = 9.57541e-07, No Iterations 284 DICPCG: Solving for p, Initial residual = 0.000123465, Final residual = 9.82243e-07, No Iterations 57 DICPCG: Solving for p, Initial residual = 8.70489e-06, Final residual = 9.71241e-07, No Iterations 4 DICPCG: Solving for p, Initial residual = 1.76624e-06, Final residual = 5.50452e-07, No Iterations 1 DICPCG: Solving for p, Initial residual = 7.16095e-07, Final residual = 7.16095e-07, No Iterations 0 DICPCG: Solving for p, Initial residual = 7.16095e-07, Final residual = 7.16095e-07, No Iterations 0 time step continuity errors : sum local = 404.096, global = -19.2919, cumulative = -19.2951 rho max/min : 2 1e-06 smoothSolver: Solving for omega, Initial residual = 0.788337, Final residual = 1.3774e-06, No Iterations 10 bounding omega, min: -2.96432e+14 max: 3.00319e+16 average: 3.21144e+12 DILUPBiCG: Solving for k, Initial residual = 0.968773, Final residual = 2.01015e-09, No Iterations 1 bounding k, min: -756.427 max: 35883.4 average: 195.582 ExecutionTime = 10.39 s ClockTime = 11 s Time = 5 DILUPBiCG: Solving for Ux, Initial residual = 0.310195, Final residual = 1.73164e-07, No Iterations 4 DILUPBiCG: Solving for Uy, Initial residual = 0.126598, Final residual = 5.89545e-07, No Iterations 2 DILUPBiCG: Solving for h, Initial residual = 0.680939, Final residual = 3.04399e-07, No Iterations 2 DICPCG: Solving for p, Initial residual = 0.998137, Final residual = 9.43214e-07, No Iterations 487 DICPCG: Solving for p, Initial residual = 4.64363e-05, Final residual = 9.30679e-07, No Iterations 4 DICPCG: Solving for p, Initial residual = 6.05651e-06, Final residual = 9.73192e-07, No Iterations 1 DICPCG: Solving for p, Initial residual = 2.56727e-06, Final residual = 6.63206e-07, No Iterations 1 DICPCG: Solving for p, Initial residual = 1.3765e-06, Final residual = 4.99567e-07, No Iterations 1 DICPCG: Solving for p, Initial residual = 7.74991e-07, Final residual = 7.74991e-07, No Iterations 0 time step continuity errors : sum local = 897588, global = -74572.2, cumulative = -74591.5 rho max/min : 2 1e-06 smoothSolver: Solving for omega, Initial residual = 0.533712, Final residual = 0.000103851, No Iterations 5 bounding omega, min: -1.622e+16 max: 1.41955e+17 average: 3.58821e+13 DILUPBiCG: Solving for k, Initial residual = 0.661468, Final residual = 2.9169e-07, No Iterations 1 bounding k, min: -153.288 max: 42609.5 average: 318.405 ExecutionTime = 11.58 s ClockTime = 12 s Time = 6 DILUPBiCG: Solving for Ux, Initial residual = 0.213536, Final residual = 9.55407e-07, No Iterations 3 DILUPBiCG: Solving for Uy, Initial residual = 0.126084, Final residual = 4.68714e-07, No Iterations 3 DILUPBiCG: Solving for h, Initial residual = 0.221702, Final residual = 4.57775e-08, No Iterations 3 DICPCG: Solving for p, Initial residual = 0.962782, Final residual = 8.92019e-07, No Iterations 530 DICPCG: Solving for p, Initial residual = 0.00113766, Final residual = 9.72405e-07, No Iterations 21 DICPCG: Solving for p, Initial residual = 0.000189473, Final residual = 8.29085e-07, No Iterations 8 DICPCG: Solving for p, Initial residual = 6.06308e-05, Final residual = 9.18088e-07, No Iterations 7 DICPCG: Solving for p, Initial residual = 1.00251e-05, Final residual = 9.88796e-07, No Iterations 2 DICPCG: Solving for p, Initial residual = 3.73146e-06, Final residual = 9.7275e-07, No Iterations 2 time step continuity errors : sum local = 2.79573e+07, global = 10554.4, cumulative = -64037 rho max/min : 2 1e-06 smoothSolver: Solving for omega, Initial residual = 0.999496, Final residual = 1.11391e-10, No Iterations 5 bounding omega, min: -4.95025e+17 max: 1.19663e+24 average: 4.05024e+19 DILUPBiCG: Solving for k, Initial residual = 0.604858, Final residual = 7.6708e-12, No Iterations 1 bounding k, min: -1213.68 max: 52183.5 average: 196.438 ExecutionTime = 12.96 s ClockTime = 13 s Time = 7 DILUPBiCG: Solving for Ux, Initial residual = 0.143333, Final residual = 1.78302e-08, No Iterations 5 DILUPBiCG: Solving for Uy, Initial residual = 0.367181, Final residual = 8.26728e-08, No Iterations 5 DILUPBiCG: Solving for h, Initial residual = 0.345348, Final residual = 3.69898e-08, No Iterations 3 DICPCG: Solving for p, Initial residual = 0.7791, Final residual = 9.83852e-07, No Iterations 585 DICPCG: Solving for p, Initial residual = 0.00667543, Final residual = 9.142e-07, No Iterations 550 DICPCG: Solving for p, Initial residual = 0.00206138, Final residual = 8.97629e-07, No Iterations 531 DICPCG: Solving for p, Initial residual = 0.000466277, Final residual = 9.62494e-07, No Iterations 283 DICPCG: Solving for p, Initial residual = 0.000308349, Final residual = 9.64406e-07, No Iterations 197 DICPCG: Solving for p, Initial residual = 0.000185042, Final residual = 9.61781e-07, No Iterations 195 time step continuity errors : sum local = 9.87003e+07, global = -4.30657e+06, cumulative = -4.37061e+06 rho max/min : 2 1e-06 smoothSolver: Solving for omega, Initial residual = 0.538495, Final residual = 9.77628e-11, No Iterations 5 bounding omega, min: -2.19937e+22 max: 3.5899e+23 average: 1.57063e+19 DILUPBiCG: Solving for k, Initial residual = 0.229398, Final residual = 1.61737e-07, No Iterations 2 bounding k, min: -191.332 max: 48987.5 average: 164.447 ExecutionTime = 17.4 s ClockTime = 18 s Time = 8 DILUPBiCG: Solving for Ux, Initial residual = 0.182003, Final residual = 3.63321e-07, No Iterations 4 DILUPBiCG: Solving for Uy, Initial residual = 0.259147, Final residual = 3.8712e-08, No Iterations 5 DILUPBiCG: Solving for h, Initial residual = 0.98536, Final residual = 3.79371e-07, No Iterations 3 --> FOAM FATAL ERROR: Maximum number of iterations exceeded From function specieThermo::T(scalar f, scalar T0, scalar (specieThermo::*F)(const scalar) const, scalar (specieThermo::*dFdT)(const scalar) const) const in file /home/unseen/OpenFOAM/OpenFOAM-1.7.x/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 61. FOAM aborting #0 Foam::error::printStack(Foam::Ostream&) in "/home/unseen/OpenFOAM/OpenFOAM-1.7.x/lib/linux64IccDPOpt/libOpenFOAM.so" #1 Foam::error::abort() in "/home/unseen/OpenFOAM/OpenFOAM-1.7.x/lib/linux64IccDPOpt/libOpenFOAM.so" #2 Foam::hPsiThermo > > > >::calculate() in "/home/unseen/OpenFOAM/OpenFOAM-1.7.x/lib/linux64IccDPOpt/libbasicThermophysicalModels.so" #3 Foam::hPsiThermo > > > >::correct() in "/home/unseen/OpenFOAM/OpenFOAM-1.7.x/lib/linux64IccDPOpt/libbasicThermophysicalModels.so" #4 in "/home/unseen/OpenFOAM/OpenFOAM-1.7.x/applications/bin/linux64IccDPOpt/rhoSimpleFoam" #5 __libc_start_main in "/lib/libc.so.6" #6 in "/home/unseen/OpenFOAM/OpenFOAM-1.7.x/applications/bin/linux64IccDPOpt/rhoSimpleFoam" Aborted
There are several things which are going wrong here:

1.) bounding omega, min: -4.70953e+07 max: 5.36335e+08 average: 2.42753e+06

omega is not supposed to become negative at any time!

2.) bounding k, min: -0.0701715 max: 4987.9 average: 162.727

same for k, it is not allowed to become negative!

3.) huge continuity errors

4.) when I look at the produced results during these few timesteps the pressure gets massive negative values (-1e1 0Pa region).

So obviuosly I am doing something wrong. I just can't figure out what it is ...

I haven't changed anything from the setup except adding the SIMPLE dictionary to the fvSolution and changing e to h when going from sonicFoam to rhoSimpleFoam.

Any help would be greatly appreciated, thank you :)

 kiran August 24, 2010 12:06

hi Basti

there is a problem in setting the initial guess values or may be with boundary conditions or even it may be with grading part of the mesh at the inlet.

so explain these things in detail or share your files. so that you may get some help for solving your problem.

you said this setup had worked with sonicFoam solver (did you compare the results). will you tell me which version of OpenFOAM you are using.

 Unseen August 24, 2010 15:29

Hello,

sry I forgot some info, you are right I should post some more :)

So, I am using OF 1.7.x updated today.

Here are boundary and initial settings:

Its a 2D mesh. It represents half of the problem since it is a symmetric problem.

p:
Quote:
 dimensions [1 -1 -2 0 0 0 0]; internalField uniform 1.0e5; boundaryField { in { type totalPressure; gamma 1.4; p0 uniform 1.0e5; } out { type fixedValue; value uniform 0.55e5; } topwall { type zeroGradient; } left { type empty; } symmaxis { type symmetryPlane; } right { type empty; } }
U:
Quote:
 dimensions [0 1 -1 0 0 0 0]; internalField uniform ( 0 0 0 ); boundaryField { in { type zeroGradient; } out { type zeroGradient; } topwall { type fixedValue; value uniform (0 0 0); } left { type empty; } symmaxis { type symmetryPlane } right { type empty; } }
T:
Quote:
 dimensions [0 0 0 1 0 0 0]; internalField uniform 300; boundaryField { in { type totalTemperature; U U; phi phi; rho none; psi psi; gamma 1.4; T0 uniform 300; } out { type zeroGradient; } topwall { type zeroGradient; } left { type empty; } symmaxis { type symmetryPlane; } right { type empty; } }
omega:
Quote:
 dimensions [0 0 -1 0 0 0 0]; internalField uniform 1e6; boundaryField { in { type zeroGradient; } out { type zeroGradient; } topwall { type compressible::omegaWallFunction; Cmu 0.09; kappa 0.41; E 9.8; beta1 0.075; value uniform 1e6; } left { type empty; } symmaxis { type symmetryPlane; } right { type empty; } }
k:
Quote:
 dimensions [0 2 -2 0 0 0 0]; internalField uniform 250; boundaryField { in { type fixedValue; value uniform 0; } out { type inletOutlet; inletValue uniform 0; value uniform 0; } topwall { type compressible::kqRWallFunction; value uniform 250; } left { type empty; } symmaxis { type symmetryPlane; } right { type empty; } }
mut:
Quote:
 dimensions [1 -1 -1 0 0 0 0]; internalField uniform 0; boundaryField { in { type calculated; value uniform 0; } out { type calculated; value uniform 0; } topwall { type mutWallFunction; Cmu 0.09; kappa 0.41; E 9.8; value uniform 0; } left { type empty; } symmaxis { type symmetryPlane } right { type empty; } }
alphat:
Quote:
 dimensions [1 -1 -1 0 0 0 0]; internalField uniform 0; boundaryField { in { type calculated; value uniform 0; } out { type calculated; value uniform 0; } topwall { type alphatWallFunction; Prt 0.85; value uniform 0; } left { type empty; } symmaxis { type symmetryPlane } right { type empty; } }
If there is more I forgot I will post it :)

 kiran August 24, 2010 19:53

hi

its better to attach your files.

i found mistakes you are giving pressure inlet and pressure outlet

and zerogradient for inlet and outlet velocities.

why k and omega are zero at inlet.

 Unseen August 25, 2010 04:34

Hm, why is it a mistake to specify the total pressure at the inlet and the static pressure at the outlet? ... Based on the pressure difference between inlet and outlet there has to develop a flow with initially unknown velocities at inlet and outlet. Is there any other way to set this up WITHOUT specifying a velocity at inlet and outlet, since I don't know these yet?

 kiran August 26, 2010 10:30

we all know that any fluid flows from high pressure region to low pressure region.
but when we specifying the boundary condition for a subsonic problem
we should specify it as velocity inlet and a presure outlet (since there is a characteristic line(in fact there are two but one travels inside) travelling inward to the nozzle so it should be given as pressure oulet). refer CFD book by John.D.Anderson. Jr

so define velocity at inlet and pressure(static) at oulet. And give some initial values at inlet for K , Omega

are you validating this problem.

you said you have tried with sonicFoam.
would you share that results.

 nileshjrane August 27, 2010 07:23

Same issue

1 Attachment(s)
Hello all,
I am also facing same issue. i am using rhoPisoFoam and k-epsilon model. After some iterations the values of P, k, eps blow up to so hign numbers and the error is shown below.
Quote:
 rho max/min : 5.89446 3.44454 bounding p, min: -5.61732e+06 max: 4.05538e+06 average: 999735 DILUPBiCG: Solving for epsilon, Initial residual = 0.9528, Final residual = 9.15234e-06, No Iterations 6 bounding epsilon, min: -103372 max: 8.67646e+06 average: 2933.08 DILUPBiCG: Solving for k, Initial residual = 0.11952, Final residual = 5.59631e-06, No Iterations 5 DILUPBiCG: Solving for Ux, Initial residual = 0.517388, Final residual = 0.0209456, No Iterations 2 DILUPBiCG: Solving for Uy, Initial residual = 0.50828, Final residual = 0.042113, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.52129, Final residual = 0.0342811, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.796855, Final residual = 0.0200661, No Iterations 3 #0 Foam::error::printStack(Foam::Ostream&) in "/opt/openfoam170/lib/linux64GccDPOpt/libOpenFOAM.so" #1 Foam::sigFpe::sigFpeHandler(int) in "/opt/openfoam170/lib/linux64GccDPOpt/libOpenFOAM.so" #2 in "/lib/libc.so.6" #3 Foam::hPsiThermo > > > >::calculate() in "/opt/openfoam170/lib/linux64GccDPOpt/libbasicThermophysicalModels.so" #4 Foam::hPsiThermo > > > >::correct() in "/opt/openfoam170/lib/linux64GccDPOpt/libbasicThermophysicalModels.so" #5 in "/opt/openfoam170/applications/bin/linux64GccDPOpt/rhoPimpleFoam" #6 __libc_start_main in "/lib/libc.so.6" #7 in "/opt/openfoam170/applications/bin/linux64GccDPOpt/rhoPimpleFoam" Floating point exception
its similar to what Basti is getting.

I am also giving same kind of BCs as Kiran has alredy suggested, still the error is not getting solved..:confused::confused:

I have tried evry possible BC specification methods. But no luck..:(

PFA my case files, mesh is not there as its 'engrid' mesh and too large to post here.

 adarsh tiwari April 16, 2014 03:38

Hi all,

As you already know that rhoSimpleFoam is a steady-state solver, while, somebody is getting results from rhoSonicFoam and rhoPisoFoam.

I think you must give a try with rhoPimpleFoam with reduced time steps. This thing worked fine for me in a particular case.

Further you can validate the results with your theoretical calculations or some empirical considerations.

Thanks and Regards,