Commit Graph

48 Commits

Author SHA1 Message Date
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
8d21b380ef Renamed phiAlpha -P alphaPhi for consistency with Euler-Euler solvers 2015-09-11 17:52:43 +01:00
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
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
91e04d69c1 Resolve various unimportant warning messages from Gcc, Clang and Icpc 2015-07-19 11:31:49 +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
f92d657ab7 LTS: Formalize the naming of the rDeltaT and rSubDeltaT fields
Now the specification of the LTS time scheme is simply:

ddtSchemes
{
    default         localEuler;
}
2015-06-28 21:41:40 +01:00
d14e8ed169 interFoam: Change construction order 2015-06-26 18:54:37 +01:00
e00ae44ad0 interFoam family: Added run-time selectable LTS support
LTS is selected by the ddt scheme e.g. in the
tutorials/multiphase/interFoam/ras/DTCHull case:

ddtSchemes
{
    default         localEuler rDeltaT;
}

LTSInterFoam is no longer needed now that interFoam includes LTS
support.
2015-06-26 18:32:20 +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
f7e4d0a110 MULES: nLimiterIter and smoothLimiter are now user-input via the corresponding fvSolution sub-dict
nLimiterIter: Number of iterations during limiter construction
    3 (default) is sufficient for 3D simulations with a Courant number 0.5 or so
    For larger Courant numbers larger values may be needed but this is
    only relevant for IMULES and CMULES

smoothLimiter: Coefficient to smooth the limiter to avoid "diamond"
    staggering patters seen in regions of low particle phase-fraction in
    fluidised-bed simulations.

    The default is 0 as it is not needed for all simulations.
    A value of 0.1 is appropriate for fluidised-bed simulations.
    The useful range is 0 -> 0.5.
    Values larger than 0.5 may cause excessive smearing of the solution.
2015-04-29 14:37:41 +01:00
28abb8cda5 Buoyant solvers: Add special handling for ghRef in the case g = (0 0 0) 2015-03-19 15:26:06 +00: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
91ffedbeb2 Solvers: Rationalized correctPhi 2015-02-11 13:22:24 +00:00
c778346c96 Formatting: Rationalized the indentation of #include 2015-02-10 20:35:50 +00:00
45461bfcfe solvers: rationalize the construction of the fvOptions 2015-02-10 18:33:45 +00:00
633ae4ede0 solvers: rationalize the return statement 2015-02-10 18:20:42 +00:00
7c4e3a0761 threePhaseInterfaceProperties: Update constructor to be consistent with the two-phase interfaceProperties
Avoids problem of duplicate registration of K
2015-02-10 17:44:18 +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
66cb99e696 Updated headers to ensure the class name declared to Doxygen is in the appropriate namespace
Also moved global classes which should be in the Foam namespace into it.
2015-02-09 14:43:11 +00:00
9a40fb787e multiphase solvers: print phase-name rather than alpha1/2 when printing max and min phase-fraction 2015-01-21 20:07:15 +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
9873774ee9 VoF solvers: rationalize the relationship between VoF solvers
Improve code reuse
Add multiphaseInterDyMFoam
Retire MRFinterFoam -> now handled by interFoam with fvOptions
Update tutorials
2014-04-29 14:16:41 +01:00
e6236340b5 Removed alphaOuterCorrectors option because the mass-flux should be updated for all PIMPLE iterations
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1225
2014-03-17 21:31:09 +00:00
7429f59358 VoF solvers: Updated PC-MULES 2013-11-26 21:16:51 +00:00
f5fd050293 VoF solvers: phase-fraction equation and move mesh motion into PIMPLE loop 2013-10-30 12:50:12 +00:00
b994d6a11f MULES: Added support for predictor-corrector formulation to interFoam and LTSInterFoam 2013-10-27 21:00:46 +00:00
16a89a6fce MULES: Consolidated support for LTS 2013-10-25 15:08:33 +01:00
a1a427f875 alphaEqnsSubCycle: Corrected dimensions of rhoPhiSum 2013-09-12 23:49:44 +01:00
5521dfece0 multiphase: Improve the construction of rhoPhiSum 2013-09-12 17:48:08 +01:00
ada61bfe2c Rationalise correctPhi in VoF solvers 2013-09-11 16:18:41 +01: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
9780e56a57 Update headers 2013-08-14 12:27:02 +01:00
46dcabdb4d interMixingFoam: Updated to using the new naming convention for phases 2013-08-14 12:26:47 +01:00
313547796e transportModel: Constructor does not need any arguments 2013-07-14 23:17:55 +01:00
72ea7b4680 transportModel: remove IOdictionary base-class so that it is entirely abstract 2013-07-07 22:54:33 +01:00
ac43185300 threePhaseMixture: Add access function for phi to avoid warning from clang-3.3 2013-07-05 11:32:12 +01:00
5414fd3058 Update header 2013-05-07 12:15:18 +01:00
7310d0911d interMixingFoam: updated tutorials 2013-05-03 17:58:16 +01:00
d13c9810e8 VoF Solvers: Relocate the correction, sub-cycling and compressions controls from PIMPLE to the alpha1 sub-dict
MULES: Add support for explicit correction
interPhaseChangeFoam: Add option for explicit MULES or as correction to an upwind solution
Deprecate implicit form of MULES
2013-05-03 15:46:29 +01:00
d05e256dcd src/transportModels: split twoPhaseMixture from twoPhaseProperties as a separate library 2013-03-09 16:15:29 +00:00
d53245c833 Multiphase: Update all solvers to accommodate the split between twoPhaseMixture and incompressibleTwoPhaseMixture 2013-02-07 12:31:00 +00:00
d2b84dc511 ENH: Updated fieldSources->fvOptions for solvers 2013-01-08 09:38:01 +00:00
db89978ade Updated headers for Laurence and Andy 2012-12-17 11:42:00 +00:00
281422ccbf interFoam family: added generic sources support in momentum equation 2012-12-07 17:52:18 +00:00