mirror of
https://github.com/OpenFOAM/OpenFOAM-6.git
synced 2025-12-08 06:57:46 +00:00
ODESolver: maxSteps now an optional input
e.g.
odeCoeffs
{
solver seulex;
absTol 1e-12;
relTol 0.0001;
maxSteps 1e+06;
}
maxSteps defaults to 10000 for backward compatibility.
This commit is contained in:
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -64,7 +64,7 @@ Foam::ODESolver::ODESolver(const ODESystem& ode, const dictionary& dict)
|
|||||||
n_(ode.nEqns()),
|
n_(ode.nEqns()),
|
||||||
absTol_(n_, dict.lookupOrDefault<scalar>("absTol", SMALL)),
|
absTol_(n_, dict.lookupOrDefault<scalar>("absTol", SMALL)),
|
||||||
relTol_(n_, dict.lookupOrDefault<scalar>("relTol", 1e-4)),
|
relTol_(n_, dict.lookupOrDefault<scalar>("relTol", 1e-4)),
|
||||||
maxSteps_(10000)
|
maxSteps_(dict.lookupOrDefault<scalar>("maxSteps", 10000))
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
@ -189,8 +189,8 @@ void Foam::ODESolver::solve
|
|||||||
}
|
}
|
||||||
|
|
||||||
FatalErrorInFunction
|
FatalErrorInFunction
|
||||||
<< "Integration steps greater than maximum " << maxSteps_
|
<< "Integration steps greater than maximum " << maxSteps_ << nl
|
||||||
<< "xStart = " << xStart << ", xEnd = " << xEnd
|
<< " xStart = " << xStart << ", xEnd = " << xEnd
|
||||||
<< ", x = " << x << ", dxDid = " << step.dxDid
|
<< ", x = " << x << ", dxDid = " << step.dxDid
|
||||||
<< exit(FatalError);
|
<< exit(FatalError);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user