CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM (https://www.cfd-online.com/Forums/openfoam/)
-   -   How to run a steady state case in OpenFOAM (https://www.cfd-online.com/Forums/openfoam/104837-how-run-steady-state-case-openfoam.html)

Vignesh V July 17, 2012 01:06

How to run a steady state case in OpenFOAM
 
can anyone tell me how to run a steady state case in openFOAM.

I'm a new user of openFoam.

Bajji July 17, 2012 01:59

More Details.
 
Hi,
People will be able to help you if you provide a bit more details and be specific in your question.

Vignesh V July 17, 2012 04:07

Staedy State case
 
I'm trying to find a steady state flow ventilation of a parking basement.

But we need to specify the timestep and start and end time in controldict. This shows a results in unsteady state.

can anyone help in running a steady state solution.

sharonyue December 23, 2012 09:55

Quote:

Originally Posted by Vignesh V (Post 371807)
I'm trying to find a steady state flow ventilation of a parking basement.

But we need to specify the timestep and start and end time in controldict. This shows a results in unsteady state.

can anyone help in running a steady state solution.

It depends on which solver u use. for example. simple is steady,interFoam is unsteady.

Lieven December 23, 2012 10:38

Most obvious choice would be to take a steady state solver such as simpleFoam. But you can also use a transient solver like pisoFoam or pimpleFoam in combination with false time stepping (global or local).

Don't forget that it is the turbulence modelling which determines whether a case is steady or not (so not the choice of solver):
1. LES = by definition unsteady
2. RANS = depends on the boundary conditions
a. constant boundary conditions = steady flow
b. time-dependent boundary conditions = unsteady flow
So only with RANS + constant BC you will be able to obtain a steady solution.

You will obtain exactly the same solution with a steady or a transient solvers, but my experience is that a transient solver (piso/pimpleFoam) with local time stepping (localEuler) results in the fastest convergence...

Kind regards,


L

sharonyue December 23, 2012 10:48

Quote:

Originally Posted by Lieven (Post 398787)
Most obvious choice would be to take a steady state solver such as simpleFoam. But you can also use a transient solver like pisoFoam or pimpleFoam in combination with false time stepping (global or local).

Don't forget that it is the turbulence modelling which determines whether a case is steady or not (so not the choice of solver):
1. LES = by definition unsteady
2. RANS = depends on the boundary conditions
a. constant boundary conditions = steady flow
b. time-dependent boundary conditions = unsteady flow
So only with RANS + constant BC you will be able to obtain a steady solution.

You will obtain exactly the same solution with a steady or a transient solvers, but my experience is that a transient solver (piso/pimpleFoam) with local time stepping (localEuler) results in the fastest convergence...

Kind regards,


L

Thanks a lot,dear Lieven.

but if I switch of the tubulence via SimpleFoam. What does this mean... It should be steady state. but I set it is laminer..

and I find in my case that the velocity fields changes depends on time even many iterations. I think this is not normal in steady state. I dont know where Im wrong about the concept. any hints please? thank in advance.~

wouter December 23, 2012 15:54

hello,
look at this forum item:
http://www.cfd-online.com/Forums/ope...-unsteady.html

maybe that answers your question.
best
Wouter

Lieven December 24, 2012 05:40

SimpleFoam doesn't include the time derivative in the momentum equation so what you see is not a time dependence simply because the time variable is not treated. It's simply the solver trying to find a solution to the problem. You can monitor the residuals and if they go down smoothly (without peaks) you are converging towards a steady solution.
Have a look at http://www.cfd-online.com/Forums/ope...tml#post398119 to see how to do this.

I'm pretty sure however that it will be very difficult to obtain a steady solution when you treat the flow as laminar because you won't have a lot of momentum dissipation. So even a small fluctuation can prevent you from reaching a steady solution.
I would therefore recommend you to turn on the turbulence and use a RANS model. This way the modeled turbulence appears as an additional diffusive flux in the momentum equation. The result is that the time scale of any resulting unsteadyness is drastically increased and in most cases a steady solution can be obtained this way.

Regards,


L

sharonyue December 24, 2012 10:52

Quote:

Originally Posted by Lieven (Post 398886)
I'm pretty sure however that it will be very difficult to obtain a steady solution when you treat the flow as laminar because you won't have a lot of momentum dissipation. So even a small fluctuation can prevent you from reaching a steady solution.


Regards,


L

Thanks Lieven, sorry about this thing. now I am more confused. AFAIK, icoFoam is an unsteady solver for laminar flow of Newtonian fluids. but according to what you have said. that seems a little contradiction?

Lieven December 26, 2012 05:29

Hi Sharonyue,

I don't really see the contradiction. icoFoam is a transient solver. The contradiction would be if icoFoam were a steady state solver for laminar flow of Newtonian fluids...
I hope this makes it a bit more clear.

Kind regards,

L

sharonyue December 26, 2012 05:31

Quote:

Originally Posted by Lieven (Post 399058)
Hi Sharonyue,

I don't really see the contradiction. icoFoam is a transient solver. The contradiction would be if icoFoam were a steady state solver for laminar flow of Newtonian fluids...
I hope this makes it a bit more clear.

Kind regards,

L

Woo,its my fault....I must be dizzy that time.~ Thanks so much!

srv537 January 2, 2017 15:57

i am still confuse, icoFoam/pisoFoam in ddt scheme we have an option to choose steadyState, it means we can use transient solver as steady state and for this we just need to change ddt scheme to steadyState and deltaTime =1.

i tried this in pisoFoam, cavity tutorial but i got error.

/OpenFOAM/srv-4.1/run/cavity$ pisoFoam
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 4.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
Build : 4.1
Exec : pisoFoam
Date : Jan 03 2017
Time : 02:26:39
Host : "srv"
PID : 7535
Case : /home/srv/OpenFOAM/srv-4.1/run/cavity
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Allowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create mesh for time = 0


PISO: Operating solver in PISO mode

Reading field p

Reading field U

Reading/calculating face flux field phi

Selecting incompressible transport model Newtonian
Selecting turbulence model type RAS
Selecting RAS turbulence model kEpsilon
kEpsilonCoeffs
{
Cmu 0.09;
C1 1.44;
C2 1.92;
C3 -0.33;
sigmak 1;
sigmaEps 1.3;
}

No MRF models present

No finite volume options present


Starting time loop

Time = 1

Courant Number mean: 0 max: 0
--> FOAM Warning :
From function Foam::fv::gaussConvectionScheme<Type>::gaussConvec tionScheme(const Foam::fvMesh&, const surfaceScalarField&, Foam::Istream&) [with Type = Foam::Vector<double>; Foam::surfaceScalarField = Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh>]
in file finiteVolume/convectionSchemes/gaussConvectionScheme/gaussConvectionScheme.H at line 124
Reading "/home/srv/OpenFOAM/srv-4.1/run/cavity/system/fvSchemes.divSchemes.div(phi,U)" at line 31
Unbounded 'Gauss' div scheme used in steady-state solver, use 'bounded Gauss' to ensure boundedness.
To remove this warning switch off 'warnUnboundedGauss' in "/opt/openfoam4/etc/controlDict"
smoothSolver: Solving for Ux, Initial residual = 1, Final residual = 0.000135836, No Iterations 1000
smoothSolver: Solving for Uy, Initial residual = 1, Final residual = 9.92264e-06, No Iterations 897
GAMG: Solving for p, Initial residual = 1, Final residual = 0.0270508, No Iterations 2
time step continuity errors : sum local = 0.326454, global = -4.97632e-17, cumulative = -4.97632e-17
GAMG: Solving for p, Initial residual = 0.464157, Final residual = 5.85135e-07, No Iterations 10
time step continuity errors : sum local = 1.28702e-05, global = -6.96155e-17, cumulative = -1.19379e-16
--> FOAM Warning :
From function Foam::fv::gaussConvectionScheme<Type>::gaussConvec tionScheme(const Foam::fvMesh&, const surfaceScalarField&, Foam::Istream&) [with Type = double; Foam::surfaceScalarField = Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh>]
in file finiteVolume/convectionSchemes/gaussConvectionScheme/gaussConvectionScheme.H at line 124
Reading "/home/srv/OpenFOAM/srv-4.1/run/cavity/system/fvSchemes.divSchemes.div(phi,epsilon)" at line 33
Unbounded 'Gauss' div scheme used in steady-state solver, use 'bounded Gauss' to ensure boundedness.
To remove this warning switch off 'warnUnboundedGauss' in "/opt/openfoam4/etc/controlDict"
smoothSolver: Solving for epsilon, Initial residual = 0.0944612, Final residual = 6.95873e+192, No Iterations 1000
bounding epsilon, min: -2.17271e+192 max: 2.25483e+192 average: 3.23949e+190
--> FOAM Warning :
From function Foam::fv::gaussConvectionScheme<Type>::gaussConvec tionScheme(const Foam::fvMesh&, const surfaceScalarField&, Foam::Istream&) [with Type = double; Foam::surfaceScalarField = Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh>]
in file finiteVolume/convectionSchemes/gaussConvectionScheme/gaussConvectionScheme.H at line 124
Reading "/home/srv/OpenFOAM/srv-4.1/run/cavity/system/fvSchemes.divSchemes.div(phi,k)" at line 32
Unbounded 'Gauss' div scheme used in steady-state solver, use 'bounded Gauss' to ensure boundedness.
To remove this warning switch off 'warnUnboundedGauss' in "/opt/openfoam4/etc/controlDict"
smoothSolver: Solving for k, Initial residual = 1, Final residual = 1.05003e-192, No Iterations 1
bounding k, min: -0.000276909 max: 0.08282 average: 0.00200803
ExecutionTime = 0.06 s ClockTime = 0 s

Time = 2

Courant Number mean: 29.7668 max: 63.3698
--> FOAM Warning :
From function Foam::fv::gaussConvectionScheme<Type>::gaussConvec tionScheme(const Foam::fvMesh&, const surfaceScalarField&, Foam::Istream&) [with Type = Foam::Vector<double>; Foam::surfaceScalarField = Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh>]
in file finiteVolume/convectionSchemes/gaussConvectionScheme/gaussConvectionScheme.H at line 124
Reading "/home/srv/OpenFOAM/srv-4.1/run/cavity/system/fvSchemes.divSchemes.div(phi,U)" at line 31
Unbounded 'Gauss' div scheme used in steady-state solver, use 'bounded Gauss' to ensure boundedness.
To remove this warning switch off 'warnUnboundedGauss' in "/opt/openfoam4/etc/controlDict"
#0 Foam::error::printStack(Foam::Ostream&) at ??:?
#1 Foam::sigFpe::sigHandler(int) at ??:?
#2 ? in "/lib/x86_64-linux-gnu/libc.so.6"
#3 Foam::GaussSeidelSmoother::smooth(Foam::word const&, Foam::Field<double>&, Foam::lduMatrix const&, Foam::Field<double> const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, unsigned char, int) at ??:?
#4 Foam::GaussSeidelSmoother::smooth(Foam::Field<doub le>&, Foam::Field<double> const&, unsigned char, int) const at ??:?
#5 Foam::smoothSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
#6 ? at ??:?
#7 ? at ??:?
#8 ? at ??:?
#9 ? at ??:?
#10 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#11 ? at ??:?
Floating point exception (core dumped)

unbounded div scheme may be one of the reason for the error.

So my doubt is can we use transient solver for steady state simulation by changing ddt scheme to steadyState or not?


All times are GMT -4. The time now is 01:55.