Commit Graph

277 Commits

Author SHA1 Message Date
Henry Weller
cd852be3da OpenFOAM: Updated all libraries, solvers and utilities to use the new const-safe tmp
The deprecated non-const tmp functionality is now on the compiler switch
NON_CONST_TMP which can be enabled by adding -DNON_CONST_TMP to EXE_INC
in the Make/options file.  However, it is recommended to upgrade all
code to the new safer tmp by using the '.ref()' member function rather
than the non-const '()' dereference operator when non-const access to
the temporary object is required.

Please report any problems on Mantis.

Henry G. Weller
CFD Direct.
2016-02-26 17:31:28 +00:00
Henry Weller
fc2ce73723 Solvers: Added support for extrapolated pressure boundary conditions
The boundary conditions of HbyA are now constrained by the new "constrainHbyA"
function which applies the velocity boundary values for patches for which the
velocity cannot be modified by assignment and pressure extrapolation is
not specified via the new
"fixedFluxExtrapolatedPressureFvPatchScalarField".

The new function "constrainPressure" sets the pressure gradient
appropriately for "fixedFluxPressureFvPatchScalarField" and
"fixedFluxExtrapolatedPressureFvPatchScalarField" boundary conditions to
ensure the evaluated flux corresponds to the known velocity values at
the boundary.

The "fixedFluxPressureFvPatchScalarField" boundary condition operates
exactly as before, ensuring the correct flux at fixed-flux boundaries by
compensating for the body forces (gravity in particular) with the
pressure gradient.

The new "fixedFluxExtrapolatedPressureFvPatchScalarField" boundary
condition may be used for cases with or without body-forces to set the
pressure gradient to compensate not only for the body-force but also the
extrapolated "HbyA" which provides a second-order boundary condition for
pressure.  This is useful for a range a problems including impinging
flow, extrapolated inlet conditions with body-forces or for highly
viscous flows, pressure-induced separation etc.  To test this boundary
condition at walls in the motorBike tutorial case set

    lowerWall
    {
        type            fixedFluxExtrapolatedPressure;
    }

    motorBikeGroup
    {
        type            fixedFluxExtrapolatedPressure;
    }

Currently the new extrapolated pressure boundary condition is supported
for all incompressible and sub-sonic compressible solvers except those
providing implicit and tensorial porosity support.  The approach will be
extended to cover these solvers and options in the future.

Note: the extrapolated pressure boundary condition is experimental and
requires further testing to assess the range of applicability,
stability, accuracy etc.

Henry G. Weller
CFD Direct Ltd.
2016-02-13 17:48:26 +00:00
Henry Weller
75cf86b769 Correct formatting: "forAll (" -> "forAll("
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1967
2016-01-09 23:10:16 +00:00
Henry Weller
2647d178fa solvers: Change from pure RAS to any turbulence model
Provides support for running laminar.
2015-12-16 10:13:09 +00:00
Henry Weller
736621b945 fvOptions: Reorganized and updated to simplify use in sub-models and maintenance
fvOptions are transferred to the database on construction using
fv::options::New which returns a reference.  The same function can be
use for construction and lookup so that fvOptions are now entirely
demand-driven.

The abstract base-classes for fvOptions now reside in the finiteVolume
library simplifying compilation and linkage.  The concrete
implementations of fvOptions are still in the single monolithic
fvOptions library but in the future this will be separated into smaller
libraries based on application area which may be linked at run-time in
the same manner as functionObjects.
2015-12-02 11:49:52 +00:00
Henry Weller
3dfe844d9a applications/solvers: Added call to validate the turbulence model after construction
See also commit 52d83407f3
2015-12-01 10:25:38 +00:00
Henry Weller
d047107489 chtMultiRegionFoam, chtMultiRegionSimpleFoam, buoyantPimpleFoam, buoyantSimpleFoam: Added support for hRef 2015-11-30 16:29:10 +00:00
Henry Weller
d968ee30e1 TurbulenceModels: Improved instantiation of single-phase models in solvers
Simplifies lookup of RAS or LES models
2015-11-18 21:10:03 +00:00
Henry Weller
c6fe72c6ad buoyantBoussinesqSimpleFoam: Add support for radiative heat-transfer consistent with buoyantBoussinesqPimpleFoam
Patch provided by Daniel Jasinski: http://www.openfoam.org/mantisbt/view.php?id=1856
2015-10-30 13:58:17 +00:00
Henry Weller
37ba9605f1 chtMultiRegionFoam: Correct file permissions on solveSolid.H 2015-10-26 15:47:14 +00:00
Henry Weller
027909c737 dimensionedType: rationalize lookupOrDefault and lookupOrAddToDict
Now consistent with constructors.
2015-10-01 17:29:29 +01:00
Henry Weller
7405f7552e chtMultiRegionFoam: Updated temperature diagnostics
Patch provided by Daniel Jasinski
Resolved bug-report http://www.openfoam.org/mantisbt/view.php?id=1843
2015-09-02 15:30:20 +01:00
Henry Weller
365f9b0006 dimensioned<Type>: Added constructor from name, dimensions and dictionary
to simplify construction of dimensionedScalar properties and avoid the
duplication of the name string in the constructor call.
2015-07-21 12:57:07 +01:00
Henry Weller
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
Henry Weller
91e04d69c1 Resolve various unimportant warning messages from Gcc, Clang and Icpc 2015-07-19 11:31:49 +01: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
Henry Weller
d0f15d4e3c EEqn: Added rho*(U&g) source term
Generally this term has a VERY small effect on temperature, it is only
important for low-speed buoyancy-dominated flows.

Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1755

See also http://cfd.direct/openfoam/energy-equation/
2015-07-01 10:53:37 +01:00
Henry
c3ee2348a6 MRF: Separate MRF from fvOptions
fvOptions does not have the appropriate structure to support MRF as it
is based on option selection by user-specified fields whereas MRF MUST
be applied to all velocity fields in the particular solver.  A
consequence of the particular design choices in fvOptions made it
difficult to support MRF for multiphase and it is easier to support
frame-related and field related options separately.

Currently the MRF functionality provided supports only rotations but
the structure will be generalized to support other frame motions
including linear acceleration, SRF rotation and 6DoF which will be
run-time selectable.
2015-05-29 23:35:43 +01:00
Henry
28abb8cda5 Buoyant solvers: Add special handling for ghRef in the case g = (0 0 0) 2015-03-19 15:26:06 +00:00
Henry
e588d61879 Solvers based on p_rgh: Added support for optional hRef
Allows the specification of a reference height, for example the height
of the free-surface in a VoF simulation, which reduces the range of p_rgh.

hRef is a uniformDimensionedScalarField specified via the constant/hRef
file, equivalent to the way in which g is specified, so that it can be
looked-up from the database.  For example see the constant/hRef file in
the DTCHull LTSInterFoam and interDyMFoam cases.
2015-03-17 17:15:11 +00:00
Henry
945c4c3d18 fluidThermo: Add compressibleTransportModel as base-class
Needed to create generic compressible turbulence model library
2015-02-17 17:25:26 +00:00
Henry
5e6aa74566 chtMultiRegionSimpleFoam: Support simpler input for rhoMax and rhoMin 2015-02-17 15:06:31 +00:00
Henry
d9eb18adbc pEqn: DO NOT constrain the pressure equation as this will lead to continuity errors 2015-02-12 10:42:17 +00:00
Henry
fe8c5ff636 Applications: use pimpleControl.dict() and simpleControl.dict() instead of looking-up the sub-dict 2015-02-09 22:15:26 +00: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
Henry
0da35af2f4 Update headers 2015-01-12 12:34:38 +00:00
Henry
ff29093117 Incompressible turbulence models: Remove the correction of the laminar transport model
Explicitly correct laminar transport at the application level as is done in the multiphase solvers
2015-01-12 12:32:38 +00:00
Henry
a92a04f18d Updated options files for new location of radiation lnInclude directory 2015-01-11 22:27:36 +00:00
Henry
844b283030 New version of wmake supporting out-of-tree object and dependency files 2014-12-14 21:42:18 +00:00
andy
ade2801158 ENH: chtMultiRegionFoam solvers - added option to calculate using frozen flow 2014-10-16 10:20:19 +01:00
sergio
cb8b410bf3 BUG: mantis 1397. volSymmTensorField not found for cht problems with two coupled solids 2014-09-15 17:19:57 +01:00
andy
a840324451 BUG: heat transfer Boussinesq solvers - added fvOptions MRF support - mantis #1267 2014-04-11 12:11:36 +01:00
Henry
d9eba622c5 buoyantPimpleFoam: Corrected phiHbyA
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1183
2014-02-25 09:53:16 +00:00
andy
fbee36db43 BUG: chtMultiRegionSimpleFoam - solveSolid error due to incorrect scoping - mantis #1163 2014-02-19 09:26:46 +00:00
mattijs
b53fff01d7 Merge branch 'master' of /home/dm4/OpenFOAM/repositories/OpenFOAM-dev
Conflicts:
	doc/Doxygen/css/doxygen.css
2013-12-02 11:30:36 +00:00
mattijs
84f64b3175 BUG: chtMultiRegionSimpleFoam: fvOptions incorrect sign 2013-11-28 14:36:51 +00:00
Sergio Ferraris
bcc5b89040 BUG: Changing fvOption source in UEqn.H to the rhs 2013-11-25 10:56:43 +00:00
mattijs
e1a5f3f8ae END: chtMultiRegionFoam: avoid double registration of Cp 2013-11-06 17:25:14 +00:00
Henry
08baa6eda6 fixedFluxPressure BC: the snGrad is now pushed into the BC from pEqn.H rather than being evaluated in the BC 2013-09-11 00:10:00 +01:00
Henry
51f085faa5 Rewrite of ddtPhiCorr - ddtCorr and density-weight HbyA on compressible solvers.
For DyM solvers phiAbs is replaced by Uf but this conversion is currently not complete
2013-09-09 12:41:20 +01:00
andy
11f8a670bf STYLE: Corrected spelling 2013-09-03 12:18:47 +01:00
Henry
046f740f0e Renamed relativeFlux -> makeRelative and absoluteFlux -> makeAbsolute 2013-08-20 15:40:00 +01:00
Sergio Ferraris
05022c2c02 BUG: In these solvers adjustPhi in the pEqn was calculated "before"
fvOption.relativeFlux() statement. Therefore adjustPhi was using
the absolute phi instead if the relative when the MRF was active
2013-08-07 17:18:08 +01:00
andy
4c0db5934d BUG: buoyantBoussinesq[Simple|Pimple]Foam - added missing fvOptions to pressure equations - mantis #921 2013-07-23 12:47:23 +01:00
andy
850816f829 Merge branch 'master' of /home/dm4/OpenFOAM/OpenFOAM-dev 2013-06-11 11:18:00 +01:00
andy
eb7456eee5 ENH: Added fvOptions support to buoyantBoussinesq heat transfer solvers 2013-06-11 11:17:46 +01:00
mattijs
3050476b1f STYLE: chtMultiRegionFoam: corrected comment 2013-06-07 14:53:49 +01:00
Henry
456a74c9f6 Incompressible heatTransfer: Rename kappa->alpha and move turbulentHeatFluxTemperature BC to turbulence base class 2013-04-05 17:21:58 +01:00
andy
c8ea8198cd STYLE: Updated solver header documentation 2013-03-27 15:49:58 +00:00
andy
8c16c4b678 BUG: Re-added general turbulence to chtMultiRegionFoam 2013-03-21 10:03:59 +00:00