diff --git a/src/Allwmake b/src/Allwmake index 20d18c3a24358f330db815ef65b0df34636285ea..c9561848d2e9c4d9890c537e90e5579a1b3874f5 100755 --- a/src/Allwmake +++ b/src/Allwmake @@ -1,5 +1,6 @@ #!/bin/sh cd "${0%/*}" || exit # Run from this directory +. "${WM_PROJECT_DIR:?}"/wmake/scripts/AllwmakeParseArguments #------------------------------------------------------------------------------ petsc4Foam/Allwmake $* diff --git a/src/petsc4Foam/utils/petscCacheManager.H b/src/petsc4Foam/utils/petscCacheManager.H index 5cacb9fbd51516cef46106fc521122b6afe5d311..407524e5cd614e1457efa9b7383df44bd4f5d140 100644 --- a/src/petsc4Foam/utils/petscCacheManager.H +++ b/src/petsc4Foam/utils/petscCacheManager.H @@ -40,7 +40,7 @@ Description { matrix { - update always; + update always; // (default: always) } preconditioner @@ -86,22 +86,23 @@ struct Caching //- Caching update types enum updateTypes { - Always, //!< "always" update every time-step + Always, //!< "always" update every time-step [default] Periodic, //!< "periodic" update at given period Adaptive, //!< "adaptive" update scheme - Never, //!< "never" update - None = Never, //!< "none" is an alias for "never" + Never, //!< "never" update (or "none") }; - //- Names for selectable caching types + //- Names for the update types static const Enum<updateTypes> updateTypeNames_; // Member Data + //- Caching update updateTypes updateType_; + //- Cache update frequency (for Periodic) int updateFreq_; //- Elapsed time (s) for current iteration @@ -281,7 +282,7 @@ private: const double ratio1 = precondCaching.time1 / precondCaching.timeIter; - int nsteps = + const int nsteps = min(1e5, ratio0 * (1. / mag(1. - ratio1 + 1e-6))); if (iter >= nsteps)