CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

stedystate twoPhaseEulerFoam ?

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   April 7, 2009, 10:25
Question stedystate twoPhaseEulerFoam ?
  #1
New Member
 
Alessio Alexiadis
Join Date: Mar 2009
Location: Birmingham, UK
Posts: 16
Rep Power: 17
sersunzo is on a distinguished road
Hi everybody,

I'm new to OpenFoam and I need some information concerning twoPhaseEulerFoam solver.

Can be used for steady state solutions? I'm simulating a electrolytic cell. Basically, it is a channel where hydrogen bubbles are generated at one of the walls. I run the transient simulation without problems, but when I changed in the file fvSchemes:

ddtSchemes
{
default Euler;
}

to

ddtSchemes
{
default steadyState;
}

the code gives the following error

#0 Foam::error:rintStack(Foam::Ostream&) in "/home/sersunzo/OpenFOAM/OpenFOAM-1.5/lib/linuxGccDPOpt/libOpenFOAM.so"
#1 Foam::sigFpe::sigFpeHandler(int) in "/home/sersunzo/OpenFOAM/OpenFOAM-1.5/lib/linuxGccDPOpt/libOpenFOAM.so"
#2 Uninterpreted: [0xb7f3b400]
#3 Foam:ILUPreconditioner::calcReciprocalD(Foam::Fi eld<double>&, Foam::lduMatrix const&) in "/home/sersunzo/OpenFOAM/OpenFOAM-1.5/lib/linuxGccDPOpt/libOpenFOAM.so"
#4 Foam:ILUPreconditioner:ILUPreconditioner(Foam: :lduMatrix::solver const&, Foam::Istream&) in "/home/sersunzo/OpenFOAM/OpenFOAM-1.5/lib/linuxGccDPOpt/libOpenFOAM.so"
#5 Foam::lduMatrix:reconditioner::addasymMatrixCons tructorToTable<Foam:ILUPreconditioner>::New(Foam ::lduMatrix::solver const&, Foam::Istream&) in "/home/sersunzo/OpenFOAM/OpenFOAM-1.5/lib/linuxGccDPOpt/libOpenFOAM.so"
#6 Foam::lduMatrix:reconditioner::New(Foam::lduMatr ix::solver const&, Foam::Istream&) in "/home/sersunzo/OpenFOAM/OpenFOAM-1.5/lib/linuxGccDPOpt/libOpenFOAM.so"
#7 Foam::PBiCG::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/home/sersunzo/OpenFOAM/OpenFOAM-1.5/lib/linuxGccDPOpt/libOpenFOAM.so"
#8 Foam::fvMatrix<double>::solve(Foam::Istream&) in "/home/sersunzo/OpenFOAM/OpenFOAM-1.5/lib/linuxGccDPOpt/libfiniteVolume.so"
#9 Foam::fvMatrix<double>::solve() in "/home/sersunzo/OpenFOAM/OpenFOAM-1.5/applications/bin/linuxGccDPOpt/twoPhaseEulerFoam"
#10 main in "/home/sersunzo/OpenFOAM/OpenFOAM-1.5/applications/bin/linuxGccDPOpt/twoPhaseEulerFoam"
#11 __libc_start_main in "/lib/tls/i686/cmov/libc.so.6"
#12 Foam::regIOobject::readIfModified() in "/home/sersunzo/OpenFOAM/OpenFOAM-1.5/applications/bin/linuxGccDPOpt/twoPhaseEulerFoam"
Floating point exception

I do not understand if it depends on the fact that the solver cannot be used for steady state simulations or if I have to modify something else somewhere (I did not change anything in the controlDict for instance).

Thanks for the help

Alessio
sersunzo is offline   Reply With Quote

Old   April 8, 2009, 06:34
Default
  #2
Senior Member
 
Laurence R. McGlashan
Join Date: Mar 2009
Posts: 370
Rep Power: 23
l_r_mcglashan will become famous soon enough
You probably have to relax the equations. Add a subdictionary to fvSolution. As an example:

relaxationFactors
{
p 0.3
...etc
}

Be sure that your solution will reach a steady state though.
__________________
Laurence R. McGlashan :: Website

Last edited by l_r_mcglashan; April 8, 2009 at 07:45.
l_r_mcglashan is offline   Reply With Quote

Old   April 8, 2009, 14:42
Default
  #3
New Member
 
Alessio Alexiadis
Join Date: Mar 2009
Location: Birmingham, UK
Posts: 16
Rep Power: 17
sersunzo is on a distinguished road
Dear Laurence,

thanks for your reply. I modified the fvSolution file. Now it looks like this

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

solvers
{
p PCG
{
preconditioner none;
tolerance 1e-05;
relTol 0;
};
Ua PBiCG
{
preconditioner none;
tolerance 1e-05;
relTol 0;
};
Ub PBiCG
{
preconditioner none;
tolerance 1e-05;
relTol 0;
};
alpha PBiCG
{
preconditioner none;
tolerance 1e-10;
relTol 0;
};
beta PBiCG
{
preconditioner none;
tolerance 1e-10;
relTol 0;
};
Theta PBiCG
{
preconditioner none;
tolerance 1e-05;
relTol 0;
};
k PBiCG
{
preconditioner none;
tolerance 1e-05;
relTol 0;
};
epsilon PBiCG
{
preconditioner none;
tolerance 1e-05;
relTol 0;
};
}

SIMPLE
{
nNonOrthogonalCorrectors 0;
}

PISO
{
nCorrectors 2;
nNonOrthogonalCorrectors 0;
nAlphaCorr 2;
correctAlpha no;
pRefCell 0;
pRefValue 0;
}

relaxationFactors
{
p 0.3;
Ua 0.3;
Ub 0.3;
alpha 0.3;
}
// ************************************************** *********************** //

Turbulence and granular models are off and so beta, k, epsilon and theta are not important.

I have two questions I hope you can answer.

1) Shouldn't be SIMPLE instead of PISO the algorithm for stady-state? This is what I thought, but if I remove PISO OpenFoam complains that "keyword PISO is undefined in dictionary..."

2) I still missing something because if I run the case with the new fvSolution I got the following error

"previous iteration field
IOobject: volScalarField p "/home/sersunzo/OpenFOAM/sersunzo-1.5/run/MELPRIN/channel_wedin_type/h5/i=200/steady_state/0"

not stored. Use field.storePrevIter() at start of iteration.#0 Foam::error:rintStack(Foam::Ostream&) in "/home/sersunzo/OpenFOAM/OpenFOAM-1.5/lib/linuxGccDPOpt/libOpenFOAM.so"
#1 Foam::error::abort() in "/home/sersunzo/OpenFOAM/OpenFOAM-1.5/lib/linuxGccDPOpt/libOpenFOAM.so"
#2 Foam::Ostream& Foam:perator<< <Foam::error>(Foam::Ostream&, Foam::errorManip<Foam::error>) in "/home/sersunzo/OpenFOAM/OpenFOAM-1.5/applications/bin/linuxGccDPOpt/twoPhaseEulerFoam"
#3 Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>:revIter() const in "/home/sersunzo/OpenFOAM/OpenFOAM-1.5/applications/bin/linuxGccDPOpt/twoPhaseEulerFoam"
#4 Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::relax(double) in "/home/sersunzo/OpenFOAM/OpenFOAM-1.5/applications/bin/linuxGccDPOpt/twoPhaseEulerFoam"
#5 main in "/home/sersunzo/OpenFOAM/OpenFOAM-1.5/applications/bin/linuxGccDPOpt/twoPhaseEulerFoam"
#6 __libc_start_main in "/lib/tls/i686/cmov/libc.so.6"
#7 Foam::regIOobject::readIfModified() in "/home/sersunzo/OpenFOAM/OpenFOAM-1.5/applications/bin/linuxGccDPOpt/twoPhaseEulerFoam"


From function GeometricField<Type, PatchField, GeoMesh>:revIter() const
in file /home/dm2/henry/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/GeometricField.C at line 814.

FOAM aborting"

Do you have any idea what is wrong?

Thanks in advance.

Alessio
sersunzo is offline   Reply With Quote

Old   April 8, 2009, 19:09
Default
  #4
Senior Member
 
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36
alberto will become famous soon enoughalberto will become famous soon enough
The two-fluid solver is unsteady, so you should actually run an unsteady simulation, until the steady state, if it exists, is reached.

If you are sure a steady state exists, you can under-relax and use bigger time steps. The simulation won't be time accurate, but the final condition will be OK. If you want time accuracy, you should not under-relax because the code does not perform sub-iterations to ensure the solution is completely evolved during each time step when under-relaxation is applied.

OT question: Alessio, did you do your Ph.D. in Torino? :-)

Best regards,
__________________
Alberto Passalacqua

GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541)
OpenQBMM - An open-source implementation of quadrature-based moment methods.

To obtain more accurate answers, please specify the version of OpenFOAM you are using.
alberto is offline   Reply With Quote

Old   April 8, 2009, 21:27
Default
  #5
New Member
 
Alessio Alexiadis
Join Date: Mar 2009
Location: Birmingham, UK
Posts: 16
Rep Power: 17
sersunzo is on a distinguished road
Thanks Alberto,

last question. When I tried to underelax (transient case) I simply added something like this

relaxationFactors
{
p 0.3;
Ua 0.3;
Ub 0.3;
alpha 0.3;
}

to the fvSolutions file.

But I think I am missing something else I got an error of this type.

"IOobject: volScalarField p "/home/sersunzo/OpenFOAM/sersunzo-1.5/run/MELPRIN/channel_wedin_type/h5/i=200/steady_state/0" not stored. Use field.storePrevIter() at start of iteration"

It looks like the code does not save the previous time step for the relaxation... Do you know how this can be fixed?

PS. Si' Alberto sono di Torino, ci conosciamo?
sersunzo is offline   Reply With Quote

Old   April 8, 2009, 21:52
Default
  #6
Senior Member
 
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36
alberto will become famous soon enoughalberto will become famous soon enough
Hi,

remove the pressure under-relaxation coefficient. In twoPhaseEulerFoam you can under-relax the following variables: Ua, Ub, alpha, beta, Theta, k, epsilon.

Ciao, ci conosciamo di nome e di vista. Ero un dottorando del prof. Baldi. Trovi la mia mail nel profilo del forum.

Best regards,
__________________
Alberto Passalacqua

GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541)
OpenQBMM - An open-source implementation of quadrature-based moment methods.

To obtain more accurate answers, please specify the version of OpenFOAM you are using.
alberto is offline   Reply With Quote

Old   January 8, 2010, 13:01
Default Steady-State solver
  #7
Member
 
Sylvain Martel
Join Date: Apr 2009
Location: University of Sherbrooke/Quebec/Canada
Posts: 51
Rep Power: 17
smart is on a distinguished road
Hi all,

I am working on two-phase flow in convergent-divergent nozzle with bubble flow at the entrance. The pressure difference encountered a phase change and heat transfer. To solve this problem, I have to include phase chance and heat transfer in twoPhaseEulerFoam and to add compressibility. In addition, I would like a steady-state solver so I have to modify this aspect too. Is it possible?

Thank you and have a nice day,

Sylvain
smart is offline   Reply With Quote

Old   May 5, 2018, 15:29
Default Did you find a solution
  #8
Member
 
Bill Lasher
Join Date: Jun 2009
Posts: 36
Rep Power: 17
lasherwc is on a distinguished road
Hi Alessio:

I wondered if you found either a way to run twoPhaseEulerFoam as a steady-state solver or with a much larger Courant no. I've tried to adjust the PIMPLE parameters but with no success.

Thanks,

Bill
lasherwc is offline   Reply With Quote

Old   May 8, 2018, 04:46
Default
  #9
Senior Member
 
Join Date: Aug 2014
Location: Germany
Posts: 292
Rep Power: 14
BlnPhoenix is on a distinguished road
I'm not to sure about running twophaseeulerfoam as a steady state solver but i tested it with higher Co numbers than 1 and it can be stable.
BlnPhoenix is offline   Reply With Quote

Old   May 8, 2018, 11:19
Default
  #10
Member
 
Bill Lasher
Join Date: Jun 2009
Posts: 36
Rep Power: 17
lasherwc is on a distinguished road
Hi:

Did you change the PIMPLE settings or just run it at a higher C0? Do you remember how high you were able to go?

Thanks,

Bill
lasherwc is offline   Reply With Quote

Old   May 9, 2018, 03:30
Default
  #11
Senior Member
 
Join Date: Aug 2014
Location: Germany
Posts: 292
Rep Power: 14
BlnPhoenix is on a distinguished road
Quote:
Originally Posted by lasherwc View Post
Hi:

Did you change the PIMPLE settings or just run it at a higher C0? Do you remember how high you were able to go?

Thanks,

Bill
I raised the convergence criterium for pressure. The rest was pretty standard PIMPLE. I think i managed to have Co = 4 - 6..
Maybe you can post the fvsolution file. For which Co is your case crashing?
BlnPhoenix is offline   Reply With Quote

Old   May 9, 2018, 18:11
Default
  #12
Member
 
Bill Lasher
Join Date: Jun 2009
Posts: 36
Rep Power: 17
lasherwc is on a distinguished road
I had played around with the PIMPLE settings and could never get it to run continuously with a Courant number > 1. Once it got above 1 it would slowly increase and eventually blow up.

Here is the fvSolution file. It is directly from the bubbleColumn tutorial. Thanks for taking a look!

FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

solvers
{
alpha.air
{
nAlphaCorr 1;
nAlphaSubCycles 2;
}

p_rgh
{
solver GAMG;
smoother DIC;
tolerance 1e-8;
relTol 0;
}

p_rghFinal
{
$p_rgh;
relTol 0;
}

"U.*"
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-7;
relTol 0;
minIter 1;
}

"e.*"
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-7;
relTol 0;
minIter 1;
}

"(k|epsilon|Theta).*"
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-7;
relTol 0;
minIter 1;
}
}

PIMPLE
{
nOuterCorrectors 3;
nCorrectors 1;
nNonOrthogonalCorrectors 1;
}

relaxationFactors
{
equations
{
".*" 1;
}
}
lasherwc is offline   Reply With Quote

Old   June 17, 2021, 12:14
Default
  #13
New Member
 
David
Join Date: Jan 2021
Posts: 13
Rep Power: 5
dalschouten is on a distinguished road
Did anyone make any progress on this?
dalschouten is offline   Reply With Quote

Reply

Tags
stedystate, twophaseeulerfoam


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 Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Coalescence and breakup in twoPhaseEulerFoam m9819348 OpenFOAM Running, Solving & CFD 11 March 4, 2022 13:15
WordstripInvalid in twoPhaseEulerFoam alberto OpenFOAM Running, Solving & CFD 6 December 20, 2011 12:02
twoPhaseEulerFoam Problems Dale OpenFOAM Running, Solving & CFD 19 April 21, 2009 10:02
TwoPhaseEulerFoam and InletOutlet boundary condition hemph OpenFOAM Running, Solving & CFD 10 January 29, 2007 10:47
TwoPhaseEulerFOAM application hemph OpenFOAM Bugs 0 November 16, 2006 08:27


All times are GMT -4. The time now is 14:42.