CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   SteadyState solver for compressible flow (https://www.cfd-online.com/Forums/openfoam-solving/58316-steadystate-solver-compressible-flow.html)

matteo_gautero February 15, 2008 08:38

Hi to all, I have a flow with
 
Hi to all,
I have a flow with Mach=0.3. I'm needing a steady state solver for compressible flow, but in the user guide there aren't any solver for steady state case. Can anyone help me?

Matteo.

shaun February 15, 2008 17:09

check out rhoSimpleFoam. th
 
check out rhoSimpleFoam.

this will be what you are looking for.

Regards

Shaun.D

matteo_gautero February 18, 2008 09:00

Thanks Shaun. I have a problem
 
Thanks Shaun. I have a problem. This solver is not present in FoamX and in the tutorials folder. I have to compile rhoSimpleFoam or I've done some errors in the installation procedure?

Regards,
Matteo.

graser February 19, 2008 03:24

You just have to set up the ca
 
You just have to set up the case by hand without FoamX.

myting February 19, 2008 03:37

Hi, I also want to know how
 
Hi,

I also want to know how I can set up the case by hand. Can somebody give me an example for this solver please.

graser February 19, 2008 03:56

look at these tutorials: rhoE
 
look at these tutorials:
rhoExplicitPorousSimpleFoam
rhoImplicitPorousSimpleFoam
they use rhoSimpleFoam solver

shaun February 19, 2008 06:37

you could also simple search t
 
you could also simple search the forum for "rhoSimpleFoam" and you will find some references to case setup.

I believe I can post the case setup tomorrow when at work.

Shaun.D

myting February 19, 2008 06:59

Hi, thanks, I think, I will
 
Hi,

thanks, I think, I will try to change the case "rhoImplicitPorousSimpleFoam" solver to "rhoSimpleFoam".


In the forum I found this information:

"I have tried to create a FoamX configuration for rhoSimpleFoam. Just untar it under $FOAM_SOLVERS/rhoSimpleFoam which will give you the directory FoamX with all the files needed for your first steps with rhoSimpleFoam."

I also will try it out today. I hope it is working under version 1.4.1 :-)

Thanks a lot

matteo_gautero February 26, 2008 06:47

Hi to all, I set up a simple
 
Hi to all,
I set up a simple case to understand what rhoSimpleFoam. In the forum I found a discussion where they said that to set up the case I had work with rhoTurbFoam. So I set up the case with rhoTurbFoam and the I modified the fvSolution and fvSchemes dictionary with the corresponding file present in simpleFoam. When I run the case I receive this error message:

Reading thermophysical properties

Selecting thermodynamics package hThermo<puremixture<consttransport<speciethermo<hc onstthermo<perfectgas>>>>>
#0 Foam::error::printStack(Foam:http://www.cfd-online.com/OpenFOAM_D...part/proud.gifstream&) in "/home/gauta/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libOpenFOAM.so"
#1 Foam::sigFpe::sigFpeHandler(int) in "/home/gauta/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libOpenFOAM.so"
#2 Uninterpreted: [0xffffe420]
#3 Foam::hThermo<foam::puremixture<foam::consttranspo rt<foam::speciethermo<foam::hc onstthermo<foam::perfectgas> > > > >::calculate() in "/home/gauta/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libbasicThermophysicalMod els.so"
#4 Foam::hThermo<foam::puremixture<foam::consttranspo rt<foam::speciethermo<foam::hc onstthermo<foam::perfectgas> > > > >::hThermo(Foam::fvMesh const&) in "/home/gauta/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libbasicThermophysicalMod els.so"
#5 Foam::basicThermo::addfvMeshConstructorToTable<foa m::hthermo<foam::puremixture<f oam::consttransport<foam::speciethermo<foam::hcons tthermo<foam::perfectgas> > > > > >::New(Foam::fvMesh const&) in "/home/gauta/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libbasicThermophysicalMod els.so"
#6 Foam::basicThermo::New(Foam::fvMesh const&) in "/home/gauta/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libbasicThermophysicalMod els.so"
#7 main in "/home/gauta/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linuxGccDPOpt/rhoSimpleFoa m"
#8 __libc_start_main in "/lib/tls/i686/cmov/libc.so.6"
#9 Foam::regIOobject::readIfModified() in "/home/gauta/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linuxGccDPOpt/rhoSimpleFoa m"
Floating point exception (core dumped)

Can anyone help me?
Thanks

ttian February 26, 2008 07:02

Hi, can you give me your em
 
Hi,

can you give me your email? I can send you a file.
Just untar it under $FOAM_SOLVERS/compressible/rhoSimpleFoam which will give you the directory FoamX with all the files needed for your first steps with rhoSimpleFoam. I found it in this forum.

Bye

sharmak March 3, 2008 11:14

Hi, can anybody send me the
 
Hi,

can anybody send me the file that I have to untar in the $FOAM_SOLVERS/compressible/rhoSimpleFoam directory in order to use the rhoSimpleFoam solver in FoamX?
The file I found in the forum (rhoSimpleFoam_FoamX.tar.gz)is a .unk file... I don't know how to use it.
Or anybody can send me an example to compile correctly the files (fvSolution, fvSchemes...) with this solver?

Thanks
Bye

cedric_duprat March 3, 2008 11:23

Hi Marco I think you want t
 
Hi Marco

I think you want to do something like that:
1- mv rhoSimpleFoam_FoamX.unk rhoSimpleFoam_FoamX.tar.gz
2- gunzip rhoSimpleFoam_FoamX.tar.gz
3- tar -xvf rhoSimpleFoam_FoamX.tar
and, I think you should get what you want
:o)

Cedric

francesco_b March 3, 2008 11:23

Hi Marco, when you save the
 
Hi Marco,

when you save the file, simply rename it rhoSimpleFoam_FoamX.tar.gz and you'll download the correct file. Then extract it and start to play http://www.cfd-online.com/OpenFOAM_D...part/happy.gif

Regards

Francesco

sharmak March 3, 2008 12:51

Thanks Francesco and Cedric,
 
Thanks Francesco and Cedric,
you are right. Now the solver is in FoamX but it gives error creating a new case! Probably there are some errors in the file.

I'm sorry but I'm new to OpenFoam...

Anyhow I've to study a compressible air flow in steady state. I started from rhoturbFoam solver and than I modified manually some files. When the simulation starts it plots this errors:

Exec : rhoSimpleFoam . v990_prova
Date : Mar 03 2008
Time : 18:22:51
Host : computer-marco
PID : 6983
Root : /home/simulation/OpenFOAM/simulation-1.4/run/tutorials/rhoTurbFoam
Case : v990_prova
Nprocs : 1
Create time

Create mesh for time = 0

Reading thermophysical properties

Selecting thermodynamics package hThermo<puremixture<consttransport<speciethermo<hc onstthermo<perfectgas>>>>>
#0 Foam::error::printStack(Foam:http://www.cfd-online.com/OpenFOAM_D...part/proud.gifstream&)
#1 Foam::sigFpe::sigFpeHandler(int)
#2 Uninterpreted: [0xffffe420]
#3 Foam::hThermo<foam::puremixture<foam::consttranspo rt<foam::speciethermo<foam::hc onstthermo<foam::perfectgas> > > > >::calculate()
#4 Foam::hThermo<foam::puremixture<foam::consttranspo rt<foam::speciethermo<foam::hc onstthermo<foam::perfectgas> > > > >::hThermo(Foam::fvMesh const&)
#5 Foam::basicThermo::addfvMeshConstructorToTable<foa m::hthermo<foam::puremixture<f oam::consttransport<foam::speciethermo<foam::hcons tthermo<foam::perfectgas> > > > > >::New(Foam::fvMesh const&)
#6 Foam::basicThermo::New(Foam::fvMesh const&)
#7 main
#8 __libc_start_main
#9 __gxx_personality_v0 at /usr/src/packages/BUILD/glibc-2.3/csu/../sysdeps/i386/elf/start.S:122
Floating point exception (core dumped)

What does it mean? How can I find the errors?

Thanks
Bye

tian March 4, 2008 03:15

Hi, maybe you have to chang
 
Hi,

maybe you have to change the fvScheme in "FoamX/defaults/system/" folder?

laplacian((rho*(1|A(U))),p) Gauss linear corrected

I am not sure it is the reason...

bye

francesco_b March 4, 2008 03:43

Hi Marco, I think it could
 
Hi Marco,

I think it could be a BC problem, can you tell us which is your set of BC? Which changes did you make in the code?

Regards

Francesco

tian March 4, 2008 04:04

Hi, with my old post I want
 
Hi,

with my old post I want to tell about you have to change the file fvScheme that you can open it in FoamX without error.

Bye

sharmak March 4, 2008 06:00

Hi Thomas, FoamX doesn't wo
 
Hi Thomas,

FoamX doesn't work in spite of the change. Maybe other changes are necessary and I tried to do them, but nothing.... The error, when I create the new case, is this:

class org.omg.CORBA.UNKNOWN

Thanks anyway

sharmak March 4, 2008 06:05

Hi Francesco, maybe you are
 
Hi Francesco,

maybe you are right, I modified the BC and the simulation starts but now it stops here:

Starting time loop

Time = 0.05

DILUPBiCG: Solving for Ux, Initial residual = 1, Final residual = 9.71047e-06, No Iterations 5
DILUPBiCG: Solving for Uy, Initial residual = 1, Final residual = 9.14451e-06, No Iterations 5
DILUPBiCG: Solving for Uz, Initial residual = 1, Final residual = 2.265e-06, No Iterations 6
#0 Foam::error::printStack(Foam:http://www.cfd-online.com/OpenFOAM_D...part/proud.gifstream&)
#1 Foam::sigFpe::sigFpeHandler(int)
...
#14 __gxx_personality_v0 at /usr/src/packages/BUILD/glibc-2.3/csu/../sysdeps/i386/elf/start.S:122
Floating point exception (core dumped)

This is my problem, I think it is not difficult to solve but I'm not able:

I have an air duct with an inlet section and an outlet section. The motion is produced by a delta p between the two sections. Flow is compressible, turbulent and steady.

These are some of the changes I made to modify rhoTurbFoam solver:
application rhoSimpleFoam (in contolDict file)
ddtSchemes steadyState (in fvSchemes file)
SIMPLE (in fvSolution file)

Honestly I don't know how to put all the BC at time 0 (R, k, epsilon?). Do you think the mistake is here? Or in the solution for p?

These are the BC I put:
U=0 on the wall, zeroGradient on inlet and outlet
p=fixedValue on inlet and outlet, zeroGradient on the wall
k, epsilon, R, T zeroGradient (and internalField ?)

Please can you help me?
Thanks

tian March 4, 2008 06:15

Hi Marco, can you give me y
 
Hi Marco,

can you give me your email? I will send you my files.

Bye

francesco_b March 4, 2008 06:18

Hi Marco, send me a mail w
 
Hi Marco,

send me a mail with your case and I'll have a look at it, probably there is something wrong http://www.cfd-online.com/OpenFOAM_D...part/happy.gif

My first suggestion is to avoid using FoamX, modify the files is often better and makes you understand more the code.

Second suggestion is to look at tutorials which are similar to your case, you'll find useful informations.

Regards

Francesco

sharmak March 4, 2008 07:14

Hi Thomas and Francesco, I
 
Hi Thomas and Francesco,

I added my email in my profile, you'll see it clicking on my name.
If you send me a mail I'll reply to you. I don't see your email adress.

I thank you for your kindness

Regards

cedric_duprat March 4, 2008 07:57

Hi Marco , About your previ
 
Hi Marco ,

About your previous error, just keep in mind that when you've sigFpe somewhere, it's often because you divide by zero somewhere.
are you sure about your BC ?
what are your initial values (k, epsilon) not only at your Patches but also your internal field value?
and, as said Francesco, tutorials are usually a good starting point.

Regards,

Cedric

sharmak March 4, 2008 14:19

Hi Cedric, no I was not sur
 
Hi Cedric,

no I was not sure and now I can say they were wrong. I can't use a steady state solver with those BC, is it true?
Anyway I changed BC and maybe the simulation is right now.

Regard

Marco

lgriffiths March 11, 2008 18:27

hi, what relaxation factors ar
 
hi, what relaxation factors are you using for rhoSimple Foam?

I had similar errors not too long ago due to wrong choice of factors

patankar [numerical heat transfer and fluid flow] suggests as a guidance:
0.2(pressure) 0.8(velocity) and that pressure+velocity factor = 1(approx)

also at the start of the iterations it may be useful to under-relax it by quite a lot (especially pressure) - not too sure on velocity - either trial & error, or maybe somebody who knows a little more than me can give some better input

sorry not too sure what your k&epsilon values should be, perhaps there's some published literature on it?

also francesco's advice to run the cases by hand is worth taking - i had a couple of problems with foamX not filling in the boundary conditions correctly.

dinonettis April 23, 2008 11:07

Hi everybody, I'm trying to
 
Hi everybody,

I'm trying to use rhoSimpleFoam to analyze a rae2822 profile (Ma=0.75). Starting from a case located in the rhoExplicitPorousSimpleFoam tutorial I made some minor corrections due the slightly different solver. Unfortunately this is what I get after 3-4 timesteps:


------------------------------------
Starting time loop

Time = 0.001

DILUPBiCG: Solving for Ux, Initial residual = 0.91642, Final residual = 0.00113156, No Iterations 1
DILUPBiCG: Solving for Uy, Initial residual = 0.497643, Final residual = 0.000109773, No Iterations 1
DILUPBiCG: Solving for h, Initial residual = 0.000153941, Final residual = 0.000153941, No Iterations 0
DICPCG: Solving for p, Initial residual = 1, Final residual = 0.085924, No Iterations 10
time step continuity errors : sum local = 0.00341069, global = 6.72999e-18, cumulative = 6.72999e-18
bounding p, min: -183403 max: 51509.8 average: 14986
rho max/min : 0.434091 0.394052
DILUPBiCG: Solving for epsilon, Initial residual = 1, Final residual = 0.0760585, No Iterations 1
DILUPBiCG: Solving for k, Initial residual = 1, Final residual = 4.01958e-10, No Iterations 1
ExecutionTime = 1.1 s ClockTime = 2 s

Time = 0.002

DILUPBiCG: Solving for Ux, Initial residual = 0.625658, Final residual = 0.0132899, No Iterations 1
DILUPBiCG: Solving for Uy, Initial residual = 0.597063, Final residual = 0.0160514, No Iterations 1
DILUPBiCG: Solving for h, Initial residual = 1, Final residual = 0.0581808, No Iterations 1
DICPCG: Solving for p, Initial residual = 0.999938, Final residual = 0.0994651, No Iterations 128
time step continuity errors : sum local = 0.371864, global = -5.50248e-16, cumulative = -5.43518e-16
bounding p, min: -3.58449e+07 max: 1.04555e+11 average: 2.88087e+10
rho max/min : 81429.1 0.407813
DILUPBiCG: Solving for epsilon, Initial residual = 0.538868, Final residual = 1.87952e-14, No Iterations 1
DILUPBiCG: Solving for k, Initial residual = 0.494746, Final residual = 2.88931e-11, No Iterations 1
ExecutionTime = 1.56 s ClockTime = 2 s

Time = 0.003

DILUPBiCG: Solving for Ux, Initial residual = 0.131877, Final residual = 0.0081574, No Iterations 1
DILUPBiCG: Solving for Uy, Initial residual = 0.588281, Final residual = 0.0125537, No Iterations 1
DILUPBiCG: Solving for h, Initial residual = 0.984923, Final residual = 0.0415359, No Iterations 1
DICPCG: Solving for p, Initial residual = 0.999974, Final residual = 0.0957307, No Iterations 1
time step continuity errors : sum local = 3.01611e+06, global = -2.06632e-09, cumulative = -2.06632e-09
bounding p, min: -2.18384e+14 max: 3.72087e+16 average: 5.03564e+12
rho max/min : 2.89787e+10 -1.59075e+10
DILUPBiCG: Solving for epsilon, Initial residual = 0.994871, Final residual = 1.6861e-08, No Iterations 1
bounding epsilon, min: -26760.4 max: 4.40476e+23 average: 2.87204e+19
DILUPBiCG: Solving for k, Initial residual = 1, Final residual = 1.60288e-08, No Iterations 1
bounding k, min: -21.8637 max: 5.49352e+17 average: 3.58298e+13
ExecutionTime = 1.81 s ClockTime = 2 s

Time = 0.004

DILUPBiCG: Solving for Ux, Initial residual = 0.654315, Final residual = 0.0018068, No Iterations 1
DILUPBiCG: Solving for Uy, Initial residual = 0.192592, Final residual = 0.000735478, No Iterations 1
DILUPBiCG: Solving for h, Initial residual = 0.169146, Final residual = 0.000217519, No Iterations 1


--> FOAM FATAL ERROR : Maximum number of iterations exceeded#0 Foam::error::printStack(Foam:http://www.cfd-online.com/OpenFOAM_D...part/proud.gifstream&) in "/home/nettis/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libOpenFOAM.so"
#1 Foam::error::abort() in "/home/nettis/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libOpenFOAM.so"
#2 Foam::hThermo<foam::puremixture<foam::consttranspo rt<foam::speciethermo<foam::hc onstthermo<foam::perfectgas> > > > >::calculate() in "/home/nettis/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libbasicThermophysical Models.so"
#3 Foam::hThermo<foam::puremixture<foam::consttranspo rt<foam::speciethermo<foam::hc onstthermo<foam::perfectgas> > > > >::correct() in "/home/nettis/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libbasicThermophysical Models.so"
#4 main in "/home/nettis/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linux64GccDPOpt/rhoSimple Foam"
#5 __libc_start_main in "/lib64/libc.so.6"
#6 Foam::regIOobject::readIfModified() in "/home/nettis/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linux64GccDPOpt/rhoSimple Foam"


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 /home/dm2/henry/OpenFOAM/OpenFOAM-1.4.1/src/thermophysicalModels/specie/lnInclud e/specieThermoI.H at line 83.

FOAM aborting
----------------------------------


I hope somebody can help me!!!
thank you in advance,

dino

dinonettis April 23, 2008 12:02

ps: I forgot to specify that I
 
ps: I forgot to specify that I've imported the 0/U file from the solution found with potentialFoam. This one seems to be corrected, but I don't know if it could influence the problem I've shown in my previous post!!

dino

dabon May 8, 2008 16:58

Hi Leonardo, I'm trying to do
 
Hi Leonardo, I'm trying to do a similar experiment to yours (RAE2822 at M=0.72) but I've a lot of troubles trying to set up the simulation with rhoSimpleFoam. I'm trying to use a test case from rhoExplicitPorousSimpleFoam but it does not work. Could you send me your test file (without the mesh, I use a mesh converted from Gambit) so maybe I can progress? I hope you can help me.
Thanks a lot

Daniele

vishal October 23, 2008 08:18

Hi Fomers, I am working wit
 
Hi Fomers,

I am working with the prism case in sonicTurbfoam, but i want to capture the shoch at the prism surface.for Mach number 3. i have created mesh for that accordingly. but.....i am unable to find the grad rho at the surface of the prism.

Can i use other foam for this case for compressible flow and steady state so that i can capture grad roh at surface.

vishal October 23, 2008 08:21

Hi, ihacve one more query
 
Hi,

ihacve one more query i dont have foamX directory in the OpenFoam 1.5 version i have installed. till now i was working with command prompt.

Can anyone tell me how can i get in as i want need it to deal with complex scinario.

Thanks

paul_mathis November 18, 2008 05:48

Hello, could anyone please
 
Hello,

could anyone please translate the hEqn implemented in rhoSimpleFoam into mathematical language, please? Most of all, I am interested in figuring out whether the total or the static enthalpy is used.

The equation for total enthalpy (steady state) found in literature looks like this:

Ñ(r U h<sub>tot</sub>) = Ñ(l Ñ T) + Ñ(U t) + S<sub>E</sub>

h<sub>tot</sub> = h + 0.5 U<sup>2</sup>
Ñ(U t) = viscous dissipation
S<sub>E</sub> = source term

C++ code:


fvScalarMatrix hEqn
(
fvm::div(phi, h)
- fvm::Sp(fvc::div(phi), h)
- fvm::laplacian(turbulence->alphaEff(), h)
==
fvc::div(phi/fvc::interpolate(rho)*fvc::interpolate(p, "div(U,p)"))
- p*fvc::div(phi/fvc::interpolate(rho))
);

Thank you very much,
Paul

paul_mathis November 19, 2008 07:31

OK, answering my question myse
 
OK, answering my question myself:

The enthalpy equation is impemented in terms of static enthalpy, making the C++ code appear in mathematical language:

fvm::div(phi, h) = Ñ•(rU h)

fvm::Sp(fvc::div(phi), h) = S<sub>E</sub> (source term, not sure about this)

fvm::laplacian(turbulence->alphaEff(), h) = Ñ•(a<sub>eff</sub>Ñh)

fvc::div(phi/fvc::interpolate(rho)*fvc::interpolate(p, "div(U,p)")) = Ñ•(p U)

p*fvc::div(phi/fvc::interpolate(rho)) = p Ñ•U


Consequently:

Ñ•(rU h) - S<sub>E</sub> - Ñ•(a<sub>eff</sub>Ñh) = Ñ•(p U) - p Ñ•U

where Ñ•(p U) - p Ñ•U = U •Ñp

That means the viscous dissipation term t:ÑU is not implemented.

I have added a viscous term into the equation, but instead of rising the temperature decreases! Where is my mistake?

My enthalpy equation:

volSymmTensorField tau(turbulence->devRhoReff());
volScalarField tauGradU = tau && fvc::grad(U);
fvScalarMatrix hEqn
(
fvm::div(phi, h)
- fvm::Sp(fvc::div(phi), h)
- fvm::laplacian(turbulence->alphaEff(), h)
==
fvc::div(phi/fvc::interpolate(rho)*fvc::interpolate(p, "div(U,p)"))
- p*fvc::div(phi/fvc::interpolate(rho))
+ tauGradU
);

bastian_s November 21, 2012 04:27

Check Sign of Dissipation
 
Hi paul_mathis,

did you solve this problem within the last 4 years?:)

It seem likely that the dissipation (turbulence->devRhoReff() && fvc::grad(U)) has the wrong sign for an unknown reason. I created a dissipation field, displayed it in paraFoam and got negative values in the whole field.

I think implementing Phi with (-turbulence->devRhoReff() && fvc::grad(U)) should solve the problem. Is anyone familiar with the sign conventions of either the viscous stresses or the velocity gradient in openFoam?

regards

Bastian


All times are GMT -4. The time now is 02:57.