Commit Graph

3300 Commits

Author SHA1 Message Date
4dc35c6810 thermophysicalModels: Implementation of the full algebraic Jacobian
including third-body and pressure dependent derivatives, and derivative of the
temperature term.  The complete Jacobian is more robust than the incomplete and
partially approximate form used previously and improves the efficiency of the
stiff ODE solvers which rely on the Jacobian.

Reaction rate evaluation moved from the chemistryModel to specie library to
simplfy support for alternative reaction rate expressions and associated
Jacobian terms.

Temperature clipping included in the Reaction class. This is inactive by default
but for most cases it is advised to provide temperature limits (high and
low). These are provided in the foamChemistryFile with the keywords Thigh and
Tlow. When using chemkinToFoam these values are set to the limits of the Janaf
thermodynamic data.  With the new Jacobian this temperature clipping has proved
very beneficial for stability and for some cases essential.

Improvement of the TDAC MRU list better integrated in add and grow functions.

To get the most out of this significant development it is important to re-tune
the ODE integration tolerances, in particular the absTol in the odeCoeffs
sub-dictionary of the chemistryProperties dictionary:

odeCoeffs
{
    solver          seulex;
    absTol          1e-12;
    relTol          0.01;
}

Typically absTol can now be set to 1e-8 and relTol to 0.1 except for ignition
time problems, and with theses settings the integration is still robust but for
many cases a lot faster than previously.

Code development and integration undertaken by
Francesco Contino
Henry G. Weller, CFD Direct
2018-06-15 12:26:59 +01:00
aad024163d Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2018-06-14 20:12:00 +01:00
4a46fab1ba *EulerFoam/interfacialModels/dragModels/IshiiZuber: Set constants to correspond to original paper
"Drag Coefficient and relative velocity in bubbly, droplet and
         particulate flows",
        Ishii, M., Zuber, N.,
        AIChE Journal 5, Vol. 25, 1979, pp. 843-855.
2018-06-14 20:09:58 +01:00
a129dda6a7 phasePair: Corrected surface tension access 2018-06-14 15:59:15 +01:00
a3177bd759 twoPhaseMixtureThermo: Fix for collated file operation
twoPhaseMixtureThermo writes the temperatures during construction only
for them to be read again immediately after by construction of the
individual phases' thermo models. When running with collated file
handling this behaviour is not thread safe. This change deactivates
threading for the duration of this behaviour.

Patch contributed by Mattijs Janssens
2018-06-14 10:55:27 +01:00
268f1f612e hRef: Define height in opposite direction to gravity
The reference height is now defined in the direction of -g, whether as
previously it was defined in the direction cmptMag(g). This change makes
the behaviour consistent when the case is transformed. For a "typical"
case with g along one of the negative axes, this should make no
difference. None of the tutorials are affected.

Resolves bug report https://bugs.openfoam.org/view.php?id=2980
2018-06-14 10:49:15 +01:00
ff2c53086c paraFoam: Display fields in constant 2018-06-14 10:40:22 +01:00
1fb1183478 ReactingMultiphaseParcel: Enable surface reactions when devolatilisation is inactive
Resolves bug report https://bugs.openfoam.org/view.php?id=2966
2018-06-13 10:37:19 +01:00
ee6a53adee seulex: Reverting change to stability/monotonicity check
This change cause some cases to fail, in particular
tutorials/lagrangian/sprayFoam/aachenBomb

Reopened https://bugs.openfoam.org/view.php?id=2972
2018-06-12 10:11:50 +01:00
786318cabd utilities: Centralized annotated utility dictionaries to etc/caseDicts/annotated 2018-06-11 17:20:08 +01:00
2e1825a50f utilities: Remove unused case related options 2018-06-11 15:21:34 +01:00
712d4ca07d OpenFOAM: Added new removeCaseOptions.H convenience header 2018-06-11 15:20:15 +01:00
7e466cfbd7 foamDictionary, adiabaticFlameT, equilibriumFlameT: remove unused case related options 2018-06-11 14:31:36 +01:00
61363e74c6 Random: Declare member function specializations within the Foam namespace
Required for gcc-4.8.5
2018-06-11 14:21:58 +01:00
50cb3059c9 multiphaseEulerFoam: Corrected documentation
Resolves bug-report https://bugs.openfoam.org/view.php?id=2978
2018-06-11 14:08:26 +01:00
3510204297 etc/caseDicts: added useful examples of common dictionary files
including decomposeParDict, mapFieldsDict, setFieldsDict, surfaceFeaturesDict,
createBafflesDict, createPatchDict, snappyHexMeshDict, extrudeMeshDict and
collapseDict
2018-06-11 12:27:40 +01:00
e757494134 aerofoilNACA0012: use simpler, plane extrusionModel for 2D geometries 2018-06-11 11:14:06 +01:00
b06ab58a18 OSspecific: Removed unused random generator functions 2018-06-11 11:01:11 +01:00
002e7d7b06 Random: Replaced drand48 with an in-class implementation
This is faster than the library functionality that it replaces, as it
allows the compiler to do inlining. It also does not utilise any static
state so generators do not interfere with each other. It is also faster
than the the array lookup in cachedRandom. The cachedRandom class
therefore offers no advantage over Random and has been removed.
2018-06-11 11:01:11 +01:00
88a218ce84 treeBoundBox: Removed unecessary randomisation
Tree bound boxes are expanded asymmetrically to reduce the liklihood of
octree faces aliging with mesh faces and edges. The asymmetry is now
generated using hard-coded irrational numbers, rather than using a
random generator.

The asymmetry was effectively already hard coded. The random numbers are
only pseudo random, so the same numbers were being applied to the bound
boxes every time. This change simply removes the overhead of creating
the generator, and also gets rid of some duplicated code.
2018-06-11 11:01:11 +01:00
dc2c1e2d6d foamDictionary: Removed unused -case option
Resolves bug-report https://bugs.openfoam.org/view.php?id=2974
2018-06-11 10:33:59 +01:00
a2d222b3eb tutorials/lagrangian/reactingParcelFoam/hotBoxes/Allrun-parallel: Added missing cp
Resolves bug-report https://bugs.openfoam.org/view.php?id=2976
2018-06-11 08:24:12 +01:00
efd555cd2d rhoPimpleFoam: Only execute the density predictor if not in simpleRho mode 2018-06-10 22:45:46 +01:00
247378332d Relocated etc/caseDicts/foamyHexMeshDict -> etc/caseDicts/mesh/generation/foamyHexMeshDict 2018-06-10 22:44:58 +01:00
2bd229df02 tutorials: Added the new Allmesh scripts 2018-06-10 17:40:12 +01:00
49f853110b applications/utilities: Removed duplicate dictionaries 2018-06-10 17:39:21 +01:00
b012e13a49 foamToVTK::writeVTK: Added a standard functionObject configuration file 2018-06-10 17:37:43 +01:00
a6e159ae5f Make/options: Rationalized the layout of the EXE_INC statements 2018-06-10 17:11:22 +01:00
c55eee0f66 adiabaticFlameT, equilibriumFlameT, mixtureAdiabaticFlameT: Rationalized the name of the properties dictionary
which controls the operation of these utilities
2018-06-10 17:09:43 +01:00
4e0f49a858 tutorials: Rationalized the naming of the meshing script when it is separated from Allrun to Allmesh 2018-06-10 16:08:36 +01:00
e38bfba89e Removed redundant minTetQuality entries in template cases 2018-06-09 15:06:35 +01:00
63d066f6dc meshQualityDict.cfg: disabled minTetQuality since tracking works without it 2018-06-09 14:41:08 +01:00
76cb711875 Revert "meshQualityDict.cfg: disabled minTetQuality since tracking works without it"
This reverts commit 04954fbd19.
2018-06-09 14:32:36 +01:00
04954fbd19 meshQualityDict.cfg: disabled minTetQuality since tracking works without it 2018-06-09 14:28:12 +01:00
0813f80ebd tutorials: removed redundant entries from snappyHexMeshDict files 2018-06-09 14:26:11 +01:00
7c3732aa5a meshQualityDict: 'master' dictionary relocated to 'etc/caseDicts/mesh/generation' 2018-06-09 14:18:16 +01:00
a8da890c5a pimpleFoam: Updated documentation 2018-06-09 13:35:51 +01:00
5aeb17d9e7 heatExchanger tutorial: removed unnecessary creation of empty baffle patch 2018-06-09 13:26:38 +01:00
338af65685 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2018-06-08 23:02:33 +01:00
8ab5b6152e CSV: Updated writing of componentColumns for consistency with construction for binary IO
Resolves bug-report https://bugs.openfoam.org/view.php?id=2950
2018-06-08 23:01:24 +01:00
a5a551f665 compressibleInterFilmFoam: Updated documentation 2018-06-08 23:01:00 +01:00
50a965f886 particle: Fixed topology error in locate method
Fixes problem introduced by commit 89de5349
2018-06-08 15:58:22 +01:00
675bfc7321 chtMultiRegionFoam: Updated description 2018-06-08 14:59:10 +01:00
535b3bd5ea Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2018-06-07 13:22:47 +01:00
bf1673fb2f rhoPimpleFoam: Predict rho at start of first PIMPLE outer loop 2018-06-07 13:21:28 +01:00
89de534923 particle: Improved robustness of locate method 2018-06-07 12:10:29 +01:00
1ba5ebef03 foamCloneCase: only list copied directories to avoid confusion 2018-06-07 10:56:01 +01:00
99bdbfae15 particle: Improved debugging for tracking on moving meshes 2018-06-07 09:23:01 +01:00
873d2c9c23 seulex: changed monotonicity check to correspond to original implementation
Resolves bug-report https://bugs.openfoam.org/view.php?id=2972
2018-06-06 15:13:08 +01:00
7f49d6e2cc scale: function object to multiply a field by a scale factor 2018-06-06 09:41:04 +01:00