Commit Graph

42 Commits

Author SHA1 Message Date
9fbd612672 GIT: Initial state after latest Foundation merge 2016-09-20 14:49:08 +01:00
288ead131d Descriptions of solvers corrected and made more consistent and more user-friendly 2016-06-09 18:59:40 +01:00
364044243a applications/solvers/combustion: Added -postProcess option
See also commit cc455173ff
2016-05-09 14:51:21 +01:00
4c5052a3a1 applications/solvers: include readTimeControls.H in the time-loop rather than createTimeControls.H
Patch contributed by Bruno Santos
Resolved bug-report http://www.openfoam.org/mantisbt/view.php?id=2079
2016-05-01 11:06:21 +01:00
62c62abda8 fireFoam: New additional controls switch "solvePyrolysisRegion"
provides optional control for solving the pyrolysis region.

Patch contributed by Karl Meredith, FMGlobal.
2016-04-28 12:54:17 +01:00
fd9d801e2d GIT: Initial commit after latest foundation merge 2016-04-25 11:40:48 +01:00
673e0d1704 fireFoam: Added optional hydrostatic initialization of the pressure and density
Also added the new prghTotalHydrostaticPressure p_rgh BC which uses the
hydrostatic pressure field as the reference state for the far-field
which provides much more accurate entrainment is large open domains
typical of many fire simulations.

The hydrostatic field solution is controlled by the optional entries in
the fvSolution.PIMPLE dictionary, e.g.

    hydrostaticInitialization yes;
    nHydrostaticCorrectors 5;

and the solver must also be specified for the hydrostatic p_rgh field
ph_rgh e.g.

    ph_rgh
    {
        $p_rgh;
    }

Suitable boundary conditions for ph_rgh cannot always be derived from
those for p_rgh and so the ph_rgh is read to provide them.

To avoid accuracy issues with IO, restart and post-processing the p_rgh
and ph_rgh the option to specify a suitable reference pressure is
provided via the optional pRef file in the constant directory, e.g.

    dimensions      [1 -1 -2 0 0 0 0];
    value           101325;

which is used in the relationship between p_rgh and p:

    p = p_rgh + rho*gh + pRef;

Note that if pRef is specified all pressure BC specifications in the
p_rgh and ph_rgh files are relative to the reference to avoid round-off
errors.

For examples of suitable BCs for p_rgh and ph_rgh for a range of
fireFoam cases please study the tutorials in
tutorials/combustion/fireFoam/les which have all been updated.

Henry G. Weller
CFD Direct Ltd.
2016-04-23 10:04:39 +01:00
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
8f1d043364 GIT: Resolved conflict 2015-12-09 09:32:38 +00:00
b594d73c65 ENH: Solvers - updated group documentation 2015-12-03 22:05:55 +00:00
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
3dfe844d9a applications/solvers: Added call to validate the turbulence model after construction
See also commit 52d83407f3
2015-12-01 10:25:38 +00:00
91e04d69c1 Resolve various unimportant warning messages from Gcc, Clang and Icpc 2015-07-19 11:31:49 +01:00
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
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
633ae4ede0 solvers: rationalize the return statement 2015-02-10 18:20:42 +00:00
fe8c5ff636 Applications: use pimpleControl.dict() and simpleControl.dict() instead of looking-up the sub-dict 2015-02-09 22:15:26 +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
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
d2b84dc511 ENH: Updated fieldSources->fvOptions for solvers 2013-01-08 09:38:01 +00:00
72ab425a77 ENH: Updated instantiation of sources by solvers 2012-12-10 15:21:37 +00:00
b2252f36b1 ENH: Added run-time selectable sources to combustion solvers 2012-12-06 12:05:45 +00:00
533f75b1d9 ENH: Removed unused header #include file 2012-11-16 17:26:12 +00:00
beb2943d8e Merge branch 'master' of /home/dm4/OpenFOAM/OpenFOAM-dev
Conflicts:
	tutorials/lagrangian/porousExplicitSourceReactingParcelFoam/verticalChannel/0/p
	tutorials/lagrangian/porousExplicitSourceReactingParcelFoam/verticalChannel/system/changeDictionaryDict
	tutorials/lagrangian/reactingParcelFoam/verticalChannel/0/H2O
	tutorials/lagrangian/reactingParcelFoam/verticalChannel/0/T
	tutorials/lagrangian/reactingParcelFoam/verticalChannel/0/U
	tutorials/lagrangian/reactingParcelFoam/verticalChannel/0/air
	tutorials/lagrangian/reactingParcelFoam/verticalChannel/0/alphat
	tutorials/lagrangian/reactingParcelFoam/verticalChannel/0/k
	tutorials/lagrangian/reactingParcelFoam/verticalChannel/0/mut
	tutorials/lagrangian/reactingParcelFoam/verticalChannel/0/omega
	tutorials/lagrangian/reactingParcelFoam/verticalChannel/0/p
	tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/polyMesh/boundary
2012-09-24 11:03:51 +01:00
7e0d4565b7 Thermodynamics: Updated combustion solvers to use EEqn and support h/e or ha/ea 2012-09-23 22:11:38 +01:00
d05c5a41a1 ENH: Updated PIMPLE solvers to new pimpleControl framework 2011-10-26 12:04:25 +01:00
f9b1582253 ENH: Addition of a collection of pyrolysys models 2011-09-07 10:57:29 +01:00
c2dd153a14 Copyright transfered to the OpenFOAM Foundation 2011-08-14 12:17:30 +01:00
1b7502f6e7 ENH: new combuustion classes and update tutorial (Lagrangian and
combustion)
2011-07-13 17:02:55 +01:00
0f20e65f6f STY: change from reactingParcelsFilPyrosysisFoam to fireFoam 2011-06-06 17:55:27 +01:00
89335fa1ce ENH: Further solver PIMPLE updates 2011-04-18 11:47:44 +01:00
656bbf5308 ENH: Updated solvers to use simpleControl and pimpleControl 2011-04-14 17:45:20 +01:00
fb11f37e38 ENH: Propagating pimpleControl across pimple-based solvers 2011-04-13 17:20:29 +01:00
6f138dc60f GIT: resolve merge conflict 2011-03-28 10:34:21 +01:00
5b4cd73e55 PIMPLE: Rationalised loop structure
Automated the caching of "finalIteration".
2011-03-26 21:48:15 +00:00
eaef8d482b STYLE: Updated 1991 start copyright year to 2004 2011-01-14 16:08:00 +00:00
099cc39e2e Revert "STYLE: 2011 copyright date."
This reverts commit b18f6cc1ce.
2011-01-05 18:24:29 +00:00
b18f6cc1ce STYLE: 2011 copyright date. 2011-01-05 11:14:26 +00:00
012494fdb5 STYLE: Fixing code style requirements for all apps.
Exception: applyWallFunctionBoundaryConditions.C cannot split #include
directives.
2010-07-27 15:27:05 +01:00
361b153343 Final iteration information now available in mesh::data (used to be mesh::fvData)
Relaxation and solution parameters for the final iteration in PIMPLE loops are
now selected according to the value of the "finalIteration" entry in the
mesh::data dictionary.

rhoPimpleFoam significantly updates and now replaces rhoPisoFoam.
2010-05-25 18:45:25 +01:00
d29c438657 STYLE: use url for FSF license instead of postal address, switch to GPL v3 2010-03-29 14:07:56 +02:00
3ed23da4fe New solver: fireFoam
For non-premixed combustion using sensible enthalpy.
2010-02-10 19:09:24 +00:00