Commit Graph

142 Commits

Author SHA1 Message Date
0857f479a8 PBiCGStab: New preconditioned bi-conjugate gradient stabilized solver for asymmetric lduMatrices
using a run-time selectable preconditioner

References:
    Van der Vorst, H. A. (1992).
    Bi-CGSTAB: A fast and smoothly converging variant of Bi-CG
    for the solution of nonsymmetric linear systems.
    SIAM Journal on scientific and Statistical Computing, 13(2), 631-644.

    Barrett, R., Berry, M. W., Chan, T. F., Demmel, J., Donato, J.,
    Dongarra, J., Eijkhout, V., Pozo, R., Romine, C. & Van der Vorst, H.
    (1994).
    Templates for the solution of linear systems:
    building blocks for iterative methods
    (Vol. 43). Siam.

See also: https://en.wikipedia.org/wiki/Biconjugate_gradient_stabilized_method

Tests have shown that PBiCGStab with the DILU preconditioner is more
robust, reliable and shows faster convergence (~2x) than PBiCG with
DILU, in particular in parallel where PBiCG occasionally diverges.

This remarkable improvement over PBiCG prompted the update of all
tutorial cases currently using PBiCG to use PBiCGStab instead.  If any
issues arise with this update please report on Mantis: http://bugs.openfoam.org
2016-09-05 11:46:42 +01:00
2ab457015d tutorials: corrected scripts ']; then' -> ' ]; then'
Patch contributed by Bruno Santos
Resolves bug-report http://bugs.openfoam.org/view.php?id=2175
2016-08-02 19:15:40 +01:00
3d98d6e5c6 changeDictionary: Simplified by removing the need for the superfluous dictionaryReplacement sub-dictionary
Added the option '-subDict' to specify a sub-dictionary if multiple
replacement sets are present in the same file.  This also provides
backward compatibility by setting '-subDict dictionaryReplacement'
2016-06-15 09:03:05 +01:00
344f435f54 Tutorials fvSolution files: removed solver entries which use default
values; formatted Switch entries consistently across all cases
2016-06-15 07:39:12 +01:00
3eec5854be Standardized the selection of required and optional fields in BCs, fvOptions, functionObjects etc.
In most boundary conditions, fvOptions etc. required and optional fields
to be looked-up from the objectRegistry are selected by setting the
keyword corresponding to the standard field name in the BC etc. to the
appropriate name in the objectRegistry.  Usually a default is provided
with sets the field name to the keyword name, e.g. in the
totalPressureFvPatchScalarField the velocity is selected by setting the
keyword 'U' to the appropriate name which defaults to 'U':

        Property     | Description             | Required    | Default value
        U            | velocity field name     | no          | U
        phi          | flux field name         | no          | phi
        .
        .
        .

However, in some BCs and functionObjects and many fvOptions another
convention is used in which the field name keyword is appended by 'Name'
e.g.

        Property     | Description             | Required    | Default value
        pName        | pressure field name     | no          | p
        UName        | velocity field name     | no          | U

This difference in convention is unnecessary and confusing, hinders code
and dictionary reuse and complicates code maintenance.  In this commit
the appended 'Name' is removed from the field selection keywords
standardizing OpenFOAM on the first convention above.
2016-05-21 20:28:20 +01:00
1b34231340 tutorials: Renamed .org -> .orig
See http://www.openfoam.org/mantisbt/view.php?id=2076
  - .org is the file extension for emacs org-mode as well
  - .orig is more to the point (.org isn't always recognized as "original")
  - .original is too long, although more consistent with the convention
    of source code file naming

Update script contributed by Bruno Santos
2016-04-30 21:53:50 +01:00
4bc77e6aff Sprucing up the tutorials folder and adding -dict to "collapseEdges"
Patch provided by Bruno Santos
Resolves patch application request http://www.openfoam.org/mantisbt/view.php?id=2015
2016-03-06 19:06:44 +00:00
350d03246e scripts: Reformat with consistent section separators 2016-02-15 18:30:24 +00:00
daf44fda3d tutorials and templates: Updated wall BC for velocity to noSlip 2016-02-09 20:08:34 +00:00
b3d47f0423 bin/tools/RunFunctions: runParallel now obtains the number of processors from numberOfSubdomains
in decomposeParDict.

This default number of processors may be overridden by the new "-np"
option to runParallel which must be specified before the application
name e.g.:

runParallel -np 4 pisoFoam
2016-01-27 14:19:25 +00:00
55f7d50be1 FreeBSD sed: ensure that a "-e" option immediately follows "-i" 2015-11-14 17:03:03 +00:00
8726cf20a0 blockMeshDict files: removed redundant location entries in FoamFile headers 2015-11-13 16:09:57 +00:00
37cfc3ab46 tutorials: Removed unnecessary spaces between parentheses and values in vectors 2015-07-21 20:55:44 +01:00
4c21f24a8c Input of dimensionedScalars: update read-construction of dimensionedScalar in applications
so that the specification of the name and dimensions are optional in property dictionaries.

Update tutorials so that the name of the dimensionedScalar property is
no longer duplicated but optional dimensions are still provided and are
checked on read.
2015-07-20 22:52:53 +01:00
0fb6a01280 fluxRequired: Added setFluxRequired function to fvSchemes class
Added calls to setFluxRequired for p, p_rgh etc. in all solvers which
avoids the need to add fluxRequired entries in fvSchemes dictionaries.
2015-07-15 21:57:16 +01:00
50ada7c994 blockMesh: Change default location of blockMeshDict from constant/polyMesh to system
For multi-region cases the default location of blockMeshDict is now system/<region name>

If the blockMeshDict is not found in system then the constant directory
is also checked providing backward-compatibility
2015-04-24 22:29:57 +01:00
ca53949d22 thermoSingleLayer: Revert q back to the working version in OpenFOAM-2.1.x
Revert changes in tutorial to correspond to the version in OpenFOAM-2.1.x
Resolves bug-report http://openfoam.org/mantisbt/view.php?id=1207
2015-03-10 19:59:09 +00:00
5ecfb06398 tutorials: remove unnecessary under-relax fields entry 2015-02-22 16:52:21 +00:00
ec143fcdb1 tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/patchifyObstacles: another change to avoid duplicate registration 2015-02-12 22:01:06 +00:00
183615e84f tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes: Avoid using the same same for different objects in setSet 2015-02-12 16:46:37 +00:00
332c3cc37f Tutorials: change topoSetDicts to avoid duplicate names 2015-02-12 10:01:31 +00:00
2aec249647 Updated the whole of OpenFOAM to use the new templated TurbulenceModels library
The old separate incompressible and compressible libraries have been removed.

Most of the commonly used RANS and LES models have been upgraded to the
new framework but there are a few missing which will be added over the
next few days, in particular the realizable k-epsilon model.  Some of
the less common incompressible RANS models have been introduced into the
new library instantiated for incompressible flow only.  If they prove to
be generally useful they can be templated for compressible and
multiphase application.

The Spalart-Allmaras DDES and IDDES models have been thoroughly
debugged, removing serious errors concerning the use of S rather than
Omega.

The compressible instances of the models have been augmented by a simple
backward-compatible eddyDiffusivity model for thermal transport based on
alphat and alphaEff.  This will be replaced with a separate run-time
selectable thermal transport model framework in a few weeks.

For simplicity and ease of maintenance and further development the
turbulent transport and wall modeling is based on nut/nuEff rather than
mut/muEff for compressible models so that all forms of turbulence models
can use the same wall-functions and other BCs.

All turbulence model selection made in the constant/turbulenceProperties
dictionary with RAS and LES as sub-dictionaries rather than in separate
files which added huge complexity for multiphase.

All tutorials have been updated so study the changes and update your own
cases by comparison with similar cases provided.

Sorry for the inconvenience in the break in backward-compatibility but
this update to the turbulence modeling is an essential step in the
future of OpenFOAM to allow more models to be added and maintained for a
wider range of cases and physics.  Over the next weeks and months more
turbulence models will be added of single and multiphase flow, more
additional sub-models and further development and testing of existing
models.  I hope this brings benefits to all OpenFOAM users.

Henry G. Weller
2015-01-21 19:21:39 +00:00
41368addc9 Minor change to comment 2014-12-14 21:50:14 +00:00
9fb26d59d3 GIT: Repo update 2014-12-11 08:35:10 +00:00
5fecd2b5dc Changing BC for U at side and front/back patches 2014-03-31 12:17:01 +01:00
0aa4d54666 BUG: making patchifyObstacles script POSIX compliant 2014-02-19 14:16:29 +00:00
fbb3ddf2c4 Updated for release 2.3.0 2014-02-17 10:21:46 +00:00
333818408f STYLE: sh instead of bash for tutorial scripts 2014-02-05 16:53:44 +00:00
9a73599edd ENH: tutorial update 2014-01-24 15:59:45 +00:00
b95c4f9ee7 ENH: lagrangian tutorial updates 2014-01-24 12:38:08 +00:00
5fffbd7bc3 ENH: lagrangian tutorial updates 2014-01-22 19:19:50 +00:00
203157e3e1 ENH: Tutorial updates 2013-12-09 10:20:38 +00:00
00f7b44fa1 ENH: Tutorial updates 2013-11-05 15:22:35 +00:00
fd9d4dad31 ENH: Tutorial updates 2013-10-11 11:54:05 +01:00
2d7959ec46 BUG: hotBoxes tutorial - updated patchifyObstacles script - mantis #1007 2013-09-17 18:06:55 +01:00
1348eabe3b BUG: changeDictionary: reset fields to uniform 2013-09-13 11:35:03 +01:00
2dae4cefa1 ENH: hotBoxes: make uniformFixedValue 2013-09-13 11:07:44 +01:00
d7f67c78b1 ENH: Tutorial update 2013-08-28 10:44:09 +01:00
fa34e2aeaf ENH: Tutorial update 2013-08-13 17:28:20 +01:00
02bb584fca ENH: tutorial updates 2013-08-13 14:16:05 +01:00
c4a65259ad GIT: boundary: remove usued file 2013-08-07 11:27:34 +01:00
d568f1bf6e ENH: Tutorial updates 2013-05-28 17:36:10 +01:00
599a5f1d8d ENH: tutorial updates 2013-05-03 12:17:12 +01:00
48272dc5ab alphatWallFunctions: add "compressible::" qualifier to compressible alphat wall-functions 2013-04-10 17:04:49 +01:00
b21d761354 BUG: Corrected typo in tutorial 2013-01-24 09:08:52 +00:00
f6883745dd ENH: Added example usage for particle collector function object 2013-01-10 14:13:12 +00:00
0437d43581 ENH: tutorial updates 2013-01-08 12:54:57 +00:00
59c1c382e4 BUG: Allrun: old subsetMesh syntax 2012-12-19 10:43:15 +00:00
da6bec3152 ENH: Tutorial updates 2012-12-06 09:27:07 +00:00
b4bb215a8c ENH: subsetMesh: have -cellSet and -dict argument 2012-11-23 11:27:46 +00:00