|
[Sponsors] |
SimpleFoam solver doesn't end the process after convergence is reached |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
December 12, 2022, 06:52 |
SimpleFoam solver doesn't end the process after convergence is reached
|
#1 |
New Member
Abhishek Srivastava
Join Date: Apr 2017
Location: Aveiro, Portugal
Posts: 11
Rep Power: 9 |
Dear Foam users,
I have developed a code in which I have to stop the simulation after a certain value of an 'objective function' is reached. The code used to work well and suddenly I get a strange error in which the code doesn't stop the process once the convergence criteria is met. I am unable to figure out what could be reason for this. I have checked the BC's, fvSolution and the code but couldn't figure out. Any suggestions would help. log file: Code:
Difference from fobjTot prev value is 0.000993049 nCounter: 8 Time = 1007 smoothSolver: Solving for Ux, Initial residual = 0.000251858, Final residual = 2.41959e-05, No Iterations 2 smoothSolver: Solving for Uy, Initial residual = 0.000354038, Final residual = 1.28174e-05, No Iterations 3 smoothSolver: Solving for Uz, Initial residual = 4.22694e-05, Final residual = 1.45835e-06, No Iterations 3 GAMG: Solving for p, Initial residual = 5.11821e-05, Final residual = 2.93447e-06, No Iterations 2 time step continuity errors : sum local = 0.000686456, global = -0.000113395, cumulative = 313072 DILUPBiCG: Solving for T, Initial residual = 0.00112086, Final residual = 5.13307e-05, No Iterations 1 ExecutionTime = 61.02 s ClockTime = 61 s Difference from fobjTot prev value is 0.000992063 nCounter: 9 Time = 1008 smoothSolver: Solving for Ux, Initial residual = 0.000250857, Final residual = 2.40985e-05, No Iterations 2 smoothSolver: Solving for Uy, Initial residual = 0.000352491, Final residual = 1.27625e-05, No Iterations 3 smoothSolver: Solving for Uz, Initial residual = 4.20958e-05, Final residual = 1.4525e-06, No Iterations 3 GAMG: Solving for p, Initial residual = 5.10157e-05, Final residual = 2.92618e-06, No Iterations 2 time step continuity errors : sum local = 0.000684548, global = -0.000112994, cumulative = 313072 DILUPBiCG: Solving for T, Initial residual = 0.00112089, Final residual = 5.13313e-05, No Iterations 1 ExecutionTime = 61.08 s ClockTime = 61 s Difference from fobjTot prev value is 0.00099108 nCounter: 10 Time = 1009 smoothSolver: Solving for Ux, Initial residual = 0.00024986, Final residual = 2.40015e-05, No Iterations 2 smoothSolver: Solving for Uy, Initial residual = 0.00035095, Final residual = 1.27079e-05, No Iterations 3 smoothSolver: Solving for Uz, Initial residual = 4.19231e-05, Final residual = 1.44668e-06, No Iterations 3 GAMG: Solving for p, Initial residual = 5.08501e-05, Final residual = 2.91791e-06, No Iterations 2 time step continuity errors : sum local = 0.000682647, global = -0.000112595, cumulative = 313072 DILUPBiCG: Solving for T, Initial residual = 0.00112091, Final residual = 5.13319e-05, No Iterations 1 ExecutionTime = 61.15 s ClockTime = 61 s reached convergence criterion for fobjTot Time = 1010 smoothSolver: Solving for Ux, Initial residual = 0.000248867, Final residual = 2.39049e-05, No Iterations 2 smoothSolver: Solving for Uy, Initial residual = 0.000349415, Final residual = 1.26535e-05, No Iterations 3 smoothSolver: Solving for Uz, Initial residual = 4.17513e-05, Final residual = 1.44089e-06, No Iterations 3 GAMG: Solving for p, Initial residual = 5.06853e-05, Final residual = 2.90968e-06, No Iterations 2 time step continuity errors : sum local = 0.000680751, global = -0.000112198, cumulative = 313072 DILUPBiCG: Solving for T, Initial residual = 0.00112093, Final residual = 5.13325e-05, No Iterations 1 ExecutionTime = 61.23 s ClockTime = 61 s ControlDict: Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: v2012 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // application simpleFoam; startFrom startTime; startTime 0; stopAt endTime; endTime 20000; deltaT 1.0; writeControl timeStep; writeInterval 100; purgeWrite 0; writeFormat ascii; writePrecision 6; writeCompression off; timeFormat general; timePrecision 6; runTimeModifiable true; libs ("libmyViscosityModels.so"); functions { functionObj { type fobj; libs ("libfobjFunctionObject.so"); nES 3; //dependent of geometry nIS 1; //dependent of geometry } } // *********************************************************************// Code:
if (Pstream::master()) { scalar tol = 1e-3; label minCounter = 10; label timeSteps = time_.time().value(); scalar fobjTotOld = fobjTot; fobjTotOld = Foam::scalar(timeSteps); scalar fobjTotNew = fobjTot; fobjTotNew = Foam::scalar(timeSteps+1); scalar diff = (fobjTotNew - fobjTotOld)/fobjTotNew; if (diff <= tol) { nCounter_ += 1; } else { nCounter_ = 0; } if (nCounter_ > minCounter) { Info << "reached convergence criterion for fobjTot" << endl; obr_.time().stopAt(Time::saNoWriteNow); } else { Info << "Difference from fobjTot prev value is " << diff << endl; Info << "nCounter: " << nCounter_ << endl; } } return true; } |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Wind turbine simulation | Saturn | CFX | 60 | July 17, 2024 06:45 |
Multiphase flow - incorrect velocity on inlet | Mike_Tom | CFX | 6 | September 29, 2016 02:27 |
Wrong flow in ratating domain problem | Sanyo | CFX | 17 | August 15, 2015 07:20 |
Low torque values on Screw Turbine | Shaun Waters | CFX | 34 | July 23, 2015 09:16 |
An error has occurred in cfx5solve: | volo87 | CFX | 5 | June 14, 2013 18:44 |