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

pimplefoam doesn't converge

Register Blogs Community New Posts Updated Threads Search

Like Tree5Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   January 7, 2021, 09:28
Default
  #21
Senior Member
 
Join Date: Dec 2019
Location: Cologne, Germany
Posts: 369
Rep Power: 8
geth03 is on a distinguished road
ok lets try this then:
1. start the simulation with superslow velocity, maybe only 1/10 or 1/20 or 1/50 or even 1/100. you get my point.
2. also change the viscosity of the fluid to a higher value, btw what is your viscosity like?
geth03 is offline   Reply With Quote

Old   January 9, 2021, 07:15
Default
  #22
Member
 
Join Date: Jun 2020
Posts: 37
Rep Power: 6
efsolat is on a distinguished road
Quote:
Originally Posted by geth03 View Post
ok lets try this then:
1. start the simulation with superslow velocity, maybe only 1/10 or 1/20 or 1/50 or even 1/100. you get my point.
2. also change the viscosity of the fluid to a higher value, btw what is your viscosity like?

Thank you geth03 for putting your time.
In my simulation, the flow is very slow for which the Reynolds number is of the order of e-04

Code:
transportModel Newtonian;
   nu     1e-6;
   rho    1000;
and i decreased the velocity 2 order of magnitude as you suggested. the same error occurred as below


Code:
time step continuity errors : sum local = 1.54089e+65, global = 5.03892e+64, cumulative = 5.03892e+64
PIMPLE: iteration 5
#0  Foam::error::printStack(Foam::Ostream&) at ??:?
#1  Foam::sigFpe::sigHandler(int) at ??:?
#2  ? in /lib/x86_64-linux-gnu/libc.so.6
#3  void Foam::lduInterfaceField::addToInternalField<double>(Foam::Field<double>&, bool, Foam::Field<double> const&, Foam::Field<double> const&) const at ??:?
#4  Foam::cyclicFvPatchField<Foam::Vector<double> >::updateInterfaceMatrix(Foam::Field<double>&, bool, Foam::Field<double> const&, Foam::Field<double> const&, unsigned char, Foam::UPstream::commsTypes) const at ??:?
#5  Foam::lduMatrix::updateMatrixInterfaces(bool, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, Foam::Field<double> const&, Foam::Field<double>&, unsigned char) const at ??:?
#6  Foam::symGaussSeidelSmoother::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 ??:?
#7  Foam::symGaussSeidelSmoother::smooth(Foam::Field<double>&, Foam::Field<double> const&, unsigned char, int) const at ??:?
#8  Foam::smoothSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
#9  Foam::fvMatrix<Foam::Vector<double> >::solveSegregated(Foam::dictionary const&) at ??:?
#10  Foam::fvMatrix<Foam::Vector<double> >::solveSegregatedOrCoupled(Foam::dictionary const&) at ??:?
#11  Foam::fvMesh::solve(Foam::fvMatrix<Foam::Vector<double> >&, Foam::dictionary const&) const at ??:?
#12  ? in ~/OpenFOAM/OpenFOAM-v1912/platforms/linux64GccDPInt32Opt/bin/pimpleFoam
#13  __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6
#14  ? in ~/OpenFOAM/OpenFOAM-v1912/platforms/linux64GccDPInt32Opt/bin/pimpleFoam
\
I am not familiar with C++ but from the bold keywords i guessed that the problem might be due to baffles i created as the interface between the fluid media and the porous one.

in short, i made the geometry with blockmMesh and then separated some cell zones and defined baffles between them. i set the BCs of the baffles as cyclic (for U) and porousBafflePressure (for p). To examine my guess about the problem i changed the pressure BC to cyclic and executed the application. it progressed without the above error but the time step continuity errors exploded after 11 iterations (time step continuity errors : sum local = 2.00222e+09, global = -6.33137e+07, cumulative = -6.33139e+07
PIMPLE: iteration 12
) and i stopped it.
Since then i have googled and tried other BCs for baffles but no one seems useful and it doesn't run with the following error.


Code:
Starting time loop

Courant Number mean: 8.40068e-07 max: 0.036
Time = 0.005

PIMPLE: iteration 1
smoothSolver:  Solving for Ux, Initial residual = 3.35635e-07, Final residual = 3.35635e-07, No Iterations 0
smoothSolver:  Solving for Uy, Initial residual = 0.0226208, Final residual = 3.06616e-18, No Iterations 3
smoothSolver:  Solving for Uz, Initial residual = 0.000112152, Final residual = 1.16803e-22, No Iterations 3
#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::DICPreconditioner::calcReciprocalD(Foam::Field<double>&, Foam::lduMatrix const&) at ??:?
#4  Foam::DICPreconditioner::DICPreconditioner(Foam::lduMatrix::solver const&, Foam::dictionary const&) at ??:?
#5  Foam::lduMatrix::preconditioner::addsymMatrixConstructorToTable<Foam::DICPreconditioner>::New(Foam::lduMatrix::solver const&, Foam::dictionary const&) at ??:?
#6  Foam::lduMatrix::preconditioner::New(Foam::lduMatrix::solver const&, Foam::dictionary const&) at ??:?
#7  Foam::PBiCGStab::scalarSolve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
#8  Foam::PBiCGStab::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
#9  Foam::fvMatrix<double>::solveSegregated(Foam::dictionary const&) at ??:?
#10  Foam::fvMatrix<double>::solveSegregatedOrCoupled(Foam::dictionary const&) at ??:?
#11  Foam::fvMesh::solve(Foam::fvMatrix<double>&, Foam::dictionary const&) const at ??:?
#12  ? in ~/OpenFOAM/OpenFOAM-v1912/platforms/linux64GccDPInt32Opt/bin/pimpleFoam
#13  __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6
#14  ? in ~/OpenFOAM/OpenFOAM-v1912/platforms/linux64GccDPInt32Opt/bin/pimpleFoam
I know that the way i am trying to solve the problem seems as trial and error it is less than 6 months i have started learning OF


Any suggestion and/or advice would be helpful.
Regards
efsolat is offline   Reply With Quote

Old   January 9, 2021, 17:50
Default Could you post your controldict file?
  #23
Member
 
Chris Harding
Join Date: Dec 2016
Posts: 76
Rep Power: 10
HappyS5 is on a distinguished road
If not, what is your write interval set at? It should be a time value when using adjustibleRuneTime and MaxCo. It will not likely help you converge, though. Please post your file.
HappyS5 is offline   Reply With Quote

Old   January 10, 2021, 09:27
Default
  #24
Member
 
Join Date: Jun 2020
Posts: 37
Rep Power: 6
efsolat is on a distinguished road
This is the controlDict file
Code:
application     pimpleFoam;

startFrom       startTime;//latestTime;//

startTime       0;

stopAt          endTime;

endTime         5;

deltaT          0.005;

writeControl    timeStep;

writeInterval   4;

purgeWrite      0;

writeFormat      ascii;

writePrecision  6;

writeCompression off;

timeFormat      general;

timePrecision   6;

runTimeModifiable true;

adjustTimeStep false;//true;
maxCo           1;
maxAlphaCo      0.7;
maxDeltaT       0.05;
Regards
efsolat is offline   Reply With Quote

Old   January 10, 2021, 11:40
Default
  #25
Member
 
Chris Harding
Join Date: Dec 2016
Posts: 76
Rep Power: 10
HappyS5 is on a distinguished road
Quote:
Originally Posted by efsolat View Post
This is the controlDict file
Code:
application     pimpleFoam;

startFrom       startTime;//latestTime;//

startTime       0;

stopAt          endTime;

endTime         5;

deltaT          0.005;

writeControl    timeStep;

writeInterval   4;

purgeWrite      0;

writeFormat      ascii;

writePrecision  6;

writeCompression off;

timeFormat      general;

timePrecision   6;

runTimeModifiable true;

adjustTimeStep false;//true;
maxCo           1;
maxAlphaCo      0.7;
maxDeltaT       0.05;
Regards
The writecontrol should be <adjustibleRuntime>, the write interval should be at least 5 saves of your actual time step.

I believe your deltaT is causing your divergence. It is not being adjusted to control your MaxCo.
HappyS5 is offline   Reply With Quote

Old   January 11, 2021, 03:31
Default
  #26
Senior Member
 
Join Date: Dec 2019
Location: Cologne, Germany
Posts: 369
Rep Power: 8
geth03 is on a distinguished road
good point from HappyS5,

when starting a simulation, and especially complex simulations, it is quite likely that your initial conditions are not well set.
when starting a simulation, you should therefore set your initial deltaT to very low numbers, lets say 0.0000005 or so, and adjust it via the maxCo utility. maxCo also won't change deltaT rapidly, rather smoothly, so it will be difficult that your simulation diverges just because of deltaT adjustment.
HappyS5 likes this.
geth03 is offline   Reply With Quote

Old   March 1, 2021, 08:12
Default
  #27
Member
 
Join Date: Jun 2020
Posts: 37
Rep Power: 6
efsolat is on a distinguished road
In spite of putting much time on the issue but still struggling with the same problem and no progress achieved.


Any help would be of great appreciation.
efsolat is offline   Reply With Quote

Reply


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
pimpleFoam runs slower than rhoPimpleFoam Kosuke Seto OpenFOAM Running, Solving & CFD 3 May 27, 2023 15:12
tutorial guide of converge Weiqiang Liu CONVERGE 4 August 6, 2020 05:24
PimpleFoam runs full length even after residuals converge! walakaka OpenFOAM Running, Solving & CFD 3 February 28, 2018 14:08
cannot converge a pimpleFoam simulation iper88 OpenFOAM Running, Solving & CFD 1 November 26, 2015 09:04
PisoFoam and PimpleFoam for my problem can not converge mechy OpenFOAM 0 August 1, 2013 06:56


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