Commit Graph

38 Commits

Author SHA1 Message Date
Andrew Heather
ad1e798293 ENH: Initial testing updates 2016-09-26 09:28:31 +01:00
Andrew Heather
9fbd612672 GIT: Initial state after latest Foundation merge 2016-09-20 14:49:08 +01:00
Henry Weller
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
Henry Weller
6d330d3d12 tutorials: Updated formatting of dictionaries and specification of 'plane' and 'samplePlane' 2016-06-29 18:02:57 +01:00
Henry Weller
83c7e97655 dynamicCode: Renamed 'redirectType' to 'name' to clarify the purpose
of the entry which is to provide the name of the generated class.

'redirectType' is supported for backward-compatibility.
2016-05-18 23:10:42 +01:00
Henry Weller
83bae2efd3 functionObjects: Renamed dictionary entry 'functionObjectLibs' -> 'libs'
This changes simplifies the specification of functionObjects in
controlDict and is consistent with the 'libs' option in controlDict to
load special solver libraries.

Support for the old 'functionObjectLibs' name is supported for backward compatibility.
2016-05-16 22:09:01 +01:00
Henry Weller
78d2971b21 functionObjects: rewritten to all be derived from 'functionObject'
- Avoids the need for the 'OutputFilterFunctionObject' wrapper
  - Time-control for execution and writing is now provided by the
    'timeControlFunctionObject' which instantiates the processing
    'functionObject' and controls its operation.
  - Alternative time-control functionObjects can now be written and
    selected at run-time without the need to compile wrapped version of
    EVERY existing functionObject which would have been required in the
    old structure.
  - The separation of 'execute' and 'write' functions is now formalized in the
    'functionObject' base-class and all derived classes implement the
    two functions.
  - Unnecessary implementations of functions with appropriate defaults
    in the 'functionObject' base-class have been removed reducing
    clutter and simplifying implementation of new functionObjects.
  - The 'coded' 'functionObject' has also been updated, simplified and tested.
  - Further simplification is now possible by creating some general
    intermediate classes derived from 'functionObject'.
2016-05-15 16:40:01 +01:00
Andrew Heather
f0c3e8d599 STYLE: Updated version to 'plus' 2015-12-22 23:14:17 +00:00
Andrew Heather
8837a89237 STYLE: Updated links from openfoam.org to openfoam.com 2015-12-09 15:03:05 +00:00
Henry Weller
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
Chris Greenshields
295a357a02 Updated kivaTest to run without restart at CA = -15 degs
using coded function object to change time step at CA = -15 degs
Also updated incorrect scheme keywords in fvSchemes
2015-05-20 08:28:03 +01:00
Henry
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
OpenFOAM-admin
9fb26d59d3 GIT: Repo update 2014-12-11 08:35:10 +00:00
OpenFOAM-admin
fbb3ddf2c4 Updated for release 2.3.0 2014-02-17 10:21:46 +00:00
Henry
acbbaf3f4d tutorials: Updated "limited" snGrad schemes 2012-12-05 14:58:42 +00:00
Henry
f897de27b8 Thermodynamics: E-equation generalized to handle mesh motion 2012-10-08 15:39:29 +01:00
Henry
63da3e9afc Thermodynamics: Rationalization
At the specie level:
    hs = sensible enthalpy
    ha = absolute (what was total) enthalpy
    es = sensibly internal energy
    ea = absolute (what was total) internal energy

At top-level
    Rename total enthalpy h -> ha
    Rename sensible enthalpy hs -> h

Combined h, hs, e and es thermo packages into a single structure.

Thermo packages now provide "he" function which may return either enthalpy or
internal energy, sensible or absolute according to the run-time selected form

alphaEff now returns the effective diffusivity for the particular energy which
the thermodynamics package is selected to solve for.
2012-05-30 15:19:38 +01:00
Henry
96068a670d Thermodynamics: Changed h-eqn to conserve total energy 2011-11-22 17:54:13 +00:00
Henry
c2dd153a14 Copyright transfered to the OpenFOAM Foundation 2011-08-14 12:17:30 +01:00
OpenFOAM-admin
c720299876 ENH: Reverted back to version dev 2011-06-17 10:08:20 +01:00
andy
29c485361a STYLE: renamed version 2.0 -> 2.0.0 2011-06-08 16:31:07 +01:00
andy
d2d91bb84f STYLE: Updated tutorial headers to version 2.0 2011-06-07 11:18:46 +01:00
sergio
a038c90f21 Tutorial Updates 2011-04-21 10:00:53 +01:00
andy
f3e2afa23c ENH: Tutorial updates re: PIMPLE updates 2011-04-18 11:54:59 +01:00
Henry
c8078e73e1 engineFoam: Corrected mesh construction and tutorial 2011-03-18 10:25:25 +00:00
Henry
1d020111b3 tutorials: minor updates 2011-03-17 17:49:45 +00:00
andy
6ffbe0553c ENH: Updated tutorial fvSchemes for transpose operator 2011-01-18 15:24:30 +00:00
henry
ccfb6e32a6 Corrected headers. 2010-06-23 16:54:54 +01:00
Mark Olesen
80b8071e75 ENH: add default control values to ease SIMPLE->PIMPLE transition
- add const-ness for control variables

- drop unused fluxGradp variable

- use lookupOrDefault instead of found/lookup combination
2010-05-20 08:24:55 +02:00
Mark Olesen
3fef72510e STYLE: use switch value for 'writeCompression' in controlDict's
- simpler/clearer to use "on/off" instead of "compressed/uncompressed"
2010-04-09 13:12:35 +02:00
andy
8bad166975 updated version number dev->1.6 2009-08-03 16:38:20 +01:00
Mark Olesen
d749aac04d adjust tutorial fvSolution to use regular expressions and $variable 2009-08-01 14:51:59 +02:00
andy
2349fdaabe updated version numbers to 1.6 2009-07-23 12:22:48 +01:00
andy
14e6cfdba2 engineFoam tutorial update 2009-07-21 19:33:44 +01:00
henry
4c3c9f2c38 Corrected application entry. 2009-07-09 14:42:17 +01:00
henry
ac9132b0ee Minor reformat. 2009-06-09 12:13:11 +01:00
andy
a3b50aff9f further tutorial updates 2009-02-13 14:17:08 +00:00
andy
12fba38d87 restructuring to reflect solver hierarchy 2009-02-12 18:59:59 +00:00