2 volScalarField& rDeltaT = trDeltaT.ref();
4 const dictionary& pimpleDict = pimple.dict();
8 pimpleDict.getOrDefault<scalar>(
"maxCo", 0.8)
11 scalar rDeltaTSmoothingCoeff
13 pimpleDict.getOrDefault<scalar>(
"rDeltaTSmoothingCoeff", 0.02)
16 scalar rDeltaTDampingCoeff
18 pimpleDict.getOrDefault<scalar>(
"rDeltaTDampingCoeff", 1.0)
23 pimpleDict.getOrDefault<scalar>(
"maxDeltaT", GREAT)
26 volScalarField rDeltaT0(
"rDeltaT0", rDeltaT);
31 1 / dimensionedScalar(
"maxDeltaT", dimTime, maxDeltaT),
32 fvc::surfaceSum(mag(phi))()()
33 / ((2 * maxCo) * mesh.V() * rho())
36 if (pimple.transonic())
38 surfaceScalarField phid
41 fvc::interpolate(psi)*fvc::flux(U)
46 fvc::surfaceSum(mag(phid))()()
47 / ((2 * maxCo) * mesh.V() * psi())
52 rDeltaT.correctBoundaryConditions();
54 Info <<
"Flow time scale min/max = "
55 << gMin(1 / rDeltaT.primitiveField())
56 <<
", " << gMax(1 / rDeltaT.primitiveField()) << endl;
58 if (rDeltaTSmoothingCoeff < 1.0)
60 fvc::smooth(rDeltaT, rDeltaTSmoothingCoeff);
63 Info <<
"Smoothed flow time scale min/max = "
64 << gMin(1 / rDeltaT.primitiveField())
65 <<
", " << gMax(1 / rDeltaT.primitiveField()) << endl;
72 rDeltaTDampingCoeff < 1.0
73 && runTime.timeIndex() > runTime.startTimeIndex() + 1
78 *
max(rDeltaT / rDeltaT0, scalar(1) - rDeltaTDampingCoeff);
79 Info <<
"Damped flow time scale min/max = "
80 << gMin(1 / rDeltaT.primitiveField())
81 <<
", " << gMax(1 / rDeltaT.primitiveField()) << endl;
T max(Eigen::SparseMatrix< T > &mat, label &ind_row, label &ind_col)
Find the maximum of a sparse Matrix (Useful for DEIM).