Skip to content

airshaper/openfoam-convergence-detection

Repository files navigation

Openfoam.com convergence detection

Motivation

Why we think this is better when runTimeControl in openfoam and residuals

How it works

This functionObject runs every iteration, it pulls force data and it stores the total force which is later used for the gradient calculation.

Parameters explanation

windowNormalization 0.5;

windowGradient 0.5;

windowGradientAveraging 0.99;

windowEvaluation 0.333;

windowEvaluationAveraging 0.333;

thresholdConvergence 0.075;

thresholdAveraging 0.025;

iterationMaxConvergence 4000;

If simulation does not converge start forced averging at 4000 iterations

iterationMaxAveraging 2000;

If simulation does not converge within 4000 iterations run 2000 averaging iterations so in total simulation will have 6000 iterations

iterationMinConvergence 200;

Minimum number of iterations in case simulation converges before 200 iterations

iterationMinAveraging 200;

Minimum number of averaging iterations in case simulation converges at iterationMinConvergence

forceStabilityFactor 2;

In case forces explode this factor is used to check if forces are 2 times higher or lower when the converged value and in case of that it stops the simulation. If this happens it means your mesh is not good enough.

Credits

Original Python implementation by João Miranda

OpenFoam C++ Implementation by Nikola Majksner

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published