From 2aec2496477ee1492f3ae247b24586d62c4aed89 Mon Sep 17 00:00:00 2001
From: Henry <Henry>
Date: Wed, 21 Jan 2015 19:21:39 +0000
Subject: [PATCH] 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
---
 .../solvers/combustion/PDRFoam/Make/options   |   8 +-
 .../solvers/combustion/PDRFoam/PDRFoam.C      |   4 +-
 .../combustion/PDRFoam/PDRFoamAutoRefine.C    |   4 +-
 .../basicXiSubXiEq/basicXiSubXiEq.C           |   3 +-
 .../XiGModels/basicXiSubG/basicXiSubG.C       |   3 +-
 .../dragModels/PDRDragModel/PDRDragModel.H    |   4 +-
 .../PDRModels/dragModels/basic/basic.C        |   3 +-
 .../turbulence/PDRkEpsilon/PDRkEpsilon.C      |  40 +-
 .../turbulence/PDRkEpsilon/PDRkEpsilon.H      |  14 +-
 .../XiModels/XiEqModels/XiEqModel/XiEqModel.C |   3 +-
 .../XiModels/XiEqModels/XiEqModel/XiEqModel.H |   4 +-
 .../XiModels/XiGModels/XiGModel/XiGModel.H    |   4 +-
 .../PDRFoam/XiModels/XiModel/XiModel.H        |   5 +-
 .../PDRFoam/XiModels/transport/transport.C    |   7 +-
 .../solvers/combustion/XiFoam/Make/options    |   8 +-
 .../solvers/combustion/XiFoam/XiFoam.C        |   4 +-
 .../solvers/combustion/chemFoam/Make/options  |   7 +-
 .../solvers/combustion/chemFoam/chemFoam.C    |   4 +-
 .../combustion/coldEngineFoam/Make/options    |   8 +-
 .../coldEngineFoam/coldEngineFoam.C           |   4 +-
 .../combustion/engineFoam/Make/options        |   8 +-
 .../combustion/engineFoam/engineFoam.C        |   4 +-
 .../solvers/combustion/fireFoam/Make/options  |   7 +-
 .../solvers/combustion/fireFoam/fireFoam.C    |   4 +-
 .../LTSReactingFoam/LTSReactingFoam.C         |   4 +-
 .../reactingFoam/LTSReactingFoam/Make/options |   8 +-
 .../combustion/reactingFoam/Make/options      |   8 +-
 .../combustion/reactingFoam/reactingFoam.C    |   4 +-
 .../rhoReactingBuoyantFoam/Make/options       |   8 +-
 .../rhoReactingBuoyantFoam.C                  |   4 +-
 .../reactingFoam/rhoReactingFoam/Make/options |   8 +-
 .../rhoReactingFoam/rhoReactingFoam.C         |   4 +-
 .../compressible/rhoCentralFoam/Make/options  |   8 +-
 .../rhoCentralDyMFoam/Make/options            |   8 +-
 .../rhoCentralDyMFoam/rhoCentralDyMFoam.C     |   4 +-
 .../rhoCentralFoam/rhoCentralFoam.C           |   4 +-
 .../compressible/rhoPimpleFoam/Make/options   |   8 +-
 .../rhoLTSPimpleFoam/Make/options             |   8 +-
 .../rhoLTSPimpleFoam/rhoLTSPimpleFoam.C       |   4 +-
 .../rhoPimpleDyMFoam/Make/options             |   8 +-
 .../rhoPimpleDyMFoam/rhoPimpleDyMFoam.C       |   4 +-
 .../rhoPimpleFoam/rhoPimpleFoam.C             |   4 +-
 .../rhoPimpleFoam/rhoPimplecFoam/Make/options |   8 +-
 .../rhoPimplecFoam/rhoPimplecFoam.C           |   4 +-
 .../compressible/rhoSimpleFoam/Make/options   |   8 +-
 .../rhoPorousSimpleFoam/Make/options          |   8 +-
 .../rhoPorousSimpleFoam/rhoPorousSimpleFoam.C |   4 +-
 .../rhoSimpleFoam/rhoSimpleFoam.C             |   4 +-
 .../rhoSimpleFoam/rhoSimplecFoam/Make/options |   7 +-
 .../rhoSimplecFoam/rhoSimplecFoam.C           |   4 +-
 .../compressible/sonicFoam/Make/options       |   8 +-
 .../sonicFoam/sonicDyMFoam/Make/options       |   8 +-
 .../sonicFoam/sonicDyMFoam/sonicDyMFoam.C     |   4 +-
 .../compressible/sonicFoam/sonicFoam.C        |   4 +-
 .../buoyantBoussinesqPimpleFoam/Make/options  |  22 +-
 .../buoyantBoussinesqPimpleFoam.C             |   2 +-
 .../buoyantBoussinesqSimpleFoam/Make/options  |  18 +-
 .../buoyantBoussinesqSimpleFoam.C             |   2 +-
 .../buoyantPimpleFoam/Make/options            |   9 +-
 .../buoyantPimpleFoam/buoyantPimpleFoam.C     |   4 +-
 .../buoyantSimpleFoam/Make/options            |   9 +-
 .../buoyantSimpleFoam/buoyantSimpleFoam.C     |   4 +-
 .../chtMultiRegionFoam/Make/options           |   8 +-
 .../chtMultiRegionFoam/chtMultiRegionFoam.C   |   4 +-
 .../chtMultiRegionSimpleFoam/Make/options     |  10 +-
 .../chtMultiRegionSimpleFoam.C                |   4 +-
 .../heatTransfer/thermoFoam/Make/options      |  12 +-
 .../heatTransfer/thermoFoam/thermoFoam.C      |   6 +-
 .../adjointShapeOptimizationFoam/Make/options |   8 +-
 .../adjointShapeOptimizationFoam.C            |   2 +-
 .../incompressible/boundaryFoam/Make/options  |   8 +-
 .../boundaryFoam/boundaryFoam.C               |   2 +-
 .../incompressible/pimpleFoam/Make/options    |   8 +-
 .../pimpleFoam/SRFPimpleFoam/Make/options     |   8 +-
 .../pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C  |   2 +-
 .../pimpleFoam/pimpleDyMFoam/Make/options     |   8 +-
 .../pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C  |   2 +-
 .../incompressible/pimpleFoam/pimpleFoam.C    |   2 +-
 .../incompressible/pisoFoam/Make/options      |   8 +-
 .../incompressible/pisoFoam/pisoFoam.C        |   2 +-
 .../incompressible/simpleFoam/Make/options    |   8 +-
 .../simpleFoam/SRFSimpleFoam/Make/options     |   9 +-
 .../simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C  |   2 +-
 .../simpleFoam/porousSimpleFoam/Make/options  |   8 +-
 .../porousSimpleFoam/porousSimpleFoam.C       |   2 +-
 .../incompressible/simpleFoam/simpleFoam.C    |   2 +-
 .../DPMTurbulenceModels/DPMTurbulenceModels.C |   4 +-
 .../lagrangian/DPMFoam/MPPICFoam/Make/options |   2 +-
 .../solvers/lagrangian/DPMFoam/Make/options   |   2 +-
 .../lagrangian/coalChemistryFoam/Make/options |   9 +-
 .../coalChemistryFoam/coalChemistryFoam.C     |   4 +-
 .../Make/options                              |   7 +-
 .../Make/options                              |   7 +-
 .../icoUncoupledKinematicParcelDyMFoam.C      |   4 +-
 .../icoUncoupledKinematicParcelFoam.C         |   4 +-
 .../reactingParcelFilmFoam/Make/options       |   7 +-
 .../reactingParcelFilmFoam.C                  |   4 +-
 .../LTSReactingParcelFoam.C                   |   4 +-
 .../LTSReactingParcelFoam/Make/options        |   8 +-
 .../reactingParcelFoam/Make/options           |   8 +-
 .../reactingParcelFoam/reactingParcelFoam.C   |   4 +-
 .../simpleReactingParcelFoam/Make/options     |   8 +-
 .../simpleReactingParcelFoam.C                |   4 +-
 .../solvers/lagrangian/sprayFoam/Make/options |   8 +-
 .../sprayFoam/sprayEngineFoam/Make/options    |   8 +-
 .../sprayEngineFoam/sprayEngineFoam.C         |   4 +-
 .../solvers/lagrangian/sprayFoam/sprayFoam.C  |   4 +-
 .../uncoupledKinematicParcelFoam/Make/options |   8 +-
 .../uncoupledKinematicParcelFoam.C            |   4 +-
 .../multiphase/cavitatingFoam/Make/options    |  13 +-
 .../cavitatingDyMFoam/Make/options            |  15 +-
 .../cavitatingDyMFoam/cavitatingDyMFoam.C     |   4 +-
 .../cavitatingFoam/cavitatingFoam.C           |   4 +-
 .../compressibleInterFoam/Make/options        |   8 +-
 .../compressibleInterDyMFoam/Make/options     |   8 +-
 .../compressibleInterDyMFoam.C                |   4 +-
 .../compressibleInterFoam.C                   |   4 +-
 .../Make/options                              |   8 +-
 .../compressibleMultiphaseInterFoam.C         |   4 +-
 .../interFoam/LTSInterFoam/LTSInterFoam.C     |   4 +-
 .../interFoam/LTSInterFoam/Make/options       |   8 +-
 .../solvers/multiphase/interFoam/Make/options |   8 +-
 .../interFoam/interDyMFoam/Make/options       |   8 +-
 .../interFoam/interDyMFoam/interDyMFoam.C     |   4 +-
 .../solvers/multiphase/interFoam/interFoam.C  |   4 +-
 .../interFoam/interMixingFoam/Make/options    |   8 +-
 .../interMixingFoam/interMixingFoam.C         |   4 +-
 .../interFoam/porousInterFoam/Make/options    |   8 +-
 .../porousInterFoam/porousInterFoam.C         |   4 +-
 .../interPhaseChangeFoam/Make/options         |   8 +-
 .../interPhaseChangeDyMFoam/Make/options      |   8 +-
 .../interPhaseChangeDyMFoam.C                 |   4 +-
 .../interPhaseChangeFoam.C                    |   4 +-
 .../multiphaseEulerFoam/Make/options          |   8 +-
 .../multiphase/multiphaseEulerFoam/UEqns.H    |   2 +-
 .../multiphaseEulerFoam/createFields.H        |   6 +-
 .../multiphaseEulerFoam/multiphaseEulerFoam.C |   6 +-
 .../multiphaseInterFoam/Make/options          |   8 +-
 .../multiphaseInterDyMFoam/Make/options       |   8 +-
 .../multiphaseInterDyMFoam.C                  |   4 +-
 .../multiphaseInterFoam/multiphaseInterFoam.C |   4 +-
 .../potentialFreeSurfaceFoam/Make/options     |   8 +-
 .../potentialFreeSurfaceDyMFoam/Make/options  |   8 +-
 .../potentialFreeSurfaceDyMFoam.C             |   2 +-
 .../potentialFreeSurfaceFoam.C                |   2 +-
 .../twoLiquidMixingFoam/Make/options          |   9 +-
 .../twoLiquidMixingFoam/twoLiquidMixingFoam.C |   4 +-
 applications/test/PisoFoam/Make/files         |   3 -
 applications/test/PisoFoam/Make/options       |  14 -
 applications/test/PisoFoam/PisoFoam.C         | 149 -----
 applications/test/PisoFoam/turbulenceModel.H  |   9 -
 applications/test/RhoPimpleFoam/EEqn.H        |  33 -
 applications/test/RhoPimpleFoam/Make/files    |   3 -
 applications/test/RhoPimpleFoam/Make/options  |  21 -
 .../test/RhoPimpleFoam/rhoPimpleFoam.C        | 107 ----
 .../test/RhoPimpleFoam/turbulenceModel.H      |   9 -
 .../mesh/advanced/PDRMesh/Make/options        |   6 +-
 .../foamDebugSwitches/Make/options            |  13 +-
 .../miscellaneous/foamHelp/Make/options       |   9 +-
 .../foamHelp/helpTypes/Make/options           |   9 +-
 .../execFlowFunctionObjects/Make/options      |  12 +-
 .../execFlowFunctionObjects.C                 |  11 +-
 .../stressField/stressComponents/Make/options |  10 +-
 .../postProcessing/turbulence/R/Make/options  |  15 +-
 .../utilities/postProcessing/turbulence/R/R.C |   8 +-
 .../createTurbulenceFields/Make/options       |  12 +-
 .../createTurbulenceFields.C                  |   7 +-
 .../velocityField/Pe/Make/options             |  12 +-
 .../postProcessing/velocityField/Pe/Pe.C      |   9 +-
 .../wall/wallHeatFlux/Make/options            |  10 +-
 .../wall/wallHeatFlux/wallHeatFlux.C          |   4 +-
 .../wall/wallShearStress/Make/options         |   8 +-
 .../wall/wallShearStress/wallShearStress.C    |   9 +-
 .../postProcessing/wall/yPlusLES/Make/options |  13 +-
 .../postProcessing/wall/yPlusLES/yPlusLES.C   |   8 +-
 .../postProcessing/wall/yPlusRAS/Make/options |  16 +-
 .../postProcessing/wall/yPlusRAS/yPlusRAS.C   |  42 +-
 .../applyBoundaryLayer/Make/options           |  12 +-
 .../applyBoundaryLayer/applyBoundaryLayer.C   |   4 +-
 .../Make/files                                |   3 -
 .../Make/options                              |  13 -
 .../applyWallFunctionBoundaryConditions.C     | 363 -----------
 .../Make/options                              |   3 +-
 .../faceAgglomerate/Make/options              |   1 -
 .../preProcessing/viewFactorsGen/Make/options |   1 -
 src/Allwmake                                  |   1 -
 .../physicoChemicalConstants.H                |   2 +-
 .../CompressibleTurbulenceModel.C             |   3 +-
 .../CompressibleTurbulenceModel.H             |   3 +-
 src/TurbulenceModels/compressible/Make/files  |  17 +-
 .../compressible/Make/options                 |   6 +-
 .../SpecificCompressibleTurbulenceModel.C     |  99 +++
 .../SpecificCompressibleTurbulenceModel.H}    |  78 ++-
 .../compressibleTurbulenceModel.H             |   8 +-
 .../eddyDiffusivity/eddyDiffusivity.C         | 146 +++++
 .../eddyDiffusivity/eddyDiffusivity.H         | 180 ++++++
 .../thermalDiffusivity/thermalDiffusivity.C   | 124 ++++
 .../thermalDiffusivity/thermalDiffusivity.H   | 176 +++++
 .../compressible}/turbulenceModelDoc.H        |   4 +-
 ...convectiveHeatTransferFvPatchScalarField.C |  26 +-
 ...convectiveHeatTransferFvPatchScalarField.H |   2 +-
 ...oupledTemperatureMixedFvPatchScalarField.C |  17 +-
 ...oupledTemperatureMixedFvPatchScalarField.H |   2 +-
 ...allHeatFluxTemperatureFvPatchScalarField.C |   2 +-
 ...allHeatFluxTemperatureFvPatchScalarField.H |   2 +-
 .../temperatureCoupledBase.C                  |  13 +-
 .../temperatureCoupledBase.H                  |   2 +-
 .../thermalBaffle1DFvPatchScalarField.C       |   8 +-
 .../thermalBaffle1DFvPatchScalarField.H       |   2 +-
 .../thermalBaffle1DFvPatchScalarFields.C      |   2 +-
 .../thermalBaffle1DFvPatchScalarFields.H      |   2 +-
 ...RateAdvectiveDiffusiveFvPatchScalarField.C |  21 +-
 ...RateAdvectiveDiffusiveFvPatchScalarField.H |   2 +-
 ...entHeatFluxTemperatureFvPatchScalarField.C |   2 +-
 ...entHeatFluxTemperatureFvPatchScalarField.H |   2 +-
 ...tureCoupledBaffleMixedFvPatchScalarField.C |   2 +-
 ...tureCoupledBaffleMixedFvPatchScalarField.H |   2 +-
 ...eratureRadCoupledMixedFvPatchScalarField.C |   2 +-
 ...eratureRadCoupledMixedFvPatchScalarField.H |   2 +-
 ...ayatillekeWallFunctionFvPatchScalarField.C |  27 +-
 ...ayatillekeWallFunctionFvPatchScalarField.H |   2 +-
 .../alphatWallFunctionFvPatchScalarField.C    |  29 +-
 .../alphatWallFunctionFvPatchScalarField.H    |  13 +-
 .../wallHeatTransferFvPatchScalarField.C      |  10 +-
 .../wallHeatTransferFvPatchScalarField.H      |   2 +-
 .../makeTurbulenceModel.H                     | 128 ++++
 .../turbulentFluidThermoModel.H}              |  51 +-
 .../turbulentFluidThermoModels.C}             |  27 +-
 .../IncompressibleTurbulenceModel.C           |  30 +-
 .../IncompressibleTurbulenceModel.H           |  13 +-
 .../incompressible/Make/files                 |  19 +-
 .../incompressible/Make/options               |   2 +-
 .../SpecificIncompressibleTurbulenceModel.C   |  98 +++
 .../SpecificIncompressibleTurbulenceModel.H}  |  76 ++-
 .../incompressible}/turbulenceModelDoc.H      |   4 +-
 .../RAS/LamBremhorstKE/LamBremhorstKE.C       | 133 ++--
 .../RAS/LamBremhorstKE/LamBremhorstKE.H       |  45 +-
 .../RAS/LienCubicKE/LienCubicKE.C             | 245 +++----
 .../RAS/LienCubicKE/LienCubicKE.H             |  44 +-
 .../RAS/LienCubicKELowRe/LienCubicKELowRe.C   | 285 +++------
 .../RAS/LienCubicKELowRe/LienCubicKELowRe.H   |  47 +-
 .../LienCubicKELowReSetWallDissipation.H      |   0
 .../LienLeschzinerLowRe/LienLeschzinerLowRe.C | 155 ++---
 .../LienLeschzinerLowRe/LienLeschzinerLowRe.H |  46 +-
 .../LienLeschzinerLowReSetWallDissipation.H   |   0
 .../RAS/RNGkEpsilon/RNGkEpsilon.C             | 142 ++---
 .../RAS/RNGkEpsilon/RNGkEpsilon.H             |  44 +-
 .../fWallFunctionFvPatchScalarField.C         |  23 +-
 .../fWallFunctionFvPatchScalarField.H         |   6 +-
 .../v2WallFunctionFvPatchScalarField.C        |  22 +-
 .../v2WallFunctionFvPatchScalarField.H        |   6 +-
 .../RAS/include/nonLinearWallFunctionsI.H     |   2 +-
 .../RAS/include/wallDissipationI.H            |   2 +-
 .../RAS/include/wallNonlinearViscosityI.H     |   2 +-
 .../RAS/kOmega/Changes                        | 144 +++++
 .../RAS/kOmega/kOmega.C                       | 140 ++--
 .../RAS/kOmega/kOmega.H                       |  45 +-
 .../RAS/kkLOmega/kkLOmega.C                   | 152 ++---
 .../RAS/kkLOmega/kkLOmega.H                   |  46 +-
 .../RAS/nonlinearKEShih/nonlinearKEShih.C}    | 188 ++----
 .../RAS/nonlinearKEShih/nonlinearKEShih.H}    |  63 +-
 .../RAS/qZeta/qZeta.C                         | 146 ++---
 .../RAS/qZeta/qZeta.H                         |  80 +--
 .../turbulentTransportModels}/RAS/v2f/v2f.C   | 164 ++---
 .../turbulentTransportModels}/RAS/v2f/v2f.H   |  78 +--
 ...ayatillekeWallFunctionFvPatchScalarField.C |  22 +-
 ...ayatillekeWallFunctionFvPatchScalarField.H |   2 +-
 .../turbulentTransportModel.H}                |  49 +-
 .../turbulentTransportModels.C}               |  19 +-
 .../PhaseCompressibleTurbulenceModel.C        |   3 +-
 .../PhaseCompressibleTurbulenceModel.H        |   3 +-
 .../PhaseIncompressibleTurbulenceModel.C      |   3 +-
 .../PhaseIncompressibleTurbulenceModel.H      |   3 +-
 .../turbulenceModels/LES/LESModel/LESModel.C  |   5 +-
 .../LES/LESdeltas}/IDDESDelta/IDDESDelta.C    | 100 +--
 .../LES/LESdeltas}/IDDESDelta/IDDESDelta.H    |  21 +-
 .../LES/LESdeltas/LESdelta/LESdelta.C         |  32 +-
 .../LES/LESdeltas/LESdelta/LESdelta.H         |  37 +-
 .../LES/LESdeltas/PrandtlDelta/PrandtlDelta.C |  29 +-
 .../LES/LESdeltas/PrandtlDelta/PrandtlDelta.H |   9 +-
 .../cubeRootVolDelta/cubeRootVolDelta.C       |  31 +-
 .../cubeRootVolDelta/cubeRootVolDelta.H       |   9 +-
 .../LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.C   |  45 +-
 .../LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.H   |   9 +-
 .../LES/LESdeltas/smoothDelta/smoothDelta.C   |  53 +-
 .../LES/LESdeltas/smoothDelta/smoothDelta.H   |  31 +-
 .../smoothDelta/smoothDeltaDeltaDataI.H       |  50 +-
 .../vanDriestDelta/vanDriestDelta.C           |  88 +--
 .../vanDriestDelta/vanDriestDelta.H           |  20 +-
 .../SpalartAllmarasDDES/SpalartAllmarasDDES.C | 103 +--
 .../SpalartAllmarasDDES/SpalartAllmarasDDES.H |  60 +-
 .../SpalartAllmarasDES/SpalartAllmarasDES.C   | 454 +++++++++++++
 .../SpalartAllmarasDES/SpalartAllmarasDES.H}  | 180 +++---
 .../SpalartAllmarasIDDES.C                    | 137 ++--
 .../SpalartAllmarasIDDES.H                    |  71 ++-
 .../LES/eddyViscosity/LESeddyViscosity.C      |   6 +-
 .../turbulenceModels/LES/kEqn/kEqn.H          |  12 +-
 .../turbulenceModels/Make/files               |  12 +-
 .../RAS/LaunderSharmaKE/LaunderSharmaKE.C     | 310 +++++++++
 .../RAS/LaunderSharmaKE/LaunderSharmaKE.H     | 109 ++--
 .../turbulenceModels/RAS/RASModel/RASModel.C  |   3 +-
 .../turbulenceModels/RAS/RASModel/RASModel.H  |   8 +-
 .../RAS/SpalartAllmaras/SpalartAllmaras.C     | 389 +++++++++++
 .../RAS/SpalartAllmaras/SpalartAllmaras.H     | 108 ++--
 .../atmBoundaryLayer/atmBoundaryLayer.C       |   5 +-
 .../atmBoundaryLayer/atmBoundaryLayer.H       |   9 +-
 ...ndaryLayerInletEpsilonFvPatchScalarField.C | 106 +--
 ...ndaryLayerInletEpsilonFvPatchScalarField.H | 109 +---
 ...atmBoundaryLayerInletKFvPatchScalarField.C |   5 +-
 ...atmBoundaryLayerInletKFvPatchScalarField.H |  15 +-
 ...daryLayerInletVelocityFvPatchVectorField.C | 130 +---
 ...daryLayerInletVelocityFvPatchVectorField.H | 127 +---
 .../v2WallFunctionFvPatchScalarField.C        |  11 +-
 .../turbulenceModels/RAS/kEpsilon/kEpsilon.C  |  80 +--
 .../turbulenceModels/RAS/kEpsilon/kEpsilon.H  |  30 +-
 .../RAS/kOmegaSST/kOmegaSST.H                 |  18 +-
 .../ReynoldsStress/ReynoldsStress.C           | 221 +++++++
 .../ReynoldsStress/ReynoldsStress.H}          | 119 ++--
 .../eddyViscosity/eddyViscosity.C             |  60 +-
 .../eddyViscosity/eddyViscosity.H             |  14 +-
 .../turbulenceModels/laminar/laminar.C        |  56 +-
 .../turbulenceModels/laminar/laminar.H        |  18 +-
 .../linearViscousStress/linearViscousStress.C | 129 ++++
 .../linearViscousStress.H}                    |  95 ++-
 .../nonlinearEddyViscosity.C                  | 135 ++++
 .../nonlinearEddyViscosity.H}                 |  96 ++-
 .../turbulenceModels/turbulenceModel.H        |   5 +-
 .../turbulenceModels/turbulenceModelDoc.H     |   6 +-
 src/combustionModels/FSD/FSD.C                |   4 +-
 src/combustionModels/Make/options             |  10 +-
 src/combustionModels/PaSR/PaSR.H              |   4 +-
 .../combustionModel/combustionModel.H         |   4 +-
 src/fvOptions/Make/options                    |   9 +-
 .../variableHeatTransfer.C                    |   9 +-
 src/lagrangian/Allwmake                       |   1 -
 src/lagrangian/Turbulence/Make/options        |   1 +
 .../makeThermoParcelTurbulenceForces.H}       |  20 +-
 .../DispersionRASModel/DispersionRASModel.C   |   4 +-
 .../BrownianMotion/BrownianMotionForce.C      | 214 +++++++
 .../BrownianMotion/BrownianMotionForce.H      | 160 +++++
 .../BrownianMotion/BrownianMotionForceI.H}    |  26 +-
 src/lagrangian/coalCombustion/Make/options    |  11 +-
 .../COxidationHurtMitchell.C                  |   4 +-
 .../COxidationIntrinsicRate.C                 |   8 +-
 .../COxidationKineticDiffusionLimitedRate.C   |   6 +-
 .../COxidationMurphyShaddix.C                 |   8 +-
 .../ReactingMultiphaseParcel.C                |   4 +-
 .../Templates/ReactingParcel/ReactingParcel.C |  11 +-
 .../LiquidEvaporation/LiquidEvaporation.C     |   6 +-
 .../LiquidEvaporationBoil.C                   |   4 +-
 .../SingleKineticRateDevolatilisation.C       |   4 +-
 src/lagrangian/spray/Make/options             |  11 +-
 .../Templates/SprayParcel/SprayParcel.C       |  10 +-
 src/lagrangian/turbulence/Make/options        |  17 +-
 .../DispersionRASModel/DispersionRASModel.C   |  10 +-
 .../BrownianMotion/BrownianMotionForce.C      |   8 +-
 src/meshTools/sets/topoSets/topoSet.C         |   8 +-
 .../functionObjects/forces/Make/options       |  12 +-
 .../functionObjects/forces/forces/forces.C    |  16 +-
 .../DESModelRegions/DESModelRegions.C         |  10 +-
 .../functionObjects/utilities/Make/files      |  19 +-
 .../functionObjects/utilities/Make/options    |  13 +-
 .../functionObjects/utilities/Peclet/Peclet.C |  19 +-
 .../scalarTransport/scalarTransport.C         |  16 +-
 .../turbulenceFields/turbulenceFields.C       |   4 +-
 .../wallShearStress/wallShearStress.C         |  10 +-
 .../utilities/yPlusRAS/yPlusRAS.C             | 103 +--
 .../utilities/yPlusRAS/yPlusRAS.H             |   9 +-
 src/regionCoupled/Make/options                |   6 +-
 .../energyRegionCoupledFvPatchScalarField.C   |   8 +-
 src/regionModels/pyrolysisModels/Make/options |  13 +-
 src/regionModels/regionCoupling/Make/options  |  11 +-
 .../wallFunctions/Make/files                  |   3 +-
 .../wallFunctions/Make/options                |  11 +-
 ...alphatFilmWallFunctionFvPatchScalarField.C |  31 +-
 .../nutkFilmWallFunctionFvPatchScalarField.C} | 108 ++--
 .../nutkFilmWallFunctionFvPatchScalarField.H} |  48 +-
 .../thermalBaffleModels/Make/options          |   6 +-
 .../liquidMixtureProperties.C                 |   2 +-
 .../solidProperties/solidPropertiesI.H        |   2 +-
 .../PengRobinsonGas/PengRobinsonGas.C         |   2 +-
 .../incompressiblePerfectGasI.H               |   2 +-
 .../equationOfState/perfectGas/perfectGasI.H  |   2 +-
 .../specie/specie/specie.H                    |   2 +-
 .../thermo/hExponential/hExponentialThermoI.H |   2 +-
 .../thermo/hPolynomial/hPolynomialThermo.C    |   2 +-
 .../specie/thermo/janaf/janafThermoI.H        |   2 +-
 .../specie/thermo/thermo/thermo.H             |   2 +-
 .../specie/thermo/thermo/thermoI.H            |   2 +-
 src/turbulenceModels/Allwmake                 |  14 -
 src/turbulenceModels/LES/Allwmake             |  14 -
 .../LES/LESdeltas/LESdelta/LESdelta.C         | 138 ----
 .../LES/LESdeltas/LESdelta/LESdelta.H         | 160 -----
 src/turbulenceModels/LES/LESdeltas/Make/files |   7 -
 .../LES/LESdeltas/Make/options                |   9 -
 .../LES/LESdeltas/PrandtlDelta/PrandtlDelta.C | 102 ---
 .../LES/LESdeltas/PrandtlDelta/PrandtlDelta.H | 110 ----
 .../cubeRootVolDelta/cubeRootVolDelta.C       | 117 ----
 .../cubeRootVolDelta/cubeRootVolDelta.H       | 108 ----
 .../LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.C   | 149 -----
 .../LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.H   | 113 ----
 .../LES/LESdeltas/smoothDelta/smoothDelta.C   | 197 ------
 .../LES/LESdeltas/smoothDelta/smoothDelta.H   | 290 ---------
 .../smoothDelta/smoothDeltaDeltaDataI.H       | 227 -------
 .../LES/LESfilters/LESfilter/LESfilter.C      |  67 --
 .../LES/LESfilters/LESfilter/LESfilter.H      | 158 -----
 .../LES/LESfilters/Make/files                 |   6 -
 .../LES/LESfilters/Make/options               |   4 -
 .../anisotropicFilter/anisotropicFilter.C     | 239 -------
 .../anisotropicFilter/anisotropicFilter.H     | 131 ----
 .../LESfilters/laplaceFilter/laplaceFilter.C  | 151 -----
 .../LESfilters/laplaceFilter/laplaceFilter.H  | 132 ----
 .../LESfilters/simpleFilter/simpleFilter.C    | 128 ----
 .../LESfilters/simpleFilter/simpleFilter.H    | 121 ----
 src/turbulenceModels/compressible/Allwmake    |  13 -
 .../compressible/LES/DESModel/DESModel.C      |  57 --
 .../compressible/LES/DESModel/DESModelDoc.H   |  32 -
 .../DeardorffDiffStress/DeardorffDiffStress.C | 166 -----
 .../DeardorffDiffStress/DeardorffDiffStress.H | 150 -----
 .../LES/GenEddyVisc/GenEddyVisc.C             | 157 -----
 .../LES/GenEddyVisc/GenEddyVisc.H             | 172 -----
 .../LES/GenSGSStress/GenSGSStress.C           | 178 ------
 .../LES/GenSGSStress/GenSGSStress.H           | 198 ------
 .../compressible/LES/LESModel/LESModel.C      | 209 ------
 .../compressible/LES/LESModel/LESModel.H      | 304 ---------
 .../compressible/LES/LESModel/LESModelDoc.H   |  32 -
 .../compressible/LES/Make/files               |  16 -
 .../compressible/LES/Make/options             |  14 -
 .../LES/Smagorinsky/Smagorinsky.C             | 125 ----
 .../LES/Smagorinsky/Smagorinsky.H             | 153 -----
 .../LES/SpalartAllmaras/SpalartAllmaras.C     | 445 -------------
 .../LES/SpalartAllmaras/SpalartAllmaras.H     | 214 -------
 .../compressibleLESdelta.C                    |  66 --
 .../compressibleLESdelta.H                    | 109 ----
 .../homogeneousDynOneEqEddy.C                 | 191 ------
 .../homogeneousDynOneEqEddy.H                 | 161 -----
 .../LES/lowReOneEqEddy/lowReOneEqEddy.C       | 165 -----
 .../LES/lowReOneEqEddy/lowReOneEqEddy.H       | 152 -----
 .../compressible/LES/oneEqEddy/oneEqEddy.C    | 151 -----
 .../compressible/LES/oneEqEddy/oneEqEddy.H    | 156 -----
 .../LES/vanDriestDelta/vanDriestDelta.C       | 161 -----
 .../LES/vanDriestDelta/vanDriestDelta.H       | 113 ----
 .../compressible/RAS/LRR/LRR.C                | 483 --------------
 .../compressible/RAS/LRR/LRR.H                | 210 ------
 .../RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C | 524 ---------------
 .../RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.H | 220 -------
 .../RAS/LaunderSharmaKE/LaunderSharmaKE.C     | 363 -----------
 .../compressible/RAS/Make/files               |  55 --
 .../compressible/RAS/Make/options             |  13 -
 .../compressible/RAS/RASModel/RASModel.C      | 210 ------
 .../compressible/RAS/RASModel/RASModel.H      | 268 --------
 .../RAS/RNGkEpsilon/RNGkEpsilon.C             | 372 -----------
 .../RAS/RNGkEpsilon/RNGkEpsilon.H             | 210 ------
 .../RAS/SpalartAllmaras/SpalartAllmaras.C     | 479 --------------
 .../RAS/SpalartAllmaras/SpalartAllmaras.H     | 233 -------
 .../backwardsCompatibilityWallFunctions.C     | 357 -----------
 .../backwardsCompatibilityWallFunctions.H     | 129 ----
 ...wardsCompatibilityWallFunctionsTemplates.C | 169 -----
 .../compressibleRASBoundaryConditionsDoc.H    |  39 --
 ...thDissipationRateInletFvPatchScalarField.C | 179 ------
 ...thDissipationRateInletFvPatchScalarField.H | 203 ------
 ...ngLengthFrequencyInletFvPatchScalarField.C | 180 ------
 ...ngLengthFrequencyInletFvPatchScalarField.H | 202 ------
 ...silonLowReWallFunctionFvPatchScalarField.C | 196 ------
 ...silonLowReWallFunctionFvPatchScalarField.H | 190 ------
 .../epsilonWallFunctionFvPatchScalarField.C   | 586 -----------------
 .../epsilonWallFunctionFvPatchScalarField.H   | 292 ---------
 .../fWallFunctionFvPatchScalarField.C         | 263 --------
 .../fWallFunctionFvPatchScalarField.H         | 209 ------
 .../kLowReWallFunctionFvPatchScalarField.C    | 255 --------
 .../kLowReWallFunctionFvPatchScalarField.H    | 207 ------
 .../kqRWallFunctionFvPatchField.C             | 150 -----
 .../kqRWallFunctionFvPatchField.H             | 182 ------
 .../kqRWallFunctionFvPatchFields.C            |  47 --
 .../mutLowReWallFunctionFvPatchScalarField.C  | 133 ----
 .../mutLowReWallFunctionFvPatchScalarField.H  | 168 -----
 .../mutURoughWallFunctionFvPatchScalarField.C | 315 ---------
 .../mutURoughWallFunctionFvPatchScalarField.H | 240 -------
 ...tUSpaldingWallFunctionFvPatchScalarField.C | 223 -------
 ...tUSpaldingWallFunctionFvPatchScalarField.H | 190 ------
 .../mutUWallFunctionFvPatchScalarField.C      | 201 ------
 .../mutUWallFunctionFvPatchScalarField.H      | 176 -----
 .../mutWallFunctionFvPatchScalarField.C       | 187 ------
 .../mutWallFunctionFvPatchScalarField.H       | 181 ------
 .../mutkRoughWallFunctionFvPatchScalarField.C | 241 -------
 .../mutkRoughWallFunctionFvPatchScalarField.H | 206 ------
 .../mutkWallFunctionFvPatchScalarField.C      | 163 -----
 .../mutkWallFunctionFvPatchScalarField.H      | 168 -----
 .../omegaWallFunctionFvPatchScalarField.C     | 603 ------------------
 .../omegaWallFunctionFvPatchScalarField.H     | 298 ---------
 .../v2WallFunctionFvPatchScalarField.C        | 254 --------
 .../v2WallFunctionFvPatchScalarField.H        | 211 ------
 .../compressible/RAS/kEpsilon/kEpsilon.C      | 344 ----------
 .../compressible/RAS/kEpsilon/kEpsilon.H      | 200 ------
 .../compressible/RAS/kOmegaSST/kOmegaSST.C    | 511 ---------------
 .../compressible/RAS/kOmegaSST/kOmegaSST.H    | 316 ---------
 .../compressible/RAS/laminar/laminar.C        | 218 -------
 .../compressible/RAS/laminar/laminar.H        | 140 ----
 .../RAS/realizableKE/realizableKE.C           | 384 -----------
 .../RAS/realizableKE/realizableKE.H           | 214 -------
 .../compressible/RAS/v2f/v2f.C                | 493 --------------
 .../compressible/RAS/v2f/v2f.H                | 288 ---------
 .../compressible/turbulenceModel/Make/files   |  15 -
 .../compressible/turbulenceModel/Make/options |  17 -
 .../turbulenceModel/laminar/laminar.C         | 246 -------
 .../turbulenceModel/laminar/laminar.H         | 177 -----
 .../turbulenceModel/turbulenceModel.C         | 155 -----
 .../turbulenceModel/turbulenceModel.H         | 282 --------
 .../derivedFvPatchFields/Make/files           |   4 -
 .../derivedFvPatchFields/Make/options         |  16 -
 .../fixedShearStressFvPatchVectorField.C      | 186 ------
 .../fixedShearStressFvPatchVectorField.H      | 154 -----
 .../porousBafflePressureFvPatchField.C        | 121 ----
 .../porousBafflePressureFvPatchField.H        | 216 -------
 .../porousBafflePressureFvPatchFields.C       | 121 ----
 src/turbulenceModels/incompressible/Allwmake  |  13 -
 .../incompressible/LES/DESModel/DESModel.C    |  56 --
 .../incompressible/LES/DESModel/DESModelDoc.H |  32 -
 .../DeardorffDiffStress/DeardorffDiffStress.C | 162 -----
 .../DeardorffDiffStress/DeardorffDiffStress.H | 148 -----
 .../LES/GenEddyVisc/GenEddyVisc.C             | 149 -----
 .../LES/GenEddyVisc/GenEddyVisc.H             | 170 -----
 .../LES/GenSGSStress/GenSGSStress.C           | 230 -------
 .../LES/GenSGSStress/GenSGSStress.H           | 192 ------
 .../incompressible/LES/LESModel/LESModel.C    | 207 ------
 .../incompressible/LES/LESModel/LESModel.H    | 246 -------
 .../incompressible/LES/LESModel/LESModelDoc.H |  32 -
 .../LES/LRRDiffStress/LRRDiffStress.C         | 176 -----
 .../LES/LRRDiffStress/LRRDiffStress.H         | 145 -----
 .../incompressible/LES/Make/files             |  34 -
 .../incompressible/LES/Make/options           |  14 -
 .../LES/Smagorinsky/Smagorinsky.C             | 112 ----
 .../LES/Smagorinsky/Smagorinsky.H             | 147 -----
 .../LES/Smagorinsky2/Smagorinsky2.C           | 147 -----
 .../LES/SpalartAllmaras/SpalartAllmaras.C     | 463 --------------
 .../LES/dynLagrangian/dynLagrangian.C         | 197 ------
 .../LES/dynLagrangian/dynLagrangian.H         | 196 ------
 .../LES/dynOneEqEddy/dynOneEqEddy.C           | 196 ------
 .../LES/dynOneEqEddy/dynOneEqEddy.H           | 184 ------
 .../homogeneousDynOneEqEddy.C                 | 209 ------
 .../homogeneousDynOneEqEddy.H                 | 162 -----
 .../homogeneousDynSmagorinsky.C               | 181 ------
 .../homogeneousDynSmagorinsky.H               | 166 -----
 .../incompressibleLESdelta.C                  |  66 --
 .../incompressibleLESdelta.H                  | 109 ----
 .../LES/kOmegaSSTSAS/kOmegaSSTSAS.C           | 492 --------------
 .../LES/kOmegaSSTSAS/kOmegaSSTSAS.H           | 292 ---------
 .../incompressible/LES/laminar/laminar.C      | 183 ------
 .../incompressible/LES/laminar/laminar.H      | 138 ----
 .../LES/mixedSmagorinsky/mixedSmagorinsky.C   | 160 -----
 .../LES/mixedSmagorinsky/mixedSmagorinsky.H   | 167 -----
 .../incompressible/LES/oneEqEddy/oneEqEddy.C  | 146 -----
 .../incompressible/LES/oneEqEddy/oneEqEddy.H  | 154 -----
 .../LES/scaleSimilarity/scaleSimilarity.C     | 129 ----
 .../LES/scaleSimilarity/scaleSimilarity.H     | 146 -----
 .../LES/spectEddyVisc/spectEddyVisc.C         | 174 -----
 .../LES/spectEddyVisc/spectEddyVisc.H         | 144 -----
 .../incompressible/RAS/LRR/LRR.C              | 475 --------------
 .../incompressible/RAS/LRR/LRR.H              | 204 ------
 .../RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C | 527 ---------------
 .../RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.H | 216 -------
 .../RAS/LaunderSharmaKE/LaunderSharmaKE.C     | 309 ---------
 .../RAS/LaunderSharmaKE/LaunderSharmaKE.H     | 195 ------
 .../incompressible/RAS/Make/files             |  66 --
 .../incompressible/RAS/Make/options           |  11 -
 .../incompressible/RAS/RASModel/RASModel.C    | 206 ------
 .../incompressible/RAS/RASModel/RASModel.H    | 243 -------
 .../incompressible/RAS/RASModel/RASModelDoc.H |  32 -
 .../RAS/SpalartAllmaras/SpalartAllmaras.C     | 469 --------------
 .../backwardsCompatibilityWallFunctions.C     | 286 ---------
 .../backwardsCompatibilityWallFunctions.H     | 122 ----
 ...wardsCompatibilityWallFunctionsTemplates.C | 169 -----
 ...ndaryLayerInletEpsilonFvPatchScalarField.C | 142 -----
 ...ndaryLayerInletEpsilonFvPatchScalarField.H | 177 -----
 .../incompressibleRASBoundaryConditionsDoc.H  |  39 --
 ...thDissipationRateInletFvPatchScalarField.C | 179 ------
 ...thDissipationRateInletFvPatchScalarField.H | 203 ------
 ...ngLengthFrequencyInletFvPatchScalarField.C | 176 -----
 ...ngLengthFrequencyInletFvPatchScalarField.H | 203 ------
 ...silonLowReWallFunctionFvPatchScalarField.C | 193 ------
 ...silonLowReWallFunctionFvPatchScalarField.H | 194 ------
 .../epsilonWallFunctionFvPatchScalarField.C   | 586 -----------------
 .../epsilonWallFunctionFvPatchScalarField.H   | 291 ---------
 .../kLowReWallFunctionFvPatchScalarField.C    | 252 --------
 .../kLowReWallFunctionFvPatchScalarField.H    | 207 ------
 .../kqRWallFunctionFvPatchField.C             | 150 -----
 .../kqRWallFunctionFvPatchField.H             | 185 ------
 .../kqRWallFunctionFvPatchFields.C            |  47 --
 .../kqRWallFunctionFvPatchFields.H            |  52 --
 .../nutLowReWallFunctionFvPatchScalarField.C  | 131 ----
 .../nutLowReWallFunctionFvPatchScalarField.H  | 166 -----
 .../nutURoughWallFunctionFvPatchScalarField.C | 313 ---------
 .../nutURoughWallFunctionFvPatchScalarField.H | 241 -------
 ...tUSpaldingWallFunctionFvPatchScalarField.C | 220 -------
 ...tUSpaldingWallFunctionFvPatchScalarField.H | 190 ------
 ...UTabulatedWallFunctionFvPatchScalarField.C | 218 -------
 ...UTabulatedWallFunctionFvPatchScalarField.H | 198 ------
 .../nutUWallFunctionFvPatchScalarField.C      | 202 ------
 .../nutUWallFunctionFvPatchScalarField.H      | 176 -----
 .../nutWallFunctionFvPatchScalarField.C       | 197 ------
 .../nutWallFunctionFvPatchScalarField.H       | 181 ------
 ...tkAtmRoughWallFunctionFvPatchScalarField.C | 197 ------
 ...tkAtmRoughWallFunctionFvPatchScalarField.H | 217 -------
 .../nutkRoughWallFunctionFvPatchScalarField.C | 241 -------
 .../nutkRoughWallFunctionFvPatchScalarField.H | 221 -------
 .../nutkWallFunctionFvPatchScalarField.C      | 164 -----
 .../nutkWallFunctionFvPatchScalarField.H      | 166 -----
 .../omegaWallFunctionFvPatchScalarField.C     | 601 -----------------
 .../omegaWallFunctionFvPatchScalarField.H     | 298 ---------
 .../incompressible/RAS/kEpsilon/kEpsilon.C    | 290 ---------
 .../incompressible/RAS/kEpsilon/kEpsilon.H    | 197 ------
 .../incompressible/RAS/kOmegaSST/kOmegaSST.C  | 472 --------------
 .../incompressible/RAS/kOmegaSST/kOmegaSST.H  | 311 ---------
 .../incompressible/RAS/laminar/laminar.C      | 214 -------
 .../RAS/realizableKE/realizableKE.C           | 356 -----------
 .../RAS/realizableKE/realizableKE.H           | 211 ------
 .../incompressible/turbulenceModel/Make/files |   7 -
 .../turbulenceModel/Make/options              |   8 -
 ...daryLayerInletVelocityFvPatchVectorField.C | 142 -----
 ...daryLayerInletVelocityFvPatchVectorField.H | 178 ------
 ...entHeatFluxTemperatureFvPatchScalarField.C | 256 --------
 ...entHeatFluxTemperatureFvPatchScalarField.H | 228 -------
 .../turbulenceModel/laminar/laminar.C         | 245 -------
 .../turbulenceModel/turbulenceModel.C         | 143 -----
 .../turbulenceModel/turbulenceModel.H         | 246 -------
 .../ras/counterFlowFlame2D/system/fvSchemes   |   2 +-
 .../0.org/epsilon                             |   6 +-
 .../flamePropagationWithObstacles/0.org/k     |   6 +-
 .../flamePropagationWithObstacles/0.org/k.old |   6 +-
 .../0.org/{mut => nut}                        |  10 +-
 .../constant/RASProperties                    |  36 --
 .../constant/turbulenceProperties             |  23 +-
 .../system/changeDictionaryDict               |   8 +-
 .../system/fvSchemes                          |   2 +-
 .../ras/moriyoshiHomogeneous/0/{mut => nut}   |   4 +-
 .../constant/turbulenceProperties             |  11 +-
 .../ras/moriyoshiHomogeneous/system/fvSchemes |   2 +-
 .../engineFoam/kivaTest/-180/epsilon          |   6 +-
 .../combustion/engineFoam/kivaTest/-180/k     |   6 +-
 .../engineFoam/kivaTest/-180/{mut => nut}     |  10 +-
 .../kivaTest/constant/polyMesh/boundary       |   3 +
 .../kivaTest/constant/turbulenceProperties    |  11 +-
 .../engineFoam/kivaTest/system/fvSchemes      |   2 +-
 .../0/{alphaSgs => alphat}                    |   2 +-
 .../0/{muSgs => nut}                          |   8 +-
 .../constant/LESProperties                    |  93 ---
 .../constant/turbulenceProperties             |  81 ++-
 .../system/fvSchemes                          |   2 +-
 .../0/{alphaSgs => alphat}                    |   4 +-
 .../oppositeBurningPanels/0/{muSgs => nut}    |   6 +-
 .../fireFoam/les/oppositeBurningPanels/Allrun |   6 +-
 .../constant/LESProperties                    |  93 ---
 .../constant/turbulenceProperties             |  80 ++-
 .../oppositeBurningPanels/system/fvSchemes    |   2 +-
 .../les/smallPoolFire2D/0/{muSgs => alphat}   |   2 +-
 .../les/smallPoolFire2D/0/{alphaSgs => nut}   |   4 +-
 .../smallPoolFire2D/constant/LESProperties    |  82 ---
 .../constant/turbulenceProperties             |  71 ++-
 .../les/smallPoolFire2D/system/fvSchemes      |   2 +-
 .../les/smallPoolFire3D/0/{muSgs => alphat}   |   3 +-
 .../les/smallPoolFire3D/0/{alphaSgs => nut}   |   5 +-
 .../smallPoolFire3D/constant/LESProperties    |  88 ---
 .../constant/turbulenceProperties             |  74 ++-
 .../les/smallPoolFire3D/system/fvSchemes      |   2 +-
 .../ras/counterFlowFlame2D/system/fvSchemes   |   2 +-
 .../rhoLTSPimpleFoam/angledDuct/0/epsilon     |  10 +-
 .../rhoLTSPimpleFoam/angledDuct/0/k           |   8 +-
 .../angledDuct/0/{mut => nut}                 |  12 +-
 .../angledDuct/constant/turbulenceProperties  |  11 +-
 .../angledDuct/system/fvSchemes               |   2 +-
 .../annularThermalMixer/0.org/{mut => nut}    |  10 +-
 .../constant/boundaryConditions               |  10 +-
 .../constant/turbulenceProperties             |  12 +-
 .../annularThermalMixer/system/fvSchemes      |   2 +-
 .../les/pitzDaily/0/{alphaSgs => alphat}      |   0
 .../rhoPimpleFoam/les/pitzDaily/0/nut}        |   2 +-
 .../les/pitzDaily/constant/LESProperties      |  88 ---
 .../les/pitzDaily/constant/polyMesh/boundary  |   2 +
 .../pitzDaily/constant/turbulenceProperties   |  74 ++-
 .../les/pitzDaily/system/fvSchemes            |   2 +-
 .../rhoPimpleFoam/ras/angledDuct/0/epsilon    |  10 +-
 .../rhoPimpleFoam/ras/angledDuct/0/k          |   8 +-
 .../ras/angledDuct/0/{mut => nut}             |  12 +-
 .../angledDuct/constant/turbulenceProperties  |  11 +-
 .../ras/angledDuct/system/fvSchemes           |   2 +-
 .../rhoPimpleFoam/ras/cavity/0/epsilon        |   4 +-
 .../compressible/rhoPimpleFoam/ras/cavity/0/k |   4 +-
 .../rhoPimpleFoam/ras/cavity/0/{mut => nut}   |   6 +-
 .../rhoPimpleFoam/ras/cavity/0/omega          |   4 +-
 .../ras/cavity/constant/turbulenceProperties  |  11 +-
 .../rhoPimpleFoam/ras/cavity/system/fvSchemes |   2 +-
 .../rhoPimpleFoam/ras/mixerVessel2D/0/epsilon |   4 +-
 .../rhoPimpleFoam/ras/mixerVessel2D/0/k       |   4 +-
 .../ras/mixerVessel2D/0/{mut => nut}          |   8 +-
 .../ras/mixerVessel2D/constant/RASProperties  |  25 -
 .../constant/turbulenceProperties             |  11 +-
 .../ras/mixerVessel2D/system/fvSchemes        |   2 +-
 .../rhoPimplecFoam/angledDuct/0/alphat        |  14 +-
 .../rhoPimplecFoam/angledDuct/0/epsilon       |  10 +-
 .../rhoPimplecFoam/angledDuct/0/k             |   8 +-
 .../rhoPimplecFoam/angledDuct/0/{mut => nut}  |  12 +-
 .../angledDuct/constant/RASProperties         |  25 -
 .../angledDuct/constant/turbulenceProperties  |  11 +-
 .../angledDuct/system/fvSchemes               |   2 +-
 .../angledDuctExplicit/system/fvSchemes       |   2 +-
 .../angledDuctImplicit/0/epsilon              |  10 +-
 .../angledDuctImplicit/0/k                    |   8 +-
 .../angledDuctImplicit/0/nut}                 |  12 +-
 .../angledDuctImplicit/constant/RASProperties |  25 -
 .../constant/turbulenceProperties             |  28 +
 .../angledDuctImplicit/system/fvSchemes       |   2 +-
 .../angledDuctExplicitFixedCoeff/0/epsilon    |  10 +-
 .../angledDuctExplicitFixedCoeff/0/k          |   8 +-
 .../angledDuctExplicitFixedCoeff/0/nut}       |  12 +-
 .../constant/RASProperties                    |  25 -
 .../constant/polyMesh/boundary                |   4 +
 .../constant/turbulenceProperties             |  28 +
 .../system/fvSchemes                          |   2 +-
 .../rhoSimplecFoam/squareBend/0/epsilon       |   4 +-
 .../rhoSimplecFoam/squareBend/0/k             |   2 +-
 .../rhoSimplecFoam/squareBend/0/{mut => nut}  |   6 +-
 .../squareBend/constant/RASProperties         |  25 -
 .../squareBend/constant/turbulenceProperties  |  11 +-
 .../squareBend/system/fvSchemes               |   2 +-
 .../laminar/forwardStep/system/fvSchemes      |   2 +-
 .../laminar/shockTube/system/fvSchemes        |   2 +-
 .../sonicFoam/ras/nacaAirfoil/0/epsilon       |   2 +-
 .../sonicFoam/ras/nacaAirfoil/0/k             |   2 +-
 .../sonicFoam/ras/nacaAirfoil/0/{mut => nut}  |   6 +-
 .../ras/nacaAirfoil/constant/RASProperties    |  25 -
 .../nacaAirfoil/constant/polyMesh/boundary    |   1 +
 .../nacaAirfoil/constant/turbulenceProperties |  11 +-
 .../ras/nacaAirfoil/system/fvSchemes          |   2 +-
 .../sonicFoam/ras/prism/0/epsilon             |   2 +-
 .../compressible/sonicFoam/ras/prism/0/k      |   2 +-
 .../sonicFoam/ras/prism/0/{mut => nut}        |   6 +-
 .../ras/prism/constant/RASProperties          |  25 -
 .../ras/prism/constant/turbulenceProperties   |  11 +-
 .../sonicFoam/ras/prism/system/fvSchemes      |   2 +-
 .../hotRoom/constant/RASProperties            |  25 -
 .../hotRoom/constant/turbulenceProperties     |  28 +
 .../hotRoom/system/fvSchemes                  |   2 +-
 .../hotRoom/constant/RASProperties            |  25 -
 .../hotRoom/constant/turbulenceProperties     |  28 +
 .../hotRoom/system/fvSchemes                  |   2 +-
 .../iglooWithFridges/constant/RASProperties   |  25 -
 .../constant/turbulenceProperties             |  28 +
 .../iglooWithFridges/system/controlDict       |   7 -
 .../iglooWithFridges/system/fvSchemes         |   2 +-
 .../buoyantPimpleFoam/hotRoom/0/epsilon       |   6 +-
 .../buoyantPimpleFoam/hotRoom/0/k             |   6 +-
 .../buoyantPimpleFoam/hotRoom/0/{mut => nut}  |  10 +-
 .../hotRoom/constant/RASProperties            |  25 -
 .../hotRoom/constant/turbulenceProperties     |  11 +-
 .../hotRoom/system/fvSchemes                  |   2 +-
 .../buoyantSimpleFoam/buoyantCavity/0/epsilon |   8 +-
 .../buoyantSimpleFoam/buoyantCavity/0/k       |   8 +-
 .../0/mut => buoyantCavity/0/nut}             |  12 +-
 .../buoyantSimpleFoam/buoyantCavity/0/omega   |   8 +-
 .../buoyantCavity/constant/RASProperties      |  23 -
 .../constant/turbulenceProperties}            |  10 +-
 .../buoyantCavity/system/fvSchemes            |   2 +-
 .../circuitBoardCooling/0.org/epsilon         |   4 +-
 .../0.org/include/wallBafflePatches           |   8 +-
 .../circuitBoardCooling/0.org/k               |   4 +-
 .../circuitBoardCooling/0.org/{mut => nut}    |   8 +-
 .../constant/RASProperties                    |  23 -
 .../constant/turbulenceProperties}            |  10 +-
 .../circuitBoardCooling/system/controlDict    |   2 +-
 .../circuitBoardCooling/system/fvSchemes      |  10 +-
 .../externalCoupledCavity/0/epsilon           |   8 +-
 .../externalCoupledCavity/0/k                 |   8 +-
 .../0/mut => externalCoupledCavity/0/nut}     |  12 +-
 .../externalCoupledCavity/0/omega             |   8 +-
 .../constant/RASProperties                    |  23 -
 .../constant/turbulenceProperties             |  27 +
 .../externalCoupledCavity/system/fvSchemes    |   2 +-
 .../hotRadiationRoom/0/epsilon                |   8 +-
 .../buoyantSimpleFoam/hotRadiationRoom/0/k    |   8 +-
 .../hotRadiationRoom/0/{mut => nut}           |  12 +-
 .../hotRadiationRoom/constant/RASProperties   |  25 -
 .../constant/turbulenceProperties}            |   9 +-
 .../hotRadiationRoom/system/fvSchemes         |   2 +-
 .../hotRadiationRoomFvDOM/0/epsilon           |   8 +-
 .../hotRadiationRoomFvDOM/0/k                 |   8 +-
 .../hotRadiationRoomFvDOM/0/{mut => nut}      |  12 +-
 .../constant/RASProperties                    |  25 -
 .../constant/turbulenceProperties}            |   9 +-
 .../hotRadiationRoomFvDOM/system/fvSchemes    |   2 +-
 .../multiRegionHeater/0/bottomWater/epsilon   |  12 +-
 .../multiRegionHeater/0/bottomWater/k         |  12 +-
 .../multiRegionHeater/Allrun                  |   2 +-
 .../system/bottomWater/changeDictionaryDict   |   4 +-
 .../system/bottomWater/fvSchemes              |   2 +-
 .../multiRegionHeater/system/controlDict      |   6 -
 .../system/topAir/changeDictionaryDict        |   4 +-
 .../snappyMultiRegionHeater/Allrun            |   2 +-
 .../constant/bottomAir/RASProperties          |  24 -
 .../constant/topAir/RASProperties             |   1 -
 .../system/bottomAir/changeDictionaryDict     |   4 +-
 .../system/bottomAir/fvSchemes                |   2 +-
 .../system/topAir/changeDictionaryDict        |   4 +-
 .../heatExchanger/0.org/air/alphat            |  47 ++
 .../heatExchanger/0.org/air/epsilon           |   4 +-
 .../heatExchanger/0.org/air/k                 |   4 +-
 .../heatExchanger/0.org/air/nut               |  47 ++
 .../heatExchanger/constant/air/RASProperties  |  25 -
 .../constant/air/turbulenceProperties         |  11 +-
 .../constant/porous/RASProperties             |  24 -
 .../heatExchanger/system/air/fvSchemes        |   2 +-
 .../heatExchanger/system/porous/fvSchemes     |   2 +-
 .../multiRegionHeaterRadiation/Allrun.pre     |   2 +-
 .../constant/bottomAir/RASProperties          |  24 -
 .../constant/topAir/RASProperties             |   1 -
 .../system/bottomAir/changeDictionaryDict     |   4 +-
 .../system/bottomAir/fvSchemes                |   2 +-
 .../system/topAir/changeDictionaryDict        |   4 +-
 .../rotor2D/constant/RASProperties            |  25 -
 .../rotor2D/constant/polyMesh/boundary        |   3 +
 .../rotor2D/constant/turbulenceProperties     |  12 +-
 .../SRFPimpleFoam/rotor2D/system/fvSchemes    |   2 +-
 .../mixer/constant/RASProperties              |  25 -
 .../mixer/constant/turbulenceProperties       |  28 +
 .../SRFSimpleFoam/mixer/system/fvSchemes      |   2 +-
 .../SRFSimpleFoam/mixer/turbulenceProperties  |  28 +
 .../pitzDaily/constant/RASProperties          |  24 -
 .../pitzDaily/constant/turbulenceProperties}  |   9 +-
 .../pitzDaily/system/fvSchemes                |   4 +-
 .../constant/RASProperties                    |  25 -
 .../constant/turbulenceProperties             |  28 +
 .../boundaryLaunderSharma/system/fvSchemes    |   2 +-
 .../constant/RASProperties                    |  25 -
 .../constant/turbulenceProperties             |  28 +
 .../boundaryWallFunctions/system/fvSchemes    |   2 +-
 .../constant/RASProperties                    |  25 -
 .../constant/turbulenceProperties             |  28 +
 .../system/fvSchemes                          |   2 +-
 .../mixerVesselAMI2D/constant/RASProperties   |  25 -
 .../mixerVesselAMI2D/system/fvSchemes         |   2 +-
 .../pimpleDyMFoam/movingCone/system/fvSchemes |   2 +-
 .../oscillatingInletACMI2D/0.org/nut}         |  36 +-
 .../constant/RASProperties                    |  25 -
 .../constant/turbulenceProperties             |  11 +-
 .../oscillatingInletACMI2D/system/fvSchemes   |   2 +-
 .../propeller/constant/RASProperties          |  25 -
 .../propeller/constant/turbulenceProperties   |  11 +-
 .../propeller/system/controlDict              |   6 -
 .../pimpleDyMFoam/propeller/system/fvSchemes  |   2 +-
 .../constant/RASProperties                    |  25 -
 .../constant/turbulenceProperties             |  11 +-
 .../system/fvSchemes                          |   2 +-
 .../constant/RASProperties                    |  25 -
 .../constant/turbulenceProperties             |  27 +
 .../wingMotion2D_simpleFoam/system/fvSchemes  |   2 +-
 .../wingMotion_snappyHexMesh/system/fvSchemes |   2 +-
 .../TJunction/constant/RASProperties          |  25 -
 .../TJunction/constant/turbulenceProperties   |  12 +-
 .../pimpleFoam/TJunction/system/controlDict   |   7 -
 .../pimpleFoam/TJunction/system/fvSchemes     |   2 +-
 .../TJunctionFan/constant/RASProperties       |  25 -
 .../constant/turbulenceProperties             |  12 +-
 .../TJunctionFan/system/controlDict           |   6 -
 .../pimpleFoam/TJunctionFan/system/fvSchemes  |   2 +-
 .../channel395/0.org/{nuSgs => nut}           |   2 +-
 .../pimpleFoam/channel395/0/nuSgs.gz          | Bin 208201 -> 0 bytes
 .../pimpleFoam/channel395/Allrun              |   2 +-
 .../channel395/constant/LESProperties         |  86 ---
 .../channel395/constant/turbulenceProperties  |  75 ++-
 .../channel395/system/decomposeParDict        |  10 +-
 .../pimpleFoam/channel395/system/fvSchemes    |   7 +-
 .../pimpleFoam/channel395/system/fvSolution   |   4 +-
 .../elipsekkLOmega/constant/RASProperties     |  25 -
 .../constant/turbulenceProperties             |  12 +-
 .../elipsekkLOmega/system/fvSchemes           |   2 +-
 .../pitzDaily/constant/RASProperties          |  25 -
 .../pitzDaily/constant/polyMesh/boundary      |   2 +
 .../pitzDaily/constant/turbulenceProperties   |  11 +-
 .../pimpleFoam/pitzDaily/system/fvSchemes     |   2 +-
 .../pisoFoam/les/motorBike/lesFiles/Allrun    |   8 +-
 .../les/motorBike/lesFiles/LESProperties      |  79 ---
 .../pisoFoam/les/motorBike/lesFiles/fvSchemes |   3 +-
 .../les/motorBike/lesFiles/fvSolution         |  13 +-
 .../pisoFoam/les/motorBike/lesFiles/nuSgs     |  69 --
 .../motorBike/lesFiles/turbulenceProperties   |  68 +-
 .../motorBike/constant/RASProperties          |  25 -
 .../motorBike/constant/polyMesh/boundary      | 428 +------------
 .../motorBike/constant/turbulenceProperties}  |   9 +-
 .../les/motorBike/motorBike/system/fvSchemes  |   2 +-
 .../pisoFoam/les/pitzDaily/0/{nuSgs => nut}   |   2 +-
 .../les/pitzDaily/constant/LESProperties      |  86 ---
 .../pitzDaily/constant/turbulenceProperties   |  74 ++-
 .../pisoFoam/les/pitzDaily/system/fvSchemes   |   2 +-
 .../pisoFoam/les/pitzDailyMapped/0/nut}       |   4 +-
 .../pitzDailyMapped/constant/LESProperties    |  86 ---
 .../constant/turbulenceProperties             |  73 ++-
 .../les/pitzDailyMapped/system/fvSchemes      |   2 +-
 .../pisoFoam/ras/cavity/0/omega               |  41 ++
 .../ras/cavity/constant/RASProperties         |  25 -
 .../ras/cavity/constant/turbulenceProperties  |  10 +-
 .../pisoFoam/ras/cavity/system/fvSchemes      |   3 +-
 .../pisoFoam/ras/cavity/system/fvSolution     |   2 +-
 .../ras/cavityCoupledU/constant/RASProperties |  25 -
 .../constant/turbulenceProperties             |  10 +-
 .../ras/cavityCoupledU/system/fvSchemes       |   2 +-
 .../angledDuctExplicit/system/fvSchemes       |   2 +-
 .../angledDuctImplicit/constant/RASProperties |  25 -
 .../constant/turbulenceProperties             |  28 +
 .../angledDuctImplicit/system/fvSchemes       |   2 +-
 .../constant/RASProperties                    |  25 -
 .../constant/turbulenceProperties             |  28 +
 .../straightDuctImplicit/system/fvSchemes     |   2 +-
 .../airFoil2D/constant/RASProperties          |  25 -
 .../airFoil2D/constant/turbulenceProperties   |  27 +
 .../simpleFoam/airFoil2D/system/fvSchemes     |   2 +-
 .../mixerVessel2D/constant/RASProperties      |  25 -
 .../constant/turbulenceProperties             |  27 +
 .../simpleFoam/mixerVessel2D/system/fvSchemes |   2 +-
 .../motorBike/constant/RASProperties          |  24 -
 .../motorBike/constant/turbulenceProperties   |  26 +
 .../simpleFoam/motorBike/system/controlDict   |   7 -
 .../simpleFoam/motorBike/system/fvSchemes     |   2 +-
 .../pipeCyclic/constant/RASProperties         |  25 -
 .../pipeCyclic/constant/turbulenceProperties  |  10 +-
 .../simpleFoam/pipeCyclic/system/controlDict  |   7 -
 .../simpleFoam/pipeCyclic/system/fvSchemes    |   2 +-
 .../pitzDaily/constant/RASProperties          |  25 -
 .../pitzDaily/constant/turbulenceProperties   |  28 +
 .../simpleFoam/pitzDaily/system/fvSchemes     |   2 +-
 .../pitzDailyExptInlet/constant/RASProperties |  25 -
 .../constant/turbulenceProperties             |  27 +
 .../pitzDailyExptInlet/system/fvSchemes       |   2 +-
 .../{RASProperties => turbulenceProperties}   |  33 +-
 .../turbineSiting/system/controlDict          |   4 +-
 .../simpleFoam/turbineSiting/system/fvSchemes |   4 +-
 .../counterFlowFlame2D/0/{mut => nut}         |   4 +-
 .../counterFlowFlame2D/constant/RASProperties |  25 -
 .../constant/turbulenceProperties             |   1 -
 .../counterFlowFlame2D/system/fvSchemes       |   2 +-
 .../verticalChannel/0.org/k                   |   2 +-
 .../verticalChannel/0.org/nut}                |   6 +-
 .../verticalChannel/0.org/omega               |   6 +-
 .../LTSReactingParcelFoam/verticalChannel/0/k |   2 +-
 .../verticalChannel/{0.org/mut => 0/nut}      |   6 +-
 .../verticalChannel/0/omega                   |   6 +-
 .../verticalChannel/constant/RASProperties    |  24 -
 .../constant/turbulenceProperties             |  11 +-
 .../verticalChannel/system/fvSchemes          |   2 +-
 .../MPPICFoam/column/constant/RASProperties   |  25 -
 .../simplifiedSiwek/0/epsilon                 |   6 +-
 .../coalChemistryFoam/simplifiedSiwek/0/k     |   6 +-
 .../simplifiedSiwek/0/{mut => nut}            |  10 +-
 .../simplifiedSiwek/constant/RASProperties    |  24 -
 .../constant/turbulenceProperties             |  11 +-
 .../simplifiedSiwek/system/fvSchemes          |   2 +-
 .../hopperEmptying/constant/RASProperties     |  25 -
 .../constant/turbulenceProperties             |   2 +-
 .../hopperInitialState/constant/RASProperties |  25 -
 .../constant/turbulenceProperties             |   2 +-
 .../cylinder/system/fvSchemes                 |   2 +-
 .../hotBoxes/0.org/epsilon                    |   4 +-
 .../reactingParcelFilmFoam/hotBoxes/0.org/k   |   4 +-
 .../hotBoxes/0.org/{mut => nut}               |   8 +-
 .../hotBoxes/constant/RASProperties           |  25 -
 .../hotBoxes/constant/turbulenceProperties    |  11 +-
 .../hotBoxes/system/changeDictionaryDict      |   2 +-
 .../hotBoxes/system/fvSchemes                 |   2 +-
 .../rivuletPanel/system/fvSchemes             |   2 +-
 .../splashPanel/system/fvSchemes              |   2 +-
 .../reactingParcelFoam/filter/0.org/epsilon   |   2 +-
 .../reactingParcelFoam/filter/0.org/k         |   2 +-
 .../filter/0.org/{mut => nut}                 |   6 +-
 .../reactingParcelFoam/filter/0/epsilon       |   2 +-
 .../lagrangian/reactingParcelFoam/filter/0/k  |   2 +-
 .../reactingParcelFoam/filter/0/{mut => nut}  |   6 +-
 .../filter/constant/RASProperties             |  24 -
 .../filter/constant/turbulenceProperties      |  11 +-
 .../filter/system/changeDictionaryDict        |   2 +-
 .../filter/system/controlDict                 |   7 -
 .../filter/system/fvSchemes                   |   2 +-
 .../parcelInBox/system/fvSchemes              |   2 +-
 .../verticalChannel/0.org/k                   |   2 +-
 .../verticalChannel/0.org/nut}                |   6 +-
 .../verticalChannel/0.org/omega               |   6 +-
 .../verticalChannel/constant/RASProperties    |  24 -
 .../constant/turbulenceProperties             |  11 +-
 .../verticalChannel/system/fvSchemes          |   2 +-
 .../verticalChannel/0.org/k                   |   2 +-
 .../verticalChannel/0.org/nut}                |   6 +-
 .../verticalChannel/0.org/omega               |   6 +-
 .../verticalChannel/0/k                       |   2 +-
 .../verticalChannel/0/mut                     |  58 --
 .../verticalChannel/0/nut                     |  58 ++
 .../verticalChannel/0/omega                   |   6 +-
 .../verticalChannel/constant/RASProperties    |  24 -
 .../constant/turbulenceProperties             |  11 +-
 .../verticalChannel/system/fvSchemes          |   2 +-
 .../lagrangian/sprayFoam/aachenBomb/0/epsilon |   2 +-
 tutorials/lagrangian/sprayFoam/aachenBomb/0/k |   2 +-
 .../sprayFoam/aachenBomb/0/{mut => nut}       |   6 +-
 .../aachenBomb/constant/RASProperties         |  25 -
 .../aachenBomb/constant/turbulenceProperties  |  11 +-
 .../sprayFoam/aachenBomb/system/fvSchemes     |   2 +-
 .../mixerVessel/constant/RASProperties        |  25 -
 .../mixerVessel/constant/turbulenceProperties |  12 +-
 .../foamyHexMesh/mixerVessel/system/fvSchemes |   2 +-
 .../DTCHull/constant/RASProperties            |  25 -
 .../DTCHull/constant/turbulenceProperties     |  11 +-
 .../LTSInterFoam/DTCHull/system/fvSchemes     |   2 +-
 .../les/throttle/0/{nuSgs => nut}             |   2 +-
 .../les/throttle/constant/LESProperties       |  84 ---
 .../throttle/constant/turbulenceProperties    |  74 ++-
 .../les/throttle/system/fvSchemes             |   2 +-
 .../les/throttle3D/0.org/{nuSgs => nut}       |   2 +-
 .../les/throttle3D/constant/LESProperties     |  84 ---
 .../throttle3D/constant/turbulenceProperties  |  74 ++-
 .../les/throttle3D/system/fvSchemes           |   2 +-
 .../ras/throttle/constant/RASProperties       |  25 -
 .../throttle/constant/turbulenceProperties    |  11 +-
 .../ras/throttle/system/fvSchemes             |   2 +-
 .../ras/sloshingTank2D/constant/RASProperties |  25 -
 .../ras/sloshingTank2D/system/fvSchemes       |   2 +-
 .../depthCharge2D/constant/LESProperties      |  84 ---
 .../depthCharge2D/constant/polyMesh/boundary  |   1 +
 .../laminar/depthCharge2D/system/fvSchemes    |   2 +-
 .../depthCharge3D/constant/LESProperties      |  84 ---
 .../laminar/depthCharge3D/system/fvSchemes    |   2 +-
 .../laminar/damBreak4phase/system/fvSchemes   |   2 +-
 .../ras/DTCHull/constant/RASProperties        |  25 -
 .../ras/DTCHull/constant/turbulenceProperties |  11 +-
 .../interDyMFoam/ras/DTCHull/system/fvSchemes |   2 +-
 .../constant/RASProperties                    |  25 -
 .../constant/turbulenceProperties             |   2 +-
 .../ras/damBreakWithObstacle/system/fvSchemes |   2 +-
 .../ras/floatingObject/constant/RASProperties |  25 -
 .../constant/turbulenceProperties             |  12 +-
 .../ras/floatingObject/system/fvSchemes       |   2 +-
 .../ras/mixerVesselAMI/constant/RASProperties |  25 -
 .../constant/turbulenceProperties             |  12 +-
 .../ras/mixerVesselAMI/system/fvSchemes       |   4 +-
 .../ras/sloshingTank2D/constant/RASProperties |  25 -
 .../ras/sloshingTank2D/system/fvSchemes       |   2 +-
 .../sloshingTank2D3DoF/constant/RASProperties |  25 -
 .../ras/sloshingTank2D3DoF/system/fvSchemes   |   2 +-
 .../ras/sloshingTank3D/constant/RASProperties |  25 -
 .../ras/sloshingTank3D/system/fvSchemes       |   2 +-
 .../ras/sloshingTank3D3DoF/system/fvSchemes   |   2 +-
 .../sloshingTank3D6DoF/constant/RASProperties |  25 -
 .../ras/sloshingTank3D6DoF/system/fvSchemes   |   2 +-
 .../ras/testTubeMixer/constant/RASProperties  |  25 -
 .../ras/testTubeMixer/system/fvSchemes        |   2 +-
 .../laminar/capillaryRise/system/fvSchemes    |   2 +-
 .../laminar/damBreak/system/fvSchemes         |   2 +-
 .../laminar/mixerVessel2D/system/fvSchemes    |   2 +-
 .../les/nozzleFlow2D/0/{nuSgs => nut}         |   2 +-
 .../les/nozzleFlow2D/constant/LESProperties   |  86 ---
 .../constant/turbulenceProperties             |  73 ++-
 .../les/nozzleFlow2D/system/fvSchemes         |   2 +-
 tutorials/multiphase/interFoam/ras/Allclean   |   2 +-
 .../ras/angledDuct/constant/RASProperties     |  25 -
 .../angledDuct/constant/turbulenceProperties  |  11 +-
 .../interFoam/ras/angledDuct/system/fvSchemes |   2 +-
 .../ras/damBreak/constant/RASProperties       |  25 -
 .../ras/damBreak/constant/polyMesh/boundary   |   3 +
 .../damBreak/constant/turbulenceProperties    |  11 +-
 .../interFoam/ras/damBreak/system/fvSchemes   |   2 +-
 .../ras/damBreakPorousBaffle/0/p_rgh          |   4 +-
 .../constant/RASProperties                    |  25 -
 .../constant/polyMesh/boundary                |  19 +-
 .../constant/turbulenceProperties             |  11 +-
 .../damBreakPorousBaffle/system/controlDict   |   6 -
 .../ras/damBreakPorousBaffle/system/fvSchemes |   2 +-
 .../LTSInterFoam/system/fvSchemes             |   2 +-
 .../ras/waterChannel/constant/RASProperties   |  24 -
 .../constant/turbulenceProperties             |  11 +-
 .../ras/waterChannel/system/fvSchemes         |   2 +-
 .../ras/weirOverflow/constant/RASProperties   |  25 -
 .../constant/turbulenceProperties             |  11 +-
 .../ras/weirOverflow/system/fvSchemes         |   2 +-
 .../laminar/damBreak/system/fvSchemes         |   2 +-
 .../propeller/constant/RASProperties          |  25 -
 .../propeller/constant/turbulenceProperties   |  11 +-
 .../propeller/system/controlDict              |   6 -
 .../propeller/system/fvSchemes                |   2 +-
 .../cavitatingBullet/system/fvSchemes         |   2 +-
 .../bubbleColumn/constant/LESProperties       |  29 -
 .../bubbleColumn/constant/polyMesh/boundary   |   1 +
 .../constant/turbulenceProperties}            |   6 +-
 .../damBreak4phase/constant/LESProperties     |  29 -
 .../damBreak4phase/constant/polyMesh/boundary |   3 +
 .../damBreak4phaseFine/constant/LESProperties |  29 -
 .../constant/polyMesh/boundary                |   3 +
 .../mixerVessel2D/constant/LESProperties      |  29 -
 .../mixerVessel2D/constant/polyMesh/boundary  |   2 +
 .../constant/turbulenceProperties}            |   9 +-
 .../mixerVesselAMI2D/constant/RASProperties   |  25 -
 .../laminar/mixerVesselAMI2D/system/fvSchemes |   2 +-
 .../laminar/damBreak4phase/system/fvSchemes   |   2 +-
 .../damBreak4phaseFine/system/fvSchemes       |   2 +-
 .../laminar/mixerVessel2D/system/fvSchemes    |   2 +-
 .../oscillatingBox/system/fvSchemes           |   2 +-
 .../oscillatingBox/system/fvSchemes           |   2 +-
 .../lockExchange/system/fvSchemes             |   2 +-
 1102 files changed, 9071 insertions(+), 54713 deletions(-)
 delete mode 100644 applications/test/PisoFoam/Make/files
 delete mode 100644 applications/test/PisoFoam/Make/options
 delete mode 100644 applications/test/PisoFoam/PisoFoam.C
 delete mode 100644 applications/test/PisoFoam/turbulenceModel.H
 delete mode 100644 applications/test/RhoPimpleFoam/EEqn.H
 delete mode 100644 applications/test/RhoPimpleFoam/Make/files
 delete mode 100644 applications/test/RhoPimpleFoam/Make/options
 delete mode 100644 applications/test/RhoPimpleFoam/rhoPimpleFoam.C
 delete mode 100644 applications/test/RhoPimpleFoam/turbulenceModel.H
 delete mode 100644 applications/utilities/preProcessing/applyWallFunctionBoundaryConditions/Make/files
 delete mode 100644 applications/utilities/preProcessing/applyWallFunctionBoundaryConditions/Make/options
 delete mode 100644 applications/utilities/preProcessing/applyWallFunctionBoundaryConditions/applyWallFunctionBoundaryConditions.C
 create mode 100644 src/TurbulenceModels/compressible/SpecificCompressibleTurbulenceModel/SpecificCompressibleTurbulenceModel.C
 rename src/{turbulenceModels/compressible/LES/DESModel/DESModel.H => TurbulenceModels/compressible/SpecificCompressibleTurbulenceModel/SpecificCompressibleTurbulenceModel.H} (56%)
 create mode 100644 src/TurbulenceModels/compressible/eddyDiffusivity/eddyDiffusivity.C
 create mode 100644 src/TurbulenceModels/compressible/eddyDiffusivity/eddyDiffusivity.H
 create mode 100644 src/TurbulenceModels/compressible/thermalDiffusivity/thermalDiffusivity.C
 create mode 100644 src/TurbulenceModels/compressible/thermalDiffusivity/thermalDiffusivity.H
 rename src/{turbulenceModels/compressible/turbulenceModel => TurbulenceModels/compressible}/turbulenceModelDoc.H (94%)
 rename src/{turbulenceModels/compressible/RAS => TurbulenceModels/compressible/turbulentFluidThermoModels}/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.C (87%)
 rename src/{turbulenceModels/compressible/RAS => TurbulenceModels/compressible/turbulentFluidThermoModels}/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.H (98%)
 rename src/{turbulenceModels/compressible/turbulenceModel => TurbulenceModels/compressible/turbulentFluidThermoModels}/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C (95%)
 rename src/{turbulenceModels/compressible/turbulenceModel => TurbulenceModels/compressible/turbulentFluidThermoModels}/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.H (99%)
 rename src/{turbulenceModels/compressible/turbulenceModel => TurbulenceModels/compressible/turbulentFluidThermoModels}/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C (99%)
 rename src/{turbulenceModels/compressible/turbulenceModel => TurbulenceModels/compressible/turbulentFluidThermoModels}/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.H (99%)
 rename src/{turbulenceModels/compressible/turbulenceModel => TurbulenceModels/compressible/turbulentFluidThermoModels}/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.C (95%)
 rename src/{turbulenceModels/compressible/turbulenceModel => TurbulenceModels/compressible/turbulentFluidThermoModels}/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.H (98%)
 rename src/{turbulenceModels/compressible/turbulenceModel => TurbulenceModels/compressible/turbulentFluidThermoModels}/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.C (98%)
 rename src/{turbulenceModels/compressible/turbulenceModel => TurbulenceModels/compressible/turbulentFluidThermoModels}/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.H (99%)
 rename src/{turbulenceModels/compressible/turbulenceModel => TurbulenceModels/compressible/turbulentFluidThermoModels}/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarFields.C (97%)
 rename src/{turbulenceModels/compressible/turbulenceModel => TurbulenceModels/compressible/turbulentFluidThermoModels}/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarFields.H (96%)
 rename src/{turbulenceModels/compressible/turbulenceModel => TurbulenceModels/compressible/turbulentFluidThermoModels}/derivedFvPatchFields/totalFlowRateAdvectiveDiffusive/totalFlowRateAdvectiveDiffusiveFvPatchScalarField.C (91%)
 rename src/{turbulenceModels/compressible/turbulenceModel => TurbulenceModels/compressible/turbulentFluidThermoModels}/derivedFvPatchFields/totalFlowRateAdvectiveDiffusive/totalFlowRateAdvectiveDiffusiveFvPatchScalarField.H (98%)
 rename src/{turbulenceModels/compressible/turbulenceModel => TurbulenceModels/compressible/turbulentFluidThermoModels}/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C (99%)
 rename src/{turbulenceModels/compressible/turbulenceModel => TurbulenceModels/compressible/turbulentFluidThermoModels}/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H (98%)
 rename src/{turbulenceModels/compressible/turbulenceModel => TurbulenceModels/compressible/turbulentFluidThermoModels}/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C (99%)
 rename src/{turbulenceModels/compressible/turbulenceModel => TurbulenceModels/compressible/turbulentFluidThermoModels}/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H (99%)
 rename src/{turbulenceModels/compressible/turbulenceModel => TurbulenceModels/compressible/turbulentFluidThermoModels}/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C (99%)
 rename src/{turbulenceModels/compressible/turbulenceModel => TurbulenceModels/compressible/turbulentFluidThermoModels}/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.H (99%)
 rename src/{turbulenceModels/compressible/RAS => TurbulenceModels/compressible/turbulentFluidThermoModels}/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C (92%)
 rename src/{turbulenceModels/compressible/RAS => TurbulenceModels/compressible/turbulentFluidThermoModels}/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H (98%)
 rename src/{turbulenceModels/compressible/RAS => TurbulenceModels/compressible/turbulentFluidThermoModels}/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.C (82%)
 rename src/{turbulenceModels/compressible/RAS => TurbulenceModels/compressible/turbulentFluidThermoModels}/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.H (94%)
 rename src/{turbulenceModels/compressible/turbulenceModel => TurbulenceModels/compressible/turbulentFluidThermoModels}/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C (94%)
 rename src/{turbulenceModels/compressible/turbulenceModel => TurbulenceModels/compressible/turbulentFluidThermoModels}/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.H (98%)
 create mode 100644 src/TurbulenceModels/compressible/turbulentFluidThermoModels/makeTurbulenceModel.H
 rename src/{turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchFields.H => TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModel.H} (57%)
 rename src/TurbulenceModels/compressible/{compressibleTurbulenceModels.C => turbulentFluidThermoModels/turbulentFluidThermoModels.C} (78%)
 create mode 100644 src/TurbulenceModels/incompressible/SpecificIncompressibleTurbulenceModel/SpecificIncompressibleTurbulenceModel.C
 rename src/{turbulenceModels/incompressible/LES/DESModel/DESModel.H => TurbulenceModels/incompressible/SpecificIncompressibleTurbulenceModel/SpecificIncompressibleTurbulenceModel.H} (56%)
 rename src/{turbulenceModels/incompressible/turbulenceModel => TurbulenceModels/incompressible}/turbulenceModelDoc.H (94%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/incompressible/turbulentTransportModels}/RAS/LamBremhorstKE/LamBremhorstKE.C (72%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/incompressible/turbulentTransportModels}/RAS/LamBremhorstKE/LamBremhorstKE.H (81%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/incompressible/turbulentTransportModels}/RAS/LienCubicKE/LienCubicKE.C (67%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/incompressible/turbulentTransportModels}/RAS/LienCubicKE/LienCubicKE.H (81%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/incompressible/turbulentTransportModels}/RAS/LienCubicKELowRe/LienCubicKELowRe.C (69%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/incompressible/turbulentTransportModels}/RAS/LienCubicKELowRe/LienCubicKELowRe.H (84%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/incompressible/turbulentTransportModels}/RAS/LienCubicKELowRe/LienCubicKELowReSetWallDissipation.H (100%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/incompressible/turbulentTransportModels}/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.C (72%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/incompressible/turbulentTransportModels}/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.H (82%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/incompressible/turbulentTransportModels}/RAS/LienLeschzinerLowRe/LienLeschzinerLowReSetWallDissipation.H (100%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/incompressible/turbulentTransportModels}/RAS/RNGkEpsilon/RNGkEpsilon.C (71%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/incompressible/turbulentTransportModels}/RAS/RNGkEpsilon/RNGkEpsilon.H (83%)
 rename src/{turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/fWallFunctions => TurbulenceModels/incompressible/turbulentTransportModels/RAS/derivedFvPatchFields/wallFunctions}/fWallFunction/fWallFunctionFvPatchScalarField.C (92%)
 rename src/{turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/fWallFunctions => TurbulenceModels/incompressible/turbulentTransportModels/RAS/derivedFvPatchFields/wallFunctions}/fWallFunction/fWallFunctionFvPatchScalarField.H (97%)
 rename src/{turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/v2WallFunctions => TurbulenceModels/incompressible/turbulentTransportModels/RAS/derivedFvPatchFields/wallFunctions}/v2WallFunction/v2WallFunctionFvPatchScalarField.C (92%)
 rename src/{turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/v2WallFunctions => TurbulenceModels/incompressible/turbulentTransportModels/RAS/derivedFvPatchFields/wallFunctions}/v2WallFunction/v2WallFunctionFvPatchScalarField.H (97%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/incompressible/turbulentTransportModels}/RAS/include/nonLinearWallFunctionsI.H (98%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/incompressible/turbulentTransportModels}/RAS/include/wallDissipationI.H (95%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/incompressible/turbulentTransportModels}/RAS/include/wallNonlinearViscosityI.H (97%)
 create mode 100644 src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kOmega/Changes
 rename src/{turbulenceModels/incompressible => TurbulenceModels/incompressible/turbulentTransportModels}/RAS/kOmega/kOmega.C (68%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/incompressible/turbulentTransportModels}/RAS/kOmega/kOmega.H (84%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/incompressible/turbulentTransportModels}/RAS/kkLOmega/kkLOmega.C (87%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/incompressible/turbulentTransportModels}/RAS/kkLOmega/kkLOmega.H (89%)
 rename src/{turbulenceModels/incompressible/RAS/NonlinearKEShih/NonlinearKEShih.C => TurbulenceModels/incompressible/turbulentTransportModels/RAS/nonlinearKEShih/nonlinearKEShih.C} (73%)
 rename src/{turbulenceModels/incompressible/RAS/NonlinearKEShih/NonlinearKEShih.H => TurbulenceModels/incompressible/turbulentTransportModels/RAS/nonlinearKEShih/nonlinearKEShih.H} (76%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/incompressible/turbulentTransportModels}/RAS/qZeta/qZeta.C (72%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/incompressible/turbulentTransportModels}/RAS/qZeta/qZeta.H (75%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/incompressible/turbulentTransportModels}/RAS/v2f/v2f.C (74%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/incompressible/turbulentTransportModels}/RAS/v2f/v2f.H (77%)
 rename src/{turbulenceModels/incompressible/RAS => TurbulenceModels/incompressible/turbulentTransportModels}/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C (93%)
 rename src/{turbulenceModels/incompressible/RAS => TurbulenceModels/incompressible/turbulentTransportModels}/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H (98%)
 rename src/{turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchFieldFwd.H => TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModel.H} (58%)
 rename src/TurbulenceModels/incompressible/{incompressibleTurbulenceModels.C => turbulentTransportModels/turbulentTransportModels.C} (82%)
 rename src/{turbulenceModels/incompressible/LES/SpalartAllmarasIDDES => TurbulenceModels/turbulenceModels/LES/LESdeltas}/IDDESDelta/IDDESDelta.C (60%)
 rename src/{turbulenceModels/incompressible/LES/SpalartAllmarasIDDES => TurbulenceModels/turbulenceModels/LES/LESdeltas}/IDDESDelta/IDDESDelta.H (88%)
 rename src/{turbulenceModels/incompressible/LES => TurbulenceModels/turbulenceModels/LES/LESdeltas}/vanDriestDelta/vanDriestDelta.C (61%)
 rename src/{turbulenceModels/incompressible/LES => TurbulenceModels/turbulenceModels/LES/LESdeltas}/vanDriestDelta/vanDriestDelta.H (87%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/turbulenceModels}/LES/SpalartAllmarasDDES/SpalartAllmarasDDES.C (55%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/turbulenceModels}/LES/SpalartAllmarasDDES/SpalartAllmarasDDES.H (64%)
 create mode 100644 src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.C
 rename src/{turbulenceModels/incompressible/LES/SpalartAllmaras/SpalartAllmaras.H => TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.H} (54%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/turbulenceModels}/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C (54%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/turbulenceModels}/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H (63%)
 create mode 100644 src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C
 rename src/{turbulenceModels/compressible => TurbulenceModels/turbulenceModels}/RAS/LaunderSharmaKE/LaunderSharmaKE.H (65%)
 create mode 100644 src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C
 rename src/{turbulenceModels/incompressible => TurbulenceModels/turbulenceModels}/RAS/SpalartAllmaras/SpalartAllmaras.H (68%)
 rename src/{turbulenceModels/incompressible/turbulenceModel => TurbulenceModels/turbulenceModels/RAS}/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.C (97%)
 rename src/{turbulenceModels/incompressible/turbulenceModel => TurbulenceModels/turbulenceModels/RAS}/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.H (96%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/turbulenceModels}/RAS/derivedFvPatchFields/atmBoundaryLayerInletK/atmBoundaryLayerInletKFvPatchScalarField.C (96%)
 rename src/{turbulenceModels/incompressible => TurbulenceModels/turbulenceModels}/RAS/derivedFvPatchFields/atmBoundaryLayerInletK/atmBoundaryLayerInletKFvPatchScalarField.H (91%)
 create mode 100644 src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.C
 rename src/{turbulenceModels/incompressible/turbulenceModel/laminar/laminar.H => TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.H} (52%)
 create mode 100644 src/TurbulenceModels/turbulenceModels/linearViscousStress/linearViscousStress.C
 rename src/{turbulenceModels/incompressible/LES/Smagorinsky2/Smagorinsky2.H => TurbulenceModels/turbulenceModels/linearViscousStress/linearViscousStress.H} (53%)
 create mode 100644 src/TurbulenceModels/turbulenceModels/nonlinearEddyViscosity/nonlinearEddyViscosity.C
 rename src/{turbulenceModels/incompressible/RAS/laminar/laminar.H => TurbulenceModels/turbulenceModels/nonlinearEddyViscosity/nonlinearEddyViscosity.H} (56%)
 rename src/{turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchFields.H => lagrangian/Turbulence/parcels/include/makeThermoParcelTurbulenceForces.H} (77%)
 create mode 100644 src/lagrangian/Turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.C
 create mode 100644 src/lagrangian/Turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.H
 rename src/{turbulenceModels/compressible/RAS/RASModel/RASModelDoc.H => lagrangian/Turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForceI.H} (74%)
 rename src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/{mutkFilmWallFunction/mutkFilmWallFunctionFvPatchScalarField.C => nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.C} (62%)
 rename src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/{mutkFilmWallFunction/mutkFilmWallFunctionFvPatchScalarField.H => nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.H} (76%)
 delete mode 100755 src/turbulenceModels/Allwmake
 delete mode 100755 src/turbulenceModels/LES/Allwmake
 delete mode 100644 src/turbulenceModels/LES/LESdeltas/LESdelta/LESdelta.C
 delete mode 100644 src/turbulenceModels/LES/LESdeltas/LESdelta/LESdelta.H
 delete mode 100644 src/turbulenceModels/LES/LESdeltas/Make/files
 delete mode 100644 src/turbulenceModels/LES/LESdeltas/Make/options
 delete mode 100644 src/turbulenceModels/LES/LESdeltas/PrandtlDelta/PrandtlDelta.C
 delete mode 100644 src/turbulenceModels/LES/LESdeltas/PrandtlDelta/PrandtlDelta.H
 delete mode 100644 src/turbulenceModels/LES/LESdeltas/cubeRootVolDelta/cubeRootVolDelta.C
 delete mode 100644 src/turbulenceModels/LES/LESdeltas/cubeRootVolDelta/cubeRootVolDelta.H
 delete mode 100644 src/turbulenceModels/LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.C
 delete mode 100644 src/turbulenceModels/LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.H
 delete mode 100644 src/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDelta.C
 delete mode 100644 src/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDelta.H
 delete mode 100644 src/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDeltaDeltaDataI.H
 delete mode 100644 src/turbulenceModels/LES/LESfilters/LESfilter/LESfilter.C
 delete mode 100644 src/turbulenceModels/LES/LESfilters/LESfilter/LESfilter.H
 delete mode 100644 src/turbulenceModels/LES/LESfilters/Make/files
 delete mode 100644 src/turbulenceModels/LES/LESfilters/Make/options
 delete mode 100644 src/turbulenceModels/LES/LESfilters/anisotropicFilter/anisotropicFilter.C
 delete mode 100644 src/turbulenceModels/LES/LESfilters/anisotropicFilter/anisotropicFilter.H
 delete mode 100644 src/turbulenceModels/LES/LESfilters/laplaceFilter/laplaceFilter.C
 delete mode 100644 src/turbulenceModels/LES/LESfilters/laplaceFilter/laplaceFilter.H
 delete mode 100644 src/turbulenceModels/LES/LESfilters/simpleFilter/simpleFilter.C
 delete mode 100644 src/turbulenceModels/LES/LESfilters/simpleFilter/simpleFilter.H
 delete mode 100755 src/turbulenceModels/compressible/Allwmake
 delete mode 100644 src/turbulenceModels/compressible/LES/DESModel/DESModel.C
 delete mode 100644 src/turbulenceModels/compressible/LES/DESModel/DESModelDoc.H
 delete mode 100644 src/turbulenceModels/compressible/LES/DeardorffDiffStress/DeardorffDiffStress.C
 delete mode 100644 src/turbulenceModels/compressible/LES/DeardorffDiffStress/DeardorffDiffStress.H
 delete mode 100644 src/turbulenceModels/compressible/LES/GenEddyVisc/GenEddyVisc.C
 delete mode 100644 src/turbulenceModels/compressible/LES/GenEddyVisc/GenEddyVisc.H
 delete mode 100644 src/turbulenceModels/compressible/LES/GenSGSStress/GenSGSStress.C
 delete mode 100644 src/turbulenceModels/compressible/LES/GenSGSStress/GenSGSStress.H
 delete mode 100644 src/turbulenceModels/compressible/LES/LESModel/LESModel.C
 delete mode 100644 src/turbulenceModels/compressible/LES/LESModel/LESModel.H
 delete mode 100644 src/turbulenceModels/compressible/LES/LESModel/LESModelDoc.H
 delete mode 100644 src/turbulenceModels/compressible/LES/Make/files
 delete mode 100644 src/turbulenceModels/compressible/LES/Make/options
 delete mode 100644 src/turbulenceModels/compressible/LES/Smagorinsky/Smagorinsky.C
 delete mode 100644 src/turbulenceModels/compressible/LES/Smagorinsky/Smagorinsky.H
 delete mode 100644 src/turbulenceModels/compressible/LES/SpalartAllmaras/SpalartAllmaras.C
 delete mode 100644 src/turbulenceModels/compressible/LES/SpalartAllmaras/SpalartAllmaras.H
 delete mode 100644 src/turbulenceModels/compressible/LES/compressibleLESdelta/compressibleLESdelta.C
 delete mode 100644 src/turbulenceModels/compressible/LES/compressibleLESdelta/compressibleLESdelta.H
 delete mode 100644 src/turbulenceModels/compressible/LES/homogeneousDynOneEqEddy/homogeneousDynOneEqEddy.C
 delete mode 100644 src/turbulenceModels/compressible/LES/homogeneousDynOneEqEddy/homogeneousDynOneEqEddy.H
 delete mode 100644 src/turbulenceModels/compressible/LES/lowReOneEqEddy/lowReOneEqEddy.C
 delete mode 100644 src/turbulenceModels/compressible/LES/lowReOneEqEddy/lowReOneEqEddy.H
 delete mode 100644 src/turbulenceModels/compressible/LES/oneEqEddy/oneEqEddy.C
 delete mode 100644 src/turbulenceModels/compressible/LES/oneEqEddy/oneEqEddy.H
 delete mode 100644 src/turbulenceModels/compressible/LES/vanDriestDelta/vanDriestDelta.C
 delete mode 100644 src/turbulenceModels/compressible/LES/vanDriestDelta/vanDriestDelta.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/LRR/LRR.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/LRR/LRR.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/LaunderSharmaKE/LaunderSharmaKE.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/Make/files
 delete mode 100644 src/turbulenceModels/compressible/RAS/Make/options
 delete mode 100644 src/turbulenceModels/compressible/RAS/RASModel/RASModel.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/RASModel/RASModel.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/RNGkEpsilon/RNGkEpsilon.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/RNGkEpsilon/RNGkEpsilon.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/SpalartAllmaras/SpalartAllmaras.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/SpalartAllmaras/SpalartAllmaras.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctions.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctions.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctionsTemplates.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/doc/compressibleRASBoundaryConditionsDoc.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonLowReWallFunction/epsilonLowReWallFunctionFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonLowReWallFunction/epsilonLowReWallFunctionFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchFields.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutLowReWallFunction/mutLowReWallFunctionFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutLowReWallFunction/mutLowReWallFunctionFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutURoughWallFunction/mutURoughWallFunctionFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutURoughWallFunction/mutURoughWallFunctionFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutUSpaldingWallFunction/mutUSpaldingWallFunctionFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutUSpaldingWallFunction/mutUSpaldingWallFunctionFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutUWallFunction/mutUWallFunctionFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutUWallFunction/mutUWallFunctionFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutWallFunction/mutWallFunctionFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutWallFunction/mutWallFunctionFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutkRoughWallFunction/mutkRoughWallFunctionFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutkRoughWallFunction/mutkRoughWallFunctionFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutkWallFunction/mutkWallFunctionFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutkWallFunction/mutkWallFunctionFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/kEpsilon/kEpsilon.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/kEpsilon/kEpsilon.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/laminar/laminar.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/laminar/laminar.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/realizableKE/realizableKE.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/realizableKE/realizableKE.H
 delete mode 100644 src/turbulenceModels/compressible/RAS/v2f/v2f.C
 delete mode 100644 src/turbulenceModels/compressible/RAS/v2f/v2f.H
 delete mode 100644 src/turbulenceModels/compressible/turbulenceModel/Make/files
 delete mode 100644 src/turbulenceModels/compressible/turbulenceModel/Make/options
 delete mode 100644 src/turbulenceModels/compressible/turbulenceModel/laminar/laminar.C
 delete mode 100644 src/turbulenceModels/compressible/turbulenceModel/laminar/laminar.H
 delete mode 100644 src/turbulenceModels/compressible/turbulenceModel/turbulenceModel.C
 delete mode 100644 src/turbulenceModels/compressible/turbulenceModel/turbulenceModel.H
 delete mode 100644 src/turbulenceModels/derivedFvPatchFields/Make/files
 delete mode 100644 src/turbulenceModels/derivedFvPatchFields/Make/options
 delete mode 100644 src/turbulenceModels/derivedFvPatchFields/fixedShearStress/fixedShearStressFvPatchVectorField.C
 delete mode 100644 src/turbulenceModels/derivedFvPatchFields/fixedShearStress/fixedShearStressFvPatchVectorField.H
 delete mode 100644 src/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.C
 delete mode 100644 src/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.H
 delete mode 100644 src/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchFields.C
 delete mode 100755 src/turbulenceModels/incompressible/Allwmake
 delete mode 100644 src/turbulenceModels/incompressible/LES/DESModel/DESModel.C
 delete mode 100644 src/turbulenceModels/incompressible/LES/DESModel/DESModelDoc.H
 delete mode 100644 src/turbulenceModels/incompressible/LES/DeardorffDiffStress/DeardorffDiffStress.C
 delete mode 100644 src/turbulenceModels/incompressible/LES/DeardorffDiffStress/DeardorffDiffStress.H
 delete mode 100644 src/turbulenceModels/incompressible/LES/GenEddyVisc/GenEddyVisc.C
 delete mode 100644 src/turbulenceModels/incompressible/LES/GenEddyVisc/GenEddyVisc.H
 delete mode 100644 src/turbulenceModels/incompressible/LES/GenSGSStress/GenSGSStress.C
 delete mode 100644 src/turbulenceModels/incompressible/LES/GenSGSStress/GenSGSStress.H
 delete mode 100644 src/turbulenceModels/incompressible/LES/LESModel/LESModel.C
 delete mode 100644 src/turbulenceModels/incompressible/LES/LESModel/LESModel.H
 delete mode 100644 src/turbulenceModels/incompressible/LES/LESModel/LESModelDoc.H
 delete mode 100644 src/turbulenceModels/incompressible/LES/LRRDiffStress/LRRDiffStress.C
 delete mode 100644 src/turbulenceModels/incompressible/LES/LRRDiffStress/LRRDiffStress.H
 delete mode 100644 src/turbulenceModels/incompressible/LES/Make/files
 delete mode 100644 src/turbulenceModels/incompressible/LES/Make/options
 delete mode 100644 src/turbulenceModels/incompressible/LES/Smagorinsky/Smagorinsky.C
 delete mode 100644 src/turbulenceModels/incompressible/LES/Smagorinsky/Smagorinsky.H
 delete mode 100644 src/turbulenceModels/incompressible/LES/Smagorinsky2/Smagorinsky2.C
 delete mode 100644 src/turbulenceModels/incompressible/LES/SpalartAllmaras/SpalartAllmaras.C
 delete mode 100644 src/turbulenceModels/incompressible/LES/dynLagrangian/dynLagrangian.C
 delete mode 100644 src/turbulenceModels/incompressible/LES/dynLagrangian/dynLagrangian.H
 delete mode 100644 src/turbulenceModels/incompressible/LES/dynOneEqEddy/dynOneEqEddy.C
 delete mode 100644 src/turbulenceModels/incompressible/LES/dynOneEqEddy/dynOneEqEddy.H
 delete mode 100644 src/turbulenceModels/incompressible/LES/homogeneousDynOneEqEddy/homogeneousDynOneEqEddy.C
 delete mode 100644 src/turbulenceModels/incompressible/LES/homogeneousDynOneEqEddy/homogeneousDynOneEqEddy.H
 delete mode 100644 src/turbulenceModels/incompressible/LES/homogeneousDynSmagorinsky/homogeneousDynSmagorinsky.C
 delete mode 100644 src/turbulenceModels/incompressible/LES/homogeneousDynSmagorinsky/homogeneousDynSmagorinsky.H
 delete mode 100644 src/turbulenceModels/incompressible/LES/incompressibleLESdelta/incompressibleLESdelta.C
 delete mode 100644 src/turbulenceModels/incompressible/LES/incompressibleLESdelta/incompressibleLESdelta.H
 delete mode 100644 src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C
 delete mode 100644 src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.H
 delete mode 100644 src/turbulenceModels/incompressible/LES/laminar/laminar.C
 delete mode 100644 src/turbulenceModels/incompressible/LES/laminar/laminar.H
 delete mode 100644 src/turbulenceModels/incompressible/LES/mixedSmagorinsky/mixedSmagorinsky.C
 delete mode 100644 src/turbulenceModels/incompressible/LES/mixedSmagorinsky/mixedSmagorinsky.H
 delete mode 100644 src/turbulenceModels/incompressible/LES/oneEqEddy/oneEqEddy.C
 delete mode 100644 src/turbulenceModels/incompressible/LES/oneEqEddy/oneEqEddy.H
 delete mode 100644 src/turbulenceModels/incompressible/LES/scaleSimilarity/scaleSimilarity.C
 delete mode 100644 src/turbulenceModels/incompressible/LES/scaleSimilarity/scaleSimilarity.H
 delete mode 100644 src/turbulenceModels/incompressible/LES/spectEddyVisc/spectEddyVisc.C
 delete mode 100644 src/turbulenceModels/incompressible/LES/spectEddyVisc/spectEddyVisc.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/LRR/LRR.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/LRR/LRR.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/LaunderSharmaKE/LaunderSharmaKE.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/LaunderSharmaKE/LaunderSharmaKE.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/Make/files
 delete mode 100644 src/turbulenceModels/incompressible/RAS/Make/options
 delete mode 100644 src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/RASModel/RASModel.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/RASModel/RASModelDoc.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/SpalartAllmaras/SpalartAllmaras.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctions.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctions.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctionsTemplates.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/doc/incompressibleRASBoundaryConditionsDoc.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonLowReWallFunction/epsilonLowReWallFunctionFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonLowReWallFunction/epsilonLowReWallFunctionFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchFields.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchFields.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutLowReWallFunction/nutLowReWallFunctionFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutLowReWallFunction/nutLowReWallFunctionFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutURoughWallFunction/nutURoughWallFunctionFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutURoughWallFunction/nutURoughWallFunctionFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUSpaldingWallFunction/nutUSpaldingWallFunctionFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUSpaldingWallFunction/nutUSpaldingWallFunctionFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUTabulatedWallFunction/nutUTabulatedWallFunctionFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUTabulatedWallFunction/nutUTabulatedWallFunctionFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUWallFunction/nutUWallFunctionFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUWallFunction/nutUWallFunctionFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkAtmRoughWallFunction/nutkAtmRoughWallFunctionFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkAtmRoughWallFunction/nutkAtmRoughWallFunctionFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkRoughWallFunction/nutkRoughWallFunctionFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkRoughWallFunction/nutkRoughWallFunctionFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkWallFunction/nutkWallFunctionFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkWallFunction/nutkWallFunctionFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/kEpsilon/kEpsilon.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/kEpsilon/kEpsilon.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.H
 delete mode 100644 src/turbulenceModels/incompressible/RAS/laminar/laminar.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/realizableKE/realizableKE.C
 delete mode 100644 src/turbulenceModels/incompressible/RAS/realizableKE/realizableKE.H
 delete mode 100644 src/turbulenceModels/incompressible/turbulenceModel/Make/files
 delete mode 100644 src/turbulenceModels/incompressible/turbulenceModel/Make/options
 delete mode 100644 src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.C
 delete mode 100644 src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.H
 delete mode 100644 src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C
 delete mode 100644 src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H
 delete mode 100644 src/turbulenceModels/incompressible/turbulenceModel/laminar/laminar.C
 delete mode 100644 src/turbulenceModels/incompressible/turbulenceModel/turbulenceModel.C
 delete mode 100644 src/turbulenceModels/incompressible/turbulenceModel/turbulenceModel.H
 rename tutorials/combustion/PDRFoam/flamePropagationWithObstacles/0.org/{mut => nut} (89%)
 delete mode 100644 tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/RASProperties
 rename tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/{mut => nut} (95%)
 rename tutorials/combustion/engineFoam/kivaTest/-180/{mut => nut} (87%)
 rename tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/{alphaSgs => alphat} (98%)
 rename tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/{muSgs => nut} (89%)
 delete mode 100644 tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/LESProperties
 rename tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/{alphaSgs => alphat} (94%)
 rename tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/{muSgs => nut} (91%)
 delete mode 100644 tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/LESProperties
 rename tutorials/combustion/fireFoam/les/smallPoolFire2D/0/{muSgs => alphat} (98%)
 rename tutorials/combustion/fireFoam/les/smallPoolFire2D/0/{alphaSgs => nut} (95%)
 delete mode 100644 tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/LESProperties
 rename tutorials/combustion/fireFoam/les/smallPoolFire3D/0/{muSgs => alphat} (97%)
 rename tutorials/combustion/fireFoam/les/smallPoolFire3D/0/{alphaSgs => nut} (94%)
 delete mode 100644 tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/LESProperties
 rename tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/{mut => nut} (85%)
 rename tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/{mut => nut} (86%)
 rename tutorials/compressible/rhoPimpleFoam/les/pitzDaily/0/{alphaSgs => alphat} (100%)
 rename tutorials/{incompressible/pisoFoam/les/pitzDailyMapped/0/nuSgs => compressible/rhoPimpleFoam/les/pitzDaily/0/nut} (98%)
 delete mode 100644 tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/LESProperties
 rename tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/{mut => nut} (85%)
 rename tutorials/compressible/rhoPimpleFoam/ras/cavity/0/{mut => nut} (91%)
 rename tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/{mut => nut} (88%)
 delete mode 100644 tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/RASProperties
 rename tutorials/compressible/rhoPimplecFoam/angledDuct/0/{mut => nut} (85%)
 delete mode 100644 tutorials/compressible/rhoPimplecFoam/angledDuct/constant/RASProperties
 rename tutorials/compressible/{rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/mut => rhoPorousSimpleFoam/angledDuctImplicit/0/nut} (85%)
 delete mode 100644 tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/RASProperties
 create mode 100644 tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/turbulenceProperties
 rename tutorials/compressible/{rhoPorousSimpleFoam/angledDuctImplicit/0/mut => rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/nut} (85%)
 delete mode 100644 tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/RASProperties
 create mode 100644 tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/turbulenceProperties
 rename tutorials/compressible/rhoSimplecFoam/squareBend/0/{mut => nut} (92%)
 delete mode 100644 tutorials/compressible/rhoSimplecFoam/squareBend/constant/RASProperties
 rename tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/{mut => nut} (92%)
 delete mode 100644 tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/RASProperties
 rename tutorials/compressible/sonicFoam/ras/prism/0/{mut => nut} (93%)
 delete mode 100644 tutorials/compressible/sonicFoam/ras/prism/constant/RASProperties
 delete mode 100644 tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/constant/RASProperties
 create mode 100644 tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/constant/turbulenceProperties
 delete mode 100644 tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/constant/RASProperties
 create mode 100644 tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/constant/turbulenceProperties
 delete mode 100644 tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/RASProperties
 create mode 100644 tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/turbulenceProperties
 rename tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0/{mut => nut} (85%)
 delete mode 100644 tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/RASProperties
 rename tutorials/heatTransfer/buoyantSimpleFoam/{externalCoupledCavity/0/mut => buoyantCavity/0/nut} (83%)
 delete mode 100644 tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/RASProperties
 rename tutorials/{compressible/rhoPimpleFoam/ras/cavity/constant/RASProperties => heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/turbulenceProperties} (89%)
 rename tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/{mut => nut} (91%)
 delete mode 100644 tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/RASProperties
 rename tutorials/{compressible/rhoPimpleFoam/ras/angledDuct/constant/RASProperties => heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/turbulenceProperties} (89%)
 rename tutorials/heatTransfer/buoyantSimpleFoam/{buoyantCavity/0/mut => externalCoupledCavity/0/nut} (83%)
 delete mode 100644 tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/constant/RASProperties
 create mode 100644 tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/constant/turbulenceProperties
 rename tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0/{mut => nut} (83%)
 delete mode 100644 tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/RASProperties
 rename tutorials/{combustion/XiFoam/ras/moriyoshiHomogeneous/constant/RASProperties => heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/turbulenceProperties} (90%)
 rename tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0/{mut => nut} (86%)
 delete mode 100644 tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/RASProperties
 rename tutorials/{compressible/rhoLTSPimpleFoam/angledDuct/constant/RASProperties => heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/turbulenceProperties} (90%)
 delete mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/bottomAir/RASProperties
 delete mode 120000 tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/topAir/RASProperties
 create mode 100644 tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/0.org/air/alphat
 create mode 100644 tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/0.org/air/nut
 delete mode 100644 tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/constant/air/RASProperties
 delete mode 100644 tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/constant/porous/RASProperties
 delete mode 100644 tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/bottomAir/RASProperties
 delete mode 120000 tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/topAir/RASProperties
 delete mode 100644 tutorials/incompressible/SRFPimpleFoam/rotor2D/constant/RASProperties
 delete mode 100644 tutorials/incompressible/SRFSimpleFoam/mixer/constant/RASProperties
 create mode 100644 tutorials/incompressible/SRFSimpleFoam/mixer/constant/turbulenceProperties
 create mode 100644 tutorials/incompressible/SRFSimpleFoam/mixer/turbulenceProperties
 delete mode 100644 tutorials/incompressible/adjointShapeOptimizationFoam/pitzDaily/constant/RASProperties
 rename tutorials/{combustion/engineFoam/kivaTest/constant/RASProperties => incompressible/adjointShapeOptimizationFoam/pitzDaily/constant/turbulenceProperties} (90%)
 delete mode 100644 tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/RASProperties
 create mode 100644 tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/turbulenceProperties
 delete mode 100644 tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/RASProperties
 create mode 100644 tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/turbulenceProperties
 delete mode 100644 tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile/constant/RASProperties
 create mode 100644 tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile/constant/turbulenceProperties
 delete mode 100644 tutorials/incompressible/pimpleDyMFoam/mixerVesselAMI2D/constant/RASProperties
 rename tutorials/{multiphase/multiphaseEulerFoam/bubbleColumn/0/nuSgs => incompressible/pimpleDyMFoam/oscillatingInletACMI2D/0.org/nut} (61%)
 delete mode 100644 tutorials/incompressible/pimpleDyMFoam/oscillatingInletACMI2D/constant/RASProperties
 delete mode 100644 tutorials/incompressible/pimpleDyMFoam/propeller/constant/RASProperties
 delete mode 100644 tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_pimpleDyMFoam/constant/RASProperties
 delete mode 100644 tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_simpleFoam/constant/RASProperties
 create mode 100644 tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_simpleFoam/constant/turbulenceProperties
 delete mode 100644 tutorials/incompressible/pimpleFoam/TJunction/constant/RASProperties
 delete mode 100644 tutorials/incompressible/pimpleFoam/TJunctionFan/constant/RASProperties
 rename tutorials/incompressible/pimpleFoam/channel395/0.org/{nuSgs => nut} (98%)
 delete mode 100644 tutorials/incompressible/pimpleFoam/channel395/0/nuSgs.gz
 delete mode 100644 tutorials/incompressible/pimpleFoam/channel395/constant/LESProperties
 delete mode 100644 tutorials/incompressible/pimpleFoam/elipsekkLOmega/constant/RASProperties
 delete mode 100644 tutorials/incompressible/pimpleFoam/pitzDaily/constant/RASProperties
 delete mode 100644 tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/LESProperties
 delete mode 100644 tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/nuSgs
 delete mode 100644 tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/RASProperties
 rename tutorials/{compressible/rhoPimpleDyMFoam/annularThermalMixer/constant/RASProperties => incompressible/pisoFoam/les/motorBike/motorBike/constant/turbulenceProperties} (90%)
 rename tutorials/incompressible/pisoFoam/les/pitzDaily/0/{nuSgs => nut} (98%)
 delete mode 100644 tutorials/incompressible/pisoFoam/les/pitzDaily/constant/LESProperties
 rename tutorials/{compressible/rhoPimpleFoam/les/pitzDaily/0/muSgs => incompressible/pisoFoam/les/pitzDailyMapped/0/nut} (95%)
 delete mode 100644 tutorials/incompressible/pisoFoam/les/pitzDailyMapped/constant/LESProperties
 create mode 100644 tutorials/incompressible/pisoFoam/ras/cavity/0/omega
 delete mode 100644 tutorials/incompressible/pisoFoam/ras/cavity/constant/RASProperties
 delete mode 100644 tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/RASProperties
 delete mode 100644 tutorials/incompressible/porousSimpleFoam/angledDuctImplicit/constant/RASProperties
 create mode 100644 tutorials/incompressible/porousSimpleFoam/angledDuctImplicit/constant/turbulenceProperties
 delete mode 100644 tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/constant/RASProperties
 create mode 100644 tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/constant/turbulenceProperties
 delete mode 100644 tutorials/incompressible/simpleFoam/airFoil2D/constant/RASProperties
 create mode 100644 tutorials/incompressible/simpleFoam/airFoil2D/constant/turbulenceProperties
 delete mode 100644 tutorials/incompressible/simpleFoam/mixerVessel2D/constant/RASProperties
 create mode 100644 tutorials/incompressible/simpleFoam/mixerVessel2D/constant/turbulenceProperties
 delete mode 100644 tutorials/incompressible/simpleFoam/motorBike/constant/RASProperties
 create mode 100644 tutorials/incompressible/simpleFoam/motorBike/constant/turbulenceProperties
 delete mode 100644 tutorials/incompressible/simpleFoam/pipeCyclic/constant/RASProperties
 delete mode 100644 tutorials/incompressible/simpleFoam/pitzDaily/constant/RASProperties
 create mode 100644 tutorials/incompressible/simpleFoam/pitzDaily/constant/turbulenceProperties
 delete mode 100644 tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/RASProperties
 create mode 100644 tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/turbulenceProperties
 rename tutorials/incompressible/simpleFoam/turbineSiting/constant/{RASProperties => turbulenceProperties} (58%)
 rename tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/0/{mut => nut} (95%)
 delete mode 100644 tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/constant/RASProperties
 rename tutorials/lagrangian/{simpleReactingParcelFoam/verticalChannel/0.org/mut => LTSReactingParcelFoam/verticalChannel/0.org/nut} (93%)
 rename tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/{0.org/mut => 0/nut} (93%)
 delete mode 100644 tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/constant/RASProperties
 delete mode 100644 tutorials/lagrangian/MPPICFoam/column/constant/RASProperties
 rename tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/0/{mut => nut} (86%)
 delete mode 100644 tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/RASProperties
 delete mode 100644 tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperEmptying/constant/RASProperties
 delete mode 100644 tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperInitialState/constant/RASProperties
 rename tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.org/{mut => nut} (88%)
 delete mode 100644 tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/RASProperties
 rename tutorials/lagrangian/reactingParcelFoam/filter/0.org/{mut => nut} (93%)
 rename tutorials/lagrangian/reactingParcelFoam/filter/0/{mut => nut} (93%)
 delete mode 100644 tutorials/lagrangian/reactingParcelFoam/filter/constant/RASProperties
 rename tutorials/lagrangian/{LTSReactingParcelFoam/verticalChannel/0/mut => reactingParcelFoam/verticalChannel/0.org/nut} (93%)
 delete mode 100644 tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/RASProperties
 rename tutorials/lagrangian/{reactingParcelFoam/verticalChannel/0.org/mut => simpleReactingParcelFoam/verticalChannel/0.org/nut} (93%)
 delete mode 100644 tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0/mut
 create mode 100644 tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0/nut
 delete mode 100644 tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/constant/RASProperties
 rename tutorials/lagrangian/sprayFoam/aachenBomb/0/{mut => nut} (90%)
 delete mode 100644 tutorials/lagrangian/sprayFoam/aachenBomb/constant/RASProperties
 delete mode 100644 tutorials/mesh/foamyHexMesh/mixerVessel/constant/RASProperties
 delete mode 100644 tutorials/multiphase/LTSInterFoam/DTCHull/constant/RASProperties
 rename tutorials/multiphase/cavitatingFoam/les/throttle/0/{nuSgs => nut} (98%)
 delete mode 100644 tutorials/multiphase/cavitatingFoam/les/throttle/constant/LESProperties
 rename tutorials/multiphase/cavitatingFoam/les/throttle3D/0.org/{nuSgs => nut} (98%)
 delete mode 100644 tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/LESProperties
 delete mode 100644 tutorials/multiphase/cavitatingFoam/ras/throttle/constant/RASProperties
 delete mode 100644 tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/constant/RASProperties
 delete mode 100644 tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/LESProperties
 delete mode 100644 tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/LESProperties
 delete mode 100644 tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/RASProperties
 delete mode 100644 tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/constant/RASProperties
 delete mode 100644 tutorials/multiphase/interDyMFoam/ras/floatingObject/constant/RASProperties
 delete mode 100644 tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/RASProperties
 delete mode 100644 tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/constant/RASProperties
 delete mode 100644 tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/constant/RASProperties
 delete mode 100644 tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/constant/RASProperties
 delete mode 100644 tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/constant/RASProperties
 delete mode 100644 tutorials/multiphase/interDyMFoam/ras/testTubeMixer/constant/RASProperties
 rename tutorials/multiphase/interFoam/les/nozzleFlow2D/0/{nuSgs => nut} (98%)
 delete mode 100644 tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/LESProperties
 delete mode 100644 tutorials/multiphase/interFoam/ras/angledDuct/constant/RASProperties
 delete mode 100644 tutorials/multiphase/interFoam/ras/damBreak/constant/RASProperties
 delete mode 100644 tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/constant/RASProperties
 delete mode 100644 tutorials/multiphase/interFoam/ras/waterChannel/constant/RASProperties
 delete mode 100644 tutorials/multiphase/interFoam/ras/weirOverflow/constant/RASProperties
 delete mode 100644 tutorials/multiphase/interPhaseChangeDyMFoam/propeller/constant/RASProperties
 delete mode 100644 tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/constant/LESProperties
 rename tutorials/multiphase/{interDyMFoam/ras/sloshingTank3D3DoF/constant/RASProperties => multiphaseEulerFoam/bubbleColumn/constant/turbulenceProperties} (91%)
 delete mode 100644 tutorials/multiphase/multiphaseEulerFoam/damBreak4phase/constant/LESProperties
 delete mode 100644 tutorials/multiphase/multiphaseEulerFoam/damBreak4phaseFine/constant/LESProperties
 delete mode 100644 tutorials/multiphase/multiphaseEulerFoam/mixerVessel2D/constant/LESProperties
 rename tutorials/{heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomWater/RASProperties => multiphase/multiphaseEulerFoam/mixerVessel2D/constant/turbulenceProperties} (89%)
 delete mode 100644 tutorials/multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D/constant/RASProperties

diff --git a/applications/solvers/combustion/PDRFoam/Make/options b/applications/solvers/combustion/PDRFoam/Make/options
index b6c6398fdea..6b89ae63835 100644
--- a/applications/solvers/combustion/PDRFoam/Make/options
+++ b/applications/solvers/combustion/PDRFoam/Make/options
@@ -8,8 +8,8 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/RAS/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/laminarFlameSpeed/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/dynamicFvMesh/lnInclude \
@@ -20,8 +20,8 @@ EXE_INC = \
 EXE_LIBS = \
     -lengine \
     -lmeshTools \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lfluidThermophysicalModels \
     -lreactionThermophysicalModels \
     -lspecie \
diff --git a/applications/solvers/combustion/PDRFoam/PDRFoam.C b/applications/solvers/combustion/PDRFoam/PDRFoam.C
index ad6e2d02986..1d56ab28f84 100644
--- a/applications/solvers/combustion/PDRFoam/PDRFoam.C
+++ b/applications/solvers/combustion/PDRFoam/PDRFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -69,7 +69,7 @@ Description
 
 #include "fvCFD.H"
 #include "psiuReactionThermo.H"
-#include "RASModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "laminarFlameSpeed.H"
 #include "XiModel.H"
 #include "PDRDragModel.H"
diff --git a/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C b/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C
index 88d6305e12a..1904325703b 100644
--- a/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C
+++ b/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -58,7 +58,7 @@ Description
 #include "fvCFD.H"
 #include "dynamicFvMesh.H"
 #include "psiuReactionThermo.H"
-#include "RASModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "laminarFlameSpeed.H"
 #include "XiModel.H"
 #include "PDRDragModel.H"
diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/XiEqModels/basicXiSubXiEq/basicXiSubXiEq.C b/applications/solvers/combustion/PDRFoam/PDRModels/XiEqModels/basicXiSubXiEq/basicXiSubXiEq.C
index 426e65981d3..de5b26c1353 100644
--- a/applications/solvers/combustion/PDRFoam/PDRModels/XiEqModels/basicXiSubXiEq/basicXiSubXiEq.C
+++ b/applications/solvers/combustion/PDRFoam/PDRModels/XiEqModels/basicXiSubXiEq/basicXiSubXiEq.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,6 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "basicXiSubXiEq.H"
+#include "zeroGradientFvPatchFields.H"
 #include "addToRunTimeSelectionTable.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/XiGModels/basicXiSubG/basicXiSubG.C b/applications/solvers/combustion/PDRFoam/PDRModels/XiGModels/basicXiSubG/basicXiSubG.C
index 05aeb059f6a..f5a76fa5c20 100644
--- a/applications/solvers/combustion/PDRFoam/PDRModels/XiGModels/basicXiSubG/basicXiSubG.C
+++ b/applications/solvers/combustion/PDRFoam/PDRModels/XiGModels/basicXiSubG/basicXiSubG.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,6 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "basicXiSubG.H"
+#include "zeroGradientFvPatchFields.H"
 #include "addToRunTimeSelectionTable.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModel.H b/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModel.H
index feb9ae8d41d..4cf94228048 100644
--- a/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModel.H
+++ b/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModel.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,7 +38,7 @@ SourceFiles
 
 #include "IOdictionary.H"
 #include "psiuReactionThermo.H"
-#include "RASModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "multivariateSurfaceInterpolationScheme.H"
 #include "runTimeSelectionTables.H"
 
diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/basic/basic.C b/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/basic/basic.C
index d8e3a9ed9cf..be2cc6dab3c 100644
--- a/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/basic/basic.C
+++ b/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/basic/basic.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,6 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "basic.H"
+#include "zeroGradientFvPatchFields.H"
 #include "addToRunTimeSelectionTable.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C b/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C
index 12cfba078b3..73dbee5664c 100644
--- a/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C
+++ b/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -27,8 +27,6 @@ License
 #include "PDRDragModel.H"
 #include "addToRunTimeSelectionTable.H"
 
-#include "backwardsCompatibilityWallFunctions.H"
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
@@ -47,15 +45,27 @@ addToRunTimeSelectionTable(RASModel, PDRkEpsilon, dictionary);
 
 PDRkEpsilon::PDRkEpsilon
 (
+    const geometricOneField& alpha,
     const volScalarField& rho,
     const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
     const surfaceScalarField& phi,
     const fluidThermo& thermophysicalModel,
     const word& turbulenceModelName,
     const word& modelName
 )
 :
-    kEpsilon(rho, U, phi, thermophysicalModel, turbulenceModelName, modelName),
+    Foam::RASModels::kEpsilon<eddyDiffusivity<compressible::turbulenceModel> >
+    (
+        geometricOneField(),
+        rho,
+        U,
+        phi,
+        phi,
+        thermophysicalModel,
+        turbulenceModelName,
+        modelName
+    ),
 
     C4_
     (
@@ -96,12 +106,12 @@ void PDRkEpsilon::correct()
     if (!turbulence_)
     {
         // Re-calculate viscosity
-        mut_ = rho_*Cmu_*sqr(k_)/epsilon_;
-        mut_.correctBoundaryConditions();
+        nut_ = Cmu_*sqr(k_)/epsilon_;
+        nut_.correctBoundaryConditions();
 
         // Re-calculate thermal diffusivity
-        alphat_ = mut_/Prt_;
-        alphat_.correctBoundaryConditions();
+        //***HGWalphat_ = mut_/Prt_;
+        //alphat_.correctBoundaryConditions();
 
         return;
     }
@@ -116,7 +126,7 @@ void PDRkEpsilon::correct()
     }
 
     tmp<volTensorField> tgradU = fvc::grad(U_);
-    volScalarField G(GName(), mut_*(tgradU() && dev(twoSymm(tgradU()))));
+    volScalarField G(GName(), rho_*nut_*(tgradU() && dev(twoSymm(tgradU()))));
     tgradU.clear();
 
     // Update espsilon and G at the wall
@@ -143,7 +153,7 @@ void PDRkEpsilon::correct()
     (
         betav*fvm::ddt(rho_, epsilon_)
       + fvm::div(phi_, epsilon_)
-      - fvm::laplacian(DepsilonEff(), epsilon_)
+      - fvm::laplacian(rho_*DepsilonEff(), epsilon_)
      ==
         C1_*betav*G*epsilon_/k_
       + 1.5*pow(Cmu_, 3.0/4.0)*GR*sqrt(k_)/LI
@@ -165,7 +175,7 @@ void PDRkEpsilon::correct()
     (
         betav*fvm::ddt(rho_, k_)
       + fvm::div(phi_, k_)
-      - fvm::laplacian(DkEff(), k_)
+      - fvm::laplacian(rho_*DkEff(), k_)
      ==
         betav*G + GR
       - fvm::SuSp((2.0/3.0)*betav*rho_*divU, k_)
@@ -177,12 +187,12 @@ void PDRkEpsilon::correct()
     bound(k_, kMin_);
 
     // Re-calculate viscosity
-    mut_ = rho_*Cmu_*sqr(k_)/epsilon_;
-    mut_.correctBoundaryConditions();
+    nut_ = Cmu_*sqr(k_)/epsilon_;
+    nut_.correctBoundaryConditions();
 
     // Re-calculate thermal diffusivity
-    alphat_ = mut_/Prt_;
-    alphat_.correctBoundaryConditions();
+    //***HGWalphat_ = mut_/Prt_;
+    //alphat_.correctBoundaryConditions();
 }
 
 
diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.H b/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.H
index d210aab70c5..689a47844a4 100644
--- a/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.H
+++ b/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -60,8 +60,8 @@ SourceFiles
 #ifndef compressiblePDRkEpsilon_H
 #define compressiblePDRkEpsilon_H
 
-
 #include "kEpsilon.H"
+#include "turbulentFluidThermoModel.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -78,7 +78,13 @@ namespace RASModels
 
 class PDRkEpsilon
 :
-    public kEpsilon
+    public Foam::RASModels::kEpsilon
+    <
+        eddyDiffusivity
+        <
+            compressible::turbulenceModel
+        >
+    >
 {
     // Private data
 
@@ -97,8 +103,10 @@ public:
         //- Construct from components
         PDRkEpsilon
         (
+            const geometricOneField& alpha,
             const volScalarField& rho,
             const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
             const surfaceScalarField& phi,
             const fluidThermo& thermophysicalModel,
             const word& turbulenceModelName = turbulenceModel::typeName,
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.C b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.C
index 8fe73daa944..ba0e121e7b5 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.C
+++ b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,6 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "XiEqModel.H"
+#include "zeroGradientFvPatchFields.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.H b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.H
index 929c4df11c0..2574c4c1448 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.H
+++ b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,7 +43,7 @@ SourceFiles
 
 #include "IOdictionary.H"
 #include "psiuReactionThermo.H"
-#include "RASModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "runTimeSelectionTables.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/XiGModel/XiGModel.H b/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/XiGModel/XiGModel.H
index 3bc4b53a95e..ac61eb7f8a3 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/XiGModel/XiGModel.H
+++ b/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/XiGModel/XiGModel.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -40,7 +40,7 @@ SourceFiles
 
 #include "IOdictionary.H"
 #include "psiuReactionThermo.H"
-#include "RASModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "runTimeSelectionTables.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiModel/XiModel.H b/applications/solvers/combustion/PDRFoam/XiModels/XiModel/XiModel.H
index ad091f410fb..ae69d5bab5f 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/XiModel/XiModel.H
+++ b/applications/solvers/combustion/PDRFoam/XiModels/XiModel/XiModel.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -92,8 +92,9 @@ SourceFiles
 
 #include "IOdictionary.H"
 #include "psiuReactionThermo.H"
-#include "RASModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "multivariateSurfaceInterpolationScheme.H"
+#include "fvcDiv.H"
 #include "runTimeSelectionTables.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/transport/transport.C b/applications/solvers/combustion/PDRFoam/XiModels/transport/transport.C
index caf471a15a3..91ad18fdff5 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/transport/transport.C
+++ b/applications/solvers/combustion/PDRFoam/XiModels/transport/transport.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,6 +24,11 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "transport.H"
+#include "surfaceInterpolate.H"
+#include "fvmDdt.H"
+#include "fvcLaplacian.H"
+#include "fvmDiv.H"
+#include "fvmSup.H"
 #include "addToRunTimeSelectionTable.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
diff --git a/applications/solvers/combustion/XiFoam/Make/options b/applications/solvers/combustion/XiFoam/Make/options
index 468cc1919ba..4860d14f4d0 100644
--- a/applications/solvers/combustion/XiFoam/Make/options
+++ b/applications/solvers/combustion/XiFoam/Make/options
@@ -7,7 +7,8 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/laminarFlameSpeed/lnInclude
 
 EXE_LIBS = \
@@ -16,9 +17,8 @@ EXE_LIBS = \
     -lsampling \
     -lmeshTools \
     -lengine \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lfluidThermophysicalModels \
     -lreactionThermophysicalModels \
     -lspecie \
diff --git a/applications/solvers/combustion/XiFoam/XiFoam.C b/applications/solvers/combustion/XiFoam/XiFoam.C
index 84fac04820f..898e79f415c 100644
--- a/applications/solvers/combustion/XiFoam/XiFoam.C
+++ b/applications/solvers/combustion/XiFoam/XiFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,7 +51,7 @@ Description
 
 #include "fvCFD.H"
 #include "psiuReactionThermo.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "laminarFlameSpeed.H"
 #include "ignition.H"
 #include "Switch.H"
diff --git a/applications/solvers/combustion/chemFoam/Make/options b/applications/solvers/combustion/chemFoam/Make/options
index 9facf7ac9c0..79647a86109 100644
--- a/applications/solvers/combustion/chemFoam/Make/options
+++ b/applications/solvers/combustion/chemFoam/Make/options
@@ -1,6 +1,7 @@
 EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/thermophysicalFunctions/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
@@ -12,8 +13,8 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lfiniteVolume \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lreactionThermophysicalModels \
     -lfluidThermophysicalModels \
     -lchemistryModel \
diff --git a/applications/solvers/combustion/chemFoam/chemFoam.C b/applications/solvers/combustion/chemFoam/chemFoam.C
index 4183045a103..699a929bbce 100644
--- a/applications/solvers/combustion/chemFoam/chemFoam.C
+++ b/applications/solvers/combustion/chemFoam/chemFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -35,7 +35,7 @@ Description
 
 #include "fvCFD.H"
 #include "psiReactionThermo.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "psiChemistryModel.H"
 #include "chemistrySolver.H"
 #include "OFstream.H"
diff --git a/applications/solvers/combustion/coldEngineFoam/Make/options b/applications/solvers/combustion/coldEngineFoam/Make/options
index d688fb1e2df..c49f5de1b84 100644
--- a/applications/solvers/combustion/coldEngineFoam/Make/options
+++ b/applications/solvers/combustion/coldEngineFoam/Make/options
@@ -6,7 +6,8 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
@@ -14,9 +15,8 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lengine \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lfluidThermophysicalModels \
     -lspecie \
     -lfiniteVolume \
diff --git a/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C b/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C
index 43eb616e173..988cf128b3d 100644
--- a/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C
+++ b/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -33,7 +33,7 @@ Description
 #include "engineTime.H"
 #include "engineMesh.H"
 #include "psiThermo.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "OFstream.H"
 #include "fvIOoptionList.H"
 #include "pimpleControl.H"
diff --git a/applications/solvers/combustion/engineFoam/Make/options b/applications/solvers/combustion/engineFoam/Make/options
index fcbc3a4206f..0ede4569ef8 100644
--- a/applications/solvers/combustion/engineFoam/Make/options
+++ b/applications/solvers/combustion/engineFoam/Make/options
@@ -8,7 +8,8 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/laminarFlameSpeed/lnInclude
 
 EXE_LIBS = \
@@ -17,9 +18,8 @@ EXE_LIBS = \
     -lsampling \
     -lmeshTools \
     -lengine \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lfluidThermophysicalModels \
     -lreactionThermophysicalModels \
     -lspecie \
diff --git a/applications/solvers/combustion/engineFoam/engineFoam.C b/applications/solvers/combustion/engineFoam/engineFoam.C
index a35e22dc58d..97c5cc56f2e 100644
--- a/applications/solvers/combustion/engineFoam/engineFoam.C
+++ b/applications/solvers/combustion/engineFoam/engineFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -52,7 +52,7 @@ Description
 #include "engineTime.H"
 #include "engineMesh.H"
 #include "psiuReactionThermo.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "laminarFlameSpeed.H"
 #include "ignition.H"
 #include "Switch.H"
diff --git a/applications/solvers/combustion/fireFoam/Make/options b/applications/solvers/combustion/fireFoam/Make/options
index cd5ad097ace..cccf0a7dacf 100644
--- a/applications/solvers/combustion/fireFoam/Make/options
+++ b/applications/solvers/combustion/fireFoam/Make/options
@@ -3,7 +3,8 @@ EXE_INC = \
     -I$(LIB_SRC)/fvOptions/lnInclude \
     -I${LIB_SRC}/meshTools/lnInclude \
     -I${LIB_SRC}/sampling/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/lagrangian/distributionModels/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/solid/lnInclude \
@@ -34,8 +35,8 @@ EXE_LIBS = \
     -lfvOptions \
     -lmeshTools \
     -lsampling \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lspecie \
     -lfluidThermophysicalModels \
     -lsolidProperties \
diff --git a/applications/solvers/combustion/fireFoam/fireFoam.C b/applications/solvers/combustion/fireFoam/fireFoam.C
index b8c48549a68..b70a9d6ccbd 100644
--- a/applications/solvers/combustion/fireFoam/fireFoam.C
+++ b/applications/solvers/combustion/fireFoam/fireFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -31,7 +31,7 @@ Description
 \*---------------------------------------------------------------------------*/
 
 #include "fvCFD.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "basicReactingCloud.H"
 #include "surfaceFilmModel.H"
 #include "pyrolysisModelCollection.H"
diff --git a/applications/solvers/combustion/reactingFoam/LTSReactingFoam/LTSReactingFoam.C b/applications/solvers/combustion/reactingFoam/LTSReactingFoam/LTSReactingFoam.C
index 0b34210865f..9088b382a4c 100644
--- a/applications/solvers/combustion/reactingFoam/LTSReactingFoam/LTSReactingFoam.C
+++ b/applications/solvers/combustion/reactingFoam/LTSReactingFoam/LTSReactingFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -31,7 +31,7 @@ Description
 \*---------------------------------------------------------------------------*/
 
 #include "fvCFD.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "psiCombustionModel.H"
 #include "multivariateScheme.H"
 #include "pimpleControl.H"
diff --git a/applications/solvers/combustion/reactingFoam/LTSReactingFoam/Make/options b/applications/solvers/combustion/reactingFoam/LTSReactingFoam/Make/options
index abac9d96a4c..1028061264c 100644
--- a/applications/solvers/combustion/reactingFoam/LTSReactingFoam/Make/options
+++ b/applications/solvers/combustion/reactingFoam/LTSReactingFoam/Make/options
@@ -4,7 +4,8 @@ EXE_INC = -ggdb3 \
     -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
@@ -17,9 +18,8 @@ EXE_LIBS = \
     -lfvOptions \
     -lmeshTools \
     -lsampling \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lreactionThermophysicalModels \
     -lspecie \
     -lfluidThermophysicalModels \
diff --git a/applications/solvers/combustion/reactingFoam/Make/options b/applications/solvers/combustion/reactingFoam/Make/options
index 15cf68cb5e1..5a7c91bce97 100644
--- a/applications/solvers/combustion/reactingFoam/Make/options
+++ b/applications/solvers/combustion/reactingFoam/Make/options
@@ -3,7 +3,8 @@ EXE_INC = \
     -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
@@ -16,9 +17,8 @@ EXE_LIBS = \
     -lfvOptions \
     -lmeshTools \
     -lsampling \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lreactionThermophysicalModels \
     -lspecie \
     -lfluidThermophysicalModels \
diff --git a/applications/solvers/combustion/reactingFoam/reactingFoam.C b/applications/solvers/combustion/reactingFoam/reactingFoam.C
index 831df5c9a3e..755cf14ab28 100644
--- a/applications/solvers/combustion/reactingFoam/reactingFoam.C
+++ b/applications/solvers/combustion/reactingFoam/reactingFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -30,7 +30,7 @@ Description
 \*---------------------------------------------------------------------------*/
 
 #include "fvCFD.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "psiCombustionModel.H"
 #include "multivariateScheme.H"
 #include "pimpleControl.H"
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/Make/options b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/Make/options
index bf015097e35..a9ea986c0ea 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/Make/options
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/Make/options
@@ -4,7 +4,8 @@ EXE_INC = \
     -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
@@ -18,9 +19,8 @@ EXE_LIBS = \
     -lfvOptions \
     -lmeshTools \
     -lsampling \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lreactionThermophysicalModels \
     -lspecie \
     -lfluidThermophysicalModels \
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C
index fd4b6f58eb5..0adee03a9fa 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -32,7 +32,7 @@ Description
 
 #include "fvCFD.H"
 #include "rhoCombustionModel.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "multivariateScheme.H"
 #include "pimpleControl.H"
 #include "fvIOoptionList.H"
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/Make/options b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/Make/options
index bf015097e35..a9ea986c0ea 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/Make/options
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/Make/options
@@ -4,7 +4,8 @@ EXE_INC = \
     -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
@@ -18,9 +19,8 @@ EXE_LIBS = \
     -lfvOptions \
     -lmeshTools \
     -lsampling \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lreactionThermophysicalModels \
     -lspecie \
     -lfluidThermophysicalModels \
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C
index 192fb74051a..bdbf5f594cc 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -32,7 +32,7 @@ Description
 
 #include "fvCFD.H"
 #include "rhoCombustionModel.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "multivariateScheme.H"
 #include "pimpleControl.H"
 #include "fvIOoptionList.H"
diff --git a/applications/solvers/compressible/rhoCentralFoam/Make/options b/applications/solvers/compressible/rhoCentralFoam/Make/options
index 4ddaa7fb971..1b16a7b364e 100644
--- a/applications/solvers/compressible/rhoCentralFoam/Make/options
+++ b/applications/solvers/compressible/rhoCentralFoam/Make/options
@@ -3,7 +3,8 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude
 
@@ -12,7 +13,6 @@ EXE_LIBS = \
     -lfluidThermophysicalModels \
     -lspecie \
     -lrhoCentralFoam \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lmeshTools
diff --git a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/Make/options b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/Make/options
index 33707728f69..f79e10048ee 100644
--- a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/Make/options
+++ b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/Make/options
@@ -4,7 +4,8 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude
 
@@ -13,8 +14,7 @@ EXE_LIBS = \
     -lfluidThermophysicalModels \
     -lspecie \
     -lrhoCentralFoam \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -ldynamicMesh \
     -lmeshTools
diff --git a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C
index a4282534217..d8f83da121c 100644
--- a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C
+++ b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -32,7 +32,7 @@ Description
 
 #include "fvCFD.H"
 #include "psiThermo.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "zeroGradientFvPatchFields.H"
 #include "fixedRhoFvPatchScalarField.H"
 #include "motionSolver.H"
diff --git a/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C b/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C
index 3ae35694ec7..164f0d1a209 100644
--- a/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C
+++ b/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -32,7 +32,7 @@ Description
 
 #include "fvCFD.H"
 #include "psiThermo.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "zeroGradientFvPatchFields.H"
 #include "fixedRhoFvPatchScalarField.H"
 
diff --git a/applications/solvers/compressible/rhoPimpleFoam/Make/options b/applications/solvers/compressible/rhoPimpleFoam/Make/options
index c25d7701488..8f38ef182ef 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/Make/options
+++ b/applications/solvers/compressible/rhoPimpleFoam/Make/options
@@ -1,6 +1,7 @@
 EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/cfdTools \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
@@ -10,9 +11,8 @@ EXE_INC = \
 EXE_LIBS = \
     -lfluidThermophysicalModels \
     -lspecie \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lfiniteVolume \
     -lmeshTools \
     -lsampling \
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/Make/options b/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/Make/options
index 502938c53c0..669cd4a3d4f 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/Make/options
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/Make/options
@@ -1,7 +1,8 @@
 EXE_INC = \
     -I.. \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/cfdTools \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
@@ -11,9 +12,8 @@ EXE_INC = \
 EXE_LIBS = \
     -lfluidThermophysicalModels \
     -lspecie \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lfiniteVolume \
     -lmeshTools \
     -lsampling \
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/rhoLTSPimpleFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/rhoLTSPimpleFoam.C
index 8f2943f84cf..8ff8c28da27 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/rhoLTSPimpleFoam.C
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/rhoLTSPimpleFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -37,7 +37,7 @@ Description
 
 #include "fvCFD.H"
 #include "psiThermo.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "fvIOoptionList.H"
 #include "fvcSmooth.H"
 #include "pimpleControl.H"
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/Make/options b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/Make/options
index 2093b620b5e..f94f65e6ac0 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/Make/options
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/Make/options
@@ -1,7 +1,8 @@
 EXE_INC = \
     -I.. \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/cfdTools \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
@@ -14,9 +15,8 @@ EXE_INC = \
 EXE_LIBS = \
     -lfluidThermophysicalModels \
     -lspecie \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lfiniteVolume \
     -lmeshTools \
     -lsampling \
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/rhoPimpleDyMFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/rhoPimpleDyMFoam.C
index fcfc2aa7952..f3676b66dba 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/rhoPimpleDyMFoam.C
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/rhoPimpleDyMFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -39,7 +39,7 @@ Description
 #include "fvCFD.H"
 #include "dynamicFvMesh.H"
 #include "psiThermo.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "bound.H"
 #include "pimpleControl.H"
 #include "fvIOoptionList.H"
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C
index 6c6c4e99ab4..ae43c950444 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -35,7 +35,7 @@ Description
 
 #include "fvCFD.H"
 #include "psiThermo.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "bound.H"
 #include "pimpleControl.H"
 #include "fvIOoptionList.H"
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/Make/options b/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/Make/options
index 502938c53c0..669cd4a3d4f 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/Make/options
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/Make/options
@@ -1,7 +1,8 @@
 EXE_INC = \
     -I.. \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/cfdTools \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
@@ -11,9 +12,8 @@ EXE_INC = \
 EXE_LIBS = \
     -lfluidThermophysicalModels \
     -lspecie \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lfiniteVolume \
     -lmeshTools \
     -lsampling \
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/rhoPimplecFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/rhoPimplecFoam.C
index 308a90e51af..fd3e102dc4b 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/rhoPimplecFoam.C
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/rhoPimplecFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -35,7 +35,7 @@ Description
 
 #include "fvCFD.H"
 #include "psiThermo.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "bound.H"
 #include "pimpleControl.H"
 #include "fvIOoptionList.H"
diff --git a/applications/solvers/compressible/rhoSimpleFoam/Make/options b/applications/solvers/compressible/rhoSimpleFoam/Make/options
index 4606400cbdf..dc86432603e 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/Make/options
+++ b/applications/solvers/compressible/rhoSimpleFoam/Make/options
@@ -1,7 +1,7 @@
 EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/compressible/RAS/RASModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/cfdTools \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
@@ -11,8 +11,8 @@ EXE_INC = \
 EXE_LIBS = \
     -lfluidThermophysicalModels \
     -lspecie \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lfiniteVolume \
     -lsampling \
     -lmeshTools \
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/options b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/options
index 39d6f696eb5..bf3eda58730 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/options
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/options
@@ -1,8 +1,8 @@
 EXE_INC = \
     -I.. \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/compressible/RAS/RASModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/cfdTools \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
@@ -12,8 +12,8 @@ EXE_INC = \
 EXE_LIBS = \
     -lfluidThermophysicalModels \
     -lspecie \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lfiniteVolume \
     -lsampling \
     -lmeshTools \
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C
index fd30404ae6b..d8598bae475 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -33,7 +33,7 @@ Description
 
 #include "fvCFD.H"
 #include "rhoThermo.H"
-#include "RASModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "fvIOoptionList.H"
 #include "IOporosityModelList.H"
 #include "simpleControl.H"
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C b/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C
index c0a6282a3e4..1d70a557cd8 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -32,7 +32,7 @@ Description
 
 #include "fvCFD.H"
 #include "psiThermo.H"
-#include "RASModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "simpleControl.H"
 #include "fvIOoptionList.H"
 
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/Make/options b/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/Make/options
index cc82ba958d7..bf3eda58730 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/Make/options
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/Make/options
@@ -1,8 +1,8 @@
 EXE_INC = \
     -I.. \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/compressible/RAS/RASModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/cfdTools \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
@@ -12,7 +12,8 @@ EXE_INC = \
 EXE_LIBS = \
     -lfluidThermophysicalModels \
     -lspecie \
-    -lcompressibleRASModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lfiniteVolume \
     -lsampling \
     -lmeshTools \
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/rhoSimplecFoam.C b/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/rhoSimplecFoam.C
index a7c9b2070b3..bad31d3783c 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/rhoSimplecFoam.C
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/rhoSimplecFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -32,7 +32,7 @@ Description
 
 #include "fvCFD.H"
 #include "psiThermo.H"
-#include "RASModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "mixedFvPatchFields.H"
 #include "bound.H"
 #include "simpleControl.H"
diff --git a/applications/solvers/compressible/sonicFoam/Make/options b/applications/solvers/compressible/sonicFoam/Make/options
index b1663bb8243..92ca5cd17b9 100644
--- a/applications/solvers/compressible/sonicFoam/Make/options
+++ b/applications/solvers/compressible/sonicFoam/Make/options
@@ -1,7 +1,8 @@
 EXE_INC = \
     -I$(LIB_SRC)/transportModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/fvOptions/lnInclude \
@@ -10,9 +11,8 @@ EXE_INC = \
 EXE_LIBS = \
     -lfluidThermophysicalModels \
     -lspecie \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lmeshTools \
     -lsampling \
     -lfvOptions \
diff --git a/applications/solvers/compressible/sonicFoam/sonicDyMFoam/Make/options b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/Make/options
index 761311a8b0b..1561dffa7d1 100644
--- a/applications/solvers/compressible/sonicFoam/sonicDyMFoam/Make/options
+++ b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/Make/options
@@ -3,7 +3,8 @@ EXE_INC = \
     -I../../rhoPimpleFoam/rhoPimpleDyMFoam \
     -I$(LIB_SRC)/transportModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/cfdTools \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
@@ -15,9 +16,8 @@ EXE_INC = \
 EXE_LIBS = \
     -lfluidThermophysicalModels \
     -lspecie \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lfiniteVolume \
     -lmeshTools \
     -lsampling \
diff --git a/applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C
index 5a8e0b92edc..a78ef861d68 100644
--- a/applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C
+++ b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -36,7 +36,7 @@ Description
 #include "fvCFD.H"
 #include "dynamicFvMesh.H"
 #include "psiThermo.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "pimpleControl.H"
 #include "fvIOoptionList.H"
 
diff --git a/applications/solvers/compressible/sonicFoam/sonicFoam.C b/applications/solvers/compressible/sonicFoam/sonicFoam.C
index 875e7afa7d7..1042889dbb9 100644
--- a/applications/solvers/compressible/sonicFoam/sonicFoam.C
+++ b/applications/solvers/compressible/sonicFoam/sonicFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -35,7 +35,7 @@ Description
 
 #include "fvCFD.H"
 #include "psiThermo.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "pimpleControl.H"
 #include "fvIOoptionList.H"
 
diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/Make/options b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/Make/options
index 1e23e459440..9a60cac4333 100644
--- a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/Make/options
+++ b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/Make/options
@@ -1,21 +1,21 @@
 EXE_INC = \
     -I../buoyantBoussinesqSimpleFoam \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
+    -I$(LIB_SRC)/transportModels \
+    -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
+    -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/fvOptions/lnInclude \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/RAS/lnInclude \
-    -I$(LIB_SRC)/transportModels \
-    -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
-    -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude
+    -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
+    -lincompressibleTransportModels \
+    -lradiationModels \
     -lfiniteVolume \
     -lfvOptions \
     -lsampling \
-    -lmeshTools \
-    -lincompressibleTurbulenceModel \
-    -lincompressibleRASModels \
-    -lincompressibleTransportModels \
-    -lradiationModels
+    -lmeshTools
diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C
index 5827ddf2c99..1e9fca7f868 100644
--- a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C
@@ -47,7 +47,7 @@ Description
 
 #include "fvCFD.H"
 #include "singlePhaseTransportModel.H"
-#include "RASModel.H"
+#include "turbulentTransportModel.H"
 #include "radiationModel.H"
 #include "fvIOoptionList.H"
 #include "pimpleControl.H"
diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/Make/options b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/Make/options
index 6a6311e47cd..48d83838acd 100644
--- a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/Make/options
+++ b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/Make/options
@@ -1,18 +1,18 @@
 EXE_INC = \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
+    -I$(LIB_SRC)/transportModels \
+    -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/RAS/lnInclude \
-    -I$(LIB_SRC)/transportModels \
-    -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel
+    -I$(LIB_SRC)/fvOptions/lnInclude
 
 EXE_LIBS = \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
+    -lincompressibleTransportModels \
     -lfiniteVolume \
     -lsampling \
     -lmeshTools \
-    -lfvOptions \
-    -lincompressibleTurbulenceModel \
-    -lincompressibleRASModels \
-    -lincompressibleTransportModels
+    -lfvOptions
diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C
index bcf4729a4b7..e9a964c814a 100644
--- a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C
@@ -47,7 +47,7 @@ Description
 
 #include "fvCFD.H"
 #include "singlePhaseTransportModel.H"
-#include "RASModel.H"
+#include "turbulentTransportModel.H"
 #include "fvIOoptionList.H"
 #include "simpleControl.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
diff --git a/applications/solvers/heatTransfer/buoyantPimpleFoam/Make/options b/applications/solvers/heatTransfer/buoyantPimpleFoam/Make/options
index e57cfc441f9..fc4620b28b4 100644
--- a/applications/solvers/heatTransfer/buoyantPimpleFoam/Make/options
+++ b/applications/solvers/heatTransfer/buoyantPimpleFoam/Make/options
@@ -5,7 +5,8 @@ EXE_INC = \
     -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude
 
 EXE_LIBS = \
     -lfiniteVolume \
@@ -15,7 +16,5 @@ EXE_LIBS = \
     -lfluidThermophysicalModels \
     -lradiationModels \
     -lspecie \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels
-
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels
diff --git a/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C b/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C
index 9d62893f18a..3792168548c 100644
--- a/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -35,7 +35,7 @@ Description
 
 #include "fvCFD.H"
 #include "rhoThermo.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "radiationModel.H"
 #include "fvIOoptionList.H"
 #include "pimpleControl.H"
diff --git a/applications/solvers/heatTransfer/buoyantSimpleFoam/Make/options b/applications/solvers/heatTransfer/buoyantSimpleFoam/Make/options
index 11decf6bb42..383ee341f19 100644
--- a/applications/solvers/heatTransfer/buoyantSimpleFoam/Make/options
+++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/Make/options
@@ -5,9 +5,8 @@ EXE_INC = \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/compressible/RAS/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/RAS \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude
 
 EXE_LIBS = \
     -lfiniteVolume \
@@ -17,6 +16,6 @@ EXE_LIBS = \
     -lfluidThermophysicalModels \
     -lspecie \
     -lradiationModels \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lmeshTools
diff --git a/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C b/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C
index 2e52da8f531..6c05e0cacc1 100644
--- a/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -32,7 +32,7 @@ Description
 
 #include "fvCFD.H"
 #include "rhoThermo.H"
-#include "RASModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "radiationModel.H"
 #include "simpleControl.H"
 #include "fvIOoptionList.H"
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/options b/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/options
index 359d2d45264..75695454d68 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/options
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/options
@@ -11,7 +11,8 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/solidThermo/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
     -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude
@@ -21,9 +22,8 @@ EXE_LIBS = \
     -lfluidThermophysicalModels \
     -lsolidThermo \
     -lspecie \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lmeshTools \
     -lfiniteVolume \
     -lradiationModels \
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C
index 6aae0cf5b68..7ee8492cbe2 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -36,7 +36,7 @@ Description
 
 #include "fvCFD.H"
 #include "rhoThermo.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "fixedGradientFvPatchFields.H"
 #include "regionProperties.H"
 #include "compressibleCourantNo.H"
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/Make/options b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/Make/options
index 93b544d0e03..e3c4d178f13 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/Make/options
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/Make/options
@@ -9,9 +9,8 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/solidThermo/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/RAS/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude
@@ -21,9 +20,8 @@ EXE_LIBS = \
     -lfluidThermophysicalModels \
     -lsolidThermo \
     -lspecie \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lradiationModels \
     -lfvOptions \
     -lregionModels \
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/chtMultiRegionSimpleFoam.C b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/chtMultiRegionSimpleFoam.C
index 75720dd51c2..6c07dcbdfc4 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/chtMultiRegionSimpleFoam.C
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/chtMultiRegionSimpleFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -31,7 +31,7 @@ Description
 
 #include "fvCFD.H"
 #include "rhoThermo.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "fixedGradientFvPatchFields.H"
 #include "regionProperties.H"
 #include "solidThermo.H"
diff --git a/applications/solvers/heatTransfer/thermoFoam/Make/options b/applications/solvers/heatTransfer/thermoFoam/Make/options
index d4d56df1b1e..fc4620b28b4 100644
--- a/applications/solvers/heatTransfer/thermoFoam/Make/options
+++ b/applications/solvers/heatTransfer/thermoFoam/Make/options
@@ -5,11 +5,8 @@ EXE_INC = \
     -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/RAS/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/LES/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/LES/LESdeltas/lnInclude
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude
 
 EXE_LIBS = \
     -lfiniteVolume \
@@ -19,6 +16,5 @@ EXE_LIBS = \
     -lfluidThermophysicalModels \
     -lradiationModels \
     -lspecie \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels
diff --git a/applications/solvers/heatTransfer/thermoFoam/thermoFoam.C b/applications/solvers/heatTransfer/thermoFoam/thermoFoam.C
index f765ca86e8a..a23ce288e3c 100644
--- a/applications/solvers/heatTransfer/thermoFoam/thermoFoam.C
+++ b/applications/solvers/heatTransfer/thermoFoam/thermoFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -31,8 +31,8 @@ Description
 
 #include "fvCFD.H"
 #include "rhoThermo.H"
-#include "turbulenceModel.H"
-#include "RASModel.H"
+#include "turbulentFluidThermoModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "LESModel.H"
 #include "radiationModel.H"
 #include "fvIOoptionList.H"
diff --git a/applications/solvers/incompressible/adjointShapeOptimizationFoam/Make/options b/applications/solvers/incompressible/adjointShapeOptimizationFoam/Make/options
index 1223bdd06f4..50a9de0195a 100644
--- a/applications/solvers/incompressible/adjointShapeOptimizationFoam/Make/options
+++ b/applications/solvers/incompressible/adjointShapeOptimizationFoam/Make/options
@@ -1,11 +1,13 @@
 EXE_INC = \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/RAS/RASModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
-    -lincompressibleRASModels \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lincompressibleTransportModels \
     -lfiniteVolume
diff --git a/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointShapeOptimizationFoam.C b/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointShapeOptimizationFoam.C
index 62a083e3653..460e72c5e85 100644
--- a/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointShapeOptimizationFoam.C
+++ b/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointShapeOptimizationFoam.C
@@ -47,7 +47,7 @@ Description
 
 #include "fvCFD.H"
 #include "singlePhaseTransportModel.H"
-#include "RASModel.H"
+#include "turbulentTransportModel.H"
 #include "simpleControl.H"
 
 template<class Type>
diff --git a/applications/solvers/incompressible/boundaryFoam/Make/options b/applications/solvers/incompressible/boundaryFoam/Make/options
index d993beac0a2..895199f10ed 100644
--- a/applications/solvers/incompressible/boundaryFoam/Make/options
+++ b/applications/solvers/incompressible/boundaryFoam/Make/options
@@ -1,14 +1,14 @@
 EXE_INC = \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/RAS/RASModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 EXE_LIBS = \
-    -lincompressibleTurbulenceModel \
-    -lincompressibleRASModels \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lincompressibleTransportModels \
     -lfiniteVolume \
     -lmeshTools \
diff --git a/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C b/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C
index 03ccffccef7..39d214a6e13 100644
--- a/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C
+++ b/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C
@@ -37,7 +37,7 @@ Description
 
 #include "fvCFD.H"
 #include "singlePhaseTransportModel.H"
-#include "RASModel.H"
+#include "turbulentTransportModel.H"
 #include "wallFvPatch.H"
 #include "makeGraph.H"
 
diff --git a/applications/solvers/incompressible/pimpleFoam/Make/options b/applications/solvers/incompressible/pimpleFoam/Make/options
index a597aafbc7f..bc0201f371c 100644
--- a/applications/solvers/incompressible/pimpleFoam/Make/options
+++ b/applications/solvers/incompressible/pimpleFoam/Make/options
@@ -1,5 +1,6 @@
 EXE_INC = \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
@@ -9,10 +10,9 @@ EXE_INC = \
 
 
 EXE_LIBS = \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lincompressibleTransportModels \
-    -lincompressibleTurbulenceModel \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
     -lfiniteVolume \
     -lmeshTools \
     -lfvOptions \
diff --git a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/Make/options b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/Make/options
index 7cdb6a55511..20feab872f6 100644
--- a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/Make/options
+++ b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/Make/options
@@ -1,5 +1,6 @@
 EXE_INC = \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
@@ -8,10 +9,9 @@ EXE_INC = \
     -I$(LIB_SRC)/sampling/lnInclude
 
 EXE_LIBS = \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lincompressibleTransportModels \
-    -lincompressibleTurbulenceModel \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
     -lfiniteVolume \
     -lmeshTools \
     -lfvOptions \
diff --git a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C
index f6beed97336..f9c35f073e6 100644
--- a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C
+++ b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C
@@ -34,7 +34,7 @@ Description
 
 #include "fvCFD.H"
 #include "singlePhaseTransportModel.H"
-#include "turbulenceModel.H"
+#include "turbulentTransportModel.H"
 #include "pimpleControl.H"
 #include "SRFModel.H"
 #include "fvIOoptionList.H"
diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/Make/options b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/Make/options
index 263fd7375f8..90e43d56aa1 100644
--- a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/Make/options
+++ b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/Make/options
@@ -1,6 +1,7 @@
 EXE_INC = \
     -I.. \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
@@ -11,10 +12,9 @@ EXE_INC = \
     -I$(LIB_SRC)/meshTools/lnInclude \
 
 EXE_LIBS = \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lincompressibleTransportModels \
-    -lincompressibleTurbulenceModel \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
     -lfiniteVolume \
     -lfvOptions \
     -lsampling \
diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C
index 3feb2a97f55..7c23e6583e8 100644
--- a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C
+++ b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C
@@ -35,7 +35,7 @@ Description
 #include "fvCFD.H"
 #include "dynamicFvMesh.H"
 #include "singlePhaseTransportModel.H"
-#include "turbulenceModel.H"
+#include "turbulentTransportModel.H"
 #include "pimpleControl.H"
 #include "fvIOoptionList.H"
 
diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C b/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C
index 8361c546204..85861ae394a 100644
--- a/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C
+++ b/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C
@@ -36,7 +36,7 @@ Description
 
 #include "fvCFD.H"
 #include "singlePhaseTransportModel.H"
-#include "turbulenceModel.H"
+#include "turbulentTransportModel.H"
 #include "pimpleControl.H"
 #include "fvIOoptionList.H"
 #include "IOporosityModelList.H"
diff --git a/applications/solvers/incompressible/pisoFoam/Make/options b/applications/solvers/incompressible/pisoFoam/Make/options
index 259f95f7b93..23368faba68 100644
--- a/applications/solvers/incompressible/pisoFoam/Make/options
+++ b/applications/solvers/incompressible/pisoFoam/Make/options
@@ -1,13 +1,13 @@
 EXE_INC = \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
-    -lincompressibleTurbulenceModel \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lincompressibleTransportModels \
     -lfiniteVolume \
     -lmeshTools
diff --git a/applications/solvers/incompressible/pisoFoam/pisoFoam.C b/applications/solvers/incompressible/pisoFoam/pisoFoam.C
index 14237946a83..b812418fd6a 100644
--- a/applications/solvers/incompressible/pisoFoam/pisoFoam.C
+++ b/applications/solvers/incompressible/pisoFoam/pisoFoam.C
@@ -33,7 +33,7 @@ Description
 
 #include "fvCFD.H"
 #include "singlePhaseTransportModel.H"
-#include "turbulenceModel.H"
+#include "turbulentTransportModel.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/applications/solvers/incompressible/simpleFoam/Make/options b/applications/solvers/incompressible/simpleFoam/Make/options
index f9913bf0dd1..bc0201f371c 100644
--- a/applications/solvers/incompressible/simpleFoam/Make/options
+++ b/applications/solvers/incompressible/simpleFoam/Make/options
@@ -1,6 +1,6 @@
 EXE_INC = \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/RAS/RASModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
@@ -10,8 +10,8 @@ EXE_INC = \
 
 
 EXE_LIBS = \
-    -lincompressibleTurbulenceModel \
-    -lincompressibleRASModels \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lincompressibleTransportModels \
     -lfiniteVolume \
     -lmeshTools \
diff --git a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/Make/options b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/Make/options
index cae6c88fed7..a888499d85d 100644
--- a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/Make/options
+++ b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/Make/options
@@ -1,17 +1,18 @@
 EXE_INC = \
     -I.. \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/RAS/RASModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
+    -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 
 EXE_LIBS = \
-    -lincompressibleRASModels \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lincompressibleTransportModels \
     -lfiniteVolume \
     -lmeshTools \
diff --git a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C
index 354757b66d9..00178524aef 100644
--- a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C
+++ b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C
@@ -32,7 +32,7 @@ Description
 
 #include "fvCFD.H"
 #include "singlePhaseTransportModel.H"
-#include "RASModel.H"
+#include "turbulentTransportModel.H"
 #include "SRFModel.H"
 #include "simpleControl.H"
 #include "fvIOoptionList.H"
diff --git a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/Make/options b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/Make/options
index 6cee67f66f7..a888499d85d 100644
--- a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/Make/options
+++ b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/Make/options
@@ -1,7 +1,7 @@
 EXE_INC = \
     -I.. \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/RAS/RASModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
@@ -11,8 +11,8 @@ EXE_INC = \
 
 
 EXE_LIBS = \
-    -lincompressibleTurbulenceModel \
-    -lincompressibleRASModels \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lincompressibleTransportModels \
     -lfiniteVolume \
     -lmeshTools \
diff --git a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C
index d10ba2d1efb..a6c48d7c19d 100644
--- a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C
+++ b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C
@@ -33,7 +33,7 @@ Description
 
 #include "fvCFD.H"
 #include "singlePhaseTransportModel.H"
-#include "RASModel.H"
+#include "turbulentTransportModel.H"
 #include "simpleControl.H"
 #include "IOMRFZoneList.H"
 #include "IOporosityModelList.H"
diff --git a/applications/solvers/incompressible/simpleFoam/simpleFoam.C b/applications/solvers/incompressible/simpleFoam/simpleFoam.C
index 9541bcbd1be..807c1e5a086 100644
--- a/applications/solvers/incompressible/simpleFoam/simpleFoam.C
+++ b/applications/solvers/incompressible/simpleFoam/simpleFoam.C
@@ -31,7 +31,7 @@ Description
 
 #include "fvCFD.H"
 #include "singlePhaseTransportModel.H"
-#include "RASModel.H"
+#include "turbulentTransportModel.H"
 #include "simpleControl.H"
 #include "fvIOoptionList.H"
 
diff --git a/applications/solvers/lagrangian/DPMFoam/DPMTurbulenceModels/DPMTurbulenceModels.C b/applications/solvers/lagrangian/DPMFoam/DPMTurbulenceModels/DPMTurbulenceModels.C
index 1aeca779573..3ade3bbfdde 100644
--- a/applications/solvers/lagrangian/DPMFoam/DPMTurbulenceModels/DPMTurbulenceModels.C
+++ b/applications/solvers/lagrangian/DPMFoam/DPMTurbulenceModels/DPMTurbulenceModels.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -29,7 +29,7 @@ License
 #include "makeTurbulenceModel.H"
 
 #include "laminar.H"
-#include "RASModel.H"
+#include "turbulentTransportModel.H"
 #include "LESModel.H"
 
 makeBaseTurbulenceModel
diff --git a/applications/solvers/lagrangian/DPMFoam/MPPICFoam/Make/options b/applications/solvers/lagrangian/DPMFoam/MPPICFoam/Make/options
index 4a0c3a56593..843220db55b 100644
--- a/applications/solvers/lagrangian/DPMFoam/MPPICFoam/Make/options
+++ b/applications/solvers/lagrangian/DPMFoam/MPPICFoam/Make/options
@@ -22,7 +22,7 @@ EXE_LIBS = \
     -lmeshTools \
     -llagrangian \
     -llagrangianIntermediate \
-    -llagrangianTurbulentSubModels \
+    -llagrangianTurbulence \
     -lthermophysicalFunctions \
     -lspecie \
     -lradiationModels \
diff --git a/applications/solvers/lagrangian/DPMFoam/Make/options b/applications/solvers/lagrangian/DPMFoam/Make/options
index 83684e57c44..5734ebb6587 100644
--- a/applications/solvers/lagrangian/DPMFoam/Make/options
+++ b/applications/solvers/lagrangian/DPMFoam/Make/options
@@ -21,7 +21,7 @@ EXE_LIBS = \
     -lmeshTools \
     -llagrangian \
     -llagrangianIntermediate \
-    -llagrangianTurbulentSubModels \
+    -llagrangianTurbulence \
     -lthermophysicalFunctions \
     -lspecie \
     -lradiationModels \
diff --git a/applications/solvers/lagrangian/coalChemistryFoam/Make/options b/applications/solvers/lagrangian/coalChemistryFoam/Make/options
index 8abe45c5c0c..5689c1bab15 100644
--- a/applications/solvers/lagrangian/coalChemistryFoam/Make/options
+++ b/applications/solvers/lagrangian/coalChemistryFoam/Make/options
@@ -1,7 +1,8 @@
 EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I${LIB_SRC}/meshTools/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/lagrangian/basic/lnInclude \
     -I$(LIB_SRC)/lagrangian/intermediate/lnInclude \
     -I$(LIB_SRC)/lagrangian/coalCombustion/lnInclude \
@@ -30,9 +31,8 @@ EXE_INC = \
 EXE_LIBS = \
     -lfiniteVolume \
     -lmeshTools \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -llagrangian \
     -llagrangianIntermediate \
     -llagrangianTurbulence \
@@ -54,4 +54,3 @@ EXE_LIBS = \
     -lcombustionModels \
     -lfvOptions \
     -lsampling
-
diff --git a/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C b/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C
index 475e48a1cc0..fc28c3de42b 100644
--- a/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C
+++ b/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -36,7 +36,7 @@ Description
 \*---------------------------------------------------------------------------*/
 
 #include "fvCFD.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "basicThermoCloud.H"
 #include "coalCloud.H"
 #include "psiCombustionModel.H"
diff --git a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/Make/options b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/Make/options
index 05b6391edae..bec7663b66b 100644
--- a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/Make/options
+++ b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/Make/options
@@ -5,7 +5,8 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
@@ -21,8 +22,8 @@ EXE_LIBS = \
     -lfluidThermophysicalModels \
     -lspecie \
     -lradiationModels \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lincompressibleTransportModels \
     -lfiniteVolume \
     -lmeshTools \
diff --git a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelDyMFoam/Make/options b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelDyMFoam/Make/options
index e35babe8f4e..000a4abb2d8 100644
--- a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelDyMFoam/Make/options
+++ b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelDyMFoam/Make/options
@@ -6,7 +6,8 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
@@ -25,8 +26,8 @@ EXE_LIBS = \
     -lfluidThermophysicalModels \
     -lspecie \
     -lradiationModels \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lincompressibleTransportModels \
     -lfiniteVolume \
     -lmeshTools \
diff --git a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelDyMFoam/icoUncoupledKinematicParcelDyMFoam.C b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelDyMFoam/icoUncoupledKinematicParcelDyMFoam.C
index 8f7619cdd3f..b355148a94c 100644
--- a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelDyMFoam/icoUncoupledKinematicParcelDyMFoam.C
+++ b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelDyMFoam/icoUncoupledKinematicParcelDyMFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -35,7 +35,7 @@ Description
 #include "fvCFD.H"
 #include "dynamicFvMesh.H"
 #include "singlePhaseTransportModel.H"
-#include "turbulenceModel.H"
+#include "turbulentTransportModel.H"
 #include "basicKinematicCollidingCloud.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelFoam.C b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelFoam.C
index 2bf1238452f..befcb57d02b 100644
--- a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelFoam.C
+++ b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -34,7 +34,7 @@ Description
 
 #include "fvCFD.H"
 #include "singlePhaseTransportModel.H"
-#include "turbulenceModel.H"
+#include "turbulentTransportModel.H"
 #include "basicKinematicCollidingCloud.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options b/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options
index b6f5cf10588..96880c05c03 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options
+++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options
@@ -3,7 +3,8 @@ EXE_INC = \
     -I$(LIB_SRC)/fvOptions/lnInclude \
     -I${LIB_SRC}/sampling/lnInclude \
     -I${LIB_SRC}/meshTools/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/lagrangian/distributionModels/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
@@ -30,8 +31,8 @@ EXE_LIBS = \
     -lfvOptions \
     -lsampling \
     -lmeshTools \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lspecie \
     -lfluidThermophysicalModels \
     -lsolidProperties \
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/reactingParcelFilmFoam.C b/applications/solvers/lagrangian/reactingParcelFilmFoam/reactingParcelFilmFoam.C
index 27f272100af..08bc14d8551 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/reactingParcelFilmFoam.C
+++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/reactingParcelFilmFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -31,7 +31,7 @@ Description
 \*---------------------------------------------------------------------------*/
 
 #include "fvCFD.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "basicReactingCloud.H"
 #include "surfaceFilmModel.H"
 #include "psiCombustionModel.H"
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/LTSReactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/LTSReactingParcelFoam.C
index 7481ae79cda..e81f37593b8 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/LTSReactingParcelFoam.C
+++ b/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/LTSReactingParcelFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -33,7 +33,7 @@ Description
 \*---------------------------------------------------------------------------*/
 
 #include "fvCFD.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "basicReactingMultiphaseCloud.H"
 #include "rhoCombustionModel.H"
 #include "radiationModel.H"
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/Make/options b/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/Make/options
index 1eb9a3dba56..f0d8062ecba 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/Make/options
+++ b/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/Make/options
@@ -2,7 +2,8 @@ EXE_INC = \
     -I.. \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I${LIB_SRC}/meshTools/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/lagrangian/basic/lnInclude \
     -I$(LIB_SRC)/lagrangian/intermediate/lnInclude \
     -I$(LIB_SRC)/lagrangian/coalCombustion/lnInclude \
@@ -29,9 +30,8 @@ EXE_INC = \
 EXE_LIBS = \
     -lfiniteVolume \
     -lmeshTools \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -llagrangian \
     -llagrangianIntermediate \
     -llagrangianTurbulence \
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/Make/options b/applications/solvers/lagrangian/reactingParcelFoam/Make/options
index 997aeae66b5..cc79d690f73 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/Make/options
+++ b/applications/solvers/lagrangian/reactingParcelFoam/Make/options
@@ -1,7 +1,8 @@
 EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I${LIB_SRC}/meshTools/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/lagrangian/basic/lnInclude \
     -I$(LIB_SRC)/lagrangian/intermediate/lnInclude \
     -I$(LIB_SRC)/lagrangian/coalCombustion/lnInclude \
@@ -29,9 +30,8 @@ EXE_INC = \
 EXE_LIBS = \
     -lfiniteVolume \
     -lmeshTools \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -llagrangian \
     -llagrangianIntermediate \
     -llagrangianTurbulence \
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C
index 1425a3e5f2b..30e44df94c4 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C
+++ b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -32,7 +32,7 @@ Description
 \*---------------------------------------------------------------------------*/
 
 #include "fvCFD.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "basicReactingMultiphaseCloud.H"
 #include "rhoCombustionModel.H"
 #include "radiationModel.H"
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/Make/options b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/Make/options
index 997aeae66b5..cc79d690f73 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/Make/options
+++ b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/Make/options
@@ -1,7 +1,8 @@
 EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I${LIB_SRC}/meshTools/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/lagrangian/basic/lnInclude \
     -I$(LIB_SRC)/lagrangian/intermediate/lnInclude \
     -I$(LIB_SRC)/lagrangian/coalCombustion/lnInclude \
@@ -29,9 +30,8 @@ EXE_INC = \
 EXE_LIBS = \
     -lfiniteVolume \
     -lmeshTools \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -llagrangian \
     -llagrangianIntermediate \
     -llagrangianTurbulence \
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/simpleReactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/simpleReactingParcelFoam.C
index 6620d2af52d..22667ba1874 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/simpleReactingParcelFoam.C
+++ b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/simpleReactingParcelFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -32,7 +32,7 @@ Description
 \*---------------------------------------------------------------------------*/
 
 #include "fvCFD.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "basicReactingMultiphaseCloud.H"
 #include "rhoCombustionModel.H"
 #include "radiationModel.H"
diff --git a/applications/solvers/lagrangian/sprayFoam/Make/options b/applications/solvers/lagrangian/sprayFoam/Make/options
index 5c63b0d2f5a..404a0d37319 100644
--- a/applications/solvers/lagrangian/sprayFoam/Make/options
+++ b/applications/solvers/lagrangian/sprayFoam/Make/options
@@ -3,7 +3,8 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I${LIB_SRC}/meshTools/lnInclude \
     -I${LIB_SRC}/sampling/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/lagrangian/basic/lnInclude \
     -I$(LIB_SRC)/lagrangian/intermediate/lnInclude \
     -I$(LIB_SRC)/lagrangian/spray/lnInclude \
@@ -30,9 +31,8 @@ EXE_LIBS = \
     -lfiniteVolume \
     -lmeshTools \
     -lsampling \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -llagrangian \
     -llagrangianIntermediate \
     -llagrangianTurbulence \
diff --git a/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/Make/options b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/Make/options
index a8a0bfc56a0..487508d3071 100644
--- a/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/Make/options
+++ b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/Make/options
@@ -4,7 +4,8 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I${LIB_SRC}/meshTools/lnInclude \
     -I${LIB_SRC}/sampling/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/lagrangian/basic/lnInclude \
     -I$(LIB_SRC)/lagrangian/intermediate/lnInclude \
     -I$(LIB_SRC)/lagrangian/spray/lnInclude \
@@ -32,9 +33,8 @@ EXE_LIBS = \
     -lfiniteVolume \
     -lmeshTools \
     -lsampling \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -llagrangian \
     -llagrangianIntermediate \
     -llagrangianTurbulence \
diff --git a/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.C b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.C
index b91a3ad79de..11caf270ae7 100644
--- a/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.C
+++ b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -33,7 +33,7 @@ Description
 #include "fvCFD.H"
 #include "engineTime.H"
 #include "engineMesh.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "basicSprayCloud.H"
 #include "psiCombustionModel.H"
 #include "radiationModel.H"
diff --git a/applications/solvers/lagrangian/sprayFoam/sprayFoam.C b/applications/solvers/lagrangian/sprayFoam/sprayFoam.C
index 1c93d3ab13e..9da22ec75cb 100644
--- a/applications/solvers/lagrangian/sprayFoam/sprayFoam.C
+++ b/applications/solvers/lagrangian/sprayFoam/sprayFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -31,7 +31,7 @@ Description
 \*---------------------------------------------------------------------------*/
 
 #include "fvCFD.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "basicSprayCloud.H"
 #include "psiCombustionModel.H"
 #include "radiationModel.H"
diff --git a/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/Make/options b/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/Make/options
index 3e975674d03..026161c0d5b 100644
--- a/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/Make/options
+++ b/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/Make/options
@@ -5,7 +5,8 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude \
@@ -19,9 +20,8 @@ EXE_LIBS = \
     -lfluidThermophysicalModels \
     -lspecie \
     -lradiationModels \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lfiniteVolume \
     -lmeshTools \
     -lregionModels \
diff --git a/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/uncoupledKinematicParcelFoam.C b/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/uncoupledKinematicParcelFoam.C
index 352678f8530..6545c4d72b4 100644
--- a/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/uncoupledKinematicParcelFoam.C
+++ b/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/uncoupledKinematicParcelFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -34,7 +34,7 @@ Description
 
 #include "fvCFD.H"
 #include "psiThermo.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "basicKinematicCloud.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/multiphase/cavitatingFoam/Make/options b/applications/solvers/multiphase/cavitatingFoam/Make/options
index 5efeeb355d6..1bcdc8e8383 100644
--- a/applications/solvers/multiphase/cavitatingFoam/Make/options
+++ b/applications/solvers/multiphase/cavitatingFoam/Make/options
@@ -4,13 +4,12 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/barotropicCompressibilityModel/lnInclude
 
 EXE_LIBS = \
-    -lincompressibleTransportModels \
-    -lincompressibleTurbulenceModel \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
-    -lfiniteVolume \
-    -lbarotropicCompressibilityModel
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
+    -lbarotropicCompressibilityModel \
+    -lfiniteVolume
diff --git a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/Make/options b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/Make/options
index 34590e930b0..5ec5c9a72c2 100644
--- a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/Make/options
+++ b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/Make/options
@@ -5,19 +5,18 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/barotropicCompressibilityModel/lnInclude \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/dynamicFvMesh/lnInclude
 
 EXE_LIBS = \
-    -lincompressibleTransportModels \
-    -lincompressibleTurbulenceModel \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
-    -lfiniteVolume \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lbarotropicCompressibilityModel \
+    -lfiniteVolume \
     -ldynamicMesh \
-    -lmeshTools \
-    -ldynamicFvMesh
+    -ldynamicFvMesh \
+    -lmeshTools
diff --git a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C
index 284ca97bd4a..9910f1a4bd7 100644
--- a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C
+++ b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -36,7 +36,7 @@ Description
 #include "dynamicFvMesh.H"
 #include "barotropicCompressibilityModel.H"
 #include "incompressibleTwoPhaseMixture.H"
-#include "turbulenceModel.H"
+#include "turbulentTransportModel.H"
 #include "pimpleControl.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C b/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C
index 2b04d58fb59..78b92961531 100644
--- a/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C
+++ b/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -35,7 +35,7 @@ Description
 #include "fvCFD.H"
 #include "barotropicCompressibilityModel.H"
 #include "incompressibleTwoPhaseMixture.H"
-#include "turbulenceModel.H"
+#include "turbulentTransportModel.H"
 #include "pimpleControl.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/multiphase/compressibleInterFoam/Make/options b/applications/solvers/multiphase/compressibleInterFoam/Make/options
index 54e9f74e4af..a36fe054145 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/Make/options
+++ b/applications/solvers/multiphase/compressibleInterFoam/Make/options
@@ -4,7 +4,8 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/transportModels/twoPhaseMixture/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
@@ -14,7 +15,6 @@ EXE_LIBS = \
     -ltwoPhaseMixture \
     -ltwoPhaseProperties \
     -linterfaceProperties \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lfiniteVolume
diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/Make/options b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/Make/options
index 123645b4c36..91f2d03a29d 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/Make/options
+++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/Make/options
@@ -5,7 +5,8 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/transportModels/twoPhaseMixture/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/dynamicFvMesh/lnInclude \
@@ -18,9 +19,8 @@ EXE_LIBS = \
     -ltwoPhaseMixture \
     -ltwoPhaseProperties \
     -linterfaceProperties \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -ldynamicMesh \
     -lmeshTools \
     -ldynamicFvMesh \
diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/compressibleInterDyMFoam.C b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/compressibleInterDyMFoam.C
index 06444163304..cf35e60beca 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/compressibleInterDyMFoam.C
+++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/compressibleInterDyMFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,7 +44,7 @@ Description
 #include "interfaceProperties.H"
 #include "twoPhaseMixture.H"
 #include "twoPhaseMixtureThermo.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "pimpleControl.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 
diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C
index 030b997f486..0559985b546 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C
+++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,7 +42,7 @@ Description
 #include "interfaceProperties.H"
 #include "twoPhaseMixture.H"
 #include "twoPhaseMixtureThermo.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "pimpleControl.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 
diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/Make/options b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/Make/options
index af7020f40f6..900ababa19f 100644
--- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/Make/options
+++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/Make/options
@@ -5,7 +5,8 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/transportModels/twoPhaseMixture/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
@@ -13,7 +14,6 @@ EXE_LIBS = \
     -lfluidThermophysicalModels \
     -lspecie \
     -linterfaceProperties \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lfiniteVolume
diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseInterFoam.C b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseInterFoam.C
index 5648f2d3bd2..24ba56e3e5e 100644
--- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseInterFoam.C
+++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseInterFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -37,7 +37,7 @@ Description
 
 #include "fvCFD.H"
 #include "multiphaseMixtureThermo.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "pimpleControl.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 
diff --git a/applications/solvers/multiphase/interFoam/LTSInterFoam/LTSInterFoam.C b/applications/solvers/multiphase/interFoam/LTSInterFoam/LTSInterFoam.C
index 1e870c42a93..575d8d79346 100644
--- a/applications/solvers/multiphase/interFoam/LTSInterFoam/LTSInterFoam.C
+++ b/applications/solvers/multiphase/interFoam/LTSInterFoam/LTSInterFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -41,7 +41,7 @@ Description
 #include "CMULES.H"
 #include "subCycle.H"
 #include "immiscibleIncompressibleTwoPhaseMixture.H"
-#include "turbulenceModel.H"
+#include "turbulentTransportModel.H"
 #include "fvcSmooth.H"
 #include "pimpleControl.H"
 #include "fvIOoptionList.H"
diff --git a/applications/solvers/multiphase/interFoam/LTSInterFoam/Make/options b/applications/solvers/multiphase/interFoam/LTSInterFoam/Make/options
index 14861f2b880..f0762e15d2e 100644
--- a/applications/solvers/multiphase/interFoam/LTSInterFoam/Make/options
+++ b/applications/solvers/multiphase/interFoam/LTSInterFoam/Make/options
@@ -4,7 +4,8 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/immiscibleIncompressibleTwoPhaseMixture/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
@@ -13,9 +14,8 @@ EXE_INC = \
 
 EXE_LIBS = \
     -limmiscibleIncompressibleTwoPhaseMixture \
-    -lincompressibleTurbulenceModel \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lfiniteVolume \
     -lmeshTools \
     -lfvOptions \
diff --git a/applications/solvers/multiphase/interFoam/Make/options b/applications/solvers/multiphase/interFoam/Make/options
index 207a796b1da..df659a93d2a 100644
--- a/applications/solvers/multiphase/interFoam/Make/options
+++ b/applications/solvers/multiphase/interFoam/Make/options
@@ -3,7 +3,8 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/immiscibleIncompressibleTwoPhaseMixture/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/fvOptions/lnInclude \
@@ -12,9 +13,8 @@ EXE_INC = \
 
 EXE_LIBS = \
     -limmiscibleIncompressibleTwoPhaseMixture \
-    -lincompressibleTurbulenceModel \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lfiniteVolume \
     -lfvOptions \
     -lmeshTools \
diff --git a/applications/solvers/multiphase/interFoam/interDyMFoam/Make/options b/applications/solvers/multiphase/interFoam/interDyMFoam/Make/options
index b9638e612be..2e8c289ff7f 100644
--- a/applications/solvers/multiphase/interFoam/interDyMFoam/Make/options
+++ b/applications/solvers/multiphase/interFoam/interDyMFoam/Make/options
@@ -4,7 +4,8 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/immiscibleIncompressibleTwoPhaseMixture/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
@@ -15,9 +16,8 @@ EXE_INC = \
 
 EXE_LIBS = \
     -limmiscibleIncompressibleTwoPhaseMixture \
-    -lincompressibleTurbulenceModel \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lfiniteVolume \
     -ldynamicMesh \
     -ldynamicFvMesh \
diff --git a/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C b/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C
index 58d74a62550..ba40cc3e173 100644
--- a/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C
+++ b/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -37,7 +37,7 @@ Description
 #include "CMULES.H"
 #include "subCycle.H"
 #include "immiscibleIncompressibleTwoPhaseMixture.H"
-#include "turbulenceModel.H"
+#include "turbulentTransportModel.H"
 #include "pimpleControl.H"
 #include "fvIOoptionList.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
diff --git a/applications/solvers/multiphase/interFoam/interFoam.C b/applications/solvers/multiphase/interFoam/interFoam.C
index 6b6168bf0e7..deb001c4fb9 100644
--- a/applications/solvers/multiphase/interFoam/interFoam.C
+++ b/applications/solvers/multiphase/interFoam/interFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -41,7 +41,7 @@ Description
 #include "CMULES.H"
 #include "subCycle.H"
 #include "immiscibleIncompressibleTwoPhaseMixture.H"
-#include "turbulenceModel.H"
+#include "turbulentTransportModel.H"
 #include "pimpleControl.H"
 #include "fvIOoptionList.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/Make/options b/applications/solvers/multiphase/interFoam/interMixingFoam/Make/options
index 43456c90472..7198616b30f 100644
--- a/applications/solvers/multiphase/interFoam/interMixingFoam/Make/options
+++ b/applications/solvers/multiphase/interFoam/interMixingFoam/Make/options
@@ -6,7 +6,8 @@ EXE_INC = \
     -IthreePhaseInterfaceProperties \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
     -I$(LIB_SRC)/transportModels/twoPhaseProperties/alphaContactAngle/alphaContactAngle \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/meshTools/lnInclude \
@@ -17,9 +18,8 @@ EXE_LIBS = \
     -ltwoPhaseMixture \
     -ltwoPhaseProperties \
     -lincompressibleTransportModels \
-    -lincompressibleTurbulenceModel \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lfiniteVolume \
     -lmeshTools \
     -lfvOptions \
diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C b/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C
index 09cb7f1c7eb..a39adb3c177 100644
--- a/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C
+++ b/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -34,7 +34,7 @@ Description
 #include "CMULES.H"
 #include "subCycle.H"
 #include "immiscibleIncompressibleThreePhaseMixture.H"
-#include "turbulenceModel.H"
+#include "turbulentTransportModel.H"
 #include "pimpleControl.H"
 #include "fvIOoptionList.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
diff --git a/applications/solvers/multiphase/interFoam/porousInterFoam/Make/options b/applications/solvers/multiphase/interFoam/porousInterFoam/Make/options
index fffa41da94c..7a3dd1e71f0 100644
--- a/applications/solvers/multiphase/interFoam/porousInterFoam/Make/options
+++ b/applications/solvers/multiphase/interFoam/porousInterFoam/Make/options
@@ -5,7 +5,8 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
     -I$(LIB_SRC)/transportModels/immiscibleIncompressibleTwoPhaseMixture/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/fvOptions/lnInclude \
@@ -14,9 +15,8 @@ EXE_INC = \
 EXE_LIBS = \
     -limmiscibleIncompressibleTwoPhaseMixture \
     -lincompressibleTransportModels \
-    -lincompressibleTurbulenceModel \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lfiniteVolume \
     -lmeshTools \
     -lfvOptions \
diff --git a/applications/solvers/multiphase/interFoam/porousInterFoam/porousInterFoam.C b/applications/solvers/multiphase/interFoam/porousInterFoam/porousInterFoam.C
index c17847bd3da..ee2b6e4d53d 100644
--- a/applications/solvers/multiphase/interFoam/porousInterFoam/porousInterFoam.C
+++ b/applications/solvers/multiphase/interFoam/porousInterFoam/porousInterFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,7 +42,7 @@ Description
 #include "CMULES.H"
 #include "subCycle.H"
 #include "immiscibleIncompressibleTwoPhaseMixture.H"
-#include "turbulenceModel.H"
+#include "turbulentTransportModel.H"
 #include "IOporosityModelList.H"
 #include "pimpleControl.H"
 #include "fvIOoptionList.H"
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/Make/options b/applications/solvers/multiphase/interPhaseChangeFoam/Make/options
index 4721c889611..254f3ad8be1 100644
--- a/applications/solvers/multiphase/interPhaseChangeFoam/Make/options
+++ b/applications/solvers/multiphase/interPhaseChangeFoam/Make/options
@@ -3,7 +3,8 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -IphaseChangeTwoPhaseMixtures/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
@@ -16,9 +17,8 @@ EXE_LIBS = \
     -linterfaceProperties \
     -ltwoPhaseProperties \
     -lincompressibleTransportModels \
-    -lincompressibleTurbulenceModel \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lfiniteVolume \
     -lmeshTools \
     -lfvOptions \
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/Make/options b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/Make/options
index 3bf8a5dfb69..0512ee1946f 100644
--- a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/Make/options
+++ b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/Make/options
@@ -4,7 +4,8 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I../phaseChangeTwoPhaseMixtures/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
@@ -19,9 +20,8 @@ EXE_LIBS = \
     -linterfaceProperties \
     -ltwoPhaseProperties \
     -lincompressibleTransportModels \
-    -lincompressibleTurbulenceModel \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lfiniteVolume \
     -ldynamicMesh \
     -ldynamicFvMesh \
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/interPhaseChangeDyMFoam.C b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/interPhaseChangeDyMFoam.C
index e336e4a0c3d..4afaca6ca93 100644
--- a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/interPhaseChangeDyMFoam.C
+++ b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/interPhaseChangeDyMFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -47,7 +47,7 @@ Description
 #include "subCycle.H"
 #include "interfaceProperties.H"
 #include "phaseChangeTwoPhaseMixture.H"
-#include "turbulenceModel.H"
+#include "turbulentTransportModel.H"
 #include "pimpleControl.H"
 #include "fvIOoptionList.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeFoam.C b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeFoam.C
index 32f94bf303b..7cd7ad43b26 100644
--- a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeFoam.C
+++ b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,7 +45,7 @@ Description
 #include "subCycle.H"
 #include "interfaceProperties.H"
 #include "phaseChangeTwoPhaseMixture.H"
-#include "turbulenceModel.H"
+#include "turbulentTransportModel.H"
 #include "pimpleControl.H"
 #include "fvIOoptionList.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/Make/options b/applications/solvers/multiphase/multiphaseEulerFoam/Make/options
index ab8d970994e..86b52d3385a 100644
--- a/applications/solvers/multiphase/multiphaseEulerFoam/Make/options
+++ b/applications/solvers/multiphase/multiphaseEulerFoam/Make/options
@@ -7,8 +7,8 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/LES/LESModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/turbulenceModels/LES/LESdeltas/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
@@ -17,6 +17,6 @@ EXE_LIBS = \
     -linterfaceProperties \
     -lincompressibleTransportModels \
     -lcompressibleMultiphaseEulerianInterfacialModels \
-    -lincompressibleLESModels \
-    -lincompressibleRASModels \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lfiniteVolume
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/UEqns.H b/applications/solvers/multiphase/multiphaseEulerFoam/UEqns.H
index 7584d84f27e..1dd551f8f25 100644
--- a/applications/solvers/multiphase/multiphaseEulerFoam/UEqns.H
+++ b/applications/solvers/multiphase/multiphaseEulerFoam/UEqns.H
@@ -10,7 +10,7 @@ forAllIter(PtrDictionary<phaseModel>, fluid.phases(), iter)
     const volScalarField& alpha = phase;
     volVectorField& U = phase.U();
 
-    volScalarField nuEff(sgsModel->nut() + iter().nu());
+    volScalarField nuEff(turbulence->nut() + iter().nu());
 
     UEqns.set
     (
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/createFields.H b/applications/solvers/multiphase/multiphaseEulerFoam/createFields.H
index 79fa72d7587..8de6d490215 100644
--- a/applications/solvers/multiphase/multiphaseEulerFoam/createFields.H
+++ b/applications/solvers/multiphase/multiphaseEulerFoam/createFields.H
@@ -89,8 +89,8 @@
     scalar pRefValue = 0.0;
     setRefCell(p, mesh.solutionDict().subDict("PIMPLE"), pRefCell, pRefValue);
 
-
-    autoPtr<incompressible::LESModel> sgsModel
+    // Construct incompressible turbulence model
+    autoPtr<incompressible::turbulenceModel> turbulence
     (
-        incompressible::LESModel::New(U, phi, fluid)
+        incompressible::turbulenceModel::New(U, phi, fluid)
     );
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam.C
index d0285dc3577..237a62a7cd4 100644
--- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam.C
+++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -36,7 +36,7 @@ Description
 #include "dragModel.H"
 #include "heatTransferModel.H"
 #include "singlePhaseTransportModel.H"
-#include "LESModel.H"
+#include "turbulentTransportModel.H"
 #include "pimpleControl.H"
 #include "IOMRFZoneList.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
@@ -78,7 +78,7 @@ int main(int argc, char *argv[])
         // --- Pressure-velocity PIMPLE corrector loop
         while (pimple.loop())
         {
-            sgsModel->correct();
+            turbulence->correct();
             fluid.solve();
             rho = fluid.rho();
             #include "zonePhaseVolumes.H"
diff --git a/applications/solvers/multiphase/multiphaseInterFoam/Make/options b/applications/solvers/multiphase/multiphaseInterFoam/Make/options
index 27f633d621e..2eb366fd985 100644
--- a/applications/solvers/multiphase/multiphaseInterFoam/Make/options
+++ b/applications/solvers/multiphase/multiphaseInterFoam/Make/options
@@ -4,7 +4,8 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
@@ -14,9 +15,8 @@ EXE_LIBS = \
     -lmultiphaseInterFoam \
     -linterfaceProperties \
     -lincompressibleTransportModels \
-    -lincompressibleTurbulenceModel \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lfiniteVolume \
     -lfvOptions \
     -lmeshTools \
diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/Make/options b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/Make/options
index 83653482210..e05b53a9625 100644
--- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/Make/options
+++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/Make/options
@@ -6,7 +6,8 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
     -I$(LIB_SRC)/dynamicFvMesh/lnInclude \
@@ -18,9 +19,8 @@ EXE_LIBS = \
     -lmultiphaseInterFoam \
     -linterfaceProperties \
     -lincompressibleTransportModels \
-    -lincompressibleTurbulenceModel \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lfiniteVolume \
     -ldynamicMesh \
     -ldynamicFvMesh \
diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/multiphaseInterDyMFoam.C b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/multiphaseInterDyMFoam.C
index acfa7eb3eea..7e31d9e4205 100644
--- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/multiphaseInterDyMFoam.C
+++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/multiphaseInterDyMFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -35,7 +35,7 @@ Description
 #include "fvCFD.H"
 #include "dynamicFvMesh.H"
 #include "multiphaseMixture.H"
-#include "turbulenceModel.H"
+#include "turbulentTransportModel.H"
 #include "pimpleControl.H"
 #include "fvIOoptionList.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C
index fdd93eae5da..78bed884e97 100644
--- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C
+++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -34,7 +34,7 @@ Description
 
 #include "fvCFD.H"
 #include "multiphaseMixture.H"
-#include "turbulenceModel.H"
+#include "turbulentTransportModel.H"
 #include "pimpleControl.H"
 #include "fvIOoptionList.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/Make/options b/applications/solvers/multiphase/potentialFreeSurfaceFoam/Make/options
index a597aafbc7f..72a106ba1e3 100644
--- a/applications/solvers/multiphase/potentialFreeSurfaceFoam/Make/options
+++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/Make/options
@@ -1,5 +1,6 @@
 EXE_INC = \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
@@ -10,9 +11,8 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lincompressibleTransportModels \
-    -lincompressibleTurbulenceModel \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lfiniteVolume \
     -lmeshTools \
     -lfvOptions \
diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/Make/options b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/Make/options
index 6772c7f35a6..df44bd78a00 100644
--- a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/Make/options
+++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/Make/options
@@ -1,7 +1,8 @@
 EXE_INC = \
     -I.. \
     -I../../interFoam/interDyMFoam \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
@@ -14,9 +15,8 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lincompressibleTransportModels \
-    -lincompressibleTurbulenceModel \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lfiniteVolume \
     -ldynamicMesh \
     -ldynamicFvMesh \
diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/potentialFreeSurfaceDyMFoam.C b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/potentialFreeSurfaceDyMFoam.C
index d44f3d2f015..cf0c1af3e30 100644
--- a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/potentialFreeSurfaceDyMFoam.C
+++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/potentialFreeSurfaceDyMFoam.C
@@ -40,7 +40,7 @@ Description
 #include "fvCFD.H"
 #include "dynamicFvMesh.H"
 #include "singlePhaseTransportModel.H"
-#include "turbulenceModel.H"
+#include "turbulentTransportModel.H"
 #include "pimpleControl.H"
 #include "fvIOoptionList.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C
index 9cfe6f99e0f..4f4239890e6 100644
--- a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C
+++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C
@@ -36,7 +36,7 @@ Description
 
 #include "fvCFD.H"
 #include "singlePhaseTransportModel.H"
-#include "turbulenceModel.H"
+#include "turbulentTransportModel.H"
 #include "pimpleControl.H"
 #include "fvIOoptionList.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
diff --git a/applications/solvers/multiphase/twoLiquidMixingFoam/Make/options b/applications/solvers/multiphase/twoLiquidMixingFoam/Make/options
index 53ea250a164..32f8d8e6230 100644
--- a/applications/solvers/multiphase/twoLiquidMixingFoam/Make/options
+++ b/applications/solvers/multiphase/twoLiquidMixingFoam/Make/options
@@ -4,13 +4,12 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
     -ltwoPhaseMixture \
-    -lincompressibleTransportModels \
-    -lincompressibleTurbulenceModel \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lfiniteVolume
diff --git a/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C b/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C
index 7593aeab113..4d1cdd3d936 100644
--- a/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C
+++ b/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -35,7 +35,7 @@ Description
 #include "MULES.H"
 #include "subCycle.H"
 #include "incompressibleTwoPhaseMixture.H"
-#include "turbulenceModel.H"
+#include "turbulentTransportModel.H"
 #include "pimpleControl.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 
diff --git a/applications/test/PisoFoam/Make/files b/applications/test/PisoFoam/Make/files
deleted file mode 100644
index 340f8016c26..00000000000
--- a/applications/test/PisoFoam/Make/files
+++ /dev/null
@@ -1,3 +0,0 @@
-PisoFoam.C
-
-EXE = $(FOAM_USER_APPBIN)/PisoFoam
diff --git a/applications/test/PisoFoam/Make/options b/applications/test/PisoFoam/Make/options
deleted file mode 100644
index d14a833f121..00000000000
--- a/applications/test/PisoFoam/Make/options
+++ /dev/null
@@ -1,14 +0,0 @@
-EXE_INC = \
-    -I$(FOAM_SOLVERS)/incompressible/pisoFoam \
-    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
-    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
-    -I$(LIB_SRC)/transportModels \
-    -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
-    -I$(LIB_SRC)/finiteVolume/lnInclude
-
-EXE_LIBS = \
-    -lturbulenceModels \
-    -lincompressibleTurbulenceModels \
-    -lincompressibleTransportModels \
-    -lfiniteVolume \
-    -lmeshTools
diff --git a/applications/test/PisoFoam/PisoFoam.C b/applications/test/PisoFoam/PisoFoam.C
deleted file mode 100644
index e6fa770876a..00000000000
--- a/applications/test/PisoFoam/PisoFoam.C
+++ /dev/null
@@ -1,149 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Application
-    pisoFoam
-
-Description
-    Transient solver for incompressible flow.
-
-    Turbulence modelling is generic, i.e. laminar, RAS or LES may be selected.
-
-\*---------------------------------------------------------------------------*/
-
-#include "fvCFD.H"
-#include "singlePhaseTransportModel.H"
-#include "turbulenceModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-int main(int argc, char *argv[])
-{
-    #include "setRootCase.H"
-
-    #include "createTime.H"
-    #include "createMesh.H"
-    #include "createFields.H"
-    #include "initContinuityErrs.H"
-
-    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-    Info<< "\nStarting time loop\n" << endl;
-
-    while (runTime.loop())
-    {
-        Info<< "Time = " << runTime.timeName() << nl << endl;
-
-        #include "readPISOControls.H"
-        #include "CourantNo.H"
-
-        // Pressure-velocity PISO corrector
-        {
-            // Momentum predictor
-
-            fvVectorMatrix UEqn
-            (
-                fvm::ddt(U)
-              + fvm::div(phi, U)
-              + turbulence->divDevReff(U)
-            );
-
-            UEqn.relax();
-
-            if (momentumPredictor)
-            {
-                solve(UEqn == -fvc::grad(p));
-            }
-
-            // --- PISO loop
-
-            for (int corr=0; corr<nCorr; corr++)
-            {
-                volScalarField rAU(1.0/UEqn.A());
-
-                volVectorField HbyA("HbyA", U);
-                HbyA = rAU*UEqn.H();
-                surfaceScalarField phiHbyA
-                (
-                    "phiHbyA",
-                    (fvc::interpolate(HbyA) & mesh.Sf())
-                  + fvc::ddtCorr(rAU, U, phi)
-                );
-
-                adjustPhi(phiHbyA, U, p);
-
-                // Non-orthogonal pressure corrector loop
-                for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++)
-                {
-                    // Pressure corrector
-
-                    fvScalarMatrix pEqn
-                    (
-                        fvm::laplacian(rAU, p) == fvc::div(phiHbyA)
-                    );
-
-                    pEqn.setReference(pRefCell, pRefValue);
-
-                    if
-                    (
-                        corr == nCorr-1
-                     && nonOrth == nNonOrthCorr
-                    )
-                    {
-                        pEqn.solve(mesh.solver("pFinal"));
-                    }
-                    else
-                    {
-                        pEqn.solve();
-                    }
-
-                    if (nonOrth == nNonOrthCorr)
-                    {
-                        phi = phiHbyA - pEqn.flux();
-                    }
-                }
-
-                #include "continuityErrs.H"
-
-                U = HbyA - rAU*fvc::grad(p);
-                U.correctBoundaryConditions();
-            }
-        }
-
-        laminarTransport.correct();
-        turbulence->correct();
-
-        runTime.write();
-
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
-    }
-
-    Info<< "End\n" << endl;
-
-    return 0;
-}
-
-
-// ************************************************************************* //
diff --git a/applications/test/PisoFoam/turbulenceModel.H b/applications/test/PisoFoam/turbulenceModel.H
deleted file mode 100644
index 77a4ab413d6..00000000000
--- a/applications/test/PisoFoam/turbulenceModel.H
+++ /dev/null
@@ -1,9 +0,0 @@
-#include "IncompressibleTurbulenceModel.H"
-
-namespace Foam
-{
-    namespace incompressible
-    {
-        typedef IncompressibleTurbulenceModel<transportModel> turbulenceModel;
-    }
-}
diff --git a/applications/test/RhoPimpleFoam/EEqn.H b/applications/test/RhoPimpleFoam/EEqn.H
deleted file mode 100644
index 9972bdfff7b..00000000000
--- a/applications/test/RhoPimpleFoam/EEqn.H
+++ /dev/null
@@ -1,33 +0,0 @@
-{
-    volScalarField& he = thermo.he();
-
-    fvScalarMatrix EEqn
-    (
-        fvm::ddt(rho, he) + fvm::div(phi, he)
-      + fvc::ddt(rho, K) + fvc::div(phi, K)
-      + (
-            he.name() == "e"
-          ? fvc::div
-            (
-                fvc::absolute(phi/fvc::interpolate(rho), U),
-                p,
-                "div(phiv,p)"
-            )
-          : -dpdt
-        )
-      //- fvm::laplacian(turbulence->alphaEff(), he)
-      - fvm::laplacian(turbulence->muEff(), he)
-     ==
-        fvOptions(rho, he)
-    );
-
-    EEqn.relax();
-
-    fvOptions.constrain(EEqn);
-
-    EEqn.solve();
-
-    fvOptions.correct(he);
-
-    thermo.correct();
-}
diff --git a/applications/test/RhoPimpleFoam/Make/files b/applications/test/RhoPimpleFoam/Make/files
deleted file mode 100644
index 087a67d2136..00000000000
--- a/applications/test/RhoPimpleFoam/Make/files
+++ /dev/null
@@ -1,3 +0,0 @@
-rhoPimpleFoam.C
-
-EXE = $(FOAM_USER_APPBIN)/RhoPimpleFoam
diff --git a/applications/test/RhoPimpleFoam/Make/options b/applications/test/RhoPimpleFoam/Make/options
deleted file mode 100644
index f8879e9ab5a..00000000000
--- a/applications/test/RhoPimpleFoam/Make/options
+++ /dev/null
@@ -1,21 +0,0 @@
-EXE_INC = \
-    -I$(FOAM_SOLVERS)/compressible/rhoPimpleFoam \
-    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
-    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
-    -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-    -I$(LIB_SRC)/finiteVolume/cfdTools \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/sampling/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude
-
-EXE_LIBS = \
-    -lfluidThermophysicalModels \
-    -lspecie \
-    -lturbulenceModels \
-    -lcompressibleTurbulenceModels \
-    -lincompressibleTransportModels \
-    -lfiniteVolume \
-    -lmeshTools \
-    -lsampling \
-    -lfvOptions
diff --git a/applications/test/RhoPimpleFoam/rhoPimpleFoam.C b/applications/test/RhoPimpleFoam/rhoPimpleFoam.C
deleted file mode 100644
index a73e90e27d2..00000000000
--- a/applications/test/RhoPimpleFoam/rhoPimpleFoam.C
+++ /dev/null
@@ -1,107 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Application
-    rhoPimpleFoam
-
-Description
-    Transient solver for laminar or turbulent flow of compressible fluids
-    for HVAC and similar applications.
-
-    Uses the flexible PIMPLE (PISO-SIMPLE) solution for time-resolved and
-    pseudo-transient simulations.
-
-\*---------------------------------------------------------------------------*/
-
-#include "fvCFD.H"
-#include "psiThermo.H"
-#include "turbulenceModel.H"
-#include "bound.H"
-#include "pimpleControl.H"
-#include "fvIOoptionList.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-int main(int argc, char *argv[])
-{
-    #include "setRootCase.H"
-    #include "createTime.H"
-    #include "createMesh.H"
-
-    pimpleControl pimple(mesh);
-
-    #include "createFields.H"
-    #include "createFvOptions.H"
-    #include "initContinuityErrs.H"
-
-    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-    Info<< "\nStarting time loop\n" << endl;
-
-    while (runTime.run())
-    {
-        #include "readTimeControls.H"
-        #include "compressibleCourantNo.H"
-        #include "setDeltaT.H"
-
-        runTime++;
-
-        Info<< "Time = " << runTime.timeName() << nl << endl;
-
-        if (pimple.nCorrPIMPLE() <= 1)
-        {
-            #include "rhoEqn.H"
-        }
-
-        // --- Pressure-velocity PIMPLE corrector loop
-        while (pimple.loop())
-        {
-            #include "UEqn.H"
-            #include "EEqn.H"
-
-            // --- Pressure corrector loop
-            while (pimple.correct())
-            {
-                #include "pEqn.H"
-            }
-
-            if (pimple.turbCorr())
-            {
-                turbulence->correct();
-            }
-        }
-
-        runTime.write();
-
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
-    }
-
-    Info<< "End\n" << endl;
-
-    return 0;
-}
-
-
-// ************************************************************************* //
diff --git a/applications/test/RhoPimpleFoam/turbulenceModel.H b/applications/test/RhoPimpleFoam/turbulenceModel.H
deleted file mode 100644
index 23547aa0c52..00000000000
--- a/applications/test/RhoPimpleFoam/turbulenceModel.H
+++ /dev/null
@@ -1,9 +0,0 @@
-#include "CompressibleTurbulenceModel.H"
-
-namespace Foam
-{
-    namespace compressible
-    {
-        typedef CompressibleTurbulenceModel<fluidThermo> turbulenceModel;
-    }
-}
diff --git a/applications/utilities/mesh/advanced/PDRMesh/Make/options b/applications/utilities/mesh/advanced/PDRMesh/Make/options
index 4ce2e001eaa..9544389ab3c 100644
--- a/applications/utilities/mesh/advanced/PDRMesh/Make/options
+++ b/applications/utilities/mesh/advanced/PDRMesh/Make/options
@@ -4,7 +4,9 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
+    -lfluidThermophysicalModels \
     -lmeshTools \
     -ldynamicMesh \
-    -lfiniteVolume \
-    -lcompressibleRASModels
+    -lfiniteVolume
diff --git a/applications/utilities/miscellaneous/foamDebugSwitches/Make/options b/applications/utilities/miscellaneous/foamDebugSwitches/Make/options
index 43f0c24cb53..23e78b6bf53 100644
--- a/applications/utilities/miscellaneous/foamDebugSwitches/Make/options
+++ b/applications/utilities/miscellaneous/foamDebugSwitches/Make/options
@@ -6,9 +6,7 @@ EXE_LIBS = \
     -lblockMesh \
     -lchemistryModel \
     -lcoalCombustion \
-    -lcompressibleLESModels \
-    -lcompressibleRASModels \
-    -lcompressibleTurbulenceModel \
+    -lcompressibleTurbulenceModels \
     -lconversion \
     -ldecompositionMethods \
     -ldistributed \
@@ -25,27 +23,21 @@ EXE_LIBS = \
     -lforces \
     -lfvMotionSolvers \
     -lgenericPatchFields \
-    -lincompressibleLESModels \
-    -lincompressibleRASModels \
     -lincompressibleTransportModels \
-    -lincompressibleTurbulenceModel \
+    -lincompressibleTurbulenceModels \
     -linterfaceProperties \
     -lIOFunctionObjects \
     -ljobControl \
     -llagrangian \
     -llagrangianIntermediate \
     -llaminarFlameSpeedModels \
-    -lLESdeltas \
-    -lLESfilters \
     -lliquidMixtureProperties \
     -lliquidProperties \
     -lmeshTools \
     -lmolecularMeasurements \
     -lmolecule \
-/*    -lmultiphaseInterFoam  */ \
     -lODE \
     -lOpenFOAM \
-/*    -lphaseModel  */ \
     -lpotential \
     -lradiationModels \
     -lrandomProcesses \
@@ -63,5 +55,6 @@ EXE_LIBS = \
     -lthermophysicalFunctions \
     -ltopoChangerFvMesh \
     -ltriSurface \
+    -lturbulenceModels \
     -ltwoPhaseProperties \
     -lutilityFunctionObjects
diff --git a/applications/utilities/miscellaneous/foamHelp/Make/options b/applications/utilities/miscellaneous/foamHelp/Make/options
index 41ca9e9b573..8191b8b00dd 100644
--- a/applications/utilities/miscellaneous/foamHelp/Make/options
+++ b/applications/utilities/miscellaneous/foamHelp/Make/options
@@ -5,11 +5,8 @@ EXE_INC = \
 EXE_LIBS = \
     -lhelpTypes \
     -lfiniteVolume \
-    -lincompressibleTurbulenceModel \
-    -lcompressibleTurbulenceModel \
-    -lincompressibleRASModels \
-    -lcompressibleRASModels \
-    -lincompressibleLESModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lradiationModels \
     -lfluidThermophysicalModels
diff --git a/applications/utilities/miscellaneous/foamHelp/helpTypes/Make/options b/applications/utilities/miscellaneous/foamHelp/helpTypes/Make/options
index 01b25c79aaa..b3d092f1026 100644
--- a/applications/utilities/miscellaneous/foamHelp/helpTypes/Make/options
+++ b/applications/utilities/miscellaneous/foamHelp/helpTypes/Make/options
@@ -3,11 +3,8 @@ EXE_INC = \
 
 LIB_LIBS = \
     -lfiniteVolume \
-    -lincompressibleTurbulenceModel \
-    -lcompressibleTurbulenceModel \
-    -lincompressibleRASModels \
-    -lcompressibleRASModels \
-    -lincompressibleLESModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lradiationModels \
     -lfluidThermophysicalModels
diff --git a/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/Make/options b/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/Make/options
index 012600720f3..220589ea78c 100644
--- a/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/Make/options
+++ b/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/Make/options
@@ -1,7 +1,8 @@
 EXE_INC = \
     -I$(LIB_SRC)/transportModels \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/LES/LESdeltas/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/fvOptions/lnInclude \
@@ -9,13 +10,12 @@ EXE_INC = \
     -I$(LIB_SRC)/sampling/lnInclude
 
 EXE_LIBS = \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lincompressibleTransportModels \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
     -lfluidThermophysicalModels \
     -lspecie \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
     -lfiniteVolume \
     -lfvOptions \
     -lmeshTools \
diff --git a/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/execFlowFunctionObjects.C b/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/execFlowFunctionObjects.C
index 246a36fcc60..99d7de9b956 100644
--- a/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/execFlowFunctionObjects.C
+++ b/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/execFlowFunctionObjects.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -46,13 +46,8 @@ Description
 #include "fvIOoptionList.H"
 
 #include "incompressible/singlePhaseTransportModel/singlePhaseTransportModel.H"
-
-#include "incompressible/RAS/RASModel/RASModel.H"
-#include "incompressible/LES/LESModel/LESModel.H"
-
-#include "fluidThermo.H"
-#include "compressible/RAS/RASModel/RASModel.H"
-#include "compressible/LES/LESModel/LESModel.H"
+#include "turbulentTransportModel.H"
+#include "turbulentFluidThermoModel.H"
 
 using namespace Foam;
 
diff --git a/applications/utilities/postProcessing/stressField/stressComponents/Make/options b/applications/utilities/postProcessing/stressField/stressComponents/Make/options
index d1016e9d4d6..c5c3ac8e97b 100644
--- a/applications/utilities/postProcessing/stressField/stressComponents/Make/options
+++ b/applications/utilities/postProcessing/stressField/stressComponents/Make/options
@@ -1,10 +1,8 @@
 EXE_INC = \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/RAS \
-    -I$(LIB_SRC)/transportModels
+    -I$(LIB_SRC)/transportModels \
+    -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
+    -lincompressibleTransportModels \
     -lfiniteVolume \
-    -lgenericPatchFields \
-    -lincompressibleRASModels \
-    -lincompressibleTransportModels
+    -lgenericPatchFields
diff --git a/applications/utilities/postProcessing/turbulence/R/Make/options b/applications/utilities/postProcessing/turbulence/R/Make/options
index 27b70cae0a7..fefdc6b7800 100644
--- a/applications/utilities/postProcessing/turbulence/R/Make/options
+++ b/applications/utilities/postProcessing/turbulence/R/Make/options
@@ -1,18 +1,19 @@
 EXE_INC = \
-    -I$(LIB_SRC)/meshTools/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/transportModels \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-    -I$(LIB_SRC)/finiteVolume/lnInclude
+    -I$(LIB_SRC)/finiteVolume/lnInclude \
+    -I$(LIB_SRC)/meshTools/lnInclude
 
 EXE_LIBS = \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lincompressibleTransportModels \
-    -lincompressibleRASModels \
     -lfluidThermophysicalModels \
     -lspecie \
-    -lcompressibleRASModels \
     -lfiniteVolume \
     -lgenericPatchFields \
     -lmeshTools \
diff --git a/applications/utilities/postProcessing/turbulence/R/R.C b/applications/utilities/postProcessing/turbulence/R/R.C
index 708cda72141..f487a13e548 100644
--- a/applications/utilities/postProcessing/turbulence/R/R.C
+++ b/applications/utilities/postProcessing/turbulence/R/R.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -30,11 +30,9 @@ Description
 \*---------------------------------------------------------------------------*/
 
 #include "fvCFD.H"
+#include "turbulentTransportModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "incompressible/singlePhaseTransportModel/singlePhaseTransportModel.H"
-#include "incompressible/turbulenceModel/turbulenceModel.H"
-
-#include "fluidThermo.H"
-#include "compressible/turbulenceModel/turbulenceModel.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/applications/utilities/postProcessing/turbulence/createTurbulenceFields/Make/options b/applications/utilities/postProcessing/turbulence/createTurbulenceFields/Make/options
index 88625658635..980dabb8d25 100644
--- a/applications/utilities/postProcessing/turbulence/createTurbulenceFields/Make/options
+++ b/applications/utilities/postProcessing/turbulence/createTurbulenceFields/Make/options
@@ -1,11 +1,13 @@
 EXE_INC = \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/RAS/RASModel \
+    -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
-    -lincompressibleRASModels \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lincompressibleTransportModels \
-    -lfiniteVolume \
-    -lgenericPatchFields
+    -lgenericPatchFields \
+    -lfiniteVolume
diff --git a/applications/utilities/postProcessing/turbulence/createTurbulenceFields/createTurbulenceFields.C b/applications/utilities/postProcessing/turbulence/createTurbulenceFields/createTurbulenceFields.C
index 1982b4f2428..ce074ccc547 100644
--- a/applications/utilities/postProcessing/turbulence/createTurbulenceFields/createTurbulenceFields.C
+++ b/applications/utilities/postProcessing/turbulence/createTurbulenceFields/createTurbulenceFields.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -35,8 +35,8 @@ Source files:
 \*---------------------------------------------------------------------------*/
 
 #include "fvCFD.H"
-#include "incompressible/singlePhaseTransportModel/singlePhaseTransportModel.H"
-#include "RASModel.H"
+#include "singlePhaseTransportModel.H"
+#include "turbulentTransportModel.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -133,4 +133,3 @@ int main(int argc, char *argv[])
 
 
 // ************************************************************************* //
-
diff --git a/applications/utilities/postProcessing/velocityField/Pe/Make/options b/applications/utilities/postProcessing/velocityField/Pe/Make/options
index 1d984aa9b55..09f921715f8 100644
--- a/applications/utilities/postProcessing/velocityField/Pe/Make/options
+++ b/applications/utilities/postProcessing/velocityField/Pe/Make/options
@@ -1,21 +1,21 @@
 EXE_INC = \
     -I$(LIB_SRC)/postProcessing/postCalc \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/transportModels \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/LES/LESdeltas/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude
 
 EXE_LIBS = \
     $(FOAM_LIBBIN)/postCalc.o \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lincompressibleTransportModels \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
     -lfluidThermophysicalModels \
     -lspecie \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
     -lfiniteVolume \
     -lgenericPatchFields \
     -lmeshTools
diff --git a/applications/utilities/postProcessing/velocityField/Pe/Pe.C b/applications/utilities/postProcessing/velocityField/Pe/Pe.C
index 544a1169210..e4d0833ba0a 100644
--- a/applications/utilities/postProcessing/velocityField/Pe/Pe.C
+++ b/applications/utilities/postProcessing/velocityField/Pe/Pe.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -36,12 +36,9 @@ Description
 #include "calc.H"
 #include "fvc.H"
 
+#include "turbulentTransportModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "incompressible/singlePhaseTransportModel/singlePhaseTransportModel.H"
-#include "incompressible/RAS/RASModel/RASModel.H"
-#include "incompressible/LES/LESModel/LESModel.H"
-#include "fluidThermo.H"
-#include "compressible/RAS/RASModel/RASModel.H"
-#include "compressible/LES/LESModel/LESModel.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/applications/utilities/postProcessing/wall/wallHeatFlux/Make/options b/applications/utilities/postProcessing/wall/wallHeatFlux/Make/options
index cd09f8d5b76..c1b5ad47e8d 100644
--- a/applications/utilities/postProcessing/wall/wallHeatFlux/Make/options
+++ b/applications/utilities/postProcessing/wall/wallHeatFlux/Make/options
@@ -1,6 +1,6 @@
 EXE_INC = \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
@@ -8,10 +8,8 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
-    -lLESdeltas \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lreactionThermophysicalModels \
     -lfiniteVolume \
     -lgenericPatchFields \
diff --git a/applications/utilities/postProcessing/wall/wallHeatFlux/wallHeatFlux.C b/applications/utilities/postProcessing/wall/wallHeatFlux/wallHeatFlux.C
index c45c48b35e6..8c80f0cf217 100644
--- a/applications/utilities/postProcessing/wall/wallHeatFlux/wallHeatFlux.C
+++ b/applications/utilities/postProcessing/wall/wallHeatFlux/wallHeatFlux.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -32,7 +32,7 @@ Description
 \*---------------------------------------------------------------------------*/
 
 #include "fvCFD.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "solidThermo.H"
 #include "wallFvPatch.H"
 
diff --git a/applications/utilities/postProcessing/wall/wallShearStress/Make/options b/applications/utilities/postProcessing/wall/wallShearStress/Make/options
index 240bf953ba5..3235acdec90 100644
--- a/applications/utilities/postProcessing/wall/wallShearStress/Make/options
+++ b/applications/utilities/postProcessing/wall/wallShearStress/Make/options
@@ -1,14 +1,18 @@
 EXE_INC = \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/turbulenceModels \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lincompressibleTransportModels \
-    -lincompressibleRASModels \
     -lfluidThermophysicalModels \
     -lspecie \
-    -lcompressibleRASModels \
     -lfiniteVolume \
     -lgenericPatchFields
diff --git a/applications/utilities/postProcessing/wall/wallShearStress/wallShearStress.C b/applications/utilities/postProcessing/wall/wallShearStress/wallShearStress.C
index 360f03b39c5..3cf944ea4ca 100644
--- a/applications/utilities/postProcessing/wall/wallShearStress/wallShearStress.C
+++ b/applications/utilities/postProcessing/wall/wallShearStress/wallShearStress.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -34,12 +34,9 @@ Description
 \*---------------------------------------------------------------------------*/
 
 #include "fvCFD.H"
-
+#include "turbulentTransportModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "incompressible/singlePhaseTransportModel/singlePhaseTransportModel.H"
-#include "incompressible/RAS/RASModel/RASModel.H"
-
-#include "fluidThermo.H"
-#include "compressible/RAS/RASModel/RASModel.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/applications/utilities/postProcessing/wall/yPlusLES/Make/options b/applications/utilities/postProcessing/wall/yPlusLES/Make/options
index d7446846b06..a3e31c2203c 100644
--- a/applications/utilities/postProcessing/wall/yPlusLES/Make/options
+++ b/applications/utilities/postProcessing/wall/yPlusLES/Make/options
@@ -1,13 +1,14 @@
 EXE_INC = \
-    -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/LES/LESModel \
-    -I$(LIB_SRC)/turbulenceModels/LES/LESdeltas/lnInclude \
     -I$(LIB_SRC)/transportModels \
-    -I$(LIB_SRC)/finiteVolume/lnInclude
+    -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
+    -I$(LIB_SRC)/finiteVolume/lnInclude \
+    -I$(LIB_SRC)/meshTools/lnInclude
 
 EXE_LIBS = \
-    -lincompressibleLESModels \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lincompressibleTransportModels \
     -lfiniteVolume \
     -lgenericPatchFields
diff --git a/applications/utilities/postProcessing/wall/yPlusLES/yPlusLES.C b/applications/utilities/postProcessing/wall/yPlusLES/yPlusLES.C
index e8d5f431a03..731c6ea6b51 100644
--- a/applications/utilities/postProcessing/wall/yPlusLES/yPlusLES.C
+++ b/applications/utilities/postProcessing/wall/yPlusLES/yPlusLES.C
@@ -31,8 +31,10 @@ Description
 \*---------------------------------------------------------------------------*/
 
 #include "fvCFD.H"
-#include "incompressible/singlePhaseTransportModel/singlePhaseTransportModel.H"
-#include "LESModel.H"
+#include "singlePhaseTransportModel.H"
+#include "turbulentTransportModel.H"
+#include "nutWallFunctionFvPatchScalarField.H"
+
 #include "nearWallDist.H"
 #include "wallFvPatch.H"
 
@@ -50,7 +52,7 @@ int main(int argc, char *argv[])
     {
         runTime.setTime(timeDirs[timeI], timeI);
         Info<< "Time = " << runTime.timeName() << endl;
-        fvMesh::readUpdateState state = mesh.readUpdate();
+        mesh.readUpdate();
 
         volScalarField yPlus
         (
diff --git a/applications/utilities/postProcessing/wall/yPlusRAS/Make/options b/applications/utilities/postProcessing/wall/yPlusRAS/Make/options
index 27b70cae0a7..cacf4eb319a 100644
--- a/applications/utilities/postProcessing/wall/yPlusRAS/Make/options
+++ b/applications/utilities/postProcessing/wall/yPlusRAS/Make/options
@@ -1,18 +1,20 @@
 EXE_INC = \
-    -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/transportModels \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions \
+    -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-    -I$(LIB_SRC)/finiteVolume/lnInclude
+    -I$(LIB_SRC)/finiteVolume/lnInclude \
+    -I$(LIB_SRC)/meshTools/lnInclude
 
 EXE_LIBS = \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lincompressibleTransportModels \
-    -lincompressibleRASModels \
     -lfluidThermophysicalModels \
     -lspecie \
-    -lcompressibleRASModels \
     -lfiniteVolume \
     -lgenericPatchFields \
     -lmeshTools \
diff --git a/applications/utilities/postProcessing/wall/yPlusRAS/yPlusRAS.C b/applications/utilities/postProcessing/wall/yPlusRAS/yPlusRAS.C
index c66f8837391..dde81571e73 100644
--- a/applications/utilities/postProcessing/wall/yPlusRAS/yPlusRAS.C
+++ b/applications/utilities/postProcessing/wall/yPlusRAS/yPlusRAS.C
@@ -34,14 +34,10 @@ Description
 \*---------------------------------------------------------------------------*/
 
 #include "fvCFD.H"
-
-#include "incompressible/singlePhaseTransportModel/singlePhaseTransportModel.H"
-#include "incompressible/RAS/RASModel/RASModel.H"
-#include "nutWallFunction/nutWallFunctionFvPatchScalarField.H"
-
-#include "fluidThermo.H"
-#include "compressible/RAS/RASModel/RASModel.H"
-#include "mutWallFunction/mutWallFunctionFvPatchScalarField.H"
+#include "singlePhaseTransportModel.H"
+#include "turbulentTransportModel.H"
+#include "turbulentFluidThermoModel.H"
+#include "nutWallFunctionFvPatchScalarField.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -53,8 +49,7 @@ void calcIncompressibleYPlus
     volScalarField& yPlus
 )
 {
-    typedef incompressible::nutWallFunctionFvPatchScalarField
-        wallFunctionPatchField;
+    typedef nutWallFunctionFvPatchScalarField wallFunctionPatchField;
 
     #include "createPhi.H"
 
@@ -105,8 +100,7 @@ void calcCompressibleYPlus
     volScalarField& yPlus
 )
 {
-    typedef compressible::mutWallFunctionFvPatchScalarField
-        wallFunctionPatchField;
+    typedef nutWallFunctionFvPatchScalarField wallFunctionPatchField;
 
     IOobject rhoHeader
     (
@@ -145,31 +139,31 @@ void calcCompressibleYPlus
         )
     );
 
-    const volScalarField::GeometricBoundaryField mutPatches =
-        RASModel->mut()().boundaryField();
+    const volScalarField::GeometricBoundaryField nutPatches =
+        RASModel->nut()().boundaryField();
 
-    bool foundMutPatch = false;
-    forAll(mutPatches, patchi)
+    bool foundNutPatch = false;
+    forAll(nutPatches, patchi)
     {
-        if (isA<wallFunctionPatchField>(mutPatches[patchi]))
+        if (isA<wallFunctionPatchField>(nutPatches[patchi]))
         {
-            foundMutPatch = true;
+            foundNutPatch = true;
 
-            const wallFunctionPatchField& mutPw =
+            const wallFunctionPatchField& nutPw =
                 dynamic_cast<const wallFunctionPatchField&>
-                    (mutPatches[patchi]);
+                    (nutPatches[patchi]);
 
-            yPlus.boundaryField()[patchi] = mutPw.yPlus();
+            yPlus.boundaryField()[patchi] = nutPw.yPlus();
             const scalarField& Yp = yPlus.boundaryField()[patchi];
 
             Info<< "Patch " << patchi
-                << " named " << mutPw.patch().name()
+                << " named " << nutPw.patch().name()
                 << " y+ : min: " << gMin(Yp) << " max: " << gMax(Yp)
                 << " average: " << gAverage(Yp) << nl << endl;
         }
     }
 
-    if (!foundMutPatch)
+    if (!foundNutPatch)
     {
         Info<< "    no " << wallFunctionPatchField::typeName << " patches"
             << endl;
@@ -200,7 +194,7 @@ int main(int argc, char *argv[])
     {
         runTime.setTime(timeDirs[timeI], timeI);
         Info<< "Time = " << runTime.timeName() << endl;
-        fvMesh::readUpdateState state = mesh.readUpdate();
+        mesh.readUpdate();
 
         volScalarField yPlus
         (
diff --git a/applications/utilities/preProcessing/applyBoundaryLayer/Make/options b/applications/utilities/preProcessing/applyBoundaryLayer/Make/options
index e4ea36c3cf0..9778b15c09d 100644
--- a/applications/utilities/preProcessing/applyBoundaryLayer/Make/options
+++ b/applications/utilities/preProcessing/applyBoundaryLayer/Make/options
@@ -1,15 +1,15 @@
 EXE_INC = \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/RAS/RASModel \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
+    -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
     -lincompressibleTransportModels \
     -lgenericPatchFields \
+    -lfiniteVolume \
     -lmeshTools
diff --git a/applications/utilities/preProcessing/applyBoundaryLayer/applyBoundaryLayer.C b/applications/utilities/preProcessing/applyBoundaryLayer/applyBoundaryLayer.C
index 18fa6a61ef6..4f2a30fb5f4 100644
--- a/applications/utilities/preProcessing/applyBoundaryLayer/applyBoundaryLayer.C
+++ b/applications/utilities/preProcessing/applyBoundaryLayer/applyBoundaryLayer.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -37,7 +37,7 @@ Description
 
 #include "fvCFD.H"
 #include "singlePhaseTransportModel.H"
-#include "RASModel.H"
+#include "turbulentTransportModel.H"
 #include "wallDist.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/utilities/preProcessing/applyWallFunctionBoundaryConditions/Make/files b/applications/utilities/preProcessing/applyWallFunctionBoundaryConditions/Make/files
deleted file mode 100644
index 41d3c8b6a54..00000000000
--- a/applications/utilities/preProcessing/applyWallFunctionBoundaryConditions/Make/files
+++ /dev/null
@@ -1,3 +0,0 @@
-applyWallFunctionBoundaryConditions.C
-
-EXE = $(FOAM_APPBIN)/applyWallFunctionBoundaryConditions
diff --git a/applications/utilities/preProcessing/applyWallFunctionBoundaryConditions/Make/options b/applications/utilities/preProcessing/applyWallFunctionBoundaryConditions/Make/options
deleted file mode 100644
index 60692ce6739..00000000000
--- a/applications/utilities/preProcessing/applyWallFunctionBoundaryConditions/Make/options
+++ /dev/null
@@ -1,13 +0,0 @@
-EXE_INC = \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/RAS/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/RAS/lnInclude
-
-EXE_LIBS = \
-    -lincompressibleRASModels \
-    -lfluidThermophysicalModels \
-    -lspecie \
-    -lcompressibleRASModels \
-    -lfiniteVolume \
-    -lgenericPatchFields
diff --git a/applications/utilities/preProcessing/applyWallFunctionBoundaryConditions/applyWallFunctionBoundaryConditions.C b/applications/utilities/preProcessing/applyWallFunctionBoundaryConditions/applyWallFunctionBoundaryConditions.C
deleted file mode 100644
index 95222a4a7ab..00000000000
--- a/applications/utilities/preProcessing/applyWallFunctionBoundaryConditions/applyWallFunctionBoundaryConditions.C
+++ /dev/null
@@ -1,363 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Application
-    applyWallFunctionBounaryConditions
-
-Description
-    Updates OpenFOAM RAS cases to use the new (v1.6) wall function framework.
-
-    Attempts to determine whether case is compressible or incompressible, or
-    can be supplied with -compressible command line argument.
-
-\*---------------------------------------------------------------------------*/
-
-#include "argList.H"
-#include "fvMesh.H"
-#include "Time.H"
-#include "volFields.H"
-#include "surfaceFields.H"
-
-#include "wallPolyPatch.H"
-
-#include "incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.H"
-#include "incompressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.H"
-#include "incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkWallFunction/nutkWallFunctionFvPatchScalarField.H"
-#include "incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H"
-
-#include "compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.H"
-#include "compressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.H"
-#include "compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutkWallFunction/mutkWallFunctionFvPatchScalarField.H"
-#include "compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H"
-
-using namespace Foam;
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-bool caseIsCompressible(const fvMesh& mesh)
-{
-    // Attempt flux field
-    IOobject phiHeader
-    (
-        "phi",
-        mesh.time().timeName(),
-        mesh,
-        IOobject::MUST_READ,
-        IOobject::NO_WRITE
-    );
-
-    if (phiHeader.headerOk())
-    {
-        surfaceScalarField phi(phiHeader, mesh);
-        if (phi.dimensions() == dimDensity*dimVelocity*dimArea)
-        {
-            return true;
-        }
-    }
-
-    // Attempt density field
-    IOobject rhoHeader
-    (
-        "rho",
-        mesh.time().timeName(),
-        mesh,
-        IOobject::MUST_READ,
-        IOobject::NO_WRITE
-    );
-
-    if (rhoHeader.headerOk())
-    {
-        volScalarField rho(rhoHeader, mesh);
-        if (rho.dimensions() == dimDensity)
-        {
-            return true;
-        }
-    }
-
-    // Attempt pressure field
-    IOobject pHeader
-    (
-        "p",
-        mesh.time().timeName(),
-        mesh,
-        IOobject::MUST_READ,
-        IOobject::NO_WRITE
-    );
-
-    if (pHeader.headerOk())
-    {
-        volScalarField p(pHeader, mesh);
-        if (p.dimensions() == dimMass/sqr(dimTime)/dimLength)
-        {
-            return true;
-        }
-    }
-
-    // If none of the above are true, assume that the case is incompressible
-    return false;
-}
-
-
-void createVolScalarField
-(
-    const fvMesh& mesh,
-    const word& fieldName,
-    const dimensionSet& dims
-)
-{
-    IOobject fieldHeader
-    (
-        fieldName,
-        mesh.time().timeName(),
-        mesh,
-        IOobject::MUST_READ,
-        IOobject::NO_WRITE
-    );
-
-    if (!fieldHeader.headerOk())
-    {
-        Info<< "Creating field " << fieldName << nl << endl;
-
-        volScalarField field
-        (
-            IOobject
-            (
-                fieldName,
-                mesh.time().timeName(),
-                mesh,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            mesh,
-            dimensionedScalar("zero", dims, 0.0)
-        );
-
-        field.write();
-    }
-}
-
-
-void replaceBoundaryType
-(
-    const fvMesh& mesh,
-    const word& fieldName,
-    const word& boundaryType,
-    const string& boundaryValue
-)
-{
-    IOobject header
-    (
-        fieldName,
-        mesh.time().timeName(),
-        mesh,
-        IOobject::MUST_READ,
-        IOobject::NO_WRITE
-    );
-
-    if (!header.headerOk())
-    {
-        return;
-    }
-
-    Info<< "Updating boundary types for field " << header.name() << endl;
-
-    const word oldTypeName = IOdictionary::typeName;
-    const_cast<word&>(IOdictionary::typeName) = word::null;
-
-    IOdictionary dict(header);
-
-    const_cast<word&>(IOdictionary::typeName) = oldTypeName;
-    const_cast<word&>(dict.type()) = dict.headerClassName();
-
-    // Make a backup of the old file
-    if (mvBak(dict.objectPath(), "old"))
-    {
-        Info<< "    Backup original file to "
-            << (dict.objectPath() + ".old") << endl;
-    }
-
-    // Loop through boundary patches and update
-    const polyBoundaryMesh& bMesh = mesh.boundaryMesh();
-    dictionary& boundaryDict = dict.subDict("boundaryField");
-    forAll(bMesh, patchI)
-    {
-        if (isA<wallPolyPatch>(bMesh[patchI]))
-        {
-            word patchName = bMesh[patchI].name();
-            dictionary& oldPatch = boundaryDict.subDict(patchName);
-
-            dictionary newPatch(dictionary::null);
-            newPatch.add("type", boundaryType);
-            newPatch.add("value", ("uniform " + boundaryValue).c_str());
-
-            oldPatch = newPatch;
-        }
-    }
-
-    Info<< "    writing updated " << dict.name() << nl << endl;
-    dict.regIOobject::write();
-}
-
-
-void updateCompressibleCase(const fvMesh& mesh)
-{
-    Info<< "Case treated as compressible" << nl << endl;
-    createVolScalarField
-    (
-        mesh,
-        "mut",
-        dimArea/dimTime*dimDensity
-    );
-    replaceBoundaryType
-    (
-        mesh,
-        "mut",
-        compressible::mutkWallFunctionFvPatchScalarField::typeName,
-        "0"
-    );
-    replaceBoundaryType
-    (
-        mesh,
-        "epsilon",
-        compressible::epsilonWallFunctionFvPatchScalarField::typeName,
-        "0"
-    );
-    replaceBoundaryType
-    (
-        mesh,
-        "omega",
-        compressible::omegaWallFunctionFvPatchScalarField::typeName,
-        "0"
-    );
-    replaceBoundaryType
-    (
-        mesh,
-        "k",
-        compressible::kqRWallFunctionFvPatchField<scalar>::typeName,
-        "0"
-    );
-    replaceBoundaryType
-    (
-        mesh,
-        "q",
-        compressible::kqRWallFunctionFvPatchField<scalar>::typeName,
-        "0"
-    );
-    replaceBoundaryType
-    (
-        mesh,
-        "R",
-        compressible::kqRWallFunctionFvPatchField<symmTensor>::
-            typeName,
-        "(0 0 0 0 0 0)"
-    );
-}
-
-
-void updateIncompressibleCase(const fvMesh& mesh)
-{
-    Info<< "Case treated as incompressible" << nl << endl;
-    createVolScalarField(mesh, "nut", dimArea/dimTime);
-
-    replaceBoundaryType
-    (
-        mesh,
-        "nut",
-        incompressible::nutkWallFunctionFvPatchScalarField::typeName,
-        "0"
-    );
-    replaceBoundaryType
-    (
-        mesh,
-        "epsilon",
-        incompressible::epsilonWallFunctionFvPatchScalarField::
-            typeName,
-        "0"
-    );
-    replaceBoundaryType
-    (
-        mesh,
-        "omega",
-        incompressible::omegaWallFunctionFvPatchScalarField::
-            typeName,
-        "0"
-    );
-    replaceBoundaryType
-    (
-        mesh,
-        "k",
-        incompressible::kqRWallFunctionFvPatchField<scalar>::typeName,
-        "0"
-    );
-    replaceBoundaryType
-    (
-        mesh,
-        "q",
-        incompressible::kqRWallFunctionFvPatchField<scalar>::typeName,
-        "0"
-    );
-    replaceBoundaryType
-    (
-        mesh,
-        "R",
-        incompressible::kqRWallFunctionFvPatchField<symmTensor>::typeName,
-        "(0 0 0 0 0 0)"
-    );
-}
-
-
-int main(int argc, char *argv[])
-{
-    #include "addTimeOptions.H"
-    argList::addBoolOption
-    (
-        "compressible",
-        "force use of compressible wall functions. Default is auto-detect."
-    );
-
-    #include "setRootCase.H"
-    #include "createTime.H"
-    #include "createMesh.H"
-
-    const bool compressible = args.optionFound("compressible");
-
-    Info<< "Updating turbulence fields to operate using new run time "
-        << "selectable" << nl << "wall functions"
-        << nl << endl;
-
-    if (compressible || caseIsCompressible(mesh))
-    {
-        updateCompressibleCase(mesh);
-    }
-    else
-    {
-        updateIncompressibleCase(mesh);
-    }
-
-    Info<< "End\n" << endl;
-
-    return 0;
-}
-
-
-// ************************************************************************* //
diff --git a/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/Make/options b/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/Make/options
index a5b0bb57772..c719bbebe0a 100644
--- a/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/Make/options
+++ b/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/Make/options
@@ -3,4 +3,5 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lfiniteVolume \
-    -lcompressibleTurbulenceModel
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels
diff --git a/applications/utilities/preProcessing/faceAgglomerate/Make/options b/applications/utilities/preProcessing/faceAgglomerate/Make/options
index c2b07c70247..3facebbe198 100644
--- a/applications/utilities/preProcessing/faceAgglomerate/Make/options
+++ b/applications/utilities/preProcessing/faceAgglomerate/Make/options
@@ -4,7 +4,6 @@ EXE_INC = \
     -I$(LIB_SRC)/fvAgglomerationMethods/pairPatchAgglomeration/lnInclude
 
 EXE_LIBS = \
-    -lOpenFOAM \
     -lfiniteVolume \
     -lpairPatchAgglomeration \
     -ltriSurface \
diff --git a/applications/utilities/preProcessing/viewFactorsGen/Make/options b/applications/utilities/preProcessing/viewFactorsGen/Make/options
index b0dbd4000fe..89eb06d829f 100644
--- a/applications/utilities/preProcessing/viewFactorsGen/Make/options
+++ b/applications/utilities/preProcessing/viewFactorsGen/Make/options
@@ -8,7 +8,6 @@ EXE_INC = \
 EXE_LIBS = \
     -lmeshTools \
     -lfiniteVolume \
-    -lOpenFOAM \
     -lmeshTools \
     -ltriSurface \
     -ldistributed \
diff --git a/src/Allwmake b/src/Allwmake
index 925b3f211ec..c0ea041c37a 100755
--- a/src/Allwmake
+++ b/src/Allwmake
@@ -61,7 +61,6 @@ wmake $targetType randomProcesses
 
 transportModels/Allwmake $targetType $*
 thermophysicalModels/Allwmake $targetType $*
-turbulenceModels/Allwmake $targetType $*
 TurbulenceModels/Allwmake $targetType $*
 wmake $targetType combustionModels
 regionModels/Allwmake $targetType $*
diff --git a/src/OpenFOAM/global/constants/physicoChemical/physicoChemicalConstants.H b/src/OpenFOAM/global/constants/physicoChemical/physicoChemicalConstants.H
index 40cee9b5f3d..93c7e16ac1f 100644
--- a/src/OpenFOAM/global/constants/physicoChemical/physicoChemicalConstants.H
+++ b/src/OpenFOAM/global/constants/physicoChemical/physicoChemicalConstants.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/TurbulenceModels/compressible/CompressibleTurbulenceModel/CompressibleTurbulenceModel.C b/src/TurbulenceModels/compressible/CompressibleTurbulenceModel/CompressibleTurbulenceModel.C
index 97ecb28ec42..92b7aa226e5 100644
--- a/src/TurbulenceModels/compressible/CompressibleTurbulenceModel/CompressibleTurbulenceModel.C
+++ b/src/TurbulenceModels/compressible/CompressibleTurbulenceModel/CompressibleTurbulenceModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -31,6 +31,7 @@ template<class TransportModel>
 Foam::CompressibleTurbulenceModel<TransportModel>::
 CompressibleTurbulenceModel
 (
+    const word& type,
     const geometricOneField& alpha,
     const volScalarField& rho,
     const volVectorField& U,
diff --git a/src/TurbulenceModels/compressible/CompressibleTurbulenceModel/CompressibleTurbulenceModel.H b/src/TurbulenceModels/compressible/CompressibleTurbulenceModel/CompressibleTurbulenceModel.H
index 38ba5f90fdc..0a9cdfe58b8 100644
--- a/src/TurbulenceModels/compressible/CompressibleTurbulenceModel/CompressibleTurbulenceModel.H
+++ b/src/TurbulenceModels/compressible/CompressibleTurbulenceModel/CompressibleTurbulenceModel.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -72,6 +72,7 @@ public:
         //- Construct
         CompressibleTurbulenceModel
         (
+            const word& type,
             const geometricOneField& alpha,
             const volScalarField& rho,
             const volVectorField& U,
diff --git a/src/TurbulenceModels/compressible/Make/files b/src/TurbulenceModels/compressible/Make/files
index c4107f10501..2f6e9f1dd35 100644
--- a/src/TurbulenceModels/compressible/Make/files
+++ b/src/TurbulenceModels/compressible/Make/files
@@ -1,4 +1,19 @@
 compressibleTurbulenceModel.C
-compressibleTurbulenceModels.C
+turbulentFluidThermoModels/turbulentFluidThermoModels.C
+
+BCs = turbulentFluidThermoModels/derivedFvPatchFields
+$(BCs)/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C
+$(BCs)/temperatureCoupledBase/temperatureCoupledBase.C
+$(BCs)/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C
+$(BCs)/thermalBaffle1D/thermalBaffle1DFvPatchScalarFields.C
+$(BCs)/totalFlowRateAdvectiveDiffusive/totalFlowRateAdvectiveDiffusiveFvPatchScalarField.C
+$(BCs)/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C
+$(BCs)/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C
+$(BCs)/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C
+$(BCs)/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C
+$(BCs)/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.C
+
+turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.C
+turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
 
 LIB = $(FOAM_LIBBIN)/libcompressibleTurbulenceModels
diff --git a/src/TurbulenceModels/compressible/Make/options b/src/TurbulenceModels/compressible/Make/options
index 55388cb598c..1d4b638c6a8 100644
--- a/src/TurbulenceModels/compressible/Make/options
+++ b/src/TurbulenceModels/compressible/Make/options
@@ -4,11 +4,15 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-    -I$(LIB_SRC)/thermophysicalModels/solidThermo/lnInclude
+    -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
+    -I$(LIB_SRC)/thermophysicalModels/solidThermo/lnInclude \
+    -I$(LIB_SRC)/thermophysicalModels/solidSpecie/lnInclude
 
 LIB_LIBS = \
     -lfiniteVolume \
     -lmeshTools \
     -lfluidThermophysicalModels \
+    -lsolidThermo \
+    -lsolidSpecie \
     -lturbulenceModels \
     -lspecie
diff --git a/src/TurbulenceModels/compressible/SpecificCompressibleTurbulenceModel/SpecificCompressibleTurbulenceModel.C b/src/TurbulenceModels/compressible/SpecificCompressibleTurbulenceModel/SpecificCompressibleTurbulenceModel.C
new file mode 100644
index 00000000000..b7430341b2d
--- /dev/null
+++ b/src/TurbulenceModels/compressible/SpecificCompressibleTurbulenceModel/SpecificCompressibleTurbulenceModel.C
@@ -0,0 +1,99 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "SpecificCompressibleTurbulenceModel.H"
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+template<class BasicCompressibleTurbulenceModel>
+Foam::SpecificCompressibleTurbulenceModel
+<
+    BasicCompressibleTurbulenceModel
+>::SpecificCompressibleTurbulenceModel
+(
+    const word& type,
+    const geometricOneField& alpha,
+    const volScalarField& rho,
+    const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
+    const surfaceScalarField& phi,
+    const transportModel& transport,
+    const word& propertiesName
+)
+:
+    BasicCompressibleTurbulenceModel
+    (
+        type,
+        alpha,
+        rho,
+        U,
+        alphaRhoPhi,
+        phi,
+        transport,
+        propertiesName
+    )
+{}
+
+
+// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
+
+template<class BasicCompressibleTurbulenceModel>
+Foam::autoPtr
+<
+    Foam::SpecificCompressibleTurbulenceModel
+    <
+        BasicCompressibleTurbulenceModel
+    >
+>
+Foam::SpecificCompressibleTurbulenceModel
+<
+    BasicCompressibleTurbulenceModel
+>::New
+(
+    const volScalarField& rho,
+    const volVectorField& U,
+    const surfaceScalarField& phi,
+    const transportModel& transport,
+    const word& propertiesName
+)
+{
+    return autoPtr<SpecificCompressibleTurbulenceModel>
+    (
+        static_cast<SpecificCompressibleTurbulenceModel*>(
+        BasicCompressibleTurbulenceModel::New
+        (
+            geometricOneField(),
+            rho,
+            U,
+            phi,
+            phi,
+            transport,
+            propertiesName
+        ).ptr())
+    );
+}
+
+
+// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/LES/DESModel/DESModel.H b/src/TurbulenceModels/compressible/SpecificCompressibleTurbulenceModel/SpecificCompressibleTurbulenceModel.H
similarity index 56%
rename from src/turbulenceModels/compressible/LES/DESModel/DESModel.H
rename to src/TurbulenceModels/compressible/SpecificCompressibleTurbulenceModel/SpecificCompressibleTurbulenceModel.H
index bf0532e03ae..d8cacd876b3 100644
--- a/src/turbulenceModels/compressible/LES/DESModel/DESModel.H
+++ b/src/TurbulenceModels/compressible/SpecificCompressibleTurbulenceModel/SpecificCompressibleTurbulenceModel.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -22,93 +22,89 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::compressible::DESModel
-
-Group
-    grpCmpDESTurbulence
+    Foam::SpecificCompressibleTurbulenceModel
 
 Description
-    Extension of LES models to provide an interface for Detached Eddy
-    Simulation turbulence models
-
-SeeAlso
-    Foam::LESModel
+    Templated abstract base class for specific (RAS/LES) compressible
+    turbulence models
 
 SourceFiles
-    DESModel.C
+    SpecificCompressibleTurbulenceModel.C
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef compressibleDESModel_H
-#define compressibleDESModel_H
-
-// note: use full(er) path so that derived utilities can bring in
-// incompressible and compressible variants
+#ifndef SpecificCompressibleTurbulenceModel_H
+#define SpecificCompressibleTurbulenceModel_H
 
-#include "compressible/LES/LESModel/LESModel.H"
+#include "CompressibleTurbulenceModel.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
-namespace compressible
-{
 
 /*---------------------------------------------------------------------------*\
-                          Class DESModel Declaration
+             Class SpecificCompressibleTurbulenceModel Declaration
 \*---------------------------------------------------------------------------*/
 
-class DESModel
+template<class BasicCompressibleTurbulenceModel>
+class SpecificCompressibleTurbulenceModel
 :
-    public LESModel
+    public BasicCompressibleTurbulenceModel
 {
 
-private:
-
-    // Private Member Functions
-
-        //- Disallow default bitwise copy construct
-        DESModel(const DESModel&);
-
-        //- Disallow default bitwise assignment
-        DESModel& operator=(const DESModel&);
-
-
 public:
 
+    typedef typename BasicCompressibleTurbulenceModel::transportModel
+        transportModel;
+
     // Constructors
 
         //- Construct from components
-        DESModel
+        SpecificCompressibleTurbulenceModel
         (
             const word& type,
+            const geometricOneField& alpha,
             const volScalarField& rho,
             const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
             const surfaceScalarField& phi,
-            const fluidThermo& thermoPhysicalModel,
-            const word& turbulenceModelName
+            const transportModel& transport,
+            const word& propertiesName
         );
 
 
     //- Destructor
-    virtual ~DESModel()
+    virtual ~SpecificCompressibleTurbulenceModel()
     {}
 
 
-    // Public Member Functions
+    // Selectors
 
-        //- Return the LES field indicator
-        virtual tmp<volScalarField> LESRegion() const = 0;
+        //- Return a reference to the selected RAS model
+        static autoPtr<SpecificCompressibleTurbulenceModel> New
+        (
+            const volScalarField& rho,
+            const volVectorField& U,
+            const surfaceScalarField& phi,
+            const transportModel& transport,
+            const word& propertiesName = turbulenceModel::propertiesName
+        );
 };
 
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-} // End namespace compressible
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+#ifdef NoRepository
+#   include "SpecificCompressibleTurbulenceModel.C"
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
 #endif
 
 // ************************************************************************* //
diff --git a/src/TurbulenceModels/compressible/compressibleTurbulenceModel.H b/src/TurbulenceModels/compressible/compressibleTurbulenceModel.H
index 533d8992bc9..0019bd281fa 100644
--- a/src/TurbulenceModels/compressible/compressibleTurbulenceModel.H
+++ b/src/TurbulenceModels/compressible/compressibleTurbulenceModel.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -98,6 +98,12 @@ public:
 
     // Member functions
 
+        //- Return the density field
+        const volScalarField& rho() const
+        {
+            return rho_;
+        }
+
         //- Return the volumetric flux field
         virtual tmp<surfaceScalarField> phi() const;
 
diff --git a/src/TurbulenceModels/compressible/eddyDiffusivity/eddyDiffusivity.C b/src/TurbulenceModels/compressible/eddyDiffusivity/eddyDiffusivity.C
new file mode 100644
index 00000000000..a6dbee759f0
--- /dev/null
+++ b/src/TurbulenceModels/compressible/eddyDiffusivity/eddyDiffusivity.C
@@ -0,0 +1,146 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "eddyDiffusivity.H"
+
+// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+void Foam::eddyDiffusivity<BasicTurbulenceModel>::correctAlphat()
+{
+    alphat_ = this->rho_*this->nut()/Prt_;
+    alphat_.correctBoundaryConditions();
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+Foam::eddyDiffusivity<BasicTurbulenceModel>::eddyDiffusivity
+(
+    const word& type,
+    const geometricOneField& alpha,
+    const volScalarField& rho,
+    const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
+    const surfaceScalarField& phi,
+    const transportModel& transport,
+    const word& propertiesName
+)
+:
+    BasicTurbulenceModel
+    (
+        type,
+        alpha,
+        rho,
+        U,
+        alphaRhoPhi,
+        phi,
+        transport,
+        propertiesName
+    ),
+
+    // Prt_
+    // (
+    //     dimensioned<scalar>::lookupOrAddToDict
+    //     (
+    //         "Prt",
+    //         this->coeffDict_,
+    //         1.0
+    //     )
+    // ),
+
+    Prt_("Prt", dimless, 1.0),
+
+    alphat_
+    (
+        IOobject
+        (
+            "alphat",
+            this->runTime_.timeName(),
+            this->mesh_,
+            IOobject::MUST_READ,
+            IOobject::AUTO_WRITE
+        ),
+        this->mesh_
+    )
+{}
+
+
+// * * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+Foam::autoPtr<Foam::eddyDiffusivity<BasicTurbulenceModel> >
+Foam::eddyDiffusivity<BasicTurbulenceModel>::New
+(
+    const volScalarField& rho,
+    const volVectorField& U,
+    const surfaceScalarField& phi,
+    const transportModel& transport,
+    const word& propertiesName
+)
+{
+    return autoPtr<eddyDiffusivity>
+    (
+        static_cast<eddyDiffusivity*>(
+        BasicTurbulenceModel::New
+        (
+            rho,
+            U,
+            phi,
+            transport,
+            propertiesName
+        ).ptr())
+    );
+}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+bool Foam::eddyDiffusivity<BasicTurbulenceModel>::read()
+{
+    if (BasicTurbulenceModel::read())
+    {
+        Prt_.readIfPresent(this->coeffDict());
+
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+
+template<class BasicTurbulenceModel>
+void Foam::eddyDiffusivity<BasicTurbulenceModel>::correct()
+{
+    BasicTurbulenceModel::correct();
+    correctAlphat();
+}
+
+
+// ************************************************************************* //
diff --git a/src/TurbulenceModels/compressible/eddyDiffusivity/eddyDiffusivity.H b/src/TurbulenceModels/compressible/eddyDiffusivity/eddyDiffusivity.H
new file mode 100644
index 00000000000..18d5c98281b
--- /dev/null
+++ b/src/TurbulenceModels/compressible/eddyDiffusivity/eddyDiffusivity.H
@@ -0,0 +1,180 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Class
+    Foam::eddyDiffusivity
+
+Description
+    Templated abstract base class for single-phase compressible
+    turbulence models.
+
+SourceFiles
+    eddyDiffusivity.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef eddyDiffusivity_H
+#define eddyDiffusivity_H
+
+#include "CompressibleTurbulenceModel.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+/*---------------------------------------------------------------------------*\
+               Class eddyDiffusivity Declaration
+\*---------------------------------------------------------------------------*/
+
+template<class BasicTurbulenceModel>
+class eddyDiffusivity
+:
+    public BasicTurbulenceModel
+{
+
+protected:
+
+    // Protected data
+
+        // Model coefficients
+
+            dimensionedScalar Prt_;
+
+        // Fields
+
+            volScalarField alphat_;
+
+
+    // Protected Member Functions
+
+        virtual void correctAlphat();
+
+
+public:
+
+    typedef typename BasicTurbulenceModel::alphaField alphaField;
+    typedef typename BasicTurbulenceModel::rhoField rhoField;
+    typedef typename BasicTurbulenceModel::transportModel transportModel;
+
+
+    // Constructors
+
+        //- Construct
+        eddyDiffusivity
+        (
+            const word& type,
+            const geometricOneField& alpha,
+            const volScalarField& rho,
+            const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
+            const surfaceScalarField& phi,
+            const transportModel& trasport,
+            const word& propertiesName
+        );
+
+
+    // Selectors
+
+        //- Return a reference to the selected turbulence model
+        static autoPtr<eddyDiffusivity> New
+        (
+            const volScalarField& rho,
+            const volVectorField& U,
+            const surfaceScalarField& phi,
+            const transportModel& trasportModel,
+            const word& propertiesName = turbulenceModel::propertiesName
+        );
+
+
+    //- Destructor
+    virtual ~eddyDiffusivity()
+    {}
+
+
+    // Member Functions
+
+        //- Re-read model coefficients if they have changed
+        virtual bool read();
+
+        //- Return the turbulent thermal diffusivity for enthalpy [kg/m/s]
+        virtual tmp<volScalarField> alphat() const
+        {
+            return alphat_;
+        }
+
+        //- Return the turbulent thermal diffusivity for enthalpy for a patch
+        //  [kg/m/s]
+        virtual tmp<scalarField> alphat(const label patchi) const
+        {
+            return alphat()().boundaryField()[patchi];
+        }
+
+        //- Return the effective turbulent thermal diffusivity for temperature
+        //  [J/m/s/K]
+        virtual tmp<volScalarField> kappaEff() const
+        {
+            return this->transport_.kappaEff(alphat());
+        }
+
+        //- Return the effective turbulent thermal diffusivity for temperature
+        //  [J/m/s/K]
+        virtual tmp<scalarField> kappaEff(const label patchi) const
+        {
+            return this->transport_.kappaEff(alphat(patchi), patchi);
+        }
+
+        //- Return the effective turbulent thermal diffusivity for enthalpy
+        //  [kg/m/s]
+        virtual tmp<volScalarField> alphaEff() const
+        {
+            return this->transport_.alphaEff(alphat());
+        }
+
+        //- Return the effective turbulent thermal diffusivity for enthalpy
+        //  for a patch [kg/m/s]
+        virtual tmp<scalarField> alphaEff(const label patchi) const
+        {
+            return this->transport_.alphaEff(alphat(patchi), patchi);
+        }
+
+        //- Correct the turbulent thermal diffusivity for enthalpy
+        virtual void correct();
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#ifdef NoRepository
+#   include "eddyDiffusivity.C"
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/TurbulenceModels/compressible/thermalDiffusivity/thermalDiffusivity.C b/src/TurbulenceModels/compressible/thermalDiffusivity/thermalDiffusivity.C
new file mode 100644
index 00000000000..5b25fe8d8e6
--- /dev/null
+++ b/src/TurbulenceModels/compressible/thermalDiffusivity/thermalDiffusivity.C
@@ -0,0 +1,124 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "thermalDiffusivity.H"
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+template<class TransportModel>
+Foam::thermalDiffusivity<TransportModel>::thermalDiffusivity
+(
+    const word& type,
+    const geometricOneField& alpha,
+    const volScalarField& rho,
+    const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
+    const surfaceScalarField& phi,
+    const transportModel& transport,
+    const word& propertiesName
+)
+:
+    CompressibleTurbulenceModel<TransportModel>
+    (
+        type,
+        alpha,
+        rho,
+        U,
+        alphaRhoPhi,
+        phi,
+        transport,
+        propertiesName
+    )
+{}
+
+
+// * * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * //
+
+template<class TransportModel>
+Foam::autoPtr<Foam::thermalDiffusivity<TransportModel> >
+Foam::thermalDiffusivity<TransportModel>::New
+(
+    const volScalarField& rho,
+    const volVectorField& U,
+    const surfaceScalarField& phi,
+    const transportModel& transport,
+    const word& propertiesName
+)
+{
+    return autoPtr<thermalDiffusivity>
+    (
+        static_cast<thermalDiffusivity*>(
+        CompressibleTurbulenceModel<transportModel>::New
+        (
+            rho,
+            U,
+            phi,
+            transport,
+            propertiesName
+        ).ptr())
+    );
+}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+Foam::tmp<Foam::volScalarField>
+Foam::thermalDiffusivity<BasicTurbulenceModel>::alphat() const
+{
+    return tmp<volScalarField>
+    (
+        new volScalarField
+        (
+            IOobject
+            (
+                IOobject::groupName("alphat", this->U_.group()),
+                this->runTime_.timeName(),
+                this->mesh_,
+                IOobject::NO_READ,
+                IOobject::NO_WRITE
+            ),
+            this->mesh_,
+            dimensionedScalar("alphat", dimDensity*dimViscosity, 0.0)
+        )
+    );
+}
+
+
+template<class BasicTurbulenceModel>
+Foam::tmp<Foam::scalarField>
+Foam::thermalDiffusivity<BasicTurbulenceModel>::alphat
+(
+    const label patchi
+) const
+{
+    return tmp<scalarField>
+    (
+        new scalarField(this->mesh_.boundary()[patchi].size(), 0.0)
+    );
+}
+
+
+// ************************************************************************* //
diff --git a/src/TurbulenceModels/compressible/thermalDiffusivity/thermalDiffusivity.H b/src/TurbulenceModels/compressible/thermalDiffusivity/thermalDiffusivity.H
new file mode 100644
index 00000000000..b62cfa2e95e
--- /dev/null
+++ b/src/TurbulenceModels/compressible/thermalDiffusivity/thermalDiffusivity.H
@@ -0,0 +1,176 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Class
+    Foam::thermalDiffusivity
+
+Description
+    Templated abstract base class for single-phase compressible
+    turbulence models.
+
+SourceFiles
+    thermalDiffusivity.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef thermalDiffusivity_H
+#define thermalDiffusivity_H
+
+#include "CompressibleTurbulenceModel.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+/*---------------------------------------------------------------------------*\
+               Class thermalDiffusivity Declaration
+\*---------------------------------------------------------------------------*/
+
+template<class TransportModel>
+class thermalDiffusivity
+:
+    public CompressibleTurbulenceModel<TransportModel>
+{
+
+public:
+
+    typedef geometricOneField alphaField;
+    typedef volScalarField rhoField;
+    typedef TransportModel transportModel;
+
+
+    // Constructors
+
+        //- Construct
+        thermalDiffusivity
+        (
+            const word& type,
+            const geometricOneField& alpha,
+            const volScalarField& rho,
+            const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
+            const surfaceScalarField& phi,
+            const transportModel& trasport,
+            const word& propertiesName
+        );
+
+
+    // Selectors
+
+        //- Return a reference to the selected turbulence model
+        static autoPtr<thermalDiffusivity> New
+        (
+            const volScalarField& rho,
+            const volVectorField& U,
+            const surfaceScalarField& phi,
+            const transportModel& trasportModel,
+            const word& propertiesName = turbulenceModel::propertiesName
+        );
+
+
+    //- Destructor
+    virtual ~thermalDiffusivity()
+    {}
+
+
+    // Member Functions
+
+        //- Return the thermal diffusivity for temperature [J/m/s/K]
+        virtual tmp<volScalarField> kappa() const
+        {
+            return this->transport_.kappa();
+        }
+
+        //- Return the laminar thermal diffusivity for temperature on patch
+        //  [J/m/s/K]
+        virtual tmp<scalarField> kappa(const label patchi) const
+        {
+            return this->transport_.kappa(patchi);
+        }
+
+        //- Return the laminar thermal diffusivity for enthalpy [kg/m/s]
+        virtual tmp<volScalarField> alpha() const
+        {
+            return this->transport_.alpha();
+        }
+
+        //- Return the laminar thermal diffusivity for enthalpy on patch
+        //  [kg/m/s]
+        virtual tmp<scalarField> alpha(const label patchi) const
+        {
+            return this->transport_.alpha(patchi);
+        }
+
+        //- Return the turbulent thermal diffusivity for enthalpy [kg/m/s]
+        virtual tmp<volScalarField> alphat() const;
+
+        //- Return the turbulent thermal diffusivity for enthalpy for a patch
+        //  [kg/m/s]
+        virtual tmp<scalarField> alphat(const label patchi) const;
+
+        //- Return the effective turbulent thermal diffusivity for temperature
+        //  [J/m/s/K]
+        virtual tmp<volScalarField> kappaEff() const
+        {
+            return kappa();
+        }
+
+        //- Return the effective turbulent thermal diffusivity for temperature
+        //  [J/m/s/K]
+        virtual tmp<scalarField> kappaEff(const label patchi) const
+        {
+            return kappa(patchi);
+        }
+
+        //- Return the effective turbulent thermal diffusivity for enthalpy
+        //  [kg/m/s]
+        virtual tmp<volScalarField> alphaEff() const
+        {
+            return alpha();
+        }
+
+        //- Return the effective turbulent thermal diffusivity for enthalpy
+        //  for a patch [kg/m/s]
+        virtual tmp<scalarField> alphaEff(const label patchi) const
+        {
+            return alpha(patchi);
+        }
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#ifdef NoRepository
+#   include "thermalDiffusivity.C"
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/turbulenceModel/turbulenceModelDoc.H b/src/TurbulenceModels/compressible/turbulenceModelDoc.H
similarity index 94%
rename from src/turbulenceModels/compressible/turbulenceModel/turbulenceModelDoc.H
rename to src/TurbulenceModels/compressible/turbulenceModelDoc.H
index 17bc210959f..5722cee54e8 100644
--- a/src/turbulenceModels/compressible/turbulenceModel/turbulenceModelDoc.H
+++ b/src/TurbulenceModels/compressible/turbulenceModelDoc.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -27,5 +27,5 @@ License
 @{
     This group contains compressible turbulence models.
 @}
-    
+
 \*---------------------------------------------------------------------------*/
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.C
similarity index 87%
rename from src/turbulenceModels/compressible/RAS/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.C
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.C
index 65405445628..02e87c7a776 100644
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,7 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "convectiveHeatTransferFvPatchScalarField.H"
-#include "compressible/turbulenceModel/turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "fvPatchFieldMapper.H"
 #include "addToRunTimeSelectionTable.H"
 
@@ -110,16 +110,26 @@ void convectiveHeatTransferFvPatchScalarField::updateCoeffs()
 
     const label patchi = patch().index();
 
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
+    const turbulenceModel& turbModel = db().lookupObject<turbulenceModel>
+    (
+        IOobject::groupName
+        (
+            turbulenceModel::propertiesName,
+            dimensionedInternalField().group()
+        )
+    );
+
     const scalarField alphaEffw(turbModel.alphaEff(patchi));
-    const scalarField& muw = turbModel.mu().boundaryField()[patchi];
+
+    const tmp<scalarField> tmuw = turbModel.mu(patchi);
+    const scalarField& muw = tmuw();
+
     const scalarField& rhow = turbModel.rho().boundaryField()[patchi];
     const vectorField& Uc = turbModel.U();
     const vectorField& Uw = turbModel.U().boundaryField()[patchi];
-    const scalarField& Tw = turbModel.thermo().T().boundaryField()[patchi];
-    const scalarField& pw = turbModel.thermo().p().boundaryField()[patchi];
-    const scalarField Cpw(turbModel.thermo().Cp(pw, Tw, patchi));
+    const scalarField& Tw = turbModel.transport().T().boundaryField()[patchi];
+    const scalarField& pw = turbModel.transport().p().boundaryField()[patchi];
+    const scalarField Cpw(turbModel.transport().Cp(pw, Tw, patchi));
 
     const scalarField kappaw(Cpw*alphaEffw);
     const scalarField Pr(muw*Cpw/kappaw);
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.H
similarity index 98%
rename from src/turbulenceModels/compressible/RAS/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.H
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.H
index cbbd7869bef..f1af5d9185c 100644
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C
similarity index 95%
rename from src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C
index c4d54b83b27..36b6ce87968 100644
--- a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,11 +24,11 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "externalCoupledTemperatureMixedFvPatchScalarField.H"
+#include "turbulentFluidThermoModel.H"
 #include "addToRunTimeSelectionTable.H"
 #include "fvPatchFieldMapper.H"
 #include "volFields.H"
 #include "OFstream.H"
-#include "turbulenceModel.H"
 
 // * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
 
@@ -127,7 +127,16 @@ void Foam::externalCoupledTemperatureMixedFvPatchScalarField::transferData
     scalarField qDot(this->patch().size(), 0.0);
 
     typedef compressible::turbulenceModel cmpTurbModelType;
-    static word turbName("turbulenceModel");
+
+    static word turbName
+    (
+        IOobject::groupName
+        (
+            turbulenceModel::propertiesName,
+            dimensionedInternalField().group()
+        )
+    );
+
     static word thermoName("thermophysicalProperties");
 
     if (db().foundObject<cmpTurbModelType>(turbName))
@@ -135,7 +144,7 @@ void Foam::externalCoupledTemperatureMixedFvPatchScalarField::transferData
         const cmpTurbModelType& turbModel =
             db().lookupObject<cmpTurbModelType>(turbName);
 
-        const basicThermo& thermo = turbModel.thermo();
+        const basicThermo& thermo = turbModel.transport();
 
         const fvPatchScalarField& hep = thermo.he().boundaryField()[patchI];
 
diff --git a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.H
similarity index 99%
rename from src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.H
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.H
index 3d17d955a69..47fb9153185 100644
--- a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C
similarity index 99%
rename from src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C
index e6470981e61..27306f29c55 100644
--- a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.H
similarity index 99%
rename from src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.H
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.H
index ad4bc5fd8b4..0799e9dd789 100644
--- a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.C
similarity index 95%
rename from src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.C
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.C
index b128e562e8f..ff6c5e9f262 100644
--- a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -27,7 +27,7 @@ License
 #include "volFields.H"
 #include "fluidThermo.H"
 #include "solidThermo.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 
 // * * * * * * * * * * * * * Static Member Data  * * * * * * * * * * * * * * //
 
@@ -111,10 +111,15 @@ Foam::tmp<Foam::scalarField> Foam::temperatureCoupledBase::kappa
         {
             typedef compressible::turbulenceModel turbulenceModel;
 
-            if (mesh.foundObject<turbulenceModel>("turbulenceModel"))
+            word turbName(turbulenceModel::propertiesName);
+
+            if
+            (
+                mesh.foundObject<turbulenceModel>(turbName)
+            )
             {
                 const turbulenceModel& turbModel =
-                    mesh.lookupObject<turbulenceModel>("turbulenceModel");
+                    mesh.lookupObject<turbulenceModel>(turbName);
 
                 return turbModel.kappaEff(patchI);
             }
diff --git a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.H
similarity index 98%
rename from src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.H
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.H
index f90c8d90f31..7385c39df26 100644
--- a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.C
similarity index 98%
rename from src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.C
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.C
index 490bec5c712..caef4180990 100644
--- a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -26,7 +26,7 @@ License
 #include "volFields.H"
 #include "surfaceFields.H"
 #include "mappedPatchBase.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "mapDistribute.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -356,7 +356,7 @@ void thermalBaffle1DFvPatchScalarField<solidType>::updateCoeffs()
         const compressible::turbulenceModel& turbModel =
             db().template lookupObject<compressible::turbulenceModel>
             (
-                "turbulenceModel"
+                turbulenceModel::propertiesName
             );
 
         // local properties
@@ -383,7 +383,7 @@ void thermalBaffle1DFvPatchScalarField<solidType>::updateCoeffs()
 
         // nrb properties
         scalarField nbrTp =
-            turbModel.thermo().T().boundaryField()[nbrPatchi];
+            turbModel.transport().T().boundaryField()[nbrPatchi];
         mapDist.distribute(nbrTp);
 
         // solid properties
diff --git a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.H
similarity index 99%
rename from src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.H
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.H
index bed019f4bd2..4df0d438206 100644
--- a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarFields.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarFields.C
similarity index 97%
rename from src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarFields.C
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarFields.C
index ca3f232992d..8eab8013249 100644
--- a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarFields.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarFields.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarFields.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarFields.H
similarity index 96%
rename from src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarFields.H
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarFields.H
index db7dcf0c9fc..8a3187abcd1 100644
--- a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarFields.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarFields.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/totalFlowRateAdvectiveDiffusive/totalFlowRateAdvectiveDiffusiveFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/totalFlowRateAdvectiveDiffusive/totalFlowRateAdvectiveDiffusiveFvPatchScalarField.C
similarity index 91%
rename from src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/totalFlowRateAdvectiveDiffusive/totalFlowRateAdvectiveDiffusiveFvPatchScalarField.C
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/totalFlowRateAdvectiveDiffusive/totalFlowRateAdvectiveDiffusiveFvPatchScalarField.C
index e3d00dea694..646fbed6620 100644
--- a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/totalFlowRateAdvectiveDiffusive/totalFlowRateAdvectiveDiffusiveFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/totalFlowRateAdvectiveDiffusive/totalFlowRateAdvectiveDiffusiveFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -29,8 +29,7 @@ License
 #include "volFields.H"
 #include "surfaceFields.H"
 #include "IOobjectList.H"
-#include "turbulenceModel.H"
-
+#include "turbulentFluidThermoModel.H"
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 Foam::totalFlowRateAdvectiveDiffusiveFvPatchScalarField::
@@ -154,16 +153,22 @@ void Foam::totalFlowRateAdvectiveDiffusiveFvPatchScalarField::updateCoeffs()
 
     const label patchI = patch().index();
 
-    const compressible::turbulenceModel& turbulence =
-        db().lookupObject<compressible::turbulenceModel>
-        (
-            "turbulenceModel"
+    const LESModel<eddyDiffusivity<compressible::turbulenceModel> >& turbModel =
+    db().lookupObject
+    <
+        LESModel<eddyDiffusivity<compressible::turbulenceModel> >
+    >   (
+            IOobject::groupName
+            (
+                turbulenceModel::propertiesName,
+                dimensionedInternalField().group()
+            )
         );
 
     const fvsPatchField<scalar>& phip =
         patch().lookupPatchField<surfaceScalarField, scalar>(phiName_);
 
-    const scalarField alphap(turbulence.alphaEff(patchI));
+    const scalarField alphap(turbModel.alphaEff(patchI));
 
     refValue() = massFluxFraction_;
     refGrad() = 0.0;
diff --git a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/totalFlowRateAdvectiveDiffusive/totalFlowRateAdvectiveDiffusiveFvPatchScalarField.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/totalFlowRateAdvectiveDiffusive/totalFlowRateAdvectiveDiffusiveFvPatchScalarField.H
similarity index 98%
rename from src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/totalFlowRateAdvectiveDiffusive/totalFlowRateAdvectiveDiffusiveFvPatchScalarField.H
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/totalFlowRateAdvectiveDiffusive/totalFlowRateAdvectiveDiffusiveFvPatchScalarField.H
index 79a1da68ef5..a6313f71ae7 100644
--- a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/totalFlowRateAdvectiveDiffusive/totalFlowRateAdvectiveDiffusiveFvPatchScalarField.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/totalFlowRateAdvectiveDiffusive/totalFlowRateAdvectiveDiffusiveFvPatchScalarField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C
similarity index 99%
rename from src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C
index 9f0f1a3367f..4ebd0c18037 100644
--- a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H
similarity index 98%
rename from src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H
index 740183e3590..fc816b3d67c 100644
--- a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C
similarity index 99%
rename from src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C
index dff61c39896..d304e598eee 100644
--- a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H
similarity index 99%
rename from src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H
index ac17f3c330d..862abc18522 100644
--- a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C
similarity index 99%
rename from src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C
index 19f8a971a58..e610afc80e9 100644
--- a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.H
similarity index 99%
rename from src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.H
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.H
index bbfe48c631e..8c332402e92 100644
--- a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
similarity index 92%
rename from src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
index 16b69874f0e..98a5a05f5e7 100644
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,7 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "alphatJayatillekeWallFunctionFvPatchScalarField.H"
-#include "compressible/turbulenceModel/turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "fvPatchFieldMapper.H"
 #include "volFields.H"
 #include "addToRunTimeSelectionTable.H"
@@ -199,16 +199,27 @@ void alphatJayatillekeWallFunctionFvPatchScalarField::updateCoeffs()
 
     const label patchi = patch().index();
 
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
+    // Retrieve turbulence properties from model
+
+    const turbulenceModel& turbModel = db().lookupObject<turbulenceModel>
+    (
+        IOobject::groupName
+        (
+            turbulenceModel::propertiesName,
+            dimensionedInternalField().group()
+        )
+    );
 
     const scalar Cmu25 = pow025(Cmu_);
 
     const scalarField& y = turbModel.y()[patchi];
 
-    const scalarField& muw = turbModel.mu().boundaryField()[patchi];
+    const tmp<scalarField> tmuw = turbModel.mu(patchi);
+    const scalarField& muw = tmuw();
+
+    const tmp<scalarField> talphaw = turbModel.alpha(patchi);
+    const scalarField& alphaw = talphaw();
 
-    const scalarField& alphaw = turbModel.alpha().boundaryField()[patchi];
     scalarField& alphatw = *this;
 
     const tmp<volScalarField> tk = turbModel.k();
@@ -220,12 +231,12 @@ void alphatJayatillekeWallFunctionFvPatchScalarField::updateCoeffs()
 
     const scalarField& rhow = turbModel.rho().boundaryField()[patchi];
     const fvPatchScalarField& hew =
-        turbModel.thermo().he().boundaryField()[patchi];
+        turbModel.transport().he().boundaryField()[patchi];
 
     // Heat flux [W/m2] - lagging alphatw
     const scalarField qDot
     (
-        turbModel.thermo().alphaEff(alphatw, patchi)*hew.snGrad()
+        turbModel.transport().alphaEff(alphatw, patchi)*hew.snGrad()
     );
 
     // Populate boundary values
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H
similarity index 98%
rename from src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H
index 5a43d7773e4..2626bafc37d 100644
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.C
similarity index 82%
rename from src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.C
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.C
index dcf694ad1ab..90d22360056 100644
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,7 +44,8 @@ alphatWallFunctionFvPatchScalarField::alphatWallFunctionFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(p, iF),
-    mutName_("mut"),
+    rhoName_("rho"),
+    nutName_("nut"),
     Prt_(0.85)
 {}
 
@@ -58,7 +59,8 @@ alphatWallFunctionFvPatchScalarField::alphatWallFunctionFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(ptf, p, iF, mapper),
-    mutName_(ptf.mutName_),
+    rhoName_(ptf.rhoName_),
+    nutName_(ptf.nutName_),
     Prt_(ptf.Prt_)
 {}
 
@@ -71,7 +73,8 @@ alphatWallFunctionFvPatchScalarField::alphatWallFunctionFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(p, iF, dict),
-    mutName_(dict.lookupOrDefault<word>("mut", "mut")),
+    rhoName_(dict.lookupOrDefault<word>("rho", "rho")),
+    nutName_(dict.lookupOrDefault<word>("nut", "nut")),
     Prt_(dict.lookupOrDefault<scalar>("Prt", 0.85))
 {}
 
@@ -82,7 +85,8 @@ alphatWallFunctionFvPatchScalarField::alphatWallFunctionFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(awfpsf),
-    mutName_(awfpsf.mutName_),
+    rhoName_(awfpsf.rhoName_),
+    nutName_(awfpsf.nutName_),
     Prt_(awfpsf.Prt_)
 {}
 
@@ -94,7 +98,8 @@ alphatWallFunctionFvPatchScalarField::alphatWallFunctionFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(awfpsf, iF),
-    mutName_(awfpsf.mutName_),
+    rhoName_(awfpsf.rhoName_),
+    nutName_(awfpsf.nutName_),
     Prt_(awfpsf.Prt_)
 {}
 
@@ -108,10 +113,13 @@ void alphatWallFunctionFvPatchScalarField::updateCoeffs()
         return;
     }
 
-    const scalarField& mutw =
-        patch().lookupPatchField<volScalarField, scalar>(mutName_);
+    const scalarField& rhow =
+        patch().lookupPatchField<volScalarField, scalar>(rhoName_);
 
-    operator==(mutw/Prt_);
+    const scalarField& nutw =
+        patch().lookupPatchField<volScalarField, scalar>(nutName_);
+
+    operator==(rhow*nutw/Prt_);
 
     fixedValueFvPatchScalarField::updateCoeffs();
 }
@@ -120,7 +128,8 @@ void alphatWallFunctionFvPatchScalarField::updateCoeffs()
 void alphatWallFunctionFvPatchScalarField::write(Ostream& os) const
 {
     fvPatchField<scalar>::write(os);
-    writeEntryIfDifferent<word>(os, "mut", "mut", mutName_);
+    writeEntryIfDifferent<word>(os, "rho", "rho", rhoName_);
+    writeEntryIfDifferent<word>(os, "nut", "nut", nutName_);
     os.writeKeyword("Prt") << Prt_ << token::END_STATEMENT << nl;
     writeEntry("value", os);
 }
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.H
similarity index 94%
rename from src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.H
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.H
index 0500caec6b3..f44ee6b8cf1 100644
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -50,7 +50,7 @@ Description
 
     \table
         Property     | Description             | Required    | Default value
-        mut          | turbulence viscosity field name | no  | mut
+        nut          | turbulence viscosity field name | no  | nut
         Prt          | turbulent Prandtl number | no          | 0.85
     \endtable
 
@@ -59,7 +59,7 @@ Description
     myPatch
     {
         type            alphatWallFunction;
-        mut             mut;
+        nut             nut;
         Prt             0.85;
         value           uniform 0; // optional value entry
     }
@@ -95,8 +95,11 @@ class alphatWallFunctionFvPatchScalarField
 {
     // Private data
 
-        //- Name of turbulent viscosity field (default = mut)
-        word mutName_;
+        //- Name of density field (default = rho)
+        word rhoName_;
+
+        //- Name of turbulent viscosity field (default = nut)
+        word nutName_;
 
         //- Turbulent Prandtl number (default = 0.85)
         scalar Prt_;
diff --git a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C
similarity index 94%
rename from src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C
index 2efdccde5e1..bc5f23ced42 100644
--- a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -26,7 +26,7 @@ License
 #include "wallHeatTransferFvPatchScalarField.H"
 #include "addToRunTimeSelectionTable.H"
 #include "fvPatchFieldMapper.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
@@ -151,7 +151,11 @@ void Foam::wallHeatTransferFvPatchScalarField::updateCoeffs()
     const compressible::turbulenceModel& turbModel =
         db().lookupObject<compressible::turbulenceModel>
         (
-            "turbulenceModel"
+            IOobject::groupName
+            (
+                turbulenceModel::propertiesName,
+                dimensionedInternalField().group()
+            )
         );
 
     const label patchi = patch().index();
diff --git a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.H
similarity index 98%
rename from src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.H
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.H
index a33ce4e4729..1524f6c0b4e 100644
--- a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/makeTurbulenceModel.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/makeTurbulenceModel.H
new file mode 100644
index 00000000000..ae0b0cb5977
--- /dev/null
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/makeTurbulenceModel.H
@@ -0,0 +1,128 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#define makeBaseTurbulenceModel(Alpha, Rho, baseModel, BaseModel, Transport)   \
+                                                                               \
+    namespace Foam                                                             \
+    {                                                                          \
+        typedef TurbulenceModel                                                \
+        <                                                                      \
+            Alpha,                                                             \
+            Rho,                                                               \
+            baseModel,                                                         \
+            Transport                                                          \
+        > Transport##baseModel;                                                \
+                                                                               \
+        defineTemplateRunTimeSelectionTable                                    \
+        (                                                                      \
+            Transport##baseModel,                                              \
+            dictionary                                                         \
+        );                                                                     \
+                                                                               \
+        typedef BaseModel<Transport> Transport##BaseModel;                     \
+                                                                               \
+                                                                               \
+        typedef laminar<Transport##BaseModel> Laminar##Transport##BaseModel;   \
+                                                                               \
+        defineNamedTemplateTypeNameAndDebug(Laminar##Transport##BaseModel, 0); \
+                                                                               \
+        addToRunTimeSelectionTable                                             \
+        (                                                                      \
+            Transport##baseModel,                                              \
+            Laminar##Transport##BaseModel,                                     \
+            dictionary                                                         \
+        );                                                                     \
+                                                                               \
+                                                                               \
+        typedef RASModel<eddyDiffusivity<Transport##BaseModel> >               \
+            RAS##Transport##BaseModel;                                         \
+                                                                               \
+        defineNamedTemplateTypeNameAndDebug(RAS##Transport##BaseModel, 0);     \
+                                                                               \
+        defineTemplateRunTimeSelectionTable                                    \
+        (RAS##Transport##BaseModel, dictionary);                               \
+                                                                               \
+        addToRunTimeSelectionTable                                             \
+        (                                                                      \
+            Transport##baseModel,                                              \
+            RAS##Transport##BaseModel,                                         \
+            dictionary                                                         \
+        );                                                                     \
+                                                                               \
+                                                                               \
+        typedef LESModel<eddyDiffusivity<Transport##BaseModel> >               \
+            LES##Transport##BaseModel;                                         \
+                                                                               \
+        defineNamedTemplateTypeNameAndDebug(LES##Transport##BaseModel, 0);     \
+                                                                               \
+        defineTemplateRunTimeSelectionTable                                    \
+        (LES##Transport##BaseModel, dictionary);                               \
+                                                                               \
+        addToRunTimeSelectionTable                                             \
+        (                                                                      \
+            Transport##baseModel,                                              \
+            LES##Transport##BaseModel,                                         \
+            dictionary                                                         \
+        );                                                                     \
+    }
+
+
+#define makeTemplatedTurbulenceModel(BaseModel, SType, Type)                   \
+    namespace Foam                                                             \
+    {                                                                          \
+        namespace SType##Models                                                \
+        {                                                                      \
+            typedef Type<eddyDiffusivity<BaseModel> > Type##SType##BaseModel;  \
+                                                                               \
+            defineNamedTemplateTypeNameAndDebug(Type##SType##BaseModel, 0);    \
+                                                                               \
+            addToRunTimeSelectionTable                                         \
+            (                                                                  \
+                SType##BaseModel,                                              \
+                Type##SType##BaseModel,                                        \
+                dictionary                                                     \
+            );                                                                 \
+        }                                                                      \
+    }
+
+
+#define makeTurbulenceModel(BaseModel, SType, Type)                            \
+    namespace Foam                                                             \
+    {                                                                          \
+        namespace SType##Models                                                \
+        {                                                                      \
+            defineTypeNameAndDebug(Type, 0);                                   \
+                                                                               \
+            addToRunTimeSelectionTable                                         \
+            (                                                                  \
+                SType##BaseModel,                                              \
+                Type,                                                          \
+                dictionary                                                     \
+            );                                                                 \
+        }                                                                      \
+    }
+
+
+// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchFields.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModel.H
similarity index 57%
rename from src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchFields.H
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModel.H
index a62cd0806ed..7725dee9717 100644
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchFields.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModel.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -21,29 +21,54 @@ License
     You should have received a copy of the GNU General Public License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
+Typedef
+    Foam::compressible::turbulenceModel
+
+Typedef
+    Foam::compressible::RASModel
+
+Typedef
+    Foam::compressible::LESModel
+
+Description
+    Typedefs for turbulence, RAS and LES models for compressible flow
+    based on the standard laminar transport package.
+
+SourceFiles
+    turbulentFluidThermoModels.C
+
 \*---------------------------------------------------------------------------*/
 
-#ifndef kqRWallFunctionFvPatchFields_H
-#define kqRWallFunctionFvPatchFields_H
+#ifndef turbulentFluidThermoModel_H
+#define turbulentFluidThermoModel_H
 
-#include "kqRWallFunctionFvPatchField.H"
-#include "fieldTypes.H"
+#include "SpecificCompressibleTurbulenceModel.H"
+#include "thermalDiffusivity.H"
+#include "eddyDiffusivity.H"
+#include "RASModel.H"
+#include "LESModel.H"
+#include "fluidThermo.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
-namespace compressible
-{
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+    namespace compressible
+    {
+        typedef thermalDiffusivity<fluidThermo> turbulenceModel;
 
-makePatchTypeFieldTypedefs(kqRWallFunction);
+        typedef SpecificCompressibleTurbulenceModel
+        <
+            RASModel<eddyDiffusivity<turbulenceModel> >
+        > RASModel;
 
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+        typedef SpecificCompressibleTurbulenceModel
+        <
+            LESModel<eddyDiffusivity<turbulenceModel> >
+        > LESModel;
+    }
+}
 
-} // End namespace compressible
-} // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/src/TurbulenceModels/compressible/compressibleTurbulenceModels.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.C
similarity index 78%
rename from src/TurbulenceModels/compressible/compressibleTurbulenceModels.C
rename to src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.C
index 054dee88845..ad86b169aa2 100644
--- a/src/TurbulenceModels/compressible/compressibleTurbulenceModels.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -23,11 +23,13 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "CompressibleTurbulenceModel.H"
 #include "fluidThermo.H"
 #include "addToRunTimeSelectionTable.H"
 #include "makeTurbulenceModel.H"
 
+#include "thermalDiffusivity.H"
+#include "eddyDiffusivity.H"
+
 #include "laminar.H"
 #include "RASModel.H"
 #include "LESModel.H"
@@ -37,17 +39,20 @@ makeBaseTurbulenceModel
     geometricOneField,
     volScalarField,
     compressibleTurbulenceModel,
-    CompressibleTurbulenceModel,
+    thermalDiffusivity,
     fluidThermo
 );
 
 #define makeRASModel(Type)                                                     \
     makeTemplatedTurbulenceModel                                               \
-    (fluidThermoCompressibleTurbulenceModel, RAS, Type)
+    (fluidThermothermalDiffusivity, RAS, Type)
 
 #define makeLESModel(Type)                                                     \
     makeTemplatedTurbulenceModel                                               \
-    (fluidThermoCompressibleTurbulenceModel, LES, Type)
+    (fluidThermothermalDiffusivity, LES, Type)
+
+#include "SpalartAllmaras.H"
+makeRASModel(SpalartAllmaras);
 
 #include "kEpsilon.H"
 makeRASModel(kEpsilon);
@@ -55,6 +60,9 @@ makeRASModel(kEpsilon);
 #include "buoyantKEpsilon.H"
 makeRASModel(buoyantKEpsilon);
 
+#include "LaunderSharmaKE.H"
+makeRASModel(LaunderSharmaKE);
+
 #include "kOmegaSST.H"
 makeRASModel(kOmegaSST);
 
@@ -64,5 +72,14 @@ makeLESModel(Smagorinsky);
 #include "kEqn.H"
 makeLESModel(kEqn);
 
+#include "SpalartAllmarasDES.H"
+makeLESModel(SpalartAllmarasDES);
+
+#include "SpalartAllmarasDDES.H"
+makeLESModel(SpalartAllmarasDDES);
+
+#include "SpalartAllmarasIDDES.H"
+makeLESModel(SpalartAllmarasIDDES);
+
 
 // ************************************************************************* //
diff --git a/src/TurbulenceModels/incompressible/IncompressibleTurbulenceModel/IncompressibleTurbulenceModel.C b/src/TurbulenceModels/incompressible/IncompressibleTurbulenceModel/IncompressibleTurbulenceModel.C
index ce93b0d5915..447af12fff9 100644
--- a/src/TurbulenceModels/incompressible/IncompressibleTurbulenceModel/IncompressibleTurbulenceModel.C
+++ b/src/TurbulenceModels/incompressible/IncompressibleTurbulenceModel/IncompressibleTurbulenceModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -31,12 +31,13 @@ template<class TransportModel>
 Foam::IncompressibleTurbulenceModel<TransportModel>::
 IncompressibleTurbulenceModel
 (
+    const word& type,
     const geometricOneField& alpha,
     const geometricOneField& rho,
     const volVectorField& U,
     const surfaceScalarField& alphaRhoPhi,
     const surfaceScalarField& phi,
-    const TransportModel& transportModel,
+    const TransportModel& transport,
     const word& propertiesName
 )
 :
@@ -53,7 +54,7 @@ IncompressibleTurbulenceModel
         U,
         alphaRhoPhi,
         phi,
-        transportModel,
+        transport,
         propertiesName
     )
 {}
@@ -67,7 +68,7 @@ Foam::IncompressibleTurbulenceModel<TransportModel>::New
 (
     const volVectorField& U,
     const surfaceScalarField& phi,
-    const TransportModel& transportModel,
+    const TransportModel& transport,
     const word& propertiesName
 )
 {
@@ -87,7 +88,7 @@ Foam::IncompressibleTurbulenceModel<TransportModel>::New
             U,
             phi,
             phi,
-            transportModel,
+            transport,
             propertiesName
         ).ptr())
     );
@@ -148,4 +149,23 @@ divDevRhoReff
 }
 
 
+template<class TransportModel>
+Foam::tmp<Foam::fvVectorMatrix>
+Foam::IncompressibleTurbulenceModel<TransportModel>::
+divDevRhoReff
+(
+    const volScalarField& rho,
+    volVectorField& U
+) const
+{
+    notImplemented
+    (
+        "IncompressibleTurbulenceModel<TransportModel>::"
+        "divDevRhoReff(const volScalarField& rho, volVectorField& U)"
+    );
+
+    return divDevReff(U);
+}
+
+
 // ************************************************************************* //
diff --git a/src/TurbulenceModels/incompressible/IncompressibleTurbulenceModel/IncompressibleTurbulenceModel.H b/src/TurbulenceModels/incompressible/IncompressibleTurbulenceModel/IncompressibleTurbulenceModel.H
index c0d4af42a56..eb9d8bfb06a 100644
--- a/src/TurbulenceModels/incompressible/IncompressibleTurbulenceModel/IncompressibleTurbulenceModel.H
+++ b/src/TurbulenceModels/incompressible/IncompressibleTurbulenceModel/IncompressibleTurbulenceModel.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,6 +38,7 @@ SourceFiles
 
 #include "TurbulenceModel.H"
 #include "incompressibleTurbulenceModel.H"
+#include "fvMatrix.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -72,12 +73,13 @@ public:
         //- Construct
         IncompressibleTurbulenceModel
         (
+            const word& type,
             const geometricOneField& alpha,
             const geometricOneField& rho,
             const volVectorField& U,
             const surfaceScalarField& alphaRhoPhi,
             const surfaceScalarField& phi,
-            const TransportModel& trasportModel,
+            const TransportModel& transport,
             const word& propertiesName
         );
 
@@ -112,6 +114,13 @@ public:
 
         //- Return the source term for the momentum equation
         virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const;
+
+        //- Return the source term for the momentum equation
+        virtual tmp<fvVectorMatrix> divDevRhoReff
+        (
+            const volScalarField& rho,
+            volVectorField& U
+        ) const;
 };
 
 
diff --git a/src/TurbulenceModels/incompressible/Make/files b/src/TurbulenceModels/incompressible/Make/files
index 4b3ca65c16b..4d4d5729bdc 100644
--- a/src/TurbulenceModels/incompressible/Make/files
+++ b/src/TurbulenceModels/incompressible/Make/files
@@ -1,4 +1,21 @@
 incompressibleTurbulenceModel.C
-incompressibleTurbulenceModels.C
+
+turbulentTransportModels/turbulentTransportModels.C
+turbulentTransportModels/RAS/kOmega/kOmega.C
+turbulentTransportModels/RAS/RNGkEpsilon/RNGkEpsilon.C
+turbulentTransportModels/RAS/v2f/v2f.C
+turbulentTransportModels/RAS/qZeta/qZeta.C
+turbulentTransportModels/RAS/kkLOmega/kkLOmega.C
+turbulentTransportModels/RAS/LamBremhorstKE/LamBremhorstKE.C
+turbulentTransportModels/RAS/LienCubicKE/LienCubicKE.C
+turbulentTransportModels/RAS/LienCubicKELowRe/LienCubicKELowRe.C
+turbulentTransportModels/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.C
+turbulentTransportModels/RAS/nonlinearKEShih/nonlinearKEShih.C
+
+BCs = turbulentTransportModels/RAS/derivedFvPatchFields
+$(BCs)/wallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C
+$(BCs)/wallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.C
+
+turbulentTransportModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
 
 LIB = $(FOAM_LIBBIN)/libincompressibleTurbulenceModels
diff --git a/src/TurbulenceModels/incompressible/Make/options b/src/TurbulenceModels/incompressible/Make/options
index 617607373e8..acb769c06fe 100644
--- a/src/TurbulenceModels/incompressible/Make/options
+++ b/src/TurbulenceModels/incompressible/Make/options
@@ -2,7 +2,7 @@ EXE_INC = \
     -I../turbulenceModels/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/transportModels/incompressible/lnInclude
+    -I$(LIB_SRC)/transportModels
 
 LIB_LIBS = \
     -lincompressibleTransportModels \
diff --git a/src/TurbulenceModels/incompressible/SpecificIncompressibleTurbulenceModel/SpecificIncompressibleTurbulenceModel.C b/src/TurbulenceModels/incompressible/SpecificIncompressibleTurbulenceModel/SpecificIncompressibleTurbulenceModel.C
new file mode 100644
index 00000000000..f6ba580c0f7
--- /dev/null
+++ b/src/TurbulenceModels/incompressible/SpecificIncompressibleTurbulenceModel/SpecificIncompressibleTurbulenceModel.C
@@ -0,0 +1,98 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "SpecificIncompressibleTurbulenceModel.H"
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+template<class BasicIncompressibleTurbulenceModel>
+Foam::SpecificIncompressibleTurbulenceModel
+<
+    BasicIncompressibleTurbulenceModel
+>::SpecificIncompressibleTurbulenceModel
+(
+    const word& type,
+    const geometricOneField& alpha,
+    const geometricOneField& rho,
+    const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
+    const surfaceScalarField& phi,
+    const transportModel& transport,
+    const word& propertiesName
+)
+:
+    BasicIncompressibleTurbulenceModel
+    (
+        type,
+        alpha,
+        rho,
+        U,
+        alphaRhoPhi,
+        phi,
+        transport,
+        propertiesName
+    )
+{}
+
+
+// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
+
+template<class BasicIncompressibleTurbulenceModel>
+Foam::autoPtr
+<
+    Foam::SpecificIncompressibleTurbulenceModel
+    <
+        BasicIncompressibleTurbulenceModel
+    >
+>
+Foam::SpecificIncompressibleTurbulenceModel
+<
+    BasicIncompressibleTurbulenceModel
+>::New
+(
+    const volVectorField& U,
+    const surfaceScalarField& phi,
+    const transportModel& transport,
+    const word& propertiesName
+)
+{
+    return autoPtr<SpecificIncompressibleTurbulenceModel>
+    (
+        static_cast<SpecificIncompressibleTurbulenceModel*>(
+        BasicIncompressibleTurbulenceModel::New
+        (
+            geometricOneField(),
+            geometricOneField(),
+            U,
+            phi,
+            phi,
+            transport,
+            propertiesName
+        ).ptr())
+    );
+}
+
+
+// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/DESModel/DESModel.H b/src/TurbulenceModels/incompressible/SpecificIncompressibleTurbulenceModel/SpecificIncompressibleTurbulenceModel.H
similarity index 56%
rename from src/turbulenceModels/incompressible/LES/DESModel/DESModel.H
rename to src/TurbulenceModels/incompressible/SpecificIncompressibleTurbulenceModel/SpecificIncompressibleTurbulenceModel.H
index 6aec3ee060b..e7cc38118b5 100644
--- a/src/turbulenceModels/incompressible/LES/DESModel/DESModel.H
+++ b/src/TurbulenceModels/incompressible/SpecificIncompressibleTurbulenceModel/SpecificIncompressibleTurbulenceModel.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -22,92 +22,88 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::incompressible::DESModel
-
-Group
-    grpIcoDESTurbulence
+    Foam::SpecificIncompressibleTurbulenceModel
 
 Description
-    Extension of LES models to provide an interface for Detached Eddy
-    Simulation turbulence models
-
-SeeAlso
-    Foam::LESModel
+    Templated abstract base class for specific (RAS/LES) incompressible
+    turbulence models
 
 SourceFiles
-    DESModel.C
+    SpecificIncompressibleTurbulenceModel.C
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef incompressibleDESModel_H
-#define incompressibleDESModel_H
-
-// note: use full(er) path so that derived utilities can bring in
-// incompressible and compressible variants
+#ifndef SpecificIncompressibleTurbulenceModel_H
+#define SpecificIncompressibleTurbulenceModel_H
 
-#include "incompressible/LES/LESModel/LESModel.H"
+#include "IncompressibleTurbulenceModel.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
-namespace incompressible
-{
 
 /*---------------------------------------------------------------------------*\
-                          Class DESModel Declaration
+           Class SpecificIncompressibleTurbulenceModel Declaration
 \*---------------------------------------------------------------------------*/
 
-class DESModel
+template<class BasicIncompressibleTurbulenceModel>
+class SpecificIncompressibleTurbulenceModel
 :
-    public LESModel
+    public BasicIncompressibleTurbulenceModel
 {
 
-private:
-
-    // Private Member Functions
-
-        //- Disallow default bitwise copy construct
-        DESModel(const DESModel&);
-
-        //- Disallow default bitwise assignment
-        DESModel& operator=(const DESModel&);
-
-
 public:
 
+    typedef typename BasicIncompressibleTurbulenceModel::transportModel
+        transportModel;
+
     // Constructors
 
         //- Construct from components
-        DESModel
+        SpecificIncompressibleTurbulenceModel
         (
             const word& type,
+            const geometricOneField& alpha,
+            const geometricOneField& rho,
             const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
             const surfaceScalarField& phi,
             const transportModel& transport,
-            const word& turbulenceModelName
+            const word& propertiesName
         );
 
 
     //- Destructor
-    virtual ~DESModel()
+    virtual ~SpecificIncompressibleTurbulenceModel()
     {}
 
 
-    // Public Member Functions
+    // Selectors
 
-        //- Return the LES field indicator
-        virtual tmp<volScalarField> LESRegion() const = 0;
+        //- Return a reference to the selected RAS model
+        static autoPtr<SpecificIncompressibleTurbulenceModel> New
+        (
+            const volVectorField& U,
+            const surfaceScalarField& phi,
+            const transportModel& transport,
+            const word& propertiesName = turbulenceModel::propertiesName
+        );
 };
 
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-} // End namespace incompressible
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+#ifdef NoRepository
+#   include "SpecificIncompressibleTurbulenceModel.C"
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
 #endif
 
 // ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/turbulenceModel/turbulenceModelDoc.H b/src/TurbulenceModels/incompressible/turbulenceModelDoc.H
similarity index 94%
rename from src/turbulenceModels/incompressible/turbulenceModel/turbulenceModelDoc.H
rename to src/TurbulenceModels/incompressible/turbulenceModelDoc.H
index f9751dc542e..2e5547351f1 100644
--- a/src/turbulenceModels/incompressible/turbulenceModel/turbulenceModelDoc.H
+++ b/src/TurbulenceModels/incompressible/turbulenceModelDoc.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -27,5 +27,5 @@ License
 @{
     This group contains incompressible turbulence models.
 @}
-    
+
 \*---------------------------------------------------------------------------*/
diff --git a/src/turbulenceModels/incompressible/RAS/LamBremhorstKE/LamBremhorstKE.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LamBremhorstKE/LamBremhorstKE.C
similarity index 72%
rename from src/turbulenceModels/incompressible/RAS/LamBremhorstKE/LamBremhorstKE.C
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LamBremhorstKE/LamBremhorstKE.C
index c23bc4b0b21..aa7e9457dc4 100644
--- a/src/turbulenceModels/incompressible/RAS/LamBremhorstKE/LamBremhorstKE.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LamBremhorstKE/LamBremhorstKE.C
@@ -24,10 +24,10 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "LamBremhorstKE.H"
+#include "wallDist.H"
+#include "bound.H"
 #include "addToRunTimeSelectionTable.H"
 
-#include "backwardsCompatibilityWallFunctions.H"
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
@@ -42,18 +42,40 @@ namespace RASModels
 defineTypeNameAndDebug(LamBremhorstKE, 0);
 addToRunTimeSelectionTable(RASModel, LamBremhorstKE, dictionary);
 
+// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
+
+void LamBremhorstKE::correctNut()
+{
+    nut_ = Cmu_*fMu_*sqr(k_)/epsilon_;
+    nut_.correctBoundaryConditions();
+}
+
+
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 LamBremhorstKE::LamBremhorstKE
 (
+    const geometricOneField& alpha,
+    const geometricOneField& rho,
     const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
     const surfaceScalarField& phi,
     const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
+    const word& propertiesName,
+    const word& type
 )
 :
-    RASModel(modelName, U, phi, transport, turbulenceModelName),
+    eddyViscosity<incompressible::RASModel>
+    (
+        type,
+        alpha,
+        rho,
+        U,
+        alphaRhoPhi,
+        phi,
+        transport,
+        propertiesName
+    ),
 
     Cmu_
     (
@@ -96,7 +118,7 @@ LamBremhorstKE::LamBremhorstKE
     (
         IOobject
         (
-            "k",
+            IOobject::groupName("k", U.group()),
             runTime_.timeName(),
             mesh_,
             IOobject::MUST_READ,
@@ -109,7 +131,7 @@ LamBremhorstKE::LamBremhorstKE
     (
         IOobject
         (
-            "epsilon",
+            IOobject::groupName("epsilon", U.group()),
             runTime_.timeName(),
             mesh_,
             IOobject::MUST_READ,
@@ -126,103 +148,24 @@ LamBremhorstKE::LamBremhorstKE
     (
         sqr(scalar(1) - exp(-0.0165*(sqrt(k_)*y_/nu())))
        *(scalar(1) + 20.5/(Rt_ + SMALL))
-    ),
-
-    nut_
-    (
-        IOobject
-        (
-            "nut",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateLowReNut("nut", mesh_)
     )
 {
     bound(k_, kMin_);
     // already bounded: bound(epsilon_, epsilonMin_);
 
-    nut_ = Cmu_*fMu_*sqr(k_)/epsilon_;
-    nut_.correctBoundaryConditions();
-
-    printCoeffs();
+    if (type == typeName)
+    {
+        correctNut();
+        printCoeffs(type);
+    }
 }
 
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-tmp<volSymmTensorField> LamBremhorstKE::R() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "R",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            ((2.0/3.0)*I)*k_ - nut_*twoSymm(fvc::grad(U_)),
-            k_.boundaryField().types()
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> LamBremhorstKE::devReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-           -nuEff()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> LamBremhorstKE::divDevReff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(nuEff(), U)
-      - fvc::div(nuEff()*dev(T(fvc::grad(U))))
-    );
-}
-
-
-tmp<fvVectorMatrix> LamBremhorstKE::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    volScalarField muEff("muEff", rho*nuEff());
-
-    return
-    (
-      - fvm::laplacian(muEff, U)
-      - fvc::div(muEff*dev(T(fvc::grad(U))))
-    );
-}
-
-
 bool LamBremhorstKE::read()
 {
-    if (RASModel::read())
+    if (eddyViscosity<incompressible::RASModel>::read())
     {
         Cmu_.readIfPresent(coeffDict());
         C1_.readIfPresent(coeffDict());
@@ -240,7 +183,7 @@ bool LamBremhorstKE::read()
 
 void LamBremhorstKE::correct()
 {
-    RASModel::correct();
+    eddyViscosity<incompressible::RASModel>::correct();
 
     if (!turbulence_)
     {
@@ -293,9 +236,7 @@ void LamBremhorstKE::correct()
     solve(kEqn);
     bound(k_, kMin_);
 
-
-    // Re-calculate viscosity
-    nut_ == Cmu_*fMu_*sqr(k_)/epsilon_;
+    correctNut();
 }
 
 
diff --git a/src/turbulenceModels/incompressible/RAS/LamBremhorstKE/LamBremhorstKE.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LamBremhorstKE/LamBremhorstKE.H
similarity index 81%
rename from src/turbulenceModels/incompressible/RAS/LamBremhorstKE/LamBremhorstKE.H
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LamBremhorstKE/LamBremhorstKE.H
index 30e590cad7d..4041e045210 100644
--- a/src/turbulenceModels/incompressible/RAS/LamBremhorstKE/LamBremhorstKE.H
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LamBremhorstKE/LamBremhorstKE.H
@@ -39,8 +39,8 @@ SourceFiles
 #ifndef LamBremhorstKE_H
 #define LamBremhorstKE_H
 
-#include "RASModel.H"
-#include "wallDist.H"
+#include "turbulentTransportModel.H"
+#include "eddyViscosity.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -57,7 +57,7 @@ namespace RASModels
 
 class LamBremhorstKE
 :
-    public RASModel
+    public eddyViscosity<incompressible::RASModel>
 {
 
 protected:
@@ -80,7 +80,11 @@ protected:
         volScalarField Rt_;
 
         volScalarField fMu_;
-        volScalarField nut_;
+
+
+    // Protected Member Functions
+
+        virtual void correctNut();
 
 
 public:
@@ -94,11 +98,14 @@ public:
         //- Construct from components
         LamBremhorstKE
         (
+            const geometricOneField& alpha,
+            const geometricOneField& rho,
             const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
             const surfaceScalarField& phi,
             const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
+            const word& propertiesName = turbulenceModel::propertiesName,
+            const word& type = typeName
         );
 
 
@@ -109,11 +116,8 @@ public:
 
     // Member Functions
 
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> nut() const
-        {
-            return nut_;
-        }
+        //- Read RASProperties dictionary
+        virtual bool read();
 
         //- Return the effective diffusivity for k
         tmp<volScalarField> DkEff() const
@@ -145,27 +149,8 @@ public:
             return epsilon_;
         }
 
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const;
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const;
-
         //- Solve the turbulence equations and correct the turbulence viscosity
         virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
 };
 
 
diff --git a/src/turbulenceModels/incompressible/RAS/LienCubicKE/LienCubicKE.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKE/LienCubicKE.C
similarity index 67%
rename from src/turbulenceModels/incompressible/RAS/LienCubicKE/LienCubicKE.C
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKE/LienCubicKE.C
index 4065ab267ef..30f7de7b591 100644
--- a/src/turbulenceModels/incompressible/RAS/LienCubicKE/LienCubicKE.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKE/LienCubicKE.C
@@ -24,10 +24,9 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "LienCubicKE.H"
+#include "bound.H"
 #include "addToRunTimeSelectionTable.H"
 
-#include "backwardsCompatibilityWallFunctions.H"
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
@@ -42,18 +41,82 @@ namespace RASModels
 defineTypeNameAndDebug(LienCubicKE, 0);
 addToRunTimeSelectionTable(RASModel, LienCubicKE, dictionary);
 
+// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
+
+void LienCubicKE::correctNut()
+{
+    nut_ =
+        Cmu_*sqr(k_)/epsilon_
+        // C5 term, implicit
+      + max
+        (
+            C5viscosity_,
+            dimensionedScalar("0", C5viscosity_.dimensions(), 0.0)
+        );
+
+    nut_.correctBoundaryConditions();
+}
+
+
+void LienCubicKE::correctNonlinearStress(const volTensorField& gradU)
+{
+    nonlinearStress_ = symm
+    (
+        // quadratic terms
+        pow3(k_)/sqr(epsilon_)
+       *(
+            Ctau1_/fEta_
+           *(
+                (gradU & gradU)
+              + (gradU & gradU)().T()
+            )
+          + Ctau2_/fEta_*(gradU & gradU.T())
+          + Ctau3_/fEta_*(gradU.T() & gradU)
+        )
+        // cubic term C4
+      - 20.0*pow4(k_)/pow3(epsilon_)
+       *pow3(Cmu_)
+       *(
+            ((gradU & gradU) & gradU.T())
+          + ((gradU & gradU.T()) & gradU.T())
+          - ((gradU.T() & gradU) & gradU)
+          - ((gradU.T() & gradU.T()) & gradU)
+        )
+        // cubic term C5, explicit part
+      + min
+        (
+            C5viscosity_,
+            dimensionedScalar("0", C5viscosity_.dimensions(), 0.0)
+        )*gradU
+    );
+}
+
+
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 LienCubicKE::LienCubicKE
 (
+    const geometricOneField& alpha,
+    const geometricOneField& rho,
     const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
     const surfaceScalarField& phi,
     const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
+    const word& propertiesName,
+    const word& type
 )
 :
-    RASModel(modelName, U, phi, transport, turbulenceModelName),
+    nonlinearEddyViscosity<incompressible::RASModel>
+    (
+        type,
+        alpha,
+        rho,
+        U,
+        alphaRhoPhi,
+        phi,
+        transport,
+        propertiesName
+    ),
 
     C1_
     (
@@ -150,25 +213,25 @@ LienCubicKE::LienCubicKE
     (
         IOobject
         (
-            "k",
+            IOobject::groupName("k", U.group()),
             runTime_.timeName(),
             mesh_,
-            IOobject::NO_READ,
+            IOobject::MUST_READ,
             IOobject::AUTO_WRITE
         ),
-        autoCreateK("k", mesh_)
+        mesh_
     ),
     epsilon_
     (
         IOobject
         (
-            "epsilon",
+            IOobject::groupName("epsilon", U.group()),
             runTime_.timeName(),
             mesh_,
-            IOobject::NO_READ,
+            IOobject::MUST_READ,
             IOobject::AUTO_WRITE
         ),
-        autoCreateEpsilon("epsilon", mesh_)
+        mesh_
     ),
 
     eta_
@@ -182,142 +245,34 @@ LienCubicKE::LienCubicKE
        *sqrt(2.0*magSqr(0.5*(fvc::grad(U) - T(fvc::grad(U)))))
     ),
     Cmu_(2.0/(3.0*(A1_ + eta_ + alphaKsi_*ksi_))),
-    fEta_(A2_ + pow(eta_, 3.0)),
+    fEta_(A2_ + pow3(eta_)),
 
     C5viscosity_
     (
-      - 2.0*pow3(Cmu_)*pow4(k_)/pow3(epsilon_)
+       -2.0*pow3(Cmu_)*pow4(k_)/pow3(epsilon_)
        *(
             magSqr(fvc::grad(U) + T(fvc::grad(U)))
           - magSqr(fvc::grad(U) - T(fvc::grad(U)))
         )
-    ),
-
-    nut_
-    (
-        IOobject
-        (
-            "nut",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateNut("nut", mesh_)
-    ),
-
-    nonlinearStress_
-    (
-        "nonlinearStress",
-        // quadratic terms
-        symm
-        (
-            pow(k_, 3.0)/sqr(epsilon_)
-           *(
-                Ctau1_/fEta_
-               *(
-                    (fvc::grad(U) & fvc::grad(U))
-                  + (fvc::grad(U) & fvc::grad(U))().T()
-                )
-              + Ctau2_/fEta_*(fvc::grad(U) & T(fvc::grad(U)))
-              + Ctau3_/fEta_*(T(fvc::grad(U)) & fvc::grad(U))
-            )
-            // cubic term C4
-          - 20.0*pow(k_, 4.0)/pow(epsilon_, 3.0)
-           *pow(Cmu_, 3.0)
-           *(
-                ((fvc::grad(U) & fvc::grad(U)) & T(fvc::grad(U)))
-              + ((fvc::grad(U) & T(fvc::grad(U))) & T(fvc::grad(U)))
-              - ((T(fvc::grad(U)) & fvc::grad(U)) & fvc::grad(U))
-              - ((T(fvc::grad(U)) & T(fvc::grad(U))) & fvc::grad(U))
-            )
-        )
     )
 {
     bound(k_, kMin_);
     // already bounded: bound(epsilon_, epsilonMin_);
 
-    nut_ = Cmu_*sqr(k_)/epsilon_ + C5viscosity_;
-    nut_.correctBoundaryConditions();
-
-    printCoeffs();
+    if (type == typeName)
+    {
+        correctNut();
+        correctNonlinearStress(fvc::grad(U));
+        printCoeffs(type);
+    }
 }
 
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-tmp<volSymmTensorField> LienCubicKE::R() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "R",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            ((2.0/3.0)*I)*k_ - nut_*twoSymm(fvc::grad(U_)) + nonlinearStress_,
-            k_.boundaryField().types()
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> LienCubicKE::devReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-           -nuEff()*dev(twoSymm(fvc::grad(U_))) + nonlinearStress_
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> LienCubicKE::divDevReff(volVectorField& U) const
-{
-    return
-    (
-        fvc::div(nonlinearStress_)
-      - fvm::laplacian(nuEff(), U)
-      - fvc::div(nuEff()*dev(T(fvc::grad(U))))
-    );
-}
-
-
-tmp<fvVectorMatrix> LienCubicKE::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    volScalarField muEff("muEff", rho*nuEff());
-
-    return
-    (
-        fvc::div(rho*nonlinearStress_)
-      - fvm::laplacian(muEff, U)
-      - fvc::div(muEff*dev(T(fvc::grad(U))))
-    );
-}
-
-
 bool LienCubicKE::read()
 {
-    if (RASModel::read())
+    if (nonlinearEddyViscosity<incompressible::RASModel>::read())
     {
         C1_.readIfPresent(coeffDict());
         C2_.readIfPresent(coeffDict());
@@ -341,7 +296,7 @@ bool LienCubicKE::read()
 
 void LienCubicKE::correct()
 {
-    RASModel::correct();
+    nonlinearEddyViscosity<incompressible::RASModel>::correct();
 
     if (!turbulence_)
     {
@@ -404,38 +359,14 @@ void LienCubicKE::correct()
     eta_ = k_/epsilon_*sqrt(2.0*magSqr(0.5*(gradU + gradU.T())));
     ksi_ = k_/epsilon_*sqrt(2.0*magSqr(0.5*(gradU - gradU.T())));
     Cmu_ = 2.0/(3.0*(A1_ + eta_ + alphaKsi_*ksi_));
-    fEta_ = A2_ + pow(eta_, 3.0);
+    fEta_ = A2_ + pow3(eta_);
 
     C5viscosity_ =
-        - 2.0*pow(Cmu_, 3.0)*pow(k_, 4.0)/pow(epsilon_, 3.0)
+       -2.0*pow3(Cmu_)*pow4(k_)/pow3(epsilon_)
        *(magSqr(gradU + gradU.T()) - magSqr(gradU - gradU.T()));
 
-    nut_ = Cmu_*sqr(k_)/epsilon_ + C5viscosity_;
-    nut_.correctBoundaryConditions();
-
-    nonlinearStress_ = symm
-    (
-        // quadratic terms
-        pow(k_, 3.0)/sqr(epsilon_)*
-        (
-            Ctau1_/fEta_*
-            (
-                (gradU & gradU)
-              + (gradU & gradU)().T()
-            )
-          + Ctau2_/fEta_*(gradU & gradU.T())
-          + Ctau3_/fEta_*(gradU.T() & gradU)
-        )
-        // cubic term C4
-      - 20.0*pow(k_, 4.0)/pow(epsilon_, 3.0)
-       *pow(Cmu_, 3.0)
-       *(
-            ((gradU & gradU) & gradU.T())
-          + ((gradU & gradU.T()) & gradU.T())
-          - ((gradU.T() & gradU) & gradU)
-          - ((gradU.T() & gradU.T()) & gradU)
-        )
-    );
+    correctNut();
+    correctNonlinearStress(gradU);
 }
 
 
diff --git a/src/turbulenceModels/incompressible/RAS/LienCubicKE/LienCubicKE.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKE/LienCubicKE.H
similarity index 81%
rename from src/turbulenceModels/incompressible/RAS/LienCubicKE/LienCubicKE.H
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKE/LienCubicKE.H
index 9367a766efc..411244cc7fd 100644
--- a/src/turbulenceModels/incompressible/RAS/LienCubicKE/LienCubicKE.H
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKE/LienCubicKE.H
@@ -38,7 +38,8 @@ SourceFiles
 #ifndef LienCubicKE_H
 #define LienCubicKE_H
 
-#include "RASModel.H"
+#include "turbulentTransportModel.H"
+#include "nonlinearEddyViscosity.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -55,7 +56,7 @@ namespace RASModels
 
 class LienCubicKE
 :
-    public RASModel
+    public nonlinearEddyViscosity<incompressible::RASModel>
 {
 
 protected:
@@ -87,9 +88,11 @@ protected:
             volScalarField fEta_;
             volScalarField C5viscosity_;
 
-            volScalarField nut_;
 
-            volSymmTensorField nonlinearStress_;
+    // Protected Member Functions
+
+        virtual void correctNut();
+        virtual void correctNonlinearStress(const volTensorField& gradU);
 
 
 public:
@@ -102,11 +105,14 @@ public:
         //- Construct from components
         LienCubicKE
         (
+            const geometricOneField& alpha,
+            const geometricOneField& rho,
             const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
             const surfaceScalarField& phi,
             const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
+            const word& propertiesName = turbulenceModel::propertiesName,
+            const word& type = typeName
         );
 
 
@@ -117,11 +123,8 @@ public:
 
     // Member Functions
 
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> nut() const
-        {
-            return nut_;
-        }
+        //- Read RASProperties dictionary
+        virtual bool read();
 
         //- Return the effective diffusivity for k
         tmp<volScalarField> DkEff() const
@@ -153,27 +156,8 @@ public:
             return epsilon_;
         }
 
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const;
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const;
-
         //- Solve the turbulence equations and correct the turbulence viscosity
         virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
 };
 
 
diff --git a/src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowRe.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKELowRe/LienCubicKELowRe.C
similarity index 69%
rename from src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowRe.C
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKELowRe/LienCubicKELowRe.C
index 12a05b4feff..cef1ad5bf31 100644
--- a/src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowRe.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKELowRe/LienCubicKELowRe.C
@@ -24,11 +24,11 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "LienCubicKELowRe.H"
+#include "wallDist.H"
 #include "wallFvPatch.H"
+#include "bound.H"
 #include "addToRunTimeSelectionTable.H"
 
-#include "backwardsCompatibilityWallFunctions.H"
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
@@ -43,18 +43,90 @@ namespace RASModels
 defineTypeNameAndDebug(LienCubicKELowRe, 0);
 addToRunTimeSelectionTable(RASModel, LienCubicKELowRe, dictionary);
 
+// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
+
+tmp<volScalarField> LienCubicKELowRe::fMu()
+{
+    return
+        (scalar(1) - exp(-Am_*yStar_))
+       /(scalar(1) - exp(-Aepsilon_*yStar_) + SMALL);
+}
+
+
+void LienCubicKELowRe::correctNut()
+{
+    nut_ =
+        Cmu_*fMu()*sqr(k_)/epsilon_
+        // C5 term, implicit
+      + max
+        (
+            C5viscosity_,
+            dimensionedScalar("0", C5viscosity_.dimensions(), 0.0)
+        );
+
+    nut_.correctBoundaryConditions();
+}
+
+
+void LienCubicKELowRe::correctNonlinearStress(const volTensorField& gradU)
+{
+    nonlinearStress_ = symm
+    (
+        // quadratic terms
+        pow3(k_)/sqr(epsilon_)
+       *(
+            Ctau1_/fEta_
+           *(
+                (gradU & gradU)
+              + (gradU & gradU)().T()
+            )
+          + Ctau2_/fEta_*(gradU & gradU.T())
+          + Ctau3_/fEta_*(gradU.T() & gradU)
+        )
+        // cubic term C4
+      - 20.0*pow4(k_)/pow3(epsilon_)
+       *pow3(Cmu_)
+       *(
+            ((gradU & gradU) & gradU.T())
+          + ((gradU & gradU.T()) & gradU.T())
+          - ((gradU.T() & gradU) & gradU)
+          - ((gradU.T() & gradU.T()) & gradU)
+        )
+        // cubic term C5, explicit part
+      + min
+        (
+            C5viscosity_,
+            dimensionedScalar("0", C5viscosity_.dimensions(), 0.0)
+        )*gradU
+    );
+}
+
+
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 LienCubicKELowRe::LienCubicKELowRe
 (
+    const geometricOneField& alpha,
+    const geometricOneField& rho,
     const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
     const surfaceScalarField& phi,
     const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
+    const word& propertiesName,
+    const word& type
 )
 :
-    RASModel(modelName, U, phi, transport, turbulenceModelName),
+    nonlinearEddyViscosity<incompressible::RASModel>
+    (
+        type,
+        alpha,
+        rho,
+        U,
+        alphaRhoPhi,
+        phi,
+        transport,
+        propertiesName
+    ),
 
     C1_
     (
@@ -196,7 +268,7 @@ LienCubicKELowRe::LienCubicKELowRe
     (
         IOobject
         (
-            "k",
+            IOobject::groupName("k", U.group()),
             runTime_.timeName(),
             mesh_,
             IOobject::MUST_READ,
@@ -209,7 +281,7 @@ LienCubicKELowRe::LienCubicKELowRe
     (
         IOobject
         (
-            "epsilon",
+            IOobject::groupName("epsilon", U.group()),
             runTime_.timeName(),
             mesh_,
             IOobject::MUST_READ,
@@ -235,156 +307,32 @@ LienCubicKELowRe::LienCubicKELowRe
 
     C5viscosity_
     (
-        -2.0*pow3(Cmu_)*pow4(k_)/pow3(epsilon_)
+       -2.0*pow3(Cmu_)*pow4(k_)/pow3(epsilon_)
        *(
-           magSqr(fvc::grad(U) + T(fvc::grad(U)))
-         - magSqr(fvc::grad(U) - T(fvc::grad(U)))
+            magSqr(fvc::grad(U) + T(fvc::grad(U)))
+          - magSqr(fvc::grad(U) - T(fvc::grad(U)))
         )
     ),
 
-    yStar_(sqrt(k_)*y_/nu() + SMALL),
-
-    nut_
-    (
-        IOobject
-        (
-            "nut",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateLowReNut("nut", mesh_)
-    ),
-
-    nonlinearStress_
-    (
-        "nonlinearStress",
-        symm
-        (
-            // quadratic terms
-            pow3(k_)/sqr(epsilon_)
-           *(
-                Ctau1_/fEta_
-               *(
-                    (fvc::grad(U) & fvc::grad(U))
-                  + (fvc::grad(U) & fvc::grad(U))().T()
-                )
-              + Ctau2_/fEta_*(fvc::grad(U) & T(fvc::grad(U)))
-              + Ctau3_/fEta_*(T(fvc::grad(U)) & fvc::grad(U))
-            )
-            // cubic term C4
-          - 20.0*pow4(k_)/pow3(epsilon_)
-           *pow3(Cmu_)
-           *(
-                ((fvc::grad(U) & fvc::grad(U)) & T(fvc::grad(U)))
-              + ((fvc::grad(U) & T(fvc::grad(U))) & T(fvc::grad(U)))
-              - ((T(fvc::grad(U)) & fvc::grad(U)) & fvc::grad(U))
-              - ((T(fvc::grad(U)) & T(fvc::grad(U))) & fvc::grad(U))
-            )
-            // cubic term C5, explicit part
-          + min
-            (
-                C5viscosity_,
-                dimensionedScalar("0", C5viscosity_.dimensions(), 0.0)
-            )*fvc::grad(U)
-        )
-    )
+    yStar_(sqrt(k_)*y_/nu() + SMALL)
 {
     bound(k_, kMin_);
     // already bounded: bound(epsilon_, epsilonMin_);
 
-    nut_ = Cmu_
-      * (scalar(1) - exp(-Am_*yStar_))
-      / (scalar(1) - exp(-Aepsilon_*yStar_) + SMALL)
-      * sqr(k_)/epsilon_
-        // cubic term C5, implicit part
-      + max
-        (
-            C5viscosity_,
-            dimensionedScalar("0", C5viscosity_.dimensions(), 0.0)
-        );
-
-    nut_.correctBoundaryConditions();
-
-    printCoeffs();
+    if (type == typeName)
+    {
+        correctNut();
+        correctNonlinearStress(fvc::grad(U));
+        printCoeffs(type);
+    }
 }
 
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-tmp<volSymmTensorField> LienCubicKELowRe::R() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "R",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            ((2.0/3.0)*I)*k_ - nut_*twoSymm(fvc::grad(U_)) + nonlinearStress_,
-            k_.boundaryField().types()
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> LienCubicKELowRe::devReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-           -nuEff()*dev(twoSymm(fvc::grad(U_))) + nonlinearStress_
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> LienCubicKELowRe::divDevReff(volVectorField& U) const
-{
-    return
-    (
-        fvc::div(nonlinearStress_)
-      - fvm::laplacian(nuEff(), U)
-      - fvc::div(nuEff()*dev(T(fvc::grad(U))))
-    );
-}
-
-
-tmp<fvVectorMatrix> LienCubicKELowRe::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    volScalarField muEff("muEff", rho*nuEff());
-
-    return
-    (
-        fvc::div(rho*nonlinearStress_)
-      - fvm::laplacian(muEff, U)
-      - fvc::div(muEff*dev(T(fvc::grad(U))))
-    );
-}
-
-
 bool LienCubicKELowRe::read()
 {
-    if (RASModel::read())
+    if (nonlinearEddyViscosity<incompressible::RASModel>::read())
     {
         C1_.readIfPresent(coeffDict());
         C2_.readIfPresent(coeffDict());
@@ -413,7 +361,7 @@ bool LienCubicKELowRe::read()
 
 void LienCubicKELowRe::correct()
 {
-    RASModel::correct();
+    nonlinearEddyViscosity<incompressible::RASModel>::correct();
 
     if (!turbulence_)
     {
@@ -429,11 +377,6 @@ void LienCubicKELowRe::correct()
     yStar_ = sqrt(k_)*y_/nu() + SMALL;
     tmp<volScalarField> Rt = sqr(k_)/(nu()*epsilon_);
 
-    const volScalarField fMu
-    (
-        (scalar(1) - exp(-Am_*yStar_))
-       /(scalar(1) - exp(-Aepsilon_*yStar_) + SMALL)
-    );
     const volScalarField f2
     (
         scalar(1) - 0.3*exp(-sqr(Rt))
@@ -442,7 +385,7 @@ void LienCubicKELowRe::correct()
     volScalarField G
     (
         GName(),
-        Cmu_*fMu*sqr(k_)/epsilon_*S2 - (nonlinearStress_ && gradU)
+        Cmu_*fMu()*sqr(k_)/epsilon_*S2 - (nonlinearStress_ && gradU)
     );
 
     // Dissipation equation
@@ -491,50 +434,14 @@ void LienCubicKELowRe::correct()
     eta_ = k_/epsilon_*sqrt(2.0*magSqr(0.5*(gradU + gradU.T())));
     ksi_ = k_/epsilon_*sqrt(2.0*magSqr(0.5*(gradU - gradU.T())));
     Cmu_ = 2.0/(3.0*(A1_ + eta_ + alphaKsi_*ksi_));
-    fEta_ = A2_ + pow(eta_, 3.0);
+    fEta_ = A2_ + pow3(eta_);
 
     C5viscosity_ =
-      - 2.0*pow(Cmu_, 3.0)*pow(k_, 4.0)/pow(epsilon_, 3.0)
+       -2.0*pow3(Cmu_)*pow4(k_)/pow3(epsilon_)
        *(magSqr(gradU + gradU.T()) - magSqr(gradU - gradU.T()));
 
-    nut_ =
-        Cmu_*fMu*sqr(k_)/epsilon_
-        // C5 term, implicit
-      + max
-        (
-            C5viscosity_,
-            dimensionedScalar("0", C5viscosity_.dimensions(), 0.0)
-        );
-
-    nonlinearStress_ = symm
-    (
-        // quadratic terms
-        pow(k_, 3.0)/sqr(epsilon_)
-       *(
-            Ctau1_/fEta_
-           *(
-                (gradU & gradU)
-              + (gradU & gradU)().T()
-            )
-          + Ctau2_/fEta_*(gradU & gradU.T())
-          + Ctau3_/fEta_*(gradU.T() & gradU)
-        )
-        // cubic term C4
-      - 20.0*pow(k_, 4.0)/pow(epsilon_, 3.0)
-       *pow(Cmu_, 3.0)
-       *(
-            ((gradU & gradU) & gradU.T())
-          + ((gradU & gradU.T()) & gradU.T())
-          - ((gradU.T() & gradU) & gradU)
-          - ((gradU.T() & gradU.T()) & gradU)
-        )
-        // cubic term C5, explicit part
-      + min
-        (
-            C5viscosity_,
-            dimensionedScalar("0", C5viscosity_.dimensions(), 0.0)
-        )*gradU
-    );
+    correctNut();
+    correctNonlinearStress(gradU);
 }
 
 
diff --git a/src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowRe.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKELowRe/LienCubicKELowRe.H
similarity index 84%
rename from src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowRe.H
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKELowRe/LienCubicKELowRe.H
index a7dcac84c2c..40faf67621d 100644
--- a/src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowRe.H
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKELowRe/LienCubicKELowRe.H
@@ -53,8 +53,8 @@ SourceFiles
 #ifndef LienCubicKELowRe_H
 #define LienCubicKELowRe_H
 
-#include "RASModel.H"
-#include "wallDist.H"
+#include "turbulentTransportModel.H"
+#include "nonlinearEddyViscosity.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -71,7 +71,7 @@ namespace RASModels
 
 class LienCubicKELowRe
 :
-    public RASModel
+    public nonlinearEddyViscosity<incompressible::RASModel>
 {
 
 protected:
@@ -117,9 +117,13 @@ protected:
 
             volScalarField yStar_;
 
-            volScalarField nut_;
 
-            volSymmTensorField nonlinearStress_;
+    // Protected Member Functions
+
+        tmp<volScalarField> fMu();
+
+        virtual void correctNut();
+        virtual void correctNonlinearStress(const volTensorField& gradU);
 
 
 public:
@@ -132,11 +136,14 @@ public:
         //- Construct from components
         LienCubicKELowRe
         (
+            const geometricOneField& alpha,
+            const geometricOneField& rho,
             const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
             const surfaceScalarField& phi,
             const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
+            const word& propertiesName = turbulenceModel::propertiesName,
+            const word& type = typeName
         );
 
 
@@ -147,11 +154,8 @@ public:
 
     // Member Functions
 
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> nut() const
-        {
-            return nut_;
-        }
+        //- Read RASProperties dictionary
+        virtual bool read();
 
         //- Return the effective diffusivity for k
         tmp<volScalarField> DkEff() const
@@ -183,27 +187,8 @@ public:
             return epsilon_;
         }
 
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const;
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const;
-
         //- Solve the turbulence equations and correct the turbulence viscosity
         virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
 };
 
 
diff --git a/src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowReSetWallDissipation.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKELowRe/LienCubicKELowReSetWallDissipation.H
similarity index 100%
rename from src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowReSetWallDissipation.H
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKELowRe/LienCubicKELowReSetWallDissipation.H
diff --git a/src/turbulenceModels/incompressible/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.C
similarity index 72%
rename from src/turbulenceModels/incompressible/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.C
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.C
index 5b4c77477cd..65880a8a825 100644
--- a/src/turbulenceModels/incompressible/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.C
@@ -24,11 +24,11 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "LienLeschzinerLowRe.H"
+#include "wallDist.H"
 #include "wallFvPatch.H"
+#include "bound.H"
 #include "addToRunTimeSelectionTable.H"
 
-#include "backwardsCompatibilityWallFunctions.H"
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
@@ -43,18 +43,48 @@ namespace RASModels
 defineTypeNameAndDebug(LienLeschzinerLowRe, 0);
 addToRunTimeSelectionTable(RASModel, LienLeschzinerLowRe, dictionary);
 
+// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
+
+tmp<volScalarField> LienLeschzinerLowRe::fMu()
+{
+    return
+        (scalar(1) - exp(-Am_*yStar_))
+       /(scalar(1) - exp(-Aepsilon_*yStar_) + SMALL);
+}
+
+
+void LienLeschzinerLowRe::correctNut()
+{
+    nut_ = Cmu_*fMu()*sqr(k_)/epsilon_;
+    nut_.correctBoundaryConditions();
+}
+
+
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 LienLeschzinerLowRe::LienLeschzinerLowRe
 (
+    const geometricOneField& alpha,
+    const geometricOneField& rho,
     const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
     const surfaceScalarField& phi,
     const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
+    const word& propertiesName,
+    const word& type
 )
 :
-    RASModel(modelName, U, phi, transport, turbulenceModelName),
+    eddyViscosity<incompressible::RASModel>
+    (
+        type,
+        alpha,
+        rho,
+        U,
+        alphaRhoPhi,
+        phi,
+        transport,
+        propertiesName
+    ),
 
     C1_
     (
@@ -142,7 +172,7 @@ LienLeschzinerLowRe::LienLeschzinerLowRe
     (
         IOobject
         (
-            "k",
+            IOobject::groupName("k", U.group()),
             runTime_.timeName(),
             mesh_,
             IOobject::MUST_READ,
@@ -155,7 +185,7 @@ LienLeschzinerLowRe::LienLeschzinerLowRe
     (
         IOobject
         (
-            "epsilon",
+            IOobject::groupName("epsilon", U.group()),
             runTime_.timeName(),
             mesh_,
             IOobject::MUST_READ,
@@ -166,107 +196,24 @@ LienLeschzinerLowRe::LienLeschzinerLowRe
 
     y_(wallDist::New(mesh_).y()),
 
-    yStar_(sqrt(k_)*y_/nu() + SMALL),
-
-    nut_
-    (
-        IOobject
-        (
-            "nut",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateLowReNut("nut", mesh_)
-    )
+    yStar_(sqrt(k_)*y_/nu() + SMALL)
 {
     bound(k_, kMin_);
     bound(epsilon_, epsilonMin_);
 
-    nut_ = Cmu_*(scalar(1) - exp(-Am_*yStar_))
-       /(scalar(1) - exp(-Aepsilon_*yStar_) + SMALL)*sqr(k_)
-       /(epsilon_);
-    nut_.correctBoundaryConditions();
-
-    printCoeffs();
+    if (type == typeName)
+    {
+        correctNut();
+        printCoeffs(type);
+    }
 }
 
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-tmp<volSymmTensorField> LienLeschzinerLowRe::R() const
-{
-    tmp<volTensorField> gradU = fvc::grad(U_);
-
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "R",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            ((2.0/3.0)*I)*k_ - nut_*twoSymm(gradU),
-            k_.boundaryField().types()
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> LienLeschzinerLowRe::devReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-           -nuEff()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> LienLeschzinerLowRe::divDevReff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(nuEff(), U)
-      - fvc::div(nuEff()*T(fvc::grad(U)))
-    );
-}
-
-
-tmp<fvVectorMatrix> LienLeschzinerLowRe::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    volScalarField muEff("muEff", rho*nuEff());
-
-    return
-    (
-      - fvm::laplacian(muEff, U)
-      - fvc::div(muEff*dev(T(fvc::grad(U))))
-    );
-}
-
-
 bool LienLeschzinerLowRe::read()
 {
-    if (RASModel::read())
+    if (eddyViscosity<incompressible::RASModel>::read())
     {
         C1_.readIfPresent(coeffDict());
         C2_.readIfPresent(coeffDict());
@@ -289,7 +236,7 @@ bool LienLeschzinerLowRe::read()
 
 void LienLeschzinerLowRe::correct()
 {
-    RASModel::correct();
+    eddyViscosity<incompressible::RASModel>::correct();
 
     if (!turbulence_)
     {
@@ -306,15 +253,9 @@ void LienLeschzinerLowRe::correct()
     yStar_ = sqrt(k_)*y_/nu() + SMALL;
     tmp<volScalarField> Rt = sqr(k_)/(nu()*epsilon_);
 
-    volScalarField fMu
-    (
-        (scalar(1) - exp(-Am_*yStar_))
-       /(scalar(1) - exp(-Aepsilon_*yStar_) + SMALL)
-    );
-
     const volScalarField f2(scalar(1) - 0.3*exp(-sqr(Rt)));
 
-    volScalarField G(GName(), Cmu_*fMu*sqr(k_)/epsilon_*S2);
+    volScalarField G(GName(), Cmu_*fMu()*sqr(k_)/epsilon_*S2);
 
 
     // Dissipation equation
@@ -357,9 +298,7 @@ void LienLeschzinerLowRe::correct()
     solve(kEqn);
     bound(k_, kMin_);
 
-
-    // Re-calculate viscosity
-    nut_ = Cmu_*fMu*sqr(k_)/epsilon_;
+    correctNut();
 }
 
 
diff --git a/src/turbulenceModels/incompressible/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.H
similarity index 82%
rename from src/turbulenceModels/incompressible/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.H
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.H
index c9d664ce0d4..206abb09b25 100644
--- a/src/turbulenceModels/incompressible/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.H
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.H
@@ -39,8 +39,8 @@ SourceFiles
 #ifndef LienLeschzinerLowRe_H
 #define LienLeschzinerLowRe_H
 
-#include "RASModel.H"
-#include "wallDist.H"
+#include "turbulentTransportModel.H"
+#include "eddyViscosity.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -57,7 +57,7 @@ namespace RASModels
 
 class LienLeschzinerLowRe
 :
-    public RASModel
+    public eddyViscosity<incompressible::RASModel>
 {
 
 protected:
@@ -90,7 +90,12 @@ protected:
 
             volScalarField yStar_;
 
-            volScalarField nut_;
+
+    // Protected Member Functions
+
+        tmp<volScalarField> fMu();
+
+        virtual void correctNut();
 
 
 public:
@@ -102,11 +107,14 @@ public:
         //- Construct from components
         LienLeschzinerLowRe
         (
+            const geometricOneField& alpha,
+            const geometricOneField& rho,
             const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
             const surfaceScalarField& phi,
             const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
+            const word& propertiesName = turbulenceModel::propertiesName,
+            const word& type = typeName
         );
 
 
@@ -117,11 +125,8 @@ public:
 
     // Member Functions
 
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> nut() const
-        {
-            return nut_;
-        }
+        //- Read RASProperties dictionary
+        virtual bool read();
 
         //- Return the effective diffusivity for k
         tmp<volScalarField> DkEff() const
@@ -153,27 +158,8 @@ public:
             return epsilon_;
         }
 
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const;
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const;
-
         //- Solve the turbulence equations and correct the turbulence viscosity
         virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
 };
 
 
diff --git a/src/turbulenceModels/incompressible/RAS/LienLeschzinerLowRe/LienLeschzinerLowReSetWallDissipation.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienLeschzinerLowRe/LienLeschzinerLowReSetWallDissipation.H
similarity index 100%
rename from src/turbulenceModels/incompressible/RAS/LienLeschzinerLowRe/LienLeschzinerLowReSetWallDissipation.H
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienLeschzinerLowRe/LienLeschzinerLowReSetWallDissipation.H
diff --git a/src/turbulenceModels/incompressible/RAS/RNGkEpsilon/RNGkEpsilon.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/RNGkEpsilon/RNGkEpsilon.C
similarity index 71%
rename from src/turbulenceModels/incompressible/RAS/RNGkEpsilon/RNGkEpsilon.C
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/RNGkEpsilon/RNGkEpsilon.C
index 12cbbfcd8ec..1dd88649828 100644
--- a/src/turbulenceModels/incompressible/RAS/RNGkEpsilon/RNGkEpsilon.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/RNGkEpsilon/RNGkEpsilon.C
@@ -24,10 +24,9 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "RNGkEpsilon.H"
+#include "bound.H"
 #include "addToRunTimeSelectionTable.H"
 
-#include "backwardsCompatibilityWallFunctions.H"
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
@@ -42,18 +41,40 @@ namespace RASModels
 defineTypeNameAndDebug(RNGkEpsilon, 0);
 addToRunTimeSelectionTable(RASModel, RNGkEpsilon, dictionary);
 
+// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
+
+void RNGkEpsilon::correctNut()
+{
+    nut_ = Cmu_*sqr(k_)/epsilon_;
+    nut_.correctBoundaryConditions();
+}
+
+
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 RNGkEpsilon::RNGkEpsilon
 (
+    const geometricOneField& alpha,
+    const geometricOneField& rho,
     const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
     const surfaceScalarField& phi,
     const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
+    const word& propertiesName,
+    const word& type
 )
 :
-    RASModel(modelName, U, phi, transport, turbulenceModelName),
+    eddyViscosity<incompressible::RASModel>
+    (
+        type,
+        alpha,
+        rho,
+        U,
+        alphaRhoPhi,
+        phi,
+        transport,
+        propertiesName
+    ),
 
     Cmu_
     (
@@ -123,122 +144,43 @@ RNGkEpsilon::RNGkEpsilon
     (
         IOobject
         (
-            "k",
+            IOobject::groupName("k", U.group()),
             runTime_.timeName(),
             mesh_,
-            IOobject::NO_READ,
+            IOobject::MUST_READ,
             IOobject::AUTO_WRITE
         ),
-        autoCreateK("k", mesh_)
+        mesh_
     ),
     epsilon_
     (
         IOobject
         (
-            "epsilon",
+            IOobject::groupName("epsilon", U.group()),
             runTime_.timeName(),
             mesh_,
-            IOobject::NO_READ,
+            IOobject::MUST_READ,
             IOobject::AUTO_WRITE
         ),
-        autoCreateEpsilon("epsilon", mesh_)
-    ),
-    nut_
-    (
-        IOobject
-        (
-            "nut",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateNut("nut", mesh_)
+        mesh_
     )
 {
     bound(k_, kMin_);
     bound(epsilon_, epsilonMin_);
 
-    nut_ = Cmu_*sqr(k_)/epsilon_;
-    nut_.correctBoundaryConditions();
-
-    printCoeffs();
+    if (type == typeName)
+    {
+        correctNut();
+        printCoeffs(type);
+    }
 }
 
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-
-tmp<volSymmTensorField> RNGkEpsilon::R() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "R",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            ((2.0/3.0)*I)*k_ - nut_*twoSymm(fvc::grad(U_)),
-            k_.boundaryField().types()
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> RNGkEpsilon::devReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-           -nuEff()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> RNGkEpsilon::divDevReff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(nuEff(), U)
-      - fvc::div(nuEff()*dev(T(fvc::grad(U))))
-    );
-}
-
-
-tmp<fvVectorMatrix> RNGkEpsilon::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    volScalarField muEff("muEff", rho*nuEff());
-
-    return
-    (
-      - fvm::laplacian(muEff, U)
-      - fvc::div(muEff*dev(T(fvc::grad(U))))
-    );
-}
-
-
 bool RNGkEpsilon::read()
 {
-    if (RASModel::read())
+    if (eddyViscosity<incompressible::RASModel>::read())
     {
         Cmu_.readIfPresent(coeffDict());
         C1_.readIfPresent(coeffDict());
@@ -259,7 +201,7 @@ bool RNGkEpsilon::read()
 
 void RNGkEpsilon::correct()
 {
-    RASModel::correct();
+    eddyViscosity<incompressible::RASModel>::correct();
 
     if (!turbulence_)
     {
@@ -286,7 +228,6 @@ void RNGkEpsilon::correct()
       - fvm::laplacian(DepsilonEff(), epsilon_)
      ==
         (C1_ - R)*G*epsilon_/k_
-    //- fvm::SuSp(R*G/k_, epsilon_)
       - fvm::Sp(C2_*epsilon_/k_, epsilon_)
     );
 
@@ -313,10 +254,7 @@ void RNGkEpsilon::correct()
     solve(kEqn);
     bound(k_, kMin_);
 
-
-    // Re-calculate viscosity
-    nut_ = Cmu_*sqr(k_)/epsilon_;
-    nut_.correctBoundaryConditions();
+    correctNut();
 }
 
 
diff --git a/src/turbulenceModels/incompressible/RAS/RNGkEpsilon/RNGkEpsilon.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/RNGkEpsilon/RNGkEpsilon.H
similarity index 83%
rename from src/turbulenceModels/incompressible/RAS/RNGkEpsilon/RNGkEpsilon.H
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/RNGkEpsilon/RNGkEpsilon.H
index caaa4f2d84a..1d32e4aaadc 100644
--- a/src/turbulenceModels/incompressible/RAS/RNGkEpsilon/RNGkEpsilon.H
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/RNGkEpsilon/RNGkEpsilon.H
@@ -60,7 +60,8 @@ SourceFiles
 #ifndef RNGkEpsilon_H
 #define RNGkEpsilon_H
 
-#include "RASModel.H"
+#include "turbulentTransportModel.H"
+#include "eddyViscosity.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -77,7 +78,7 @@ namespace RASModels
 
 class RNGkEpsilon
 :
-    public RASModel
+    public eddyViscosity<incompressible::RASModel>
 {
 
 protected:
@@ -99,7 +100,11 @@ protected:
 
             volScalarField k_;
             volScalarField epsilon_;
-            volScalarField nut_;
+
+
+    // Protected Member Functions
+
+        virtual void correctNut();
 
 
 public:
@@ -112,11 +117,14 @@ public:
         //- Construct from components
         RNGkEpsilon
         (
+            const geometricOneField& alpha,
+            const geometricOneField& rho,
             const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
             const surfaceScalarField& phi,
             const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
+            const word& propertiesName = turbulenceModel::propertiesName,
+            const word& type = typeName
         );
 
 
@@ -127,11 +135,8 @@ public:
 
     // Member Functions
 
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> nut() const
-        {
-            return nut_;
-        }
+        //- Read RASProperties dictionary
+        virtual bool read();
 
         //- Return the effective diffusivity for k
         tmp<volScalarField> DkEff() const
@@ -163,27 +168,8 @@ public:
             return epsilon_;
         }
 
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const;
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const;
-
         //- Solve the turbulence equations and correct the turbulence viscosity
         virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
 };
 
 
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/derivedFvPatchFields/wallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.C
similarity index 92%
rename from src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.C
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/derivedFvPatchFields/wallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.C
index c24937c520d..fa2652446bc 100644
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/derivedFvPatchFields/wallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,11 +24,10 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "fWallFunctionFvPatchScalarField.H"
-#include "RASModel.H"
+#include "v2f.H"
 #include "fvPatchFieldMapper.H"
 #include "volFields.H"
 #include "wallFvPatch.H"
-#include "v2f.H"
 #include "addToRunTimeSelectionTable.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -174,13 +173,19 @@ void fWallFunctionFvPatchScalarField::updateCoeffs()
         return;
     }
 
-    const label patchI = patch().index();
+    const label patchi = patch().index();
 
-    const turbulenceModel& turbulence =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
+    const turbulenceModel& turbulence = db().lookupObject<turbulenceModel>
+    (
+        IOobject::groupName
+        (
+            turbulenceModel::propertiesName,
+            dimensionedInternalField().group()
+        )
+    );
     const v2f& v2fModel = refCast<const v2f>(turbulence);
 
-    const scalarField& y = v2fModel.y()[patchI];
+    const scalarField& y = v2fModel.y()[patchi];
 
     const tmp<volScalarField> tk = v2fModel.k();
     const volScalarField& k = tk();
@@ -191,8 +196,8 @@ void fWallFunctionFvPatchScalarField::updateCoeffs()
     const tmp<volScalarField> tv2 = v2fModel.v2();
     const volScalarField& v2 = tv2();
 
-    const tmp<volScalarField> tnu = v2fModel.nu();
-    const scalarField& nuw = tnu().boundaryField()[patchI];
+    const tmp<scalarField> tnuw = turbulence.nu(patchi);
+    const scalarField& nuw = tnuw();
 
     const scalar Cmu25 = pow025(Cmu_);
 
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/derivedFvPatchFields/wallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.H
similarity index 97%
rename from src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.H
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/derivedFvPatchFields/wallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.H
index b5d92d94213..d99d1610264 100644
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.H
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/derivedFvPatchFields/wallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -22,10 +22,10 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::incompressible::RASModels::fWallFunctionFvPatchScalarField
+    Foam::RASModels::fWallFunctionFvPatchScalarField
 
 Group
-    grpIcoWallFunctions
+    grpWallFunctions
 
 Description
     This boundary condition provides a turbulence damping function, f, wall
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/derivedFvPatchFields/wallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C
similarity index 92%
rename from src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/derivedFvPatchFields/wallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C
index 19ae103d79f..c2df8e4a94e 100644
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/derivedFvPatchFields/wallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,7 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "v2WallFunctionFvPatchScalarField.H"
-#include "RASModel.H"
+#include "turbulenceModel.H"
 #include "fvPatchFieldMapper.H"
 #include "volFields.H"
 #include "addToRunTimeSelectionTable.H"
@@ -173,17 +173,23 @@ void v2WallFunctionFvPatchScalarField::updateCoeffs()
         return;
     }
 
-    const label patchI = patch().index();
+    const label patchi = patch().index();
 
-    const turbulenceModel& turbulence =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-    const scalarField& y = turbulence.y()[patchI];
+    const turbulenceModel& turbulence = db().lookupObject<turbulenceModel>
+    (
+        IOobject::groupName
+        (
+            turbulenceModel::propertiesName,
+            dimensionedInternalField().group()
+        )
+    );
+    const scalarField& y = turbulence.y()[patchi];
 
     const tmp<volScalarField> tk = turbulence.k();
     const volScalarField& k = tk();
 
-    const tmp<volScalarField> tnu = turbulence.nu();
-    const scalarField& nuw = tnu().boundaryField()[patchI];
+    const tmp<scalarField> tnuw = turbulence.nu(patchi);
+    const scalarField& nuw = tnuw();
 
     const scalar Cmu25 = pow025(Cmu_);
 
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/derivedFvPatchFields/wallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.H
similarity index 97%
rename from src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.H
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/derivedFvPatchFields/wallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.H
index a0a8cde8e71..e4e8fdafa06 100644
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.H
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/derivedFvPatchFields/wallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -22,10 +22,10 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::incompressible::RASModels::v2WallFunctionFvPatchScalarField
+    Foam::RASModels::v2WallFunctionFvPatchScalarField
 
 Group
-    grpIcoWallFunctions
+    grpWallFunctions
 
 Description
     This boundary condition provides a turbulence stress normal to streamlines
diff --git a/src/turbulenceModels/incompressible/RAS/include/nonLinearWallFunctionsI.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/include/nonLinearWallFunctionsI.H
similarity index 98%
rename from src/turbulenceModels/incompressible/RAS/include/nonLinearWallFunctionsI.H
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/include/nonLinearWallFunctionsI.H
index 90b21921b79..46bf81176f4 100644
--- a/src/turbulenceModels/incompressible/RAS/include/nonLinearWallFunctionsI.H
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/include/nonLinearWallFunctionsI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/turbulenceModels/incompressible/RAS/include/wallDissipationI.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/include/wallDissipationI.H
similarity index 95%
rename from src/turbulenceModels/incompressible/RAS/include/wallDissipationI.H
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/include/wallDissipationI.H
index 3e60bffec7a..a5193336223 100644
--- a/src/turbulenceModels/incompressible/RAS/include/wallDissipationI.H
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/include/wallDissipationI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/turbulenceModels/incompressible/RAS/include/wallNonlinearViscosityI.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/include/wallNonlinearViscosityI.H
similarity index 97%
rename from src/turbulenceModels/incompressible/RAS/include/wallNonlinearViscosityI.H
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/include/wallNonlinearViscosityI.H
index 6b1080d2a57..b6936b49c2e 100644
--- a/src/turbulenceModels/incompressible/RAS/include/wallNonlinearViscosityI.H
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/include/wallNonlinearViscosityI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kOmega/Changes b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kOmega/Changes
new file mode 100644
index 00000000000..51cb377b02b
--- /dev/null
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kOmega/Changes
@@ -0,0 +1,144 @@
+turbulenceModelName -> propertiesName
+modelName -> type
+
+* Header
+*** Includes
+    - Remove
+    #include "RASModel.H"
+    + Add
+    #include "turbulentTransportModel.H"
+    #include "eddyViscosity.H"
+*** Base class
+    - Change
+    RASModel -> eddyViscosity<RASModel>
+*** Protected data
+    - Remove
+    volScalarField nut_;
+*** Constructor
+    + Add
+            const geometricOneField& alpha,
+            const geometricOneField& rho,
+            .
+            const surfaceScalarField& alphaRhoPhi,
+
+*** Private member functions
+    + Add
+    // Protected Member Functions
+
+        virtual void correctNut();
+
+*** Member functions
+    - Remove
+        //- Return the turbulence viscosity
+        virtual tmp<volScalarField> nut() const
+        {
+            return nut_;
+        }
+
+        //- Return the Reynolds stress tensor
+        virtual tmp<volSymmTensorField> R() const;
+
+        //- Return the effective stress tensor including the laminar stress
+        virtual tmp<volSymmTensorField> devReff() const;
+
+        //- Return the source term for the momentum equation
+        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
+
+        //- Return the source term for the momentum equation
+        virtual tmp<fvVectorMatrix> divDevRhoReff
+        (
+            const volScalarField& rho,
+            volVectorField& U
+        ) const;
+
+    + Move to top
+        //- Read RASProperties dictionary
+        virtual bool read();
+
+* Source
+*** Includes
+    + Add
+      #include "bound.H"
+    - Remove
+      #include "backwardsCompatibilityWallFunctions.H"
+*** Constructor
+    + Add arguments
+            const geometricOneField& alpha,
+            const geometricOneField& rho,
+            .
+            const surfaceScalarField& alphaRhoPhi,
+    + Replace
+    RASModel(modelName, U, phi, transport, turbulenceModelName),
+      with
+    eddyViscosity<RASModel>
+    (
+        type,
+        alpha,
+        rho,
+        U,
+        alphaRhoPhi,
+        phi,
+        transport,
+        propertiesName
+    ),
+    + Replace
+    autoCreate.*mesh_) -> mesh_
+    NO_READ -> MUST_READ
+    - Remove
+    nut_
+    (
+        IOobject
+        (
+            "nut",
+            runTime_.timeName(),
+            mesh_,
+            IOobject::NO_READ,
+            IOobject::AUTO_WRITE
+        ),
+        autoCreateNut("nut", mesh_)
+    )
+    + Replace
+    nut_ = k_/omega_;
+    nut_.correctBoundaryConditions();
+
+    printCoeffs();
+
+    with
+
+    if (type == typeName)
+    {
+        correctNut();
+        printCoeffs(type);
+    }
+*** Member functions
+    + Move read to top
+    + Add after read
+void kOmega::correctNut()
+{
+    ....
+    nut_.correctBoundaryConditions();
+}
+    - Remove
+        //- Return the Reynolds stress tensor
+        virtual tmp<volSymmTensorField> R() const;
+
+        //- Return the effective stress tensor including the laminar stress
+        virtual tmp<volSymmTensorField> devReff() const;
+
+        //- Return the source term for the momentum equation
+        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
+
+        //- Return the source term for the momentum equation
+        virtual tmp<fvVectorMatrix> divDevRhoReff
+        (
+            const volScalarField& rho,
+            volVectorField& U
+        ) const;
+
+*** correct()
+    - Replace
+    // Re-calculate viscosity
+    nut_ = Cmu_*sqr(k_)/epsilon_;
+    nut_.correctBoundaryConditions();
+    with
+    correctNut();
diff --git a/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kOmega/kOmega.C
similarity index 68%
rename from src/turbulenceModels/incompressible/RAS/kOmega/kOmega.C
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kOmega/kOmega.C
index 8394f986e97..12a95d07f6b 100644
--- a/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kOmega/kOmega.C
@@ -24,10 +24,9 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "kOmega.H"
+#include "bound.H"
 #include "addToRunTimeSelectionTable.H"
 
-#include "backwardsCompatibilityWallFunctions.H"
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
@@ -42,18 +41,40 @@ namespace RASModels
 defineTypeNameAndDebug(kOmega, 0);
 addToRunTimeSelectionTable(RASModel, kOmega, dictionary);
 
+// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
+
+void kOmega::correctNut()
+{
+    nut_ = k_/omega_;
+    nut_.correctBoundaryConditions();
+}
+
+
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 kOmega::kOmega
 (
+    const geometricOneField& alpha,
+    const geometricOneField& rho,
     const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
     const surfaceScalarField& phi,
     const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
+    const word& propertiesName,
+    const word& type
 )
 :
-    RASModel(modelName, U, phi, transport, turbulenceModelName),
+    eddyViscosity<incompressible::RASModel>
+    (
+        type,
+        alpha,
+        rho,
+        U,
+        alphaRhoPhi,
+        phi,
+        transport,
+        propertiesName
+    ),
 
     Cmu_
     (
@@ -105,121 +126,43 @@ kOmega::kOmega
     (
         IOobject
         (
-            "k",
+            IOobject::groupName("k", U.group()),
             runTime_.timeName(),
             mesh_,
-            IOobject::NO_READ,
+            IOobject::MUST_READ,
             IOobject::AUTO_WRITE
         ),
-        autoCreateK("k", mesh_)
+        mesh_
     ),
     omega_
     (
         IOobject
         (
-            "omega",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateOmega("omega", mesh_)
-    ),
-    nut_
-    (
-        IOobject
-        (
-            "nut",
+            IOobject::groupName("omega", U.group()),
             runTime_.timeName(),
             mesh_,
-            IOobject::NO_READ,
+            IOobject::MUST_READ,
             IOobject::AUTO_WRITE
         ),
-        autoCreateNut("nut", mesh_)
+        mesh_
     )
 {
     bound(k_, kMin_);
     bound(omega_, omegaMin_);
 
-    nut_ = k_/omega_;
-    nut_.correctBoundaryConditions();
-
-    printCoeffs();
+    if (type == typeName)
+    {
+        correctNut();
+        printCoeffs(type);
+    }
 }
 
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-tmp<volSymmTensorField> kOmega::R() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "R",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            ((2.0/3.0)*I)*k_ - nut_*twoSymm(fvc::grad(U_)),
-            k_.boundaryField().types()
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> kOmega::devReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-           -nuEff()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> kOmega::divDevReff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(nuEff(), U)
-      - fvc::div(nuEff()*dev(T(fvc::grad(U))))
-    );
-}
-
-
-tmp<fvVectorMatrix> kOmega::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    volScalarField muEff("muEff", rho*nuEff());
-
-    return
-    (
-      - fvm::laplacian(muEff, U)
-      - fvc::div(muEff*dev(T(fvc::grad(U))))
-    );
-}
-
-
 bool kOmega::read()
 {
-    if (RASModel::read())
+    if (eddyViscosity<incompressible::RASModel>::read())
     {
         Cmu_.readIfPresent(coeffDict());
         beta_.readIfPresent(coeffDict());
@@ -237,7 +180,7 @@ bool kOmega::read()
 
 void kOmega::correct()
 {
-    RASModel::correct();
+    eddyViscosity<incompressible::RASModel>::correct();
 
     if (!turbulence_)
     {
@@ -283,10 +226,7 @@ void kOmega::correct()
     solve(kEqn);
     bound(k_, kMin_);
 
-
-    // Re-calculate viscosity
-    nut_ = k_/omega_;
-    nut_.correctBoundaryConditions();
+    correctNut();
 }
 
 
diff --git a/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kOmega/kOmega.H
similarity index 84%
rename from src/turbulenceModels/incompressible/RAS/kOmega/kOmega.H
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kOmega/kOmega.H
index f2c091305c1..a0b6b732cff 100644
--- a/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.H
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kOmega/kOmega.H
@@ -62,7 +62,8 @@ SourceFiles
 #ifndef kOmega_H
 #define kOmega_H
 
-#include "RASModel.H"
+#include "turbulentTransportModel.H"
+#include "eddyViscosity.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -79,7 +80,7 @@ namespace RASModels
 
 class kOmega
 :
-    public RASModel
+    public eddyViscosity<incompressible::RASModel>
 {
 
 protected:
@@ -99,7 +100,11 @@ protected:
 
             volScalarField k_;
             volScalarField omega_;
-            volScalarField nut_;
+
+
+    // Protected Member Functions
+
+        virtual void correctNut();
 
 
 public:
@@ -107,16 +112,20 @@ public:
     //- Runtime type information
     TypeName("kOmega");
 
+
     // Constructors
 
         //- Construct from components
         kOmega
         (
+            const geometricOneField& alpha,
+            const geometricOneField& rho,
             const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
             const surfaceScalarField& phi,
             const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
+            const word& propertiesName = turbulenceModel::propertiesName,
+            const word& type = typeName
         );
 
 
@@ -127,11 +136,8 @@ public:
 
     // Member Functions
 
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> nut() const
-        {
-            return nut_;
-        }
+        //- Read RASProperties dictionary
+        virtual bool read();
 
         //- Return the effective diffusivity for k
         tmp<volScalarField> DkEff() const
@@ -182,27 +188,8 @@ public:
             );
         }
 
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const;
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const;
-
         //- Solve the turbulence equations and correct the turbulence viscosity
         virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
 };
 
 
diff --git a/src/turbulenceModels/incompressible/RAS/kkLOmega/kkLOmega.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kkLOmega/kkLOmega.C
similarity index 87%
rename from src/turbulenceModels/incompressible/RAS/kkLOmega/kkLOmega.C
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kkLOmega/kkLOmega.C
index b7e8231ca34..a32ce3b4afe 100644
--- a/src/turbulenceModels/incompressible/RAS/kkLOmega/kkLOmega.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kkLOmega/kkLOmega.C
@@ -24,10 +24,10 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "kkLOmega.H"
+#include "bound.H"
+#include "wallDist.H"
 #include "addToRunTimeSelectionTable.H"
 
-#include "backwardsCompatibilityWallFunctions.H"
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
@@ -42,7 +42,7 @@ namespace RASModels
 defineTypeNameAndDebug(kkLOmega, 0);
 addToRunTimeSelectionTable(RASModel, kkLOmega, dictionary);
 
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
+// * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * * //
 
 tmp<volScalarField> kkLOmega::fv(const volScalarField& Ret) const
 {
@@ -200,18 +200,40 @@ tmp<volScalarField> kkLOmega::gammaNAT
 }
 
 
+// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
+
+void kkLOmega::correctNut()
+{
+    nut_ = kt_/omega_;
+    nut_.correctBoundaryConditions();
+}
+
+
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 kkLOmega::kkLOmega
 (
+    const geometricOneField& alpha,
+    const geometricOneField& rho,
     const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
     const surfaceScalarField& phi,
     const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
+    const word& propertiesName,
+    const word& type
 )
 :
-    RASModel(modelName, U, phi, transport, turbulenceModelName),
+    eddyViscosity<incompressible::RASModel>
+    (
+        type,
+        alpha,
+        rho,
+        U,
+        alphaRhoPhi,
+        phi,
+        transport,
+        propertiesName
+    ),
 
     A0_
     (
@@ -460,49 +482,37 @@ kkLOmega::kkLOmega
     (
         IOobject
         (
-            "kt",
+            IOobject::groupName("kt", U.group()),
             runTime_.timeName(),
             mesh_,
-            IOobject::NO_READ,
+            IOobject::MUST_READ,
             IOobject::AUTO_WRITE
         ),
-        autoCreateK("kt", mesh_)
+        mesh_
     ),
     omega_
     (
         IOobject
         (
-            "omega",
+            IOobject::groupName("omega", U.group()),
             runTime_.timeName(),
             mesh_,
-            IOobject::NO_READ,
+            IOobject::MUST_READ,
             IOobject::AUTO_WRITE
         ),
-        autoCreateOmega("omega", mesh_)
+        mesh_
     ),
     kl_
     (
         IOobject
         (
-            "kl",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateK("kl", mesh_)
-    ),
-    nut_
-    (
-        IOobject
-        (
-            "nut",
+            IOobject::groupName("kl", U.group()),
             runTime_.timeName(),
             mesh_,
-            IOobject::NO_READ,
+            IOobject::MUST_READ,
             IOobject::AUTO_WRITE
         ),
-        autoCreateNut("nut", mesh_)
+        mesh_
     ),
     y_(wallDist::New(mesh_).y())
 {
@@ -510,85 +520,22 @@ kkLOmega::kkLOmega
     bound(kl_, kMin_);
     bound(omega_, omegaMin_);
 
-    nut_ = kt_/(omega_ + omegaMin_);
-    nut_.correctBoundaryConditions();
+    if (type == typeName)
+    {
+        // This is only an approximate nut, so only good for initialization
+        // not restart
+        // correctNut();
 
-    printCoeffs();
+        printCoeffs(type);
+    }
 }
 
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-tmp<volSymmTensorField> kkLOmega::R() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "R",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            ((2.0/3.0)*I)*(kt_) - nut_*twoSymm(fvc::grad(U_)),
-            kt_.boundaryField().types()
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> kkLOmega::devReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-           -nuEff()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> kkLOmega::divDevReff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(nuEff(), U)
-      - fvc::div(nuEff()*dev(T(fvc::grad(U))))
-    );
-}
-
-
-tmp<fvVectorMatrix> kkLOmega::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    volScalarField muEff("muEff", rho*nuEff());
-
-    return
-    (
-      - fvm::laplacian(muEff, U)
-      - fvc::div(muEff*dev(T(fvc::grad(U))))
-    );
-}
-
-
 bool kkLOmega::read()
 {
-    if (RASModel::read())
+    if (eddyViscosity<incompressible::RASModel>::read())
     {
         A0_.readIfPresent(coeffDict());
         As_.readIfPresent(coeffDict());
@@ -630,7 +577,7 @@ bool kkLOmega::read()
 
 void kkLOmega::correct()
 {
-    RASModel::correct();
+    eddyViscosity<incompressible::RASModel>::correct();
 
     if (!turbulence_)
     {
@@ -641,7 +588,6 @@ void kkLOmega::correct()
     const volScalarField kT(kt_ + kl_);
 
     const volScalarField lambdaT(sqrt(kT)/(omega_ + omegaMin_));
-
     const volScalarField lambdaEff(min(Clambda_*y_, lambdaT));
 
     const volScalarField fw
@@ -650,9 +596,7 @@ void kkLOmega::correct()
     );
 
     const volTensorField gradU(fvc::grad(U_));
-
     const volScalarField omega(sqrt(2.0)*mag(skew(gradU)));
-
     const volScalarField S2(2.0*magSqr(symm(gradU)));
 
     const volScalarField ktS(fSS(omega)*fw*kt_);
@@ -663,6 +607,7 @@ void kkLOmega::correct()
        *fINT()
        *Cmu(sqrt(S2))*sqrt(ktS)*lambdaEff
     );
+
     const volScalarField Pkt(nuts*S2);
 
     const volScalarField ktL(kt_ - ktS);
@@ -674,7 +619,7 @@ void kkLOmega::correct()
             C11_*fTaul(lambdaEff, ktL)*omega*sqr(lambdaEff)
           * sqrt(ktL)*lambdaEff/nu()
           + C12_*BetaTS(ReOmega)*ReOmega*sqr(y_)*omega
-        ,
+          ,
             0.5*(kl_ + ktL)/sqrt(S2)
         )
     );
@@ -748,6 +693,7 @@ void kkLOmega::correct()
 
 
     omega_.boundaryField().updateCoeffs();
+
     // Turbulence specific dissipation rate equation
     tmp<fvScalarMatrix> omegaEqn
     (
diff --git a/src/turbulenceModels/incompressible/RAS/kkLOmega/kkLOmega.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kkLOmega/kkLOmega.H
similarity index 89%
rename from src/turbulenceModels/incompressible/RAS/kkLOmega/kkLOmega.H
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kkLOmega/kkLOmega.H
index 65a14ce357e..0b45136b895 100644
--- a/src/turbulenceModels/incompressible/RAS/kkLOmega/kkLOmega.H
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kkLOmega/kkLOmega.H
@@ -80,8 +80,8 @@ SourceFiles
 #ifndef kkLOmega_H
 #define kkLOmega_H
 
-#include "RASModel.H"
-#include "wallDist.H"
+#include "turbulentTransportModel.H"
+#include "eddyViscosity.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -98,7 +98,7 @@ namespace RASModels
 
 class kkLOmega
 :
-    public RASModel
+    public eddyViscosity<incompressible::RASModel>
 {
     // Private memmber functions
 
@@ -180,7 +180,6 @@ protected:
             volScalarField kt_;
             volScalarField omega_;
             volScalarField kl_;
-            volScalarField nut_;
 
             //- Wall distance
             //  Note: different to wall distance in parent RASModel
@@ -188,21 +187,30 @@ protected:
             const volScalarField& y_;
 
 
+    // Protected Member Functions
+
+        virtual void correctNut();
+
+
 public:
 
     //- Runtime type information
     TypeName("kkLOmega");
 
+
     // Constructors
 
         //- Construct from components
         kkLOmega
         (
+            const geometricOneField& alpha,
+            const geometricOneField& rho,
             const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
             const surfaceScalarField& phi,
             const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
+            const word& propertiesName = turbulenceModel::propertiesName,
+            const word& type = typeName
         );
 
 
@@ -213,11 +221,8 @@ public:
 
     // Member Functions
 
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> nut() const
-        {
-            return nut_;
-        }
+        //- Read RASProperties dictionary
+        virtual bool read();
 
         //- Return the effective diffusivity for k
         tmp<volScalarField> DkEff(const volScalarField& alphaT) const
@@ -274,27 +279,8 @@ public:
             );
         }
 
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const;
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const;
-
         //- Solve the turbulence equations and correct the turbulence viscosity
         virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
 };
 
 
diff --git a/src/turbulenceModels/incompressible/RAS/NonlinearKEShih/NonlinearKEShih.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/nonlinearKEShih/nonlinearKEShih.C
similarity index 73%
rename from src/turbulenceModels/incompressible/RAS/NonlinearKEShih/NonlinearKEShih.C
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/nonlinearKEShih/nonlinearKEShih.C
index 5883278c66c..20c71af7bfb 100644
--- a/src/turbulenceModels/incompressible/RAS/NonlinearKEShih/NonlinearKEShih.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/nonlinearKEShih/nonlinearKEShih.C
@@ -23,10 +23,11 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "NonlinearKEShih.H"
-#include "addToRunTimeSelectionTable.H"
+#include "nonlinearKEShih.H"
+#include "bound.H"
 #include "wallFvPatch.H"
 #include "nutkWallFunctionFvPatchScalarField.H"
+#include "addToRunTimeSelectionTable.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -39,21 +40,61 @@ namespace RASModels
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
-defineTypeNameAndDebug(NonlinearKEShih, 0);
-addToRunTimeSelectionTable(RASModel, NonlinearKEShih, dictionary);
+defineTypeNameAndDebug(nonlinearKEShih, 0);
+addToRunTimeSelectionTable(RASModel, nonlinearKEShih, dictionary);
+
+// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
+
+void nonlinearKEShih::correctNut()
+{
+    nut_ = Cmu_*sqr(k_)/epsilon_;
+    #include "wallNonlinearViscosityI.H"
+}
+
+
+void nonlinearKEShih::correctNonlinearStress(const volTensorField& gradU)
+{
+    nonlinearStress_ = symm
+    (
+        pow(k_, 3.0)/sqr(epsilon_)
+       *(
+            Ctau1_/fEta_
+           *(
+                (gradU & gradU)
+              + (gradU & gradU)().T()
+            )
+          + Ctau2_/fEta_*(gradU & T(gradU))
+          + Ctau3_/fEta_*(T(gradU) & gradU)
+        )
+    );
+}
+
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-NonlinearKEShih::NonlinearKEShih
+nonlinearKEShih::nonlinearKEShih
 (
+    const geometricOneField& alpha,
+    const geometricOneField& rho,
     const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
     const surfaceScalarField& phi,
     const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
+    const word& propertiesName,
+    const word& type
 )
 :
-    RASModel(modelName, U, phi, transport, turbulenceModelName),
+    nonlinearEddyViscosity<incompressible::RASModel>
+    (
+        type,
+        alpha,
+        rho,
+        U,
+        alphaRhoPhi,
+        phi,
+        transport,
+        propertiesName
+    ),
 
     C1_
     (
@@ -169,7 +210,7 @@ NonlinearKEShih::NonlinearKEShih
     (
         IOobject
         (
-            "k",
+            IOobject::groupName("k", U.group()),
             runTime_.timeName(),
             mesh_,
             IOobject::MUST_READ,
@@ -182,7 +223,7 @@ NonlinearKEShih::NonlinearKEShih
     (
         IOobject
         (
-            "epsilon",
+            IOobject::groupName("epsilon", U.group()),
             runTime_.timeName(),
             mesh_,
             IOobject::MUST_READ,
@@ -202,111 +243,25 @@ NonlinearKEShih::NonlinearKEShih
        *sqrt(2.0*magSqr(0.5*(fvc::grad(U) - T(fvc::grad(U)))))
     ),
     Cmu_(2.0/(3.0*(A1_ + eta_ + alphaKsi_*ksi_))),
-    fEta_(A2_ + pow(eta_, 3.0)),
-
-    nut_("nut", Cmu_*sqr(k_)/epsilon_),
-
-    nonlinearStress_
-    (
-        "nonlinearStress",
-        symm
-        (
-            pow3(k_)/sqr(epsilon_)
-           *(
-                Ctau1_/fEta_
-               *(
-                    (fvc::grad(U) & fvc::grad(U))
-                  + (fvc::grad(U) & fvc::grad(U))().T()
-                )
-              + Ctau2_/fEta_*(fvc::grad(U) & T(fvc::grad(U)))
-              + Ctau3_/fEta_*(T(fvc::grad(U)) & fvc::grad(U))
-            )
-        )
-    )
+    fEta_(A2_ + pow(eta_, 3.0))
 {
     bound(k_, kMin_);
     // already bounded: bound(epsilon_, epsilonMin_);
 
-    #include "wallNonlinearViscosityI.H"
-
-    printCoeffs();
+    if (type == typeName)
+    {
+        correctNut();
+        correctNonlinearStress(fvc::grad(U));
+        printCoeffs(type);
+    }
 }
 
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-tmp<volSymmTensorField> NonlinearKEShih::R() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "R",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            ((2.0/3.0)*I)*k_ - nut_*twoSymm(fvc::grad(U_)) + nonlinearStress_,
-            k_.boundaryField().types()
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> NonlinearKEShih::devReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-           -nuEff()*dev(twoSymm(fvc::grad(U_))) + nonlinearStress_
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> NonlinearKEShih::divDevReff(volVectorField& U) const
+bool nonlinearKEShih::read()
 {
-    return
-    (
-        fvc::div(nonlinearStress_)
-      - fvm::laplacian(nuEff(), U)
-      - fvc::div(nuEff()*dev(T(fvc::grad(U))))
-    );
-}
-
-
-tmp<fvVectorMatrix> NonlinearKEShih::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    volScalarField muEff("muEff", rho*nuEff());
-
-    return
-    (
-        fvc::div(rho*nonlinearStress_)
-      - fvm::laplacian(muEff, U)
-      - fvc::div(muEff*dev(T(fvc::grad(U))))
-    );
-}
-
-
-bool NonlinearKEShih::read()
-{
-    if (RASModel::read())
+    if (nonlinearEddyViscosity<incompressible::RASModel>::read())
     {
         C1_.readIfPresent(coeffDict());
         C2_.readIfPresent(coeffDict());
@@ -331,9 +286,9 @@ bool NonlinearKEShih::read()
 }
 
 
-void NonlinearKEShih::correct()
+void nonlinearKEShih::correct()
 {
-    RASModel::correct();
+    nonlinearEddyViscosity<incompressible::RASModel>::correct();
 
     if (!turbulence_)
     {
@@ -397,23 +352,8 @@ void NonlinearKEShih::correct()
     Cmu_ = 2.0/(3.0*(A1_ + eta_ + alphaKsi_*ksi_));
     fEta_ = A2_ + pow(eta_, 3.0);
 
-    nut_ = Cmu_*sqr(k_)/epsilon_;
-
-    #include "wallNonlinearViscosityI.H"
-
-    nonlinearStress_ = symm
-    (
-        pow(k_, 3.0)/sqr(epsilon_)
-       *(
-            Ctau1_/fEta_
-           *(
-                (gradU & gradU)
-              + (gradU & gradU)().T()
-            )
-          + Ctau2_/fEta_*(gradU & T(gradU))
-          + Ctau3_/fEta_*(T(gradU) & gradU)
-        )
-    );
+    correctNut();
+    correctNonlinearStress(gradU);
 }
 
 
diff --git a/src/turbulenceModels/incompressible/RAS/NonlinearKEShih/NonlinearKEShih.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/nonlinearKEShih/nonlinearKEShih.H
similarity index 76%
rename from src/turbulenceModels/incompressible/RAS/NonlinearKEShih/NonlinearKEShih.H
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/nonlinearKEShih/nonlinearKEShih.H
index 10d51669b74..9037328e695 100644
--- a/src/turbulenceModels/incompressible/RAS/NonlinearKEShih/NonlinearKEShih.H
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/nonlinearKEShih/nonlinearKEShih.H
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::incompressible::RASModels::NonlinearKEShih
+    Foam::incompressible::RASModels::nonlinearKEShih
 
 Group
     grpIcoRASTurbulence
@@ -32,14 +32,15 @@ Description
     incompressible flows
 
 SourceFiles
-    NonlinearKEShih.C
+    nonlinearKEShih.C
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef NonlinearKEShih_H
-#define NonlinearKEShih_H
+#ifndef nonlinearKEShih_H
+#define nonlinearKEShih_H
 
-#include "RASModel.H"
+#include "turbulentTransportModel.H"
+#include "nonlinearEddyViscosity.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -51,12 +52,12 @@ namespace RASModels
 {
 
 /*---------------------------------------------------------------------------*\
-                      Class NonlinearKEShih Declaration
+                      Class nonlinearKEShih Declaration
 \*---------------------------------------------------------------------------*/
 
-class NonlinearKEShih
+class nonlinearKEShih
 :
-    public RASModel
+    public nonlinearEddyViscosity<incompressible::RASModel>
 {
 
 protected:
@@ -90,41 +91,44 @@ protected:
             volScalarField Cmu_;
             volScalarField fEta_;
 
-            volScalarField nut_;
 
-            volSymmTensorField nonlinearStress_;
+    // Protected Member Functions
+
+        virtual void correctNut();
+        virtual void correctNonlinearStress(const volTensorField& gradU);
 
 
 public:
 
     //- Runtime type information
-    TypeName("NonlinearKEShih");
+    TypeName("nonlinearKEShih");
+
 
     // Constructors
 
         //- Construct from components
-        NonlinearKEShih
+        nonlinearKEShih
         (
+            const geometricOneField& alpha,
+            const geometricOneField& rho,
             const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
             const surfaceScalarField& phi,
             const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
+            const word& propertiesName = turbulenceModel::propertiesName,
+            const word& type = typeName
         );
 
 
     //- Destructor
-    virtual ~NonlinearKEShih()
+    virtual ~nonlinearKEShih()
     {}
 
 
     // Member Functions
 
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> nut() const
-        {
-            return nut_;
-        }
+        //- Read RASProperties dictionary
+        virtual bool read();
 
         //- Return the effective diffusivity for k
         tmp<volScalarField> DkEff() const
@@ -156,27 +160,8 @@ public:
             return epsilon_;
         }
 
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const;
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const;
-
         //- Solve the turbulence equations and correct the turbulence viscosity
         virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
 };
 
 
diff --git a/src/turbulenceModels/incompressible/RAS/qZeta/qZeta.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/qZeta/qZeta.C
similarity index 72%
rename from src/turbulenceModels/incompressible/RAS/qZeta/qZeta.C
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/qZeta/qZeta.C
index c6b20e54f85..7d62a625967 100644
--- a/src/turbulenceModels/incompressible/RAS/qZeta/qZeta.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/qZeta/qZeta.C
@@ -24,10 +24,9 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "qZeta.H"
+#include "bound.H"
 #include "addToRunTimeSelectionTable.H"
 
-#include "backwardsCompatibilityWallFunctions.H"
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
@@ -68,18 +67,38 @@ tmp<volScalarField> qZeta::f2() const
 }
 
 
+void qZeta::correctNut()
+{
+    nut_ = Cmu_*fMu()*sqr(k_)/epsilon_;
+    nut_.correctBoundaryConditions();
+}
+
+
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 qZeta::qZeta
 (
+    const geometricOneField& alpha,
+    const geometricOneField& rho,
     const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
     const surfaceScalarField& phi,
     const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
+    const word& propertiesName,
+    const word& type
 )
 :
-    RASModel(modelName, U, phi, transport, turbulenceModelName),
+    eddyViscosity<incompressible::RASModel>
+    (
+        type,
+        alpha,
+        rho,
+        U,
+        alphaRhoPhi,
+        phi,
+        transport,
+        propertiesName
+    ),
 
     Cmu_
     (
@@ -127,14 +146,14 @@ qZeta::qZeta
         )
     ),
 
-    qMin_("qMin", dimVelocity, SMALL),
-    zetaMin_("zetaMin", dimVelocity/dimTime, SMALL),
+    qMin_("qMin", sqrt(kMin_)),
+    zetaMin_("zetaMin", epsilonMin_/(2*qMin_)),
 
     k_
     (
         IOobject
         (
-            "k",
+            IOobject::groupName("k", U.group()),
             runTime_.timeName(),
             mesh_,
             IOobject::MUST_READ,
@@ -147,7 +166,7 @@ qZeta::qZeta
     (
         IOobject
         (
-            "epsilon",
+            IOobject::groupName("epsilon", U.group()),
             runTime_.timeName(),
             mesh_,
             IOobject::MUST_READ,
@@ -160,13 +179,13 @@ qZeta::qZeta
     (
         IOobject
         (
-            "q",
+            IOobject::groupName("q", U.group()),
             runTime_.timeName(),
             mesh_,
             IOobject::NO_READ,
             IOobject::AUTO_WRITE
         ),
-        sqrt(k_),
+        sqrt(bound(k_, kMin_)),
         k_.boundaryField().types()
     ),
 
@@ -174,113 +193,31 @@ qZeta::qZeta
     (
         IOobject
         (
-            "zeta",
+            IOobject::groupName("zeta", U.group()),
             runTime_.timeName(),
             mesh_,
             IOobject::NO_READ,
             IOobject::AUTO_WRITE
         ),
-        epsilon_/(2.0*bound(q_, qMin_)),
+        bound(epsilon_, epsilonMin_)/(2.0*q_),
         epsilon_.boundaryField().types()
-    ),
-
-    nut_
-    (
-        IOobject
-        (
-            "nut",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateNut("nut", mesh_)
     )
 {
-    bound(k_, kMin_);
-    bound(epsilon_, epsilonMin_);
-    // already bounded: bound(q_, qMin_);
     bound(zeta_, zetaMin_);
 
-    nut_ = Cmu_*fMu()*sqr(k_)/epsilon_;
-    nut_.correctBoundaryConditions();
-
-    printCoeffs();
+    if (type == typeName)
+    {
+        correctNut();
+        printCoeffs(type);
+    }
 }
 
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-tmp<volSymmTensorField> qZeta::R() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "R",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            ((2.0/3.0)*I)*k_ - nut_*twoSymm(fvc::grad(U_)),
-            k_.boundaryField().types()
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> qZeta::devReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-           -nuEff()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> qZeta::divDevReff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(nuEff(), U)
-      - fvc::div(nuEff()*dev(T(fvc::grad(U))))
-    );
-}
-
-
-tmp<fvVectorMatrix> qZeta::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    volScalarField muEff("muEff", rho*nuEff());
-
-    return
-    (
-      - fvm::laplacian(muEff, U)
-      - fvc::div(muEff*dev(T(fvc::grad(U))))
-    );
-}
-
-
 bool qZeta::read()
 {
-    if (RASModel::read())
+    if (eddyViscosity<incompressible::RASModel>::read())
     {
         Cmu_.readIfPresent(coeffDict());
         C1_.readIfPresent(coeffDict());
@@ -302,7 +239,7 @@ bool qZeta::read()
 
 void qZeta::correct()
 {
-    RASModel::correct();
+    eddyViscosity<incompressible::RASModel>::correct();
 
     if (!turbulence_)
     {
@@ -356,10 +293,7 @@ void qZeta::correct()
     epsilon_ = 2*q_*zeta_;
     epsilon_.correctBoundaryConditions();
 
-
-    // Re-calculate viscosity
-    nut_ = Cmu_*fMu()*sqr(k_)/epsilon_;
-    nut_.correctBoundaryConditions();
+    correctNut();
 }
 
 
diff --git a/src/turbulenceModels/incompressible/RAS/qZeta/qZeta.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/qZeta/qZeta.H
similarity index 75%
rename from src/turbulenceModels/incompressible/RAS/qZeta/qZeta.H
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/qZeta/qZeta.H
index dc9e1f6b577..9393e0237a3 100644
--- a/src/turbulenceModels/incompressible/RAS/qZeta/qZeta.H
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/qZeta/qZeta.H
@@ -52,7 +52,8 @@ SourceFiles
 #ifndef qZeta_H
 #define qZeta_H
 
-#include "RASModel.H"
+#include "turbulentTransportModel.H"
+#include "eddyViscosity.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -69,7 +70,7 @@ namespace RASModels
 
 class qZeta
 :
-    public RASModel
+    public eddyViscosity<incompressible::RASModel>
 {
 
 protected:
@@ -98,13 +99,12 @@ protected:
             volScalarField q_;
             volScalarField zeta_;
 
-            volScalarField nut_;
-
 
     // Protected Member Functions
 
         tmp<volScalarField> fMu() const;
         tmp<volScalarField> f2() const;
+        virtual void correctNut();
 
 
 public:
@@ -117,11 +117,14 @@ public:
         //- Construct from components
         qZeta
         (
+            const geometricOneField& alpha,
+            const geometricOneField& rho,
             const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
             const surfaceScalarField& phi,
             const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
+            const word& propertiesName = turbulenceModel::propertiesName,
+            const word& type = typeName
         );
 
 
@@ -132,37 +135,31 @@ public:
 
     // Member Functions
 
-       // Access
-
-            //- Return the lower allowable limit for q (default: SMALL)
-            const dimensionedScalar& qMin() const
-            {
-                return qMin_;
-            }
-
-            //- Return the lower allowable limit for zeta (default: SMALL)
-            const dimensionedScalar& zetaMin() const
-            {
-                return zetaMin_;
-            }
+        //- Read RASProperties dictionary
+        virtual bool read();
 
-            //- Allow qMin to be changed
-            dimensionedScalar& qMin()
-            {
-                return qMin_;
-            }
+        //- Return the lower allowable limit for q (default: SMALL)
+        const dimensionedScalar& qMin() const
+        {
+            return qMin_;
+        }
 
-            //- Allow zetaMin to be changed
-            dimensionedScalar& zetaMin()
-            {
-                return zetaMin_;
-            }
+        //- Return the lower allowable limit for zeta (default: SMALL)
+        const dimensionedScalar& zetaMin() const
+        {
+            return zetaMin_;
+        }
 
+        //- Allow qMin to be changed
+        dimensionedScalar& qMin()
+        {
+            return qMin_;
+        }
 
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> nut() const
+        //- Allow zetaMin to be changed
+        dimensionedScalar& zetaMin()
         {
-            return nut_;
+            return zetaMin_;
         }
 
         //- Return the effective diffusivity for q
@@ -195,9 +192,6 @@ public:
             return epsilon_;
         }
 
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const;
-
         virtual const volScalarField& q() const
         {
             return q_;
@@ -208,24 +202,8 @@ public:
             return zeta_;
         }
 
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const;
-
         //- Solve the turbulence equations and correct the turbulence viscosity
         virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
 };
 
 
diff --git a/src/turbulenceModels/incompressible/RAS/v2f/v2f.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/v2f/v2f.C
similarity index 74%
rename from src/turbulenceModels/incompressible/RAS/v2f/v2f.C
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/v2f/v2f.C
index 8b5ad858d09..5ad4914970a 100644
--- a/src/turbulenceModels/incompressible/RAS/v2f/v2f.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/v2f/v2f.C
@@ -24,6 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "v2f.H"
+#include "bound.H"
 #include "fixedValueFvPatchField.H"
 #include "zeroGradientFvPatchField.H"
 #include "addToRunTimeSelectionTable.H"
@@ -44,37 +45,6 @@ addToRunTimeSelectionTable(RASModel, v2f, dictionary);
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
-wordList v2f::RBoundaryTypes() const
-{
-    const volScalarField::GeometricBoundaryField& bf(k_.boundaryField());
-
-    wordList bTypes
-    (
-        bf.size(),
-        zeroGradientFvPatchField<symmTensor>::typeName
-    );
-
-    forAll(bf, patchI)
-    {
-        if (bf[patchI].fixesValue())
-        {
-            bTypes[patchI] = fixedValueFvPatchField<symmTensor>::typeName;
-        }
-    }
-
-    return bTypes;
-}
-
-
-tmp<volScalarField> v2f::davidsonCorrectNut
-(
-    const tmp<volScalarField>& value
-) const
-{
-    return min(CmuKEps_*sqr(k_)/epsilon_, value);
-}
-
-
 tmp<volScalarField> v2f::Ts() const
 {
     return max(k_/epsilon_, 6.0*sqrt(nu()/epsilon_));
@@ -87,18 +57,38 @@ tmp<volScalarField> v2f::Ls() const
 }
 
 
+void v2f::correctNut()
+{
+    nut_ = min(CmuKEps_*sqr(k_)/epsilon_, Cmu_*v2_*Ts());
+    nut_.correctBoundaryConditions();
+}
+
+
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 v2f::v2f
 (
+    const geometricOneField& alpha,
+    const geometricOneField& rho,
     const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
     const surfaceScalarField& phi,
     const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
+    const word& propertiesName,
+    const word& type
 )
 :
-    RASModel(modelName, U, phi, transport, turbulenceModelName),
+    eddyViscosity<incompressible::RASModel>
+    (
+        type,
+        alpha,
+        rho,
+        U,
+        alphaRhoPhi,
+        phi,
+        transport,
+        propertiesName
+    ),
 
     Cmu_
     (
@@ -186,7 +176,7 @@ v2f::v2f
     (
         IOobject
         (
-            "k",
+            IOobject::groupName("k", U.group()),
             runTime_.timeName(),
             mesh_,
             IOobject::MUST_READ,
@@ -198,7 +188,7 @@ v2f::v2f
     (
         IOobject
         (
-            "epsilon",
+            IOobject::groupName("epsilon", U.group()),
             runTime_.timeName(),
             mesh_,
             IOobject::MUST_READ,
@@ -210,7 +200,7 @@ v2f::v2f
     (
         IOobject
         (
-            "v2",
+            IOobject::groupName("v2", U.group()),
             runTime_.timeName(),
             mesh_,
             IOobject::MUST_READ,
@@ -222,19 +212,7 @@ v2f::v2f
     (
         IOobject
         (
-            "f",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-    nut_
-    (
-        IOobject
-        (
-            "nut",
+            IOobject::groupName("f", U.group()),
             runTime_.timeName(),
             mesh_,
             IOobject::MUST_READ,
@@ -250,85 +228,19 @@ v2f::v2f
     bound(v2_, v2Min_);
     bound(f_, fMin_);
 
-    nut_ = davidsonCorrectNut(Cmu_*v2_*Ts());
-    nut_.correctBoundaryConditions();
-
-    printCoeffs();
+    if (type == typeName)
+    {
+        correctNut();
+        printCoeffs(type);
+    }
 }
 
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-tmp<volSymmTensorField> v2f::R() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "R",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            ((2.0/3.0)*I)*k_ - nut_*twoSymm(fvc::grad(U_)),
-            RBoundaryTypes()
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> v2f::devReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-           -nuEff()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> v2f::divDevReff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(nuEff(), U)
-      - fvc::div(nuEff()*dev(T(fvc::grad(U))))
-    );
-}
-
-
-tmp<fvVectorMatrix> v2f::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    volScalarField muEff("muEff", rho*nuEff());
-
-    return
-    (
-      - fvm::laplacian(muEff, U)
-      - fvc::div(muEff*dev(T(fvc::grad(U))))
-    );
-}
-
-
 bool v2f::read()
 {
-    if (RASModel::read())
+    if (eddyViscosity<incompressible::RASModel>::read())
     {
         Cmu_.readIfPresent(coeffDict());
         CmuKEps_.readIfPresent(coeffDict());
@@ -351,7 +263,7 @@ bool v2f::read()
 
 void v2f::correct()
 {
-    RASModel::correct();
+    eddyViscosity<incompressible::RASModel>::correct();
 
     if (!turbulence_)
     {
@@ -373,7 +285,6 @@ void v2f::correct()
         1.0/T*((C1_ - N)*v2_ - 2.0/3.0*k_*(C1_ - 1.0))
     );
 
-
     tmp<volScalarField> Ceps1 =
         1.4*(1.0 + 0.05*min(sqrt(k_/v2_), scalar(100.0)));
 
@@ -444,10 +355,7 @@ void v2f::correct()
     solve(v2Eqn);
     bound(v2_, v2Min_);
 
-
-    // Re-calculate viscosity
-    nut_ = davidsonCorrectNut(Cmu_*v2_*T);
-    nut_.correctBoundaryConditions();
+    correctNut();
 }
 
 
diff --git a/src/turbulenceModels/incompressible/RAS/v2f/v2f.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/v2f/v2f.H
similarity index 77%
rename from src/turbulenceModels/incompressible/RAS/v2f/v2f.H
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/v2f/v2f.H
index 04b0fcde020..4d1fdc33fe4 100644
--- a/src/turbulenceModels/incompressible/RAS/v2f/v2f.H
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/v2f/v2f.H
@@ -31,9 +31,11 @@ Description
     Lien and Kalitzin's v2-f turbulence model for incompressible flows, with
     a limit imposed on the turbulent viscosity given by Davidson et al.
 
-    The model solves for turbulence k and epsilon, with additional equations
-    for the turbulence stress normal to streamlines, v2, and elliptic damping
-    function, f.  The variant implemented employs N=6, such that f=0 on walls.
+    The model solves for turbulence kinetic energy k and turbulence dissipation
+    rate epsilon, with additional equations for the turbulence stress normal to
+    streamlines, v2, and elliptic damping function, f.
+
+    The variant implemented employs N=6, such that f=0 on walls.
 
     Wall boundary conditions are:
 
@@ -49,15 +51,17 @@ Description
         v2      = 2/3 k
         f       = zero-gradient
 
-
     References:
-
-    Lien F-S, Kalitzin G, 2001.  Computations of transonic flow with the v2-f
-    turbulence model. Int. J. Heat Fluid Flow 22, pp 53-61
-
-    Davidson L, Nielsen P, Sveningsson A, 2003.  Modifications of the v2-f
-    model for computing the flow in a 3D wall jet.  Turbulence, Heat and Mass
-    Transfer 4, pp 577-584
+    \verbatim
+        Lien F-S, Kalitzin G,
+        "Computations of transonic flow with the v2-f turbulence model",
+        Int. J. Heat Fluid Flow 22, 2001, pp 53-61
+
+        Davidson L, Nielsen P, Sveningsson A,
+        "Modifications of the v2-f model for computing the flow in a
+         3D wall jet",
+        Turbulence, Heat and Mass Transfer 4, 2003, pp 577-584
+    \endverbatim
 
     The default model coefficients are given as:
     \verbatim
@@ -81,7 +85,7 @@ Note
     k variants (nutk...) for this case will not behave correctly.
 
 SeeAlso
-    Foam::kEpsilon
+    Foam::incompressible::RASModels::kEpsilon
     Foam::kLowReWallFunctionFvPatchScalarField
     Foam::epsilonLowReWallFunctionFvPatchScalarField
     Foam::v2WallFunctionFvPatchScalarField
@@ -95,7 +99,8 @@ SourceFiles
 #ifndef v2f_H
 #define v2f_H
 
-#include "RASModel.H"
+#include "turbulentTransportModel.H"
+#include "eddyViscosity.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -112,7 +117,7 @@ namespace RASModels
 
 class v2f
 :
-    public RASModel
+    public eddyViscosity<incompressible::RASModel>
 {
 
 protected:
@@ -146,9 +151,6 @@ protected:
             //- Damping function
             volScalarField f_;
 
-            //- Turbulence viscosity
-            volScalarField nut_;
-
 
         // Bounding values
 
@@ -158,14 +160,7 @@ protected:
 
     // Protected Member Functions
 
-        //- Return boundary type names for the R field
-        wordList RBoundaryTypes() const;
-
-        //- Apply Davidson correction to nut
-        tmp<volScalarField> davidsonCorrectNut
-        (
-            const tmp<volScalarField>& value
-        ) const;
+        virtual void correctNut();
 
         //- Return time scale, Ts
         tmp<volScalarField> Ts() const;
@@ -184,11 +179,14 @@ public:
         //- Construct from components
         v2f
         (
+            const geometricOneField& alpha,
+            const geometricOneField& rho,
             const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
             const surfaceScalarField& phi,
             const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
+            const word& propertiesName = turbulenceModel::propertiesName,
+            const word& type = typeName
         );
 
 
@@ -199,11 +197,8 @@ public:
 
     // Member Functions
 
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> nut() const
-        {
-            return nut_;
-        }
+        //- Read RASProperties dictionary
+        virtual bool read();
 
         //- Return the effective diffusivity for k
         tmp<volScalarField> DkEff() const
@@ -247,27 +242,8 @@ public:
             return f_;
         }
 
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const;
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const;
-
         //- Solve the turbulence equations and correct the turbulence viscosity
         virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
 };
 
 
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
similarity index 93%
rename from src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
index f311165ebeb..46051f0a671 100644
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,7 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "alphatJayatillekeWallFunctionFvPatchScalarField.H"
-#include "incompressible/turbulenceModel/turbulenceModel.H"
+#include "turbulenceModel.H"
 #include "fvPatchFieldMapper.H"
 #include "volFields.H"
 #include "wallFvPatch.H"
@@ -202,14 +202,22 @@ void alphatJayatillekeWallFunctionFvPatchScalarField::updateCoeffs()
     const label patchi = patch().index();
 
     // Retrieve turbulence properties from model
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
+
+    const turbulenceModel& turbulence = db().lookupObject<turbulenceModel>
+    (
+        IOobject::groupName
+        (
+            turbulenceModel::propertiesName,
+            dimensionedInternalField().group()
+        )
+    );
+
     const scalar Cmu25 = pow(Cmu_, 0.25);
-    const scalarField& y = turbModel.y()[patchi];
-    const tmp<volScalarField> tnu = turbModel.nu();
+    const scalarField& y = turbulence.y()[patchi];
+    const tmp<volScalarField> tnu = turbulence.nu();
     const volScalarField& nu = tnu();
     const scalarField& nuw = nu.boundaryField()[patchi];
-    const tmp<volScalarField> tk = turbModel.k();
+    const tmp<volScalarField> tk = turbulence.k();
     const volScalarField& k = tk();
 
     const IOdictionary& transportProperties =
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H
similarity index 98%
rename from src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H
index f4064c4efa8..b4a9005ff04 100644
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchFieldFwd.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModel.H
similarity index 58%
rename from src/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchFieldFwd.H
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModel.H
index 946f45d0762..72818e7f3cb 100644
--- a/src/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchFieldFwd.H
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModel.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -21,27 +21,52 @@ License
     You should have received a copy of the GNU General Public License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
-\*---------------------------------------------------------------------------*/
+Typedef
+    Foam::incompressible::turbulenceModel
 
-#ifndef porousBafflePressureFvPatchFieldsFwd_H
-#define porousBafflePressureFvPatchFieldsFwd_H
+Typedef
+    Foam::incompressible::RASModel
 
-#include "fieldTypes.H"
+Typedef
+    Foam::incompressible::LESModel
 
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+Description
+    Typedefs for turbulence, RAS and LES models for incompressible flow
+    based on the standard laminar transport package.
 
-namespace Foam
-{
+SourceFiles
+    turbulentTransportModels.C
 
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+\*---------------------------------------------------------------------------*/
 
-template<class Type> class porousBafflePressureFvPatchField;
+#ifndef turbulentTransportModel_H
+#define turbulentTransportModel_H
 
-makePatchTypeFieldTypedefs(porousBafflePressure);
+#include "SpecificIncompressibleTurbulenceModel.H"
+#include "RASModel.H"
+#include "LESModel.H"
+#include "incompressible/transportModel/transportModel.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-} // End namespace Foam
+namespace Foam
+{
+    namespace incompressible
+    {
+        typedef IncompressibleTurbulenceModel<transportModel> turbulenceModel;
+
+        typedef SpecificIncompressibleTurbulenceModel
+        <
+            RASModel<turbulenceModel>
+        > RASModel;
+
+        typedef SpecificIncompressibleTurbulenceModel
+        <
+            LESModel<turbulenceModel>
+        > LESModel;
+    }
+}
+
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/src/TurbulenceModels/incompressible/incompressibleTurbulenceModels.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModels.C
similarity index 82%
rename from src/TurbulenceModels/incompressible/incompressibleTurbulenceModels.C
rename to src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModels.C
index 361c6f4b75b..c97c42fdbd8 100644
--- a/src/TurbulenceModels/incompressible/incompressibleTurbulenceModels.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModels.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,7 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "IncompressibleTurbulenceModel.H"
-#include "transportModel.H"
+#include "incompressible/transportModel/transportModel.H"
 #include "addToRunTimeSelectionTable.H"
 #include "makeTurbulenceModel.H"
 
@@ -49,9 +49,15 @@ makeBaseTurbulenceModel
     makeTemplatedTurbulenceModel                                               \
     (transportModelIncompressibleTurbulenceModel, LES, Type)
 
+#include "SpalartAllmaras.H"
+makeRASModel(SpalartAllmaras);
+
 #include "kEpsilon.H"
 makeRASModel(kEpsilon);
 
+#include "LaunderSharmaKE.H"
+makeRASModel(LaunderSharmaKE);
+
 #include "kOmegaSST.H"
 makeRASModel(kOmegaSST);
 
@@ -61,5 +67,14 @@ makeLESModel(Smagorinsky);
 #include "kEqn.H"
 makeLESModel(kEqn);
 
+#include "SpalartAllmarasDES.H"
+makeLESModel(SpalartAllmarasDES);
+
+#include "SpalartAllmarasDDES.H"
+makeLESModel(SpalartAllmarasDDES);
+
+#include "SpalartAllmarasIDDES.H"
+makeLESModel(SpalartAllmarasIDDES);
+
 
 // ************************************************************************* //
diff --git a/src/TurbulenceModels/phaseCompressible/PhaseCompressibleTurbulenceModel/PhaseCompressibleTurbulenceModel.C b/src/TurbulenceModels/phaseCompressible/PhaseCompressibleTurbulenceModel/PhaseCompressibleTurbulenceModel.C
index 35af8e7428a..a09689d0681 100644
--- a/src/TurbulenceModels/phaseCompressible/PhaseCompressibleTurbulenceModel/PhaseCompressibleTurbulenceModel.C
+++ b/src/TurbulenceModels/phaseCompressible/PhaseCompressibleTurbulenceModel/PhaseCompressibleTurbulenceModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -31,6 +31,7 @@ template<class TransportModel>
 Foam::PhaseCompressibleTurbulenceModel<TransportModel>::
 PhaseCompressibleTurbulenceModel
 (
+    const word& type,
     const volScalarField& alpha,
     const volScalarField& rho,
     const volVectorField& U,
diff --git a/src/TurbulenceModels/phaseCompressible/PhaseCompressibleTurbulenceModel/PhaseCompressibleTurbulenceModel.H b/src/TurbulenceModels/phaseCompressible/PhaseCompressibleTurbulenceModel/PhaseCompressibleTurbulenceModel.H
index d39949c9d8c..7ebabf30727 100644
--- a/src/TurbulenceModels/phaseCompressible/PhaseCompressibleTurbulenceModel/PhaseCompressibleTurbulenceModel.H
+++ b/src/TurbulenceModels/phaseCompressible/PhaseCompressibleTurbulenceModel/PhaseCompressibleTurbulenceModel.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -72,6 +72,7 @@ public:
         //- Construct
         PhaseCompressibleTurbulenceModel
         (
+            const word& type,
             const alphaField& alpha,
             const volScalarField& rho,
             const volVectorField& U,
diff --git a/src/TurbulenceModels/phaseIncompressible/PhaseIncompressibleTurbulenceModel/PhaseIncompressibleTurbulenceModel.C b/src/TurbulenceModels/phaseIncompressible/PhaseIncompressibleTurbulenceModel/PhaseIncompressibleTurbulenceModel.C
index 1633180836d..25539ac161b 100644
--- a/src/TurbulenceModels/phaseIncompressible/PhaseIncompressibleTurbulenceModel/PhaseIncompressibleTurbulenceModel.C
+++ b/src/TurbulenceModels/phaseIncompressible/PhaseIncompressibleTurbulenceModel/PhaseIncompressibleTurbulenceModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -31,6 +31,7 @@ template<class TransportModel>
 Foam::PhaseIncompressibleTurbulenceModel<TransportModel>::
 PhaseIncompressibleTurbulenceModel
 (
+    const word& type,
     const volScalarField& alpha,
     const geometricOneField& rho,
     const volVectorField& U,
diff --git a/src/TurbulenceModels/phaseIncompressible/PhaseIncompressibleTurbulenceModel/PhaseIncompressibleTurbulenceModel.H b/src/TurbulenceModels/phaseIncompressible/PhaseIncompressibleTurbulenceModel/PhaseIncompressibleTurbulenceModel.H
index 836deaaa466..fb4ee56c323 100644
--- a/src/TurbulenceModels/phaseIncompressible/PhaseIncompressibleTurbulenceModel/PhaseIncompressibleTurbulenceModel.H
+++ b/src/TurbulenceModels/phaseIncompressible/PhaseIncompressibleTurbulenceModel/PhaseIncompressibleTurbulenceModel.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -72,6 +72,7 @@ public:
         //- Construct
         PhaseIncompressibleTurbulenceModel
         (
+            const word& type,
             const alphaField& alpha,
             const geometricOneField& rho,
             const volVectorField& U,
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESModel/LESModel.C b/src/TurbulenceModels/turbulenceModels/LES/LESModel/LESModel.C
index 11ab976a8a8..c3586574bf7 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESModel/LESModel.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESModel/LESModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -54,6 +54,7 @@ Foam::LESModel<BasicTurbulenceModel>::LESModel
 :
     BasicTurbulenceModel
     (
+        type,
         alpha,
         rho,
         U,
@@ -84,7 +85,7 @@ Foam::LESModel<BasicTurbulenceModel>::LESModel
         LESdelta::New
         (
             IOobject::groupName("delta", U.group()),
-            U.mesh(),
+            *this,
             LESDict_
         )
     )
diff --git a/src/turbulenceModels/incompressible/LES/SpalartAllmarasIDDES/IDDESDelta/IDDESDelta.C b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/IDDESDelta/IDDESDelta.C
similarity index 60%
rename from src/turbulenceModels/incompressible/LES/SpalartAllmarasIDDES/IDDESDelta/IDDESDelta.C
rename to src/TurbulenceModels/turbulenceModels/LES/LESdeltas/IDDESDelta/IDDESDelta.C
index e7c459b888c..301638dd5f5 100644
--- a/src/turbulenceModels/incompressible/LES/SpalartAllmarasIDDES/IDDESDelta/IDDESDelta.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/IDDESDelta/IDDESDelta.C
@@ -30,20 +30,24 @@ License
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
 namespace Foam
+{
+namespace LESModels
 {
     defineTypeNameAndDebug(IDDESDelta, 0);
     addToRunTimeSelectionTable(LESdelta, IDDESDelta, dictionary);
 }
+}
 
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
-void Foam::IDDESDelta::calcDelta()
+void Foam::LESModels::IDDESDelta::calcDelta()
 {
-    const volScalarField& hmax = hmax_();
+    const volScalarField& hmax = hmax_;
+    const fvMesh& mesh = turbulenceModel_.mesh();
 
-    // Wall-reflection vectors
-    const volVectorField& n = wallDist::New(mesh()).n();
+    // Wall-normal vectors
+    const volVectorField& n = wallDist::New(mesh).n();
 
     tmp<volScalarField> tfaceToFacenMax
     (
@@ -52,46 +56,50 @@ void Foam::IDDESDelta::calcDelta()
             IOobject
             (
                 "faceToFaceMax",
-                mesh().time().timeName(),
-                mesh(),
+                mesh.time().timeName(),
+                mesh,
                 IOobject::NO_READ,
                 IOobject::NO_WRITE
             ),
-            mesh(),
-            dimensionedScalar("zrero", dimLength, 0.0)
+            mesh,
+            dimensionedScalar("zero", dimLength, 0.0)
         )
     );
 
     scalarField& faceToFacenMax = tfaceToFacenMax().internalField();
 
-    const cellList& cells = mesh().cells();
-    const vectorField& faceCentres = mesh().faceCentres();
+    const cellList& cells = mesh.cells();
+    const vectorField& faceCentres = mesh.faceCentres();
 
-    forAll(cells, cellI)
+    forAll(cells, celli)
     {
-        scalar deltaMaxTmp = 0.0;
-        const labelList& cFaces = cells[cellI];
-        const vector nCell = n[cellI];
-        forAll(cFaces, cFaceI)
+        scalar maxDelta = 0.0;
+        const labelList& cFaces = cells[celli];
+        const vector nci = n[celli];
+
+        forAll(cFaces, cFacei)
         {
-            label faceI = cFaces[cFaceI];
-            const point& faceCentreI = faceCentres[faceI];
-            forAll(cFaces, cFaceJ)
+            label facei = cFaces[cFacei];
+            const point& fci = faceCentres[facei];
+
+            forAll(cFaces, cFacej)
             {
-                label faceJ = cFaces[cFaceJ];
-                const point& faceCentreJ = faceCentres[faceJ];
-                scalar tmp = (faceCentreJ - faceCentreI) & nCell;
-                if (tmp > deltaMaxTmp)
+                label facej = cFaces[cFacej];
+                const point& fcj = faceCentres[facej];
+                scalar ndfc = nci & (fcj - fci);
+
+                if (ndfc > maxDelta)
                 {
-                    deltaMaxTmp = tmp;
+                    maxDelta = ndfc;
                 }
             }
         }
-        faceToFacenMax[cellI] = deltaMaxTmp;
+
+        faceToFacenMax[celli] = maxDelta;
     }
 
 
-    label nD = mesh().nGeometricD();
+    label nD = mesh.nGeometricD();
 
     if (nD == 2)
     {
@@ -106,15 +114,14 @@ void Foam::IDDESDelta::calcDelta()
     }
 
     delta_.internalField() =
-        deltaCoeff_
-       *min
+        min
         (
             max
             (
                 max
                 (
-                    cw_*wallDist::New(mesh()).y(),
-                    cw_*hmax
+                    Cw_*wallDist::New(mesh).y(),
+                    Cw_*hmax
                 ),
                 tfaceToFacenMax
             ),
@@ -125,38 +132,47 @@ void Foam::IDDESDelta::calcDelta()
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::IDDESDelta::IDDESDelta
+Foam::LESModels::IDDESDelta::IDDESDelta
 (
     const word& name,
-    const fvMesh& mesh,
-    const dictionary& dd
+    const turbulenceModel& turbulence,
+    const dictionary& dict
 )
 :
-    LESdelta(name, mesh),
-    hmax_(LESdelta::New("hmax", mesh, dd.parent())),
-    deltaCoeff_(readScalar(dd.subDict(type()+"Coeffs").lookup("deltaCoeff"))),
-    cw_(0.15)
+    LESdelta(name, turbulence),
+    hmax_
+    (
+        IOobject::groupName("hmax", turbulence.U().group()),
+        turbulence,
+        dict
+    ),
+    Cw_
+    (
+        dict.subDict(type() + "Coeffs").lookupOrDefault<scalar>("Cw", 0.15)
+    )
 {
-    dd.subDict(type() + "Coeffs").readIfPresent("cw", cw_);
     calcDelta();
 }
 
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-void Foam::IDDESDelta::read(const dictionary& dd)
+void Foam::LESModels::IDDESDelta::read(const dictionary& dict)
 {
-    dd.subDict(type() + "Coeffs").lookup("deltaCoeff") >> deltaCoeff_;
+    const dictionary& coeffsDict(dict.subDict(type() + "Coeffs"));
+
+    coeffsDict.readIfPresent<scalar>("Cw", Cw_);
+
     calcDelta();
 }
 
 
-void Foam::IDDESDelta::correct()
+void Foam::LESModels::IDDESDelta::correct()
 {
-    if (mesh_.changing())
+    if (turbulenceModel_.mesh().changing())
     {
+        hmax_.correct();
         calcDelta();
-        hmax_().correct();
     }
 }
 
diff --git a/src/turbulenceModels/incompressible/LES/SpalartAllmarasIDDES/IDDESDelta/IDDESDelta.H b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/IDDESDelta/IDDESDelta.H
similarity index 88%
rename from src/turbulenceModels/incompressible/LES/SpalartAllmarasIDDES/IDDESDelta/IDDESDelta.H
rename to src/TurbulenceModels/turbulenceModels/LES/LESdeltas/IDDESDelta/IDDESDelta.H
index 0274a192f9d..4f1bf55b141 100644
--- a/src/turbulenceModels/incompressible/LES/SpalartAllmarasIDDES/IDDESDelta/IDDESDelta.H
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/IDDESDelta/IDDESDelta.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -37,12 +37,14 @@ SourceFiles
 #ifndef IDDESDeltaDelta_H
 #define IDDESDeltaDelta_H
 
-#include "incompressibleLESdelta.H"
+#include "maxDeltaxyz.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
+namespace LESModels
+{
 
 /*---------------------------------------------------------------------------*\
                          Class IDDESDelta Declaration
@@ -54,9 +56,9 @@ class IDDESDelta
 {
     // Private data
 
-        autoPtr<Foam::LESdelta> hmax_;
-        scalar deltaCoeff_;
-        scalar cw_;
+        maxDeltaxyz hmax_;
+
+        scalar Cw_;
 
 
     // Private Member Functions
@@ -81,7 +83,7 @@ public:
         IDDESDelta
         (
             const word& name,
-            const fvMesh& mesh,
+            const turbulenceModel& turbulence,
             const dictionary&
         );
 
@@ -97,6 +99,12 @@ public:
         //- Read the LESdelta dictionary
         void read(const dictionary&);
 
+        //- Return the hmax delta field
+        const volScalarField& hmax() const
+        {
+            return hmax_;
+        }
+
         // Correct values
         void correct();
 };
@@ -104,6 +112,7 @@ public:
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+} // End namespace LESModels
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/LESdelta/LESdelta.C b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/LESdelta/LESdelta.C
index 5a8ff1c3fb0..a685bd5e534 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/LESdelta/LESdelta.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/LESdelta/LESdelta.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -36,20 +36,24 @@ namespace Foam
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::LESdelta::LESdelta(const word& name, const fvMesh& mesh)
+Foam::LESdelta::LESdelta
+(
+    const word& name,
+    const turbulenceModel& turbulence
+)
 :
-    mesh_(mesh),
+    turbulenceModel_(turbulence),
     delta_
     (
         IOobject
         (
             name,
-            mesh.time().timeName(),
-            mesh,
+            turbulence.mesh().time().timeName(),
+            turbulence.mesh(),
             IOobject::NO_READ,
             IOobject::NO_WRITE
         ),
-        mesh,
+        turbulence.mesh(),
         dimensionedScalar(name, dimLength, SMALL),
         calculatedFvPatchScalarField::typeName
     )
@@ -61,7 +65,7 @@ Foam::LESdelta::LESdelta(const word& name, const fvMesh& mesh)
 Foam::autoPtr<Foam::LESdelta> Foam::LESdelta::New
 (
     const word& name,
-    const fvMesh& mesh,
+    const turbulenceModel& turbulence,
     const dictionary& dict
 )
 {
@@ -76,7 +80,7 @@ Foam::autoPtr<Foam::LESdelta> Foam::LESdelta::New
     {
         FatalErrorIn
         (
-            "LESdelta::New(const fvMesh&, const dictionary&)"
+            "LESdelta::New(const word& name, const turbulenceModel& turbulence)"
         )   << "Unknown LESdelta type "
             << deltaType << nl << nl
             << "Valid LESdelta types are :" << endl
@@ -84,14 +88,14 @@ Foam::autoPtr<Foam::LESdelta> Foam::LESdelta::New
             << exit(FatalError);
     }
 
-    return autoPtr<LESdelta>(cstrIter()(name, mesh, dict));
+    return autoPtr<LESdelta>(cstrIter()(name, turbulence, dict));
 }
 
 
 Foam::autoPtr<Foam::LESdelta> Foam::LESdelta::New
 (
     const word& name,
-    const fvMesh& mesh,
+    const turbulenceModel& turbulence,
     const dictionary& dict,
     const dictionaryConstructorTable& additionalConstructors
 )
@@ -106,7 +110,7 @@ Foam::autoPtr<Foam::LESdelta> Foam::LESdelta::New
 
     if (cstrIter != additionalConstructors.end())
     {
-        return autoPtr<LESdelta>(cstrIter()(name, mesh, dict));
+        return autoPtr<LESdelta>(cstrIter()(name, turbulence, dict));
     }
     else
     {
@@ -117,7 +121,9 @@ Foam::autoPtr<Foam::LESdelta> Foam::LESdelta::New
         {
             FatalErrorIn
             (
-                "LESdelta::New(const fvMesh&, const dictionary&)"
+                "LESdelta::New(const word& name, "
+                "const turbulenceModel& turbulence, "
+                "const dictionaryConstructorTable&)"
             )   << "Unknown LESdelta type "
                 << deltaType << nl << nl
                 << "Valid LESdelta types are :" << endl
@@ -129,7 +135,7 @@ Foam::autoPtr<Foam::LESdelta> Foam::LESdelta::New
         }
         else
         {
-            return autoPtr<LESdelta>(cstrIter()(name, mesh, dict));
+            return autoPtr<LESdelta>(cstrIter()(name, turbulence, dict));
         }
     }
 }
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/LESdelta/LESdelta.H b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/LESdelta/LESdelta.H
index c84ae74c3b1..35aea4620ad 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/LESdelta/LESdelta.H
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/LESdelta/LESdelta.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -35,9 +35,8 @@ SourceFiles
 #ifndef LESdelta_H
 #define LESdelta_H
 
+#include "turbulenceModel.H"
 #include "volFields.H"
-#include "typeInfo.H"
-#include "autoPtr.H"
 #include "runTimeSelectionTables.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -45,8 +44,6 @@ SourceFiles
 namespace Foam
 {
 
-class fvMesh;
-
 /*---------------------------------------------------------------------------*\
                           Class LESdelta Declaration
 \*---------------------------------------------------------------------------*/
@@ -58,7 +55,7 @@ protected:
 
     // Protected data
 
-        const fvMesh& mesh_;
+        const turbulenceModel& turbulenceModel_;
 
         volScalarField delta_;
 
@@ -87,17 +84,21 @@ public:
             dictionary,
             (
                 const word& name,
-                const fvMesh& mesh,
-                const dictionary& LESdeltaDict
+                const turbulenceModel& turbulence,
+                const dictionary& dict
             ),
-            (name, mesh, LESdeltaDict)
+            (name, turbulence, dict)
         );
 
 
     // Constructors
 
-        //- Construct from name and mesh
-        LESdelta(const word& name, const fvMesh&);
+        //- Construct from name, turbulenceModel and dictionary
+        LESdelta
+        (
+            const word& name,
+            const turbulenceModel& turbulence
+        );
 
 
     // Selectors
@@ -106,16 +107,16 @@ public:
         static autoPtr<LESdelta> New
         (
             const word& name,
-            const fvMesh&,
-            const dictionary&
+            const turbulenceModel& turbulence,
+            const dictionary& dict
         );
 
         //- Return a reference to the selected LES delta
         static autoPtr<LESdelta> New
         (
             const word& name,
-            const fvMesh&,
-            const dictionary&,
+            const turbulenceModel& turbulence,
+            const dictionary& dict,
             const dictionaryConstructorTable&
         );
 
@@ -127,10 +128,10 @@ public:
 
     // Member Functions
 
-        //- Return mesh reference
-        const fvMesh& mesh() const
+        //- Return turbulenceModel reference
+        const turbulenceModel& turbulence() const
         {
-            return mesh_;
+            return turbulenceModel_;
         }
 
         //- Read the LESdelta dictionary
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/PrandtlDelta/PrandtlDelta.C b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/PrandtlDelta/PrandtlDelta.C
index 9d90e7c6922..d2b9f762b4a 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/PrandtlDelta/PrandtlDelta.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/PrandtlDelta/PrandtlDelta.C
@@ -30,35 +30,46 @@ License
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
 namespace Foam
+{
+namespace LESModels
 {
     defineTypeNameAndDebug(PrandtlDelta, 0);
     addToRunTimeSelectionTable(LESdelta, PrandtlDelta, dictionary);
 }
+}
 
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
-void Foam::PrandtlDelta::calcDelta()
+void Foam::LESModels::PrandtlDelta::calcDelta()
 {
     delta_ = min
     (
         static_cast<const volScalarField&>(geometricDelta_()),
-        (kappa_/Cdelta_)*wallDist::New(mesh_).y()
+        (kappa_/Cdelta_)*wallDist::New(turbulenceModel_.mesh()).y()
     );
 }
 
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::PrandtlDelta::PrandtlDelta
+Foam::LESModels::PrandtlDelta::PrandtlDelta
 (
     const word& name,
-    const fvMesh& mesh,
+    const turbulenceModel& turbulence,
     const dictionary& dict
 )
 :
-    LESdelta(name, mesh),
-    geometricDelta_(LESdelta::New(name, mesh, dict.subDict(type() + "Coeffs"))),
+    LESdelta(name, turbulence),
+    geometricDelta_
+    (
+        LESdelta::New
+        (
+            name,
+            turbulence,
+            dict.subDict(type() + "Coeffs")
+        )
+    ),
     kappa_(dict.lookupOrDefault<scalar>("kappa", 0.41)),
     Cdelta_
     (
@@ -71,7 +82,7 @@ Foam::PrandtlDelta::PrandtlDelta
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-void Foam::PrandtlDelta::read(const dictionary& dict)
+void Foam::LESModels::PrandtlDelta::read(const dictionary& dict)
 {
     const dictionary& coeffDict(dict.subDict(type() + "Coeffs"));
 
@@ -82,11 +93,11 @@ void Foam::PrandtlDelta::read(const dictionary& dict)
 }
 
 
-void Foam::PrandtlDelta::correct()
+void Foam::LESModels::PrandtlDelta::correct()
 {
     geometricDelta_().correct();
 
-    if (mesh_.changing())
+    if (turbulenceModel_.mesh().changing())
     {
         calcDelta();
     }
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/PrandtlDelta/PrandtlDelta.H b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/PrandtlDelta/PrandtlDelta.H
index d8840ff1a88..3cb8b774202 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/PrandtlDelta/PrandtlDelta.H
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/PrandtlDelta/PrandtlDelta.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -41,6 +41,8 @@ SourceFiles
 
 namespace Foam
 {
+namespace LESModels
+{
 
 /*---------------------------------------------------------------------------*\
                            Class PrandtlDelta Declaration
@@ -75,11 +77,11 @@ public:
 
     // Constructors
 
-        //- Construct from name, mesh and IOdictionary
+        //- Construct from name, turbulenceModel and dictionary
         PrandtlDelta
         (
             const word& name,
-            const fvMesh& mesh,
+            const turbulenceModel& turbulence,
             const dictionary&
         );
 
@@ -101,6 +103,7 @@ public:
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+} // End namespace LESModels
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/cubeRootVolDelta/cubeRootVolDelta.C b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/cubeRootVolDelta/cubeRootVolDelta.C
index cdacbc66904..4767c400ce4 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/cubeRootVolDelta/cubeRootVolDelta.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/cubeRootVolDelta/cubeRootVolDelta.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -29,21 +29,26 @@ License
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
 namespace Foam
+{
+namespace LESModels
 {
     defineTypeNameAndDebug(cubeRootVolDelta, 0);
     addToRunTimeSelectionTable(LESdelta, cubeRootVolDelta, dictionary);
 }
+}
 
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
-void Foam::cubeRootVolDelta::calcDelta()
+void Foam::LESModels::cubeRootVolDelta::calcDelta()
 {
-    label nD = mesh().nGeometricD();
+    const fvMesh& mesh = turbulenceModel_.mesh();
+
+    label nD = mesh.nGeometricD();
 
     if (nD == 3)
     {
-        delta_.internalField() = deltaCoeff_*pow(mesh().V(), 1.0/3.0);
+        delta_.internalField() = deltaCoeff_*pow(mesh.V(), 1.0/3.0);
     }
     else if (nD == 2)
     {
@@ -51,19 +56,19 @@ void Foam::cubeRootVolDelta::calcDelta()
             << "Case is 2D, LES is not strictly applicable\n"
             << endl;
 
-        const Vector<label>& directions = mesh().geometricD();
+        const Vector<label>& directions = mesh.geometricD();
 
         scalar thickness = 0.0;
         for (direction dir=0; dir<directions.nComponents; dir++)
         {
             if (directions[dir] == -1)
             {
-                thickness = mesh().bounds().span()[dir];
+                thickness = mesh.bounds().span()[dir];
                 break;
             }
         }
 
-        delta_.internalField() = deltaCoeff_*sqrt(mesh().V()/thickness);
+        delta_.internalField() = deltaCoeff_*sqrt(mesh.V()/thickness);
     }
     else
     {
@@ -76,14 +81,14 @@ void Foam::cubeRootVolDelta::calcDelta()
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::cubeRootVolDelta::cubeRootVolDelta
+Foam::LESModels::cubeRootVolDelta::cubeRootVolDelta
 (
     const word& name,
-    const fvMesh& mesh,
+    const turbulenceModel& turbulence,
     const dictionary& dict
 )
 :
-    LESdelta(name, mesh),
+    LESdelta(name, turbulence),
     deltaCoeff_
     (
         dict.subDict(type() + "Coeffs").lookupOrDefault<scalar>("deltaCoeff", 1)
@@ -95,7 +100,7 @@ Foam::cubeRootVolDelta::cubeRootVolDelta
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-void Foam::cubeRootVolDelta::read(const dictionary& dict)
+void Foam::LESModels::cubeRootVolDelta::read(const dictionary& dict)
 {
     dict.subDict(type() + "Coeffs").readIfPresent<scalar>
     (
@@ -107,9 +112,9 @@ void Foam::cubeRootVolDelta::read(const dictionary& dict)
 }
 
 
-void Foam::cubeRootVolDelta::correct()
+void Foam::LESModels::cubeRootVolDelta::correct()
 {
-    if (mesh_.changing())
+    if (turbulenceModel_.mesh().changing())
     {
         calcDelta();
     }
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/cubeRootVolDelta/cubeRootVolDelta.H b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/cubeRootVolDelta/cubeRootVolDelta.H
index f6abbe7e127..d0238d8dfd9 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/cubeRootVolDelta/cubeRootVolDelta.H
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/cubeRootVolDelta/cubeRootVolDelta.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -41,6 +41,8 @@ SourceFiles
 
 namespace Foam
 {
+namespace LESModels
+{
 
 /*---------------------------------------------------------------------------*\
                            Class cubeRootVolDelta Declaration
@@ -73,11 +75,11 @@ public:
 
     // Constructors
 
-        //- Construct from name, mesh and IOdictionary
+        //- Construct from name, turbulenceModel and dictionary
         cubeRootVolDelta
         (
             const word& name,
-            const fvMesh& mesh,
+            const turbulenceModel& turbulence,
             const dictionary&
         );
 
@@ -99,6 +101,7 @@ public:
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+} // End namespace LESModels
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.C b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.C
index 9e4e5747198..6c277bf7eb8 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -29,17 +29,22 @@ License
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
 namespace Foam
+{
+namespace LESModels
 {
     defineTypeNameAndDebug(maxDeltaxyz, 0);
     addToRunTimeSelectionTable(LESdelta, maxDeltaxyz, dictionary);
 }
+}
 
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
-void Foam::maxDeltaxyz::calcDelta()
+void Foam::LESModels::maxDeltaxyz::calcDelta()
 {
-    label nD = mesh().nGeometricD();
+    const fvMesh& mesh = turbulenceModel_.mesh();
+
+    label nD = mesh.nGeometricD();
 
     tmp<volScalarField> hmax
     (
@@ -48,28 +53,28 @@ void Foam::maxDeltaxyz::calcDelta()
             IOobject
             (
                 "hmax",
-                mesh().time().timeName(),
-                mesh(),
+                mesh.time().timeName(),
+                mesh,
                 IOobject::NO_READ,
                 IOobject::NO_WRITE
             ),
-            mesh(),
+            mesh,
             dimensionedScalar("zrero", dimLength, 0.0)
         )
     );
 
-    const cellList& cells = mesh().cells();
+    const cellList& cells = mesh.cells();
 
     forAll(cells,cellI)
     {
         scalar deltaMaxTmp = 0.0;
-        const labelList& cFaces = mesh().cells()[cellI];
-        const point& centrevector = mesh().cellCentres()[cellI];
+        const labelList& cFaces = mesh.cells()[cellI];
+        const point& centrevector = mesh.cellCentres()[cellI];
 
         forAll(cFaces, cFaceI)
         {
             label faceI = cFaces[cFaceI];
-            const point& facevector = mesh().faceCentres()[faceI];
+            const point& facevector = mesh.faceCentres()[faceI];
             scalar tmp = mag(facevector - centrevector);
             if (tmp > deltaMaxTmp)
             {
@@ -102,14 +107,14 @@ void Foam::maxDeltaxyz::calcDelta()
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::maxDeltaxyz::maxDeltaxyz
+Foam::LESModels::maxDeltaxyz::maxDeltaxyz
 (
     const word& name,
-    const fvMesh& mesh,
+    const turbulenceModel& turbulence,
     const dictionary& dict
 )
 :
-    LESdelta(name, mesh),
+    LESdelta(name, turbulence),
     deltaCoeff_
     (
         dict.subDict(type() + "Coeffs").lookupOrDefault<scalar>("deltaCoeff", 1)
@@ -121,21 +126,19 @@ Foam::maxDeltaxyz::maxDeltaxyz
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-void Foam::maxDeltaxyz::read(const dictionary& dict)
+void Foam::LESModels::maxDeltaxyz::read(const dictionary& dict)
 {
-    dict.subDict(type() + "Coeffs").readIfPresent<scalar>
-    (
-        "deltaCoeff",
-        deltaCoeff_
-    );
+    const dictionary& coeffsDict(dict.subDict(type() + "Coeffs"));
+
+    coeffsDict.readIfPresent<scalar>("deltaCoeff", deltaCoeff_);
 
     calcDelta();
 }
 
 
-void Foam::maxDeltaxyz::correct()
+void Foam::LESModels::maxDeltaxyz::correct()
 {
-    if (mesh_.changing())
+    if (turbulenceModel_.mesh().changing())
     {
         calcDelta();
     }
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.H b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.H
index 05df8af5520..8fd62665472 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.H
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,6 +44,8 @@ SourceFiles
 
 namespace Foam
 {
+namespace LESModels
+{
 
 /*---------------------------------------------------------------------------*\
                          Class maxDeltaxyz Declaration
@@ -77,11 +79,11 @@ public:
 
     // Constructors
 
-        //- Construct from name, mesh and IOdictionary
+        //- Construct from name, turbulenceModel and dictionary
         maxDeltaxyz
         (
             const word& name,
-            const fvMesh& mesh,
+            const turbulenceModel& turbulence,
             const dictionary&
         );
 
@@ -103,6 +105,7 @@ public:
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+} // End namespace LESModels
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDelta.C b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDelta.C
index 07a5ad6febb..843f1076a62 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDelta.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDelta.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -30,26 +30,18 @@ License
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
 namespace Foam
+{
+namespace LESModels
 {
     defineTypeNameAndDebug(smoothDelta, 0);
     addToRunTimeSelectionTable(LESdelta, smoothDelta, dictionary);
 }
+}
 
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
-// Fill changedFaces (with face labels) and changedFacesInfo (with delta)
-// This is the initial set of faces from which to start the waves.
-// Since there might be lots of places with delta jumps we can follow various
-// strategies for this initial 'seed'.
-// - start from single cell/face and let FaceCellWave pick up all others
-//   from there. might be quite a few waves before everything settles.
-// - start from all faces. Lots of initial transfers.
-// We do something inbetween:
-// - start from all faces where there is a jump. Since we cannot easily
-//   determine this across coupled patches (cyclic, processor) introduce
-//   all faces of these and let FaceCellWave sort it out.
-void Foam::smoothDelta::setChangedFaces
+void Foam::LESModels::smoothDelta::setChangedFaces
 (
     const polyMesh& mesh,
     const volScalarField& delta,
@@ -102,18 +94,20 @@ void Foam::smoothDelta::setChangedFaces
 }
 
 
-void Foam::smoothDelta::calcDelta()
+void Foam::LESModels::smoothDelta::calcDelta()
 {
+    const fvMesh& mesh = turbulenceModel_.mesh();
+
     const volScalarField& geometricDelta = geometricDelta_();
 
     // Fill changed faces with info
-    DynamicList<label> changedFaces(mesh_.nFaces()/100 + 100);
+    DynamicList<label> changedFaces(mesh.nFaces()/100 + 100);
     DynamicList<deltaData> changedFacesInfo(changedFaces.size());
 
-    setChangedFaces(mesh_, geometricDelta, changedFaces, changedFacesInfo);
+    setChangedFaces(mesh, geometricDelta, changedFaces, changedFacesInfo);
 
     // Set initial field on cells.
-    List<deltaData> cellDeltaData(mesh_.nCells());
+    List<deltaData> cellDeltaData(mesh.nCells());
 
     forAll(geometricDelta, cellI)
     {
@@ -121,18 +115,18 @@ void Foam::smoothDelta::calcDelta()
     }
 
     // Set initial field on faces.
-    List<deltaData> faceDeltaData(mesh_.nFaces());
+    List<deltaData> faceDeltaData(mesh.nFaces());
 
 
     // Propagate information over whole domain.
     FaceCellWave<deltaData, scalar> deltaCalc
     (
-        mesh_,
+        mesh,
         changedFaces,
         changedFacesInfo,
         faceDeltaData,
         cellDeltaData,
-        mesh_.globalData().nTotalCells()+1,  // max iterations
+        mesh.globalData().nTotalCells()+1,  // max iterations
         maxDeltaRatio_
     );
 
@@ -145,17 +139,22 @@ void Foam::smoothDelta::calcDelta()
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::smoothDelta::smoothDelta
+Foam::LESModels::smoothDelta::smoothDelta
 (
     const word& name,
-    const fvMesh& mesh,
+    const turbulenceModel& turbulence,
     const dictionary& dict
 )
 :
-    LESdelta(name, mesh),
+    LESdelta(name, turbulence),
     geometricDelta_
     (
-        LESdelta::New("geometricDelta", mesh, dict.subDict(type() + "Coeffs"))
+        LESdelta::New
+        (
+            "geometricDelta",
+            turbulence,
+            dict.subDict(type() + "Coeffs")
+        )
     ),
     maxDeltaRatio_
     (
@@ -168,7 +167,7 @@ Foam::smoothDelta::smoothDelta
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-void Foam::smoothDelta::read(const dictionary& dict)
+void Foam::LESModels::smoothDelta::read(const dictionary& dict)
 {
     const dictionary& coeffsDict(dict.subDict(type() + "Coeffs"));
 
@@ -178,11 +177,11 @@ void Foam::smoothDelta::read(const dictionary& dict)
 }
 
 
-void Foam::smoothDelta::correct()
+void Foam::LESModels::smoothDelta::correct()
 {
     geometricDelta_().correct();
 
-    if (mesh_.changing())
+    if (turbulenceModel_.mesh().changing())
     {
         calcDelta();
     }
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDelta.H b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDelta.H
index e80d0948447..bae48b7a82c 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDelta.H
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDelta.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,6 +43,8 @@ SourceFiles
 
 namespace Foam
 {
+namespace LESModels
+{
 
 /*---------------------------------------------------------------------------*\
                          Class smoothDelta Declaration
@@ -225,7 +227,19 @@ private:
         // Calculate the delta values
         void calcDelta();
 
-
+        //- Fill changedFaces (with face labels) and changedFacesInfo
+        //  (with delta).
+        //  This is the initial set of faces from which to start the waves.
+        //  Since there might be lots of places with delta jumps we can follow
+        //  various strategies for this initial 'seed'.
+        //  - start from single cell/face and let FaceCellWave pick up all
+        //    others from there. might be quite a few waves before everything
+        //    settles.
+        //  - start from all faces. Lots of initial transfers.
+        //  We do something in between:
+        //  - start from all faces where there is a jump. Since we cannot easily
+        //    determine this across coupled patches (cyclic, processor)
+        //    introduce all faces of these and let FaceCellWave sort it out.
         void setChangedFaces
         (
             const polyMesh& mesh,
@@ -243,11 +257,11 @@ public:
 
     // Constructors
 
-        //- Construct from name, mesh and IOdictionary
+        //- Construct from name, turbulenceModel and dictionary
         smoothDelta
         (
             const word& name,
-            const fvMesh& mesh,
+            const turbulenceModel& turbulence,
             const dictionary&
         );
 
@@ -267,14 +281,19 @@ public:
 };
 
 
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace LESModels
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
 //- Data associated with deltaData type are contiguous
 template<>
-inline bool contiguous<smoothDelta::deltaData>()
+inline bool contiguous<LESModels::smoothDelta::deltaData>()
 {
     return true;
 }
 
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace Foam
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDeltaDeltaDataI.H b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDeltaDeltaDataI.H
index 16fbd8b519f..eef7c42d89a 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDeltaDeltaDataI.H
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDeltaDeltaDataI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -23,16 +23,10 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
-// Update this with w2 if applicable
 template<class TrackingData>
-inline bool smoothDelta::deltaData::update
+inline bool Foam::LESModels::smoothDelta::deltaData::update
 (
     const smoothDelta::deltaData& w2,
     const scalar scale,
@@ -67,15 +61,13 @@ inline bool smoothDelta::deltaData::update
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-// Null constructor
-inline smoothDelta::deltaData::deltaData()
+inline Foam::LESModels::smoothDelta::deltaData::deltaData()
 :
     delta_(-GREAT)
 {}
 
 
-// Construct from components
-inline smoothDelta::deltaData::deltaData(const scalar delta)
+inline Foam::LESModels::smoothDelta::deltaData::deltaData(const scalar delta)
 :
     delta_(delta)
 {}
@@ -84,15 +76,17 @@ inline smoothDelta::deltaData::deltaData(const scalar delta)
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
 template<class TrackingData>
-inline bool smoothDelta::deltaData::valid(TrackingData& td) const
+inline bool Foam::LESModels::smoothDelta::deltaData::valid
+(
+    TrackingData& td
+) const
 {
     return delta_ > -SMALL;
 }
 
 
-// Checks for cyclic faces
 template<class TrackingData>
-inline bool smoothDelta::deltaData::sameGeometry
+inline bool Foam::LESModels::smoothDelta::deltaData::sameGeometry
 (
     const polyMesh&,
     const deltaData&,
@@ -105,7 +99,7 @@ inline bool smoothDelta::deltaData::sameGeometry
 
 
 template<class TrackingData>
-inline void smoothDelta::deltaData::leaveDomain
+inline void Foam::LESModels::smoothDelta::deltaData::leaveDomain
 (
     const polyMesh&,
     const polyPatch&,
@@ -117,7 +111,7 @@ inline void smoothDelta::deltaData::leaveDomain
 
 
 template<class TrackingData>
-inline void smoothDelta::deltaData::transform
+inline void Foam::LESModels::smoothDelta::deltaData::transform
 (
     const polyMesh&,
     const tensor&,
@@ -126,9 +120,8 @@ inline void smoothDelta::deltaData::transform
 {}
 
 
-// Update absolute geometric quantities.
 template<class TrackingData>
-inline void smoothDelta::deltaData::enterDomain
+inline void Foam::LESModels::smoothDelta::deltaData::enterDomain
 (
     const polyMesh&,
     const polyPatch&,
@@ -139,9 +132,8 @@ inline void smoothDelta::deltaData::enterDomain
 {}
 
 
-// Update this (cellI) with face information.
 template<class TrackingData>
-inline bool smoothDelta::deltaData::updateCell
+inline bool Foam::LESModels::smoothDelta::deltaData::updateCell
 (
     const polyMesh&,
     const label,
@@ -156,9 +148,8 @@ inline bool smoothDelta::deltaData::updateCell
 }
 
 
-// Update this (face) with cell information.
 template<class TrackingData>
-inline bool smoothDelta::deltaData::updateFace
+inline bool Foam::LESModels::smoothDelta::deltaData::updateFace
 (
     const polyMesh&,
     const label,
@@ -173,9 +164,8 @@ inline bool smoothDelta::deltaData::updateFace
 }
 
 
-// Update this (face) with coupled face information.
 template<class TrackingData>
-inline bool smoothDelta::deltaData::updateFace
+inline bool Foam::LESModels::smoothDelta::deltaData::updateFace
 (
     const polyMesh&,
     const label,
@@ -190,7 +180,7 @@ inline bool smoothDelta::deltaData::updateFace
 
 
 template<class TrackingData>
-inline bool smoothDelta::deltaData::equal
+inline bool Foam::LESModels::smoothDelta::deltaData::equal
 (
     const deltaData& rhs,
     TrackingData& td
@@ -202,7 +192,7 @@ inline bool smoothDelta::deltaData::equal
 
 // * * * * * * * * * * * * * * * Member Operators  * * * * * * * * * * * * * //
 
-inline bool smoothDelta::deltaData::operator==
+inline bool Foam::LESModels::smoothDelta::deltaData::operator==
 (
     const deltaData& rhs
 ) const
@@ -211,7 +201,7 @@ inline bool smoothDelta::deltaData::operator==
 }
 
 
-inline bool smoothDelta::deltaData::operator!=
+inline bool Foam::LESModels::smoothDelta::deltaData::operator!=
 (
     const deltaData& rhs
 ) const
@@ -220,8 +210,4 @@ inline bool smoothDelta::deltaData::operator!=
 }
 
 
-// ************************************************************************* //
-
-} // End namespace Foam
-
 // ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/vanDriestDelta/vanDriestDelta.C b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/vanDriestDelta/vanDriestDelta.C
similarity index 61%
rename from src/turbulenceModels/incompressible/LES/vanDriestDelta/vanDriestDelta.C
rename to src/TurbulenceModels/turbulenceModels/LES/LESdeltas/vanDriestDelta/vanDriestDelta.C
index 35cf23f686a..b0338981ee6 100644
--- a/src/turbulenceModels/incompressible/LES/vanDriestDelta/vanDriestDelta.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/vanDriestDelta/vanDriestDelta.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,50 +24,46 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "vanDriestDelta.H"
-#include "LESModel.H"
 #include "wallFvPatch.H"
 #include "wallDistData.H"
 #include "wallPointYPlus.H"
 #include "addToRunTimeSelectionTable.H"
 
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
 namespace Foam
 {
-namespace incompressible
-{
 namespace LESModels
 {
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(vanDriestDelta, 0);
-addToRunTimeSelectionTable(LESdelta, vanDriestDelta, dictionary);
+    defineTypeNameAndDebug(vanDriestDelta, 0);
+    addToRunTimeSelectionTable(LESdelta, vanDriestDelta, dictionary);
+}
+}
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
-void vanDriestDelta::calcDelta()
+void Foam::LESModels::vanDriestDelta::calcDelta()
 {
-    const LESModel& lesModel = mesh_.lookupObject<LESModel>("LESProperties");
+    const fvMesh& mesh = turbulenceModel_.mesh();
 
-    const volVectorField& U = lesModel.U();
-    const tmp<volScalarField> tnu = lesModel.nu();
+    const volVectorField& U = turbulenceModel_.U();
+    const tmp<volScalarField> tnu = turbulenceModel_.nu();
     const volScalarField& nu = tnu();
-    tmp<volScalarField> nuSgs = lesModel.nuSgs();
+    tmp<volScalarField> nuSgs = turbulenceModel_.nut();
 
     volScalarField ystar
     (
         IOobject
         (
             "ystar",
-            mesh_.time().constant(),
-            mesh_
+            mesh.time().constant(),
+            mesh
         ),
-        mesh_,
+        mesh,
         dimensionedScalar("ystar", dimLength, GREAT)
     );
 
-    const fvPatchList& patches = mesh_.boundary();
+    const fvPatchList& patches = mesh.boundary();
     forAll(patches, patchi)
     {
         if (isA<wallFvPatch>(patches[patchi]))
@@ -83,7 +79,7 @@ void vanDriestDelta::calcDelta()
 
     scalar cutOff = wallPointYPlus::yPlusCutOff;
     wallPointYPlus::yPlusCutOff = 500;
-    wallDistData<wallPointYPlus> y(mesh_, ystar);
+    wallDistData<wallPointYPlus> y(mesh, ystar);
     wallPointYPlus::yPlusCutOff = cutOff;
 
     delta_ = min
@@ -96,30 +92,39 @@ void vanDriestDelta::calcDelta()
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-vanDriestDelta::vanDriestDelta
+Foam::LESModels::vanDriestDelta::vanDriestDelta
 (
     const word& name,
-    const fvMesh& mesh,
-    const dictionary& dd
+    const turbulenceModel& turbulence,
+    const dictionary& dict
 )
 :
-    LESdelta(name, mesh),
+    LESdelta(name, turbulence),
     geometricDelta_
     (
-        LESdelta::New("geometricDelta", mesh, dd.subDict(type() + "Coeffs"))
+        LESdelta::New
+        (
+            IOobject::groupName("geometricDelta", turbulence.U().group()),
+            turbulence,
+            dict.subDict(type() + "Coeffs")
+        )
     ),
-    kappa_(dd.lookupOrDefault<scalar>("kappa", 0.41)),
+    kappa_(dict.lookupOrDefault<scalar>("kappa", 0.41)),
     Aplus_
     (
-        dd.subDict(type() + "Coeffs").lookupOrDefault<scalar>("Aplus", 26.0)
+        dict.subDict(type() + "Coeffs").lookupOrDefault<scalar>("Aplus", 26.0)
     ),
     Cdelta_
     (
-        dd.subDict(type() + "Coeffs").lookupOrDefault<scalar>("Cdelta", 0.158)
+        dict.subDict(type() + "Coeffs").lookupOrDefault<scalar>("Cdelta", 0.158)
     ),
     calcInterval_
     (
-        dd.subDict(type() + "Coeffs").lookupOrDefault<label>("calcInterval", 1)
+        dict.subDict(type() + "Coeffs").lookupOrDefault<label>
+        (
+            "calcInterval",
+            1
+        )
     )
 {
     delta_ = geometricDelta_();
@@ -128,22 +133,23 @@ vanDriestDelta::vanDriestDelta
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-void vanDriestDelta::read(const dictionary& d)
+void Foam::LESModels::vanDriestDelta::read(const dictionary& dict)
 {
-    const dictionary& dd(d.subDict(type() + "Coeffs"));
+    const dictionary& coeffsDict(dict.subDict(type() + "Coeffs"));
+
+    geometricDelta_().read(coeffsDict);
+    dict.readIfPresent<scalar>("kappa", kappa_);
+    coeffsDict.readIfPresent<scalar>("Aplus", Aplus_);
+    coeffsDict.readIfPresent<scalar>("Cdelta", Cdelta_);
+    coeffsDict.readIfPresent<label>("calcInterval", calcInterval_);
 
-    geometricDelta_().read(dd);
-    d.readIfPresent<scalar>("kappa", kappa_);
-    dd.readIfPresent<scalar>("Aplus", Aplus_);
-    dd.readIfPresent<scalar>("Cdelta", Cdelta_);
-    dd.readIfPresent<label>("calcInterval", calcInterval_);
     calcDelta();
 }
 
 
-void vanDriestDelta::correct()
+void Foam::LESModels::vanDriestDelta::correct()
 {
-    if (mesh().time().timeIndex() % calcInterval_ == 0)
+    if (turbulenceModel_.mesh().time().timeIndex() % calcInterval_ == 0)
     {
         geometricDelta_().correct();
         calcDelta();
@@ -151,10 +157,4 @@ void vanDriestDelta::correct()
 }
 
 
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
 // ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/vanDriestDelta/vanDriestDelta.H b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/vanDriestDelta/vanDriestDelta.H
similarity index 87%
rename from src/turbulenceModels/incompressible/LES/vanDriestDelta/vanDriestDelta.H
rename to src/TurbulenceModels/turbulenceModels/LES/LESdeltas/vanDriestDelta/vanDriestDelta.H
index 217f86e9dec..81feca5793c 100644
--- a/src/turbulenceModels/incompressible/LES/vanDriestDelta/vanDriestDelta.H
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/vanDriestDelta/vanDriestDelta.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::incompressible::LESModels::vanDriestDelta
+    Foam::vanDriestDelta
 
 Description
     Simple cube-root of cell volume delta used in incompressible LES models.
@@ -35,14 +35,12 @@ SourceFiles
 #ifndef vanDriestDelta_H
 #define vanDriestDelta_H
 
-#include "incompressibleLESdelta.H"
+#include "LESdelta.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
-namespace incompressible
-{
 namespace LESModels
 {
 
@@ -56,7 +54,7 @@ class vanDriestDelta
 {
     // Private data
 
-        autoPtr<Foam::LESdelta> geometricDelta_;
+        autoPtr<LESdelta> geometricDelta_;
         scalar kappa_;
         scalar Aplus_;
         scalar Cdelta_;
@@ -81,8 +79,13 @@ public:
 
     // Constructors
 
-        //- Construct from name, mesh and IOdictionary
-        vanDriestDelta(const word& name, const fvMesh& mesh, const dictionary&);
+        //- Construct from name, turbulenceModel and dictionary
+        vanDriestDelta
+        (
+            const word& name,
+            const turbulenceModel& turbulence,
+            const dictionary&
+        );
 
 
     //- Destructor
@@ -103,7 +106,6 @@ public:
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace LESModels
-} // End namespace incompressible
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/turbulenceModels/incompressible/LES/SpalartAllmarasDDES/SpalartAllmarasDDES.C b/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDDES/SpalartAllmarasDDES.C
similarity index 55%
rename from src/turbulenceModels/incompressible/LES/SpalartAllmarasDDES/SpalartAllmarasDDES.C
rename to src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDDES/SpalartAllmarasDDES.C
index a344ee92077..186970ca613 100644
--- a/src/turbulenceModels/incompressible/LES/SpalartAllmarasDDES/SpalartAllmarasDDES.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDDES/SpalartAllmarasDDES.C
@@ -24,70 +24,73 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "SpalartAllmarasDDES.H"
-#include "addToRunTimeSelectionTable.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
-namespace incompressible
-{
 namespace LESModels
 {
 
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(SpalartAllmarasDDES, 0);
-addToRunTimeSelectionTable(LESModel, SpalartAllmarasDDES, dictionary);
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
+// * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * * //
 
-tmp<volScalarField> SpalartAllmarasDDES::rd
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmarasDDES<BasicTurbulenceModel>::rd
 (
-    const volScalarField& visc,
-    const volScalarField& S
+    const volScalarField& magGradU
 ) const
 {
-    return min
+    tmp<volScalarField> tr
     (
-        visc
-        /(
-            max
-            (
-                S,
-                dimensionedScalar("SMALL", S.dimensions(), SMALL)
-            )*sqr(kappa_*y_)
-          + dimensionedScalar
-            (
-                "ROOTVSMALL",
-                dimensionSet(0, 2 , -1, 0, 0),
-                ROOTVSMALL
-            )
-        ),
-        scalar(10)
+        min
+        (
+            this->nuEff()
+           /(
+               max
+               (
+                   magGradU,
+                   dimensionedScalar("SMALL", magGradU.dimensions(), SMALL)
+               )
+              *sqr(this->kappa_*this->y_)
+            ),
+            scalar(10)
+        )
     );
-}
+    tr().boundaryField() == 0.0;
 
-
-tmp<volScalarField> SpalartAllmarasDDES::fd(const volScalarField& S) const
-{
-    return 1 - tanh(pow3(8*rd(nuEff(), S)));
+    return tr;
 }
 
 
-tmp<volScalarField> SpalartAllmarasDDES::S(const volTensorField& gradU) const
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmarasDDES<BasicTurbulenceModel>::fd
+(
+    const volScalarField& magGradU
+) const
 {
-    return sqrt(2.0)*mag(symm(gradU));
+    return 1 - tanh(pow3(8*rd(magGradU)));
 }
 
 
-tmp<volScalarField> SpalartAllmarasDDES::dTilda(const volScalarField& S) const
+// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmarasDDES<BasicTurbulenceModel>::dTilda
+(
+    const volScalarField& chi,
+    const volScalarField& fv1,
+    const volTensorField& gradU
+) const
 {
     return max
     (
-        y_
-      - fd(S)
-       *max(y_ - CDES_*delta(), dimensionedScalar("zero", dimLength, 0)),
+        this->y_
+      - fd(mag(gradU))
+       *max
+        (
+            this->y_ - this->CDES_*this->delta(),
+            dimensionedScalar("zero", dimLength, 0)
+        ),
         dimensionedScalar("small", dimLength, SMALL)
     );
 }
@@ -95,23 +98,35 @@ tmp<volScalarField> SpalartAllmarasDDES::dTilda(const volScalarField& S) const
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-SpalartAllmarasDDES::SpalartAllmarasDDES
+template<class BasicTurbulenceModel>
+SpalartAllmarasDDES<BasicTurbulenceModel>::SpalartAllmarasDDES
 (
+    const alphaField& alpha,
+    const rhoField& rho,
     const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
     const surfaceScalarField& phi,
     const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
+    const word& propertiesName,
+    const word& type
 )
 :
-    SpalartAllmaras(U, phi, transport, turbulenceModelName, modelName)
+    SpalartAllmarasDES<BasicTurbulenceModel>
+    (
+        alpha,
+        rho,
+        U,
+        alphaRhoPhi,
+        phi,
+        transport,
+        propertiesName
+    )
 {}
 
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace LESModels
-} // End namespace incompressible
 } // End namespace Foam
 
 // ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/SpalartAllmarasDDES/SpalartAllmarasDDES.H b/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDDES/SpalartAllmarasDDES.H
similarity index 64%
rename from src/turbulenceModels/incompressible/LES/SpalartAllmarasDDES/SpalartAllmarasDDES.H
rename to src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDDES/SpalartAllmarasDDES.H
index 5421384e272..addcb635a4c 100644
--- a/src/turbulenceModels/incompressible/LES/SpalartAllmarasDDES/SpalartAllmarasDDES.H
+++ b/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDDES/SpalartAllmarasDDES.H
@@ -22,18 +22,23 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::incompressible::LESModels::SpalartAllmarasDDES
+    Foam::LESModels::SpalartAllmarasDDES
 
 Group
-    grpIcoDESTurbulence
+    grpDESTurbulence
 
 Description
-    SpalartAllmaras DDES LES turbulence model for incompressible flows
+    SpalartAllmaras DDES turbulence model for incompressible and compressible
+    flows
 
     Reference:
-    P.R. Spalart, S. Deck, S., M.L.Shur, K.D. Squires, M.Kh Strelets, and
-    A. Travin. `A new version of detached-eddy simulation, resistant to
-    ambiguous grid densities'. Theor. Comp. Fluid Dyn., 20:181-195, 2006.
+    \verbatim
+        Spalart, P. R., Deck, S., Shur, M. L., Squires, K. D., Strelets, M. K.,
+        & Travin, A. (2006).
+        A new version of detached-eddy simulation, resistant to ambiguous grid
+        densities.
+        Theoretical and computational fluid dynamics, 20(3), 181-195.
+    \endverbatim
 
 SourceFiles
     SpalartAllmarasDDES.C
@@ -43,14 +48,12 @@ SourceFiles
 #ifndef SpalartAllmarasDDES_H
 #define SpalartAllmarasDDES_H
 
-#include "SpalartAllmaras.H"
+#include "SpalartAllmarasDES.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
-namespace incompressible
-{
 namespace LESModels
 {
 
@@ -58,19 +61,16 @@ namespace LESModels
                      Class SpalartAllmarasDDES Declaration
 \*---------------------------------------------------------------------------*/
 
+template<class BasicTurbulenceModel>
 class SpalartAllmarasDDES
 :
-    public SpalartAllmaras
+    public SpalartAllmarasDES<BasicTurbulenceModel>
 {
     // Private Member Functions
 
-        tmp<volScalarField> fd(const volScalarField& S) const;
+        tmp<volScalarField> fd(const volScalarField& magGradU) const;
 
-        tmp<volScalarField> rd
-        (
-            const volScalarField& visc,
-            const volScalarField& S
-        ) const;
+        tmp<volScalarField> rd(const volScalarField& magGradU) const;
 
         // Disallow default bitwise copy construct and assignment
         SpalartAllmarasDDES(const SpalartAllmarasDDES&);
@@ -82,13 +82,21 @@ protected:
     // Protected Member Functions
 
         //- Length scale
-        virtual tmp<volScalarField> dTilda(const volScalarField& S) const;
-
-        virtual tmp<volScalarField> S(const volTensorField& gradU) const;
+        virtual tmp<volScalarField> dTilda
+        (
+            const volScalarField& chi,
+            const volScalarField& fv1,
+            const volTensorField& gradU
+        ) const;
 
 
 public:
 
+    typedef typename BasicTurbulenceModel::alphaField alphaField;
+    typedef typename BasicTurbulenceModel::rhoField rhoField;
+    typedef typename BasicTurbulenceModel::transportModel transportModel;
+
+
     //- Runtime type information
     TypeName("SpalartAllmarasDDES");
 
@@ -98,11 +106,14 @@ public:
         //- Construct from components
         SpalartAllmarasDDES
         (
+            const alphaField& alpha,
+            const rhoField& rho,
             const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
             const surfaceScalarField& phi,
             const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
+            const word& propertiesName = turbulenceModel::propertiesName,
+            const word& type = typeName
         );
 
 
@@ -115,11 +126,16 @@ public:
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace LESModels
-} // End namespace incompressible
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+#ifdef NoRepository
+#   include "SpalartAllmarasDDES.C"
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
 #endif
 
 // ************************************************************************* //
diff --git a/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.C b/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.C
new file mode 100644
index 00000000000..f0a8c60ac10
--- /dev/null
+++ b/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.C
@@ -0,0 +1,454 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "SpalartAllmarasDES.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace LESModels
+{
+
+// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmarasDES<BasicTurbulenceModel>::chi() const
+{
+    return nuTilda_/this->nu();
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmarasDES<BasicTurbulenceModel>::fv1
+(
+    const volScalarField& chi
+) const
+{
+    const volScalarField chi3("chi3", pow3(chi));
+    return chi3/(chi3 + pow3(Cv1_));
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmarasDES<BasicTurbulenceModel>::fv2
+(
+    const volScalarField& chi,
+    const volScalarField& fv1
+) const
+{
+    return 1.0 - chi/(1.0 + chi*fv1);
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmarasDES<BasicTurbulenceModel>::S
+(
+    const volTensorField& gradU
+) const
+{
+    return sqrt(2.0)*mag(symm(gradU));
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmarasDES<BasicTurbulenceModel>::Omega
+(
+    const volTensorField& gradU
+) const
+{
+    return sqrt(2.0)*mag(skew(gradU));
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmarasDES<BasicTurbulenceModel>::Stilda
+(
+    const volScalarField& chi,
+    const volScalarField& fv1,
+    const volScalarField& Omega,
+    const volScalarField& dTilda
+) const
+{
+    return
+    (
+        max
+        (
+            Omega
+          + fv2(chi, fv1)*nuTilda_/sqr(kappa_*dTilda),
+            Cs_*Omega
+        )
+    );
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmarasDES<BasicTurbulenceModel>::r
+(
+    const volScalarField& nur,
+    const volScalarField& Omega,
+    const volScalarField& dTilda
+) const
+{
+    tmp<volScalarField> tr
+    (
+        min
+        (
+            nur
+           /(
+                max
+                (
+                    Omega,
+                    dimensionedScalar("SMALL", Omega.dimensions(), SMALL)
+                )
+                *sqr(kappa_*dTilda)
+            ),
+            scalar(10)
+        )
+    );
+    tr().boundaryField() == 0.0;
+
+    return tr;
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmarasDES<BasicTurbulenceModel>::fw
+(
+    const volScalarField& Omega,
+    const volScalarField& dTilda
+) const
+{
+    const volScalarField r(this->r(nuTilda_, Omega, dTilda));
+    const volScalarField g(r + Cw2_*(pow6(r) - r));
+
+    return g*pow((1 + pow6(Cw3_))/(pow6(g) + pow6(Cw3_)), 1.0/6.0);
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmarasDES<BasicTurbulenceModel>::dTilda
+(
+    const volScalarField& chi,
+    const volScalarField& fv1,
+    const volTensorField& gradU
+) const
+{
+    tmp<volScalarField> tdTilda(CDES_*this->delta());
+    min(tdTilda().dimensionedInternalField(), tdTilda(), y_);
+    return tdTilda;
+}
+
+
+template<class BasicTurbulenceModel>
+void SpalartAllmarasDES<BasicTurbulenceModel>::correctNut
+(
+    const volScalarField& fv1
+)
+{
+    this->nut_ = nuTilda_*fv1;
+    this->nut_.correctBoundaryConditions();
+}
+
+
+template<class BasicTurbulenceModel>
+void SpalartAllmarasDES<BasicTurbulenceModel>::correctNut()
+{
+    correctNut(fv1(this->chi()));
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+SpalartAllmarasDES<BasicTurbulenceModel>::SpalartAllmarasDES
+(
+    const alphaField& alpha,
+    const rhoField& rho,
+    const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
+    const surfaceScalarField& phi,
+    const transportModel& transport,
+    const word& propertiesName,
+    const word& type
+)
+:
+    LESeddyViscosity<BasicTurbulenceModel>
+    (
+        type,
+        alpha,
+        rho,
+        U,
+        alphaRhoPhi,
+        phi,
+        transport,
+        propertiesName
+    ),
+
+    sigmaNut_
+    (
+        dimensioned<scalar>::lookupOrAddToDict
+        (
+            "sigmaNut",
+            this->coeffDict_,
+            0.66666
+        )
+    ),
+    kappa_
+    (
+        dimensioned<scalar>::lookupOrAddToDict
+        (
+            "kappa",
+            this->coeffDict_,
+            0.41
+        )
+    ),
+    Cb1_
+    (
+        dimensioned<scalar>::lookupOrAddToDict
+        (
+            "Cb1",
+            this->coeffDict_,
+            0.1355
+        )
+    ),
+    Cb2_
+    (
+        dimensioned<scalar>::lookupOrAddToDict
+        (
+            "Cb2",
+            this->coeffDict_,
+            0.622
+        )
+    ),
+    Cw1_(Cb1_/sqr(kappa_) + (1.0 + Cb2_)/sigmaNut_),
+    Cw2_
+    (
+        dimensioned<scalar>::lookupOrAddToDict
+        (
+            "Cw2",
+            this->coeffDict_,
+            0.3
+        )
+    ),
+    Cw3_
+    (
+        dimensioned<scalar>::lookupOrAddToDict
+        (
+            "Cw3",
+            this->coeffDict_,
+            2.0
+        )
+    ),
+    Cv1_
+    (
+        dimensioned<scalar>::lookupOrAddToDict
+        (
+            "Cv1",
+            this->coeffDict_,
+            7.1
+        )
+    ),
+    Cs_
+    (
+        dimensioned<scalar>::lookupOrAddToDict
+        (
+            "Cs",
+            this->coeffDict_,
+            0.3
+        )
+    ),
+    CDES_
+    (
+        dimensioned<scalar>::lookupOrAddToDict
+        (
+            "CDES",
+            this->coeffDict_,
+            0.65
+        )
+    ),
+    ck_
+    (
+        dimensioned<scalar>::lookupOrAddToDict
+        (
+            "ck",
+            this->coeffDict_,
+            0.07
+        )
+    ),
+
+    nuTilda_
+    (
+        IOobject
+        (
+            "nuTilda",
+            this->runTime_.timeName(),
+            this->mesh_,
+            IOobject::MUST_READ,
+            IOobject::AUTO_WRITE
+        ),
+        this->mesh_
+    ),
+
+    y_(wallDist::New(this->mesh_).y())
+{
+    if (type == typeName)
+    {
+        correctNut();
+        this->printCoeffs(type);
+    }
+}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+bool SpalartAllmarasDES<BasicTurbulenceModel>::read()
+{
+    if (LESeddyViscosity<BasicTurbulenceModel>::read())
+    {
+        sigmaNut_.readIfPresent(this->coeffDict());
+        kappa_.readIfPresent(*this);
+
+        Cb1_.readIfPresent(this->coeffDict());
+        Cb2_.readIfPresent(this->coeffDict());
+        Cw1_ = Cb1_/sqr(kappa_) + (1.0 + Cb2_)/sigmaNut_;
+        Cw2_.readIfPresent(this->coeffDict());
+        Cw3_.readIfPresent(this->coeffDict());
+        Cv1_.readIfPresent(this->coeffDict());
+        Cs_.readIfPresent(this->coeffDict());
+
+        CDES_.readIfPresent(this->coeffDict());
+        ck_.readIfPresent(this->coeffDict());
+
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmarasDES<BasicTurbulenceModel>::
+DnuTildaEff() const
+{
+    return tmp<volScalarField>
+    (
+        new volScalarField("DnuTildaEff", (nuTilda_ + this->nu())/sigmaNut_)
+    );
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmarasDES<BasicTurbulenceModel>::k() const
+{
+    const volScalarField chi(this->chi());
+    const volScalarField fv1(this->fv1(chi));
+    return sqr(this->nut()/ck_/dTilda(chi, fv1, fvc::grad(this->U_)));
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmarasDES<BasicTurbulenceModel>::LESRegion() const
+{
+    const volScalarField chi(this->chi());
+    const volScalarField fv1(this->fv1(chi));
+
+    tmp<volScalarField> tLESRegion
+    (
+        new volScalarField
+        (
+            IOobject
+            (
+                "DES::LESRegion",
+                this->mesh_.time().timeName(),
+                this->mesh_,
+                IOobject::NO_READ,
+                IOobject::NO_WRITE
+            ),
+            neg(dTilda(chi, fv1, fvc::grad(this->U_)) - y_)
+        )
+    );
+
+    return tLESRegion;
+}
+
+
+template<class BasicTurbulenceModel>
+void SpalartAllmarasDES<BasicTurbulenceModel>::correct()
+{
+    if (!this->turbulence_)
+    {
+        return;
+    }
+
+    // Local references
+    const alphaField& alpha = this->alpha_;
+    const rhoField& rho = this->rho_;
+    const surfaceScalarField& alphaRhoPhi = this->alphaRhoPhi_;
+    const volVectorField& U = this->U_;
+
+    LESeddyViscosity<BasicTurbulenceModel>::correct();
+
+    const volScalarField chi(this->chi());
+    const volScalarField fv1(this->fv1(chi));
+
+    tmp<volTensorField> tgradU = fvc::grad(U);
+    const volScalarField Omega(this->Omega(tgradU()));
+    const volScalarField dTilda(this->dTilda(chi, fv1, tgradU()));
+    const volScalarField Stilda(this->Stilda(chi, fv1, Omega, dTilda));
+
+    tmp<fvScalarMatrix> nuTildaEqn
+    (
+        fvm::ddt(alpha, rho, nuTilda_)
+      + fvm::div(alphaRhoPhi, nuTilda_)
+      - fvm::laplacian(alpha*rho*DnuTildaEff(), nuTilda_)
+      - Cb2_/sigmaNut_*alpha*rho*magSqr(fvc::grad(nuTilda_))
+     ==
+        Cb1_*alpha*rho*Stilda*nuTilda_
+      - fvm::Sp
+        (
+            Cw1_*alpha*rho*fw(Stilda, dTilda)*nuTilda_/sqr(dTilda),
+            nuTilda_
+        )
+    );
+
+    nuTildaEqn().relax();
+    solve(nuTildaEqn);
+    bound(nuTilda_, dimensionedScalar("zero", nuTilda_.dimensions(), 0.0));
+    nuTilda_.correctBoundaryConditions();
+
+    correctNut(fv1);
+}
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace LESModels
+} // End namespace Foam
+
+// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/SpalartAllmaras/SpalartAllmaras.H b/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.H
similarity index 54%
rename from src/turbulenceModels/incompressible/LES/SpalartAllmaras/SpalartAllmaras.H
rename to src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.H
index f5753ebfcc0..4c512487a3f 100644
--- a/src/turbulenceModels/incompressible/LES/SpalartAllmaras/SpalartAllmaras.H
+++ b/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.H
@@ -22,209 +22,203 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::incompressible::LESModels::SpalartAllmaras
+    Foam::LESModels::SpalartAllmarasDES
 
 Group
-    grpIcoDESTurbulence
+    grpDESTurbulence
 
 Description
-    SpalartAllmaras DES (SA + LES) turbulence model for incompressible flows
+    SpalartAllmarasDES DES turbulence model for incompressible and
+    compressible flows
 
-    Extended according to
+    Reference:
     \verbatim
-        "An Unstructured Grid Generation and Adaptive Solution Technique
-        for High Reynolds Number Compressible Flows"
-        G.A. Ashford,
-        Ph.D. thesis, University of Michigan, 1996.
+        Spalart, P. R., Jou, W. H., Strelets, M., & Allmaras, S. R. (1997).
+        Comments on the feasibility of LES for wings, and on a hybrid
+        RANS/LES approach.
+        Advances in DNS/LES, 1, 4-8.
     \endverbatim
-    by using the optional flag \c ashfordCorrection
 
 SourceFiles
-    SpalartAllmaras.C
+    SpalartAllmarasDES.C
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef SpalartAllmaras_H
-#define SpalartAllmaras_H
+#ifndef SpalartAllmarasDES_H
+#define SpalartAllmarasDES_H
 
-#include "DESModel.H"
-#include "volFields.H"
-#include "wallDist.H"
+#include "LESeddyViscosity.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
-namespace incompressible
-{
 namespace LESModels
 {
 
 /*---------------------------------------------------------------------------*\
-                        Class SpalartAllmaras Declaration
+                        Class SpalartAllmarasDES Declaration
 \*---------------------------------------------------------------------------*/
 
-class SpalartAllmaras
+template<class BasicTurbulenceModel>
+class SpalartAllmarasDES
 :
-    public DESModel
+    public LESeddyViscosity<BasicTurbulenceModel>
 {
     // Private Member Functions
 
-        //- Update sub-grid scale fields
-        void updateSubGridScaleFields();
-
         // Disallow default bitwise copy construct and assignment
-        SpalartAllmaras(const SpalartAllmaras&);
-        SpalartAllmaras& operator=(const SpalartAllmaras&);
+        SpalartAllmarasDES(const SpalartAllmarasDES&);
+        SpalartAllmarasDES& operator=(const SpalartAllmarasDES&);
 
 
 protected:
 
     // Protected data
 
-        dimensionedScalar sigmaNut_;
-        dimensionedScalar kappa_;
-
-
         // Model constants
 
+            dimensionedScalar sigmaNut_;
+            dimensionedScalar kappa_;
+
             dimensionedScalar Cb1_;
             dimensionedScalar Cb2_;
-            dimensionedScalar Cv1_;
-            dimensionedScalar Cv2_;
-            dimensionedScalar CDES_;
-            dimensionedScalar ck_;
             dimensionedScalar Cw1_;
             dimensionedScalar Cw2_;
             dimensionedScalar Cw3_;
-
-
-        //- Optional flag to activate the Ashford correction
-        Switch ashfordCorrection_;
-
+            dimensionedScalar Cv1_;
+            dimensionedScalar Cs_;
+            dimensionedScalar CDES_;
+            dimensionedScalar ck_;
 
         // Fields
 
+            volScalarField nuTilda_;
+
             //- Wall distance
             //  Note: different to wall distance in parent RASModel
             //  which is for near-wall cells only
             const volScalarField& y_;
 
-            volScalarField nuTilda_;
-            volScalarField nuSgs_;
-
 
     // Protected Member Functions
 
-        virtual tmp<volScalarField> fv1() const;
-        virtual tmp<volScalarField> fv2() const;
-        virtual tmp<volScalarField> fv3() const;
-        virtual tmp<volScalarField> S(const volTensorField& gradU) const;
+        tmp<volScalarField> chi() const;
 
-        virtual tmp<volScalarField> STilda
+        tmp<volScalarField> fv1(const volScalarField& chi) const;
+
+        tmp<volScalarField> fv2
         (
-            const volScalarField& S,
+            const volScalarField& chi,
+            const volScalarField& fv1
+        ) const;
+
+        tmp<volScalarField> S(const volTensorField& gradU) const;
+
+        tmp<volScalarField> Omega(const volTensorField& gradU) const;
+
+        tmp<volScalarField> Stilda
+        (
+            const volScalarField& chi,
+            const volScalarField& fv1,
+            const volScalarField& Omega,
             const volScalarField& dTilda
         ) const;
 
-        virtual tmp<volScalarField> r
+        tmp<volScalarField> r
         (
-            const volScalarField& visc,
-            const volScalarField& S,
+            const volScalarField& nur,
+            const volScalarField& Omega,
             const volScalarField& dTilda
         ) const;
 
-        virtual tmp<volScalarField> fw
+        tmp<volScalarField> fw
         (
-            const volScalarField& S,
+            const volScalarField& Omega,
             const volScalarField& dTilda
         ) const;
 
         //- Length scale
-        virtual tmp<volScalarField> dTilda(const volScalarField& S) const;
+        virtual tmp<volScalarField> dTilda
+        (
+            const volScalarField& chi,
+            const volScalarField& fv1,
+            const volTensorField& gradU
+        ) const;
+
+        void correctNut(const volScalarField& fv1);
+        virtual void correctNut();
 
 
 public:
 
+    typedef typename BasicTurbulenceModel::alphaField alphaField;
+    typedef typename BasicTurbulenceModel::rhoField rhoField;
+    typedef typename BasicTurbulenceModel::transportModel transportModel;
+
+
     //- Runtime type information
-    TypeName("SpalartAllmaras");
+    TypeName("SpalartAllmarasDES");
 
 
     // Constructors
 
         //- Construct from components
-        SpalartAllmaras
+        SpalartAllmarasDES
         (
+            const alphaField& alpha,
+            const rhoField& rho,
             const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
             const surfaceScalarField& phi,
             const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
+            const word& propertiesName = turbulenceModel::propertiesName,
+            const word& type = typeName
         );
 
 
     //- Destructor
-    virtual ~SpalartAllmaras()
+    virtual ~SpalartAllmarasDES()
     {}
 
 
     // Member Functions
 
+        //- Read LESProperties dictionary
+        virtual bool read();
+
+        //- Return the effective diffusivity for nuTilda
+        tmp<volScalarField> DnuTildaEff() const;
+
         //- Return SGS kinetic energy
         virtual tmp<volScalarField> k() const;
 
-        //- Return sub-grid disipation rate
-        virtual tmp<volScalarField> epsilon() const;
-
         tmp<volScalarField> nuTilda() const
         {
             return nuTilda_;
         }
 
-        //- Return SGS viscosity
-        virtual tmp<volScalarField> nuSgs() const
-        {
-            return nuSgs_;
-        }
-
-        //- Return the sub-grid stress tensor.
-        virtual tmp<volSymmTensorField> B() const;
-
-        //- Return the effective sub-grid turbulence stress tensor
-        //  including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
-
-        //- Return the deviatoric part of the effective sub-grid
-        //  turbulence stress tensor including the laminar stress
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
-
-        //- Return the deviatoric part of the effective sub-grid
-        //  turbulence stress tensor including the laminar stress
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const;
-
-        //- Correct nuTilda and related properties
-        virtual void correct(const tmp<volTensorField>& gradU);
-
-        //- Read LESProperties dictionary
-        virtual bool read();
-
         //- Return the LES field indicator
         virtual tmp<volScalarField> LESRegion() const;
+
+        //- Correct nuTilda and related properties
+        virtual void correct();
 };
 
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace LESModels
-} // End namespace incompressible
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+#ifdef NoRepository
+#   include "SpalartAllmarasDES.C"
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
 #endif
 
 // ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C b/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C
similarity index 54%
rename from src/turbulenceModels/incompressible/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C
rename to src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C
index eade16f384f..f96cdc6a161 100644
--- a/src/turbulenceModels/incompressible/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C
@@ -24,73 +24,63 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "SpalartAllmarasIDDES.H"
-#include "addToRunTimeSelectionTable.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
-namespace incompressible
-{
 namespace LESModels
 {
 
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(SpalartAllmarasIDDES, 0);
-addToRunTimeSelectionTable(LESModel, SpalartAllmarasIDDES, dictionary);
-
 // * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * * //
 
-tmp<volScalarField> SpalartAllmarasIDDES::alpha() const
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmarasIDDES<BasicTurbulenceModel>::alpha() const
 {
     return max
     (
-        0.25 - y_/static_cast<const volScalarField&>(hmax_()),
+        0.25 - this->y_/static_cast<const volScalarField&>(IDDESDelta_.hmax()),
         scalar(-5)
     );
 }
 
 
-tmp<volScalarField> SpalartAllmarasIDDES::ft
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmarasIDDES<BasicTurbulenceModel>::ft
 (
-    const volScalarField& S
+    const volScalarField& magGradU
 ) const
 {
-    return tanh(pow3(sqr(ct_)*rd(nuSgs_, S)));
+    return tanh(pow3(sqr(ct_)*rd(this->nut_, magGradU)));
 }
 
 
-tmp<volScalarField> SpalartAllmarasIDDES::fl
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmarasIDDES<BasicTurbulenceModel>::fl
 (
-    const volScalarField& S
+    const volScalarField& magGradU
 ) const
 {
-    return tanh(pow(sqr(cl_)*rd(nu(), S), 10));
+    return tanh(pow(sqr(cl_)*rd(this->nu(), magGradU), 10));
 }
 
 
-tmp<volScalarField> SpalartAllmarasIDDES::rd
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmarasIDDES<BasicTurbulenceModel>::rd
 (
-    const volScalarField& visc,
-    const volScalarField& S
+    const volScalarField& nur,
+    const volScalarField& magGradU
 ) const
 {
     return min
     (
-        visc
+        nur
        /(
            max
            (
-               S,
-               dimensionedScalar("SMALL", S.dimensions(), SMALL)
-           )*sqr(kappa_*y_)
-         + dimensionedScalar
-           (
-               "ROOTVSMALL",
-               dimensionSet(0, 2 , -1, 0, 0),
-               ROOTVSMALL
-           )
+               magGradU,
+               dimensionedScalar("SMALL", magGradU.dimensions(), SMALL)
+           )*sqr(this->kappa_*this->y_)
        ),
        scalar(10)
     );
@@ -99,23 +89,34 @@ tmp<volScalarField> SpalartAllmarasIDDES::rd
 
 // * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
 
-tmp<volScalarField> SpalartAllmarasIDDES::fd(const volScalarField& S) const
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmarasIDDES<BasicTurbulenceModel>::fd
+(
+    const volScalarField& magGradU
+) const
 {
-    return 1 - tanh(pow3(8*rd(nuEff(), S)));
+    return 1 - tanh(pow3(8*rd(this->nuEff(), magGradU)));
 }
 
 
-tmp<volScalarField> SpalartAllmarasIDDES::dTilda(const volScalarField& S) const
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmarasIDDES<BasicTurbulenceModel>::dTilda
+(
+    const volScalarField& chi,
+    const volScalarField& fv1,
+    const volTensorField& gradU
+) const
 {
     const volScalarField alpha(this->alpha());
     const volScalarField expTerm(exp(sqr(alpha)));
+    const volScalarField magGradU(mag(gradU));
 
     tmp<volScalarField> fHill =
         2*(pos(alpha)*pow(expTerm, -11.09) + neg(alpha)*pow(expTerm, -9.0));
 
     tmp<volScalarField> fStep = min(2*pow(expTerm, -9.0), scalar(1));
-    const volScalarField fHyb(max(1 - fd(S), fStep));
-    tmp<volScalarField> fAmp = 1 - max(ft(S), fl(S));
+    const volScalarField fHyb(max(1 - fd(magGradU), fStep));
+    tmp<volScalarField> fAmp = 1 - max(ft(magGradU), fl(magGradU));
     tmp<volScalarField> fRestore = max(fHill - 1, scalar(0))*fAmp;
 
     // IGNORING ft2 terms
@@ -126,7 +127,11 @@ tmp<volScalarField> SpalartAllmarasIDDES::dTilda(const volScalarField& S) const
             min
             (
                 scalar(100),
-                (1 - Cb1_/(Cw1_*sqr(kappa_)*fwStar_)*fv2())/max(SMALL, fv1())
+                (
+                    1
+                  - this->Cb1_*this->fv2(chi, fv1)
+                   /(this->Cw1_*sqr(this->kappa_)*fwStar_)
+                 )/max(SMALL, fv1)
             )
         )
     );
@@ -134,48 +139,43 @@ tmp<volScalarField> SpalartAllmarasIDDES::dTilda(const volScalarField& S) const
     return max
     (
         dimensionedScalar("SMALL", dimLength, SMALL),
-        fHyb*(1 + fRestore*Psi)*y_
-      + (1 - fHyb)*CDES_*Psi*delta()
+        fHyb*(1 + fRestore*Psi)*this->y_
+      + (1 - fHyb)*this->CDES_*Psi*this->delta()
     );
 }
 
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-SpalartAllmarasIDDES::SpalartAllmarasIDDES
+template<class BasicTurbulenceModel>
+SpalartAllmarasIDDES<BasicTurbulenceModel>::SpalartAllmarasIDDES
 (
+    const alphaField& alpha,
+    const rhoField& rho,
     const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
     const surfaceScalarField& phi,
     const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
+    const word& propertiesName,
+    const word& type
 )
 :
-    SpalartAllmaras(U, phi, transport, turbulenceModelName, modelName),
-    hmax_
+    SpalartAllmarasDES<BasicTurbulenceModel>
     (
-        LESdelta::New
-        (
-            "hmax",
-            mesh_,
-            *this
-        )
-    ),
-    IDDESDelta_
-    (
-        LESdelta::New
-        (
-            "IDDESDelta",
-            mesh_,
-            this->subDict(typeName + "Coeffs")
-        )
+        alpha,
+        rho,
+        U,
+        alphaRhoPhi,
+        phi,
+        transport,
+        propertiesName
     ),
     fwStar_
     (
         dimensioned<scalar>::lookupOrAddToDict
         (
             "fwStar",
-            coeffDict_,
+            this->coeffDict_,
             0.424
         )
     ),
@@ -184,7 +184,7 @@ SpalartAllmarasIDDES::SpalartAllmarasIDDES
         dimensioned<scalar>::lookupOrAddToDict
         (
             "cl",
-            coeffDict_,
+            this->coeffDict_,
             3.55
         )
     ),
@@ -193,20 +193,24 @@ SpalartAllmarasIDDES::SpalartAllmarasIDDES
         dimensioned<scalar>::lookupOrAddToDict
         (
             "ct",
-            coeffDict_,
+            this->coeffDict_,
             1.63
         )
-    )
+    ),
+    IDDESDelta_(refCast<IDDESDelta>(this->delta_()))
 {}
 
 
-bool SpalartAllmarasIDDES::read()
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+bool SpalartAllmarasIDDES<BasicTurbulenceModel>::read()
 {
-    if (SpalartAllmaras::read())
+    if (SpalartAllmarasDES<BasicTurbulenceModel>::read())
     {
-        fwStar_.readIfPresent(coeffDict());
-        cl_.readIfPresent(coeffDict());
-        ct_.readIfPresent(coeffDict());
+        fwStar_.readIfPresent(this->coeffDict());
+        cl_.readIfPresent(this->coeffDict());
+        ct_.readIfPresent(this->coeffDict());
 
         return true;
     }
@@ -220,7 +224,6 @@ bool SpalartAllmarasIDDES::read()
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace LESModels
-} // End namespace incompressible
 } // End namespace Foam
 
 // ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H b/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H
similarity index 63%
rename from src/turbulenceModels/incompressible/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H
rename to src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H
index 036d3191304..2bfaf6089a1 100644
--- a/src/turbulenceModels/incompressible/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H
+++ b/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H
@@ -22,13 +22,22 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::incompressible::LESModels::SpalartAllmarasIDDES
+    Foam::LESModels::SpalartAllmarasIDDES
 
 Group
-    grpIcoDESTurbulence
+    grpDESTurbulence
 
 Description
-    SpalartAllmarasIDDES LES turbulence model for incompressible flows
+    SpalartAllmaras IDDES turbulence model for incompressible and compressible
+    flows
+
+    Reference:
+    \verbatim
+        Shur, M. L., Spalart, P. R., Strelets, M. K., & Travin, A. K. (2008).
+        A hybrid RANS-LES approach with delayed-DES and wall-modelled LES
+        capabilities.
+        International Journal of Heat and Fluid Flow, 29(6), 1638-1649.
+    \endverbatim
 
 SourceFiles
     SpalartAllmarasIDDES.C
@@ -38,14 +47,13 @@ SourceFiles
 #ifndef SpalartAllmarasIDDES_H
 #define SpalartAllmarasIDDES_H
 
-#include "SpalartAllmaras.H"
+#include "SpalartAllmarasDES.H"
+#include "IDDESDelta.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
-namespace incompressible
-{
 namespace LESModels
 {
 
@@ -53,35 +61,38 @@ namespace LESModels
                         Class SpalartAllmarasIDDES Declaration
 \*---------------------------------------------------------------------------*/
 
+template<class BasicTurbulenceModel>
 class SpalartAllmarasIDDES
 :
-    public SpalartAllmaras
+    public SpalartAllmarasDES<BasicTurbulenceModel>
 {
     // Private data
 
         // Model constants
 
-            autoPtr<Foam::LESdelta> hmax_;
-            autoPtr<Foam::LESdelta> IDDESDelta_;
             dimensionedScalar fwStar_;
             dimensionedScalar cl_;
             dimensionedScalar ct_;
 
+        // Fields
+
+            const IDDESDelta& IDDESDelta_;
+
 
     // Private Member Functions
 
         tmp<volScalarField> alpha() const;
-        tmp<volScalarField> ft(const volScalarField& S) const;
-        tmp<volScalarField> fl(const volScalarField& S) const;
+        tmp<volScalarField> ft(const volScalarField& magGradU) const;
+        tmp<volScalarField> fl(const volScalarField& magGradU) const;
 
         tmp<volScalarField> rd
         (
-            const volScalarField& visc,
-            const volScalarField& S
+            const volScalarField& nur,
+            const volScalarField& magGradU
         ) const;
 
         //- Delay function
-        tmp<volScalarField> fd(const volScalarField& S) const;
+        tmp<volScalarField> fd(const volScalarField& magGradU) const;
 
         // Disallow default bitwise copy construct and assignment
         SpalartAllmarasIDDES(const SpalartAllmarasIDDES&);
@@ -93,11 +104,21 @@ protected:
     // Protected Member Functions
 
         //- Length scale
-        virtual tmp<volScalarField> dTilda(const volScalarField& S) const;
+        virtual tmp<volScalarField> dTilda
+        (
+            const volScalarField& chi,
+            const volScalarField& fv1,
+            const volTensorField& gradU
+        ) const;
 
 
 public:
 
+    typedef typename BasicTurbulenceModel::alphaField alphaField;
+    typedef typename BasicTurbulenceModel::rhoField rhoField;
+    typedef typename BasicTurbulenceModel::transportModel transportModel;
+
+
     //- Runtime type information
     TypeName("SpalartAllmarasIDDES");
 
@@ -107,11 +128,14 @@ public:
         //- Construct from components
         SpalartAllmarasIDDES
         (
+            const alphaField& alpha,
+            const rhoField& rho,
             const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
             const surfaceScalarField& phi,
             const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
+            const word& propertiesName = turbulenceModel::propertiesName,
+            const word& type = typeName
         );
 
 
@@ -122,12 +146,6 @@ public:
 
     // Member Functions
 
-        //- Access function to filter width
-        virtual const volScalarField& delta() const
-        {
-            return IDDESDelta_();
-        }
-
         //- Read LESProperties dictionary
         virtual bool read();
 };
@@ -136,11 +154,16 @@ public:
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace LESModels
-} // End namespace incompressible
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+#ifdef NoRepository
+#   include "SpalartAllmarasIDDES.C"
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
 #endif
 
 // ************************************************************************* //
diff --git a/src/TurbulenceModels/turbulenceModels/LES/eddyViscosity/LESeddyViscosity.C b/src/TurbulenceModels/turbulenceModels/LES/eddyViscosity/LESeddyViscosity.C
index b3d1c98f10b..2a58c71e358 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/eddyViscosity/LESeddyViscosity.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/eddyViscosity/LESeddyViscosity.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -92,6 +92,8 @@ bool LESeddyViscosity<BasicTurbulenceModel>::read()
 template<class BasicTurbulenceModel>
 tmp<volScalarField> LESeddyViscosity<BasicTurbulenceModel>::epsilon() const
 {
+    tmp<volScalarField> tk(this->k());
+
     return tmp<volScalarField>
     (
         new volScalarField
@@ -104,7 +106,7 @@ tmp<volScalarField> LESeddyViscosity<BasicTurbulenceModel>::epsilon() const
                 IOobject::NO_READ,
                 IOobject::NO_WRITE
             ),
-            Ce_*this->k()*sqrt(this->k())/this->delta()
+            Ce_*tk()*sqrt(tk())/this->delta()
         )
     );
 }
diff --git a/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.H b/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.H
index 6a2a307da2e..b525666a798 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.H
+++ b/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -65,7 +65,6 @@ SourceFiles
 #ifndef kEqn_H
 #define kEqn_H
 
-#include "LESModel.H"
 #include "LESeddyViscosity.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -95,9 +94,14 @@ protected:
 
     // Protected data
 
-        volScalarField k_;
+        // Fields
 
-        dimensionedScalar Ck_;
+            volScalarField k_;
+
+
+        // Model constants
+
+            dimensionedScalar Ck_;
 
 
     // Protected Member Functions
diff --git a/src/TurbulenceModels/turbulenceModels/Make/files b/src/TurbulenceModels/turbulenceModels/Make/files
index 47c070ccbbb..0dffeeaa325 100644
--- a/src/TurbulenceModels/turbulenceModels/Make/files
+++ b/src/TurbulenceModels/turbulenceModels/Make/files
@@ -5,8 +5,10 @@ LESdelta = LES/LESdeltas
 $(LESdelta)/LESdelta/LESdelta.C
 $(LESdelta)/cubeRootVolDelta/cubeRootVolDelta.C
 $(LESdelta)/PrandtlDelta/PrandtlDelta.C
+$(LESdelta)/vanDriestDelta/vanDriestDelta.C
 $(LESdelta)/smoothDelta/smoothDelta.C
 $(LESdelta)/maxDeltaxyz/maxDeltaxyz.C
+$(LESdelta)/IDDESDelta/IDDESDelta.C
 
 LESfilters = LES/LESfilters
 
@@ -19,7 +21,7 @@ $(LESfilters)/anisotropicFilter/anisotropicFilter.C
 derivedFvPatchFields/fixedShearStress/fixedShearStressFvPatchVectorField.C
 derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.C
 
-/* Wall functions */
+/* Wall function BCs */
 wallFunctions = RAS/derivedFvPatchFields/wallFunctions
 
 nutWallFunctions = $(wallFunctions)/nutWallFunctions
@@ -54,10 +56,14 @@ fWallFunctions = $(wallFunctions)/fWallFunctions
 $(fWallFunctions)/fWallFunction/fWallFunctionFvPatchScalarField.C
 */
 
-/* Patch fields */
+/* Inlet turbulence BCs */
 RAS/derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.C
 RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.C
-RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.C
+
+/* Atmospheric boundary layer BCs */
+RAS/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.C
 RAS/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.C
+RAS/derivedFvPatchFields/atmBoundaryLayerInletK/atmBoundaryLayerInletKFvPatchScalarField.C
+RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.C
 
 LIB = $(FOAM_LIBBIN)/libturbulenceModels
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C b/src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C
new file mode 100644
index 00000000000..61addc591d8
--- /dev/null
+++ b/src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C
@@ -0,0 +1,310 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "LaunderSharmaKE.H"
+#include "bound.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace RASModels
+{
+
+// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+tmp<volScalarField> LaunderSharmaKE<BasicTurbulenceModel>::fMu() const
+{
+    return exp(-3.4/sqr(scalar(1) + sqr(k_)/(this->nu()*epsilon_)/50.0));
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<volScalarField> LaunderSharmaKE<BasicTurbulenceModel>::f2() const
+{
+    return
+        scalar(1)
+      - 0.3*exp(-min(sqr(sqr(k_)/(this->nu()*epsilon_)), scalar(50.0)));
+}
+
+
+template<class BasicTurbulenceModel>
+void LaunderSharmaKE<BasicTurbulenceModel>::correctNut()
+{
+    this->nut_ = Cmu_*fMu()*sqr(k_)/epsilon_;
+    this->nut_.correctBoundaryConditions();
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<fvScalarMatrix> LaunderSharmaKE<BasicTurbulenceModel>::kSource() const
+{
+    return tmp<fvScalarMatrix>
+    (
+        new fvScalarMatrix
+        (
+            k_,
+            dimVolume*this->rho_.dimensions()*k_.dimensions()
+            /dimTime
+        )
+    );
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<fvScalarMatrix> LaunderSharmaKE<BasicTurbulenceModel>::epsilonSource() const
+{
+    return tmp<fvScalarMatrix>
+    (
+        new fvScalarMatrix
+        (
+            epsilon_,
+            dimVolume*this->rho_.dimensions()*epsilon_.dimensions()
+            /dimTime
+        )
+    );
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+LaunderSharmaKE<BasicTurbulenceModel>::LaunderSharmaKE
+(
+    const alphaField& alpha,
+    const rhoField& rho,
+    const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
+    const surfaceScalarField& phi,
+    const transportModel& transport,
+    const word& propertiesName,
+    const word& type
+)
+:
+    eddyViscosity<RASModel<BasicTurbulenceModel> >
+    (
+        type,
+        alpha,
+        rho,
+        U,
+        alphaRhoPhi,
+        phi,
+        transport,
+        propertiesName
+    ),
+
+    Cmu_
+    (
+        dimensioned<scalar>::lookupOrAddToDict
+        (
+            "Cmu",
+            this->coeffDict_,
+            0.09
+        )
+    ),
+    C1_
+    (
+        dimensioned<scalar>::lookupOrAddToDict
+        (
+            "C1",
+            this->coeffDict_,
+            1.44
+        )
+    ),
+    C2_
+    (
+        dimensioned<scalar>::lookupOrAddToDict
+        (
+            "C2",
+            this->coeffDict_,
+            1.92
+        )
+    ),
+    C3_
+    (
+        dimensioned<scalar>::lookupOrAddToDict
+        (
+            "C3",
+            this->coeffDict_,
+            -0.33
+        )
+    ),
+    sigmak_
+    (
+        dimensioned<scalar>::lookupOrAddToDict
+        (
+            "sigmak",
+            this->coeffDict_,
+            1.0
+        )
+    ),
+    sigmaEps_
+    (
+        dimensioned<scalar>::lookupOrAddToDict
+        (
+            "sigmaEps",
+            this->coeffDict_,
+            1.3
+        )
+    ),
+
+    k_
+    (
+        IOobject
+        (
+            "k",
+            this->runTime_.timeName(),
+            this->mesh_,
+            IOobject::MUST_READ,
+            IOobject::AUTO_WRITE
+        ),
+        this->mesh_
+    ),
+
+    epsilon_
+    (
+        IOobject
+        (
+            "epsilon",
+            this->runTime_.timeName(),
+            this->mesh_,
+            IOobject::MUST_READ,
+            IOobject::AUTO_WRITE
+        ),
+        this->mesh_
+    )
+{
+    bound(k_, this->kMin_);
+    bound(epsilon_, this->epsilonMin_);
+
+    if (type == typeName)
+    {
+        correctNut();
+        this->printCoeffs(type);
+    }
+}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+bool LaunderSharmaKE<BasicTurbulenceModel>::read()
+{
+    if (eddyViscosity<RASModel<BasicTurbulenceModel> >::read())
+    {
+        Cmu_.readIfPresent(this->coeffDict());
+        C1_.readIfPresent(this->coeffDict());
+        C2_.readIfPresent(this->coeffDict());
+        C3_.readIfPresent(this->coeffDict());
+        sigmak_.readIfPresent(this->coeffDict());
+        sigmaEps_.readIfPresent(this->coeffDict());
+
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+
+template<class BasicTurbulenceModel>
+void LaunderSharmaKE<BasicTurbulenceModel>::correct()
+{
+    if (!this->turbulence_)
+    {
+        return;
+    }
+
+    // Local references
+    const alphaField& alpha = this->alpha_;
+    const rhoField& rho = this->rho_;
+    const surfaceScalarField& alphaRhoPhi = this->alphaRhoPhi_;
+    const volVectorField& U = this->U_;
+    volScalarField& nut = this->nut_;
+
+    eddyViscosity<RASModel<BasicTurbulenceModel> >::correct();
+
+    volScalarField divU(fvc::div(fvc::absolute(this->phi(), U)));
+
+    // Calculate parameters and coefficients for Launder-Sharma low-Reynolds
+    // number model
+
+    volScalarField E(2.0*this->nu()*nut*fvc::magSqrGradGrad(U));
+    volScalarField D(2.0*this->nu()*magSqr(fvc::grad(sqrt(k_))));
+
+    tmp<volTensorField> tgradU = fvc::grad(U);
+    volScalarField G(this->GName(), nut*(tgradU() && dev(twoSymm(tgradU()))));
+    tgradU.clear();
+
+
+    // Dissipation equation
+    tmp<fvScalarMatrix> epsEqn
+    (
+        fvm::ddt(alpha, rho, epsilon_)
+      + fvm::div(alphaRhoPhi, epsilon_)
+      - fvm::Sp(fvc::ddt(alpha, rho) + fvc::div(alphaRhoPhi), epsilon_)
+      - fvm::laplacian(alpha*rho*DepsilonEff(), epsilon_)
+     ==
+        C1_*alpha*rho*G*epsilon_/k_
+      - fvm::SuSp(((2.0/3.0)*C1_ + C3_)*alpha*rho*divU, epsilon_)
+      - fvm::Sp(C2_*f2()*alpha*rho*epsilon_/k_, epsilon_)
+      + alpha*rho*E
+      + epsilonSource()
+    );
+
+    epsEqn().relax();
+    solve(epsEqn);
+    bound(epsilon_, this->epsilonMin_);
+
+
+    // Turbulent kinetic energy equation
+    tmp<fvScalarMatrix> kEqn
+    (
+        fvm::ddt(alpha, rho, k_)
+      + fvm::div(alphaRhoPhi, k_)
+      - fvm::Sp(fvc::ddt(alpha, rho) + fvc::div(alphaRhoPhi), k_)
+      - fvm::laplacian(alpha*rho*DkEff(), k_)
+     ==
+        alpha*rho*G - fvm::SuSp(2.0/3.0*alpha*rho*divU, k_)
+      - fvm::Sp(alpha*rho*(epsilon_ + D)/k_, k_)
+      + kSource()
+    );
+
+    kEqn().relax();
+    solve(kEqn);
+    bound(k_, this->kMin_);
+
+    correctNut();
+}
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace RASModels
+} // End namespace Foam
+
+// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/LaunderSharmaKE/LaunderSharmaKE.H b/src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.H
similarity index 65%
rename from src/turbulenceModels/compressible/RAS/LaunderSharmaKE/LaunderSharmaKE.H
rename to src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.H
index dd6fee6f1b6..8b67ea50fc1 100644
--- a/src/turbulenceModels/compressible/RAS/LaunderSharmaKE/LaunderSharmaKE.H
+++ b/src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -22,27 +22,27 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::compressible::RASModels::LaunderSharmaKE
+    Foam::RASModels::LaunderSharmaKE
 
 Group
-    grpCmpRASTurbulence
+    grpRASTurbulence
 
 Description
     Launder and Sharma low-Reynolds k-epsilon turbulence model for
-    compressible and combusting flows including rapid distortion theory (RDT)
-    based compression term.
+    incompressible and compressible and combusting flows including
+    rapid distortion theory (RDT) based compression term.
 
     References:
     \verbatim
-        "Application of the Energy-Dissipation Model of Turbulence
-         to the Calculation of Flow Near a Spinning Disc",
-        Launder, B. E. and Sharma, B. I.,
-        Letters in Heat and Mass Transfer, Vol. 1, No. 2, 1974, pp 131-138.
+        Launder, B. E., & Sharma, B. I. (1974).
+        Application of the energy-dissipation model of turbulence to the
+        calculation of flow near a spinning disc.
+        Letters in heat and mass transfer, 1(2), 131-137.
 
         For the RDT-based compression term:
-        "k-epsilon equations for compressible reciprocating engine flows"
-        El Tahry, S. H.,
-        AIAA Journal of Energy 7, 1983, pp 345-353.
+        El Tahry, S. H. (1983).
+        k-epsilon equation for compressible reciprocating engine flows.
+        Journal of Energy, 7(4), 345-353.
     \endverbatim
 
     The default model coefficients correspond to the following:
@@ -64,17 +64,16 @@ SourceFiles
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef compressibleLaunderSharmaKE_H
-#define compressibleLaunderSharmaKE_H
+#ifndef LaunderSharmaKE_H
+#define LaunderSharmaKE_H
 
 #include "RASModel.H"
+#include "eddyViscosity.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
-namespace compressible
-{
 namespace RASModels
 {
 
@@ -82,10 +81,17 @@ namespace RASModels
                         Class LaunderSharmaKE Declaration
 \*---------------------------------------------------------------------------*/
 
+template<class BasicTurbulenceModel>
 class LaunderSharmaKE
 :
-    public RASModel
+    public eddyViscosity<RASModel<BasicTurbulenceModel> >
 {
+    // Private Member Functions
+
+        // Disallow default bitwise copy construct and assignment
+        LaunderSharmaKE(const LaunderSharmaKE&);
+        LaunderSharmaKE& operator=(const LaunderSharmaKE&);
+
 
 protected:
 
@@ -99,15 +105,12 @@ protected:
             dimensionedScalar C3_;
             dimensionedScalar sigmak_;
             dimensionedScalar sigmaEps_;
-            dimensionedScalar Prt_;
 
 
         // Fields
 
             volScalarField k_;
             volScalarField epsilon_;
-            volScalarField mut_;
-            volScalarField alphat_;
 
 
     // Private Member Functions
@@ -115,23 +118,35 @@ protected:
         tmp<volScalarField> fMu() const;
         tmp<volScalarField> f2() const;
 
+        virtual void correctNut();
+        virtual tmp<fvScalarMatrix> kSource() const;
+        virtual tmp<fvScalarMatrix> epsilonSource() const;
+
 
 public:
 
+    typedef typename BasicTurbulenceModel::alphaField alphaField;
+    typedef typename BasicTurbulenceModel::rhoField rhoField;
+    typedef typename BasicTurbulenceModel::transportModel transportModel;
+
+
     //- Runtime type information
     TypeName("LaunderSharmaKE");
 
+
     // Constructors
 
         //- Construct from components
         LaunderSharmaKE
         (
-            const volScalarField& rho,
+            const alphaField& alpha,
+            const rhoField& rho,
             const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
             const surfaceScalarField& phi,
-            const fluidThermo& thermophysicalModel,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
+            const transportModel& transport,
+            const word& propertiesName = turbulenceModel::propertiesName,
+            const word& type = typeName
         );
 
 
@@ -142,12 +157,19 @@ public:
 
     // Member Functions
 
+        //- Re-read model coefficients if they have changed
+        virtual bool read();
+
         //- Return the effective diffusivity for k
         tmp<volScalarField> DkEff() const
         {
             return tmp<volScalarField>
             (
-                new volScalarField("DkEff", mut_/sigmak_ + mu())
+                new volScalarField
+                (
+                    "DkEff",
+                    (this->nut_/sigmak_ + this->nu())
+                )
             );
         }
 
@@ -156,22 +178,14 @@ public:
         {
             return tmp<volScalarField>
             (
-                new volScalarField("DepsilonEff", mut_/sigmaEps_ + mu())
+                new volScalarField
+                (
+                    "DepsilonEff",
+                    (this->nut_/sigmaEps_ + this->nu())
+                )
             );
         }
 
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> mut() const
-        {
-            return mut_;
-        }
-
-        //- Return the turbulence thermal diffusivity
-        virtual tmp<volScalarField> alphat() const
-        {
-            return alphat_;
-        }
-
         //- Return the turbulence kinetic energy
         virtual tmp<volScalarField> k() const
         {
@@ -184,31 +198,24 @@ public:
             return epsilon_;
         }
 
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const;
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devRhoReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const;
-
         //- Solve the turbulence equations and correct the turbulence viscosity
         virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
 };
 
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace RASModels
-} // End namespace compressible
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+#ifdef NoRepository
+#   include "LaunderSharmaKE.C"
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
 #endif
 
 // ************************************************************************* //
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.C b/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.C
index ada33eb5ff4..9dfd900c650 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -54,6 +54,7 @@ Foam::RASModel<BasicTurbulenceModel>::RASModel
 :
     BasicTurbulenceModel
     (
+        type,
         alpha,
         rho,
         U,
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.H b/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.H
index 51acd76873c..7ecd22b2b28 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.H
+++ b/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -21,12 +21,6 @@ License
     You should have received a copy of the GNU General Public License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
-Namespace
-    Foam::RASModels
-
-Description
-    Namespace for RAS turbulence models.
-
 Class
     Foam::RASModel
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C b/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C
new file mode 100644
index 00000000000..c07e677155f
--- /dev/null
+++ b/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C
@@ -0,0 +1,389 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "SpalartAllmaras.H"
+#include "bound.H"
+#include "wallDist.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace RASModels
+{
+
+// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmaras<BasicTurbulenceModel>::chi() const
+{
+    return nuTilda_/this->nu();
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmaras<BasicTurbulenceModel>::fv1
+(
+    const volScalarField& chi
+) const
+{
+    const volScalarField chi3(pow3(chi));
+    return chi3/(chi3 + pow3(Cv1_));
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmaras<BasicTurbulenceModel>::fv2
+(
+    const volScalarField& chi,
+    const volScalarField& fv1
+) const
+{
+    return 1.0 - chi/(1.0 + chi*fv1);
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmaras<BasicTurbulenceModel>::Stilda
+(
+    const volScalarField& chi,
+    const volScalarField& fv1
+) const
+{
+    volScalarField Omega(::sqrt(2.0)*mag(skew(fvc::grad(this->U_))));
+
+    return
+    (
+        max
+        (
+            Omega
+          + fv2(chi, fv1)*nuTilda_/sqr(kappa_*y_),
+            Cs_*Omega
+        )
+    );
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmaras<BasicTurbulenceModel>::fw
+(
+    const volScalarField& Stilda
+) const
+{
+    volScalarField r
+    (
+        min
+        (
+            nuTilda_
+           /(
+               max
+               (
+                   Stilda,
+                   dimensionedScalar("SMALL", Stilda.dimensions(), SMALL)
+               )
+              *sqr(kappa_*y_)
+            ),
+            scalar(10.0)
+        )
+    );
+    r.boundaryField() == 0.0;
+
+    const volScalarField g(r + Cw2_*(pow6(r) - r));
+
+    return g*pow((1.0 + pow6(Cw3_))/(pow6(g) + pow6(Cw3_)), 1.0/6.0);
+}
+
+
+template<class BasicTurbulenceModel>
+void SpalartAllmaras<BasicTurbulenceModel>::correctNut
+(
+    const volScalarField& fv1
+)
+{
+    this->nut_ = nuTilda_*fv1;
+    this->nut_.correctBoundaryConditions();
+}
+
+
+template<class BasicTurbulenceModel>
+void SpalartAllmaras<BasicTurbulenceModel>::correctNut()
+{
+    correctNut(fv1(this->chi()));
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+SpalartAllmaras<BasicTurbulenceModel>::SpalartAllmaras
+(
+    const alphaField& alpha,
+    const rhoField& rho,
+    const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
+    const surfaceScalarField& phi,
+    const transportModel& transport,
+    const word& propertiesName,
+    const word& type
+)
+:
+    eddyViscosity<RASModel<BasicTurbulenceModel> >
+    (
+        type,
+        alpha,
+        rho,
+        U,
+        alphaRhoPhi,
+        phi,
+        transport,
+        propertiesName
+    ),
+
+    sigmaNut_
+    (
+        dimensioned<scalar>::lookupOrAddToDict
+        (
+            "sigmaNut",
+            this->coeffDict_,
+            0.66666
+        )
+    ),
+    kappa_
+    (
+        dimensioned<scalar>::lookupOrAddToDict
+        (
+            "kappa",
+            this->coeffDict_,
+            0.41
+        )
+    ),
+
+    Cb1_
+    (
+        dimensioned<scalar>::lookupOrAddToDict
+        (
+            "Cb1",
+            this->coeffDict_,
+            0.1355
+        )
+    ),
+    Cb2_
+    (
+        dimensioned<scalar>::lookupOrAddToDict
+        (
+            "Cb2",
+            this->coeffDict_,
+            0.622
+        )
+    ),
+    Cw1_(Cb1_/sqr(kappa_) + (1.0 + Cb2_)/sigmaNut_),
+    Cw2_
+    (
+        dimensioned<scalar>::lookupOrAddToDict
+        (
+            "Cw2",
+            this->coeffDict_,
+            0.3
+        )
+    ),
+    Cw3_
+    (
+        dimensioned<scalar>::lookupOrAddToDict
+        (
+            "Cw3",
+            this->coeffDict_,
+            2.0
+        )
+    ),
+    Cv1_
+    (
+        dimensioned<scalar>::lookupOrAddToDict
+        (
+            "Cv1",
+            this->coeffDict_,
+            7.1
+        )
+    ),
+    Cs_
+    (
+        dimensioned<scalar>::lookupOrAddToDict
+        (
+            "Cs",
+            this->coeffDict_,
+            0.3
+        )
+    ),
+
+    nuTilda_
+    (
+        IOobject
+        (
+            "nuTilda",
+            this->runTime_.timeName(),
+            this->mesh_,
+            IOobject::MUST_READ,
+            IOobject::AUTO_WRITE
+        ),
+        this->mesh_
+    ),
+
+    y_(wallDist::New(this->mesh_).y())
+{
+    if (type == typeName)
+    {
+        correctNut();
+        this->printCoeffs(type);
+    }
+}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+bool SpalartAllmaras<BasicTurbulenceModel>::read()
+{
+    if (eddyViscosity<RASModel<BasicTurbulenceModel> >::read())
+    {
+        sigmaNut_.readIfPresent(this->coeffDict());
+        kappa_.readIfPresent(this->coeffDict());
+
+        Cb1_.readIfPresent(this->coeffDict());
+        Cb2_.readIfPresent(this->coeffDict());
+        Cw1_ = Cb1_/sqr(kappa_) + (1.0 + Cb2_)/sigmaNut_;
+        Cw2_.readIfPresent(this->coeffDict());
+        Cw3_.readIfPresent(this->coeffDict());
+        Cv1_.readIfPresent(this->coeffDict());
+        Cs_.readIfPresent(this->coeffDict());
+
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmaras<BasicTurbulenceModel>::DnuTildaEff() const
+{
+    return tmp<volScalarField>
+    (
+        new volScalarField("DnuTildaEff", (nuTilda_ + this->nu())/sigmaNut_)
+    );
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmaras<BasicTurbulenceModel>::k() const
+{
+    return tmp<volScalarField>
+    (
+        new volScalarField
+        (
+            IOobject
+            (
+                "k",
+                this->runTime_.timeName(),
+                this->mesh_
+            ),
+            this->mesh_,
+            dimensionedScalar("0", dimensionSet(0, 2, -2, 0, 0), 0)
+        )
+    );
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<volScalarField> SpalartAllmaras<BasicTurbulenceModel>::epsilon() const
+{
+    WarningIn("tmp<volScalarField> SpalartAllmaras::epsilon() const")
+        << "Turbulence kinetic energy dissipation rate not defined for "
+        << "Spalart-Allmaras model. Returning zero field"
+        << endl;
+
+    return tmp<volScalarField>
+    (
+        new volScalarField
+        (
+            IOobject
+            (
+                "epsilon",
+                this->runTime_.timeName(),
+                this->mesh_
+            ),
+            this->mesh_,
+            dimensionedScalar("0", dimensionSet(0, 2, -3, 0, 0), 0)
+        )
+    );
+}
+
+
+template<class BasicTurbulenceModel>
+void SpalartAllmaras<BasicTurbulenceModel>::correct()
+{
+    if (!this->turbulence_)
+    {
+        return;
+    }
+
+    // Local references
+    const alphaField& alpha = this->alpha_;
+    const rhoField& rho = this->rho_;
+    const surfaceScalarField& alphaRhoPhi = this->alphaRhoPhi_;
+
+    eddyViscosity<RASModel<BasicTurbulenceModel> >::correct();
+
+    const volScalarField chi(this->chi());
+    const volScalarField fv1(this->fv1(chi));
+
+    const volScalarField Stilda(this->Stilda(chi, fv1));
+
+    tmp<fvScalarMatrix> nuTildaEqn
+    (
+        fvm::ddt(alpha, rho, nuTilda_)
+      + fvm::div(alphaRhoPhi, nuTilda_)
+      - fvm::laplacian(alpha*rho*DnuTildaEff(), nuTilda_)
+      - Cb2_/sigmaNut_*alpha*rho*magSqr(fvc::grad(nuTilda_))
+     ==
+        Cb1_*alpha*rho*Stilda*nuTilda_
+      - fvm::Sp(Cw1_*alpha*rho*fw(Stilda)*nuTilda_/sqr(y_), nuTilda_)
+    );
+
+    nuTildaEqn().relax();
+    solve(nuTildaEqn);
+    bound(nuTilda_, dimensionedScalar("0", nuTilda_.dimensions(), 0.0));
+    nuTilda_.correctBoundaryConditions();
+
+    correctNut(fv1);
+}
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace RASModels
+} // End namespace Foam
+
+// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/SpalartAllmaras/SpalartAllmaras.H b/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.H
similarity index 68%
rename from src/turbulenceModels/incompressible/RAS/SpalartAllmaras/SpalartAllmaras.H
rename to src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.H
index 554ad12d329..b09a325d7b4 100644
--- a/src/turbulenceModels/incompressible/RAS/SpalartAllmaras/SpalartAllmaras.H
+++ b/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.H
@@ -22,31 +22,31 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::incompressible::RASModels::SpalartAllmaras
+    Foam::RASModels::SpalartAllmaras
 
 Group
-    grpIcoRASTurbulence
+    grpCmpRASTurbulence
 
 Description
-    Spalart-Allmaras 1-eqn mixing-length model for incompressible external
-    flows.
+    Spalart-Allmaras one-eqn mixing-length model for incompressible and
+    compressible external flows.
 
-    References:
+    Reference:
     \verbatim
-        "A One-Equation Turbulence Model for Aerodynamic Flows"
-        P.R. Spalart,
-        S.R. Allmaras,
-        La Recherche Aerospatiale, No. 1, 1994, pp. 5-21.
+        Spalart, P.R., & Allmaras, S.R. (1994).
+        A one-equation turbulence model for aerodynamic flows.
+        La Recherche Aerospatiale, 1, 5-21.
     \endverbatim
 
-    Extended according to
-    \verbatim
-        "An Unstructured Grid Generation and Adaptive Solution Technique
-        for High Reynolds Number Compressible Flows"
-        G.A. Ashford,
-        Ph.D. thesis, University of Michigan, 1996.
-    \endverbatim
-    using the optional flag \c ashfordCorrection
+    The model is implemented without the trip-term and hence the ft2 term is
+    not needed.
+
+    It is necessary to limit the Stilda generation term as the model generates
+    unphysical results if this term becomes negative which occurs for complex
+    flow.  Several approaches have been proposed to limit Stilda but it is not
+    clear which is the most appropriate.  Here the limiter proposed by Spalart
+    is implemented in which Stilda is clipped at Cs*Omega with the default value
+    of Cs = 0.3.
 
     The default model coefficients correspond to the following:
     \verbatim
@@ -57,7 +57,7 @@ Description
             Cw2         0.3;
             Cw3         2.0;
             Cv1         7.1;
-            Cv2         5.0;
+            Cs          0.3;
             sigmaNut    0.66666;
             kappa       0.41;
         }
@@ -72,25 +72,30 @@ SourceFiles
 #define SpalartAllmaras_H
 
 #include "RASModel.H"
-#include "wallDist.H"
+#include "eddyViscosity.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
-namespace incompressible
-{
 namespace RASModels
 {
 
 /*---------------------------------------------------------------------------*\
-                       Class SpalartAllmaras Declaration
+                      Class SpalartAllmaras Declaration
 \*---------------------------------------------------------------------------*/
 
+template<class BasicTurbulenceModel>
 class SpalartAllmaras
 :
-    public RASModel
+    public eddyViscosity<RASModel<BasicTurbulenceModel> >
 {
+    // Private Member Functions
+
+        // Disallow default bitwise copy construct and assignment
+        SpalartAllmaras(const SpalartAllmaras&);
+        SpalartAllmaras& operator=(const SpalartAllmaras&);
+
 
 protected:
 
@@ -107,17 +112,12 @@ protected:
             dimensionedScalar Cw2_;
             dimensionedScalar Cw3_;
             dimensionedScalar Cv1_;
-            dimensionedScalar Cv2_;
-
-
-        //- Optional flag to activate the Ashford correction
-        Switch ashfordCorrection_;
+            dimensionedScalar Cs_;
 
 
         // Fields
 
             volScalarField nuTilda_;
-            volScalarField nut_;
 
             //- Wall distance
             //  Note: different to wall distance in parent RASModel
@@ -137,7 +137,7 @@ protected:
             const volScalarField& fv1
         ) const;
 
-        tmp<volScalarField> fv3
+        tmp<volScalarField> Stilda
         (
             const volScalarField& chi,
             const volScalarField& fv1
@@ -145,9 +145,17 @@ protected:
 
         tmp<volScalarField> fw(const volScalarField& Stilda) const;
 
+        void correctNut(const volScalarField& fv1);
+        virtual void correctNut();
+
 
 public:
 
+    typedef typename BasicTurbulenceModel::alphaField alphaField;
+    typedef typename BasicTurbulenceModel::rhoField rhoField;
+    typedef typename BasicTurbulenceModel::transportModel transportModel;
+
+
     //- Runtime type information
     TypeName("SpalartAllmaras");
 
@@ -157,11 +165,14 @@ public:
         //- Construct from components
         SpalartAllmaras
         (
+            const alphaField& alpha,
+            const rhoField& rho,
             const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
             const surfaceScalarField& phi,
             const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
+            const word& propertiesName = turbulenceModel::propertiesName,
+            const word& type = typeName
         );
 
 
@@ -172,11 +183,8 @@ public:
 
     // Member Functions
 
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> nut() const
-        {
-            return nut_;
-        }
+        //- Read RASProperties dictionary
+        virtual bool read();
 
         //- Return the effective diffusivity for nuTilda
         tmp<volScalarField> DnuTildaEff() const;
@@ -187,38 +195,24 @@ public:
         //- Return the turbulence kinetic energy dissipation rate
         virtual tmp<volScalarField> epsilon() const;
 
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const;
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const;
-
         //- Solve the turbulence equations and correct the turbulence viscosity
         virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
 };
 
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace RASModels
-} // End namespace incompressible
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+#ifdef NoRepository
+#   include "SpalartAllmaras.C"
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
 #endif
 
 // ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.C b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.C
similarity index 97%
rename from src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.C
rename to src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.C
index 1c6ff3fcff0..0ec40850460 100644
--- a/src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -29,8 +29,6 @@ License
 
 namespace Foam
 {
-namespace incompressible
-{
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
@@ -176,7 +174,6 @@ void atmBoundaryLayer::write(Ostream& os) const
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-} // End namespace incompressible
 } // End namespace Foam
 
 // ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.H b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.H
similarity index 96%
rename from src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.H
rename to src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.H
index 50641ee0e56..21e6e7bb22f 100644
--- a/src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.H
+++ b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -22,10 +22,10 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::incompressible::atmBoundaryLayer
+    FoamFoam::atmBoundaryLayer
 
 Group
-    grpIcoRASBoundaryConditions grpInletBoundaryConditions
+    grpRASBoundaryConditions grpInletBoundaryConditions
 
 Description
     This class provides functions to evaluate the velocity and turbulence
@@ -122,8 +122,6 @@ SourceFiles
 
 namespace Foam
 {
-namespace incompressible
-{
 
 /*---------------------------------------------------------------------------*\
        Class atmBoundaryLayer Declaration
@@ -234,7 +232,6 @@ public:
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-} // End namespace incompressible
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.C b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.C
index d621d888450..9b04284c0e6 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,95 +44,48 @@ atmBoundaryLayerInletEpsilonFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(p, iF),
-    z_(vector::zero),
-    kappa_(0.41),
-    Uref_(0),
-    Href_(0),
-    z0_(0),
-    zGround_(0),
-    Ustar_(0)
+    atmBoundaryLayer()
 {}
 
 
 atmBoundaryLayerInletEpsilonFvPatchScalarField::
 atmBoundaryLayerInletEpsilonFvPatchScalarField
 (
-    const atmBoundaryLayerInletEpsilonFvPatchScalarField& ptf,
     const fvPatch& p,
     const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
+    const dictionary& dict
 )
 :
-    fixedValueFvPatchScalarField(ptf, p, iF, mapper),
-    z_(ptf.z_),
-    kappa_(ptf.kappa_),
-    Uref_(ptf.Uref_),
-    Href_(ptf.Href_),
-    z0_(ptf.z0_, mapper),
-    zGround_(ptf.zGround_, mapper),
-    Ustar_(ptf.Ustar_, mapper)
-{}
+    fixedValueFvPatchScalarField(p, iF),
+    atmBoundaryLayer(patch().Cf(), dict)
+{
+    scalarField::operator=(epsilon(patch().Cf()));
+}
 
 
 atmBoundaryLayerInletEpsilonFvPatchScalarField::
 atmBoundaryLayerInletEpsilonFvPatchScalarField
 (
+    const atmBoundaryLayerInletEpsilonFvPatchScalarField& psf,
     const fvPatch& p,
     const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
+    const fvPatchFieldMapper& mapper
 )
 :
-    fixedValueFvPatchScalarField(p, iF),
-    z_(dict.lookup("z")),
-    kappa_(dict.lookupOrDefault<scalar>("kappa", 0.41)),
-    Uref_(readScalar(dict.lookup("Uref"))),
-    Href_(readScalar(dict.lookup("Href"))),
-    z0_("z0", dict, p.size()),
-    zGround_("zGround", dict, p.size()),
-    Ustar_(p.size())
-{
-    if (mag(z_) < SMALL)
-    {
-        FatalErrorIn
-        (
-            "atmBoundaryLayerInletEpsilonFvPatchScalarField"
-            "("
-                "const fvPatch&, "
-                "const DimensionedField<scalar, volMesh>&, "
-                "const dictionary&"
-            ")"
-        )
-            << "magnitude of z vector must be greater than zero"
-            << abort(FatalError);
-    }
-
-    forAll (Ustar_, i)
-    {
-        Ustar_[i] = kappa_*Uref_/(log((Href_  + z0_[i])/max(z0_[i] , 0.001)));
-    }
-
-    z_ /= mag(z_);
-
-    const vectorField& c = patch().Cf();
-    scalarField::operator=(pow3(Ustar_)/(kappa_*((c & z_) - zGround_ + z0_)));
-}
+    fixedValueFvPatchScalarField(psf, p, iF, mapper),
+    atmBoundaryLayer(psf, mapper)
+{}
 
 
 atmBoundaryLayerInletEpsilonFvPatchScalarField::
 atmBoundaryLayerInletEpsilonFvPatchScalarField
 (
-    const atmBoundaryLayerInletEpsilonFvPatchScalarField& blpsf,
+    const atmBoundaryLayerInletEpsilonFvPatchScalarField& psf,
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    fixedValueFvPatchScalarField(blpsf, iF),
-    z_(blpsf.z_),
-    kappa_(blpsf.kappa_),
-    Uref_(blpsf.Uref_),
-    Href_(blpsf.Href_),
-    z0_(blpsf.z0_),
-    zGround_(blpsf.zGround_),
-    Ustar_(blpsf.Ustar_)
+    fixedValueFvPatchScalarField(psf, iF),
+    atmBoundaryLayer(psf)
 {}
 
 
@@ -144,42 +97,29 @@ void atmBoundaryLayerInletEpsilonFvPatchScalarField::autoMap
 )
 {
     fixedValueFvPatchScalarField::autoMap(m);
-    z0_.autoMap(m);
-    zGround_.autoMap(m);
-    Ustar_.autoMap(m);
+    atmBoundaryLayer::autoMap(m);
 }
 
 
 void atmBoundaryLayerInletEpsilonFvPatchScalarField::rmap
 (
-    const fvPatchScalarField& ptf,
+    const fvPatchScalarField& psf,
     const labelList& addr
 )
 {
-    fixedValueFvPatchScalarField::rmap(ptf, addr);
+    fixedValueFvPatchScalarField::rmap(psf, addr);
 
-    const atmBoundaryLayerInletEpsilonFvPatchScalarField& blptf =
-        refCast<const atmBoundaryLayerInletEpsilonFvPatchScalarField>(ptf);
+    const atmBoundaryLayerInletEpsilonFvPatchScalarField& blpsf =
+        refCast<const atmBoundaryLayerInletEpsilonFvPatchScalarField>(psf);
 
-    z0_.rmap(blptf.z0_, addr);
-    zGround_.rmap(blptf.zGround_, addr);
-    Ustar_.rmap(blptf.Ustar_, addr);
+    atmBoundaryLayer::rmap(blpsf, addr);
 }
 
 
 void atmBoundaryLayerInletEpsilonFvPatchScalarField::write(Ostream& os) const
 {
     fvPatchScalarField::write(os);
-    os.writeKeyword("z")
-        << z_ << token::END_STATEMENT << nl;
-    os.writeKeyword("kappa")
-        << kappa_ << token::END_STATEMENT << nl;
-    os.writeKeyword("Uref")
-        << Uref_ << token::END_STATEMENT << nl;
-    os.writeKeyword("Href")
-        << Href_ << token::END_STATEMENT << nl;
-    z0_.writeEntry("z0", os);
-    zGround_.writeEntry("zGround", os);
+    atmBoundaryLayer::write(os);
     writeEntry("value", os);
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.H
index f18ce28dba9..bc020fed388 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.H
+++ b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -22,73 +22,34 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::atmBoundaryLayerInletEpsilonFvPatchScalarField
+    FoamFoam::atmBoundaryLayerInletEpsilonFvPatchScalarField
 
 Group
     grpRASBoundaryConditions grpInletBoundaryConditions
 
 Description
     This boundary condition specifies an inlet value for the turbulence
-    dissipation, \f$\epsilon\f$ (\c epsilon), appropriate for atmospheric
-    boundary layers (ABL), and designed to be used in conjunction with the
-    \c ABLInletVelocity inlet velocity boundary condition.
-
-        \f[
-            \epsilon = \frac{(U^*)^3}{K(z - z_g + z_0)}
-        \f]
-
-    where
-    \vartable
-        U^*     | frictional velocity
-        K       | Karman's constant
-        z       | vertical co-ordinate [m]
-        z_0     | surface roughness length [m]
-        z_g     | minimum vlaue in z direction [m]
-    \endvartable
-
-    and:
-
-        \f[
-            U^* = K \frac{U_{ref}}{ln\left(\frac{Z_{ref} + z_0}{z_0}\right)}
-        \f]
-
-    where:
-    \vartable
-        U_{ref} | reference velocity at \f$Z_{ref}\f$ [m/s]
-        Z_{ref} | reference height [m]
-    \endvartable
-
-    \heading Patch usage
-
-    \table
-        Property     | Description             | Required    | Default value
-        z            | vertical co-ordinate [m] | yes        |
-        kappa        | Karman's constanat      | no          | 0.41
-        Uref         | reference velocity [m/s] | yes        |
-        Href         | reference height [m]    | yes         |
-        z0           | surface roughness length [m] | yes    |
-        zGround      | minimum z co-ordinate [m] | yes       |
-    \endtable
+    dissipation, \f$\epsilon\f$, appropriate for atmospheric boundary layers.
+
+    See FoamFoam::atmBoundaryLayer for details.
 
     Example of the boundary condition specification:
     \verbatim
-    myPatch
+    ground
     {
         type            atmBoundaryLayerInletEpsilon;
-        z               1.0;
-        kappa           0.41;
-        Uref            1.0;
-        Href            0.0;
-        z0              uniform 0.0;
+        z               (0 0 1);
+        Uref            10.0;
+        Zref            20.0;
+        z0              uniform 0.1;
         zGround         uniform 0.0;
     }
     \endverbatim
 
-    Reference:
-        D.M. Hargreaves and N.G. Wright,  "On the use of the k-epsilon model
-        in commercial CFD software to model the neutral atmospheric boundary
-        layer", Journal of Wind Engineering and Industrial Aerodynamics
-        95(2007), pp 355-369.
+SeeAlso
+    FoamFoam::atmBoundaryLayer,
+    FoamFoam::atmBoundaryLayerInletVelocityFvPatchVectorField,
+    FoamFoam::atmBoundaryLayerInletKFvPatchScalarField
 
 SourceFiles
     atmBoundaryLayerInletEpsilonFvPatchScalarField.C
@@ -100,6 +61,7 @@ SourceFiles
 
 #include "fvPatchFields.H"
 #include "fixedValueFvPatchFields.H"
+#include "atmBoundaryLayer.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -112,31 +74,9 @@ namespace Foam
 
 class atmBoundaryLayerInletEpsilonFvPatchScalarField
 :
-    public fixedValueFvPatchScalarField
+    public fixedValueFvPatchScalarField,
+    public atmBoundaryLayer
 {
-    // Private data
-
-        //- Direction of the z-coordinate
-        vector z_;
-
-        //- Von Karman constant
-        const scalar kappa_;
-
-        //- Reference velocity
-        const scalar Uref_;
-
-        //- Reference height
-        const scalar Href_;
-
-        //- Surface roughness length
-        scalarField z0_;
-
-        //- Minimum co-ordinate value in z direction
-        scalarField zGround_;
-
-        //- Frictional velocity
-        scalarField Ustar_;
-
 
 public:
 
@@ -202,21 +142,6 @@ public:
 
     // Member functions
 
-        // Access
-
-            //- Return max value
-            const scalarField& Ustar() const
-            {
-                return Ustar_;
-            }
-
-            //- Return z direction
-            const vector& z() const
-            {
-                return z_;
-            }
-
-
         // Mapping functions
 
             //- Map (and resize as needed) from self given a mapping object
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletK/atmBoundaryLayerInletKFvPatchScalarField.C b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletK/atmBoundaryLayerInletKFvPatchScalarField.C
similarity index 96%
rename from src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletK/atmBoundaryLayerInletKFvPatchScalarField.C
rename to src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletK/atmBoundaryLayerInletKFvPatchScalarField.C
index 3980ad27e04..de2404ab13a 100644
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletK/atmBoundaryLayerInletKFvPatchScalarField.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletK/atmBoundaryLayerInletKFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -33,8 +33,6 @@ License
 
 namespace Foam
 {
-namespace incompressible
-{
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
@@ -136,7 +134,6 @@ makePatchTypeField
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-} // End namespace incompressible
 } // End namespace Foam
 
 // ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletK/atmBoundaryLayerInletKFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletK/atmBoundaryLayerInletKFvPatchScalarField.H
similarity index 91%
rename from src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletK/atmBoundaryLayerInletKFvPatchScalarField.H
rename to src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletK/atmBoundaryLayerInletKFvPatchScalarField.H
index 7463fce17e3..cc95eca33a7 100644
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletK/atmBoundaryLayerInletKFvPatchScalarField.H
+++ b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletK/atmBoundaryLayerInletKFvPatchScalarField.H
@@ -22,16 +22,16 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::incompressible::atmBoundaryLayerInletKFvPatchScalarField
+    Foam::atmBoundaryLayerInletKFvPatchScalarField
 
 Group
-    grpIcoRASBoundaryConditions grpInletBoundaryConditions
+    grpRASBoundaryConditions grpInletBoundaryConditions
 
 Description
     This boundary condition specifies an inlet value for the turbulence
     kinetic energy, \f$k\f$, appropriate for atmospheric boundary layers.
 
-    See Foam::incompressible::atmBoundaryLayer for details.
+    See Foam::atmBoundaryLayer for details.
 
     Example of the boundary condition specification:
     \verbatim
@@ -47,9 +47,9 @@ Description
     \endverbatim
 
 SeeAlso
-    Foam::incompressible::atmBoundaryLayer,
-    Foam::incompressible::atmBoundaryLayerInletVelocityFvPatchVectorField,
-    Foam::incompressible::atmBoundaryLayerInletEpsilonFvPatchScalarField
+    Foam::atmBoundaryLayer,
+    Foam::atmBoundaryLayerInletVelocityFvPatchVectorField,
+    Foam::atmBoundaryLayerInletEpsilonFvPatchScalarField
 
 SourceFiles
     atmBoundaryLayerInletKFvPatchScalarField.C
@@ -67,8 +67,6 @@ SourceFiles
 
 namespace Foam
 {
-namespace incompressible
-{
 
 /*---------------------------------------------------------------------------*\
         Class atmBoundaryLayerInletKFvPatchScalarField Declaration
@@ -167,7 +165,6 @@ public:
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-} // End namespace incompressible
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.C b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.C
index 0966e506076..652b6e07bce 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,117 +44,48 @@ atmBoundaryLayerInletVelocityFvPatchVectorField
 )
 :
     fixedValueFvPatchVectorField(p, iF),
-    Ustar_(0),
-    n_(pTraits<vector>::zero),
-    z_(pTraits<vector>::zero),
-    z0_(0),
-    kappa_(0.41),
-    Uref_(0),
-    Href_(0),
-    zGround_(0)
+    atmBoundaryLayer()
 {}
 
 
 atmBoundaryLayerInletVelocityFvPatchVectorField::
 atmBoundaryLayerInletVelocityFvPatchVectorField
 (
-    const atmBoundaryLayerInletVelocityFvPatchVectorField& ptf,
     const fvPatch& p,
     const DimensionedField<vector, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
+    const dictionary& dict
 )
 :
-    fixedValueFvPatchVectorField(ptf, p, iF, mapper),
-    Ustar_(ptf.Ustar_, mapper),
-    n_(ptf.n_),
-    z_(ptf.z_),
-    z0_(ptf.z0_, mapper),
-    kappa_(ptf.kappa_),
-    Uref_(ptf.Uref_),
-    Href_(ptf.Href_),
-    zGround_(ptf.zGround_, mapper)
-{}
+    fixedValueFvPatchVectorField(p, iF),
+    atmBoundaryLayer(patch().Cf(), dict)
+{
+    vectorField::operator=(U(patch().Cf()));
+}
 
 
 atmBoundaryLayerInletVelocityFvPatchVectorField::
 atmBoundaryLayerInletVelocityFvPatchVectorField
 (
+    const atmBoundaryLayerInletVelocityFvPatchVectorField& pvf,
     const fvPatch& p,
     const DimensionedField<vector, volMesh>& iF,
-    const dictionary& dict
+    const fvPatchFieldMapper& mapper
 )
 :
-    fixedValueFvPatchVectorField(p, iF),
-    Ustar_(p.size()),
-    n_(dict.lookup("n")),
-    z_(dict.lookup("z")),
-    z0_("z0", dict, p.size()),
-    kappa_(dict.lookupOrDefault<scalar>("kappa", 0.41)),
-    Uref_(readScalar(dict.lookup("Uref"))),
-    Href_(readScalar(dict.lookup("Href"))),
-    zGround_("zGround", dict, p.size())
-{
-    if (mag(n_) < SMALL || mag(z_) < SMALL)
-    {
-        FatalErrorIn
-        (
-            "atmBoundaryLayerInletVelocityFvPatchVectorField"
-            "("
-                "const fvPatch&, "
-                "const DimensionedField<vector, volMesh>&, "
-                "onst dictionary&"
-            ")"
-        )
-            << "magnitude of n or z must be greater than zero"
-            << abort(FatalError);
-    }
-
-    n_ /= mag(n_);
-    z_ /= mag(z_);
-
-    forAll (Ustar_, i)
-    {
-        Ustar_[i] = kappa_*Uref_/(log((Href_  + z0_[i])/max(z0_[i] , 0.001)));
-    }
-
-    const vectorField& c = patch().Cf();
-    const scalarField coord(c & z_);
-    scalarField Un(coord.size());
-
-    forAll(coord, i)
-    {
-        if ((coord[i] - zGround_[i]) < Href_)
-        {
-            Un[i] =
-                (Ustar_[i]/kappa_)
-              * log((coord[i] - zGround_[i] + z0_[i])/max(z0_[i], 0.001));
-        }
-        else
-        {
-            Un[i] = Uref_;
-        }
-    }
-
-    vectorField::operator=(n_*Un);
-}
+    fixedValueFvPatchVectorField(pvf, p, iF, mapper),
+    atmBoundaryLayer(pvf, mapper)
+{}
 
 
 atmBoundaryLayerInletVelocityFvPatchVectorField::
 atmBoundaryLayerInletVelocityFvPatchVectorField
 (
-    const atmBoundaryLayerInletVelocityFvPatchVectorField& blpvf,
+    const atmBoundaryLayerInletVelocityFvPatchVectorField& pvf,
     const DimensionedField<vector, volMesh>& iF
 )
 :
-    fixedValueFvPatchVectorField(blpvf, iF),
-    Ustar_(blpvf.Ustar_),
-    n_(blpvf.n_),
-    z_(blpvf.z_),
-    z0_(blpvf.z0_),
-    kappa_(blpvf.kappa_),
-    Uref_(blpvf.Uref_),
-    Href_(blpvf.Href_),
-    zGround_(blpvf.zGround_)
+    fixedValueFvPatchVectorField(pvf, iF),
+    atmBoundaryLayer(pvf)
 {}
 
 
@@ -166,44 +97,29 @@ void atmBoundaryLayerInletVelocityFvPatchVectorField::autoMap
 )
 {
     fixedValueFvPatchVectorField::autoMap(m);
-    z0_.autoMap(m);
-    zGround_.autoMap(m);
-    Ustar_.autoMap(m);
+    atmBoundaryLayer::autoMap(m);
 }
 
 
 void atmBoundaryLayerInletVelocityFvPatchVectorField::rmap
 (
-    const fvPatchVectorField& ptf,
+    const fvPatchVectorField& pvf,
     const labelList& addr
 )
 {
-    fixedValueFvPatchVectorField::rmap(ptf, addr);
+    fixedValueFvPatchVectorField::rmap(pvf, addr);
 
-    const atmBoundaryLayerInletVelocityFvPatchVectorField& blptf =
-        refCast<const atmBoundaryLayerInletVelocityFvPatchVectorField>(ptf);
+    const atmBoundaryLayerInletVelocityFvPatchVectorField& blpvf =
+        refCast<const atmBoundaryLayerInletVelocityFvPatchVectorField>(pvf);
 
-    z0_.rmap(blptf.z0_, addr);
-    zGround_.rmap(blptf.zGround_, addr);
-    Ustar_.rmap(blptf.Ustar_, addr);
+    atmBoundaryLayer::rmap(blpvf, addr);
 }
 
 
 void atmBoundaryLayerInletVelocityFvPatchVectorField::write(Ostream& os) const
 {
     fvPatchVectorField::write(os);
-    z0_.writeEntry("z0", os) ;
-    os.writeKeyword("n")
-        << n_ << token::END_STATEMENT << nl;
-    os.writeKeyword("z")
-        << z_ << token::END_STATEMENT << nl;
-    os.writeKeyword("kappa")
-        << kappa_ << token::END_STATEMENT << nl;
-    os.writeKeyword("Uref")
-        << Uref_ << token::END_STATEMENT << nl;
-    os.writeKeyword("Href")
-        << Href_ << token::END_STATEMENT << nl;
-    zGround_.writeEntry("zGround", os) ;
+    atmBoundaryLayer::write(os);
     writeEntry("value", os);
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.H b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.H
index b2f7245ccbd..ea93312fa6f 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.H
+++ b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -22,81 +22,35 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::atmBoundaryLayerInletVelocityFvPatchVectorField
+    FoamFoam::atmBoundaryLayerInletVelocityFvPatchVectorField
 
 Group
     grpRASBoundaryConditions grpInletBoundaryConditions
 
 Description
     This boundary condition specifies a velocity inlet profile appropriate
-    for atmospheric boundary layers (ABL).  The profile is derived from the
-    friction velocity, flow direction and the direction of the parabolic
-    co-ordinate \c z.
-
-        \f[
-            U = \frac{U^*}{K} ln\left(\frac{z - z_g + z_0}{z_0}\right)
-        \f]
-
-    where
-    \vartable
-        U^*     | frictional velocity
-        K       | Karman's constant
-        z       | vertical co-ordinate [m]
-        z_0     | surface roughness length [m]
-        z_g     | minimum vlaue in z direction [m]
-    \endvartable
-
-    and:
-
-        \f[
-            U^* = K \frac{U_{ref}}{ln\left(\frac{Z_{ref} + z_0}{z_0}\right)}
-        \f]
-
-    where:
-    \vartable
-        U_{ref} | reference velocity at \f$Z_{ref}\f$ [m/s]
-        Z_{ref} | reference height [m]
-    \endvartable
-
-    Reference:
-        D.M. Hargreaves and N.G. Wright,  "On the use of the k-epsilon model
-        in commercial CFD software to model the neutral atmospheric boundary
-        layer", Journal of Wind Engineering and Industrial Aerodynamics
-        95(2007), pp 355-369.
-
-    \heading Patch usage
-
-    \table
-        Property     | Description             | Required    | Default value
-        n            | flow direction          | yes         |
-        z            | vertical co-ordinate [m] | yes        |
-        kappa        | Karman's constanat      | no          | 0.41
-        Uref         | reference velocity [m/s] | yes        |
-        Href         | reference height [m]    | yes         |
-        z0           | surface roughness length [m] | yes    |
-        zGround      | minimum z co-ordinate [m] | yes       |
-    \endtable
+    for atmospheric boundary layers (ABL).
+
+    See FoamFoam::atmBoundaryLayer for details.
 
     Example of the boundary condition specification:
     \verbatim
-    myPatch
+    ground
     {
         type            atmBoundaryLayerInletVelocity;
-        n               (0 1 0);
-        z               1.0;
-        kappa           0.41;
-        Uref            1.0;
-        Href            0.0;
-        z0              uniform 0.0;
+        n               (1 0 0);
+        z               (0 0 1);
+        Uref            10.0;
+        Zref            20.0;
+        z0              uniform 0.1;
         zGround         uniform 0.0;
     }
     \endverbatim
 
-Note
-    D.M. Hargreaves and N.G. Wright recommend Gamma epsilon in the
-    k-epsilon model should be changed from 1.3 to 1.11 for consistency.
-    The roughness height (Er) is given by Er = 20 z0 following the same
-    reference.
+SeeAlso
+    FoamFoam::atmBoundaryLayer,
+    FoamFoam::atmBoundaryLayerInletKFvPatchScalarField,
+    FoamFoam::atmBoundaryLayerInletEpsilonFvPatchScalarField
 
 SourceFiles
     atmBoundaryLayerInletVelocityFvPatchVectorField.C
@@ -108,6 +62,7 @@ SourceFiles
 
 #include "fvPatchFields.H"
 #include "fixedValueFvPatchFields.H"
+#include "atmBoundaryLayer.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -120,34 +75,9 @@ namespace Foam
 
 class atmBoundaryLayerInletVelocityFvPatchVectorField
 :
-    public fixedValueFvPatchVectorField
+    public fixedValueFvPatchVectorField,
+    public atmBoundaryLayer
 {
-    // Private data
-
-        //- Frictional velocity
-        scalarField Ustar_;
-
-        //- Flow direction
-        vector n_;
-
-        //- Direction of the z-coordinate
-        vector z_;
-
-        //- Surface roughness lenght
-        scalarField z0_;
-
-        //- Von Karman constant
-        const scalar kappa_;
-
-        //- Reference velocity
-        const scalar Uref_;
-
-        //- Reference hight
-        const scalar Href_;
-
-        //- Minimum corrdinate value in z direction
-        scalarField zGround_;
-
 
 public:
 
@@ -213,27 +143,6 @@ public:
 
     // Member functions
 
-        // Access
-
-            //- Return Ustar
-            const scalarField& Ustar() const
-            {
-                return Ustar_;
-            }
-
-            //- Return flow direction
-            const vector& n() const
-            {
-                return n_;
-            }
-
-            //- Return z direction
-            const vector& z() const
-            {
-                return z_;
-            }
-
-
         // Mapping functions
 
             //- Map (and resize as needed) from self given a mapping object
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C
index 1b8ed898ffe..ce40a41ae69 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,6 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "v2WallFunctionFvPatchScalarField.H"
+#include "turbulenceModel.H"
 #include "fvPatchFieldMapper.H"
 #include "volFields.H"
 #include "addToRunTimeSelectionTable.H"
@@ -52,6 +53,14 @@ void v2WallFunctionFvPatchScalarField::checkType()
 }
 
 
+void v2WallFunctionFvPatchScalarField::writeLocalEntries(Ostream& os) const
+{
+    os.writeKeyword("Cmu") << Cmu_ << token::END_STATEMENT << nl;
+    os.writeKeyword("kappa") << kappa_ << token::END_STATEMENT << nl;
+    os.writeKeyword("E") << E_ << token::END_STATEMENT << nl;
+}
+
+
 scalar v2WallFunctionFvPatchScalarField::yPlusLam
 (
     const scalar kappa,
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C b/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C
index af1c1d0031c..f37b906a229 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -33,6 +33,46 @@ namespace Foam
 namespace RASModels
 {
 
+// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+void kEpsilon<BasicTurbulenceModel>::correctNut()
+{
+    this->nut_ = Cmu_*sqr(k_)/epsilon_;
+    this->nut_.correctBoundaryConditions();
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<fvScalarMatrix> kEpsilon<BasicTurbulenceModel>::kSource() const
+{
+    return tmp<fvScalarMatrix>
+    (
+        new fvScalarMatrix
+        (
+            k_,
+            dimVolume*this->rho_.dimensions()*k_.dimensions()
+            /dimTime
+        )
+    );
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<fvScalarMatrix> kEpsilon<BasicTurbulenceModel>::epsilonSource() const
+{
+    return tmp<fvScalarMatrix>
+    (
+        new fvScalarMatrix
+        (
+            epsilon_,
+            dimVolume*this->rho_.dimensions()*epsilon_.dimensions()
+            /dimTime
+        )
+    );
+}
+
+
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 template<class BasicTurbulenceModel>
@@ -174,44 +214,6 @@ bool kEpsilon<BasicTurbulenceModel>::read()
 }
 
 
-template<class BasicTurbulenceModel>
-void kEpsilon<BasicTurbulenceModel>::correctNut()
-{
-    this->nut_ = Cmu_*sqr(k_)/epsilon_;
-    this->nut_.correctBoundaryConditions();
-}
-
-
-template<class BasicTurbulenceModel>
-tmp<fvScalarMatrix> kEpsilon<BasicTurbulenceModel>::kSource() const
-{
-    return tmp<fvScalarMatrix>
-    (
-        new fvScalarMatrix
-        (
-            k_,
-            dimVolume*this->rho_.dimensions()*k_.dimensions()
-            /dimTime
-        )
-    );
-}
-
-
-template<class BasicTurbulenceModel>
-tmp<fvScalarMatrix> kEpsilon<BasicTurbulenceModel>::epsilonSource() const
-{
-    return tmp<fvScalarMatrix>
-    (
-        new fvScalarMatrix
-        (
-            epsilon_,
-            dimVolume*this->rho_.dimensions()*epsilon_.dimensions()
-            /dimTime
-        )
-    );
-}
-
-
 template<class BasicTurbulenceModel>
 void kEpsilon<BasicTurbulenceModel>::correct()
 {
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.H b/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.H
index b0f1a3152fe..a5ea71e0e90 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.H
+++ b/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -28,24 +28,24 @@ Group
     grpRASTurbulence
 
 Description
-    Standard k-epsilon turbulence model for compressible flows
-    including rapid distortion theory (RDT) based compression term.
+    Standard k-epsilon turbulence model for incompressible and compressible
+    flows including rapid distortion theory (RDT) based compression term.
 
     Reference:
     \verbatim
         Standard model:
-            Launder, B.E., and Spalding, D.B.,
-            "Mathematical Models of Turbulence",
-            Academic Press, 1972.
-
-            Launder, B.E., and Spalding, D.B.,
-            "Computational Methods for Turbulent Flows",
-            Comp. Meth in Appl Mech & Eng'g, Vol 3, 1974, pp 269-289.
-
-        Compressible form including RDT-based compression term:
-            "k-epsilon equations for compressible reciprocating engine flows"
-            El Tahry, S. H.,
-            AIAA Journal of Energy 7, 1983, pp 345-353.
+            Launder, B. E., & Spalding, D. B. (1972).
+            Lectures in mathematical models of turbulence.
+
+            Launder, B. E., & Spalding, D. B. (1974).
+            The numerical computation of turbulent flows.
+            Computer methods in applied mechanics and engineering,
+            3(2), 269-289.
+
+        For the RDT-based compression term:
+            El Tahry, S. H. (1983).
+            k-epsilon equation for compressible reciprocating engine flows.
+            Journal of Energy, 7(4), 345-353.
     \endverbatim
 
     The default model coefficients correspond to the following:
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.H b/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.H
index 153518ff166..dcaf5882a5e 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.H
+++ b/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.H
@@ -32,19 +32,21 @@ Description
 
     Turbulence model described in:
     \verbatim
-        Menter, F., Esch, T.
-        "Elements of Industrial Heat Transfer Prediction"
-        16th Brazilian Congress of Mechanical Engineering (COBEM),
-        Nov. 2001
+        Menter, F. R. & Esch, T. (2001).
+        Elements of Industrial Heat Transfer Prediction.
+        16th Brazilian Congress of Mechanical Engineering (COBEM).
+
+        Menter, F. R., Kuntz, M., and Langtry, R. (2003).
+        Ten Years of Industrial Experience with the SST Turbulence Model.
+        Turbulence, Heat and Mass Transfer 4, ed: K. Hanjalic, Y. Nagano,
+        & M. Tummers, Begell House, Inc., 625 - 632.
     \endverbatim
 
     with the addition of the optional F3 term for rough walls from
     \verbatim
-        Hellsten, A.
+        Hellsten, A. (1998).
         "Some Improvements in Menter’s k-omega-SST turbulence model"
-        29th AIAA Fluid Dynamics Conference,
-        AIAA-98-2554,
-        June 1998.
+        29th AIAA Fluid Dynamics Conference, AIAA-98-2554.
     \endverbatim
 
     Note that this implementation is written in terms of alpha diffusion
diff --git a/src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.C b/src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.C
new file mode 100644
index 00000000000..345e69d2a3c
--- /dev/null
+++ b/src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.C
@@ -0,0 +1,221 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "ReynoldsStress.H"
+#include "fvc.H"
+#include "fvm.H"
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+Foam::ReynoldsStress<BasicTurbulenceModel>::ReynoldsStress
+(
+    const word& modelName,
+    const alphaField& alpha,
+    const rhoField& rho,
+    const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
+    const surfaceScalarField& phi,
+    const transportModel& transport,
+    const word& propertiesName
+)
+:
+    BasicTurbulenceModel
+    (
+        modelName,
+        alpha,
+        rho,
+        U,
+        alphaRhoPhi,
+        phi,
+        transport,
+        propertiesName
+    ),
+
+    couplingFactor_
+    (
+        dimensioned<scalar>::lookupOrAddToDict
+        (
+            "couplingFactor",
+            this->coeffDict_,
+            0.0
+        )
+    ),
+
+    R_
+    (
+        IOobject
+        (
+            IOobject::groupName("R", U.group()),
+            this->runTime_.timeName(),
+            this->mesh_,
+            IOobject::MUST_READ,
+            IOobject::AUTO_WRITE
+        ),
+        this->mesh_
+    ),
+
+    nut_
+    (
+        IOobject
+        (
+            IOobject::groupName("nut", U.group()),
+            this->runTime_.timeName(),
+            this->mesh_,
+            IOobject::MUST_READ,
+            IOobject::AUTO_WRITE
+        ),
+        this->mesh_
+    )
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+bool Foam::ReynoldsStress<BasicTurbulenceModel>::read()
+{
+    return BasicTurbulenceModel::read();
+}
+
+
+template<class BasicTurbulenceModel>
+Foam::tmp<Foam::volSymmTensorField>
+Foam::ReynoldsStress<BasicTurbulenceModel>::R() const
+{
+    return R_;
+}
+
+
+template<class BasicTurbulenceModel>
+Foam::tmp<Foam::volScalarField>
+Foam::ReynoldsStress<BasicTurbulenceModel>::k() const
+{
+    tmp<Foam::volScalarField> tk(tr(R_));
+    tk().rename("k");
+    return tk;
+}
+
+
+template<class BasicTurbulenceModel>
+Foam::tmp<Foam::volSymmTensorField>
+Foam::ReynoldsStress<BasicTurbulenceModel>::devRhoReff() const
+{
+    return tmp<volSymmTensorField>
+    (
+        new volSymmTensorField
+        (
+            IOobject
+            (
+                IOobject::groupName("devRhoReff", this->U_.group()),
+                this->runTime_.timeName(),
+                this->mesh_,
+                IOobject::NO_READ,
+                IOobject::NO_WRITE
+            ),
+            this->alpha_*this->rho_*R_
+          - (this->alpha_*this->rho_*this->nu())
+           *dev(twoSymm(fvc::grad(this->U_)))
+        )
+    );
+}
+
+
+template<class BasicTurbulenceModel>
+Foam::tmp<Foam::fvVectorMatrix>
+Foam::ReynoldsStress<BasicTurbulenceModel>::divDevRhoReff
+(
+    volVectorField& U
+) const
+{
+    if (couplingFactor_.value() > 0.0)
+    {
+        return
+        (
+            fvc::div
+            (
+                this->alpha_*this->rho_*R_
+              + couplingFactor_
+               *this->alpha_*this->rho_*this->nut()*fvc::grad(U),
+                "div(devRhoReff)"
+            )
+          + fvc::laplacian
+            (
+                (1.0 - couplingFactor_)*this->alpha_*this->rho_*this->nut(),
+                U,
+                "laplacian(nuEff,U)"
+            )
+          - fvm::laplacian(this->alpha_*this->rho_*this->nuEff(), U)
+          - fvc::div(this->alpha_*this->rho_*nu()*dev2(T(fvc::grad(U))))
+        );
+    }
+    else
+    {
+        return
+        (
+            fvc::div(this->alpha_*this->rho_*R_)
+          + fvc::laplacian
+            (
+                this->alpha_*this->rho_*this->nut(),
+                U,
+                "laplacian(nuEff,U)"
+            )
+          - fvm::laplacian(this->alpha_*this->rho_*this->nuEff(), U)
+          - fvc::div(this->alpha_*this->rho_*nu()*dev2(T(fvc::grad(U))))
+        );
+    }
+
+    return
+    (
+      - fvm::laplacian(this->alpha_*this->rho_*this->nuEff(), U)
+      - fvc::div((this->alpha_*this->rho_*this->nuEff())*dev2(T(fvc::grad(U))))
+    );
+}
+
+
+template<class BasicTurbulenceModel>
+Foam::tmp<Foam::fvVectorMatrix>
+Foam::ReynoldsStress<BasicTurbulenceModel>::divDevRhoReff
+(
+    const volScalarField& rho,
+    volVectorField& U
+) const
+{
+    return
+    (
+      - fvm::laplacian(this->alpha_*rho*this->nuEff(), U)
+      - fvc::div((this->alpha_*rho*this->nuEff())*dev2(T(fvc::grad(U))))
+    );
+}
+
+
+template<class BasicTurbulenceModel>
+void Foam::ReynoldsStress<BasicTurbulenceModel>::correct()
+{
+    BasicTurbulenceModel::correct();
+}
+
+
+// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/turbulenceModel/laminar/laminar.H b/src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.H
similarity index 52%
rename from src/turbulenceModels/incompressible/turbulenceModel/laminar/laminar.H
rename to src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.H
index ea8d4b2665b..9c27cc4c81d 100644
--- a/src/turbulenceModels/incompressible/turbulenceModel/laminar/laminar.H
+++ b/src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -22,97 +22,112 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::incompressible::laminar
+    Foam::ReynoldsStress
+
+Group
+    grpTurbulence
 
 Description
-    Turbulence model for laminar incompressible flow.
+    Reynolds-stress turbulence model base class
 
 SourceFiles
-    laminar.C
+    ReynoldsStress.C
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef laminar_H
-#define laminar_H
-
-#include "turbulenceModel.H"
+#ifndef ReynoldsStress_H
+#define ReynoldsStress_H
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
-namespace incompressible
-{
 
 /*---------------------------------------------------------------------------*\
-                           Class laminar Declaration
+                           Class ReynoldsStress Declaration
 \*---------------------------------------------------------------------------*/
 
-class laminar
+template<class BasicTurbulenceModel>
+class ReynoldsStress
 :
-    public turbulenceModel
+    public BasicTurbulenceModel
 {
 
-public:
+protected:
 
-    //- Runtime type information
-    TypeName("laminar");
+    // Protected data
 
-    // Constructors
+        // Model coefficients
+
+            dimensionedScalar couplingFactor_;
+
+        // Fields
+
+            volSymmTensorField R_;
+            volScalarField nut_;
 
-        //- Construct from components
-        laminar
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName
-        );
 
+    // Protected Member Functions
 
-    // Selectors
+        virtual void correctNut() = 0;
 
-        //- Return a reference to the selected turbulence model
-        static autoPtr<laminar> New
+
+public:
+
+    typedef typename BasicTurbulenceModel::alphaField alphaField;
+    typedef typename BasicTurbulenceModel::rhoField rhoField;
+    typedef typename BasicTurbulenceModel::transportModel transportModel;
+
+
+    // Constructors
+
+        //- Construct from components
+        ReynoldsStress
         (
+            const word& modelName,
+            const alphaField& alpha,
+            const rhoField& rho,
             const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
             const surfaceScalarField& phi,
             const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName
+            const word& propertiesName
         );
 
 
     //- Destructor
-    virtual ~laminar()
+    virtual ~ReynoldsStress()
     {}
 
 
     // Member Functions
 
-        //- Const access to the coefficients dictionary
-        virtual const dictionary& coeffDict() const;
+        //- Re-read model coefficients if they have changed
+        virtual bool read() = 0;
 
-        //- Return the turbulence viscosity, i.e. 0 for laminar flow
-        virtual tmp<volScalarField> nut() const;
+        //- Return the turbulence viscosity
+        virtual tmp<volScalarField> nut() const
+        {
+            return nut_;
+        }
 
-        //- Return the effective viscosity, i.e. the laminar viscosity
-        virtual tmp<volScalarField> nuEff() const;
+        //- Return the turbulence viscosity on patch
+        virtual tmp<scalarField> nut(const label patchi) const
+        {
+            return nut_.boundaryField()[patchi];
+        }
 
-        //- Return the turbulence kinetic energy, i.e. 0 for laminar flow
+        //- Return the turbulence kinetic energy
         virtual tmp<volScalarField> k() const;
 
-        //- Return the turbulence kinetic energy dissipation rate,
-        //  i.e. 0 for laminar flow
-        virtual tmp<volScalarField> epsilon() const;
-
-        //- Return the Reynolds stress tensor, i.e. 0 for laminar flow
+        //- Return the Reynolds stress tensor
         virtual tmp<volSymmTensorField> R() const;
 
-        //- Return the effective stress tensor, i.e. the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
+        //- Return the effective stress tensor
+        virtual tmp<volSymmTensorField> devRhoReff() const;
 
         //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
+        virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const;
 
         //- Return the source term for the momentum equation
         virtual tmp<fvVectorMatrix> divDevRhoReff
@@ -121,21 +136,23 @@ public:
             volVectorField& U
         ) const;
 
-        //- Correct the laminar viscosity
-        virtual void correct();
-
-        //- Read turbulenceProperties dictionary
-        virtual bool read();
+        //- Solve the turbulence equations and correct the turbulence viscosity
+        virtual void correct() = 0;
 };
 
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-} // End namespace incompressible
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+#ifdef NoRepository
+#   include "ReynoldsStress.C"
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
 #endif
 
 // ************************************************************************* //
diff --git a/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.C b/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.C
index 1b98457bf7f..5ad9a350a7c 100644
--- a/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.C
+++ b/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -32,7 +32,7 @@ License
 template<class BasicTurbulenceModel>
 Foam::eddyViscosity<BasicTurbulenceModel>::eddyViscosity
 (
-    const word& modelName,
+    const word& type,
     const alphaField& alpha,
     const rhoField& rho,
     const volVectorField& U,
@@ -42,9 +42,9 @@ Foam::eddyViscosity<BasicTurbulenceModel>::eddyViscosity
     const word& propertiesName
 )
 :
-    BasicTurbulenceModel
+    linearViscousStress<BasicTurbulenceModel>
     (
-        modelName,
+        type,
         alpha,
         rho,
         U,
@@ -71,6 +71,13 @@ Foam::eddyViscosity<BasicTurbulenceModel>::eddyViscosity
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
+template<class BasicTurbulenceModel>
+bool Foam::eddyViscosity<BasicTurbulenceModel>::read()
+{
+    return BasicTurbulenceModel::read();
+}
+
+
 template<class BasicTurbulenceModel>
 Foam::tmp<Foam::volSymmTensorField>
 Foam::eddyViscosity<BasicTurbulenceModel>::R() const
@@ -96,51 +103,6 @@ Foam::eddyViscosity<BasicTurbulenceModel>::R() const
 }
 
 
-template<class BasicTurbulenceModel>
-Foam::tmp<Foam::volSymmTensorField>
-Foam::eddyViscosity<BasicTurbulenceModel>::devRhoReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                IOobject::groupName("devRhoReff", this->U_.group()),
-                this->runTime_.timeName(),
-                this->mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            (-(this->alpha_*this->rho_*this->nuEff()))
-           *dev(twoSymm(fvc::grad(this->U_)))
-        )
-    );
-}
-
-
-template<class BasicTurbulenceModel>
-Foam::tmp<Foam::fvVectorMatrix>
-Foam::eddyViscosity<BasicTurbulenceModel>::divDevRhoReff
-(
-    volVectorField& U
-) const
-{
-    return
-    (
-      - fvm::laplacian(this->alpha_*this->rho_*this->nuEff(), U)
-      - fvc::div((this->alpha_*this->rho_*this->nuEff())*dev2(T(fvc::grad(U))))
-    );
-}
-
-
-template<class BasicTurbulenceModel>
-bool Foam::eddyViscosity<BasicTurbulenceModel>::read()
-{
-    return BasicTurbulenceModel::read();
-}
-
-
 template<class BasicTurbulenceModel>
 void Foam::eddyViscosity<BasicTurbulenceModel>::correct()
 {
diff --git a/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.H b/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.H
index d8070248e95..ec92c7ba1c7 100644
--- a/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.H
+++ b/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -25,7 +25,7 @@ Class
     Foam::eddyViscosity
 
 Group
-    grpRASTurbulence
+    grpTurbulence
 
 Description
     Eddy viscosity turbulence model base class
@@ -38,6 +38,8 @@ SourceFiles
 #ifndef eddyViscosity_H
 #define eddyViscosity_H
 
+#include "linearViscousStress.H"
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
@@ -50,7 +52,7 @@ namespace Foam
 template<class BasicTurbulenceModel>
 class eddyViscosity
 :
-    public BasicTurbulenceModel
+    public linearViscousStress<BasicTurbulenceModel>
 {
 
 protected:
@@ -118,12 +120,6 @@ public:
         //- Return the Reynolds stress tensor
         virtual tmp<volSymmTensorField> R() const;
 
-        //- Return the effective stress tensor
-        virtual tmp<volSymmTensorField> devRhoReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const;
-
         //- Solve the turbulence equations and correct the turbulence viscosity
         virtual void correct() = 0;
 };
diff --git a/src/TurbulenceModels/turbulenceModels/laminar/laminar.C b/src/TurbulenceModels/turbulenceModels/laminar/laminar.C
index eac733d49d9..b9528cd4a58 100644
--- a/src/TurbulenceModels/turbulenceModels/laminar/laminar.C
+++ b/src/TurbulenceModels/turbulenceModels/laminar/laminar.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,8 +44,9 @@ Foam::laminar<BasicTurbulenceModel>::laminar
     const word& propertiesName
 )
 :
-    BasicTurbulenceModel
+    linearViscousStress<BasicTurbulenceModel>
     (
+        typeName,
         alpha,
         rho,
         U,
@@ -98,6 +99,13 @@ Foam::laminar<BasicTurbulenceModel>::coeffDict() const
 }
 
 
+template<class BasicTurbulenceModel>
+bool Foam::laminar<BasicTurbulenceModel>::read()
+{
+    return true;
+}
+
+
 template<class BasicTurbulenceModel>
 Foam::tmp<Foam::volScalarField>
 Foam::laminar<BasicTurbulenceModel>::nut() const
@@ -235,43 +243,6 @@ Foam::laminar<BasicTurbulenceModel>::R() const
 }
 
 
-template<class BasicTurbulenceModel>
-Foam::tmp<Foam::volSymmTensorField>
-Foam::laminar<BasicTurbulenceModel>::devRhoReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                IOobject::groupName("devRhoReff", this->U_.group()),
-                this->runTime_.timeName(),
-                this->mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-           -(this->alpha_*this->rho_*nuEff())*dev(twoSymm(fvc::grad(this->U_)))
-        )
-    );
-}
-
-
-template<class BasicTurbulenceModel>
-Foam::tmp<Foam::fvVectorMatrix>
-Foam::laminar<BasicTurbulenceModel>::divDevRhoReff
-(
-    volVectorField& U
-) const
-{
-    return
-    (
-      - fvm::laplacian(this->alpha_*this->rho_*nuEff(), U)
-      - fvc::div(this->alpha_*this->rho_*nuEff()*dev2(T(fvc::grad(U))))
-    );
-}
-
-
 template<class BasicTurbulenceModel>
 void Foam::laminar<BasicTurbulenceModel>::correct()
 {
@@ -279,11 +250,4 @@ void Foam::laminar<BasicTurbulenceModel>::correct()
 }
 
 
-template<class BasicTurbulenceModel>
-bool Foam::laminar<BasicTurbulenceModel>::read()
-{
-    return true;
-}
-
-
 // ************************************************************************* //
diff --git a/src/TurbulenceModels/turbulenceModels/laminar/laminar.H b/src/TurbulenceModels/turbulenceModels/laminar/laminar.H
index 260d4eb0ad8..07988089d26 100644
--- a/src/TurbulenceModels/turbulenceModels/laminar/laminar.H
+++ b/src/TurbulenceModels/turbulenceModels/laminar/laminar.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -35,7 +35,7 @@ SourceFiles
 #ifndef laminar_H
 #define laminar_H
 
-#include "TurbulenceModel.H"
+#include "linearViscousStress.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -49,7 +49,7 @@ namespace Foam
 template<class BasicTurbulenceModel>
 class laminar
 :
-    public BasicTurbulenceModel
+    public linearViscousStress<BasicTurbulenceModel>
 {
 
 public:
@@ -103,6 +103,9 @@ public:
         //- Const access to the coefficients dictionary
         virtual const dictionary& coeffDict() const;
 
+        //- Read turbulenceProperties dictionary
+        virtual bool read();
+
         //- Return the turbulence viscosity, i.e. 0 for laminar flow
         virtual tmp<volScalarField> nut() const;
 
@@ -125,17 +128,8 @@ public:
         //- Return the Reynolds stress tensor, i.e. 0 for laminar flow
         virtual tmp<volSymmTensorField> R() const;
 
-        //- Return the effective stress tensor, i.e. the laminar stress
-        virtual tmp<volSymmTensorField> devRhoReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const;
-
         //- Correct the laminar viscosity
         virtual void correct();
-
-        //- Read turbulenceProperties dictionary
-        virtual bool read();
 };
 
 
diff --git a/src/TurbulenceModels/turbulenceModels/linearViscousStress/linearViscousStress.C b/src/TurbulenceModels/turbulenceModels/linearViscousStress/linearViscousStress.C
new file mode 100644
index 00000000000..1ac59915cfd
--- /dev/null
+++ b/src/TurbulenceModels/turbulenceModels/linearViscousStress/linearViscousStress.C
@@ -0,0 +1,129 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "linearViscousStress.H"
+#include "fvc.H"
+#include "fvm.H"
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+Foam::linearViscousStress<BasicTurbulenceModel>::linearViscousStress
+(
+    const word& modelName,
+    const alphaField& alpha,
+    const rhoField& rho,
+    const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
+    const surfaceScalarField& phi,
+    const transportModel& transport,
+    const word& propertiesName
+)
+:
+    BasicTurbulenceModel
+    (
+        modelName,
+        alpha,
+        rho,
+        U,
+        alphaRhoPhi,
+        phi,
+        transport,
+        propertiesName
+    )
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+bool Foam::linearViscousStress<BasicTurbulenceModel>::read()
+{
+    return BasicTurbulenceModel::read();
+}
+
+
+template<class BasicTurbulenceModel>
+Foam::tmp<Foam::volSymmTensorField>
+Foam::linearViscousStress<BasicTurbulenceModel>::devRhoReff() const
+{
+    return tmp<volSymmTensorField>
+    (
+        new volSymmTensorField
+        (
+            IOobject
+            (
+                IOobject::groupName("devRhoReff", this->U_.group()),
+                this->runTime_.timeName(),
+                this->mesh_,
+                IOobject::NO_READ,
+                IOobject::NO_WRITE
+            ),
+            (-(this->alpha_*this->rho_*this->nuEff()))
+           *dev(twoSymm(fvc::grad(this->U_)))
+        )
+    );
+}
+
+
+template<class BasicTurbulenceModel>
+Foam::tmp<Foam::fvVectorMatrix>
+Foam::linearViscousStress<BasicTurbulenceModel>::divDevRhoReff
+(
+    volVectorField& U
+) const
+{
+    return
+    (
+      - fvm::laplacian(this->alpha_*this->rho_*this->nuEff(), U)
+      - fvc::div((this->alpha_*this->rho_*this->nuEff())*dev2(T(fvc::grad(U))))
+    );
+}
+
+
+template<class BasicTurbulenceModel>
+Foam::tmp<Foam::fvVectorMatrix>
+Foam::linearViscousStress<BasicTurbulenceModel>::divDevRhoReff
+(
+    const volScalarField& rho,
+    volVectorField& U
+) const
+{
+    return
+    (
+      - fvm::laplacian(this->alpha_*rho*this->nuEff(), U)
+      - fvc::div((this->alpha_*rho*this->nuEff())*dev2(T(fvc::grad(U))))
+    );
+}
+
+
+template<class BasicTurbulenceModel>
+void Foam::linearViscousStress<BasicTurbulenceModel>::correct()
+{
+    BasicTurbulenceModel::correct();
+}
+
+
+// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/Smagorinsky2/Smagorinsky2.H b/src/TurbulenceModels/turbulenceModels/linearViscousStress/linearViscousStress.H
similarity index 53%
rename from src/turbulenceModels/incompressible/LES/Smagorinsky2/Smagorinsky2.H
rename to src/TurbulenceModels/turbulenceModels/linearViscousStress/linearViscousStress.H
index f715bd0f129..0a8f0e85634 100644
--- a/src/turbulenceModels/incompressible/LES/Smagorinsky2/Smagorinsky2.H
+++ b/src/TurbulenceModels/turbulenceModels/linearViscousStress/linearViscousStress.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -22,121 +22,100 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::incompressible::LESModels::Smagorinsky2
+    Foam::linearViscousStress
 
 Group
-    grpIcoLESTurbulence
+    grpTurbulence
 
 Description
-    The Isochoric Smagorinsky Model for incompressible flows
-
-    Algebraic eddy viscosity SGS model founded on the assumption that
-    local equilibrium prevails, hence
-    \verbatim
-        B = 2/3*k*I - 2*nuSgs*dev(D) - 2*cD2*delta*(D.dev(D));
-        Beff = 2/3*k*I - 2*nuEff*dev(D) - 2*cD2*delta*(D.dev(D));
-
-    where
-
-        D = symm(grad(U));
-        k = cI*delta^2*||D||^2
-        nuSgs = ck*sqrt(k)*delta
-        nuEff = nuSgs + nu
-    \endverbatim
+    Linear viscous stress turbulence model base class
 
 SourceFiles
-    Smagorinsky2.C
+    linearViscousStress.C
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef Smagorinsky2_H
-#define Smagorinsky2_H
-
-#include "Smagorinsky.H"
+#ifndef linearViscousStress_H
+#define linearViscousStress_H
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
-namespace incompressible
-{
-namespace LESModels
-{
 
 /*---------------------------------------------------------------------------*\
-                           Class Smagorinsky2 Declaration
+                           Class linearViscousStress Declaration
 \*---------------------------------------------------------------------------*/
 
-class Smagorinsky2
+template<class BasicTurbulenceModel>
+class linearViscousStress
 :
-    public Smagorinsky
+    public BasicTurbulenceModel
 {
-    // Private data
-
-        dimensionedScalar cD2_;
-
-
-    // Private Member Functions
-
-        // Disallow default bitwise copy construct and assignment
-        Smagorinsky2(const Smagorinsky2&);
-        Smagorinsky2& operator=(const Smagorinsky2&);
-
 
 public:
 
-    //- Runtime type information
-    TypeName("Smagorinsky2");
+    typedef typename BasicTurbulenceModel::alphaField alphaField;
+    typedef typename BasicTurbulenceModel::rhoField rhoField;
+    typedef typename BasicTurbulenceModel::transportModel transportModel;
 
 
     // Constructors
 
         //- Construct from components
-        Smagorinsky2
+        linearViscousStress
         (
+            const word& modelName,
+            const alphaField& alpha,
+            const rhoField& rho,
             const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
             const surfaceScalarField& phi,
             const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
+            const word& propertiesName
         );
 
 
     //- Destructor
-    virtual ~Smagorinsky2()
+    virtual ~linearViscousStress()
     {}
 
 
     // Member Functions
 
-        //- Return B.
-        virtual tmp<volSymmTensorField> B() const;
+        //- Re-read model coefficients if they have changed
+        virtual bool read() = 0;
+
+        //- Return the effective stress tensor
+        virtual tmp<volSymmTensorField> devRhoReff() const;
 
-        //- Return the deviatoric part of the effective sub-grid
-        //  turbulence stress tensor including the laminar stress
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
+        //- Return the source term for the momentum equation
+        virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const;
 
-        //- Return the deviatoric part of the effective sub-grid
-        //  turbulence stress tensor including the laminar stress
+        //- Return the source term for the momentum equation
         virtual tmp<fvVectorMatrix> divDevRhoReff
         (
             const volScalarField& rho,
             volVectorField& U
         ) const;
 
-        //- Read LESProperties dictionary
-        virtual bool read();
+        //- Solve the turbulence equations and correct the turbulence viscosity
+        virtual void correct() = 0;
 };
 
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-} // End namespace LESModels
-} // End namespace incompressible
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+#ifdef NoRepository
+#   include "linearViscousStress.C"
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
 #endif
 
 // ************************************************************************* //
diff --git a/src/TurbulenceModels/turbulenceModels/nonlinearEddyViscosity/nonlinearEddyViscosity.C b/src/TurbulenceModels/turbulenceModels/nonlinearEddyViscosity/nonlinearEddyViscosity.C
new file mode 100644
index 00000000000..c24ac4d6c5e
--- /dev/null
+++ b/src/TurbulenceModels/turbulenceModels/nonlinearEddyViscosity/nonlinearEddyViscosity.C
@@ -0,0 +1,135 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "nonlinearEddyViscosity.H"
+#include "fvc.H"
+#include "fvm.H"
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+Foam::nonlinearEddyViscosity<BasicTurbulenceModel>::nonlinearEddyViscosity
+(
+    const word& modelName,
+    const alphaField& alpha,
+    const rhoField& rho,
+    const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
+    const surfaceScalarField& phi,
+    const transportModel& transport,
+    const word& propertiesName
+)
+:
+    eddyViscosity<BasicTurbulenceModel>
+    (
+        modelName,
+        alpha,
+        rho,
+        U,
+        alphaRhoPhi,
+        phi,
+        transport,
+        propertiesName
+    ),
+
+    nonlinearStress_
+    (
+        IOobject
+        (
+            IOobject::groupName("nonlinearStress", U.group()),
+            this->runTime_.timeName(),
+            this->mesh_
+        ),
+        this->mesh_,
+        dimensionedSymmTensor
+        (
+            "nonlinearStress",
+            sqr(dimVelocity),
+            symmTensor::zero
+        )
+    )
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+Foam::tmp<Foam::volSymmTensorField>
+Foam::nonlinearEddyViscosity<BasicTurbulenceModel>::R() const
+{
+    tmp<volSymmTensorField> tR
+    (
+        eddyViscosity<BasicTurbulenceModel>::R()
+    );
+    tR() += nonlinearStress_;
+    return tR;
+}
+
+
+template<class BasicTurbulenceModel>
+Foam::tmp<Foam::volSymmTensorField>
+Foam::nonlinearEddyViscosity<BasicTurbulenceModel>::devRhoReff() const
+{
+    tmp<volSymmTensorField> tdevRhoReff
+    (
+        eddyViscosity<BasicTurbulenceModel>::devRhoReff()
+    );
+    tdevRhoReff() += this->rho_*nonlinearStress_;
+    return tdevRhoReff;
+}
+
+
+template<class BasicTurbulenceModel>
+Foam::tmp<Foam::fvVectorMatrix>
+Foam::nonlinearEddyViscosity<BasicTurbulenceModel>::divDevRhoReff
+(
+    volVectorField& U
+) const
+{
+    return
+    (
+        fvc::div(this->rho_*nonlinearStress_)
+      + eddyViscosity<BasicTurbulenceModel>::divDevRhoReff(U)
+    );
+}
+
+
+template<class BasicTurbulenceModel>
+Foam::tmp<Foam::fvVectorMatrix>
+Foam::nonlinearEddyViscosity<BasicTurbulenceModel>::divDevRhoReff
+(
+    const volScalarField& rho,
+    volVectorField& U
+) const
+{
+    return
+    (
+        fvc::div(rho*nonlinearStress_)
+      + eddyViscosity<BasicTurbulenceModel>::divDevRhoReff(rho, U)
+    );
+}
+
+
+// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/laminar/laminar.H b/src/TurbulenceModels/turbulenceModels/nonlinearEddyViscosity/nonlinearEddyViscosity.H
similarity index 56%
rename from src/turbulenceModels/incompressible/RAS/laminar/laminar.H
rename to src/TurbulenceModels/turbulenceModels/nonlinearEddyViscosity/nonlinearEddyViscosity.H
index 7905934184c..da8a24a0550 100644
--- a/src/turbulenceModels/incompressible/RAS/laminar/laminar.H
+++ b/src/TurbulenceModels/turbulenceModels/nonlinearEddyViscosity/nonlinearEddyViscosity.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -22,91 +22,91 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::incompressible::RASModels::laminar
+    Foam::nonlinearEddyViscosity
 
 Group
-    grpIcoRASTurbulence
+    grpTurbulence
 
 Description
-    Dummy turbulence model for laminar incompressible flow.
+    Eddy viscosity turbulence model with non-linear correction base class
 
 SourceFiles
-    laminar.C
+    nonlinearEddyViscosity.C
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef rasLaminar_H
-#define rasLaminar_H
+#ifndef nonlinearEddyViscosity_H
+#define nonlinearEddyViscosity_H
 
-#include "RASModel.H"
+#include "eddyViscosity.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
-namespace incompressible
-{
-namespace RASModels
-{
 
 /*---------------------------------------------------------------------------*\
-                           Class laminar Declaration
+                           Class nonlinearEddyViscosity Declaration
 \*---------------------------------------------------------------------------*/
 
-class laminar
+template<class BasicTurbulenceModel>
+class nonlinearEddyViscosity
 :
-    public RASModel
+    public eddyViscosity<BasicTurbulenceModel>
 {
 
+protected:
+
+    // Protected data
+
+        // Fields
+
+            volSymmTensorField nonlinearStress_;
+
+
+    // Protected Member Functions
+
+        virtual void correctNonlinearStress(const volTensorField& gradU) = 0;
+
+
 public:
 
-    //- Runtime type information
-    TypeName("laminar");
+    typedef typename BasicTurbulenceModel::alphaField alphaField;
+    typedef typename BasicTurbulenceModel::rhoField rhoField;
+    typedef typename BasicTurbulenceModel::transportModel transportModel;
+
 
     // Constructors
 
         //- Construct from components
-        laminar
+        nonlinearEddyViscosity
         (
+            const word& modelName,
+            const alphaField& alpha,
+            const rhoField& rho,
             const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
             const surfaceScalarField& phi,
             const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
+            const word& propertiesName
         );
 
 
     //- Destructor
-    virtual ~laminar()
+    virtual ~nonlinearEddyViscosity()
     {}
 
 
     // Member Functions
 
-        //- Return the turbulence viscosity, i.e. 0 for laminar flow
-        virtual tmp<volScalarField> nut() const;
-
-        //- Return the effective viscosity, i.e. the laminar viscosity
-        virtual tmp<volScalarField> nuEff() const
-        {
-            return tmp<volScalarField>(new volScalarField("nuEff", nu()));
-        }
-
-        //- Return the turbulence kinetic energy, i.e. 0 for laminar flow
-        virtual tmp<volScalarField> k() const;
-
-        //- Return the turbulence kinetic energy dissipation rate,
-        //  i.e. 0 for laminar flow
-        virtual tmp<volScalarField> epsilon() const;
-
-        //- Return the Reynolds stress tensor, i.e. 0 for laminar flow
+        //- Return the Reynolds stress tensor
         virtual tmp<volSymmTensorField> R() const;
 
-        //- Return the effective stress tensor, i.e. the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
+        //- Return the effective stress tensor
+        virtual tmp<volSymmTensorField> devRhoReff() const;
 
         //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
+        virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const;
 
         //- Return the source term for the momentum equation
         virtual tmp<fvVectorMatrix> divDevRhoReff
@@ -114,23 +114,21 @@ public:
             const volScalarField& rho,
             volVectorField& U
         ) const;
-
-        //- Correct the laminar viscosity
-        virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
 };
 
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-} // End namespace RASModels
-} // End namespace incompressible
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+#ifdef NoRepository
+#   include "nonlinearEddyViscosity.C"
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
 #endif
 
 // ************************************************************************* //
diff --git a/src/TurbulenceModels/turbulenceModels/turbulenceModel.H b/src/TurbulenceModels/turbulenceModels/turbulenceModel.H
index bc09825f9c9..e2177bb72aa 100644
--- a/src/TurbulenceModels/turbulenceModels/turbulenceModel.H
+++ b/src/TurbulenceModels/turbulenceModels/turbulenceModel.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,6 +24,9 @@ License
 Class
     Foam::turbulenceModel
 
+Group
+    grpTurbulence
+
 Description
     Abstract base class for turbulence models (RAS, LES and laminar).
 
diff --git a/src/TurbulenceModels/turbulenceModels/turbulenceModelDoc.H b/src/TurbulenceModels/turbulenceModels/turbulenceModelDoc.H
index 739af7388e3..91eab7254d8 100644
--- a/src/TurbulenceModels/turbulenceModels/turbulenceModelDoc.H
+++ b/src/TurbulenceModels/turbulenceModels/turbulenceModelDoc.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -23,9 +23,9 @@ License
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-\defgroup grpIcoTurbulence Incompressible turbulence
+\defgroup grpTurbulence Turbulence
 @{
-    This group contains incompressible turbulence models.
+    This group contains turbulence models.
 @}
 
 \*---------------------------------------------------------------------------*/
diff --git a/src/combustionModels/FSD/FSD.C b/src/combustionModels/FSD/FSD.C
index 307d2410c54..85b0f21b863 100644
--- a/src/combustionModels/FSD/FSD.C
+++ b/src/combustionModels/FSD/FSD.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -26,6 +26,8 @@ License
 #include "FSD.H"
 #include "addToRunTimeSelectionTable.H"
 #include "LESModel.H"
+#include "fvcGrad.H"
+#include "fvcDiv.H"
 
 namespace Foam
 {
diff --git a/src/combustionModels/Make/options b/src/combustionModels/Make/options
index 29d5e7e6a55..daf8e6d2e2b 100644
--- a/src/combustionModels/Make/options
+++ b/src/combustionModels/Make/options
@@ -3,14 +3,12 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/chemistryModel/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
-    -I$(LIB_SRC)/turbulenceModels/ \
-    -I$(LIB_SRC)/turbulenceModels/LES/LESdeltas/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/LES/LESfilters/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/LES/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 LIB_LIBS = \
     -lfiniteVolume \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lchemistryModel
diff --git a/src/combustionModels/PaSR/PaSR.H b/src/combustionModels/PaSR/PaSR.H
index 6d5a1ffd92a..7ca8a510748 100644
--- a/src/combustionModels/PaSR/PaSR.H
+++ b/src/combustionModels/PaSR/PaSR.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,7 +38,7 @@ SourceFiles
 #ifndef PaSR_H
 #define PaSR_H
 
-#include "laminar.H"
+#include "../laminar/laminar.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/src/combustionModels/combustionModel/combustionModel.H b/src/combustionModels/combustionModel/combustionModel.H
index 3f887c8de65..f46072820d9 100644
--- a/src/combustionModels/combustionModel/combustionModel.H
+++ b/src/combustionModels/combustionModel/combustionModel.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -36,7 +36,7 @@ SourceFiles
 #define combustionModel_H
 
 #include "IOdictionary.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/src/fvOptions/Make/options b/src/fvOptions/Make/options
index d4edb59316e..124084c0575 100644
--- a/src/fvOptions/Make/options
+++ b/src/fvOptions/Make/options
@@ -6,13 +6,12 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels
-
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude
 
 LIB_LIBS = \
     -lfiniteVolume \
     -lsampling \
     -lmeshTools \
-    /*-lsolidThermo*/ \
-    -lcompressibleTurbulenceModel
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels
diff --git a/src/fvOptions/sources/interRegion/interRegionHeatTransferModel/variableHeatTransfer/variableHeatTransfer.C b/src/fvOptions/sources/interRegion/interRegionHeatTransferModel/variableHeatTransfer/variableHeatTransfer.C
index cf96fa0433e..a9fc1e27963 100644
--- a/src/fvOptions/sources/interRegion/interRegionHeatTransferModel/variableHeatTransfer/variableHeatTransfer.C
+++ b/src/fvOptions/sources/interRegion/interRegionHeatTransferModel/variableHeatTransfer/variableHeatTransfer.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,7 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "variableHeatTransfer.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "addToRunTimeSelectionTable.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@@ -103,7 +103,10 @@ void Foam::fv::variableHeatTransfer::calculateHtc()
         mesh_.time().lookupObject<fvMesh>(nbrRegionName());
 
     const compressible::turbulenceModel& nbrTurb =
-        nbrMesh.lookupObject<compressible::turbulenceModel>("turbulenceModel");
+        nbrMesh.lookupObject<compressible::turbulenceModel>
+        (
+            turbulenceModel::propertiesName
+        );
 
     const fluidThermo& nbrThermo =
         nbrMesh.lookupObject<fluidThermo>("thermophysicalProperties");
diff --git a/src/lagrangian/Allwmake b/src/lagrangian/Allwmake
index 1f00dde890b..66d1baabaf6 100755
--- a/src/lagrangian/Allwmake
+++ b/src/lagrangian/Allwmake
@@ -11,7 +11,6 @@ wmake $targetType basic
 wmake $targetType solidParticle
 wmake $targetType intermediate
 wmake $targetType turbulence
-wmake $targetType Turbulence
 wmake $targetType spray
 wmake $targetType dsmc
 wmake $targetType coalCombustion
diff --git a/src/lagrangian/Turbulence/Make/options b/src/lagrangian/Turbulence/Make/options
index 3aed6283202..d3d76c7b624 100644
--- a/src/lagrangian/Turbulence/Make/options
+++ b/src/lagrangian/Turbulence/Make/options
@@ -14,6 +14,7 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/SLGThermo/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude \
     -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
diff --git a/src/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchFields.H b/src/lagrangian/Turbulence/parcels/include/makeThermoParcelTurbulenceForces.H
similarity index 77%
rename from src/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchFields.H
rename to src/lagrangian/Turbulence/parcels/include/makeThermoParcelTurbulenceForces.H
index c5dcfccdabf..66e977a0ac6 100644
--- a/src/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchFields.H
+++ b/src/lagrangian/Turbulence/parcels/include/makeThermoParcelTurbulenceForces.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -23,25 +23,19 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef porousBafflePressureFvPatchFields_H
-#define porousBafflePressureFvPatchFields_H
-
-#include "porousBafflePressureFvPatchField.H"
-#include "fieldTypes.H"
+#ifndef makeThermoParcelTurbulenceForces_h
+#define makeThermoParcelTurbulenceForces_h
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-namespace Foam
-{
+#include "BrownianMotionForce.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+#define makeThermoParcelTurbulenceForces(CloudType)                           \
+                                                                              \
+    makeParticleForceModelType(BrownianMotionForce, CloudType);
 
-makePatchTypeFieldTypedefs(porousBafflePressure);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C b/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C
index 43b1b36693d..80aa0221310 100644
--- a/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C
+++ b/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -25,7 +25,7 @@ License
 
 #include "DispersionRASModel.H"
 #include "demandDrivenData.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 
 // * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
 
diff --git a/src/lagrangian/Turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.C b/src/lagrangian/Turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.C
new file mode 100644
index 00000000000..e479250d9ad
--- /dev/null
+++ b/src/lagrangian/Turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.C
@@ -0,0 +1,214 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "BrownianMotionForce.H"
+#include "mathematicalConstants.H"
+#include "demandDrivenData.H"
+#include "incompressible/turbulenceModel/turbulenceModel.H"
+#include "compressible/turbulenceModel/turbulenceModel.H"
+
+using namespace Foam::constant;
+
+// * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * * //
+
+template<class CloudType>
+Foam::scalar Foam::BrownianMotionForce<CloudType>::erfInv(const scalar y) const
+{
+    const scalar a = 0.147;
+    scalar k = 2.0/(mathematical::pi*a) +  0.5*log(1.0 - y*y);
+    scalar h = log(1.0 - y*y)/a;
+    scalar x = sqrt(-k + sqrt(k*k - h));
+
+    if (y < 0.0)
+    {
+        return -x;
+    }
+    else
+    {
+        return x;
+    }
+}
+
+
+template<class CloudType>
+Foam::tmp<Foam::volScalarField>
+Foam::BrownianMotionForce<CloudType>::kModel() const
+{
+    const objectRegistry& obr = this->owner().mesh();
+    const word turbName = "turbulenceModel";
+
+    if (obr.foundObject<compressible::turbulenceModel>(turbName))
+    {
+        const compressible::turbulenceModel& model =
+            obr.lookupObject<compressible::turbulenceModel>(turbName);
+        return model.k();
+    }
+    else if (obr.foundObject<incompressible::turbulenceModel>(turbName))
+    {
+        const incompressible::turbulenceModel& model =
+            obr.lookupObject<incompressible::turbulenceModel>(turbName);
+        return model.k();
+    }
+    else
+    {
+        FatalErrorIn
+        (
+            "Foam::tmp<Foam::volScalarField>"
+            "Foam::BrownianMotionForce<CloudType>::kModel() const"
+        )
+            << "Turbulence model not found in mesh database" << nl
+            << "Database objects include: " << obr.sortedToc()
+            << abort(FatalError);
+
+        return tmp<volScalarField>(NULL);
+    }
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+template<class CloudType>
+Foam::BrownianMotionForce<CloudType>::BrownianMotionForce
+(
+    CloudType& owner,
+    const fvMesh& mesh,
+    const dictionary& dict
+)
+:
+    ParticleForce<CloudType>(owner, mesh, dict, typeName, true),
+    rndGen_(owner.rndGen()),
+    lambda_(readScalar(this->coeffs().lookup("lambda"))),
+    turbulence_(readBool(this->coeffs().lookup("turbulence"))),
+    kPtr_(NULL),
+    ownK_(false)
+{}
+
+
+template<class CloudType>
+Foam::BrownianMotionForce<CloudType>::BrownianMotionForce
+(
+    const BrownianMotionForce& bmf
+)
+:
+    ParticleForce<CloudType>(bmf),
+    rndGen_(bmf.rndGen_),
+    lambda_(bmf.lambda_),
+    turbulence_(bmf.turbulence_),
+    kPtr_(NULL),
+    ownK_(false)
+{}
+
+
+// * * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * //
+
+template<class CloudType>
+Foam::BrownianMotionForce<CloudType>::~BrownianMotionForce()
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+template<class CloudType>
+void Foam::BrownianMotionForce<CloudType>::cacheFields(const bool store)
+{
+    if (turbulence_)
+    {
+        if (store)
+        {
+            tmp<volScalarField> tk = kModel();
+            if (tk.isTmp())
+            {
+                kPtr_ = tk.ptr();
+                ownK_ = true;
+            }
+            else
+            {
+                kPtr_ = tk.operator->();
+                ownK_ = false;
+            }
+        }
+        else
+        {
+            if (ownK_ && kPtr_)
+            {
+                deleteDemandDrivenData(kPtr_);
+                ownK_ = false;
+            }
+        }
+    }
+}
+
+
+template<class CloudType>
+Foam::forceSuSp Foam::BrownianMotionForce<CloudType>::calcCoupled
+(
+    const typename CloudType::parcelType& p,
+    const scalar dt,
+    const scalar mass,
+    const scalar Re,
+    const scalar muc
+) const
+{
+    forceSuSp value(vector::zero, 0.0);
+
+    const scalar dp = p.d();
+    const scalar Tc = p.Tc();
+
+    const scalar eta = rndGen_.sample01<scalar>();
+    const scalar alpha = 2.0*lambda_/dp;
+    const scalar cc = 1.0 + alpha*(1.257 + 0.4*exp(-1.1/alpha));
+
+    const scalar sigma = physicoChemical::sigma.value();
+
+    scalar f = 0.0;
+    if (turbulence_)
+    {
+        const label cellI = p.cell();
+        const volScalarField& k = *kPtr_;
+        const scalar kc = k[cellI];
+        const scalar Dp = sigma*Tc*cc/(3*mathematical::pi*muc*dp);
+        f = eta/mass*sqrt(2.0*sqr(kc)*sqr(Tc)/(Dp*dt));
+    }
+    else
+    {
+        const scalar rhoRatio = p.rho()/p.rhoc();
+        const scalar s0 =
+            216*muc*sigma*Tc/(sqr(mathematical::pi)*pow5(dp)*(rhoRatio)*cc);
+        f = eta*sqrt(mathematical::pi*s0/dt);
+    }
+
+    const scalar sqrt2 = sqrt(2.0);
+    for (label i = 0; i < 3; i++)
+    {
+        const scalar x = rndGen_.sample01<scalar>();
+        const scalar eta = sqrt2*erfInv(2*x - 1.0);
+        value.Su()[i] = mass*f*eta;
+    }
+
+    return value;
+}
+
+
+// ************************************************************************* //
diff --git a/src/lagrangian/Turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.H b/src/lagrangian/Turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.H
new file mode 100644
index 00000000000..c9434117d22
--- /dev/null
+++ b/src/lagrangian/Turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.H
@@ -0,0 +1,160 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Class
+    Foam::BrownianMotionForce
+
+Description
+    Calculates particle Brownian motion force
+
+SourceFiles
+    BrownianMotionForceI.H
+    BrownianMotionForce.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef BrownianMotionForce_H
+#define BrownianMotionForce_H
+
+#include "ParticleForce.H"
+#include "cachedRandom.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+/*---------------------------------------------------------------------------*\
+                    Class BrownianMotionForce Declaration
+\*---------------------------------------------------------------------------*/
+
+template<class CloudType>
+class BrownianMotionForce
+:
+    public ParticleForce<CloudType>
+{
+    // Private data
+
+        //- Reference to the cloud random number generator
+        cachedRandom& rndGen_;
+
+        //- Molecular free path length [m]
+        const scalar lambda_;
+
+        //- Turbulence flag
+        bool turbulence_;
+
+        //- Pointer to the turbulence kinetic energy field
+        const volScalarField* kPtr_;
+
+        //- Flag that indicates ownership of turbulence k field
+        bool ownK_;
+
+
+    // Private Member Functions
+
+        //- Inverse erf for Gaussian distribution
+        scalar erfInv(const scalar y) const;
+
+        //- Return the k field from the turbulence model
+        tmp<volScalarField> kModel() const;
+
+
+public:
+
+    //- Runtime type information
+    TypeName("BrownianMotion");
+
+
+    // Constructors
+
+        //- Construct from mesh
+        BrownianMotionForce
+        (
+            CloudType& owner,
+            const fvMesh& mesh,
+            const dictionary& dict
+        );
+
+        //- Construct copy
+        BrownianMotionForce(const BrownianMotionForce& bmf);
+
+        //- Construct and return a clone
+        virtual autoPtr<ParticleForce<CloudType> > clone() const
+        {
+            return autoPtr<ParticleForce<CloudType> >
+            (
+                new BrownianMotionForce<CloudType>(*this)
+            );
+        }
+
+
+    //- Destructor
+    virtual ~BrownianMotionForce();
+
+
+    // Member Functions
+
+        // Access
+
+            //- Return const access to the molecular free path length [m]
+            inline scalar lambda() const;
+
+            //- Return const access to the turbulence flag
+            inline bool turbulence() const;
+
+
+        // Evaluation
+
+            //- Cache fields
+            virtual void cacheFields(const bool store);
+
+            //- Calculate the non-coupled force
+            virtual forceSuSp calcCoupled
+            (
+                const typename CloudType::parcelType& p,
+                const scalar dt,
+                const scalar mass,
+                const scalar Re,
+                const scalar muc
+            ) const;
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#include "BrownianMotionForceI.H"
+
+#ifdef NoRepository
+    #include "BrownianMotionForce.C"
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/RASModel/RASModelDoc.H b/src/lagrangian/Turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForceI.H
similarity index 74%
rename from src/turbulenceModels/compressible/RAS/RASModel/RASModelDoc.H
rename to src/lagrangian/Turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForceI.H
index 53757f8141d..0c93d981bec 100644
--- a/src/turbulenceModels/compressible/RAS/RASModel/RASModelDoc.H
+++ b/src/lagrangian/Turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForceI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -21,12 +21,22 @@ License
     You should have received a copy of the GNU General Public License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
+\*---------------------------------------------------------------------------*/
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-\defgroup grpCmpRASTurbulence Compressible RAS turbulence
-@{
-    \ingroup grpCmpTurbulence
-    This group contains compressible RAS models.
-@}
-    
-\*---------------------------------------------------------------------------*/
+template<class CloudType>
+inline Foam::scalar Foam::BrownianMotionForce<CloudType>::lambda() const
+{
+    return lambda_;
+}
+
+
+template<class CloudType>
+inline bool Foam::BrownianMotionForce<CloudType>::turbulence() const
+{
+    return turbulence_;
+}
+
+
+// ************************************************************************* //
diff --git a/src/lagrangian/coalCombustion/Make/options b/src/lagrangian/coalCombustion/Make/options
index 0f4bce678d2..a67fc62000f 100644
--- a/src/lagrangian/coalCombustion/Make/options
+++ b/src/lagrangian/coalCombustion/Make/options
@@ -13,7 +13,9 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/SLGThermo/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude \
     -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
@@ -35,10 +37,9 @@ LIB_LIBS = \
     -lreactionThermophysicalModels \
     -lSLGThermo \
     -lradiationModels \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
-    -lLESdeltas \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lincompressibleTransportModels \
     -lregionModels \
     -lsurfaceFilmModels \
diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationHurtMitchell/COxidationHurtMitchell.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationHurtMitchell/COxidationHurtMitchell.C
index b959d7f75b7..98a31411af6 100644
--- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationHurtMitchell/COxidationHurtMitchell.C
+++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationHurtMitchell/COxidationHurtMitchell.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -162,7 +162,7 @@ Foam::scalar Foam::COxidationHurtMitchell<CloudType>::calculate
 
     // Far field partial pressure O2 [Pa]
     // Note: Should really use the surface partial pressure
-    const scalar ppO2 = max(0.0, rhoc*YO2/WO2_*specie::RR*Tc);
+    const scalar ppO2 = max(0.0, rhoc*YO2/WO2_*RR*Tc);
 
     // Activation energy [kcal/mol]
     const scalar E = -5.94 + 0.355*charPrc;
diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationIntrinsicRate/COxidationIntrinsicRate.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationIntrinsicRate/COxidationIntrinsicRate.C
index 817f57e50f9..174734fa2ad 100644
--- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationIntrinsicRate/COxidationIntrinsicRate.C
+++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationIntrinsicRate/COxidationIntrinsicRate.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -176,10 +176,10 @@ Foam::scalar Foam::COxidationIntrinsicRate<CloudType>::calculate
     const scalar rhoO2 = rhoc*YO2;
 
     // Partial pressure O2 [Pa]
-    const scalar ppO2 = rhoO2/WO2_*specie::RR*Tc;
+    const scalar ppO2 = rhoO2/WO2_*RR*Tc;
 
     // Intrinsic reactivity [1/s]
-    const scalar ki = Ai_*exp(-Ei_/specie::RR/T);
+    const scalar ki = Ai_*exp(-Ei_/RR/T);
 
     // Thiele modulus []
     const scalar phi =
@@ -195,7 +195,7 @@ Foam::scalar Foam::COxidationIntrinsicRate<CloudType>::calculate
     const scalar Ap = constant::mathematical::pi*sqr(d);
 
     // Change in C mass [kg]
-    scalar dmC = Ap*rhoc*specie::RR*Tc*YO2/WO2_*D0*R/(D0 + R)*dt;
+    scalar dmC = Ap*rhoc*RR*Tc*YO2/WO2_*D0*R/(D0 + R)*dt;
 
     // Limit mass transfer by availability of C
     dmC = min(mass*Ychar, dmC);
diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.C
index 552a6caab70..e99b0615217 100644
--- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.C
+++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -137,13 +137,13 @@ Foam::scalar Foam::COxidationKineticDiffusionLimitedRate<CloudType>::calculate
     const scalar D0 = C1_/d*pow(0.5*(T + Tc), 0.75);
 
     // Kinetic rate
-    const scalar Rk = C2_*exp(-E_/(specie::RR*Tc));
+    const scalar Rk = C2_*exp(-E_/(RR*Tc));
 
     // Particle surface area
     const scalar Ap = constant::mathematical::pi*sqr(d);
 
     // Change in C mass [kg]
-    scalar dmC = Ap*rhoc*specie::RR*Tc*YO2/WO2_*D0*Rk/(D0 + Rk)*dt;
+    scalar dmC = Ap*rhoc*RR*Tc*YO2/WO2_*D0*Rk/(D0 + Rk)*dt;
 
     // Limit mass transfer by availability of C
     dmC = min(mass*fComb, dmC);
diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C
index 24bdf4927bd..151ad7037a9 100644
--- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C
+++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -160,10 +160,10 @@ Foam::scalar Foam::COxidationMurphyShaddix<CloudType>::calculate
     const scalar D = D0_*(rho0_/rhoc)*pow(Tc/T0_, Dn_);
 
     // Far field partial pressure O2 [Pa]
-    const scalar ppO2 = rhoO2/WO2_*specie::RR*Tc;
+    const scalar ppO2 = rhoO2/WO2_*RR*Tc;
 
     // Total molar concentration of the carrier phase [kmol/m^3]
-    const scalar C = pc/(specie::RR*Tc);
+    const scalar C = pc/(RR*Tc);
 
     if (debug)
     {
@@ -191,7 +191,7 @@ Foam::scalar Foam::COxidationMurphyShaddix<CloudType>::calculate
     {
         qCsOld = qCs;
         const scalar PO2Surface = ppO2*exp(-(qCs + N)*d/(2*C*D));
-        qCs = A_*exp(-E_/(specie::RR*T))*pow(PO2Surface, n_);
+        qCs = A_*exp(-E_/(RR*T))*pow(PO2Surface, n_);
         qCs = (100.0*qCs + iter*qCsOld)/(100.0 + iter);
         qCs = min(qCs, qCsLim);
 
diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C
index 847964c3e03..5ffc645e821 100644
--- a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C
+++ b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -557,7 +557,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calcDevolatilisation
     {
         // Molar average molecular weight of carrier mix
         const scalar Wc =
-            max(SMALL, this->rhoc_*specie::RR*this->Tc_/this->pc_);
+            max(SMALL, this->rhoc_*RR*this->Tc_/this->pc_);
 
         // Note: hardcoded gaseous diffusivities for now
         // TODO: add to carrier thermo
diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C
index d8f37f8a9ae..6d8dc12b2a9 100644
--- a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C
+++ b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -118,7 +118,7 @@ void Foam::ReactingParcel<ParcelType>::calcPhaseChange
     if (td.cloud().heatTransfer().BirdCorrection())
     {
         // Average molecular weight of carrier mix - assumes perfect gas
-        const scalar Wc = this->rhoc_*specie::RR*this->Tc_/this->pc_;
+        const scalar Wc = this->rhoc_*RR*this->Tc_/this->pc_;
 
         forAll(dMassPC, i)
         {
@@ -341,10 +341,10 @@ void Foam::ReactingParcel<ParcelType>::correctSurfaceValues
     Xinf /= sum(Xinf);
 
     // Molar fraction of far field species at particle surface
-    const scalar Xsff = 1.0 - min(sum(Cs)*specie::RR*this->T_/pc_, 1.0);
+    const scalar Xsff = 1.0 - min(sum(Cs)*RR*this->T_/pc_, 1.0);
 
     // Surface carrier total molar concentration
-    const scalar CsTot = pc_/(specie::RR*this->T_);
+    const scalar CsTot = pc_/(RR*this->T_);
 
     // Surface carrier composition (molar fraction)
     scalarField Xs(Xinf.size());
@@ -388,7 +388,7 @@ void Foam::ReactingParcel<ParcelType>::correctSurfaceValues
 
     Cps = max(Cps, ROOTVSMALL);
 
-    rhos *= pc_/(specie::RR*T);
+    rhos *= pc_/(RR*T);
     rhos = max(rhos, ROOTVSMALL);
 
     mus /= sumYiSqrtW;
@@ -621,4 +621,3 @@ void Foam::ReactingParcel<ParcelType>::calc
 #include "ReactingParcelIO.C"
 
 // ************************************************************************* //
-
diff --git a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.C b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.C
index b387a99ea7a..221c687a609 100644
--- a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.C
+++ b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -219,10 +219,10 @@ void Foam::LiquidEvaporation<CloudType>::calculate
         const scalar kc = Sh*Dab/(d + ROOTVSMALL);
 
         // vapour concentration at surface [kmol/m3] at film temperature
-        const scalar Cs = pSat/(specie::RR*Ts);
+        const scalar Cs = pSat/(RR*Ts);
 
         // vapour concentration in bulk gas [kmol/m3] at film temperature
-        const scalar Cinf = Xc[gid]*pc/(specie::RR*Ts);
+        const scalar Cinf = Xc[gid]*pc/(RR*Ts);
 
         // molar flux of vapour [kmol/m2/s]
         const scalar Ni = max(kc*(Cs - Cinf), 0.0);
diff --git a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporationBoil/LiquidEvaporationBoil.C b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporationBoil/LiquidEvaporationBoil.C
index adde0740a02..c655faa3650 100644
--- a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporationBoil/LiquidEvaporationBoil.C
+++ b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporationBoil/LiquidEvaporationBoil.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -193,7 +193,7 @@ void Foam::LiquidEvaporationBoil<CloudType>::calculate
     scalar ps = liquids_.pv(pc, Ts, X);
 
     // vapour density at droplet surface [kg/m3]
-    scalar rhos = ps*liquids_.W(X)/(specie::RR*Ts);
+    scalar rhos = ps*liquids_.W(X)/(RR*Ts);
 
     // construct carrier phase species volume fractions for cell, cellI
     const scalarField XcMix(calcXc(cellI));
diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/SingleKineticRateDevolatilisation/SingleKineticRateDevolatilisation.C b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/SingleKineticRateDevolatilisation/SingleKineticRateDevolatilisation.C
index d3a8ca8aed6..935b357188d 100644
--- a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/SingleKineticRateDevolatilisation/SingleKineticRateDevolatilisation.C
+++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/SingleKineticRateDevolatilisation/SingleKineticRateDevolatilisation.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -131,7 +131,7 @@ void Foam::SingleKineticRateDevolatilisation<CloudType>::calculate
         const scalar E = volatileData_[i].E();
 
         // Kinetic rate
-        const scalar kappa = A1*exp(-E/(specie::RR*T));
+        const scalar kappa = A1*exp(-E/(RR*T));
 
         // Mass transferred from particle to carrier gas phase
         dMassDV[id] = min(dt*kappa*massVolatile, massVolatile);
diff --git a/src/lagrangian/spray/Make/options b/src/lagrangian/spray/Make/options
index 0238727ccd3..76e4aeb7d60 100644
--- a/src/lagrangian/spray/Make/options
+++ b/src/lagrangian/spray/Make/options
@@ -14,7 +14,9 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/SLGThermo/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude \
     -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
@@ -37,10 +39,9 @@ LIB_LIBS = \
     -lreactionThermophysicalModels \
     -lSLGThermo \
     -lradiationModels \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
-    -lLESdeltas \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lincompressibleTransportModels \
     -lregionModels \
     -lsurfaceFilmModels \
diff --git a/src/lagrangian/spray/parcels/Templates/SprayParcel/SprayParcel.C b/src/lagrangian/spray/parcels/Templates/SprayParcel/SprayParcel.C
index 0b1419c5a39..f9702b6d1d1 100644
--- a/src/lagrangian/spray/parcels/Templates/SprayParcel/SprayParcel.C
+++ b/src/lagrangian/spray/parcels/Templates/SprayParcel/SprayParcel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -164,8 +164,8 @@ void Foam::SprayParcel<ParcelType>::calcAtomization
         td.cloud().atomization();
 
     // Average molecular weight of carrier mix - assumes perfect gas
-    scalar Wc = this->rhoc_*specie::RR*this->Tc()/this->pc();
-    scalar R = specie::RR/Wc;
+    scalar Wc = this->rhoc_*RR*this->Tc()/this->pc();
+    scalar R = RR/Wc;
     scalar Tav = atomization.Taverage(this->T(), this->Tc());
 
     // Calculate average gas density based on average temperature
@@ -235,8 +235,8 @@ void Foam::SprayParcel<ParcelType>::calcBreakup
     }
 
     // Average molecular weight of carrier mix - assumes perfect gas
-    scalar Wc = this->rhoc()*specie::RR*this->Tc()/this->pc();
-    scalar R = specie::RR/Wc;
+    scalar Wc = this->rhoc()*RR*this->Tc()/this->pc();
+    scalar R = RR/Wc;
     scalar Tav = td.cloud().atomization().Taverage(this->T(), this->Tc());
 
     // Calculate average gas density based on average temperature
diff --git a/src/lagrangian/turbulence/Make/options b/src/lagrangian/turbulence/Make/options
index 7b96cb00808..811fe0951ad 100644
--- a/src/lagrangian/turbulence/Make/options
+++ b/src/lagrangian/turbulence/Make/options
@@ -12,8 +12,10 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/properties/solidMixtureProperties/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/SLGThermo/lnInclude \
-    -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels \
+    -I$(LIB_SRC)/thermophysicalModels/radiationModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude \
     -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
@@ -35,16 +37,11 @@ LIB_LIBS = \
     -lreactionThermophysicalModels \
     -lSLGThermo \
     -lradiationModels \
-    -lincompressibleTurbulenceModel \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
-    -lLESdeltas \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lincompressibleTransportModels \
     -lregionModels \
     -lsurfaceFilmModels \
     -ldynamicFvMesh \
     -lsampling
-
diff --git a/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C b/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C
index b01d3b49c74..cb314e5af97 100644
--- a/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C
+++ b/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -25,8 +25,8 @@ License
 
 #include "DispersionRASModel.H"
 #include "demandDrivenData.H"
-#include "incompressible/turbulenceModel/turbulenceModel.H"
-#include "compressible/turbulenceModel/turbulenceModel.H"
+#include "turbulentTransportModel.H"
+#include "turbulentFluidThermoModel.H"
 
 // * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
 
@@ -35,7 +35,7 @@ Foam::tmp<Foam::volScalarField>
 Foam::DispersionRASModel<CloudType>::kModel() const
 {
     const objectRegistry& obr = this->owner().mesh();
-    const word turbName = "turbulenceModel";
+    const word turbName = turbulenceModel::propertiesName;
 
     if (obr.foundObject<compressible::turbulenceModel>(turbName))
     {
@@ -70,7 +70,7 @@ Foam::tmp<Foam::volScalarField>
 Foam::DispersionRASModel<CloudType>::epsilonModel() const
 {
     const objectRegistry& obr = this->owner().mesh();
-    const word turbName = "turbulenceModel";
+    const word turbName = turbulenceModel::propertiesName;
 
     if (obr.foundObject<compressible::turbulenceModel>(turbName))
     {
diff --git a/src/lagrangian/turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.C b/src/lagrangian/turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.C
index 58ffe6b4609..02641346151 100644
--- a/src/lagrangian/turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.C
+++ b/src/lagrangian/turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -26,8 +26,8 @@ License
 #include "BrownianMotionForce.H"
 #include "mathematicalConstants.H"
 #include "demandDrivenData.H"
-#include "incompressible/turbulenceModel/turbulenceModel.H"
-#include "compressible/turbulenceModel/turbulenceModel.H"
+#include "turbulentTransportModel.H"
+#include "turbulentFluidThermoModel.H"
 
 using namespace Foam::constant;
 
@@ -57,7 +57,7 @@ Foam::tmp<Foam::volScalarField>
 Foam::BrownianMotionForce<CloudType>::kModel() const
 {
     const objectRegistry& obr = this->owner().mesh();
-    const word turbName = "turbulenceModel";
+    const word turbName = turbulenceModel::propertiesName;
 
     if (obr.foundObject<compressible::turbulenceModel>(turbName))
     {
diff --git a/src/meshTools/sets/topoSets/topoSet.C b/src/meshTools/sets/topoSets/topoSet.C
index 79e3796baab..4618b228d99 100644
--- a/src/meshTools/sets/topoSets/topoSet.C
+++ b/src/meshTools/sets/topoSets/topoSet.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -129,7 +129,7 @@ Foam::autoPtr<Foam::topoSet> Foam::topoSet::New
 }
 
 
-Foam::fileName Foam::topoSet::topoSet::localPath
+Foam::fileName Foam::topoSet::localPath
 (
     const polyMesh& mesh,
     const word& name
@@ -143,7 +143,7 @@ Foam::fileName Foam::topoSet::topoSet::localPath
 
 // Update stored cell numbers using map.
 // Do in two passes to prevent allocation if nothing changed.
-void Foam::topoSet::topoSet::updateLabels(const labelList& map)
+void Foam::topoSet::updateLabels(const labelList& map)
 {
     // Iterate over map to see if anything changed
     bool changed = false;
@@ -191,7 +191,7 @@ void Foam::topoSet::topoSet::updateLabels(const labelList& map)
 }
 
 
-void Foam::topoSet::topoSet::check(const label maxLabel)
+void Foam::topoSet::check(const label maxLabel)
 {
     forAllConstIter(topoSet, *this, iter)
     {
diff --git a/src/postProcessing/functionObjects/forces/Make/options b/src/postProcessing/functionObjects/forces/Make/options
index 5952c6b6cb5..3dd0b124845 100644
--- a/src/postProcessing/functionObjects/forces/Make/options
+++ b/src/postProcessing/functionObjects/forces/Make/options
@@ -3,18 +3,18 @@ EXE_INC = \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/transportModels \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/LES/LESdeltas/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude
 
 LIB_LIBS = \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lincompressibleTransportModels \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
     -lfluidThermophysicalModels \
     -lspecie \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
     -lfiniteVolume \
     -lmeshTools \
     -lfileFormats
diff --git a/src/postProcessing/functionObjects/forces/forces/forces.C b/src/postProcessing/functionObjects/forces/forces/forces.C
index 539e14b3093..fa8cfdcfc6b 100644
--- a/src/postProcessing/functionObjects/forces/forces/forces.C
+++ b/src/postProcessing/functionObjects/forces/forces/forces.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -30,10 +30,8 @@ License
 #include "wordReList.H"
 #include "fvcGrad.H"
 #include "porosityModel.H"
-#include "fluidThermo.H"
-#include "incompressible/turbulenceModel/turbulenceModel.H"
-#include "compressible/turbulenceModel/turbulenceModel.H"
-#include "incompressible/transportModel/transportModel.H"
+#include "turbulentTransportModel.H"
+#include "turbulentFluidThermoModel.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
@@ -209,17 +207,17 @@ Foam::tmp<Foam::volSymmTensorField> Foam::forces::devRhoReff() const
     typedef compressible::turbulenceModel cmpTurbModel;
     typedef incompressible::turbulenceModel icoTurbModel;
 
-    if (obr_.foundObject<cmpTurbModel>(cmpTurbModel::typeName))
+    if (obr_.foundObject<cmpTurbModel>(cmpTurbModel::propertiesName))
     {
         const cmpTurbModel& turb =
-            obr_.lookupObject<cmpTurbModel>(cmpTurbModel::typeName);
+            obr_.lookupObject<cmpTurbModel>(cmpTurbModel::propertiesName);
 
         return turb.devRhoReff();
     }
-    else if (obr_.foundObject<icoTurbModel>(icoTurbModel::typeName))
+    else if (obr_.foundObject<icoTurbModel>(icoTurbModel::propertiesName))
     {
         const incompressible::turbulenceModel& turb =
-            obr_.lookupObject<icoTurbModel>(icoTurbModel::typeName);
+            obr_.lookupObject<icoTurbModel>(icoTurbModel::propertiesName);
 
         return rho()*turb.devReff();
     }
diff --git a/src/postProcessing/functionObjects/utilities/DESModelRegions/DESModelRegions.C b/src/postProcessing/functionObjects/utilities/DESModelRegions/DESModelRegions.C
index c642e5e6947..23063d1548b 100644
--- a/src/postProcessing/functionObjects/utilities/DESModelRegions/DESModelRegions.C
+++ b/src/postProcessing/functionObjects/utilities/DESModelRegions/DESModelRegions.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -153,10 +153,10 @@ void Foam::DESModelRegions::execute()
 
 
         label DESpresent = false;
-        if (mesh.foundObject<icoModel>("turbulenceModel"))
+        if (mesh.foundObject<icoModel>(turbulenceModel::propertiesName))
         {
             const icoModel& model =
-                mesh.lookupObject<icoModel>("turbulenceModel");
+                mesh.lookupObject<icoModel>(turbulenceModel::propertiesName);
 
             if (isA<icoDESModel>(model))
             {
@@ -166,10 +166,10 @@ void Foam::DESModelRegions::execute()
                 DESpresent = true;
             }
         }
-        else if (mesh.foundObject<cmpModel>("turbulenceModel"))
+        else if (mesh.foundObject<cmpModel>(turbulenceModel::propertiesName))
         {
             const cmpModel& model =
-                mesh.lookupObject<cmpModel>("turbulenceModel");
+                mesh.lookupObject<cmpModel>(turbulenceModel::propertiesName);
 
             if (isA<cmpDESModel>(model))
             {
diff --git a/src/postProcessing/functionObjects/utilities/Make/files b/src/postProcessing/functionObjects/utilities/Make/files
index 0b549061680..3f2c2ebad4d 100644
--- a/src/postProcessing/functionObjects/utilities/Make/files
+++ b/src/postProcessing/functionObjects/utilities/Make/files
@@ -5,43 +5,48 @@ CourantNo/CourantNoFunctionObject.C
 
 Lambda2/Lambda2.C
 Lambda2/Lambda2FunctionObject.C
-
+/*
 Peclet/Peclet.C
 Peclet/PecletFunctionObject.C
-
+*/
 Q/Q.C
 Q/QFunctionObject.C
 
 blendingFactor/blendingFactor.C
 blendingFactor/blendingFactorFunctionObject.C
-
+/*
 DESModelRegions/DESModelRegions.C
 DESModelRegions/DESModelRegionsFunctionObject.C
-
+*/
 dsmcFields/dsmcFields.C
 dsmcFields/dsmcFieldsFunctionObject.C
 
 pressureTools/pressureTools.C
 pressureTools/pressureToolsFunctionObject.C
 
+/*
 scalarTransport/scalarTransport.C
 scalarTransport/scalarTransportFunctionObject.C
+*/
 
 timeActivatedFileUpdate/timeActivatedFileUpdate.C
 timeActivatedFileUpdate/timeActivatedFileUpdateFunctionObject.C
 
+/*
 turbulenceFields/turbulenceFields.C
 turbulenceFields/turbulenceFieldsFunctionObject.C
+*/
 
 vorticity/vorticity.C
 vorticity/vorticityFunctionObject.C
-
+/*
 wallShearStress/wallShearStress.C
 wallShearStress/wallShearStressFunctionObject.C
-
+*/
+/*
 yPlusLES/yPlusLES.C
 yPlusLES/yPlusLESFunctionObject.C
-
+*/
 yPlusRAS/yPlusRAS.C
 yPlusRAS/yPlusRASFunctionObject.C
 
diff --git a/src/postProcessing/functionObjects/utilities/Make/options b/src/postProcessing/functionObjects/utilities/Make/options
index a561f6ca133..d7868cbb8ac 100644
--- a/src/postProcessing/functionObjects/utilities/Make/options
+++ b/src/postProcessing/functionObjects/utilities/Make/options
@@ -5,12 +5,8 @@ EXE_INC = \
     -I$(LIB_SRC)/lagrangian/dsmc/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
-    -I$(LIB_SRC)/transportModels \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions \
-    -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/LES/LESdeltas/lnInclude
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude
 
 LIB_LIBS = \
     -lfiniteVolume \
@@ -20,8 +16,5 @@ LIB_LIBS = \
     -llagrangian \
     -ldsmc \
     -lincompressibleTransportModels \
-    -lcompressibleRASModels \
-    -lincompressibleRASModels \
-    -lcompressibleLESModels \
-    -lincompressibleLESModels \
+    -lturbulenceModels \
     -lfluidThermophysicalModels
diff --git a/src/postProcessing/functionObjects/utilities/Peclet/Peclet.C b/src/postProcessing/functionObjects/utilities/Peclet/Peclet.C
index 6d288fcfc00..a0683b4a1a5 100644
--- a/src/postProcessing/functionObjects/utilities/Peclet/Peclet.C
+++ b/src/postProcessing/functionObjects/utilities/Peclet/Peclet.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -128,20 +128,29 @@ void Foam::Peclet::execute()
         const fvMesh& mesh = refCast<const fvMesh>(obr_);
 
         tmp<volScalarField> nuEff;
-        if (mesh.foundObject<cmpTurbModel>("turbulenceModel"))
+        if (mesh.foundObject<cmpTurbModel>(turbulenceModel::propertiesName))
         {
             const cmpTurbModel& model =
-                mesh.lookupObject<cmpTurbModel>("turbulenceModel");
+                mesh.lookupObject<cmpTurbModel>
+                (
+                    turbulenceModel::propertiesName
+                );
 
             const volScalarField& rho =
                 mesh.lookupObject<volScalarField>(rhoName_);
 
             nuEff = model.muEff()/rho;
         }
-        else if (mesh.foundObject<icoTurbModel>("turbulenceModel"))
+        else if
+        (
+            mesh.foundObject<icoTurbModel>(turbulenceModel::propertiesName)
+        )
         {
             const icoTurbModel& model =
-                mesh.lookupObject<icoTurbModel>("turbulenceModel");
+                mesh.lookupObject<icoTurbModel>
+                (
+                    turbulenceModel::propertiesName
+                );
 
             nuEff = model.nuEff();
         }
diff --git a/src/postProcessing/functionObjects/utilities/scalarTransport/scalarTransport.C b/src/postProcessing/functionObjects/utilities/scalarTransport/scalarTransport.C
index 4428388604b..d65dc92fbee 100644
--- a/src/postProcessing/functionObjects/utilities/scalarTransport/scalarTransport.C
+++ b/src/postProcessing/functionObjects/utilities/scalarTransport/scalarTransport.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -97,15 +97,21 @@ Foam::tmp<Foam::volScalarField> Foam::scalarTransport::DT
             )
         );
     }
-    else if (mesh_.foundObject<icoModel>("turbulenceModel"))
+    else if (mesh_.foundObject<icoModel>(turbulenceModel::propertiesName))
     {
-        const icoModel& model = mesh_.lookupObject<icoModel>("turbulenceModel");
+        const icoModel& model = mesh_.lookupObject<icoModel>
+        (
+            turbulenceModel::propertiesName
+        );
 
         return model.nuEff();
     }
-    else if (mesh_.foundObject<cmpModel>("turbulenceModel"))
+    else if (mesh_.foundObject<cmpModel>(turbulenceModel::propertiesName))
     {
-        const cmpModel& model = mesh_.lookupObject<cmpModel>("turbulenceModel");
+        const cmpModel& model = mesh_.lookupObject<cmpModel>
+        (
+            turbulenceModel::propertiesName
+        );
 
         return model.muEff();
     }
diff --git a/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFields.C b/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFields.C
index 3d89600cfa4..3fbbb8fb07f 100644
--- a/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFields.C
+++ b/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFields.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -58,7 +58,7 @@ namespace Foam
     const NamedEnum<turbulenceFields::incompressibleField, 4>
         turbulenceFields::incompressibleFieldNames_;
 
-    const word turbulenceFields::modelName = "turbulenceModel";
+    const word turbulenceFields::modelName = turbulenceModel::propertiesName;
 }
 
 
diff --git a/src/postProcessing/functionObjects/utilities/wallShearStress/wallShearStress.C b/src/postProcessing/functionObjects/utilities/wallShearStress/wallShearStress.C
index 00647d1494b..393d890d2aa 100644
--- a/src/postProcessing/functionObjects/utilities/wallShearStress/wallShearStress.C
+++ b/src/postProcessing/functionObjects/utilities/wallShearStress/wallShearStress.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -242,17 +242,17 @@ void Foam::wallShearStress::execute()
 
 
         tmp<volSymmTensorField> Reff;
-        if (mesh.foundObject<cmpModel>("turbulenceModel"))
+        if (mesh.foundObject<cmpModel>(turbulenceModel::propertiesName))
         {
             const cmpModel& model =
-                mesh.lookupObject<cmpModel>("turbulenceModel");
+                mesh.lookupObject<cmpModel>(turbulenceModel::propertiesName);
 
             Reff = model.devRhoReff();
         }
-        else if (mesh.foundObject<icoModel>("turbulenceModel"))
+        else if (mesh.foundObject<icoModel>(turbulenceModel::propertiesName))
         {
             const icoModel& model =
-                mesh.lookupObject<icoModel>("turbulenceModel");
+                mesh.lookupObject<icoModel>(turbulenceModel::propertiesName);
 
             Reff = model.devReff();
         }
diff --git a/src/postProcessing/functionObjects/utilities/yPlusRAS/yPlusRAS.C b/src/postProcessing/functionObjects/utilities/yPlusRAS/yPlusRAS.C
index 68125069acb..12c8349a3e5 100644
--- a/src/postProcessing/functionObjects/utilities/yPlusRAS/yPlusRAS.C
+++ b/src/postProcessing/functionObjects/utilities/yPlusRAS/yPlusRAS.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -25,12 +25,8 @@ License
 
 #include "yPlusRAS.H"
 #include "volFields.H"
-
-#include "incompressible/RAS/RASModel/RASModel.H"
-#include "nutWallFunction/nutWallFunctionFvPatchScalarField.H"
-#include "compressible/RAS/RASModel/RASModel.H"
-#include "mutWallFunction/mutWallFunctionFvPatchScalarField.H"
-#include "wallDist.H"
+#include "turbulenceModel.H"
+#include "nutWallFunctionFvPatchScalarField.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
@@ -55,17 +51,16 @@ void Foam::yPlusRAS::writeFileHeader(const label i)
 }
 
 
-void Foam::yPlusRAS::calcIncompressibleYPlus
+void Foam::yPlusRAS::calcYPlus
 (
     const fvMesh& mesh,
     volScalarField& yPlus
 )
 {
-    typedef incompressible::nutWallFunctionFvPatchScalarField
-        wallFunctionPatchField;
-
-    const incompressible::RASModel& model =
-        mesh.lookupObject<incompressible::RASModel>("RASProperties");
+    const turbulenceModel& model = mesh.lookupObject<turbulenceModel>
+    (
+        turbulenceModel::propertiesName
+    );
 
     const volScalarField nut(model.nut());
     const volScalarField::GeometricBoundaryField& nutPatches =
@@ -74,12 +69,15 @@ void Foam::yPlusRAS::calcIncompressibleYPlus
     bool foundPatch = false;
     forAll(nutPatches, patchi)
     {
-        if (isA<wallFunctionPatchField>(nutPatches[patchi]))
+        if (isA<nutWallFunctionFvPatchScalarField>(nutPatches[patchi]))
         {
             foundPatch = true;
 
-            const wallFunctionPatchField& nutPw =
-                dynamic_cast<const wallFunctionPatchField&>(nutPatches[patchi]);
+            const nutWallFunctionFvPatchScalarField& nutPw =
+                dynamic_cast
+                <
+                    const nutWallFunctionFvPatchScalarField&
+                >(nutPatches[patchi]);
 
             yPlus.boundaryField()[patchi] = nutPw.yPlus();
             const scalarField& Yp = yPlus.boundaryField()[patchi];
@@ -106,65 +104,8 @@ void Foam::yPlusRAS::calcIncompressibleYPlus
 
     if (log_ && !foundPatch)
     {
-        Info<< "    no " << wallFunctionPatchField::typeName << " patches"
-            << endl;
-    }
-}
-
-
-void Foam::yPlusRAS::calcCompressibleYPlus
-(
-    const fvMesh& mesh,
-    volScalarField& yPlus
-)
-{
-    typedef compressible::mutWallFunctionFvPatchScalarField
-        wallFunctionPatchField;
-
-    const compressible::RASModel& model =
-        mesh.lookupObject<compressible::RASModel>("RASProperties");
-
-    const volScalarField mut(model.mut());
-    const volScalarField::GeometricBoundaryField& mutPatches =
-        mut.boundaryField();
-
-    bool foundPatch = false;
-    forAll(mutPatches, patchi)
-    {
-        if (isA<wallFunctionPatchField>(mutPatches[patchi]))
-        {
-            foundPatch = true;
-
-            const wallFunctionPatchField& mutPw =
-                dynamic_cast<const wallFunctionPatchField&>(mutPatches[patchi]);
-
-            yPlus.boundaryField()[patchi] = mutPw.yPlus();
-            const scalarField& Yp = yPlus.boundaryField()[patchi];
-
-            scalar minYp = gMin(Yp);
-            scalar maxYp = gMax(Yp);
-            scalar avgYp = gAverage(Yp);
-
-            if (Pstream::master())
-            {
-                Info(log_)<< "    patch " << mutPw.patch().name()
-                    << " y+ : min = " << minYp << ", max = " << maxYp
-                    << ", average = " << avgYp << nl;
-
-                file() << obr_.time().value()
-                    << token::TAB << mutPw.patch().name()
-                    << token::TAB << minYp
-                    << token::TAB << maxYp
-                    << token::TAB << avgYp
-                    << endl;
-            }
-        }
-    }
-
-    if (log_ && !foundPatch)
-    {
-        Info<< "    no " << wallFunctionPatchField::typeName << " patches"
-            << endl;
+        Info<< "    no " << nutWallFunctionFvPatchScalarField::typeName
+            << " patches" << endl;
     }
 }
 
@@ -253,9 +194,6 @@ void Foam::yPlusRAS::execute()
     {
         functionObjectFile::write();
 
-        const surfaceScalarField& phi =
-            obr_.lookupObject<surfaceScalarField>(phiName_);
-
         const fvMesh& mesh = refCast<const fvMesh>(obr_);
 
         volScalarField& yPlusRAS =
@@ -266,14 +204,7 @@ void Foam::yPlusRAS::execute()
 
         Info(log_)<< type() << " " << name_ << " output:" << nl;
 
-        if (phi.dimensions() == dimMass/dimTime)
-        {
-            calcCompressibleYPlus(mesh, yPlusRAS);
-        }
-        else
-        {
-            calcIncompressibleYPlus(mesh, yPlusRAS);
-        }
+        calcYPlus(mesh, yPlusRAS);
     }
 }
 
diff --git a/src/postProcessing/functionObjects/utilities/yPlusRAS/yPlusRAS.H b/src/postProcessing/functionObjects/utilities/yPlusRAS/yPlusRAS.H
index 8a73cd47d59..7c3cdd696ef 100644
--- a/src/postProcessing/functionObjects/utilities/yPlusRAS/yPlusRAS.H
+++ b/src/postProcessing/functionObjects/utilities/yPlusRAS/yPlusRAS.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -87,11 +87,8 @@ class yPlusRAS
         //- File header information
         virtual void writeFileHeader(const label i);
 
-        //- Calculate incompressible form of y+
-        void calcIncompressibleYPlus(const fvMesh& mesh, volScalarField& yPlus);
-
-        //- Calculate compressible form of y+
-        void calcCompressibleYPlus(const fvMesh& mesh, volScalarField& yPlus);
+        //- Calculate y+
+        void calcYPlus(const fvMesh& mesh, volScalarField& yPlus);
 
         //- Disallow default bitwise copy construct
         yPlusRAS(const yPlusRAS&);
diff --git a/src/regionCoupled/Make/options b/src/regionCoupled/Make/options
index ea55cd87d23..e877774c16d 100644
--- a/src/regionCoupled/Make/options
+++ b/src/regionCoupled/Make/options
@@ -1,11 +1,13 @@
 EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude
 
 LIB_LIBS = \
     -lfluidThermophysicalModels \
     -lfiniteVolume \
     -lmeshTools \
-    -lcompressibleTurbulenceModel
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels
diff --git a/src/regionCoupled/derivedFvPatchFields/energyRegionCoupled/energyRegionCoupledFvPatchScalarField.C b/src/regionCoupled/derivedFvPatchFields/energyRegionCoupled/energyRegionCoupledFvPatchScalarField.C
index 9f0fe9a60c1..fd01b649751 100644
--- a/src/regionCoupled/derivedFvPatchFields/energyRegionCoupled/energyRegionCoupledFvPatchScalarField.C
+++ b/src/regionCoupled/derivedFvPatchFields/energyRegionCoupled/energyRegionCoupledFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -26,7 +26,7 @@ License
 #include "addToRunTimeSelectionTable.H"
 #include "energyRegionCoupledFvPatchScalarField.H"
 #include "Time.H"
-#include "turbulenceModel.H"
+#include "turbulentFluidThermoModel.H"
 
 // * * * * * * * * * * * * * Static Member Data  * * * * * * * * * * * * * * //
 
@@ -63,7 +63,7 @@ void Foam::energyRegionCoupledFvPatchScalarField::setMethod() const
         (
             this->db().foundObject<compressible::turbulenceModel>
             (
-                "turbulenceModel"
+                turbulenceModel::propertiesName
             )
         )
         {
@@ -109,7 +109,7 @@ kappa() const
             const compressible::turbulenceModel& turbModel =
                 this->db().lookupObject<compressible::turbulenceModel>
                 (
-                    "turbulenceModel"
+                    turbulenceModel::propertiesName
                 );
 
             return turbModel.kappaEff(patch().index());
diff --git a/src/regionModels/pyrolysisModels/Make/options b/src/regionModels/pyrolysisModels/Make/options
index 7f59d752485..75d130d3498 100644
--- a/src/regionModels/pyrolysisModels/Make/options
+++ b/src/regionModels/pyrolysisModels/Make/options
@@ -8,11 +8,8 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/solidChemistryModel/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/RAS/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/LES/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/LES/LESdeltas/lnInclude \
+    -I$(LIB_SRC)/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude
 
 LIB_LIBS = \
@@ -23,10 +20,8 @@ LIB_LIBS = \
     -lfluidThermophysicalModels \
     -lsolidChemistryModel \
     -lsolidThermo \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
-    -lLESdeltas \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lregionModels \
     -lradiationModels \
     -lreactionThermophysicalModels
diff --git a/src/regionModels/regionCoupling/Make/options b/src/regionModels/regionCoupling/Make/options
index a346c249b48..ce912009504 100644
--- a/src/regionModels/regionCoupling/Make/options
+++ b/src/regionModels/regionCoupling/Make/options
@@ -16,11 +16,8 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/properties/solidProperties/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/RAS/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/LES/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/LES/LESdeltas/lnInclude \
+    -I$(LIB_SRC)/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude \
     -I$(LIB_SRC)/regionModels/pyrolysisModels/lnInclude \
     -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
@@ -34,5 +31,5 @@ LIB_LIBS = \
     -lSLGThermo \
     -lfiniteVolume \
     -lmeshTools \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels
diff --git a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/Make/files b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/Make/files
index 6f150005fd8..01e50d24ace 100644
--- a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/Make/files
+++ b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/Make/files
@@ -1,5 +1,4 @@
 alphatFilmWallFunction/alphatFilmWallFunctionFvPatchScalarField.C
-mutkFilmWallFunction/mutkFilmWallFunctionFvPatchScalarField.C
-
+nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.C
 
 LIB = $(FOAM_LIBBIN)/libsurfaceFilmDerivedFvPatchFields
diff --git a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/Make/options b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/Make/options
index e894e6d69c7..ca490a0744a 100644
--- a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/Make/options
+++ b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/Make/options
@@ -9,10 +9,8 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/properties/solidMixtureProperties/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/SLGThermo/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/LES/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/RAS/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude \
     -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude
 
@@ -27,8 +25,7 @@ LIB_LIBS = \
     -lsolidMixtureProperties \
     -lreactionThermophysicalModels \
     -lSLGThermo \
-    -lcompressibleTurbulenceModel \
-    -lcompressibleRASModels \
-    -lcompressibleLESModels \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lregionModels \
     -lsurfaceFilmModels
diff --git a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/alphatFilmWallFunction/alphatFilmWallFunctionFvPatchScalarField.C b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/alphatFilmWallFunction/alphatFilmWallFunctionFvPatchScalarField.C
index fb2d123496b..e6eb83bc9db 100644
--- a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/alphatFilmWallFunction/alphatFilmWallFunctionFvPatchScalarField.C
+++ b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/alphatFilmWallFunction/alphatFilmWallFunctionFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,7 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "alphatFilmWallFunctionFvPatchScalarField.H"
-#include "RASModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "surfaceFilmModel.H"
 #include "fvPatchFieldMapper.H"
 #include "volFields.H"
@@ -150,27 +150,36 @@ void alphatFilmWallFunctionFvPatchScalarField::updateCoeffs()
         return;
     }
 
-    const label patchI = patch().index();
+    const label patchi = patch().index();
 
     // Retrieve phase change mass from surface film model
     const modelType& filmModel =
         db().time().lookupObject<modelType>("surfaceFilmProperties");
 
-    const label filmPatchI = filmModel.regionPatchID(patchI);
+    const label filmPatchI = filmModel.regionPatchID(patchi);
 
     tmp<volScalarField> mDotFilm(filmModel.primaryMassTrans());
     scalarField mDotFilmp = mDotFilm().boundaryField()[filmPatchI];
     filmModel.toPrimary(filmPatchI, mDotFilmp);
 
     // Retrieve RAS turbulence model
-    const RASModel& rasModel = db().lookupObject<RASModel>("RASProperties");
-
-    const scalarField& y = rasModel.y()[patchI];
-    const scalarField& rhow = rasModel.rho().boundaryField()[patchI];
-    const tmp<volScalarField> tk = rasModel.k();
+    const turbulenceModel& turbModel = db().lookupObject<turbulenceModel>
+    (
+        IOobject::groupName
+        (
+            turbulenceModel::propertiesName,
+            dimensionedInternalField().group()
+        )
+    );
+
+    const scalarField& y = turbModel.y()[patchi];
+    const scalarField& rhow = turbModel.rho().boundaryField()[patchi];
+    const tmp<volScalarField> tk = turbModel.k();
     const volScalarField& k = tk();
-    const scalarField& muw = rasModel.mu().boundaryField()[patchI];
-    const scalarField& alphaw = rasModel.alpha().boundaryField()[patchI];
+    const tmp<scalarField> tmuw = turbModel.mu(patchi);
+    const scalarField& muw = tmuw();
+    const tmp<scalarField> talpha = turbModel.alpha(patchi);
+    const scalarField& alphaw = talpha();
 
     const scalar Cmu25 = pow(Cmu_, 0.25);
 
diff --git a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/mutkFilmWallFunction/mutkFilmWallFunctionFvPatchScalarField.C b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.C
similarity index 62%
rename from src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/mutkFilmWallFunction/mutkFilmWallFunctionFvPatchScalarField.C
rename to src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.C
index ee912e61830..2b6727b91f3 100644
--- a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/mutkFilmWallFunction/mutkFilmWallFunctionFvPatchScalarField.C
+++ b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -23,10 +23,10 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "mutkFilmWallFunctionFvPatchScalarField.H"
+#include "nutkFilmWallFunctionFvPatchScalarField.H"
 #include "fvPatchFieldMapper.H"
 #include "volFields.H"
-#include "RASModel.H"
+#include "turbulentFluidThermoModel.H"
 #include "addToRunTimeSelectionTable.H"
 #include "surfaceFilmModel.H"
 #include "mappedWallPolyPatch.H"
@@ -43,7 +43,7 @@ namespace RASModels
 
 // * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
 
-tmp<scalarField> mutkFilmWallFunctionFvPatchScalarField::calcUTau
+tmp<scalarField> nutkFilmWallFunctionFvPatchScalarField::calcUTau
 (
     const scalarField& magGradU
 ) const
@@ -62,13 +62,13 @@ tmp<scalarField> mutkFilmWallFunctionFvPatchScalarField::calcUTau
         return tuTau;
     }
 
-    const label patchI = patch().index();
+    const label patchi = patch().index();
 
     // Retrieve phase change mass from surface film model
     const modelType& filmModel =
         db().time().lookupObject<modelType>("surfaceFilmProperties");
 
-    const label filmPatchI = filmModel.regionPatchID(patchI);
+    const label filmPatchI = filmModel.regionPatchID(patchi);
 
     tmp<volScalarField> mDotFilm(filmModel.primaryMassTrans());
     scalarField mDotFilmp = mDotFilm().boundaryField()[filmPatchI];
@@ -76,12 +76,20 @@ tmp<scalarField> mutkFilmWallFunctionFvPatchScalarField::calcUTau
 
 
     // Retrieve RAS turbulence model
-    const RASModel& rasModel = db().lookupObject<RASModel>("RASProperties");
-    const scalarField& y = rasModel.y()[patchI];
-    const fvPatchScalarField& rhow = rasModel.rho().boundaryField()[patchI];
-    const fvPatchScalarField& muw = rasModel.mu().boundaryField()[patchI];
-    const tmp<volScalarField> tk = rasModel.k();
+    const turbulenceModel& turbModel = db().lookupObject<turbulenceModel>
+    (
+        IOobject::groupName
+        (
+            turbulenceModel::propertiesName,
+            dimensionedInternalField().group()
+        )
+    );
+
+    const scalarField& y = turbModel.y()[patchi];
+    const tmp<volScalarField> tk = turbModel.k();
     const volScalarField& k = tk();
+    const tmp<scalarField> tnuw = turbModel.nu(patchi);
+    const scalarField& nuw = tnuw();
 
     const scalar Cmu25 = pow(Cmu_, 0.25);
 
@@ -91,7 +99,7 @@ tmp<scalarField> mutkFilmWallFunctionFvPatchScalarField::calcUTau
 
         scalar ut = Cmu25*sqrt(k[faceCellI]);
 
-        scalar yPlus = y[faceI]*ut/(muw[faceI]/rhow[faceI]);
+        scalar yPlus = y[faceI]*ut/nuw[faceI];
 
         scalar mStar = mDotFilmp[faceI]/(y[faceI]*ut);
 
@@ -115,83 +123,91 @@ tmp<scalarField> mutkFilmWallFunctionFvPatchScalarField::calcUTau
 }
 
 
-tmp<scalarField> mutkFilmWallFunctionFvPatchScalarField::calcMut() const
+tmp<scalarField> nutkFilmWallFunctionFvPatchScalarField::calcNut() const
 {
-    const label patchI = patch().index();
+    const label patchi = patch().index();
 
-    const RASModel& rasModel = db().lookupObject<RASModel>("RASProperties");
-    const fvPatchVectorField& Uw = rasModel.U().boundaryField()[patchI];
+    const turbulenceModel& turbModel = db().lookupObject<turbulenceModel>
+    (
+        IOobject::groupName
+        (
+            turbulenceModel::propertiesName,
+            dimensionedInternalField().group()
+        )
+    );
+
+    const fvPatchVectorField& Uw = turbModel.U().boundaryField()[patchi];
     const scalarField magGradU(mag(Uw.snGrad()));
-    const scalarField& rhow = rasModel.rho().boundaryField()[patchI];
-    const scalarField& muw = rasModel.mu().boundaryField()[patchI];
+    const tmp<scalarField> tnuw = turbModel.nu(patchi);
+    const scalarField& nuw = tnuw();
 
     return max
     (
         scalar(0),
-        rhow*sqr(calcUTau(magGradU))/(magGradU + ROOTVSMALL) - muw
+        sqr(calcUTau(magGradU))/(magGradU + ROOTVSMALL) - nuw
     );
 }
 
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-mutkFilmWallFunctionFvPatchScalarField::mutkFilmWallFunctionFvPatchScalarField
+nutkFilmWallFunctionFvPatchScalarField::nutkFilmWallFunctionFvPatchScalarField
 (
     const fvPatch& p,
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    mutkWallFunctionFvPatchScalarField(p, iF),
+    nutkWallFunctionFvPatchScalarField(p, iF),
     B_(5.5),
     yPlusCrit_(11.05)
 {}
 
 
-mutkFilmWallFunctionFvPatchScalarField::mutkFilmWallFunctionFvPatchScalarField
+nutkFilmWallFunctionFvPatchScalarField::nutkFilmWallFunctionFvPatchScalarField
 (
-    const mutkFilmWallFunctionFvPatchScalarField& ptf,
+    const nutkFilmWallFunctionFvPatchScalarField& ptf,
     const fvPatch& p,
     const DimensionedField<scalar, volMesh>& iF,
     const fvPatchFieldMapper& mapper
 )
 :
-    mutkWallFunctionFvPatchScalarField(ptf, p, iF, mapper),
+    nutkWallFunctionFvPatchScalarField(ptf, p, iF, mapper),
     B_(5.5),
     yPlusCrit_(11.05)
 {}
 
 
-mutkFilmWallFunctionFvPatchScalarField::mutkFilmWallFunctionFvPatchScalarField
+nutkFilmWallFunctionFvPatchScalarField::nutkFilmWallFunctionFvPatchScalarField
 (
     const fvPatch& p,
     const DimensionedField<scalar, volMesh>& iF,
     const dictionary& dict
 )
 :
-    mutkWallFunctionFvPatchScalarField(p, iF, dict),
+    nutkWallFunctionFvPatchScalarField(p, iF, dict),
     B_(dict.lookupOrDefault("B", 5.5)),
     yPlusCrit_(dict.lookupOrDefault("yPlusCrit", 11.05))
 {}
 
 
-mutkFilmWallFunctionFvPatchScalarField::mutkFilmWallFunctionFvPatchScalarField
+nutkFilmWallFunctionFvPatchScalarField::nutkFilmWallFunctionFvPatchScalarField
 (
-    const mutkFilmWallFunctionFvPatchScalarField& wfpsf
+    const nutkFilmWallFunctionFvPatchScalarField& wfpsf
 )
 :
-    mutkWallFunctionFvPatchScalarField(wfpsf),
+    nutkWallFunctionFvPatchScalarField(wfpsf),
     B_(wfpsf.B_),
     yPlusCrit_(wfpsf.yPlusCrit_)
 {}
 
 
-mutkFilmWallFunctionFvPatchScalarField::mutkFilmWallFunctionFvPatchScalarField
+nutkFilmWallFunctionFvPatchScalarField::nutkFilmWallFunctionFvPatchScalarField
 (
-    const mutkFilmWallFunctionFvPatchScalarField& wfpsf,
+    const nutkFilmWallFunctionFvPatchScalarField& wfpsf,
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    mutkWallFunctionFvPatchScalarField(wfpsf, iF),
+    nutkWallFunctionFvPatchScalarField(wfpsf, iF),
     B_(wfpsf.B_),
     yPlusCrit_(wfpsf.yPlusCrit_)
 {}
@@ -199,21 +215,29 @@ mutkFilmWallFunctionFvPatchScalarField::mutkFilmWallFunctionFvPatchScalarField
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-tmp<scalarField> mutkFilmWallFunctionFvPatchScalarField::yPlus() const
+tmp<scalarField> nutkFilmWallFunctionFvPatchScalarField::yPlus() const
 {
-    const label patchI = patch().index();
+    const label patchi = patch().index();
+
+    const turbulenceModel& turbModel = db().lookupObject<turbulenceModel>
+    (
+        IOobject::groupName
+        (
+            turbulenceModel::propertiesName,
+            dimensionedInternalField().group()
+        )
+    );
 
-    const RASModel& rasModel = db().lookupObject<RASModel>("RASProperties");
-    const scalarField& y = rasModel.y()[patchI];
-    const fvPatchVectorField& Uw = rasModel.U().boundaryField()[patchI];
-    const scalarField& rhow = rasModel.rho().boundaryField()[patchI];
-    const scalarField& muw = rasModel.mu().boundaryField()[patchI];
+    const scalarField& y = turbModel.y()[patchi];
+    const fvPatchVectorField& Uw = turbModel.U().boundaryField()[patchi];
+    const tmp<scalarField> tnuw = turbModel.nu(patchi);
+    const scalarField& nuw = tnuw();
 
-    return y*calcUTau(mag(Uw.snGrad()))/(muw/rhow);
+    return y*calcUTau(mag(Uw.snGrad()))/nuw;
 }
 
 
-void mutkFilmWallFunctionFvPatchScalarField::write(Ostream& os) const
+void nutkFilmWallFunctionFvPatchScalarField::write(Ostream& os) const
 {
     fvPatchField<scalar>::write(os);
     writeLocalEntries(os);
@@ -225,7 +249,7 @@ void mutkFilmWallFunctionFvPatchScalarField::write(Ostream& os) const
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-makePatchTypeField(fvPatchScalarField, mutkFilmWallFunctionFvPatchScalarField);
+makePatchTypeField(fvPatchScalarField, nutkFilmWallFunctionFvPatchScalarField);
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/mutkFilmWallFunction/mutkFilmWallFunctionFvPatchScalarField.H b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.H
similarity index 76%
rename from src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/mutkFilmWallFunction/mutkFilmWallFunctionFvPatchScalarField.H
rename to src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.H
index 7e7a2a99f84..9eb4c5e191c 100644
--- a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/mutkFilmWallFunction/mutkFilmWallFunctionFvPatchScalarField.H
+++ b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::compressible::RASModels::mutkFilmWallFunctionFvPatchScalarField
+    Foam::compressible::RASModels::nutkFilmWallFunctionFvPatchScalarField
 
 Group
     grpSurfaceFilmBoundaryConditions grpCmpWallFunctions
@@ -38,23 +38,23 @@ Description
     \verbatim
     myPatch
     {
-        type            mutkFilmWallFunction;
+        type            nutkFilmWallFunction;
         value           uniform 0;
     }
     \endverbatim
 
 SeeAlso
-    Foam::mutkWallFunctionFvPatchScalarField
+    Foam::nutkWallFunctionFvPatchScalarField
 
 SourceFiles
-    mutkFilmWallFunctionFvPatchScalarField.C
+    nutkFilmWallFunctionFvPatchScalarField.C
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef compressibleMutSpalartAllmarasWallFunctionFvPatchScalarField_H
-#define compressibleMutSpalartAllmarasWallFunctionFvPatchScalarField_H
+#ifndef compressibleNutSpalartAllmarasWallFunctionFvPatchScalarField_H
+#define compressibleNutSpalartAllmarasWallFunctionFvPatchScalarField_H
 
-#include "mutkWallFunctionFvPatchScalarField.H"
+#include "nutkWallFunctionFvPatchScalarField.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -66,12 +66,12 @@ namespace RASModels
 {
 
 /*---------------------------------------------------------------------------*\
-         Class mutkFilmWallFunctionFvPatchScalarField Declaration
+         Class nutkFilmWallFunctionFvPatchScalarField Declaration
 \*---------------------------------------------------------------------------*/
 
-class mutkFilmWallFunctionFvPatchScalarField
+class nutkFilmWallFunctionFvPatchScalarField
 :
-    public mutkWallFunctionFvPatchScalarField
+    public nutkWallFunctionFvPatchScalarField
 {
 protected:
 
@@ -87,7 +87,7 @@ protected:
     // Protected member functions
 
         //- Calculate the turbulence viscosity
-        virtual tmp<scalarField> calcMut() const;
+        virtual tmp<scalarField> calcNut() const;
 
         //- Calculate the friction velocity
         virtual tmp<scalarField> calcUTau(const scalarField& magGradU) const;
@@ -96,20 +96,20 @@ protected:
 public:
 
     //- Runtime type information
-    TypeName("mutkFilmWallFunction");
+    TypeName("nutkFilmWallFunction");
 
 
     // Constructors
 
         //- Construct from patch and internal field
-        mutkFilmWallFunctionFvPatchScalarField
+        nutkFilmWallFunctionFvPatchScalarField
         (
             const fvPatch&,
             const DimensionedField<scalar, volMesh>&
         );
 
         //- Construct from patch, internal field and dictionary
-        mutkFilmWallFunctionFvPatchScalarField
+        nutkFilmWallFunctionFvPatchScalarField
         (
             const fvPatch&,
             const DimensionedField<scalar, volMesh>&,
@@ -117,20 +117,20 @@ public:
         );
 
         //- Construct by mapping given
-        //  mutkFilmWallFunctionFvPatchScalarField
+        //  nutkFilmWallFunctionFvPatchScalarField
         //  onto a new patch
-        mutkFilmWallFunctionFvPatchScalarField
+        nutkFilmWallFunctionFvPatchScalarField
         (
-            const mutkFilmWallFunctionFvPatchScalarField&,
+            const nutkFilmWallFunctionFvPatchScalarField&,
             const fvPatch&,
             const DimensionedField<scalar, volMesh>&,
             const fvPatchFieldMapper&
         );
 
         //- Construct as copy
-        mutkFilmWallFunctionFvPatchScalarField
+        nutkFilmWallFunctionFvPatchScalarField
         (
-            const mutkFilmWallFunctionFvPatchScalarField&
+            const nutkFilmWallFunctionFvPatchScalarField&
         );
 
         //- Construct and return a clone
@@ -138,14 +138,14 @@ public:
         {
             return tmp<fvPatchScalarField>
             (
-                new mutkFilmWallFunctionFvPatchScalarField(*this)
+                new nutkFilmWallFunctionFvPatchScalarField(*this)
             );
         }
 
         //- Construct as copy setting internal field reference
-        mutkFilmWallFunctionFvPatchScalarField
+        nutkFilmWallFunctionFvPatchScalarField
         (
-            const mutkFilmWallFunctionFvPatchScalarField&,
+            const nutkFilmWallFunctionFvPatchScalarField&,
             const DimensionedField<scalar, volMesh>&
         );
 
@@ -157,7 +157,7 @@ public:
         {
             return tmp<fvPatchScalarField>
             (
-                new mutkFilmWallFunctionFvPatchScalarField(*this, iF)
+                new nutkFilmWallFunctionFvPatchScalarField(*this, iF)
             );
         }
 
diff --git a/src/regionModels/thermalBaffleModels/Make/options b/src/regionModels/thermalBaffleModels/Make/options
index 7e69974761a..bc36cf7dce5 100644
--- a/src/regionModels/thermalBaffleModels/Make/options
+++ b/src/regionModels/thermalBaffleModels/Make/options
@@ -7,16 +7,16 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
     -I$(LIB_SRC)/mesh/extrudeModel/lnInclude
 
 LIB_LIBS = \
     -lregionModels \
     -lsolidThermo \
-    -lcompressibleTurbulenceModel \
+    -lturbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lfiniteVolume \
     -lmeshTools \
-    -lOpenFOAM \
     -lradiationModels \
     -ldynamicMesh
diff --git a/src/thermophysicalModels/properties/liquidMixtureProperties/liquidMixtureProperties/liquidMixtureProperties.C b/src/thermophysicalModels/properties/liquidMixtureProperties/liquidMixtureProperties/liquidMixtureProperties.C
index 5fec22dc9aa..2c3403ed2d5 100644
--- a/src/thermophysicalModels/properties/liquidMixtureProperties/liquidMixtureProperties/liquidMixtureProperties.C
+++ b/src/thermophysicalModels/properties/liquidMixtureProperties/liquidMixtureProperties/liquidMixtureProperties.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/thermophysicalModels/properties/solidProperties/solidProperties/solidPropertiesI.H b/src/thermophysicalModels/properties/solidProperties/solidProperties/solidPropertiesI.H
index dda7e942874..3910a4f37fa 100644
--- a/src/thermophysicalModels/properties/solidProperties/solidProperties/solidPropertiesI.H
+++ b/src/thermophysicalModels/properties/solidProperties/solidProperties/solidPropertiesI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/thermophysicalModels/specie/equationOfState/PengRobinsonGas/PengRobinsonGas.C b/src/thermophysicalModels/specie/equationOfState/PengRobinsonGas/PengRobinsonGas.C
index baf20aeba98..a36766ade86 100644
--- a/src/thermophysicalModels/specie/equationOfState/PengRobinsonGas/PengRobinsonGas.C
+++ b/src/thermophysicalModels/specie/equationOfState/PengRobinsonGas/PengRobinsonGas.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/thermophysicalModels/specie/equationOfState/incompressiblePerfectGas/incompressiblePerfectGasI.H b/src/thermophysicalModels/specie/equationOfState/incompressiblePerfectGas/incompressiblePerfectGasI.H
index e84b5a226f9..fa1505700bc 100644
--- a/src/thermophysicalModels/specie/equationOfState/incompressiblePerfectGas/incompressiblePerfectGasI.H
+++ b/src/thermophysicalModels/specie/equationOfState/incompressiblePerfectGas/incompressiblePerfectGasI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/thermophysicalModels/specie/equationOfState/perfectGas/perfectGasI.H b/src/thermophysicalModels/specie/equationOfState/perfectGas/perfectGasI.H
index a97eb1b4f6d..e03bbb7973b 100644
--- a/src/thermophysicalModels/specie/equationOfState/perfectGas/perfectGasI.H
+++ b/src/thermophysicalModels/specie/equationOfState/perfectGas/perfectGasI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/thermophysicalModels/specie/specie/specie.H b/src/thermophysicalModels/specie/specie/specie.H
index ffe602dc4bd..ea76fb2426f 100644
--- a/src/thermophysicalModels/specie/specie/specie.H
+++ b/src/thermophysicalModels/specie/specie/specie.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/thermophysicalModels/specie/thermo/hExponential/hExponentialThermoI.H b/src/thermophysicalModels/specie/thermo/hExponential/hExponentialThermoI.H
index 33e3b31c816..b46543a4000 100644
--- a/src/thermophysicalModels/specie/thermo/hExponential/hExponentialThermoI.H
+++ b/src/thermophysicalModels/specie/thermo/hExponential/hExponentialThermoI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/thermophysicalModels/specie/thermo/hPolynomial/hPolynomialThermo.C b/src/thermophysicalModels/specie/thermo/hPolynomial/hPolynomialThermo.C
index bda645c0f37..511e871bf19 100644
--- a/src/thermophysicalModels/specie/thermo/hPolynomial/hPolynomialThermo.C
+++ b/src/thermophysicalModels/specie/thermo/hPolynomial/hPolynomialThermo.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/thermophysicalModels/specie/thermo/janaf/janafThermoI.H b/src/thermophysicalModels/specie/thermo/janaf/janafThermoI.H
index f639ffce972..c92082dae75 100644
--- a/src/thermophysicalModels/specie/thermo/janaf/janafThermoI.H
+++ b/src/thermophysicalModels/specie/thermo/janaf/janafThermoI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/thermophysicalModels/specie/thermo/thermo/thermo.H b/src/thermophysicalModels/specie/thermo/thermo/thermo.H
index 3136307fe91..b8e73cf2c74 100644
--- a/src/thermophysicalModels/specie/thermo/thermo/thermo.H
+++ b/src/thermophysicalModels/specie/thermo/thermo/thermo.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/thermophysicalModels/specie/thermo/thermo/thermoI.H b/src/thermophysicalModels/specie/thermo/thermo/thermoI.H
index 07068363816..d897968d129 100644
--- a/src/thermophysicalModels/specie/thermo/thermo/thermoI.H
+++ b/src/thermophysicalModels/specie/thermo/thermo/thermoI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/turbulenceModels/Allwmake b/src/turbulenceModels/Allwmake
deleted file mode 100755
index 3a95797baf9..00000000000
--- a/src/turbulenceModels/Allwmake
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh
-cd ${0%/*} || exit 1    # Run from this directory
-
-# Parse arguments for library compilation
-targetType=libso
-. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments
-set -x
-
-LES/Allwmake $targetType $*
-incompressible/Allwmake $targetType $*
-compressible/Allwmake $targetType $*
-wmake $targetType derivedFvPatchFields
-
-# ----------------------------------------------------------------- end-of-file
diff --git a/src/turbulenceModels/LES/Allwmake b/src/turbulenceModels/LES/Allwmake
deleted file mode 100755
index a209819d169..00000000000
--- a/src/turbulenceModels/LES/Allwmake
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh
-cd ${0%/*} || exit 1    # Run from this directory
-
-# Parse arguments for library compilation
-targetType=libso
-. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments
-set -x
-
-wmakeLnInclude ../incompressible/LES
-
-wmake $targetType LESfilters
-wmake $targetType LESdeltas
-
-# ----------------------------------------------------------------- end-of-file
diff --git a/src/turbulenceModels/LES/LESdeltas/LESdelta/LESdelta.C b/src/turbulenceModels/LES/LESdeltas/LESdelta/LESdelta.C
deleted file mode 100644
index 5a8ff1c3fb0..00000000000
--- a/src/turbulenceModels/LES/LESdeltas/LESdelta/LESdelta.C
+++ /dev/null
@@ -1,138 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "LESdelta.H"
-#include "calculatedFvPatchFields.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-    defineTypeNameAndDebug(LESdelta, 0);
-    defineRunTimeSelectionTable(LESdelta, dictionary);
-}
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-Foam::LESdelta::LESdelta(const word& name, const fvMesh& mesh)
-:
-    mesh_(mesh),
-    delta_
-    (
-        IOobject
-        (
-            name,
-            mesh.time().timeName(),
-            mesh,
-            IOobject::NO_READ,
-            IOobject::NO_WRITE
-        ),
-        mesh,
-        dimensionedScalar(name, dimLength, SMALL),
-        calculatedFvPatchScalarField::typeName
-    )
-{}
-
-
-// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
-
-Foam::autoPtr<Foam::LESdelta> Foam::LESdelta::New
-(
-    const word& name,
-    const fvMesh& mesh,
-    const dictionary& dict
-)
-{
-    const word deltaType(dict.lookup("delta"));
-
-    Info<< "Selecting LES delta type " << deltaType << endl;
-
-    dictionaryConstructorTable::iterator cstrIter =
-        dictionaryConstructorTablePtr_->find(deltaType);
-
-    if (cstrIter == dictionaryConstructorTablePtr_->end())
-    {
-        FatalErrorIn
-        (
-            "LESdelta::New(const fvMesh&, const dictionary&)"
-        )   << "Unknown LESdelta type "
-            << deltaType << nl << nl
-            << "Valid LESdelta types are :" << endl
-            << dictionaryConstructorTablePtr_->sortedToc()
-            << exit(FatalError);
-    }
-
-    return autoPtr<LESdelta>(cstrIter()(name, mesh, dict));
-}
-
-
-Foam::autoPtr<Foam::LESdelta> Foam::LESdelta::New
-(
-    const word& name,
-    const fvMesh& mesh,
-    const dictionary& dict,
-    const dictionaryConstructorTable& additionalConstructors
-)
-{
-    const word deltaType(dict.lookup("delta"));
-
-    Info<< "Selecting LES delta type " << deltaType << endl;
-
-    // First on additional ones
-    dictionaryConstructorTable::const_iterator cstrIter =
-        additionalConstructors.find(deltaType);
-
-    if (cstrIter != additionalConstructors.end())
-    {
-        return autoPtr<LESdelta>(cstrIter()(name, mesh, dict));
-    }
-    else
-    {
-        dictionaryConstructorTable::const_iterator cstrIter =
-            dictionaryConstructorTablePtr_->find(deltaType);
-
-        if (cstrIter == dictionaryConstructorTablePtr_->end())
-        {
-            FatalErrorIn
-            (
-                "LESdelta::New(const fvMesh&, const dictionary&)"
-            )   << "Unknown LESdelta type "
-                << deltaType << nl << nl
-                << "Valid LESdelta types are :" << endl
-                << additionalConstructors.sortedToc()
-                << " and "
-                << dictionaryConstructorTablePtr_->sortedToc()
-                << exit(FatalError);
-            return autoPtr<LESdelta>();
-        }
-        else
-        {
-            return autoPtr<LESdelta>(cstrIter()(name, mesh, dict));
-        }
-    }
-}
-
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/LES/LESdeltas/LESdelta/LESdelta.H b/src/turbulenceModels/LES/LESdeltas/LESdelta/LESdelta.H
deleted file mode 100644
index c84ae74c3b1..00000000000
--- a/src/turbulenceModels/LES/LESdeltas/LESdelta/LESdelta.H
+++ /dev/null
@@ -1,160 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::LESdelta
-
-Description
-    Abstract base class for LES deltas
-
-SourceFiles
-    LESdelta.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef LESdelta_H
-#define LESdelta_H
-
-#include "volFields.H"
-#include "typeInfo.H"
-#include "autoPtr.H"
-#include "runTimeSelectionTables.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-class fvMesh;
-
-/*---------------------------------------------------------------------------*\
-                          Class LESdelta Declaration
-\*---------------------------------------------------------------------------*/
-
-class LESdelta
-{
-
-protected:
-
-    // Protected data
-
-        const fvMesh& mesh_;
-
-        volScalarField delta_;
-
-
-private:
-
-    // Private Member Functions
-
-        // Disallow default bitwise copy construct and assignment
-        LESdelta(const LESdelta&);
-        void operator=(const LESdelta&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("LESdelta");
-
-
-    // Declare run-time constructor selection table
-
-        declareRunTimeSelectionTable
-        (
-            autoPtr,
-            LESdelta,
-            dictionary,
-            (
-                const word& name,
-                const fvMesh& mesh,
-                const dictionary& LESdeltaDict
-            ),
-            (name, mesh, LESdeltaDict)
-        );
-
-
-    // Constructors
-
-        //- Construct from name and mesh
-        LESdelta(const word& name, const fvMesh&);
-
-
-    // Selectors
-
-        //- Return a reference to the selected LES delta
-        static autoPtr<LESdelta> New
-        (
-            const word& name,
-            const fvMesh&,
-            const dictionary&
-        );
-
-        //- Return a reference to the selected LES delta
-        static autoPtr<LESdelta> New
-        (
-            const word& name,
-            const fvMesh&,
-            const dictionary&,
-            const dictionaryConstructorTable&
-        );
-
-
-    //- Destructor
-    virtual ~LESdelta()
-    {}
-
-
-    // Member Functions
-
-        //- Return mesh reference
-        const fvMesh& mesh() const
-        {
-            return mesh_;
-        }
-
-        //- Read the LESdelta dictionary
-        virtual void read(const dictionary&) = 0;
-
-        // Correct values
-        virtual void correct() = 0;
-
-
-    // Member Operators
-
-        virtual operator const volScalarField&() const
-        {
-            return delta_;
-        }
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/LES/LESdeltas/Make/files b/src/turbulenceModels/LES/LESdeltas/Make/files
deleted file mode 100644
index b150cc49969..00000000000
--- a/src/turbulenceModels/LES/LESdeltas/Make/files
+++ /dev/null
@@ -1,7 +0,0 @@
-LESdelta/LESdelta.C
-cubeRootVolDelta/cubeRootVolDelta.C
-PrandtlDelta/PrandtlDelta.C
-smoothDelta/smoothDelta.C
-maxDeltaxyz/maxDeltaxyz.C
-
-LIB = $(FOAM_LIBBIN)/libLESdeltas
diff --git a/src/turbulenceModels/LES/LESdeltas/Make/options b/src/turbulenceModels/LES/LESdeltas/Make/options
deleted file mode 100644
index 6ef95061d10..00000000000
--- a/src/turbulenceModels/LES/LESdeltas/Make/options
+++ /dev/null
@@ -1,9 +0,0 @@
-EXE_INC = \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/LESmodels/isoLESmodels/lnInclude \
-    -I$(LIB_SRC)/transportModels/incompressible/lnInclude
-
-LIB_LIBS = \
-    -lfiniteVolume \
-    -lmeshTools
diff --git a/src/turbulenceModels/LES/LESdeltas/PrandtlDelta/PrandtlDelta.C b/src/turbulenceModels/LES/LESdeltas/PrandtlDelta/PrandtlDelta.C
deleted file mode 100644
index a66e32fe576..00000000000
--- a/src/turbulenceModels/LES/LESdeltas/PrandtlDelta/PrandtlDelta.C
+++ /dev/null
@@ -1,102 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "PrandtlDelta.H"
-#include "wallDist.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(PrandtlDelta, 0);
-addToRunTimeSelectionTable(LESdelta, PrandtlDelta, dictionary);
-
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void PrandtlDelta::calcDelta()
-{
-    delta_ = min
-    (
-        static_cast<const volScalarField&>(geometricDelta_()),
-        (kappa_/Cdelta_)*wallDist::New(mesh_).y()
-    );
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-PrandtlDelta::PrandtlDelta
-(
-    const word& name,
-    const fvMesh& mesh,
-    const dictionary& dd
-)
-:
-    LESdelta(name, mesh),
-    geometricDelta_(LESdelta::New(name, mesh, dd.subDict(type() + "Coeffs"))),
-    kappa_(dd.lookupOrDefault<scalar>("kappa", 0.41)),
-    Cdelta_
-    (
-        dd.subDict(type() + "Coeffs").lookupOrDefault<scalar>("Cdelta", 0.158)
-    )
-{
-    calcDelta();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void PrandtlDelta::read(const dictionary& d)
-{
-    const dictionary& dd(d.subDict(type() + "Coeffs"));
-
-    geometricDelta_().read(dd);
-    d.readIfPresent<scalar>("kappa", kappa_);
-    dd.readIfPresent<scalar>("Cdelta", Cdelta_);
-    calcDelta();
-}
-
-
-void PrandtlDelta::correct()
-{
-    geometricDelta_().correct();
-
-    if (mesh_.changing())
-    {
-        calcDelta();
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/LES/LESdeltas/PrandtlDelta/PrandtlDelta.H b/src/turbulenceModels/LES/LESdeltas/PrandtlDelta/PrandtlDelta.H
deleted file mode 100644
index d8840ff1a88..00000000000
--- a/src/turbulenceModels/LES/LESdeltas/PrandtlDelta/PrandtlDelta.H
+++ /dev/null
@@ -1,110 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::PrandtlDelta
-
-Description
-    Simple cube-root of cell volume delta used in LES models.
-
-SourceFiles
-    PrandtlDelta.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef PrandtlDelta_H
-#define PrandtlDelta_H
-
-#include "LESdelta.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class PrandtlDelta Declaration
-\*---------------------------------------------------------------------------*/
-
-class PrandtlDelta
-:
-    public LESdelta
-{
-    // Private data
-
-        autoPtr<LESdelta> geometricDelta_;
-        scalar kappa_;
-        scalar Cdelta_;
-
-
-    // Private Member Functions
-
-        //- Disallow default bitwise copy construct and assignment
-        PrandtlDelta(const PrandtlDelta&);
-        void operator=(const PrandtlDelta&);
-
-        // Calculate the delta values
-        void calcDelta();
-
-
-public:
-
-    //- Runtime type information
-    TypeName("Prandtl");
-
-
-    // Constructors
-
-        //- Construct from name, mesh and IOdictionary
-        PrandtlDelta
-        (
-            const word& name,
-            const fvMesh& mesh,
-            const dictionary&
-        );
-
-
-    //- Destructor
-    virtual ~PrandtlDelta()
-    {}
-
-
-    // Member Functions
-
-        //- Read the LESdelta dictionary
-        virtual void read(const dictionary&);
-
-        // Correct values
-        virtual void correct();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/LES/LESdeltas/cubeRootVolDelta/cubeRootVolDelta.C b/src/turbulenceModels/LES/LESdeltas/cubeRootVolDelta/cubeRootVolDelta.C
deleted file mode 100644
index 0e5e2820dd0..00000000000
--- a/src/turbulenceModels/LES/LESdeltas/cubeRootVolDelta/cubeRootVolDelta.C
+++ /dev/null
@@ -1,117 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "cubeRootVolDelta.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(cubeRootVolDelta, 0);
-addToRunTimeSelectionTable(LESdelta, cubeRootVolDelta, dictionary);
-
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void cubeRootVolDelta::calcDelta()
-{
-    label nD = mesh().nGeometricD();
-
-    if (nD == 3)
-    {
-        delta_.internalField() = deltaCoeff_*pow(mesh().V(), 1.0/3.0);
-    }
-    else if (nD == 2)
-    {
-        WarningIn("cubeRootVolDelta::calcDelta()")
-            << "Case is 2D, LES is not strictly applicable\n"
-            << endl;
-
-        const Vector<label>& directions = mesh().geometricD();
-
-        scalar thickness = 0.0;
-        for (direction dir=0; dir<directions.nComponents; dir++)
-        {
-            if (directions[dir] == -1)
-            {
-                thickness = mesh().bounds().span()[dir];
-                break;
-            }
-        }
-
-        delta_.internalField() = deltaCoeff_*sqrt(mesh().V()/thickness);
-    }
-    else
-    {
-        FatalErrorIn("cubeRootVolDelta::calcDelta()")
-            << "Case is not 3D or 2D, LES is not applicable"
-            << exit(FatalError);
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-cubeRootVolDelta::cubeRootVolDelta
-(
-    const word& name,
-    const fvMesh& mesh,
-    const dictionary& dd
-)
-:
-    LESdelta(name, mesh),
-    deltaCoeff_(readScalar(dd.subDict(type() + "Coeffs").lookup("deltaCoeff")))
-{
-    calcDelta();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void cubeRootVolDelta::read(const dictionary& dd)
-{
-    dd.subDict(type() + "Coeffs").lookup("deltaCoeff") >> deltaCoeff_;
-    calcDelta();
-}
-
-
-void cubeRootVolDelta::correct()
-{
-    if (mesh_.changing())
-    {
-        calcDelta();
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/LES/LESdeltas/cubeRootVolDelta/cubeRootVolDelta.H b/src/turbulenceModels/LES/LESdeltas/cubeRootVolDelta/cubeRootVolDelta.H
deleted file mode 100644
index f6abbe7e127..00000000000
--- a/src/turbulenceModels/LES/LESdeltas/cubeRootVolDelta/cubeRootVolDelta.H
+++ /dev/null
@@ -1,108 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::cubeRootVolDelta
-
-Description
-    Simple cube-root of cell volume delta used in LES models.
-
-SourceFiles
-    cubeRootVolDelta.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef cubeRootVolDelta_H
-#define cubeRootVolDelta_H
-
-#include "LESdelta.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class cubeRootVolDelta Declaration
-\*---------------------------------------------------------------------------*/
-
-class cubeRootVolDelta
-:
-    public LESdelta
-{
-    // Private data
-
-        scalar deltaCoeff_;
-
-
-    // Private Member Functions
-
-        //- Disallow default bitwise copy construct and assignment
-        cubeRootVolDelta(const cubeRootVolDelta&);
-        void operator=(const cubeRootVolDelta&);
-
-        // Calculate the delta values
-        void calcDelta();
-
-
-public:
-
-    //- Runtime type information
-    TypeName("cubeRootVol");
-
-
-    // Constructors
-
-        //- Construct from name, mesh and IOdictionary
-        cubeRootVolDelta
-        (
-            const word& name,
-            const fvMesh& mesh,
-            const dictionary&
-        );
-
-
-    //- Destructor
-    virtual ~cubeRootVolDelta()
-    {}
-
-
-    // Member Functions
-
-        //- Read the LESdelta dictionary
-        virtual void read(const dictionary&);
-
-        // Correct values
-        virtual void correct();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.C b/src/turbulenceModels/LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.C
deleted file mode 100644
index e4bf785fb08..00000000000
--- a/src/turbulenceModels/LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.C
+++ /dev/null
@@ -1,149 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "maxDeltaxyz.H"
-#include "addToRunTimeSelectionTable.H"
-#include "surfaceFields.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(maxDeltaxyz, 0);
-addToRunTimeSelectionTable(LESdelta, maxDeltaxyz, dictionary);
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void maxDeltaxyz::calcDelta()
-{
-    label nD = mesh().nGeometricD();
-
-    tmp<volScalarField> hmax
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "hmax",
-                mesh().time().timeName(),
-                mesh(),
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            mesh(),
-            dimensionedScalar("zrero", dimLength, 0.0)
-        )
-    );
-
-    const cellList& cells = mesh().cells();
-    const vectorField& cellC = mesh().cellCentres();
-    const vectorField& faceC = mesh().faceCentres();
-    const vectorField faceN(mesh().faceAreas()/mag(mesh().faceAreas()));
-
-    forAll(cells, cellI)
-    {
-        scalar deltaMaxTmp = 0.0;
-        const labelList& cFaces = cells[cellI];
-        const point& cc = cellC[cellI];
-
-        forAll(cFaces, cFaceI)
-        {
-            label faceI = cFaces[cFaceI];
-            const point& fc = faceC[faceI];
-            const vector& n = faceN[faceI];
-
-            scalar tmp = magSqr(n*(n & (fc - cc)));
-            if (tmp > deltaMaxTmp)
-            {
-                deltaMaxTmp = tmp;
-            }
-        }
-
-        hmax()[cellI] = deltaCoeff_*sqrt(deltaMaxTmp);
-    }
-
-    if (nD == 3)
-    {
-        delta_.internalField() = hmax();
-    }
-    else if (nD == 2)
-    {
-        WarningIn("maxDeltaxyz::calcDelta()")
-            << "Case is 2D, LES is not strictly applicable\n"
-            << endl;
-
-        delta_.internalField() = hmax();
-    }
-    else
-    {
-        FatalErrorIn("maxDeltaxyz::calcDelta()")
-            << "Case is not 3D or 2D, LES is not applicable"
-            << exit(FatalError);
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-maxDeltaxyz::maxDeltaxyz
-(
-    const word& name,
-    const fvMesh& mesh,
-    const dictionary& dd
-)
-:
-    LESdelta(name, mesh),
-    deltaCoeff_(readScalar(dd.subDict(type() + "Coeffs").lookup("deltaCoeff")))
-{
-    calcDelta();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void maxDeltaxyz::read(const dictionary& dd)
-{
-    dd.subDict(type() + "Coeffs").lookup("deltaCoeff") >> deltaCoeff_;
-    calcDelta();
-}
-
-
-void maxDeltaxyz::correct()
-{
-    if (mesh_.changing())
-    {
-        calcDelta();
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.H b/src/turbulenceModels/LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.H
deleted file mode 100644
index 05df8af5520..00000000000
--- a/src/turbulenceModels/LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.H
+++ /dev/null
@@ -1,113 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::maxDeltaxyz
-
-Description
-    Delta calculated by taking the maximum distance between the cell centre
-    and any face centre.  For a regular hex cell, the computed delta will
-    equate to half of the cell width; accordingly, the deltaCoeff model
-    coefficient should be set to 2 for this case.
-
-SourceFiles
-    maxDeltaxyz.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef maxDeltaxyzDelta_H
-#define maxDeltaxyzDelta_H
-
-#include "LESdelta.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-/*---------------------------------------------------------------------------*\
-                         Class maxDeltaxyz Declaration
-\*---------------------------------------------------------------------------*/
-
-class maxDeltaxyz
-:
-    public LESdelta
-{
-    // Private data
-
-        //- Model coefficient
-        scalar deltaCoeff_;
-
-
-    // Private Member Functions
-
-        //- Disallow default bitwise copy construct and assignment
-        maxDeltaxyz(const maxDeltaxyz&);
-        void operator=(const maxDeltaxyz&);
-
-        // Calculate the delta values
-        void calcDelta();
-
-
-public:
-
-    //- Runtime type information
-    TypeName("maxDeltaxyz");
-
-
-    // Constructors
-
-        //- Construct from name, mesh and IOdictionary
-        maxDeltaxyz
-        (
-            const word& name,
-            const fvMesh& mesh,
-            const dictionary&
-        );
-
-
-    //- Destructor
-    virtual ~maxDeltaxyz()
-    {}
-
-
-    // Member Functions
-
-        //- Read the LESdelta dictionary
-        virtual void read(const dictionary&);
-
-        // Correct values
-        virtual void correct();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDelta.C b/src/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDelta.C
deleted file mode 100644
index 1b28e85a0e7..00000000000
--- a/src/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDelta.C
+++ /dev/null
@@ -1,197 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "smoothDelta.H"
-#include "addToRunTimeSelectionTable.H"
-#include "FaceCellWave.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(smoothDelta, 0);
-addToRunTimeSelectionTable(LESdelta, smoothDelta, dictionary);
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-// Fill changedFaces (with face labels) and changedFacesInfo (with delta)
-// This is the initial set of faces from which to start the waves.
-// Since there might be lots of places with delta jumps we can follow various
-// strategies for this initial 'seed'.
-// - start from single cell/face and let FaceCellWave pick up all others
-//   from there. might be quite a few waves before everything settles.
-// - start from all faces. Lots of initial transfers.
-// We do something inbetween:
-// - start from all faces where there is a jump. Since we cannot easily
-//   determine this across coupled patches (cyclic, processor) introduce
-//   all faces of these and let FaceCellWave sort it out.
-void smoothDelta::setChangedFaces
-(
-    const polyMesh& mesh,
-    const volScalarField& delta,
-    DynamicList<label>& changedFaces,
-    DynamicList<deltaData>& changedFacesInfo
-)
-{
-    for (label faceI = 0; faceI < mesh.nInternalFaces(); faceI++)
-    {
-        scalar ownDelta = delta[mesh.faceOwner()[faceI]];
-
-        scalar neiDelta = delta[mesh.faceNeighbour()[faceI]];
-
-        // Check if owner delta much larger than neighbour delta or vice versa
-
-        if (ownDelta > maxDeltaRatio_ * neiDelta)
-        {
-            changedFaces.append(faceI);
-            changedFacesInfo.append(deltaData(ownDelta));
-        }
-        else if (neiDelta > maxDeltaRatio_ * ownDelta)
-        {
-            changedFaces.append(faceI);
-            changedFacesInfo.append(deltaData(neiDelta));
-        }
-    }
-
-    // Insert all faces of coupled patches no matter what. Let FaceCellWave
-    // sort it out.
-    forAll(mesh.boundaryMesh(), patchI)
-    {
-        const polyPatch& patch = mesh.boundaryMesh()[patchI];
-
-        if (patch.coupled())
-        {
-            forAll(patch, patchFaceI)
-            {
-                label meshFaceI = patch.start() + patchFaceI;
-
-                scalar ownDelta = delta[mesh.faceOwner()[meshFaceI]];
-
-                changedFaces.append(meshFaceI);
-                changedFacesInfo.append(deltaData(ownDelta));
-            }
-        }
-    }
-
-    changedFaces.shrink();
-    changedFacesInfo.shrink();
-}
-
-
-void smoothDelta::calcDelta()
-{
-    const volScalarField& geometricDelta = geometricDelta_();
-
-    // Fill changed faces with info
-    DynamicList<label> changedFaces(mesh_.nFaces()/100 + 100);
-    DynamicList<deltaData> changedFacesInfo(changedFaces.size());
-
-    setChangedFaces(mesh_, geometricDelta, changedFaces, changedFacesInfo);
-
-    // Set initial field on cells.
-    List<deltaData> cellDeltaData(mesh_.nCells());
-
-    forAll(geometricDelta, cellI)
-    {
-        cellDeltaData[cellI] = geometricDelta[cellI];
-    }
-
-    // Set initial field on faces.
-    List<deltaData> faceDeltaData(mesh_.nFaces());
-
-
-    // Propagate information over whole domain.
-    FaceCellWave<deltaData, scalar> deltaCalc
-    (
-        mesh_,
-        changedFaces,
-        changedFacesInfo,
-        faceDeltaData,
-        cellDeltaData,
-        mesh_.globalData().nTotalCells()+1,  // max iterations
-        maxDeltaRatio_
-    );
-
-    forAll(delta_, cellI)
-    {
-        delta_[cellI] = cellDeltaData[cellI].delta();
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-smoothDelta::smoothDelta
-(
-    const word& name,
-    const fvMesh& mesh,
-    const dictionary& dd
-)
-:
-    LESdelta(name, mesh),
-    geometricDelta_
-    (
-        LESdelta::New("geometricDelta", mesh, dd.subDict(type() + "Coeffs"))
-    ),
-    maxDeltaRatio_
-    (
-        readScalar(dd.subDict(type() + "Coeffs").lookup("maxDeltaRatio"))
-    )
-{
-    calcDelta();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void smoothDelta::read(const dictionary& d)
-{
-    const dictionary& dd(d.subDict(type() + "Coeffs"));
-
-    geometricDelta_().read(dd);
-    dd.lookup("maxDeltaRatio") >> maxDeltaRatio_;
-    calcDelta();
-}
-
-
-void smoothDelta::correct()
-{
-    geometricDelta_().correct();
-
-    if (mesh_.changing())
-    {
-        calcDelta();
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDelta.H b/src/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDelta.H
deleted file mode 100644
index e80d0948447..00000000000
--- a/src/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDelta.H
+++ /dev/null
@@ -1,290 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::smoothDelta
-
-Description
-    Smoothed delta which takes a given simple geometric delta and applies
-    smoothing to it such that the ratio of deltas between two cells is no
-    larger than a specified amount, typically 1.15.
-
-SourceFiles
-    smoothDelta.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef smoothDelta_H
-#define smoothDelta_H
-
-#include "LESdelta.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-/*---------------------------------------------------------------------------*\
-                         Class smoothDelta Declaration
-\*---------------------------------------------------------------------------*/
-
-class smoothDelta
-:
-    public LESdelta
-{
-public:
-
-    //- Public member class used by mesh-wave to propagate the delta-ratio
-    class deltaData
-    {
-        scalar delta_;
-
-        // Private Member Functions
-
-            //- Update. Gets information from neighbouring face/cell and
-            //  uses this to update itself (if necessary) and return true.
-            template<class TrackingData>
-            inline bool update
-            (
-                const deltaData& w2,
-                const scalar scale,
-                const scalar tol,
-                TrackingData& td
-            );
-
-
-    public:
-
-        // Constructors
-
-            //- Construct null
-            inline deltaData();
-
-            //- Construct from delta value
-            inline deltaData(const scalar delta);
-
-
-        // Member Functions
-
-            // Access
-
-            scalar delta() const
-            {
-                return delta_;
-            }
-
-
-            // Needed by FaceCellWave
-
-                //- Check whether origin has been changed at all or
-                //  still contains original (invalid) value.
-                template<class TrackingData>
-                inline bool valid(TrackingData& td) const;
-
-                //- Check for identical geometrical data.
-                //  Used for cyclics checking.
-                template<class TrackingData>
-                inline bool sameGeometry
-                (
-                    const polyMesh&,
-                    const deltaData&,
-                    const scalar,
-                    TrackingData& td
-                ) const;
-
-                //- Convert any absolute coordinates into relative to
-                //  (patch)face centre
-                template<class TrackingData>
-                inline void leaveDomain
-                (
-                    const polyMesh&,
-                    const polyPatch&,
-                    const label patchFaceI,
-                    const point& faceCentre,
-                    TrackingData& td
-                );
-
-                //- Reverse of leaveDomain
-                template<class TrackingData>
-                inline void enterDomain
-                (
-                    const polyMesh&,
-                    const polyPatch&,
-                    const label patchFaceI,
-                    const point& faceCentre,
-                    TrackingData& td
-                );
-
-                //- Apply rotation matrix to any coordinates
-                template<class TrackingData>
-                inline void transform
-                (
-                    const polyMesh&,
-                    const tensor&,
-                    TrackingData& td
-                );
-
-                //- Influence of neighbouring face.
-                template<class TrackingData>
-                inline bool updateCell
-                (
-                    const polyMesh&,
-                    const label thisCellI,
-                    const label neighbourFaceI,
-                    const deltaData& neighbourInfo,
-                    const scalar tol,
-                    TrackingData& td
-                );
-
-                //- Influence of neighbouring cell.
-                template<class TrackingData>
-                inline bool updateFace
-                (
-                    const polyMesh&,
-                    const label thisFaceI,
-                    const label neighbourCellI,
-                    const deltaData& neighbourInfo,
-                    const scalar tol,
-                    TrackingData& td
-                );
-
-                //- Influence of different value on same face.
-                template<class TrackingData>
-                inline bool updateFace
-                (
-                    const polyMesh&,
-                    const label thisFaceI,
-                    const deltaData& neighbourInfo,
-                    const scalar tol,
-                    TrackingData& td
-                );
-
-                //- Same (like operator==)
-                template<class TrackingData>
-                inline bool equal(const deltaData&, TrackingData& td) const;
-
-            // Member Operators
-
-                // Needed for List IO
-                inline bool operator==(const deltaData&) const;
-
-                inline bool operator!=(const deltaData&) const;
-
-            // IOstream Operators
-
-                friend Ostream& operator<<
-                (
-                    Ostream& os,
-                    const deltaData& wDist
-                )
-                {
-                    return os << wDist.delta_;
-                }
-
-                friend Istream& operator>>(Istream& is, deltaData& wDist)
-                {
-                    return is >> wDist.delta_;
-                }
-    };
-
-
-private:
-
-    // Private data
-
-        autoPtr<LESdelta> geometricDelta_;
-        scalar maxDeltaRatio_;
-
-
-    // Private Member Functions
-
-        //- Disallow default bitwise copy construct and assignment
-        smoothDelta(const smoothDelta&);
-        void operator=(const smoothDelta&);
-
-        // Calculate the delta values
-        void calcDelta();
-
-
-        void setChangedFaces
-        (
-            const polyMesh& mesh,
-            const volScalarField& delta,
-            DynamicList<label>& changedFaces,
-            DynamicList<deltaData>& changedFacesInfo
-        );
-
-
-public:
-
-    //- Runtime type information
-    TypeName("smooth");
-
-
-    // Constructors
-
-        //- Construct from name, mesh and IOdictionary
-        smoothDelta
-        (
-            const word& name,
-            const fvMesh& mesh,
-            const dictionary&
-        );
-
-
-    //- Destructor
-    virtual ~smoothDelta()
-    {}
-
-
-    // Member Functions
-
-        //- Read the LESdelta dictionary
-        virtual void read(const dictionary&);
-
-        // Correct values
-        virtual void correct();
-};
-
-
-//- Data associated with deltaData type are contiguous
-template<>
-inline bool contiguous<smoothDelta::deltaData>()
-{
-    return true;
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#include "smoothDeltaDeltaDataI.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDeltaDeltaDataI.H b/src/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDeltaDeltaDataI.H
deleted file mode 100644
index 16fbd8b519f..00000000000
--- a/src/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDeltaDeltaDataI.H
+++ /dev/null
@@ -1,227 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-// Update this with w2 if applicable
-template<class TrackingData>
-inline bool smoothDelta::deltaData::update
-(
-    const smoothDelta::deltaData& w2,
-    const scalar scale,
-    const scalar tol,
-    TrackingData& td
-)
-{
-    if (!valid(td) || (delta_ < VSMALL))
-    {
-        // My delta not set. Take over neighbour.
-        delta_ = w2.delta()/scale;
-
-        // Something changed. Let caller know.
-        return true;
-    }
-    else if (w2.delta() > (1 + tol)*scale*delta_)
-    {
-        // Neighbour is too big for me. Up my delta.
-        delta_ = w2.delta()/scale;
-
-        // Something changed. Let caller know.
-        return true;
-    }
-    else
-    {
-        // Neighbour is not too big for me or change is too small
-        // Nothing changed.
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-// Null constructor
-inline smoothDelta::deltaData::deltaData()
-:
-    delta_(-GREAT)
-{}
-
-
-// Construct from components
-inline smoothDelta::deltaData::deltaData(const scalar delta)
-:
-    delta_(delta)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-template<class TrackingData>
-inline bool smoothDelta::deltaData::valid(TrackingData& td) const
-{
-    return delta_ > -SMALL;
-}
-
-
-// Checks for cyclic faces
-template<class TrackingData>
-inline bool smoothDelta::deltaData::sameGeometry
-(
-    const polyMesh&,
-    const deltaData&,
-    const scalar,
-    TrackingData& td
-) const
-{
-    return true;
-}
-
-
-template<class TrackingData>
-inline void smoothDelta::deltaData::leaveDomain
-(
-    const polyMesh&,
-    const polyPatch&,
-    const label,
-    const point&,
-    TrackingData& td
-)
-{}
-
-
-template<class TrackingData>
-inline void smoothDelta::deltaData::transform
-(
-    const polyMesh&,
-    const tensor&,
-    TrackingData& td
-)
-{}
-
-
-// Update absolute geometric quantities.
-template<class TrackingData>
-inline void smoothDelta::deltaData::enterDomain
-(
-    const polyMesh&,
-    const polyPatch&,
-    const label,
-    const point&,
-    TrackingData& td
-)
-{}
-
-
-// Update this (cellI) with face information.
-template<class TrackingData>
-inline bool smoothDelta::deltaData::updateCell
-(
-    const polyMesh&,
-    const label,
-    const label,
-    const deltaData& neighbourWallInfo,
-    const scalar tol,
-    TrackingData& td
-)
-{
-    // Take over info from face if more than deltaRatio larger.
-    return update(neighbourWallInfo, td, tol, td);
-}
-
-
-// Update this (face) with cell information.
-template<class TrackingData>
-inline bool smoothDelta::deltaData::updateFace
-(
-    const polyMesh&,
-    const label,
-    const label,
-    const deltaData& neighbourWallInfo,
-    const scalar tol,
-    TrackingData& td
-)
-{
-    // Take over information from cell without any scaling (scale = 1.0)
-    return update(neighbourWallInfo, 1.0, tol, td);
-}
-
-
-// Update this (face) with coupled face information.
-template<class TrackingData>
-inline bool smoothDelta::deltaData::updateFace
-(
-    const polyMesh&,
-    const label,
-    const deltaData& neighbourWallInfo,
-    const scalar tol,
-    TrackingData& td
-)
-{
-    // Take over information from coupled face without any scaling (scale = 1.0)
-    return update(neighbourWallInfo, 1.0, tol, td);
-}
-
-
-template<class TrackingData>
-inline bool smoothDelta::deltaData::equal
-(
-    const deltaData& rhs,
-    TrackingData& td
-) const
-{
-    return operator==(rhs);
-}
-
-
-// * * * * * * * * * * * * * * * Member Operators  * * * * * * * * * * * * * //
-
-inline bool smoothDelta::deltaData::operator==
-(
-    const deltaData& rhs
-) const
-{
-    return delta_ == rhs.delta();
-}
-
-
-inline bool smoothDelta::deltaData::operator!=
-(
-    const deltaData& rhs
-) const
-{
-    return !(*this == rhs);
-}
-
-
-// ************************************************************************* //
-
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/LES/LESfilters/LESfilter/LESfilter.C b/src/turbulenceModels/LES/LESfilters/LESfilter/LESfilter.C
deleted file mode 100644
index 0414535108d..00000000000
--- a/src/turbulenceModels/LES/LESfilters/LESfilter/LESfilter.C
+++ /dev/null
@@ -1,67 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "error.H"
-#include "LESfilter.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-    defineTypeNameAndDebug(LESfilter, 0);
-    defineRunTimeSelectionTable(LESfilter, dictionary);
-}
-
-
-// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
-
-Foam::autoPtr<Foam::LESfilter> Foam::LESfilter::New
-(
-    const fvMesh& mesh,
-    const dictionary& dict
-)
-{
-    const word filterType(dict.lookup("filter"));
-
-    dictionaryConstructorTable::iterator cstrIter =
-        dictionaryConstructorTablePtr_->find(filterType);
-
-    if (cstrIter == dictionaryConstructorTablePtr_->end())
-    {
-        FatalErrorIn
-        (
-            "LESfilter::New(const fvMesh&, const dictionary&)"
-        )   << "Unknown LESfilter type "
-            << filterType << nl << nl
-            << "Valid LESfilter types are :" << endl
-            << dictionaryConstructorTablePtr_->sortedToc()
-            << exit(FatalError);
-    }
-
-    return autoPtr<LESfilter>(cstrIter()(mesh, dict));
-}
-
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/LES/LESfilters/LESfilter/LESfilter.H b/src/turbulenceModels/LES/LESfilters/LESfilter/LESfilter.H
deleted file mode 100644
index 410ada0682c..00000000000
--- a/src/turbulenceModels/LES/LESfilters/LESfilter/LESfilter.H
+++ /dev/null
@@ -1,158 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::LESfilter
-
-Description
-    Abstract class for LES filters
-
-SourceFiles
-    LESfilter.C
-    newFilter.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef LESfilter_H
-#define LESfilter_H
-
-#include "volFields.H"
-#include "typeInfo.H"
-#include "autoPtr.H"
-#include "runTimeSelectionTables.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-class fvMesh;
-
-/*---------------------------------------------------------------------------*\
-                           Class LESfilter Declaration
-\*---------------------------------------------------------------------------*/
-
-class LESfilter
-{
-    // Private data
-
-        const fvMesh& mesh_;
-
-
-    // Private Member Functions
-
-        // Disallow default bitwise copy construct and assignment
-        LESfilter(const LESfilter&);
-        void operator=(const LESfilter&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("LESfilter");
-
-
-    // Declare run-time constructor selection table
-
-        declareRunTimeSelectionTable
-        (
-            autoPtr,
-            LESfilter,
-            dictionary,
-            (
-                const fvMesh& mesh,
-                const dictionary& LESfilterDict
-            ),
-            (mesh, LESfilterDict)
-        );
-
-
-    // Constructors
-
-        //- Construct from components
-        LESfilter(const fvMesh& mesh)
-        :
-            mesh_(mesh)
-        {}
-
-
-    // Selectors
-
-        //- Return a reference to the selected LES filter
-        static autoPtr<LESfilter> New
-        (
-            const fvMesh&,
-            const dictionary&
-        );
-
-
-    //- Destructor
-    virtual ~LESfilter()
-    {}
-
-
-    // Member Functions
-
-        //- Return mesh reference
-        const fvMesh& mesh() const
-        {
-            return mesh_;
-        }
-
-        //- Read the LESfilter dictionary
-        virtual void read(const dictionary&) = 0;
-
-
-    // Member Operators
-
-        virtual tmp<volScalarField> operator()
-        (
-            const tmp<volScalarField>&
-        ) const = 0;
-
-        virtual tmp<volVectorField> operator()
-        (
-            const tmp<volVectorField>&
-        ) const = 0;
-
-        virtual tmp<volSymmTensorField> operator()
-        (
-            const tmp<volSymmTensorField>&
-        ) const = 0;
-
-        virtual tmp<volTensorField> operator()
-        (
-            const tmp<volTensorField>&
-        ) const = 0;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/LES/LESfilters/Make/files b/src/turbulenceModels/LES/LESfilters/Make/files
deleted file mode 100644
index 864b819f321..00000000000
--- a/src/turbulenceModels/LES/LESfilters/Make/files
+++ /dev/null
@@ -1,6 +0,0 @@
-LESfilter/LESfilter.C
-simpleFilter/simpleFilter.C
-laplaceFilter/laplaceFilter.C
-anisotropicFilter/anisotropicFilter.C
-
-LIB = $(FOAM_LIBBIN)/libLESfilters
diff --git a/src/turbulenceModels/LES/LESfilters/Make/options b/src/turbulenceModels/LES/LESfilters/Make/options
deleted file mode 100644
index 6d158a43206..00000000000
--- a/src/turbulenceModels/LES/LESfilters/Make/options
+++ /dev/null
@@ -1,4 +0,0 @@
-EXE_INC = -I$(LIB_SRC)/finiteVolume/lnInclude
-
-LIB_LIBS = \
-    -lfiniteVolume
diff --git a/src/turbulenceModels/LES/LESfilters/anisotropicFilter/anisotropicFilter.C b/src/turbulenceModels/LES/LESfilters/anisotropicFilter/anisotropicFilter.C
deleted file mode 100644
index 08ce6197c65..00000000000
--- a/src/turbulenceModels/LES/LESfilters/anisotropicFilter/anisotropicFilter.C
+++ /dev/null
@@ -1,239 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "anisotropicFilter.H"
-#include "addToRunTimeSelectionTable.H"
-#include "zeroGradientFvPatchFields.H"
-#include "wallFvPatch.H"
-#include "fvc.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-    defineTypeNameAndDebug(anisotropicFilter, 0);
-    addToRunTimeSelectionTable(LESfilter, anisotropicFilter, dictionary);
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-Foam::anisotropicFilter::anisotropicFilter
-(
-    const fvMesh& mesh,
-    scalar widthCoeff
-)
-:
-    LESfilter(mesh),
-    widthCoeff_(widthCoeff),
-    coeff_
-    (
-        IOobject
-        (
-            "anisotropicFilterCoeff",
-            mesh.time().timeName(),
-            mesh
-        ),
-        mesh,
-        dimensionedVector("zero", dimLength*dimLength, vector::zero),
-        calculatedFvPatchVectorField::typeName
-    )
-{
-    for (direction d=0; d<vector::nComponents; d++)
-    {
-        coeff_.internalField().replace
-        (
-            d,
-            (1/widthCoeff_)*
-            sqr
-            (
-                2.0*mesh.V()
-               /fvc::surfaceSum(mag(mesh.Sf().component(d)))().internalField()
-            )
-        );
-    }
-}
-
-
-Foam::anisotropicFilter::anisotropicFilter
-(
-    const fvMesh& mesh,
-    const dictionary& bd
-)
-:
-    LESfilter(mesh),
-    widthCoeff_(readScalar(bd.subDict(type() + "Coeffs").lookup("widthCoeff"))),
-    coeff_
-    (
-        IOobject
-        (
-            "anisotropicFilterCoeff",
-            mesh.time().timeName(),
-            mesh
-        ),
-        mesh,
-        dimensionedVector("zero", dimLength*dimLength, vector::zero),
-        calculatedFvPatchScalarField::typeName
-    )
-{
-    for (direction d=0; d<vector::nComponents; d++)
-    {
-        coeff_.internalField().replace
-        (
-            d,
-            (1/widthCoeff_)*
-            sqr
-            (
-                2.0*mesh.V()
-               /fvc::surfaceSum(mag(mesh.Sf().component(d)))().internalField()
-            )
-        );
-    }
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void Foam::anisotropicFilter::read(const dictionary& bd)
-{
-    bd.subDict(type() + "Coeffs").lookup("widthCoeff") >> widthCoeff_;
-}
-
-
-// * * * * * * * * * * * * * * * Member Operators  * * * * * * * * * * * * * //
-
-Foam::tmp<Foam::volScalarField> Foam::anisotropicFilter::operator()
-(
-    const tmp<volScalarField>& unFilteredField
-) const
-{
-    tmp<volScalarField> tmpFilteredField =
-        unFilteredField
-      + (
-           coeff_
-         & fvc::surfaceIntegrate
-           (
-               mesh().Sf()
-              *fvc::snGrad(unFilteredField())
-           )
-        );
-
-    unFilteredField.clear();
-
-    return tmpFilteredField;
-}
-
-
-Foam::tmp<Foam::volVectorField> Foam::anisotropicFilter::operator()
-(
-    const tmp<volVectorField>& unFilteredField
-) const
-{
-    tmp<volVectorField> tmpFilteredField =
-        unFilteredField
-      + (
-           coeff_
-         & fvc::surfaceIntegrate
-           (
-               mesh().Sf()
-              *fvc::snGrad(unFilteredField())
-           )
-        );
-
-    unFilteredField.clear();
-
-    return tmpFilteredField;
-}
-
-
-Foam::tmp<Foam::volSymmTensorField> Foam::anisotropicFilter::operator()
-(
-    const tmp<volSymmTensorField>& unFilteredField
-) const
-{
-    tmp<volSymmTensorField> tmpFilteredField
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "anisotropicFilteredSymmTensorField",
-                mesh().time().timeName(),
-                mesh()
-            ),
-            mesh(),
-            unFilteredField().dimensions()
-        )
-    );
-
-    for (direction d=0; d<symmTensor::nComponents; d++)
-    {
-        tmpFilteredField().replace
-        (
-            d, anisotropicFilter::operator()(unFilteredField().component(d))
-        );
-    }
-
-    unFilteredField.clear();
-
-    return tmpFilteredField;
-}
-
-
-Foam::tmp<Foam::volTensorField> Foam::anisotropicFilter::operator()
-(
-    const tmp<volTensorField>& unFilteredField
-) const
-{
-    tmp<volTensorField> tmpFilteredField
-    (
-        new volTensorField
-        (
-            IOobject
-            (
-                "anisotropicFilteredTensorField",
-                mesh().time().timeName(),
-                mesh()
-            ),
-            mesh(),
-            unFilteredField().dimensions()
-        )
-    );
-
-    for (direction d=0; d<tensor::nComponents; d++)
-    {
-        tmpFilteredField().replace
-        (
-            d, anisotropicFilter::operator()(unFilteredField().component(d))
-        );
-    }
-
-    unFilteredField.clear();
-
-    return tmpFilteredField;
-}
-
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/LES/LESfilters/anisotropicFilter/anisotropicFilter.H b/src/turbulenceModels/LES/LESfilters/anisotropicFilter/anisotropicFilter.H
deleted file mode 100644
index aac332e3a5b..00000000000
--- a/src/turbulenceModels/LES/LESfilters/anisotropicFilter/anisotropicFilter.H
+++ /dev/null
@@ -1,131 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::anisotropicFilter
-
-Description
-    anisotropic filter
-
-    \verbatim
-    Kernel                 as filter          as Test filter with ratio 2
-    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-    Box filter:            g = delta2/24  ->  g = delta2/6
-    Spherical box filter:  g = delta2/64  ->  g = delta2/16
-    Gaussian filter:       g = delta2/24  ->  g = delta2/6
-    \endverbatim
-
-SourceFiles
-    anisotropicFilter.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef anisotropicFilter_H
-#define anisotropicFilter_H
-
-#include "LESfilter.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class anisotropicFilter Declaration
-\*---------------------------------------------------------------------------*/
-
-class anisotropicFilter
-:
-    public LESfilter
-{
-    // Private data
-
-        scalar widthCoeff_;
-        volVectorField coeff_;
-
-
-    // Private Member Functions
-
-        // Disallow default bitwise copy construct and assignment
-        anisotropicFilter(const anisotropicFilter&);
-        void operator=(const anisotropicFilter&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("anisotropic");
-
-    // Constructors
-
-        //- Construct from components
-        anisotropicFilter(const fvMesh& mesh, scalar widthCoeff);
-
-        //- Construct from IOdictionary
-        anisotropicFilter(const fvMesh& mesh, const dictionary&);
-
-
-    //- Destructor
-    virtual ~anisotropicFilter()
-    {}
-
-
-    // Member Functions
-
-        //- Read the LESfilter dictionary
-        virtual void read(const dictionary&);
-
-
-    // Member Operators
-
-        virtual tmp<volScalarField> operator()
-        (
-            const tmp<volScalarField>&
-        ) const;
-
-        virtual tmp<volVectorField> operator()
-        (
-            const tmp<volVectorField>&
-        ) const;
-
-        virtual tmp<volSymmTensorField> operator()
-        (
-            const tmp<volSymmTensorField>&
-        ) const;
-
-        virtual tmp<volTensorField> operator()
-        (
-            const tmp<volTensorField>&
-        ) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/LES/LESfilters/laplaceFilter/laplaceFilter.C b/src/turbulenceModels/LES/LESfilters/laplaceFilter/laplaceFilter.C
deleted file mode 100644
index 24db120ffa9..00000000000
--- a/src/turbulenceModels/LES/LESfilters/laplaceFilter/laplaceFilter.C
+++ /dev/null
@@ -1,151 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "laplaceFilter.H"
-#include "addToRunTimeSelectionTable.H"
-#include "calculatedFvPatchFields.H"
-#include "fvm.H"
-#include "fvc.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-    defineTypeNameAndDebug(laplaceFilter, 0);
-    addToRunTimeSelectionTable(LESfilter, laplaceFilter, dictionary);
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-Foam::laplaceFilter::laplaceFilter(const fvMesh& mesh, scalar widthCoeff)
-:
-    LESfilter(mesh),
-    widthCoeff_(widthCoeff),
-    coeff_
-    (
-        IOobject
-        (
-            "laplaceFilterCoeff",
-            mesh.time().timeName(),
-            mesh
-        ),
-        mesh,
-        dimensionedScalar("zero", dimLength*dimLength, 0),
-        calculatedFvPatchScalarField::typeName
-    )
-{
-    coeff_.dimensionedInternalField() = pow(mesh.V(), 2.0/3.0)/widthCoeff_;
-}
-
-
-Foam::laplaceFilter::laplaceFilter(const fvMesh& mesh, const dictionary& bd)
-:
-    LESfilter(mesh),
-    widthCoeff_(readScalar(bd.subDict(type() + "Coeffs").lookup("widthCoeff"))),
-    coeff_
-    (
-        IOobject
-        (
-            "laplaceFilterCoeff",
-            mesh.time().timeName(),
-            mesh
-        ),
-        mesh,
-        dimensionedScalar("zero", dimLength*dimLength, 0),
-        calculatedFvPatchScalarField::typeName
-    )
-{
-    coeff_.dimensionedInternalField() = pow(mesh.V(), 2.0/3.0)/widthCoeff_;
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void Foam::laplaceFilter::read(const dictionary& bd)
-{
-    bd.subDict(type() + "Coeffs").lookup("widthCoeff") >> widthCoeff_;
-}
-
-
-// * * * * * * * * * * * * * * * Member Operators  * * * * * * * * * * * * * //
-
-Foam::tmp<Foam::volScalarField> Foam::laplaceFilter::operator()
-(
-    const tmp<volScalarField>& unFilteredField
-) const
-{
-    tmp<volScalarField> filteredField =
-        unFilteredField() + fvc::laplacian(coeff_, unFilteredField());
-
-    unFilteredField.clear();
-
-    return filteredField;
-}
-
-
-Foam::tmp<Foam::volVectorField> Foam::laplaceFilter::operator()
-(
-    const tmp<volVectorField>& unFilteredField
-) const
-{
-    tmp<volVectorField> filteredField =
-        unFilteredField() + fvc::laplacian(coeff_, unFilteredField());
-
-    unFilteredField.clear();
-
-    return filteredField;
-}
-
-
-Foam::tmp<Foam::volSymmTensorField> Foam::laplaceFilter::operator()
-(
-    const tmp<volSymmTensorField>& unFilteredField
-) const
-{
-    tmp<volSymmTensorField> filteredField =
-        unFilteredField() + fvc::laplacian(coeff_, unFilteredField());
-
-    unFilteredField.clear();
-
-    return filteredField;
-}
-
-
-Foam::tmp<Foam::volTensorField> Foam::laplaceFilter::operator()
-(
-    const tmp<volTensorField>& unFilteredField
-) const
-{
-    tmp<volTensorField> filteredField =
-        unFilteredField() + fvc::laplacian(coeff_, unFilteredField());
-
-    unFilteredField.clear();
-
-    return filteredField;
-}
-
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/LES/LESfilters/laplaceFilter/laplaceFilter.H b/src/turbulenceModels/LES/LESfilters/laplaceFilter/laplaceFilter.H
deleted file mode 100644
index bb7ad27eec4..00000000000
--- a/src/turbulenceModels/LES/LESfilters/laplaceFilter/laplaceFilter.H
+++ /dev/null
@@ -1,132 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::laplaceFilter
-
-Description
-    Laplace filter for LES
-
-    \verbatim
-    Kernel                 as filter          as Test filter with ratio 2
-    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-    Box filter:            g = delta2/24  ->  g = delta2/6
-    Spherical box filter:  g = delta2/64  ->  g = delta2/16
-    Gaussian filter:       g = delta2/24  ->  g = delta2/6
-    \endverbatim
-
-SourceFiles
-    laplaceFilter.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef laplaceFilter_H
-#define laplaceFilter_H
-
-#include "LESfilter.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class laplaceFilter Declaration
-\*---------------------------------------------------------------------------*/
-
-class laplaceFilter
-:
-    public LESfilter
-{
-    // Private data
-
-        scalar widthCoeff_;
-        volScalarField coeff_;
-
-
-    // Private Member Functions
-
-        //- Disallow default bitwise copy construct and assignment
-        laplaceFilter(const laplaceFilter&);
-        void operator=(const laplaceFilter&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("laplace");
-
-
-    // Constructors
-
-        //- Construct from components
-        laplaceFilter(const fvMesh& mesh, scalar widthCoeff);
-
-        //- Construct from IOdictionary
-        laplaceFilter(const fvMesh& mesh, const dictionary&);
-
-
-    //- Destructor
-    virtual ~laplaceFilter()
-    {}
-
-
-    // Member Functions
-
-        //- Read the LESfilter dictionary
-        virtual void read(const dictionary&);
-
-
-    // Member Operators
-
-        virtual tmp<volScalarField> operator()
-        (
-            const tmp<volScalarField>&
-        ) const;
-
-        virtual tmp<volVectorField> operator()
-        (
-            const tmp<volVectorField>&
-        ) const;
-
-        virtual tmp<volSymmTensorField> operator()
-        (
-            const tmp<volSymmTensorField>&
-        ) const;
-
-        virtual tmp<volTensorField> operator()
-        (
-            const tmp<volTensorField>&
-        ) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/LES/LESfilters/simpleFilter/simpleFilter.C b/src/turbulenceModels/LES/LESfilters/simpleFilter/simpleFilter.C
deleted file mode 100644
index d3140fddcc6..00000000000
--- a/src/turbulenceModels/LES/LESfilters/simpleFilter/simpleFilter.C
+++ /dev/null
@@ -1,128 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "simpleFilter.H"
-#include "addToRunTimeSelectionTable.H"
-#include "fvc.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-    defineTypeNameAndDebug(simpleFilter, 0);
-    addToRunTimeSelectionTable(LESfilter, simpleFilter, dictionary);
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-Foam::simpleFilter::simpleFilter
-(
-    const fvMesh& mesh
-)
-:
-    LESfilter(mesh)
-{}
-
-
-Foam::simpleFilter::simpleFilter(const fvMesh& mesh, const dictionary&)
-:
-    LESfilter(mesh)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void Foam::simpleFilter::read(const dictionary&)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Operators  * * * * * * * * * * * * * //
-
-Foam::tmp<Foam::volScalarField> Foam::simpleFilter::operator()
-(
-    const tmp<volScalarField>& unFilteredField
-) const
-{
-    tmp<volScalarField> filteredField = fvc::surfaceSum
-    (
-        mesh().magSf()*fvc::interpolate(unFilteredField)
-    )/fvc::surfaceSum(mesh().magSf());
-
-    unFilteredField.clear();
-
-    return filteredField;
-}
-
-
-Foam::tmp<Foam::volVectorField> Foam::simpleFilter::operator()
-(
-    const tmp<volVectorField>& unFilteredField
-) const
-{
-    tmp<volVectorField> filteredField = fvc::surfaceSum
-    (
-        mesh().magSf()*fvc::interpolate(unFilteredField)
-    )/fvc::surfaceSum(mesh().magSf());
-
-    unFilteredField.clear();
-
-    return filteredField;
-}
-
-
-Foam::tmp<Foam::volSymmTensorField> Foam::simpleFilter::operator()
-(
-    const tmp<volSymmTensorField>& unFilteredField
-) const
-{
-    tmp<volSymmTensorField> filteredField = fvc::surfaceSum
-    (
-        mesh().magSf()*fvc::interpolate(unFilteredField)
-    )/fvc::surfaceSum(mesh().magSf());
-
-    unFilteredField.clear();
-
-    return filteredField;
-}
-
-
-Foam::tmp<Foam::volTensorField> Foam::simpleFilter::operator()
-(
-    const tmp<volTensorField>& unFilteredField
-) const
-{
-    tmp<volTensorField> filteredField = fvc::surfaceSum
-    (
-        mesh().magSf()*fvc::interpolate(unFilteredField)
-    )/fvc::surfaceSum(mesh().magSf());
-
-    unFilteredField.clear();
-
-    return filteredField;
-}
-
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/LES/LESfilters/simpleFilter/simpleFilter.H b/src/turbulenceModels/LES/LESfilters/simpleFilter/simpleFilter.H
deleted file mode 100644
index f14af21b21c..00000000000
--- a/src/turbulenceModels/LES/LESfilters/simpleFilter/simpleFilter.H
+++ /dev/null
@@ -1,121 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::simpleFilter
-
-Description
-    Simple top-hat filter used in dynamic LES models.
-
-    Implemented as a surface integral of the face interpolate of the field.
-
-SourceFiles
-    simpleFilter.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef simpleFilter_H
-#define simpleFilter_H
-
-#include "LESfilter.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class simpleFilter Declaration
-\*---------------------------------------------------------------------------*/
-
-class simpleFilter
-:
-    public LESfilter
-
-{
-    // Private Member Functions
-
-        //- Disallow default bitwise copy construct and assignment
-        simpleFilter(const simpleFilter&);
-        void operator=(const simpleFilter&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("simple");
-
-
-    // Constructors
-
-        //- Construct from components
-        simpleFilter(const fvMesh& mesh);
-
-        //- Construct from IOdictionary
-        simpleFilter(const fvMesh& mesh, const dictionary&);
-
-
-    //- Destructor
-    virtual ~simpleFilter()
-    {}
-
-
-    // Member Functions
-
-        //- Read the LESfilter dictionary
-        virtual void read(const dictionary&);
-
-
-    // Member Operators
-
-        virtual tmp<volScalarField> operator()
-        (
-            const tmp<volScalarField>&
-        ) const;
-
-        virtual tmp<volVectorField> operator()
-        (
-            const tmp<volVectorField>&
-        ) const;
-
-        virtual tmp<volSymmTensorField> operator()
-        (
-            const tmp<volSymmTensorField>&
-        ) const;
-
-        virtual tmp<volTensorField> operator()
-        (
-            const tmp<volTensorField>&
-        ) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/Allwmake b/src/turbulenceModels/compressible/Allwmake
deleted file mode 100755
index ec2033465e9..00000000000
--- a/src/turbulenceModels/compressible/Allwmake
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-cd ${0%/*} || exit 1    # Run from this directory
-
-# Parse arguments for library compilation
-targetType=libso
-. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments
-set -x
-
-wmake $targetType turbulenceModel
-wmake $targetType RAS
-wmake $targetType LES
-
-# ----------------------------------------------------------------- end-of-file
diff --git a/src/turbulenceModels/compressible/LES/DESModel/DESModel.C b/src/turbulenceModels/compressible/LES/DESModel/DESModel.C
deleted file mode 100644
index 74873f49e56..00000000000
--- a/src/turbulenceModels/compressible/LES/DESModel/DESModel.C
+++ /dev/null
@@ -1,57 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "DESModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-// * * * * * * * * * * * * * * * Constructor * * * * * * * * * * * * * * * * //
-
-DESModel::DESModel
-(
-    const word& type,
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermoPhysicalModel,
-    const word& turbulenceModelName
-)
-:
-    LESModel(type, rho, U, phi, thermoPhysicalModel, turbulenceModelName)
-
-{}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/LES/DESModel/DESModelDoc.H b/src/turbulenceModels/compressible/LES/DESModel/DESModelDoc.H
deleted file mode 100644
index e9deb3208ed..00000000000
--- a/src/turbulenceModels/compressible/LES/DESModel/DESModelDoc.H
+++ /dev/null
@@ -1,32 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-\defgroup grpCmpDESTurbulence Compressible DES turbulence
-@{
-    \ingroup grpCmpTurbulence
-    This group contains compressible DES models.
-@}
-    
-\*---------------------------------------------------------------------------*/
diff --git a/src/turbulenceModels/compressible/LES/DeardorffDiffStress/DeardorffDiffStress.C b/src/turbulenceModels/compressible/LES/DeardorffDiffStress/DeardorffDiffStress.C
deleted file mode 100644
index 6d724be63a4..00000000000
--- a/src/turbulenceModels/compressible/LES/DeardorffDiffStress/DeardorffDiffStress.C
+++ /dev/null
@@ -1,166 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "DeardorffDiffStress.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace LESModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(DeardorffDiffStress, 0);
-addToRunTimeSelectionTable(LESModel, DeardorffDiffStress, dictionary);
-
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void DeardorffDiffStress::updateSubGridScaleFields(const volScalarField& K)
-{
-    muSgs_ = ck_*rho()*sqrt(K)*delta();
-    muSgs_.correctBoundaryConditions();
-
-    alphaSgs_ = muSgs_/Prt_;
-    alphaSgs_.correctBoundaryConditions();
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-DeardorffDiffStress::DeardorffDiffStress
-(
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermoPhysicalModel,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    LESModel(modelName, rho, U, phi, thermoPhysicalModel, turbulenceModelName),
-    GenSGSStress(rho, U, phi, thermoPhysicalModel),
-
-    ck_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "ck",
-            coeffDict_,
-            0.094
-        )
-    ),
-    cm_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "cm",
-            coeffDict_,
-            4.13
-        )
-    )
-{
-    updateSubGridScaleFields(0.5*tr(B_));
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void DeardorffDiffStress::correct(const tmp<volTensorField>& tgradU)
-{
-    const volTensorField& gradU = tgradU();
-
-    GenSGSStress::correct(gradU);
-
-    volSymmTensorField D(symm(gradU));
-
-    volSymmTensorField P(-rho()*twoSymm(B_ & gradU));
-
-    volScalarField K(0.5*tr(B_));
-
-    tmp<fvSymmTensorMatrix> BEqn
-    (
-        fvm::ddt(rho(), B_)
-      + fvm::div(phi(), B_)
-      - fvm::laplacian(DBEff(), B_)
-      + fvm::Sp(cm_*rho()*sqrt(K)/delta(), B_)
-     ==
-        P
-      + 0.8*rho()*K*D
-      - (2*ce_ - 0.667*cm_)*I*rho()*epsilon()
-    );
-
-    BEqn().relax();
-    BEqn().solve();
-
-    // Bounding the component kinetic energies
-
-    forAll(B_, celli)
-    {
-        B_[celli].component(symmTensor::XX) =
-            max(B_[celli].component(symmTensor::XX), 1.0e-10);
-        B_[celli].component(symmTensor::YY) =
-            max(B_[celli].component(symmTensor::YY), 1.0e-10);
-        B_[celli].component(symmTensor::ZZ) =
-            max(B_[celli].component(symmTensor::ZZ), 1.0e-10);
-    }
-
-    K = 0.5*tr(B_);
-    bound(K, kMin_);
-
-    updateSubGridScaleFields(K);
-}
-
-
-bool DeardorffDiffStress::read()
-{
-    if (GenSGSStress::read())
-    {
-        ck_.readIfPresent(coeffDict());
-        cm_.readIfPresent(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/LES/DeardorffDiffStress/DeardorffDiffStress.H b/src/turbulenceModels/compressible/LES/DeardorffDiffStress/DeardorffDiffStress.H
deleted file mode 100644
index f84c00f5d3e..00000000000
--- a/src/turbulenceModels/compressible/LES/DeardorffDiffStress/DeardorffDiffStress.H
+++ /dev/null
@@ -1,150 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::LESModels::DeardorffDiffStress
-
-Group
-    grpCmpLESTurbulence
-
-Description
-    Differential SGS Stress Equation Model for compressible flows
-
-    The DSEM uses a model version of the full balance equation for the SGS
-    stress tensor to simulate the behaviour of B.
-    Thus,
-    \verbatim
-        d/dt(rho*B) + div(rho*U*B) - div(muSgs*grad(B))
-          =
-            P
-          - c1*rho*epsilon/k*B
-          - 0.667*(1 - c1)*rho*epsilon*I
-          - c2*(P - 0.333*trP*I)
-
-    where
-
-        k = 0.5*trB,
-        epsilon = ce*k^3/2/delta,
-        epsilon/k = ce*k^1/2/delta
-        P = -rho*(B'L + L'B)
-        muSgs = ck*rho*sqrt(k)*delta
-        muEff = muSgs + mu
-    \endverbatim
-
-SourceFiles
-    DeardorffDiffStress.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleDeardorffDiffStress_H
-#define compressibleDeardorffDiffStress_H
-
-#include "GenSGSStress.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace LESModels
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class DeardorffDiffStress Declaration
-\*---------------------------------------------------------------------------*/
-
-class DeardorffDiffStress
-:
-    public GenSGSStress
-{
-    // Private data
-
-        dimensionedScalar ck_;
-        dimensionedScalar cm_;
-
-
-    // Private Member Functions
-
-        //- Update sub-grid scale fields
-        void updateSubGridScaleFields(const volScalarField& K);
-
-        // Disallow default bitwise copy construct and assignment
-        DeardorffDiffStress(const DeardorffDiffStress&);
-        DeardorffDiffStress& operator=(const DeardorffDiffStress&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("DeardorffDiffStress");
-
-    // Constructors
-
-        //- Constructor from components
-        DeardorffDiffStress
-        (
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const fluidThermo& thermoPhysicalModel,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~DeardorffDiffStress()
-    {}
-
-
-    // Member Functions
-
-        //- Return the effective diffusivity for B
-        tmp<volScalarField> DBEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DBEff", muSgs_ + mu())
-            );
-        }
-
-        //- Correct Eddy-Viscosity and related properties
-        virtual void correct(const tmp<volTensorField>& gradU);
-
-        //- Read LESProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/LES/GenEddyVisc/GenEddyVisc.C b/src/turbulenceModels/compressible/LES/GenEddyVisc/GenEddyVisc.C
deleted file mode 100644
index d6ceef8489e..00000000000
--- a/src/turbulenceModels/compressible/LES/GenEddyVisc/GenEddyVisc.C
+++ /dev/null
@@ -1,157 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "GenEddyVisc.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace LESModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameWithName(GenEddyVisc, "GenEddyVisc");
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-GenEddyVisc::GenEddyVisc
-(
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermoPhysicalModel,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    LESModel(modelName, rho, U, phi, thermoPhysicalModel, turbulenceModelName),
-
-    ce_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "ce",
-            coeffDict_,
-            1.048
-        )
-    ),
-
-    Prt_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Prt",
-            coeffDict_,
-            1.0
-        )
-    ),
-
-    muSgs_
-    (
-        IOobject
-        (
-            "muSgs",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-
-    alphaSgs_
-    (
-        IOobject
-        (
-            "alphaSgs",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    )
-{
-//    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volSymmTensorField> GenEddyVisc::B() const
-{
-    return ((2.0/3.0)*I)*k() - (muSgs_/rho())*dev(twoSymm(fvc::grad(U())));
-}
-
-
-tmp<volSymmTensorField> GenEddyVisc::devRhoBeff() const
-{
-    return -muEff()*dev(twoSymm(fvc::grad(U())));
-}
-
-
-tmp<fvVectorMatrix> GenEddyVisc::divDevRhoBeff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(muEff(), U) - fvc::div(muEff()*dev2(T(fvc::grad(U))))
-    );
-}
-
-
-void GenEddyVisc::correct(const tmp<volTensorField>& gradU)
-{
-    LESModel::correct(gradU);
-}
-
-
-bool GenEddyVisc::read()
-{
-    if (LESModel::read())
-    {
-        ce_.readIfPresent(coeffDict());
-        Prt_.readIfPresent(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/LES/GenEddyVisc/GenEddyVisc.H b/src/turbulenceModels/compressible/LES/GenEddyVisc/GenEddyVisc.H
deleted file mode 100644
index d4af6e5e2a7..00000000000
--- a/src/turbulenceModels/compressible/LES/GenEddyVisc/GenEddyVisc.H
+++ /dev/null
@@ -1,172 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::LESModels::GenEddyVisc
-
-Group
-    grpCmpLESTurbulence
-
-Description
-    General base class for all compressible models that can be implemented as
-    an eddy viscosity, i.e. algebraic and one-equation models.
-
-    Contains fields for k (SGS turbulent kinetic energy), gamma
-    (modelled viscosity) and epsilon (SGS dissipation).
-
-SourceFiles
-    GenEddyVisc.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleGenEddyVisc_H
-#define compressibleGenEddyVisc_H
-
-#include "LESModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace LESModels
-{
-
-/*---------------------------------------------------------------------------*\
-                         Class GenEddyVisc Declaration
-\*---------------------------------------------------------------------------*/
-
-class GenEddyVisc
-:
-    virtual public LESModel
-{
-    // Private Member Functions
-
-        // Disallow default bitwise copy construct and assignment
-        GenEddyVisc(const GenEddyVisc&);
-        GenEddyVisc& operator=(const GenEddyVisc&);
-
-
-protected:
-
-    // Model coefficients
-
-        dimensionedScalar ce_;
-        dimensionedScalar Prt_;
-
-
-    // Fields
-
-        volScalarField muSgs_;
-        volScalarField alphaSgs_;
-
-
-public:
-
-    //- Partial Runtime type information
-    static const word typeName;
-
-    // Constructors
-
-        //- Construct from components
-        GenEddyVisc
-        (
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const fluidThermo& thermoPhysicalModel,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~GenEddyVisc()
-    {}
-
-
-    // Member Functions
-
-        //- Return sub-grid disipation rate
-        virtual tmp<volScalarField> epsilon() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField
-                (
-                    IOobject
-                    (   
-                        "epsilon",
-                        runTime_.timeName(),
-                        mesh_,
-                        IOobject::NO_READ,
-                        IOobject::NO_WRITE
-                    ),
-                    ce_*k()*sqrt(k())/delta()
-                )
-            );
-        }
-
-        //- Return viscosity
-        virtual tmp<volScalarField> muSgs() const
-        {
-            return muSgs_;
-        }
-
-        //- Return thermal diffusivity
-        virtual tmp<volScalarField> alphaSgs() const
-        {
-            return alphaSgs_;
-        }
-
-        //- Return the sub-grid stress tensor.
-        virtual tmp<volSymmTensorField> B() const;
-
-        //- Return the deviatoric part of the effective sub-grid
-        //  turbulence stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devRhoBeff() const;
-
-        //- Returns div(rho*dev(B)).
-        // This is the additional term due to the filtering of the NSE.
-        virtual tmp<fvVectorMatrix> divDevRhoBeff(volVectorField& U) const;
-
-        //- Correct Eddy-Viscosity and related properties
-        virtual void correct(const tmp<volTensorField>& gradU);
-
-        //- Read LESProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/LES/GenSGSStress/GenSGSStress.C b/src/turbulenceModels/compressible/LES/GenSGSStress/GenSGSStress.C
deleted file mode 100644
index f643e2c4b0a..00000000000
--- a/src/turbulenceModels/compressible/LES/GenSGSStress/GenSGSStress.C
+++ /dev/null
@@ -1,178 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "GenSGSStress.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace LESModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameWithName(GenSGSStress, "GenSGSStress");
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-GenSGSStress::GenSGSStress
-(
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermoPhysicalModel,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    LESModel(modelName, rho, U, phi, thermoPhysicalModel, turbulenceModelName),
-
-    ce_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "ce",
-            coeffDict_,
-            1.048
-        )
-    ),
-
-    Prt_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Prt",
-            coeffDict_,
-            1.0
-        )
-    ),
-
-    B_
-    (
-        IOobject
-        (
-            "B",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-
-    muSgs_
-    (
-        IOobject
-        (
-            "muSgs",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-
-    alphaSgs_
-    (
-        IOobject
-        (
-            "alphaSgs",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    )
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volSymmTensorField> GenSGSStress::devRhoBeff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            rho()*B_ - mu()*dev(twoSymm(fvc::grad(U())))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> GenSGSStress::divDevRhoBeff(volVectorField& U) const
-{
-    return
-    (
-        fvc::div(rho()*B_ + 0.05*muSgs_*fvc::grad(U))
-      + fvc::laplacian(0.95*muSgs_, U, "laplacian(muEff,U)")
-      - fvm::laplacian(muEff(), U)
-      - fvc::div(mu()*dev2(T(fvc::grad(U))))
-    );
-}
-
-
-void GenSGSStress::correct(const tmp<volTensorField>& gradU)
-{
-    LESModel::correct(gradU);
-}
-
-
-bool GenSGSStress::read()
-{
-    if (LESModel::read())
-    {
-        ce_.readIfPresent(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/LES/GenSGSStress/GenSGSStress.H b/src/turbulenceModels/compressible/LES/GenSGSStress/GenSGSStress.H
deleted file mode 100644
index 44eef6da8f1..00000000000
--- a/src/turbulenceModels/compressible/LES/GenSGSStress/GenSGSStress.H
+++ /dev/null
@@ -1,198 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::LESModels::GenSGSStress
-
-Group
-    grpCmpLESTurbulence
-
-Description
-    General base class for all compressible models that directly
-    solve for the SGS stress tensor B.
-
-    Contains tensor fields B (the SGS stress tensor) as well as scalar
-    fields for k (SGS turbulent energy) gamma (SGS viscosity) and epsilon
-    (SGS dissipation).
-
-SourceFiles
-    GenSGSStress.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleGenSGSStress_H
-#define compressibleGenSGSStress_H
-
-#include "LESModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace LESModels
-{
-
-/*---------------------------------------------------------------------------*\
-                         Class GenSGSStress Declaration
-\*---------------------------------------------------------------------------*/
-
-class GenSGSStress
-:
-    virtual public LESModel
-{
-    // Private Member Functions
-
-        // Disallow default bitwise copy construct and assignment
-        GenSGSStress(const GenSGSStress&);
-        GenSGSStress& operator=(const GenSGSStress&);
-
-
-protected:
-
-    // Model coefficients
-
-        dimensionedScalar ce_;
-        dimensionedScalar Prt_;
-
-    // Fields
-
-        volSymmTensorField B_;
-        volScalarField muSgs_;
-        volScalarField alphaSgs_;
-
-
-public:
-
-    //- Partial Runtime type information
-    static const word typeName;
-
-    // Constructors
-
-        //- Constructor from components
-        GenSGSStress
-        (
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const fluidThermo& thermoPhysicalModel,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~GenSGSStress()
-    {}
-
-
-    // Member Functions
-
-        //- Return the SGS turbulent kinetic energy
-        virtual tmp<volScalarField> k() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField
-                (
-                    IOobject
-                    (   
-                        "k",
-                        runTime_.timeName(),
-                        mesh_,
-                        IOobject::NO_READ,
-                        IOobject::NO_WRITE
-                    ),
-                    0.5*tr(B_)
-                )
-            );
-        }
-
-        //- Return the SGS turbulent dissipation
-        virtual tmp<volScalarField> epsilon() const
-        {
-            const volScalarField K(k());
-
-            return tmp<volScalarField>
-            (
-                new volScalarField
-                (
-                    IOobject
-                    (   
-                        "epsilon",
-                        runTime_.timeName(),
-                        mesh_,
-                        IOobject::NO_READ,
-                        IOobject::NO_WRITE
-                    ),
-                    ce_*K*sqrt(K)/delta()
-                )
-            );
-        }
-
-        //- Return the SGS viscosity
-        virtual tmp<volScalarField> muSgs() const
-        {
-            return muSgs_;
-        }
-
-        //- Return the SGS thermal diffusivity
-        virtual tmp<volScalarField> alphaSgs() const
-        {
-            return alphaSgs_;
-        }
-
-        //- Return the sub-grid stress tensor
-        virtual tmp<volSymmTensorField> B() const
-        {
-            return B_;
-        }
-
-        //- Return the deviatoric part of the effective sub-grid
-        //  turbulence stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devRhoBeff() const;
-
-        //- Returns divergence of B : i.e. the additional term in the
-        //  filtered NSE
-        virtual tmp<fvVectorMatrix> divDevRhoBeff(volVectorField& U) const;
-
-        //- Correct Eddy-Viscosity and related properties
-        virtual void correct(const tmp<volTensorField>& gradU);
-
-        //- Read LESProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/LES/LESModel/LESModel.C b/src/turbulenceModels/compressible/LES/LESModel/LESModel.C
deleted file mode 100644
index 0a338e29068..00000000000
--- a/src/turbulenceModels/compressible/LES/LESModel/LESModel.C
+++ /dev/null
@@ -1,209 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "LESModel.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(LESModel, 0);
-defineRunTimeSelectionTable(LESModel, dictionary);
-addToRunTimeSelectionTable(turbulenceModel, LESModel, turbulenceModel);
-
-// * * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * //
-
-void LESModel::printCoeffs()
-{
-    if (printCoeffs_)
-    {
-        Info<< type() << "Coeffs" << coeffDict_ << endl;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * Constructor * * * * * * * * * * * * * * * * //
-
-LESModel::LESModel
-(
-    const word& type,
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermoPhysicalModel,
-    const word& turbulenceModelName
-)
-:
-    turbulenceModel(rho, U, phi, thermoPhysicalModel, turbulenceModelName),
-
-    IOdictionary
-    (
-        IOobject
-        (
-            "LESProperties",
-            U.time().constant(),
-            U.db(),
-            IOobject::MUST_READ_IF_MODIFIED,
-            IOobject::NO_WRITE
-        )
-    ),
-
-    printCoeffs_(lookupOrDefault<Switch>("printCoeffs", false)),
-    coeffDict_(subOrEmptyDict(type + "Coeffs")),
-
-    kMin_("kMin", sqr(dimVelocity), SMALL),
-
-    delta_(LESdelta::New("delta", U.mesh(), *this))
-{
-    kMin_.readIfPresent(*this);
-
-    // Force the construction of the mesh deltaCoeffs which may be needed
-    // for the construction of the derived models and BCs
-    mesh_.deltaCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * //
-
-autoPtr<LESModel> LESModel::New
-(
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermoPhysicalModel,
-    const word& turbulenceModelName
-)
-{
-    // get model name, but do not register the dictionary
-    // otherwise it is registered in the database twice
-    const word modelType
-    (
-        IOdictionary
-        (
-            IOobject
-            (
-                "LESProperties",
-                U.time().constant(),
-                U.db(),
-                IOobject::MUST_READ_IF_MODIFIED,
-                IOobject::NO_WRITE,
-                false
-            )
-        ).lookup("LESModel")
-    );
-
-    Info<< "Selecting LES turbulence model " << modelType << endl;
-
-    dictionaryConstructorTable::iterator cstrIter =
-        dictionaryConstructorTablePtr_->find(modelType);
-
-    if (cstrIter == dictionaryConstructorTablePtr_->end())
-    {
-        FatalErrorIn
-        (
-            "LESModel::New"
-            "("
-                "const volScalarField&, "
-                "const volVectorField&, "
-                "const surfaceScalarField&, "
-                "const fluidThermo&, "
-                "const word&"
-            ")"
-        )   << "Unknown LESModel type "
-            << modelType << nl << nl
-            << "Valid LESModel types:" << endl
-            << dictionaryConstructorTablePtr_->sortedToc()
-            << exit(FatalError);
-    }
-
-    return autoPtr<LESModel>
-    (
-        cstrIter()(rho, U, phi, thermoPhysicalModel, turbulenceModelName)
-    );
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void LESModel::correct(const tmp<volTensorField>&)
-{
-    turbulenceModel::correct();
-    delta_().correct();
-}
-
-
-void LESModel::correct()
-{
-    correct(fvc::grad(U_));
-}
-
-
-bool LESModel::read()
-{
-    // Bit of trickery : we are both IOdictionary ('RASProperties') and
-    // an regIOobject (from the turbulenceModel). Problem is to distinguish
-    // between the two - we only want to reread the IOdictionary.
-
-    bool ok = IOdictionary::readData
-    (
-        IOdictionary::readStream
-        (
-            IOdictionary::type()
-        )
-    );
-    IOdictionary::close();
-
-    if (ok)
-    {
-        if (const dictionary* dictPtr = subDictPtr(type() + "Coeffs"))
-        {
-            coeffDict_ <<= *dictPtr;
-        }
-
-        kMin_.readIfPresent(*this);
-
-        delta_().read(*this);
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/LES/LESModel/LESModel.H b/src/turbulenceModels/compressible/LES/LESModel/LESModel.H
deleted file mode 100644
index 5b4cc39fca2..00000000000
--- a/src/turbulenceModels/compressible/LES/LESModel/LESModel.H
+++ /dev/null
@@ -1,304 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Namespace
-    Foam::compressible::LESModels
-
-Group
-    grpCmpLESTurbulence
-
-Description
-    Namespace for compressible LES models.
-
-Class
-    Foam::compressible::LESModel
-
-Description
-    Base class for all compressible flow LES SGS models.
-
-    This class defines the basic interface for a compressible flow SGS
-    model, and encapsulates data of value to all possible models.
-    In particular this includes references to all the dependent fields
-    (rho, U, phi), the physical viscosity mu, and the LESProperties
-    dictionary, which contains the model selection and model coefficients.
-
-SourceFiles
-    LESModel.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleLESModel_H
-#define compressibleLESModel_H
-
-#include "compressible/turbulenceModel/turbulenceModel.H"
-#include "compressible/LES/compressibleLESdelta/compressibleLESdelta.H"
-#include "fvm.H"
-#include "fvc.H"
-#include "fvMatrices.H"
-#include "fluidThermo.H"
-#include "bound.H"
-#include "autoPtr.H"
-#include "runTimeSelectionTables.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class LESModel Declaration
-\*---------------------------------------------------------------------------*/
-
-class LESModel
-:
-    public turbulenceModel,
-    public IOdictionary
-{
-
-protected:
-
-    // Protected data
-
-        Switch printCoeffs_;
-        dictionary coeffDict_;
-
-        dimensionedScalar kMin_;
-
-        autoPtr<Foam::LESdelta> delta_;
-
-
-    // Protected Member Functions
-
-        //- Print model coefficients
-        virtual void printCoeffs();
-
-
-private:
-
-    // Private Member Functions
-
-        //- Disallow default bitwise copy construct
-        LESModel(const LESModel&);
-
-        //- Disallow default bitwise assignment
-        LESModel& operator=(const LESModel&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("LESModel");
-
-
-    // Declare run-time constructor selection table
-
-        declareRunTimeSelectionTable
-        (
-            autoPtr,
-            LESModel,
-            dictionary,
-            (
-                const volScalarField& rho,
-                const volVectorField& U,
-                const surfaceScalarField& phi,
-                const fluidThermo& thermoPhysicalModel,
-                const word& turbulenceModelName
-            ),
-            (rho, U, phi, thermoPhysicalModel, turbulenceModelName)
-        );
-
-
-    // Constructors
-
-        //- Construct from components
-        LESModel
-        (
-            const word& type,
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const fluidThermo& thermoPhysicalModel,
-            const word& turbulenceModelName = turbulenceModel::typeName
-        );
-
-
-    // Selectors
-
-        //- Return a reference to the selected LES model
-        static autoPtr<LESModel> New
-        (
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const fluidThermo& thermoPhysicalModel,
-            const word& turbulenceModelName = turbulenceModel::typeName
-        );
-
-
-    //- Destructor
-    virtual ~LESModel()
-    {}
-
-
-    // Member Functions
-
-        // Access
-
-            //- Const access to the coefficients dictionary,
-            //  which provides info. about choice of models,
-            //  and all related data (particularly model coefficients).
-            virtual const dictionary& coeffDict() const
-            {
-                return coeffDict_;
-            }
-
-            //- Return the lower allowable limit for k (default: SMALL)
-            const dimensionedScalar& kMin() const
-            {
-                return kMin_;
-            }
-
-            //- Allow kMin to be changed
-            dimensionedScalar& kMin()
-            {
-                return kMin_;
-            }
-
-            //- Access function to filter width
-            inline const volScalarField& delta() const
-            {
-                return delta_();
-            }
-
-
-        //- Return the SGS turbulent viscosity
-        virtual tmp<volScalarField> muSgs() const = 0;
-
-        //- Return the effective viscosity
-        virtual tmp<volScalarField> muEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("muEff", muSgs() + mu())
-            );
-        }
-
-        //- Return the SGS turbulent thermal diffusivity
-        virtual tmp<volScalarField> alphaSgs() const = 0;
-
-        //- Return the effective turbulent temperature diffusivity
-        virtual tmp<volScalarField> kappaEff() const
-        {
-            return thermo().kappaEff(alphaSgs());
-        }
-
-        //- Return the effective turbulent temperature diffusivity for a patch
-        virtual tmp<scalarField> kappaEff(const label patchI) const
-        {
-            return
-                thermo().kappaEff(alphaSgs()().boundaryField()[patchI], patchI);
-        }
-
-        //- Return the effective thermal diffusivity
-        virtual tmp<volScalarField> alphaEff() const
-        {
-            return thermo().alphaEff(alphaSgs());
-        }
-
-        //- Return the effective turbulence thermal diffusivity for a patch
-        virtual tmp<scalarField> alphaEff(const label patchI) const
-        {
-            return
-                thermo().alphaEff(alphaSgs()().boundaryField()[patchI], patchI);
-        }
-
-        //- Return the sub-grid stress tensor.
-        virtual tmp<volSymmTensorField> B() const = 0;
-
-        //- Return the deviatoric part of the effective sub-grid
-        //  turbulence stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devRhoBeff() const = 0;
-
-        //- Returns div(rho*dev(B)).
-        // This is the additional term due to the filtering of the NSE.
-        virtual tmp<fvVectorMatrix> divDevRhoBeff(volVectorField& U) const = 0;
-
-
-        // RAS compatibility functions for the turbulenceModel base class
-
-            //- Return the turbulence viscosity
-            virtual tmp<volScalarField> mut() const
-            {
-                return muSgs();
-            }
-
-            //- Return the turbulence thermal diffusivity
-            virtual tmp<volScalarField> alphat() const
-            {
-                return alphaSgs();
-            }
-
-            //- Return the Reynolds stress tensor
-            virtual tmp<volSymmTensorField> R() const
-            {
-                return B();
-            }
-
-            //- Return the effective stress tensor including the laminar stress
-            virtual tmp<volSymmTensorField> devRhoReff() const
-            {
-                return devRhoBeff();
-            }
-
-            //- Return the source term for the momentum equation
-            virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const
-            {
-                return divDevRhoBeff(U);
-            }
-
-
-        //- Correct Eddy-Viscosity and related properties.
-        //  This calls correct(const tmp<volTensorField>& gradU) by supplying
-        //  gradU calculated locally.
-        virtual void correct();
-
-        //- Correct Eddy-Viscosity and related properties
-        virtual void correct(const tmp<volTensorField>& gradU);
-
-        //- Read LESProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/LES/LESModel/LESModelDoc.H b/src/turbulenceModels/compressible/LES/LESModel/LESModelDoc.H
deleted file mode 100644
index ac8c52e36ad..00000000000
--- a/src/turbulenceModels/compressible/LES/LESModel/LESModelDoc.H
+++ /dev/null
@@ -1,32 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-\defgroup grpCmpLESTurbulence Compressible LES turbulence
-@{
-    \ingroup grpCmpTurbulence
-    This group contains compressible LES models.
-@}
-    
-\*---------------------------------------------------------------------------*/
diff --git a/src/turbulenceModels/compressible/LES/Make/files b/src/turbulenceModels/compressible/LES/Make/files
deleted file mode 100644
index 58e7485772a..00000000000
--- a/src/turbulenceModels/compressible/LES/Make/files
+++ /dev/null
@@ -1,16 +0,0 @@
-LESModel/LESModel.C
-DESModel/DESModel.C
-GenEddyVisc/GenEddyVisc.C
-GenSGSStress/GenSGSStress.C
-
-Smagorinsky/Smagorinsky.C
-oneEqEddy/oneEqEddy.C
-lowReOneEqEddy/lowReOneEqEddy.C
-homogeneousDynOneEqEddy/homogeneousDynOneEqEddy.C
-DeardorffDiffStress/DeardorffDiffStress.C
-SpalartAllmaras/SpalartAllmaras.C
-
-compressibleLESdelta/compressibleLESdelta.C
-vanDriestDelta/vanDriestDelta.C
-
-LIB = $(FOAM_LIBBIN)/libcompressibleLESModels
diff --git a/src/turbulenceModels/compressible/LES/Make/options b/src/turbulenceModels/compressible/LES/Make/options
deleted file mode 100644
index 5f392cebf63..00000000000
--- a/src/turbulenceModels/compressible/LES/Make/options
+++ /dev/null
@@ -1,14 +0,0 @@
-EXE_INC = \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/LES/LESdeltas/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/LES/LESfilters/lnInclude \
-    -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/finiteVolume/lnInclude
-
-LIB_LIBS = \
-    -lcompressibleTurbulenceModel \
-    -lLESdeltas \
-    -lLESfilters \
-    -lfiniteVolume \
-    -lmeshTools
diff --git a/src/turbulenceModels/compressible/LES/Smagorinsky/Smagorinsky.C b/src/turbulenceModels/compressible/LES/Smagorinsky/Smagorinsky.C
deleted file mode 100644
index 89719bb7e57..00000000000
--- a/src/turbulenceModels/compressible/LES/Smagorinsky/Smagorinsky.C
+++ /dev/null
@@ -1,125 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "Smagorinsky.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace LESModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(Smagorinsky, 0);
-addToRunTimeSelectionTable(LESModel, Smagorinsky, dictionary);
-
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void Smagorinsky::updateSubGridScaleFields(const volTensorField& gradU)
-{
-    volSymmTensorField D(symm(gradU));
-
-    volScalarField a(ce_/delta());
-    volScalarField b((2.0/3.0)*tr(D));
-    volScalarField c(2*ck_*delta()*(dev(D) && D));
-
-    volScalarField k(sqr((-b + sqrt(sqr(b) + 4*a*c))/(2*a)));
-
-    muSgs_ = ck_*rho()*delta()*sqrt(k);
-    muSgs_.correctBoundaryConditions();
-
-    alphaSgs_ = muSgs_/Prt_;
-    alphaSgs_.correctBoundaryConditions();
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-Smagorinsky::Smagorinsky
-(
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermoPhysicalModel,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    LESModel(modelName, rho, U, phi, thermoPhysicalModel, turbulenceModelName),
-    GenEddyVisc(rho, U, phi, thermoPhysicalModel),
-
-    ck_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "ck",
-            coeffDict_,
-            0.02
-        )
-    )
-{
-    updateSubGridScaleFields(fvc::grad(U));
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void Smagorinsky::correct(const tmp<volTensorField>& gradU)
-{
-    GenEddyVisc::correct(gradU);
-    updateSubGridScaleFields(gradU());
-}
-
-
-bool Smagorinsky::read()
-{
-    if (GenEddyVisc::read())
-    {
-        ck_.readIfPresent(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/LES/Smagorinsky/Smagorinsky.H b/src/turbulenceModels/compressible/LES/Smagorinsky/Smagorinsky.H
deleted file mode 100644
index 56821ae60eb..00000000000
--- a/src/turbulenceModels/compressible/LES/Smagorinsky/Smagorinsky.H
+++ /dev/null
@@ -1,153 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::LESModels::Smagorinsky
-
-Group
-    grpCmpLESTurbulence
-
-Description
-    The choric Smagorinsky Model for compressible flows.
-
-    Algebraic eddy viscosity SGS model founded on the assumption that
-    local equilibrium prevails.
-    Thus,
-    \verbatim
-
-        B = 2/3*k*I - 2*nuSgs*dev(D)
-
-    where
-
-        D = symm(grad(U));
-        k from rho*D:B + ce*rho*k^3/2/delta = 0
-        muSgs = ck*rho*sqrt(k)*delta
-    \endverbatim
-
-SourceFiles
-    Smagorinsky.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleSmagorinsky_H
-#define compressibleSmagorinsky_H
-
-#include "GenEddyVisc.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace LESModels
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class Smagorinsky Declaration
-\*---------------------------------------------------------------------------*/
-
-class Smagorinsky
-:
-    public GenEddyVisc
-{
-    // Private data
-
-        dimensionedScalar ck_;
-
-
-    // Private Member Functions
-
-        //- Update sub-grid scale fields
-        void updateSubGridScaleFields(const volTensorField& gradU);
-
-        // Disallow default bitwise copy construct and assignment
-        Smagorinsky(const Smagorinsky&);
-        Smagorinsky& operator=(const Smagorinsky&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("Smagorinsky");
-
-    // Constructors
-
-        //- Construct from components
-        Smagorinsky
-        (
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const fluidThermo& thermoPhysicalModel,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~Smagorinsky()
-    {}
-
-
-    // Member Functions
-
-        //- Return SGS kinetic energy
-        //  calculated from the given velocity gradient
-        tmp<volScalarField> k(const tmp<volTensorField>& gradU) const
-        {
-            volSymmTensorField D(symm(gradU));
-
-            volScalarField a(ce_/delta());
-            volScalarField b((2.0/3.0)*tr(D));
-            volScalarField c(2*ck_*delta()*(dev(D) && D));
-
-            return sqr((-b + sqrt(sqr(b) + 4*a*c))/(2*a));
-        }
-
-        //- Return SGS kinetic energy
-        virtual tmp<volScalarField> k() const
-        {
-            return k(fvc::grad(U()));
-        }
-
-
-        //- Correct Eddy-Viscosity and related properties
-        virtual void correct(const tmp<volTensorField>& gradU);
-
-        //- Read LESProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/LES/SpalartAllmaras/SpalartAllmaras.C b/src/turbulenceModels/compressible/LES/SpalartAllmaras/SpalartAllmaras.C
deleted file mode 100644
index ab6718a0cc4..00000000000
--- a/src/turbulenceModels/compressible/LES/SpalartAllmaras/SpalartAllmaras.C
+++ /dev/null
@@ -1,445 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "SpalartAllmaras.H"
-#include "addToRunTimeSelectionTable.H"
-#include "wallDist.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace LESModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(SpalartAllmaras, 0);
-addToRunTimeSelectionTable(LESModel, SpalartAllmaras, dictionary);
-
-
-// * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * * //
-
-void SpalartAllmaras::updateSubGridScaleFields()
-{
-    muSgs_.internalField() = rho()*fv1()*nuTilda_.internalField();
-    muSgs_.correctBoundaryConditions();
-
-    alphaSgs_ = muSgs_/Prt_;
-    alphaSgs_.correctBoundaryConditions();
-}
-
-
-tmp<volScalarField> SpalartAllmaras::fv1() const
-{
-    volScalarField chi3(pow3(rho()*nuTilda_/mu()));
-    return chi3/(chi3 + pow3(Cv1_));
-}
-
-
-tmp<volScalarField> SpalartAllmaras::fv2() const
-{
-    if (ashfordCorrection_)
-    {
-        return 1.0/pow3(scalar(1) + rho()*nuTilda_/(mu()*Cv2_));
-    }
-    else
-    {
-        const volScalarField chi("chi", rho()*nuTilda_/mu());
-        return 1.0 - chi/(1.0 + chi*fv1());
-    }
-}
-
-
-tmp<volScalarField> SpalartAllmaras::fv3() const
-{
-    if (ashfordCorrection_)
-    {
-        volScalarField chi(rho()*nuTilda_/mu());
-        volScalarField chiByCv2((1/Cv2_)*chi);
-
-        return
-            (scalar(1) + chi*fv1())
-           *(1/Cv2_)
-           *(3*(scalar(1) + chiByCv2) + sqr(chiByCv2))
-           /pow3(scalar(1) + chiByCv2);
-    }
-    else
-    {
-        return tmp<volScalarField>
-        (
-            new volScalarField
-            (
-                IOobject
-                (
-                    "fv3",
-                    mesh_.time().timeName(),
-                    mesh_,
-                    IOobject::NO_READ,
-                    IOobject::NO_WRITE
-                ),
-                mesh_,
-                dimensionedScalar("fv3", dimless, 1),
-                zeroGradientFvPatchScalarField::typeName
-            )
-        );
-    }
-}
-
-
-tmp<volScalarField> SpalartAllmaras::fw
-(
-    const volScalarField& Stilda,
-    const volScalarField& dTilda
-) const
-{
-    volScalarField r
-    (
-        min
-        (
-            nuTilda_
-           /(
-               max
-               (
-                   Stilda,
-                   dimensionedScalar("SMALL", Stilda.dimensions(), SMALL)
-               )
-              *sqr(kappa_*dTilda)
-            ),
-            scalar(10.0)
-        )
-    );
-    r.boundaryField() == 0.0;
-
-    volScalarField g(r + Cw2_*(pow6(r) - r));
-
-    return g*pow((1.0 + pow6(Cw3_))/(pow6(g) + pow6(Cw3_)), 1.0/6.0);
-}
-
-
-tmp<volScalarField> SpalartAllmaras::dTilda() const
-{
-    tmp<volScalarField> tdTilda(CDES_*delta());
-    min(tdTilda().dimensionedInternalField(), tdTilda(), y_);
-    return tdTilda;
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-SpalartAllmaras::SpalartAllmaras
-(
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermoPhysicalModel,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    DESModel(modelName, rho, U, phi, thermoPhysicalModel, turbulenceModelName),
-
-    sigmaNut_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmaNut",
-            coeffDict_,
-            0.66666
-        )
-    ),
-    Prt_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Prt",
-            coeffDict_,
-            1.0
-        )
-    ),
-
-    Cb1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cb1",
-            coeffDict_,
-            0.1355
-        )
-    ),
-    Cb2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cb2",
-            coeffDict_,
-            0.622
-        )
-    ),
-    Cv1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cv1",
-            coeffDict_,
-            7.1
-        )
-    ),
-    Cv2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cv2",
-            coeffDict_,
-            5.0
-        )
-    ),
-    CDES_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "CDES",
-            coeffDict_,
-            0.65
-        )
-    ),
-    ck_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "ck",
-            coeffDict_,
-            0.07
-        )
-    ),
-    kappa_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "kappa",
-            *this,
-            0.41
-        )
-    ),
-    Cw1_(Cb1_/sqr(kappa_) + (1.0 + Cb2_)/sigmaNut_),
-    Cw2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cw2",
-            coeffDict_,
-            0.3
-        )
-    ),
-    Cw3_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cw3",
-            coeffDict_,
-            2.0
-        )
-    ),
-
-    ashfordCorrection_(coeffDict_.lookupOrDefault("ashfordCorrection", true)),
-
-    y_(wallDist::New(mesh_).y()),
-
-    nuTilda_
-    (
-        IOobject
-        (
-            "nuTilda",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-
-    muSgs_
-    (
-        IOobject
-        (
-            "muSgs",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-
-    alphaSgs_
-    (
-        IOobject
-        (
-            "alphaSgs",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    )
-{
-    updateSubGridScaleFields();
-
-    printCoeffs();
-
-    if (ashfordCorrection_)
-    {
-        Info<< "    Employing Ashford correction" << endl;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volSymmTensorField> SpalartAllmaras::B() const
-{
-    return ((2.0/3.0)*I)*k() - (muSgs_/rho())*dev(twoSymm(fvc::grad(U())));
-}
-
-
-tmp<volSymmTensorField> SpalartAllmaras::devRhoBeff() const
-{
-    return -muEff()*dev(twoSymm(fvc::grad(U())));
-}
-
-
-tmp<volScalarField> SpalartAllmaras::epsilon() const
-{
-    return 2*muEff()/rho()*magSqr(symm(fvc::grad(U())));
-}
-
-
-tmp<fvVectorMatrix> SpalartAllmaras::divDevRhoBeff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(muEff(), U) - fvc::div(muEff()*dev2(T(fvc::grad(U))))
-    );
-}
-
-
-void SpalartAllmaras::correct(const tmp<volTensorField>& tgradU)
-{
-    const volTensorField& gradU = tgradU();
-    LESModel::correct(gradU);
-
-    const volScalarField dTilda(this->dTilda());
-    volScalarField Stilda
-    (
-        fv3()*::sqrt(2.0)*mag(skew(gradU)) + fv2()*nuTilda_/sqr(kappa_*dTilda)
-    );
-
-    tmp<fvScalarMatrix> nuTildaEqn
-    (
-        fvm::ddt(rho(), nuTilda_)
-      + fvm::div(phi(), nuTilda_)
-      - fvm::laplacian
-        (
-            (nuTilda_*rho() + mu())/sigmaNut_,
-            nuTilda_,
-            "laplacian(DnuTildaEff,nuTilda)"
-        )
-      - rho()*Cb2_/sigmaNut_*magSqr(fvc::grad(nuTilda_))
-     ==
-        rho()*Cb1_*Stilda*nuTilda_
-      - fvm::Sp(rho()*Cw1_*fw(Stilda, dTilda)*nuTilda_/sqr(dTilda), nuTilda_)
-    );
-
-    nuTildaEqn().relax();
-    nuTildaEqn().solve();
-
-    bound(nuTilda_, dimensionedScalar("zero", nuTilda_.dimensions(), 0.0));
-    nuTilda_.correctBoundaryConditions();
-
-    updateSubGridScaleFields();
-}
-
-
-bool SpalartAllmaras::read()
-{
-    if (LESModel::read())
-    {
-        sigmaNut_.readIfPresent(coeffDict());
-        Prt_.readIfPresent(coeffDict());
-
-        Cb1_.readIfPresent(coeffDict());
-        Cb2_.readIfPresent(coeffDict());
-        Cv1_.readIfPresent(coeffDict());
-        Cv2_.readIfPresent(coeffDict());
-        CDES_.readIfPresent(coeffDict());
-        ck_.readIfPresent(coeffDict());
-        kappa_.readIfPresent(*this);
-        Cw1_ = Cb1_/sqr(kappa_) + (1.0 + Cb2_)/sigmaNut_;
-        Cw2_.readIfPresent(coeffDict());
-        Cw3_.readIfPresent(coeffDict());
-
-        ashfordCorrection_.readIfPresent("ashfordCorrection", coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-tmp<volScalarField> SpalartAllmaras::LESRegion() const
-{
-    tmp<volScalarField> tLESRegion
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "DES::LESRegion",
-                mesh_.time().timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            neg(dTilda() - y_)
-        )
-    );
-
-    return tLESRegion;
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/LES/SpalartAllmaras/SpalartAllmaras.H b/src/turbulenceModels/compressible/LES/SpalartAllmaras/SpalartAllmaras.H
deleted file mode 100644
index 133cd6d1734..00000000000
--- a/src/turbulenceModels/compressible/LES/SpalartAllmaras/SpalartAllmaras.H
+++ /dev/null
@@ -1,214 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::LESModels::SpalartAllmaras
-
-Group
-    grpCmpDESTurbulence
-
-Description
-    SpalartAllmaras for compressible flows
-
-    Extended according to
-    \verbatim
-        "An Unstructured Grid Generation and Adaptive Solution Technique
-        for High Reynolds Number Compressible Flows"
-        G.A. Ashford,
-        Ph.D. thesis, University of Michigan, 1996.
-    \endverbatim
-    by using the optional flag \c ashfordCorrection
-
-SourceFiles
-    SpalartAllmaras.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleSpalartAllmaras_H
-#define compressibleSpalartAllmaras_H
-
-#include "DESModel.H"
-#include "volFields.H"
-#include "wallDist.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace LESModels
-{
-
-/*---------------------------------------------------------------------------*\
-                       Class SpalartAllmaras Declaration
-\*---------------------------------------------------------------------------*/
-
-class SpalartAllmaras
-:
-    public DESModel
-{
-    // Private data
-
-        // Model coefficients
-
-            dimensionedScalar sigmaNut_;
-            dimensionedScalar Prt_;
-
-            dimensionedScalar Cb1_;
-            dimensionedScalar Cb2_;
-            dimensionedScalar Cv1_;
-            dimensionedScalar Cv2_;
-            dimensionedScalar CDES_;
-            dimensionedScalar ck_;
-            dimensionedScalar kappa_;
-            dimensionedScalar Cw1_;
-            dimensionedScalar Cw2_;
-            dimensionedScalar Cw3_;
-
-
-        //- Optional flag to activate the Ashford correction
-        Switch ashfordCorrection_;
-
-
-        // Fields
-
-            //- Wall distance
-            //  Note: different to wall distance in parent RASModel
-            //  which is for near-wall cells only
-            const volScalarField& y_;
-
-            volScalarField nuTilda_;
-            volScalarField muSgs_;
-            volScalarField alphaSgs_;
-
-
-    // Private Member Functions
-
-        //- Update sub-grid scale fields
-        void updateSubGridScaleFields();
-
-        tmp<volScalarField> fv1() const;
-        tmp<volScalarField> fv2() const;
-        tmp<volScalarField> fv3() const;
-
-        tmp<volScalarField> fw
-        (
-            const volScalarField& Stilda,
-            const volScalarField& dTilda
-        ) const;
-
-        //- Length scale
-        tmp<volScalarField> dTilda() const;
-
-        // Disallow default bitwise copy construct and assignment
-        SpalartAllmaras(const SpalartAllmaras&);
-        SpalartAllmaras& operator=(const SpalartAllmaras&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("SpalartAllmaras");
-
-
-    // Constructors
-
-        //- Constructor from components
-        SpalartAllmaras
-        (
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const fluidThermo& thermoPhysicalModel,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~SpalartAllmaras()
-    {}
-
-
-    // Member Functions
-
-        tmp<volScalarField> nuTilda() const
-        {
-            return nuTilda_;
-        }
-
-        //- Return SGS kinetic energy
-        virtual tmp<volScalarField> k() const
-        {
-            return sqr(muSgs()/rho()/ck_/dTilda());
-        }
-
-        //- Return sub-grid disipation rate
-        virtual tmp<volScalarField> epsilon() const;
-
-        //- Return SGS viscosity
-        virtual tmp<volScalarField> muSgs() const
-        {
-            return muSgs_;
-        }
-
-        //- Return SGS thermal diffusivity
-        virtual tmp<volScalarField> alphaSgs() const
-        {
-            return alphaSgs_;
-        }
-
-        //- Return the sub-grid stress tensor.
-        virtual tmp<volSymmTensorField> B() const;
-
-        //- Return the deviatoric part of the effective sub-grid
-        //  turbulence stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devRhoBeff() const;
-
-        //- Returns div(rho*dev(B)).
-        // This is the additional term due to the filtering of the NSE.
-        virtual tmp<fvVectorMatrix> divDevRhoBeff(volVectorField& U) const;
-
-        //- Correct nuTilda and related properties
-        virtual void correct(const tmp<volTensorField>& gradU);
-
-        //- Read LESProperties dictionary
-        virtual bool read();
-
-        //- Return the LES field indicator
-        virtual tmp<volScalarField> LESRegion() const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/LES/compressibleLESdelta/compressibleLESdelta.C b/src/turbulenceModels/compressible/LES/compressibleLESdelta/compressibleLESdelta.C
deleted file mode 100644
index 4b8fbbc44ad..00000000000
--- a/src/turbulenceModels/compressible/LES/compressibleLESdelta/compressibleLESdelta.C
+++ /dev/null
@@ -1,66 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "compressibleLESdelta.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineRunTimeSelectionTable(LESdelta, dictionary);
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-LESdelta::LESdelta(const word& name, const fvMesh& mesh)
-:
-    foamLESdelta(name, mesh)
-{}
-
-
-// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
-
-Foam::autoPtr<foamLESdelta> LESdelta::New
-(
-    const word& name,
-    const fvMesh& mesh,
-    const dictionary& dict
-)
-{
-    return foamLESdelta::New(name, mesh, dict, *dictionaryConstructorTablePtr_);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/LES/compressibleLESdelta/compressibleLESdelta.H b/src/turbulenceModels/compressible/LES/compressibleLESdelta/compressibleLESdelta.H
deleted file mode 100644
index 56d1437cc2d..00000000000
--- a/src/turbulenceModels/compressible/LES/compressibleLESdelta/compressibleLESdelta.H
+++ /dev/null
@@ -1,109 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::LESdelta
-
-Description
-    Abstract base class for compressible LES deltas
-
-SourceFiles
-    compressibleLESdelta.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleLESdelta_H
-#define compressibleLESdelta_H
-
-#include "LESdelta.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-// To avoid macro problems typedef scoped class
-typedef Foam::LESdelta foamLESdelta;
-
-namespace compressible
-{
-
-/*---------------------------------------------------------------------------*\
-                          Class LESdelta Declaration
-\*---------------------------------------------------------------------------*/
-
-class LESdelta
-:
-    public foamLESdelta
-{
-
-public:
-
-    // Declare run-time constructor selection table
-
-        declareRunTimeSelectionTable
-        (
-            autoPtr,
-            foamLESdelta,
-            dictionary,
-            (
-                const word& name,
-                const fvMesh& mesh,
-                const dictionary& LESdeltaDict
-            ),
-            (name, mesh, LESdeltaDict)
-        );
-
-    // Constructors
-
-        //- Construct from name and mesh
-        LESdelta(const word& name, const fvMesh& mesh);
-
-
-    // Selectors
-
-        //- Return a reference to the selected LES delta
-        static autoPtr<foamLESdelta> New
-        (
-            const word& name,
-            const fvMesh& mesh,
-            const dictionary& dict
-        );
-
-
-    //- Destructor
-    virtual ~LESdelta()
-    {}
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/LES/homogeneousDynOneEqEddy/homogeneousDynOneEqEddy.C b/src/turbulenceModels/compressible/LES/homogeneousDynOneEqEddy/homogeneousDynOneEqEddy.C
deleted file mode 100644
index 7b146b89a10..00000000000
--- a/src/turbulenceModels/compressible/LES/homogeneousDynOneEqEddy/homogeneousDynOneEqEddy.C
+++ /dev/null
@@ -1,191 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "homogeneousDynOneEqEddy.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace LESModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(homogeneousDynOneEqEddy, 0);
-addToRunTimeSelectionTable(LESModel, homogeneousDynOneEqEddy, dictionary);
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void homogeneousDynOneEqEddy::updateSubGridScaleFields
-(
-    const volSymmTensorField& D
-)
-{
-    muSgs_ = ck_(D)*rho()*sqrt(k_)*delta();
-    muSgs_.correctBoundaryConditions();
-
-    alphaSgs_ = muSgs_/Prt_;
-    alphaSgs_.correctBoundaryConditions();
-}
-
-
-dimensionedScalar homogeneousDynOneEqEddy::ck_
-(
-    const volSymmTensorField& D
-) const
-{
-    volScalarField KK(0.5*(filter_(magSqr(U())) - magSqr(filter_(U()))));
-
-    volSymmTensorField LL(dev(filter_(sqr(U())) - (sqr(filter_(U())))));
-
-    volSymmTensorField MM
-    (
-        delta()*(filter_(sqrt(k_)*D) - 2*sqrt(KK + filter_(k_))*filter_(D))
-    );
-
-    return average(LL && MM)/average(magSqr(MM));
-}
-
-
-dimensionedScalar homogeneousDynOneEqEddy::ce_
-(
-    const volSymmTensorField& D
-) const
-{
-    volScalarField KK(0.5*(filter_(magSqr(U())) - magSqr(filter_(U()))));
-
-    volScalarField mm
-    (
-        pow(KK + filter_(k_), 1.5)/(2*delta()) - filter_(pow(k_, 1.5))/delta()
-    );
-
-    volScalarField ee
-    (
-        2*delta()*ck_(D)
-       *(
-            filter_(sqrt(k_)*magSqr(D))
-          - 2*sqrt(KK + filter_(k_))*magSqr(filter_(D))
-        )
-    );
-
-    return average(ee*mm)/average(mm*mm);
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-homogeneousDynOneEqEddy::homogeneousDynOneEqEddy
-(
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermoPhysicalModel,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    LESModel(modelName, rho, U, phi, thermoPhysicalModel, turbulenceModelName),
-    GenEddyVisc(rho, U, phi, thermoPhysicalModel),
-
-    k_
-    (
-        IOobject
-        (
-            "k",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-
-    filterPtr_(LESfilter::New(U.mesh(), coeffDict())),
-    filter_(filterPtr_())
-{
-    updateSubGridScaleFields(dev(symm(fvc::grad(U))));
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void homogeneousDynOneEqEddy::correct(const tmp<volTensorField>& tgradU)
-{
-    const volTensorField& gradU = tgradU();
-
-    GenEddyVisc::correct(gradU);
-
-    volSymmTensorField D(dev(symm(gradU)));
-    volScalarField divU(fvc::div(phi()/fvc::interpolate(rho())));
-    volScalarField G(GName(), 2*muSgs_*(gradU && D));
-
-    tmp<fvScalarMatrix> kEqn
-    (
-        fvm::ddt(rho(), k_)
-      + fvm::div(phi(), k_)
-      - fvm::laplacian(DkEff(), k_)
-     ==
-        G
-      - fvm::SuSp(2.0/3.0*rho()*divU, k_)
-      - fvm::Sp(ce_(D)*rho()*sqrt(k_)/delta(), k_)
-    );
-
-    kEqn().relax();
-    kEqn().solve();
-
-    bound(k_, kMin_);
-
-    updateSubGridScaleFields(D);
-}
-
-
-bool homogeneousDynOneEqEddy::read()
-{
-    if (GenEddyVisc::read())
-    {
-        filter_.read(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/LES/homogeneousDynOneEqEddy/homogeneousDynOneEqEddy.H b/src/turbulenceModels/compressible/LES/homogeneousDynOneEqEddy/homogeneousDynOneEqEddy.H
deleted file mode 100644
index fca371f0d39..00000000000
--- a/src/turbulenceModels/compressible/LES/homogeneousDynOneEqEddy/homogeneousDynOneEqEddy.H
+++ /dev/null
@@ -1,161 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::LESModels::homogeneousDynOneEqEddy
-
-Group
-    grpCmpLESTurbulence
-
-Description
-    One Equation Eddy Viscosity Model for compressible flows.
-
-    Eddy viscosity SGS model using a modeled balance equation to simulate
-    the behaviour of k.
-    Thus
-    \verbatim
-        d/dt(k) + div(U*k) - div(nuSgs*grad(k))
-        =
-        -rho*B*L - ce*rho*k^3/2/delta
-
-    and
-
-        B = 2/3*k*I - 2*nuSgs*dev(D)
-
-    where
-
-        D = symm(grad(U));
-        nuSgs = ck*sqrt(k)*delta
-    \endverbatim
-
-SourceFiles
-    homogeneousDynOneEqEddy.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleHomogeneousDynOneEqEddy_H
-#define compressibleHomogeneousDynOneEqEddy_H
-
-#include "GenEddyVisc.H"
-#include "LESfilter.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace LESModels
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class homogeneousDynOneEqEddy Declaration
-\*---------------------------------------------------------------------------*/
-
-class homogeneousDynOneEqEddy
-:
-    public GenEddyVisc
-{
-    // Private data
-
-        volScalarField k_;
-
-        autoPtr<LESfilter> filterPtr_;
-        LESfilter& filter_;
-
-
-    // Private Member Functions
-
-        //- Update sub-grid scale fields
-        void updateSubGridScaleFields(const volSymmTensorField& D);
-
-        //- Calculate ck, ce by filtering the velocity field U.
-        dimensionedScalar ck_(const volSymmTensorField& D) const;
-        dimensionedScalar ce_(const volSymmTensorField& D) const;
-
-        // Disallow default bitwise copy construct and assignment
-        homogeneousDynOneEqEddy(const homogeneousDynOneEqEddy&);
-        homogeneousDynOneEqEddy& operator=(const homogeneousDynOneEqEddy&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("homogeneousDynOneEqEddy");
-
-
-    // Constructors
-
-        //- Constructor from components
-        homogeneousDynOneEqEddy
-        (
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const fluidThermo& thermoPhysicalModel,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~homogeneousDynOneEqEddy()
-    {}
-
-
-    // Member Functions
-
-        //- Return SGS kinetic energy
-        virtual tmp<volScalarField> k() const
-        {
-            return k_;
-        }
-
-        //- Return the effective diffusivity for k
-        tmp<volScalarField> DkEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DkEff", muSgs_ + mu())
-            );
-        }
-
-        //- Correct Eddy-Viscosity and related properties
-        virtual void correct(const tmp<volTensorField>& gradU);
-
-        //- Read LESProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/LES/lowReOneEqEddy/lowReOneEqEddy.C b/src/turbulenceModels/compressible/LES/lowReOneEqEddy/lowReOneEqEddy.C
deleted file mode 100644
index 704daaa4898..00000000000
--- a/src/turbulenceModels/compressible/LES/lowReOneEqEddy/lowReOneEqEddy.C
+++ /dev/null
@@ -1,165 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "lowReOneEqEddy.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace LESModels
-{
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(lowReOneEqEddy, 0);
-addToRunTimeSelectionTable(LESModel, lowReOneEqEddy, dictionary);
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void lowReOneEqEddy::updateSubGridScaleFields()
-{
-    // High Re eddy viscosity
-    muSgs_ = ck_*rho()*sqrt(k_)*delta();
-
-    // low Re no corrected eddy viscosity
-    muSgs_ -= (mu()/beta_)*(scalar(1) - exp(-beta_*muSgs_/mu()));
-    muSgs_.correctBoundaryConditions();
-
-    alphaSgs_ = muSgs_/Prt_;
-    alphaSgs_.correctBoundaryConditions();
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-lowReOneEqEddy::lowReOneEqEddy
-(
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermoPhysicalModel,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    LESModel(modelName, rho, U, phi, thermoPhysicalModel, turbulenceModelName),
-    GenEddyVisc(rho, U, phi, thermoPhysicalModel),
-
-    k_
-    (
-        IOobject
-        (
-            "k",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-
-    ck_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "ck",
-            coeffDict_,
-            0.07
-        )
-    ),
-    beta_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "beta",
-            coeffDict_,
-            0.01
-        )
-    )
-{
-    updateSubGridScaleFields();
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void lowReOneEqEddy::correct(const tmp<volTensorField>& tgradU)
-{
-    const volTensorField& gradU = tgradU();
-
-    GenEddyVisc::correct(gradU);
-
-    volScalarField divU(fvc::div(phi()/fvc::interpolate(rho())));
-    volScalarField G(GName(), 2*muSgs_*(gradU && dev(symm(gradU))));
-
-    tmp<fvScalarMatrix> kEqn
-    (
-        fvm::ddt(rho(), k_)
-      + fvm::div(phi(), k_)
-      - fvm::laplacian(DkEff(), k_)
-     ==
-        G
-      - fvm::SuSp(2.0/3.0*rho()*divU, k_)
-      - fvm::Sp(ce_*rho()*sqrt(k_)/delta(), k_)
-    );
-
-    kEqn().relax();
-    kEqn().solve();
-
-    bound(k_, kMin_);
-
-    updateSubGridScaleFields();
-}
-
-
-bool lowReOneEqEddy::read()
-{
-    if (GenEddyVisc::read())
-    {
-        ck_.readIfPresent(coeffDict());
-        beta_.readIfPresent(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/LES/lowReOneEqEddy/lowReOneEqEddy.H b/src/turbulenceModels/compressible/LES/lowReOneEqEddy/lowReOneEqEddy.H
deleted file mode 100644
index e3e836d3a58..00000000000
--- a/src/turbulenceModels/compressible/LES/lowReOneEqEddy/lowReOneEqEddy.H
+++ /dev/null
@@ -1,152 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::LESModels::lowReOneEqEddy
-
-Group
-    grpCmpLESTurbulence
-
-Description
-    One Equation Eddy Viscosity Model for compressible flow
-
-    \verbatim
-        d/dt(rho*k) + div(rho*U*k) - div(muEff*grad(k))
-        =
-        -rho*B*L - ce*rho*k^3/2/delta
-
-    and
-
-        B = 2/3*k*I - 2*nuSgs*dev(D)
-
-    where
-
-        nuSgsHiRe = ck*sqrt(k)*delta
-        nuSgs = (nu/beta)*(1 - exp(-beta*nuSgsHiRe/nu));
-    \endverbatim
-
-SourceFiles
-    lowReOneEqEddy.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleLowReOneEqEddy_H
-#define compressibleLowReOneEqEddy_H
-
-#include "GenEddyVisc.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace LESModels
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class lowReOneEqEddy Declaration
-\*---------------------------------------------------------------------------*/
-
-class lowReOneEqEddy
-:
-    public GenEddyVisc
-{
-    // Private data
-
-        volScalarField k_;
-
-        dimensionedScalar ck_;
-        dimensionedScalar beta_;
-
-    // Private Member Functions
-
-        //- Update sub-grid scale fields
-        void updateSubGridScaleFields();
-
-        // Disallow default bitwise copy construct and assignment
-        lowReOneEqEddy(const lowReOneEqEddy&);
-        lowReOneEqEddy& operator=(const lowReOneEqEddy&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("lowReOneEqEddy");
-
-
-    // Constructors
-
-        //- Constructor from components
-        lowReOneEqEddy
-        (
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const fluidThermo& thermoPhysicalModel,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~lowReOneEqEddy()
-    {}
-
-
-    // Member Functions
-
-        //- Return SGS kinetic energy
-        virtual tmp<volScalarField> k() const
-        {
-            return k_;
-        }
-
-        //- Return the effective diffusivity for k
-        tmp<volScalarField> DkEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DkEff", muSgs_ + mu())
-            );
-        }
-
-        //- Correct Eddy-Viscosity and related properties
-        virtual void correct(const tmp<volTensorField>& gradU);
-
-        //- Read LESProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/LES/oneEqEddy/oneEqEddy.C b/src/turbulenceModels/compressible/LES/oneEqEddy/oneEqEddy.C
deleted file mode 100644
index 537e98ecf76..00000000000
--- a/src/turbulenceModels/compressible/LES/oneEqEddy/oneEqEddy.C
+++ /dev/null
@@ -1,151 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "oneEqEddy.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace LESModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(oneEqEddy, 0);
-addToRunTimeSelectionTable(LESModel, oneEqEddy, dictionary);
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void oneEqEddy::updateSubGridScaleFields()
-{
-    muSgs_ = ck_*rho()*sqrt(k_)*delta();
-    muSgs_.correctBoundaryConditions();
-
-    alphaSgs_ = muSgs_/Prt_;
-    alphaSgs_.correctBoundaryConditions();
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-oneEqEddy::oneEqEddy
-(
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermoPhysicalModel,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    LESModel(modelName, rho, U, phi, thermoPhysicalModel, turbulenceModelName),
-    GenEddyVisc(rho, U, phi, thermoPhysicalModel),
-
-    k_
-    (
-        IOobject
-        (
-            "k",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-
-    ck_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "ck",
-            coeffDict_,
-            0.094
-        )
-    )
-{
-    updateSubGridScaleFields();
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void oneEqEddy::correct(const tmp<volTensorField>& tgradU)
-{
-    const volTensorField& gradU = tgradU();
-
-    GenEddyVisc::correct(gradU);
-
-    volScalarField divU(fvc::div(phi()/fvc::interpolate(rho())));
-    volScalarField G(GName(), 2*muSgs_*(gradU && dev(symm(gradU))));
-
-    tmp<fvScalarMatrix> kEqn
-    (
-        fvm::ddt(rho(), k_)
-      + fvm::div(phi(), k_)
-      - fvm::laplacian(DkEff(), k_)
-     ==
-        G
-      - fvm::SuSp(2.0/3.0*rho()*divU, k_)
-      - fvm::Sp(ce_*rho()*sqrt(k_)/delta(), k_)
-    );
-
-    kEqn().relax();
-    kEqn().solve();
-
-    bound(k_, kMin_);
-
-    updateSubGridScaleFields();
-}
-
-
-bool oneEqEddy::read()
-{
-    if (GenEddyVisc::read())
-    {
-        ck_.readIfPresent(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/LES/oneEqEddy/oneEqEddy.H b/src/turbulenceModels/compressible/LES/oneEqEddy/oneEqEddy.H
deleted file mode 100644
index 7e0896935ca..00000000000
--- a/src/turbulenceModels/compressible/LES/oneEqEddy/oneEqEddy.H
+++ /dev/null
@@ -1,156 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::LESModels::oneEqEddy
-
-Group
-    grpCmpLESTurbulence
-
-Description
-    One Equation Eddy Viscosity Model for compressible flows
-
-    Eddy viscosity SGS model using a modeled balance equation to simulate the
-    behaviour of k, hence,
-    \verbatim
-        d/dt(rho*k) + div(rho*U*k) - div(muEff*grad(k))
-        =
-        -rho*D:B - ce*rho*k^(3/2)/delta
-
-    and
-
-        B = 2/3*k*I - 2*nuSgs*dev(D)
-
-    where
-
-        D = symm(grad(U));
-        nuSgs = ck*sqrt(k)*delta
-        muSgs = rho*nuSgs
-        muEff = muSgs + mu
-    \endverbatim
-
-SourceFiles
-    oneEqEddy.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleOneEqEddy_H
-#define compressibleOneEqEddy_H
-
-#include "GenEddyVisc.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace LESModels
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class oneEqEddy Declaration
-\*---------------------------------------------------------------------------*/
-
-class oneEqEddy
-:
-    public GenEddyVisc
-{
-    // Private data
-
-        volScalarField k_;
-
-        dimensionedScalar ck_;
-
-
-    // Private Member Functions
-
-        //- Update sub-grid scale fields
-        void updateSubGridScaleFields();
-
-        // Disallow default bitwise copy construct and assignment
-        oneEqEddy(const oneEqEddy&);
-        oneEqEddy& operator=(const oneEqEddy&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("oneEqEddy");
-
-
-    // Constructors
-
-        //- Constructor from components
-        oneEqEddy
-        (
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const fluidThermo& thermoPhysicalModel,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~oneEqEddy()
-    {}
-
-
-    // Member Functions
-
-        //- Return SGS kinetic energy
-        virtual tmp<volScalarField> k() const
-        {
-            return k_;
-        }
-
-        //- Return the effective diffusivity for k
-        tmp<volScalarField> DkEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DkEff", muSgs_ + mu())
-            );
-        }
-
-        //- Correct Eddy-Viscosity and related properties
-        virtual void correct(const tmp<volTensorField>& gradU);
-
-        //- Read LESProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/LES/vanDriestDelta/vanDriestDelta.C b/src/turbulenceModels/compressible/LES/vanDriestDelta/vanDriestDelta.C
deleted file mode 100644
index 8c9137846d0..00000000000
--- a/src/turbulenceModels/compressible/LES/vanDriestDelta/vanDriestDelta.C
+++ /dev/null
@@ -1,161 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "vanDriestDelta.H"
-#include "LESModel.H"
-#include "wallFvPatch.H"
-#include "wallDistData.H"
-#include "wallPointYPlus.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace LESModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(vanDriestDelta, 0);
-addToRunTimeSelectionTable(LESdelta, vanDriestDelta, dictionary);
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void vanDriestDelta::calcDelta()
-{
-    const LESModel& lesModel = mesh_.lookupObject<LESModel>("LESProperties");
-
-    const volVectorField& U = lesModel.U();
-    const volScalarField& rho = lesModel.rho();
-    const volScalarField& mu = lesModel.mu();
-    tmp<volScalarField> muSgs = lesModel.muSgs();
-
-    volScalarField ystar
-    (
-        IOobject
-        (
-            "ystar",
-            mesh_.time().constant(),
-            mesh_
-        ),
-        mesh_,
-        dimensionedScalar("ystar", dimLength, GREAT)
-    );
-
-    const fvPatchList& patches = mesh_.boundary();
-    forAll(patches, patchi)
-    {
-        if (isA<wallFvPatch>(patches[patchi]))
-        {
-            const fvPatchVectorField& Uw = U.boundaryField()[patchi];
-            const scalarField& rhow = rho.boundaryField()[patchi];
-            const scalarField& muw = mu.boundaryField()[patchi];
-            const scalarField& muSgsw = muSgs().boundaryField()[patchi];
-
-            ystar.boundaryField()[patchi] =
-                muw/(rhow*sqrt((muw + muSgsw)*mag(Uw.snGrad())/rhow + VSMALL));
-        }
-    }
-
-    scalar cutOff = wallPointYPlus::yPlusCutOff;
-    wallPointYPlus::yPlusCutOff = 500;
-    wallDistData<wallPointYPlus> y(mesh_, ystar);
-    wallPointYPlus::yPlusCutOff = cutOff;
-
-    delta_ = min
-    (
-        static_cast<const volScalarField&>(geometricDelta_()),
-        (kappa_/Cdelta_)*((scalar(1) + SMALL) - exp(-y/ystar/Aplus_))*y
-    );
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-vanDriestDelta::vanDriestDelta
-(
-    const word& name,
-    const fvMesh& mesh,
-    const dictionary& dd
-)
-:
-    LESdelta(name, mesh),
-    geometricDelta_
-    (
-        LESdelta::New("geometricDelta", mesh, dd.subDict(type() + "Coeffs"))
-    ),
-    kappa_(dd.lookupOrDefault<scalar>("kappa", 0.41)),
-    Aplus_
-    (
-        dd.subDict(type() + "Coeffs").lookupOrDefault<scalar>("Aplus", 26.0)
-    ),
-    Cdelta_
-    (
-        dd.subDict(type() + "Coeffs").lookupOrDefault<scalar>("Cdelta", 0.158)
-    ),
-    calcInterval_
-    (
-        dd.subDict(type() + "Coeffs").lookupOrDefault<label>("calcInterval", 1)
-    )
-{
-    delta_ = geometricDelta_();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void vanDriestDelta::read(const dictionary& d)
-{
-    const dictionary& dd(d.subDict(type() + "Coeffs"));
-
-    geometricDelta_().read(dd);
-    d.readIfPresent<scalar>("kappa", kappa_);
-    dd.readIfPresent<scalar>("Aplus", Aplus_);
-    dd.readIfPresent<scalar>("Cdelta", Cdelta_);
-    dd.readIfPresent<label>("calcInterval", calcInterval_);
-    calcDelta();
-}
-
-
-void vanDriestDelta::correct()
-{
-    if (mesh().time().timeIndex() % calcInterval_ == 0)
-    {
-        geometricDelta_().correct();
-        calcDelta();
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/LES/vanDriestDelta/vanDriestDelta.H b/src/turbulenceModels/compressible/LES/vanDriestDelta/vanDriestDelta.H
deleted file mode 100644
index 88e26c75540..00000000000
--- a/src/turbulenceModels/compressible/LES/vanDriestDelta/vanDriestDelta.H
+++ /dev/null
@@ -1,113 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::LESModels::vanDriestDelta
-
-Description
-    Simple cube-root of cell volume delta used in compressible LES models.
-
-SourceFiles
-    vanDriestDelta.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef vanDriestDelta_H
-#define vanDriestDelta_H
-
-#include "compressibleLESdelta.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace LESModels
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class vanDriestDelta Declaration
-\*---------------------------------------------------------------------------*/
-
-class vanDriestDelta
-:
-    public LESdelta
-{
-    // Private data
-
-        autoPtr<Foam::LESdelta> geometricDelta_;
-        scalar kappa_;
-        scalar Aplus_;
-        scalar Cdelta_;
-        label calcInterval_;
-
-
-    // Private Member Functions
-
-        //- Disallow default bitwise copy construct and assignment
-        vanDriestDelta(const vanDriestDelta&);
-        void operator=(const vanDriestDelta&);
-
-        // Calculate the delta values
-        void calcDelta();
-
-
-public:
-
-    //- Runtime type information
-    TypeName("vanDriest");
-
-
-    // Constructors
-
-        //- Construct from name, mesh and IOdictionary
-        vanDriestDelta(const word& name, const fvMesh& mesh, const dictionary&);
-
-
-    //- Destructor
-    virtual ~vanDriestDelta()
-    {}
-
-
-    // Member Functions
-
-        //- Read the LESdelta dictionary
-        virtual void read(const dictionary&);
-
-        // Correct values
-        virtual void correct();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/LRR/LRR.C b/src/turbulenceModels/compressible/RAS/LRR/LRR.C
deleted file mode 100644
index e17052df0e0..00000000000
--- a/src/turbulenceModels/compressible/RAS/LRR/LRR.C
+++ /dev/null
@@ -1,483 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "LRR.H"
-#include "addToRunTimeSelectionTable.H"
-#include "wallFvPatch.H"
-
-#include "backwardsCompatibilityWallFunctions.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace RASModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(LRR, 0);
-addToRunTimeSelectionTable(RASModel, LRR, dictionary);
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-LRR::LRR
-(
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermophysicalModel,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
-
-    Cmu_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cmu",
-            coeffDict_,
-            0.09
-        )
-    ),
-    Clrr1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Clrr1",
-            coeffDict_,
-            1.8
-        )
-    ),
-    Clrr2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Clrr2",
-            coeffDict_,
-            0.6
-        )
-    ),
-    C1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C1",
-            coeffDict_,
-            1.44
-        )
-    ),
-    C2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C2",
-            coeffDict_,
-            1.92
-        )
-    ),
-    Cs_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cs",
-            coeffDict_,
-            0.25
-        )
-    ),
-    Ceps_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Ceps",
-            coeffDict_,
-            0.15
-        )
-    ),
-    couplingFactor_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "couplingFactor",
-            coeffDict_,
-            0.0
-        )
-    ),
-    sigmaR_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmaR",
-            coeffDict_,
-            0.81967
-        )
-    ),
-    sigmaEps_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmaEps",
-            coeffDict_,
-            1.3
-        )
-    ),
-    Prt_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Prt",
-            coeffDict_,
-            1.0
-        )
-    ),
-
-    R_
-    (
-        IOobject
-        (
-            "R",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateR("R", mesh_)
-    ),
-    k_
-    (
-        IOobject
-        (
-            "k",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateK("k", mesh_)
-    ),
-    epsilon_
-    (
-        IOobject
-        (
-            "epsilon",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateEpsilon("epsilon", mesh_)
-    ),
-    mut_
-    (
-        IOobject
-        (
-            "mut",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateMut("mut", mesh_)
-    ),
-    alphat_
-    (
-        IOobject
-        (
-            "alphat",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateAlphat("alphat", mesh_)
-    )
-{
-    if (couplingFactor_.value() < 0.0 || couplingFactor_.value() > 1.0)
-    {
-        FatalErrorIn
-        (
-            "LRR::LRR"
-            "( const volScalarField&, const volVectorField&"
-            ", const surfaceScalarField&, fluidThermo&, const word&"
-            ", const word&)"
-        )   << "couplingFactor = " << couplingFactor_
-            << " is not in range 0 - 1" << nl
-            << exit(FatalError);
-    }
-
-    bound(k_, kMin_);
-    bound(epsilon_, epsilonMin_);
-
-    mut_ = Cmu_*rho_*sqr(k_)/epsilon_;
-    mut_.correctBoundaryConditions();
-
-    alphat_ = mut_/Prt_;
-    alphat_.correctBoundaryConditions();
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volSymmTensorField> LRR::devRhoReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            rho_*R_ - mu()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> LRR::divDevRhoReff(volVectorField& U) const
-{
-    if (couplingFactor_.value() > 0.0)
-    {
-        return
-        (
-            fvc::div(rho_*R_ + couplingFactor_*mut_*fvc::grad(U))
-          + fvc::laplacian((1.0 - couplingFactor_)*mut_, U)
-          - fvm::laplacian(muEff(), U)
-          - fvc::div(mu()*dev2(T(fvc::grad(U))))
-        );
-    }
-    else
-    {
-        return
-        (
-            fvc::div(rho_*R_)
-          + fvc::laplacian(mut_, U)
-          - fvm::laplacian(muEff(), U)
-          - fvc::div(mu()*dev2(T(fvc::grad(U))))
-        );
-    }
-}
-
-
-bool LRR::read()
-{
-    if (RASModel::read())
-    {
-        Cmu_.readIfPresent(coeffDict());
-        Clrr1_.readIfPresent(coeffDict());
-        Clrr2_.readIfPresent(coeffDict());
-        C1_.readIfPresent(coeffDict());
-        C2_.readIfPresent(coeffDict());
-        Cs_.readIfPresent(coeffDict());
-        Ceps_.readIfPresent(coeffDict());
-        sigmaR_.readIfPresent(coeffDict());
-        sigmaEps_.readIfPresent(coeffDict());
-        Prt_.readIfPresent(coeffDict());
-        couplingFactor_.readIfPresent(coeffDict());
-
-        if (couplingFactor_.value() < 0.0 || couplingFactor_.value() > 1.0)
-        {
-            FatalErrorIn("LRR::read()")
-                << "couplingFactor = " << couplingFactor_
-                << " is not in range 0 - 1" << nl
-                << exit(FatalError);
-        }
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-void LRR::correct()
-{
-    if (!turbulence_)
-    {
-        // Re-calculate viscosity
-        mut_ = rho_*Cmu_*sqr(k_)/epsilon_;
-        mut_.correctBoundaryConditions();
-
-        // Re-calculate thermal diffusivity
-        alphat_ = mut_/Prt_;
-        alphat_.correctBoundaryConditions();
-
-        return;
-    }
-
-    RASModel::correct();
-
-    volSymmTensorField P(-twoSymm(R_ & fvc::grad(U_)));
-    volScalarField G(GName(), 0.5*mag(tr(P)));
-
-    // Update epsilon and G at the wall
-    epsilon_.boundaryField().updateCoeffs();
-
-    // Dissipation equation
-    tmp<fvScalarMatrix> epsEqn
-    (
-        fvm::ddt(rho_, epsilon_)
-      + fvm::div(phi_, epsilon_)
-    //- fvm::laplacian(Ceps*rho_*(k_/epsilon_)*R_, epsilon_)
-      - fvm::laplacian(DepsilonEff(), epsilon_)
-     ==
-        C1_*rho_*G*epsilon_/k_
-      - fvm::Sp(C2_*rho_*epsilon_/k_, epsilon_)
-    );
-
-    epsEqn().relax();
-
-    epsEqn().boundaryManipulate(epsilon_.boundaryField());
-
-    solve(epsEqn);
-    bound(epsilon_, epsilonMin_);
-
-
-    // Reynolds stress equation
-
-    const fvPatchList& patches = mesh_.boundary();
-
-    forAll(patches, patchi)
-    {
-        const fvPatch& curPatch = patches[patchi];
-
-        if (isA<wallFvPatch>(curPatch))
-        {
-            forAll(curPatch, facei)
-            {
-                label faceCelli = curPatch.faceCells()[facei];
-                P[faceCelli] *= min
-                (
-                    G[faceCelli]/(0.5*mag(tr(P[faceCelli])) + SMALL),
-                    100.0
-                );
-            }
-        }
-    }
-
-
-    tmp<fvSymmTensorMatrix> REqn
-    (
-        fvm::ddt(rho_, R_)
-      + fvm::div(phi_, R_)
-    //- fvm::laplacian(Cs*rho_*(k_/epsilon_)*R_, R_)
-      - fvm::laplacian(DREff(), R_)
-      + fvm::Sp(Clrr1_*rho_*epsilon_/k_, R_)
-     ==
-        rho_*P
-      - (2.0/3.0*(1 - Clrr1_)*I)*rho_*epsilon_
-      - Clrr2_*rho_*dev(P)
-    );
-
-    REqn().relax();
-    solve(REqn);
-
-    R_.max
-    (
-        dimensionedSymmTensor
-        (
-            "zero",
-            R_.dimensions(),
-            symmTensor
-            (
-                kMin_.value(), -GREAT, -GREAT,
-                kMin_.value(), -GREAT,
-                kMin_.value()
-            )
-        )
-    );
-
-    k_ = 0.5*tr(R_);
-    bound(k_, kMin_);
-
-
-    // Re-calculate viscosity
-    mut_ = rho_*Cmu_*sqr(k_)/epsilon_;
-    mut_.correctBoundaryConditions();
-
-    // Re-calculate thermal diffusivity
-    alphat_ = mut_/Prt_;
-    alphat_.correctBoundaryConditions();
-
-
-    // Correct wall shear stresses
-
-    forAll(patches, patchi)
-    {
-        const fvPatch& curPatch = patches[patchi];
-
-        if (isA<wallFvPatch>(curPatch))
-        {
-            symmTensorField& Rw = R_.boundaryField()[patchi];
-
-            const scalarField& rhow = rho_.boundaryField()[patchi];
-            const scalarField& mutw = mut_.boundaryField()[patchi];
-
-            const vectorField snGradU(U_.boundaryField()[patchi].snGrad());
-
-            const vectorField& faceAreas
-                = mesh_.Sf().boundaryField()[patchi];
-
-            const scalarField& magFaceAreas
-                = mesh_.magSf().boundaryField()[patchi];
-
-            forAll(curPatch, facei)
-            {
-                // Calculate near-wall velocity gradient
-                tensor gradUw
-                    = (faceAreas[facei]/magFaceAreas[facei])*snGradU[facei];
-
-                // Calculate near-wall shear-stress tensor
-                tensor tauw = -(mutw[facei]/rhow[facei])*2*dev(symm(gradUw));
-
-                // Reset the shear components of the stress tensor
-                Rw[facei].xy() = tauw.xy();
-                Rw[facei].xz() = tauw.xz();
-                Rw[facei].yz() = tauw.yz();
-            }
-        }
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/LRR/LRR.H b/src/turbulenceModels/compressible/RAS/LRR/LRR.H
deleted file mode 100644
index a80bf4171be..00000000000
--- a/src/turbulenceModels/compressible/RAS/LRR/LRR.H
+++ /dev/null
@@ -1,210 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::RASModels::LRR
-
-Group
-    grpCmpRASTurbulence
-
-Description
-    Launder, Reece and Rodi Reynolds-stress turbulence model for
-    compressible flows.
-
-    The default model coefficients correspond to the following:
-    \verbatim
-        LRRCoeffs
-        {
-            Cmu         0.09;
-            Clrr1       1.8;
-            Clrr2       0.6;
-            C1          1.44;
-            C2          1.92;
-            Cs          0.25;
-            Ceps        0.15;
-            Prt         1.0;        // only for compressible
-            sigmaEps    1.3;
-            sigmaR      0.81967;    // only for compressible
-            couplingFactor  0.0;    // only for incompressible
-        }
-    \endverbatim
-
-SourceFiles
-    LRR.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleLRR_H
-#define compressibleLRR_H
-
-#include "RASModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace RASModels
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class LRR Declaration
-\*---------------------------------------------------------------------------*/
-
-class LRR
-:
-    public RASModel
-{
-
-protected:
-
-    // Protected data
-
-        // Model coefficients
-
-            dimensionedScalar Cmu_;
-
-            dimensionedScalar Clrr1_;
-            dimensionedScalar Clrr2_;
-
-            dimensionedScalar C1_;
-            dimensionedScalar C2_;
-            dimensionedScalar Cs_;
-            dimensionedScalar Ceps_;
-
-            dimensionedScalar couplingFactor_;
-
-            dimensionedScalar sigmaR_;
-            dimensionedScalar sigmaEps_;
-            dimensionedScalar Prt_;
-
-
-        // Fields
-
-            volSymmTensorField R_;
-            volScalarField k_;
-            volScalarField epsilon_;
-            volScalarField mut_;
-            volScalarField alphat_;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("LRR");
-
-    // Constructors
-
-        //- Construct from components
-        LRR
-        (
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const fluidThermo& thermophysicalModel,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~LRR()
-    {}
-
-
-    // Member Functions
-
-        //- Return the effective diffusivity for R
-        tmp<volScalarField> DREff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DREff", mut_/sigmaR_ + mu())
-            );
-        }
-
-        //- Return the effective diffusivity for epsilon
-        tmp<volScalarField> DepsilonEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DepsilonEff", mut_/sigmaEps_ + mu())
-            );
-        }
-
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> mut() const
-        {
-            return mut_;
-        }
-
-        //- Return the turbulence thermal diffusivity
-        virtual tmp<volScalarField> alphat() const
-        {
-            return alphat_;
-        }
-
-        //- Return the turbulence kinetic energy
-        virtual tmp<volScalarField> k() const
-        {
-            return k_;
-        }
-
-        //- Return the turbulence kinetic energy dissipation rate
-        virtual tmp<volScalarField> epsilon() const
-        {
-            return epsilon_;
-        }
-
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const
-        {
-            return R_;
-        }
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devRhoReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const;
-
-        //- Solve the turbulence equations and correct the turbulence viscosity
-        virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C b/src/turbulenceModels/compressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C
deleted file mode 100644
index 60a1a53a1cb..00000000000
--- a/src/turbulenceModels/compressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C
+++ /dev/null
@@ -1,524 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "LaunderGibsonRSTM.H"
-#include "addToRunTimeSelectionTable.H"
-#include "wallFvPatch.H"
-
-#include "backwardsCompatibilityWallFunctions.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace RASModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(LaunderGibsonRSTM, 0);
-addToRunTimeSelectionTable(RASModel, LaunderGibsonRSTM, dictionary);
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-LaunderGibsonRSTM::LaunderGibsonRSTM
-(
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermophysicalModel,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
-
-    Cmu_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cmu",
-            coeffDict_,
-            0.09
-        )
-    ),
-    kappa_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "kappa",
-            coeffDict_,
-            0.41
-        )
-    ),
-    Clg1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Clg1",
-            coeffDict_,
-            1.8
-        )
-    ),
-    Clg2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Clg2",
-            coeffDict_,
-            0.6
-        )
-    ),
-    C1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C1",
-            coeffDict_,
-            1.44
-        )
-    ),
-    C2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C2",
-            coeffDict_,
-            1.92
-        )
-    ),
-    Cs_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cs",
-            coeffDict_,
-            0.25
-        )
-    ),
-    Ceps_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Ceps",
-            coeffDict_,
-            0.15
-        )
-    ),
-    C1Ref_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C1Ref",
-            coeffDict_,
-            0.5
-        )
-    ),
-    C2Ref_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C2Ref",
-            coeffDict_,
-            0.3
-        )
-    ),
-    couplingFactor_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "couplingFactor",
-            coeffDict_,
-            0.0
-        )
-    ),
-    sigmaR_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmaR",
-            coeffDict_,
-            0.81967
-        )
-    ),
-    sigmaEps_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmaEps",
-            coeffDict_,
-            1.3
-        )
-    ),
-    Prt_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Prt",
-            coeffDict_,
-            1.0
-        )
-    ),
-
-    n_(wallDist::New(mesh_).n()),
-    y_(wallDist::New(mesh_).y()),
-
-    R_
-    (
-        IOobject
-        (
-            "R",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateR("R", mesh_)
-    ),
-    k_
-    (
-        IOobject
-        (
-            "k",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateK("k", mesh_)
-    ),
-    epsilon_
-    (
-        IOobject
-        (
-            "epsilon",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateEpsilon("epsilon", mesh_)
-    ),
-    mut_
-    (
-        IOobject
-        (
-            "mut",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateMut("mut", mesh_)
-    ),
-    alphat_
-    (
-        IOobject
-        (
-            "alphat",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateAlphat("alphat", mesh_)
-    )
-{
-    if (couplingFactor_.value() < 0.0 || couplingFactor_.value() > 1.0)
-    {
-        FatalErrorIn
-        (
-            "LaunderGibsonRSTM::LaunderGibsonRSTM"
-            "(const volScalarField&, const volVectorField&"
-            ", const surfaceScalarField&, fluidThermo&)"
-        )   << "couplingFactor = " << couplingFactor_
-            << " is not in range 0 - 1" << nl
-            << exit(FatalError);
-    }
-
-    bound(k_, kMin_);
-    bound(epsilon_, epsilonMin_);
-
-    mut_ = Cmu_*rho_*sqr(k_)/epsilon_;
-    mut_.correctBoundaryConditions();
-
-    alphat_ = mut_/Prt_;
-    alphat_.correctBoundaryConditions();
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volSymmTensorField> LaunderGibsonRSTM::devRhoReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            rho_*R_ - mu()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> LaunderGibsonRSTM::divDevRhoReff(volVectorField& U) const
-{
-    if (couplingFactor_.value() > 0.0)
-    {
-        return
-        (
-            fvc::div(rho_*R_ + couplingFactor_*mut_*fvc::grad(U))
-          + fvc::laplacian((1.0 - couplingFactor_)*mut_, U)
-          - fvm::laplacian(muEff(), U)
-          - fvc::div(mu()*dev2(T(fvc::grad(U))))
-        );
-    }
-    else
-    {
-        return
-        (
-            fvc::div(rho_*R_)
-          + fvc::laplacian(mut_, U)
-          - fvm::laplacian(muEff(), U)
-          - fvc::div(mu()*dev2(T(fvc::grad(U))))
-        );
-    }
-}
-
-
-bool LaunderGibsonRSTM::read()
-{
-    if (RASModel::read())
-    {
-        Cmu_.readIfPresent(coeffDict());
-        kappa_.readIfPresent(coeffDict());
-        Clg1_.readIfPresent(coeffDict());
-        Clg2_.readIfPresent(coeffDict());
-        C1_.readIfPresent(coeffDict());
-        C2_.readIfPresent(coeffDict());
-        Cs_.readIfPresent(coeffDict());
-        Ceps_.readIfPresent(coeffDict());
-        C1Ref_.readIfPresent(coeffDict());
-        C2Ref_.readIfPresent(coeffDict());
-        sigmaR_.readIfPresent(coeffDict());
-        sigmaEps_.readIfPresent(coeffDict());
-        Prt_.readIfPresent(coeffDict());
-
-        couplingFactor_.readIfPresent(coeffDict());
-
-        if (couplingFactor_.value() < 0.0 || couplingFactor_.value() > 1.0)
-        {
-            FatalErrorIn("LaunderGibsonRSTM::read()")
-                << "couplingFactor = " << couplingFactor_
-                << " is not in range 0 - 1" << nl
-                << exit(FatalError);
-        }
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-void LaunderGibsonRSTM::correct()
-{
-    if (!turbulence_)
-    {
-        // Re-calculate viscosity
-        mut_ = rho_*Cmu_*sqr(k_)/epsilon_;
-        mut_.correctBoundaryConditions();
-
-        // Re-calculate thermal diffusivity
-        alphat_ = mut_/Prt_;
-        alphat_.correctBoundaryConditions();
-
-        return;
-    }
-
-    RASModel::correct();
-
-    volSymmTensorField P(-twoSymm(R_ & fvc::grad(U_)));
-    volScalarField G(GName(), 0.5*mag(tr(P)));
-
-    // Update epsilon and G at the wall
-    epsilon_.boundaryField().updateCoeffs();
-
-    // Dissipation equation
-    tmp<fvScalarMatrix> epsEqn
-    (
-        fvm::ddt(rho_, epsilon_)
-      + fvm::div(phi_, epsilon_)
-    //- fvm::laplacian(Ceps*rho_*(k_/epsilon_)*R_, epsilon_)
-      - fvm::laplacian(DepsilonEff(), epsilon_)
-     ==
-        C1_*rho_*G*epsilon_/k_
-      - fvm::Sp(C2_*rho_*epsilon_/k_, epsilon_)
-    );
-
-    epsEqn().relax();
-
-    epsEqn().boundaryManipulate(epsilon_.boundaryField());
-
-    solve(epsEqn);
-    bound(epsilon_, epsilonMin_);
-
-
-    // Reynolds stress equation
-
-    const fvPatchList& patches = mesh_.boundary();
-
-    forAll(patches, patchi)
-    {
-        const fvPatch& curPatch = patches[patchi];
-
-        if (isA<wallFvPatch>(curPatch))
-        {
-            forAll(curPatch, facei)
-            {
-                label faceCelli = curPatch.faceCells()[facei];
-                P[faceCelli] *= min
-                (
-                    G[faceCelli]/(0.5*mag(tr(P[faceCelli])) + SMALL),
-                    100.0
-                );
-            }
-        }
-    }
-
-    volSymmTensorField reflect(C1Ref_*epsilon_/k_*R_ - C2Ref_*Clg2_*dev(P));
-
-    tmp<fvSymmTensorMatrix> REqn
-    (
-        fvm::ddt(rho_, R_)
-      + fvm::div(phi_, R_)
-    //- fvm::laplacian(Cs*rho_*(k_/epsilon_)*R_, R_)
-      - fvm::laplacian(DREff(), R_)
-      + fvm::Sp(Clg1_*rho_*epsilon_/k_, R_)
-     ==
-        rho_*P
-      + (2.0/3.0*(Clg1_ - 1)*I)*rho_*epsilon_
-      - Clg2_*rho_*dev(P)
-
-        // wall reflection terms
-      + symm
-        (
-            I*((n_ & reflect) & n_)
-          - 1.5*(n_*(reflect & n_)
-          + (n_ & reflect)*n_)
-        )*pow(Cmu_, 0.75)*rho_*pow(k_, 1.5)/(kappa_*y_*epsilon_)
-    );
-
-    REqn().relax();
-    solve(REqn);
-
-    R_.max
-    (
-        dimensionedSymmTensor
-        (
-            "zero",
-            R_.dimensions(),
-            symmTensor
-            (
-                kMin_.value(), -GREAT, -GREAT,
-                kMin_.value(), -GREAT,
-                kMin_.value()
-            )
-        )
-    );
-
-    k_ == 0.5*tr(R_);
-    bound(k_, kMin_);
-
-
-    // Re-calculate turbulent viscosity
-    mut_ = Cmu_*rho_*sqr(k_)/epsilon_;
-    mut_.correctBoundaryConditions();
-
-    // Re-calculate thermal diffusivity
-    alphat_ = mut_/Prt_;
-    alphat_.correctBoundaryConditions();
-
-    // Correct wall shear stresses
-
-    forAll(patches, patchi)
-    {
-        const fvPatch& curPatch = patches[patchi];
-
-        if (isA<wallFvPatch>(curPatch))
-        {
-            symmTensorField& Rw = R_.boundaryField()[patchi];
-
-            const scalarField& mutw = mut_.boundaryField()[patchi];
-            const scalarField& rhow = rho_.boundaryField()[patchi];
-
-            const vectorField snGradU(U_.boundaryField()[patchi].snGrad());
-
-            const vectorField& faceAreas
-                = mesh_.Sf().boundaryField()[patchi];
-
-            const scalarField& magFaceAreas
-                = mesh_.magSf().boundaryField()[patchi];
-
-            forAll(curPatch, facei)
-            {
-                // Calculate near-wall velocity gradient
-                tensor gradUw
-                    = (faceAreas[facei]/magFaceAreas[facei])*snGradU[facei];
-
-                // Calculate near-wall shear-stress tensor
-                tensor tauw = -(mutw[facei]/rhow[facei])*2*dev(symm(gradUw));
-
-                // Reset the shear components of the stress tensor
-                Rw[facei].xy() = tauw.xy();
-                Rw[facei].xz() = tauw.xz();
-                Rw[facei].yz() = tauw.yz();
-            }
-        }
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.H b/src/turbulenceModels/compressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.H
deleted file mode 100644
index b3aa0ddb50d..00000000000
--- a/src/turbulenceModels/compressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.H
+++ /dev/null
@@ -1,220 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::RASModels::LaunderGibsonRSTM
-
-Group
-    grpCmpRASTurbulence
-
-Description
-    Launder-Gibson Reynolds stress turbulence model for compressible flows.
-
-    The default model coefficients correspond to the following:
-    \verbatim
-        LaunderGibsonRSTMCoeffs
-        {
-            Cmu         0.09;
-            kappa       0.41;
-            Clg1        1.8;
-            Clg2        0.6;
-            C1          1.44;
-            C2          1.92;
-            C1Ref       0.5;
-            C2Ref       0.3;
-            Cs          0.25;
-            Ceps        0.15;
-            sigmah      1.0;    // only for compressible
-            sigmaEps    1.3;
-            sigmaR      0.81967;
-            couplingFactor  0.0;
-        }
-    \endverbatim
-
-SourceFiles
-    LaunderGibsonRSTM.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleLaunderGibsonRSTM_H
-#define compressibleLaunderGibsonRSTM_H
-
-#include "RASModel.H"
-#include "wallDist.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace RASModels
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class LaunderGibsonRSTM Declaration
-\*---------------------------------------------------------------------------*/
-
-class LaunderGibsonRSTM
-:
-    public RASModel
-{
-
-protected:
-
-    // Protected data
-
-        // Model coefficients
-
-            dimensionedScalar Cmu_;
-            dimensionedScalar kappa_;
-
-            dimensionedScalar Clg1_;
-            dimensionedScalar Clg2_;
-
-            dimensionedScalar C1_;
-            dimensionedScalar C2_;
-            dimensionedScalar Cs_;
-            dimensionedScalar Ceps_;
-
-            dimensionedScalar C1Ref_;
-            dimensionedScalar C2Ref_;
-
-            dimensionedScalar couplingFactor_;
-
-            dimensionedScalar sigmaR_;
-            dimensionedScalar sigmaEps_;
-            dimensionedScalar Prt_;
-
-
-        // Fields
-
-            const volVectorField& n_;
-            const volScalarField& y_;
-
-            volSymmTensorField R_;
-            volScalarField k_;
-            volScalarField epsilon_;
-            volScalarField mut_;
-            volScalarField alphat_;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("LaunderGibsonRSTM");
-
-    // Constructors
-
-        //- Construct from components
-        LaunderGibsonRSTM
-        (
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const fluidThermo& thermophysicalModel,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~LaunderGibsonRSTM()
-    {}
-
-
-    // Member Functions
-
-        //- Return the effective diffusivity for R
-        tmp<volScalarField> DREff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DREff", mut_/sigmaR_ + mu())
-            );
-        }
-
-        //- Return the effective diffusivity for epsilon
-        tmp<volScalarField> DepsilonEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DepsilonEff", mut_/sigmaEps_ + mu())
-            );
-        }
-
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> mut() const
-        {
-            return mut_;
-        }
-
-        //- Return the turbulence thermal diffusivity
-        virtual tmp<volScalarField> alphat() const
-        {
-            return alphat_;
-        }
-
-        //- Return the turbulence kinetic energy
-        virtual tmp<volScalarField> k() const
-        {
-            return k_;
-        }
-
-        //- Return the turbulence kinetic energy dissipation rate
-        virtual tmp<volScalarField> epsilon() const
-        {
-            return epsilon_;
-        }
-
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const
-        {
-            return R_;
-        }
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devRhoReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const;
-
-        //- Solve the turbulence equations and correct the turbulence viscosity
-        virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/LaunderSharmaKE/LaunderSharmaKE.C b/src/turbulenceModels/compressible/RAS/LaunderSharmaKE/LaunderSharmaKE.C
deleted file mode 100644
index 6a7d0a1abd9..00000000000
--- a/src/turbulenceModels/compressible/RAS/LaunderSharmaKE/LaunderSharmaKE.C
+++ /dev/null
@@ -1,363 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "LaunderSharmaKE.H"
-#include "addToRunTimeSelectionTable.H"
-
-#include "backwardsCompatibilityWallFunctions.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace RASModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(LaunderSharmaKE, 0);
-addToRunTimeSelectionTable(RASModel, LaunderSharmaKE, dictionary);
-
-// * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * * //
-
-tmp<volScalarField> LaunderSharmaKE::fMu() const
-{
-    return exp(-3.4/sqr(scalar(1) + rho_*sqr(k_)/(mu()*epsilon_)/50.0));
-}
-
-
-tmp<volScalarField> LaunderSharmaKE::f2() const
-{
-    return
-        scalar(1)
-      - 0.3*exp(-min(sqr(rho_*sqr(k_)/(mu()*epsilon_)), scalar(50.0)));
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-LaunderSharmaKE::LaunderSharmaKE
-(
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermophysicalModel,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
-
-    Cmu_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cmu",
-            coeffDict_,
-            0.09
-        )
-    ),
-    C1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C1",
-            coeffDict_,
-            1.44
-        )
-    ),
-    C2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C2",
-            coeffDict_,
-            1.92
-        )
-    ),
-    C3_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C3",
-            coeffDict_,
-            -0.33
-        )
-    ),
-    sigmak_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmak",
-            coeffDict_,
-            1.0
-        )
-    ),
-    sigmaEps_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmaEps",
-            coeffDict_,
-            1.3
-        )
-    ),
-    Prt_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Prt",
-            coeffDict_,
-            1.0
-        )
-    ),
-
-    k_
-    (
-        IOobject
-        (
-            "k",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-
-    epsilon_
-    (
-        IOobject
-        (
-            "epsilon",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-
-    mut_
-    (
-        IOobject
-        (
-            "mut",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateLowReMut("mut", mesh_)
-    ),
-
-    alphat_
-    (
-        IOobject
-        (
-            "alphat",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateAlphat("alphat", mesh_)
-    )
-{
-    bound(k_, kMin_);
-    bound(epsilon_, epsilonMin_);
-
-    mut_ = rho_*Cmu_*fMu()*sqr(k_)/epsilon_;
-    mut_.correctBoundaryConditions();
-
-    alphat_ = mut_/Prt_;
-    alphat_.correctBoundaryConditions();
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volSymmTensorField> LaunderSharmaKE::R() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "R",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            ((2.0/3.0)*I)*k_ - (mut_/rho_)*dev(twoSymm(fvc::grad(U_))),
-            k_.boundaryField().types()
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> LaunderSharmaKE::devRhoReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-           -muEff()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> LaunderSharmaKE::divDevRhoReff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(muEff(), U) - fvc::div(muEff()*dev2(T(fvc::grad(U))))
-    );
-}
-
-
-bool LaunderSharmaKE::read()
-{
-    if (RASModel::read())
-    {
-        Cmu_.readIfPresent(coeffDict());
-        C1_.readIfPresent(coeffDict());
-        C2_.readIfPresent(coeffDict());
-        C3_.readIfPresent(coeffDict());
-        sigmak_.readIfPresent(coeffDict());
-        sigmaEps_.readIfPresent(coeffDict());
-        Prt_.readIfPresent(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-void LaunderSharmaKE::correct()
-{
-    if (!turbulence_)
-    {
-        // Re-calculate viscosity
-        mut_ == rho_*Cmu_*fMu()*sqr(k_)/epsilon_;
-
-        // Re-calculate thermal diffusivity
-        alphat_ = mut_/Prt_;
-        alphat_.correctBoundaryConditions();
-
-        return;
-    }
-
-    RASModel::correct();
-
-    // Calculate parameters and coefficients for Launder-Sharma low-Reynolds
-    // number model
-
-    volScalarField E(2.0*mu()*mut_*fvc::magSqrGradGrad(U_)/rho_);
-    volScalarField D(2.0*mu()*magSqr(fvc::grad(sqrt(k_)))/rho_);
-
-    volScalarField divU(fvc::div(phi_/fvc::interpolate(rho_)));
-
-    if (mesh_.moving())
-    {
-        divU += fvc::div(mesh_.phi());
-    }
-
-    tmp<volTensorField> tgradU = fvc::grad(U_);
-    volScalarField G(GName(), mut_*(tgradU() && dev(twoSymm(tgradU()))));
-    tgradU.clear();
-
-
-    // Dissipation equation
-
-    tmp<fvScalarMatrix> epsEqn
-    (
-        fvm::ddt(rho_, epsilon_)
-      + fvm::div(phi_, epsilon_)
-      - fvm::laplacian(DepsilonEff(), epsilon_)
-     ==
-        C1_*G*epsilon_/k_
-      - fvm::SuSp(((2.0/3.0)*C1_ + C3_)*rho_*divU, epsilon_)
-      - fvm::Sp(C2_*f2()*rho_*epsilon_/k_, epsilon_)
-      + E
-    );
-
-    epsEqn().relax();
-    solve(epsEqn);
-    bound(epsilon_, epsilonMin_);
-
-
-    // Turbulent kinetic energy equation
-
-    tmp<fvScalarMatrix> kEqn
-    (
-        fvm::ddt(rho_, k_)
-      + fvm::div(phi_, k_)
-      - fvm::laplacian(DkEff(), k_)
-     ==
-        G - fvm::SuSp(2.0/3.0*rho_*divU, k_)
-      - fvm::Sp(rho_*(epsilon_ + D)/k_, k_)
-    );
-
-    kEqn().relax();
-    solve(kEqn);
-    bound(k_, kMin_);
-
-
-    // Re-calculate viscosity
-    mut_ == Cmu_*fMu()*rho_*sqr(k_)/epsilon_;
-
-
-    // Re-calculate thermal diffusivity
-    alphat_ = mut_/Prt_;
-    alphat_.correctBoundaryConditions();
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/Make/files b/src/turbulenceModels/compressible/RAS/Make/files
deleted file mode 100644
index e107b6793d8..00000000000
--- a/src/turbulenceModels/compressible/RAS/Make/files
+++ /dev/null
@@ -1,55 +0,0 @@
-/* RAS turbulence models */
-RASModel/RASModel.C
-laminar/laminar.C
-kEpsilon/kEpsilon.C
-RNGkEpsilon/RNGkEpsilon.C
-LaunderSharmaKE/LaunderSharmaKE.C
-LRR/LRR.C
-LaunderGibsonRSTM/LaunderGibsonRSTM.C
-realizableKE/realizableKE.C
-SpalartAllmaras/SpalartAllmaras.C
-kOmegaSST/kOmegaSST.C
-v2f/v2f.C
-
-/* Wall functions */
-wallFunctions = derivedFvPatchFields/wallFunctions
-
-alphatWallFunctions = $(wallFunctions)/alphatWallFunctions
-$(alphatWallFunctions)/alphatWallFunction/alphatWallFunctionFvPatchScalarField.C
-$(alphatWallFunctions)/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
-
-mutWallFunctions = $(wallFunctions)/mutWallFunctions
-$(mutWallFunctions)/mutWallFunction/mutWallFunctionFvPatchScalarField.C
-
-$(mutWallFunctions)/mutkWallFunction/mutkWallFunctionFvPatchScalarField.C
-$(mutWallFunctions)/mutkRoughWallFunction/mutkRoughWallFunctionFvPatchScalarField.C
-
-$(mutWallFunctions)/mutUWallFunction/mutUWallFunctionFvPatchScalarField.C
-$(mutWallFunctions)/mutURoughWallFunction/mutURoughWallFunctionFvPatchScalarField.C
-$(mutWallFunctions)/mutUSpaldingWallFunction/mutUSpaldingWallFunctionFvPatchScalarField.C
-$(mutWallFunctions)/mutLowReWallFunction/mutLowReWallFunctionFvPatchScalarField.C
-
-epsilonWallFunctions = $(wallFunctions)/epsilonWallFunctions
-$(epsilonWallFunctions)/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C
-$(epsilonWallFunctions)/epsilonLowReWallFunction/epsilonLowReWallFunctionFvPatchScalarField.C
-
-fWallFunctions = $(wallFunctions)/fWallFunctions
-$(fWallFunctions)/fWallFunction/fWallFunctionFvPatchScalarField.C
-
-omegaWallFunctions = $(wallFunctions)/omegaWallFunctions
-$(omegaWallFunctions)/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C
-
-kqRWallFunctions = $(wallFunctions)/kqRWallFunctions
-$(kqRWallFunctions)/kqRWallFunction/kqRWallFunctionFvPatchFields.C
-$(kqRWallFunctions)/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.C
-
-v2WallFunctions = $(wallFunctions)/v2WallFunctions
-$(v2WallFunctions)/v2WallFunction/v2WallFunctionFvPatchScalarField.C
-
-/* Patch fields */
-derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.C
-derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.C
-derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.C
-backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctions.C
-
-LIB = $(FOAM_LIBBIN)/libcompressibleRASModels
diff --git a/src/turbulenceModels/compressible/RAS/Make/options b/src/turbulenceModels/compressible/RAS/Make/options
deleted file mode 100644
index 8b8e57cd179..00000000000
--- a/src/turbulenceModels/compressible/RAS/Make/options
+++ /dev/null
@@ -1,13 +0,0 @@
-EXE_INC = \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-    -I$(LIB_SRC)/thermophysicalModels/solidThermo/lnInclude \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude \
-
-LIB_LIBS = \
-    -lcompressibleTurbulenceModel \
-    -lfiniteVolume \
-    -lfluidThermophysicalModels \
-    -lspecie \
-    -lmeshTools
diff --git a/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C b/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C
deleted file mode 100644
index 7e09a4b1a86..00000000000
--- a/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C
+++ /dev/null
@@ -1,210 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "RASModel.H"
-#include "wallFvPatch.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(RASModel, 0);
-defineRunTimeSelectionTable(RASModel, dictionary);
-addToRunTimeSelectionTable(turbulenceModel, RASModel, turbulenceModel);
-
-// * * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * //
-
-void RASModel::printCoeffs()
-{
-    if (printCoeffs_)
-    {
-        Info<< type() << "Coeffs" << coeffDict_ << endl;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-RASModel::RASModel
-(
-    const word& type,
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermophysicalModel,
-    const word& turbulenceModelName
-)
-:
-    turbulenceModel(rho, U, phi, thermophysicalModel, turbulenceModelName),
-
-    IOdictionary
-    (
-        IOobject
-        (
-            "RASProperties",
-            U.time().constant(),
-            U.db(),
-            IOobject::MUST_READ_IF_MODIFIED,
-            IOobject::NO_WRITE
-        )
-    ),
-
-    turbulence_(lookup("turbulence")),
-    printCoeffs_(lookupOrDefault<Switch>("printCoeffs", false)),
-    coeffDict_(subOrEmptyDict(type + "Coeffs")),
-
-    kMin_("kMin", sqr(dimVelocity), SMALL),
-    epsilonMin_("epsilonMin", kMin_.dimensions()/dimTime, SMALL),
-    omegaMin_("omegaMin", dimless/dimTime, SMALL)
-{
-    kMin_.readIfPresent(*this);
-    epsilonMin_.readIfPresent(*this);
-    omegaMin_.readIfPresent(*this);
-
-    // Force the construction of the mesh deltaCoeffs which may be needed
-    // for the construction of the derived models and BCs
-    mesh_.deltaCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
-
-autoPtr<RASModel> RASModel::New
-(
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermophysicalModel,
-    const word& turbulenceModelName
-)
-{
-    // get model name, but do not register the dictionary
-    // otherwise it is registered in the database twice
-    const word modelType
-    (
-        IOdictionary
-        (
-            IOobject
-            (
-                "RASProperties",
-                U.time().constant(),
-                U.db(),
-                IOobject::MUST_READ_IF_MODIFIED,
-                IOobject::NO_WRITE,
-                false
-            )
-        ).lookup("RASModel")
-    );
-
-    Info<< "Selecting RAS turbulence model " << modelType << endl;
-
-    dictionaryConstructorTable::iterator cstrIter =
-        dictionaryConstructorTablePtr_->find(modelType);
-
-    if (cstrIter == dictionaryConstructorTablePtr_->end())
-    {
-        FatalErrorIn
-        (
-            "RASModel::New"
-            "("
-                "const volScalarField&, "
-                "const volVectorField&, "
-                "const surfaceScalarField&, "
-                "fluidThermo&, "
-                "const word&"
-            ")"
-        )   << "Unknown RASModel type "
-            << modelType << nl << nl
-            << "Valid RASModel types:" << endl
-            << dictionaryConstructorTablePtr_->sortedToc()
-            << exit(FatalError);
-    }
-
-    return autoPtr<RASModel>
-    (
-        cstrIter()(rho, U, phi, thermophysicalModel, turbulenceModelName)
-    );
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void RASModel::correct()
-{
-    turbulenceModel::correct();
-}
-
-
-bool RASModel::read()
-{
-    //if (regIOobject::read())
-
-    // Bit of trickery : we are both IOdictionary ('RASProperties') and
-    // an regIOobject from the turbulenceModel level. Problem is to distinguish
-    // between the two - we only want to reread the IOdictionary.
-
-    bool ok = IOdictionary::readData
-    (
-        IOdictionary::readStream
-        (
-            IOdictionary::type()
-        )
-    );
-    IOdictionary::close();
-
-    if (ok)
-    {
-        lookup("turbulence") >> turbulence_;
-
-        if (const dictionary* dictPtr = subDictPtr(type() + "Coeffs"))
-        {
-            coeffDict_ <<= *dictPtr;
-        }
-
-        kMin_.readIfPresent(*this);
-        epsilonMin_.readIfPresent(*this);
-        omegaMin_.readIfPresent(*this);
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/RASModel/RASModel.H b/src/turbulenceModels/compressible/RAS/RASModel/RASModel.H
deleted file mode 100644
index 6780860b871..00000000000
--- a/src/turbulenceModels/compressible/RAS/RASModel/RASModel.H
+++ /dev/null
@@ -1,268 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Namespace
-    Foam::compressible::RASModels
-
-Description
-    Namespace for compressible RAS turbulence models.
-
-Class
-    Foam::compressible::RASModel
-
-Description
-    Abstract base class for turbulence models for compressible and combusting
-    flows.
-
-SourceFiles
-    RASModel.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleRASModel_H
-#define compressibleRASModel_H
-
-#include "compressible/turbulenceModel/turbulenceModel.H"
-#include "volFields.H"
-#include "surfaceFields.H"
-#include "fvm.H"
-#include "fvc.H"
-#include "fvMatrices.H"
-#include "fluidThermo.H"
-#include "IOdictionary.H"
-#include "Switch.H"
-#include "bound.H"
-#include "autoPtr.H"
-#include "runTimeSelectionTables.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class RASModel Declaration
-\*---------------------------------------------------------------------------*/
-
-class RASModel
-:
-    public turbulenceModel,
-    public IOdictionary
-{
-
-protected:
-
-    // Protected data
-
-        //- Turbulence on/off flag
-        Switch turbulence_;
-
-        //- Flag to print the model coeffs at run-time
-        Switch printCoeffs_;
-
-        //- Model coefficients dictionary
-        dictionary coeffDict_;
-
-        //- Lower limit of k
-        dimensionedScalar kMin_;
-
-        //- Lower limit of epsilon
-        dimensionedScalar epsilonMin_;
-
-        //- Lower limit for omega
-        dimensionedScalar omegaMin_;
-
-
-    // Protected Member Functions
-
-        //- Print model coefficients
-        virtual void printCoeffs();
-
-
-private:
-
-    // Private Member Functions
-
-        //- Disallow default bitwise copy construct
-        RASModel(const RASModel&);
-
-        //- Disallow default bitwise assignment
-        void operator=(const RASModel&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("RASModel");
-
-
-    // Declare run-time constructor selection table
-
-        declareRunTimeSelectionTable
-        (
-            autoPtr,
-            RASModel,
-            dictionary,
-            (
-                const volScalarField& rho,
-                const volVectorField& U,
-                const surfaceScalarField& phi,
-                const fluidThermo& thermoPhysicalModel,
-                const word& turbulenceModelName
-            ),
-            (rho, U, phi, thermoPhysicalModel, turbulenceModelName)
-        );
-
-
-    // Constructors
-
-        //- Construct from components
-        RASModel
-        (
-            const word& type,
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const fluidThermo& thermoPhysicalModel,
-            const word& turbulenceModelName = turbulenceModel::typeName
-        );
-
-
-    // Selectors
-
-        //- Return a reference to the selected RAS model
-        static autoPtr<RASModel> New
-        (
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const fluidThermo& thermoPhysicalModel,
-            const word& turbulenceModelName = turbulenceModel::typeName
-        );
-
-
-    //- Destructor
-    virtual ~RASModel()
-    {}
-
-
-    // Member Functions
-
-        // Access
-
-            //- Return the lower allowable limit for k (default: SMALL)
-            const dimensionedScalar& kMin() const
-            {
-                return kMin_;
-            }
-
-            //- Return the lower allowable limit for epsilon (default: SMALL)
-            const dimensionedScalar& epsilonMin() const
-            {
-                return epsilonMin_;
-            }
-
-            //- Return the lower allowable limit for omega (default: SMALL)
-            const dimensionedScalar& omegaMin() const
-            {
-                return omegaMin_;
-            }
-
-            //- Allow kMin to be changed
-            dimensionedScalar& kMin()
-            {
-                return kMin_;
-            }
-
-            //- Allow epsilonMin to be changed
-            dimensionedScalar& epsilonMin()
-            {
-                return epsilonMin_;
-            }
-
-            //- Allow omegaMin to be changed
-            dimensionedScalar& omegaMin()
-            {
-                return omegaMin_;
-            }
-
-            //- Const access to the coefficients dictionary
-            virtual const dictionary& coeffDict() const
-            {
-                return coeffDict_;
-            }
-
-
-        //- Return the effective viscosity
-        virtual tmp<volScalarField> muEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("muEff", mut() + mu())
-            );
-        }
-
-        //- Return the effective turbulent temperature diffusivity
-        virtual tmp<volScalarField> kappaEff() const
-        {
-            return thermo().kappaEff(alphat());
-        }
-
-        //- Return the effective turbulent temperature diffusivity for a patch
-        virtual tmp<scalarField> kappaEff(const label patchI) const
-        {
-            return thermo().kappaEff(alphat(patchI), patchI);
-        }
-
-        //- Return the effective turbulent thermal diffusivity
-        virtual tmp<volScalarField> alphaEff() const
-        {
-            return thermo().alphaEff(alphat());
-        }
-
-        //- Return the effective turbulent thermal diffusivity for a patch
-        virtual tmp<scalarField> alphaEff(const label patchI) const
-        {
-            return thermo().alphaEff(alphat(patchI), patchI);
-        }
-
-        //- Solve the turbulence equations and correct the turbulence viscosity
-        virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/RNGkEpsilon/RNGkEpsilon.C b/src/turbulenceModels/compressible/RAS/RNGkEpsilon/RNGkEpsilon.C
deleted file mode 100644
index 58ad1f571e2..00000000000
--- a/src/turbulenceModels/compressible/RAS/RNGkEpsilon/RNGkEpsilon.C
+++ /dev/null
@@ -1,372 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "RNGkEpsilon.H"
-#include "addToRunTimeSelectionTable.H"
-
-#include "backwardsCompatibilityWallFunctions.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace RASModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(RNGkEpsilon, 0);
-addToRunTimeSelectionTable(RASModel, RNGkEpsilon, dictionary);
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-RNGkEpsilon::RNGkEpsilon
-(
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermophysicalModel,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
-
-    Cmu_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cmu",
-            coeffDict_,
-            0.0845
-        )
-    ),
-    C1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C1",
-            coeffDict_,
-            1.42
-        )
-    ),
-    C2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C2",
-            coeffDict_,
-            1.68
-        )
-    ),
-    C3_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C3",
-            coeffDict_,
-            -0.33
-        )
-    ),
-    sigmak_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmak",
-            coeffDict_,
-            0.71942
-        )
-    ),
-    sigmaEps_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmaEps",
-            coeffDict_,
-            0.71942
-        )
-    ),
-    Prt_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Prt",
-            coeffDict_,
-            1.0
-        )
-    ),
-    eta0_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "eta0",
-            coeffDict_,
-            4.38
-        )
-    ),
-    beta_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "beta",
-            coeffDict_,
-            0.012
-        )
-    ),
-
-    k_
-    (
-        IOobject
-        (
-            "k",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateK("k", mesh_)
-    ),
-    epsilon_
-    (
-        IOobject
-        (
-            "epsilon",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateEpsilon("epsilon", mesh_)
-    ),
-    mut_
-    (
-        IOobject
-        (
-            "mut",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateMut("mut", mesh_)
-    ),
-    alphat_
-    (
-        IOobject
-        (
-            "alphat",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateAlphat("alphat", mesh_)
-    )
-{
-    bound(k_, kMin_);
-    bound(epsilon_, epsilonMin_);
-
-    mut_ = Cmu_*rho_*sqr(k_)/epsilon_;
-    mut_.correctBoundaryConditions();
-
-    alphat_ = mut_/Prt_;
-    alphat_.correctBoundaryConditions();
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volSymmTensorField> RNGkEpsilon::R() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "R",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            ((2.0/3.0)*I)*k_ - (mut_/rho_)*dev(twoSymm(fvc::grad(U_))),
-            k_.boundaryField().types()
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> RNGkEpsilon::devRhoReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-           -muEff()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> RNGkEpsilon::divDevRhoReff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(muEff(), U) - fvc::div(muEff()*dev2(T(fvc::grad(U))))
-    );
-}
-
-
-bool RNGkEpsilon::read()
-{
-    if (RASModel::read())
-    {
-        Cmu_.readIfPresent(coeffDict());
-        C1_.readIfPresent(coeffDict());
-        C2_.readIfPresent(coeffDict());
-        C3_.readIfPresent(coeffDict());
-        Prt_.readIfPresent(coeffDict());
-        sigmaEps_.readIfPresent(coeffDict());
-        Prt_.readIfPresent(coeffDict());
-        eta0_.readIfPresent(coeffDict());
-        beta_.readIfPresent(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-void RNGkEpsilon::correct()
-{
-    if (!turbulence_)
-    {
-        // Re-calculate viscosity
-        mut_ = rho_*Cmu_*sqr(k_)/epsilon_;
-        mut_.correctBoundaryConditions();
-
-        // Re-calculate thermal diffusivity
-        alphat_ = mut_/Prt_;
-        alphat_.correctBoundaryConditions();
-
-        return;
-    }
-
-    RASModel::correct();
-
-    volScalarField divU(fvc::div(phi_/fvc::interpolate(rho_)));
-
-    if (mesh_.moving())
-    {
-        divU += fvc::div(mesh_.phi());
-    }
-
-    tmp<volTensorField> tgradU = fvc::grad(U_);
-    volScalarField S2((tgradU() && dev(twoSymm(tgradU()))));
-    tgradU.clear();
-
-    volScalarField G(GName(), mut_*S2);
-
-    volScalarField eta(sqrt(mag(S2))*k_/epsilon_);
-    volScalarField eta3(eta*sqr(eta));
-
-    volScalarField R
-    (
-        ((eta*(-eta/eta0_ + scalar(1)))/(beta_*eta3 + scalar(1)))
-    );
-
-    // Update epsilon and G at the wall
-    epsilon_.boundaryField().updateCoeffs();
-
-    // Dissipation equation
-    tmp<fvScalarMatrix> epsEqn
-    (
-        fvm::ddt(rho_, epsilon_)
-      + fvm::div(phi_, epsilon_)
-      - fvm::laplacian(DepsilonEff(), epsilon_)
-      ==
-        (C1_ - R)*G*epsilon_/k_
-      - fvm::SuSp(((2.0/3.0)*C1_ + C3_)*rho_*divU, epsilon_)
-      - fvm::Sp(C2_*rho_*epsilon_/k_, epsilon_)
-    );
-
-    epsEqn().relax();
-
-    epsEqn().boundaryManipulate(epsilon_.boundaryField());
-
-    solve(epsEqn);
-    bound(epsilon_, epsilonMin_);
-
-
-    // Turbulent kinetic energy equation
-
-    tmp<fvScalarMatrix> kEqn
-    (
-        fvm::ddt(rho_, k_)
-      + fvm::div(phi_, k_)
-      - fvm::laplacian(DkEff(), k_)
-      ==
-        G - fvm::SuSp(2.0/3.0*rho_*divU, k_)
-      - fvm::Sp(rho_*epsilon_/k_, k_)
-    );
-
-    kEqn().relax();
-    solve(kEqn);
-    bound(k_, kMin_);
-
-
-    // Re-calculate viscosity
-    mut_ = rho_*Cmu_*sqr(k_)/epsilon_;
-    mut_.correctBoundaryConditions();
-
-    // Re-calculate thermal diffusivity
-    alphat_ = mut_/Prt_;
-    alphat_.correctBoundaryConditions();
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/RNGkEpsilon/RNGkEpsilon.H b/src/turbulenceModels/compressible/RAS/RNGkEpsilon/RNGkEpsilon.H
deleted file mode 100644
index ba8061365cb..00000000000
--- a/src/turbulenceModels/compressible/RAS/RNGkEpsilon/RNGkEpsilon.H
+++ /dev/null
@@ -1,210 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::RASModels::RNGkEpsilon
-
-Group
-    grpCmpRASTurbulence
-
-Description
-    Renormalisation group k-epsilon turbulence model for compressible flows
-    including rapid distortion theory (RDT) based compression term.
-
-    References:
-    \verbatim
-        "Development of Turbulence Models for Shear Flow by a
-         Double Expansion Technique",
-        Yakhot, V., Orszag, S.A., Thangam, S., Gatski, T.B. and Speziale, C.G.",
-        Physics of Fluids A, Vol. 4, No. 7, 1992, pp 1510-1520.
-
-        For the RDT-based compression term:
-        "k-epsilon equations for compressible reciprocating engine flows"
-        El Tahry, S. H.,
-        AIAA Journal of Energy 7, 1983, pp 345-353.
-    \endverbatim
-
-    The default model coefficients correspond to the following:
-    \verbatim
-        RNGkEpsilonCoeffs
-        {
-            Cmu         0.0845;
-            C1          1.42;
-            C2          1.68;
-            C3          -0.33;  // only for compressible
-            Prt         1.0;    // only for compressible
-            sigmak      0.71942;
-            sigmaEps    0.71942;
-            eta0        4.38;
-            beta        0.012;
-        }
-    \endverbatim
-
-SourceFiles
-    RNGkEpsilon.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleRNGkEpsilon_H
-#define compressibleRNGkEpsilon_H
-
-#include "RASModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace RASModels
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class RNGkEpsilon Declaration
-\*---------------------------------------------------------------------------*/
-
-class RNGkEpsilon
-:
-    public RASModel
-{
-
-protected:
-
-    // Protected data
-
-        // Model coefficients
-
-            dimensionedScalar Cmu_;
-            dimensionedScalar C1_;
-            dimensionedScalar C2_;
-            dimensionedScalar C3_;
-            dimensionedScalar sigmak_;
-            dimensionedScalar sigmaEps_;
-            dimensionedScalar Prt_;
-            dimensionedScalar eta0_;
-            dimensionedScalar beta_;
-
-        // Fields
-
-            volScalarField k_;
-            volScalarField epsilon_;
-            volScalarField mut_;
-            volScalarField alphat_;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("RNGkEpsilon");
-
-    // Constructors
-
-        //- Construct from components
-        RNGkEpsilon
-        (
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const fluidThermo& thermophysicalModel,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~RNGkEpsilon()
-    {}
-
-
-    // Member Functions
-
-        //- Return the effective diffusivity for k
-        tmp<volScalarField> DkEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DkEff", mut_/sigmak_ + mu())
-            );
-        }
-
-        //- Return the effective diffusivity for epsilon
-        tmp<volScalarField> DepsilonEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DepsilonEff", mut_/sigmaEps_ + mu())
-            );
-        }
-
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> mut() const
-        {
-            return mut_;
-        }
-
-        //- Return the turbulence thermal diffusivity
-        virtual tmp<volScalarField> alphat() const
-        {
-            return alphat_;
-        }
-
-        //- Return the turbulence kinetic energy
-        virtual tmp<volScalarField> k() const
-        {
-            return k_;
-        }
-
-        //- Return the turbulence kinetic energy dissipation rate
-        virtual tmp<volScalarField> epsilon() const
-        {
-            return epsilon_;
-        }
-
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const;
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devRhoReff() const;
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const;
-
-        //- Solve the turbulence equations and correct the turbulence viscosity
-        virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/SpalartAllmaras/SpalartAllmaras.C b/src/turbulenceModels/compressible/RAS/SpalartAllmaras/SpalartAllmaras.C
deleted file mode 100644
index bd54bd80f48..00000000000
--- a/src/turbulenceModels/compressible/RAS/SpalartAllmaras/SpalartAllmaras.C
+++ /dev/null
@@ -1,479 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "SpalartAllmaras.H"
-#include "addToRunTimeSelectionTable.H"
-
-#include "backwardsCompatibilityWallFunctions.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace RASModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(SpalartAllmaras, 0);
-addToRunTimeSelectionTable(RASModel, SpalartAllmaras, dictionary);
-
-// * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * * //
-
-tmp<volScalarField> SpalartAllmaras::chi() const
-{
-    return rho_*nuTilda_/mu();
-}
-
-
-tmp<volScalarField> SpalartAllmaras::fv1(const volScalarField& chi) const
-{
-    const volScalarField chi3(pow3(chi));
-    return chi3/(chi3 + pow3(Cv1_));
-}
-
-
-tmp<volScalarField> SpalartAllmaras::fv2
-(
-    const volScalarField& chi,
-    const volScalarField& fv1
-) const
-{
-    if (ashfordCorrection_)
-    {
-        return 1.0/pow3(scalar(1) + chi/Cv2_);
-    }
-    else
-    {
-        return 1.0 - chi/(1.0 + chi*fv1);
-    }
-}
-
-
-tmp<volScalarField> SpalartAllmaras::fv3
-(
-    const volScalarField& chi,
-    const volScalarField& fv1
-) const
-{
-    if (ashfordCorrection_)
-    {
-        const volScalarField chiByCv2((1/Cv2_)*chi);
-
-        return
-            (scalar(1) + chi*fv1)
-           *(1/Cv2_)
-           *(3*(scalar(1) + chiByCv2) + sqr(chiByCv2))
-           /pow3(scalar(1) + chiByCv2);
-    }
-    else
-    {
-        return tmp<volScalarField>
-        (
-            new volScalarField
-            (
-                IOobject
-                (
-                    "fv3",
-                    mesh_.time().timeName(),
-                    mesh_,
-                    IOobject::NO_READ,
-                    IOobject::NO_WRITE
-                ),
-                mesh_,
-                dimensionedScalar("fv3", dimless, 1),
-                zeroGradientFvPatchScalarField::typeName
-            )
-        );
-    }
-}
-
-
-tmp<volScalarField> SpalartAllmaras::fw(const volScalarField& Stilda) const
-{
-    volScalarField r
-    (
-        min
-        (
-            nuTilda_
-           /(
-               max
-               (
-                   Stilda,
-                   dimensionedScalar("SMALL", Stilda.dimensions(), SMALL)
-               )
-              *sqr(kappa_*y_)
-            ),
-            scalar(10.0)
-        )
-    );
-    r.boundaryField() == 0.0;
-
-    const volScalarField g(r + Cw2_*(pow6(r) - r));
-
-    return g*pow((1.0 + pow6(Cw3_))/(pow6(g) + pow6(Cw3_)), 1.0/6.0);
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-SpalartAllmaras::SpalartAllmaras
-(
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermophysicalModel,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
-
-    sigmaNut_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmaNut",
-            coeffDict_,
-            0.66666
-        )
-    ),
-    kappa_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "kappa",
-            coeffDict_,
-            0.41
-        )
-    ),
-    Prt_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Prt",
-            coeffDict_,
-            1.0
-        )
-    ),
-
-    Cb1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cb1",
-            coeffDict_,
-            0.1355
-        )
-    ),
-    Cb2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cb2",
-            coeffDict_,
-            0.622
-        )
-    ),
-    Cw1_(Cb1_/sqr(kappa_) + (1.0 + Cb2_)/sigmaNut_),
-    Cw2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cw2",
-            coeffDict_,
-            0.3
-        )
-    ),
-    Cw3_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cw3",
-            coeffDict_,
-            2.0
-        )
-    ),
-    Cv1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cv1",
-            coeffDict_,
-            7.1
-        )
-    ),
-    Cv2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cv2",
-            coeffDict_,
-            5.0
-        )
-    ),
-
-    nuTilda_
-    (
-        IOobject
-        (
-            "nuTilda",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-
-    mut_
-    (
-        IOobject
-        (
-            "mut",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-
-    alphat_
-    (
-        IOobject
-        (
-            "alphat",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateAlphat("alphat", mesh_)
-    ),
-
-    y_(wallDist::New(mesh_).y())
-{
-    alphat_ = mut_/Prt_;
-    alphat_.correctBoundaryConditions();
-
-    printCoeffs();
-
-    if (ashfordCorrection_)
-    {
-        Info<< "    Employing Ashford correction" << endl;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volScalarField> SpalartAllmaras::k() const
-{
-    WarningIn("tmp<volScalarField> SpalartAllmaras::k() const")
-        << "Turbulence kinetic energy not defined for Spalart-Allmaras model. "
-        << "Returning zero field" << endl;
-
-    return tmp<volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "k",
-                runTime_.timeName(),
-                mesh_
-            ),
-            mesh_,
-            dimensionedScalar("0", dimensionSet(0, 2, -2, 0, 0), 0)
-        )
-    );
-}
-
-
-tmp<volScalarField> SpalartAllmaras::epsilon() const
-{
-    WarningIn("tmp<volScalarField> SpalartAllmaras::epsilon() const")
-        << "Turbulence kinetic energy dissipation rate not defined for "
-        << "Spalart-Allmaras model. Returning zero field"
-        << endl;
-
-    return tmp<volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "epsilon",
-                runTime_.timeName(),
-                mesh_
-            ),
-            mesh_,
-            dimensionedScalar("0", dimensionSet(0, 2, -3, 0, 0), 0)
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> SpalartAllmaras::R() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "R",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            ((2.0/3.0)*I)*k() - (mut_/rho_)*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> SpalartAllmaras::devRhoReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-           -muEff()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> SpalartAllmaras::divDevRhoReff(volVectorField& U) const
-{
-    const volScalarField muEff_(muEff());
-
-    return
-    (
-      - fvm::laplacian(muEff_, U)
-      - fvc::div(muEff_*dev2(T(fvc::grad(U))))
-    );
-}
-
-
-bool SpalartAllmaras::read()
-{
-    if (RASModel::read())
-    {
-        sigmaNut_.readIfPresent(coeffDict());
-        kappa_.readIfPresent(coeffDict());
-        Prt_.readIfPresent(coeffDict());
-
-        Cb1_.readIfPresent(coeffDict());
-        Cb2_.readIfPresent(coeffDict());
-        Cw1_ = Cb1_/sqr(kappa_) + (1.0 + Cb2_)/sigmaNut_;
-        Cw2_.readIfPresent(coeffDict());
-        Cw3_.readIfPresent(coeffDict());
-        Cv1_.readIfPresent(coeffDict());
-        Cv2_.readIfPresent(coeffDict());
-
-        ashfordCorrection_.readIfPresent("ashfordCorrection", coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-void SpalartAllmaras::correct()
-{
-    if (!turbulence_)
-    {
-        // Re-calculate viscosity
-        mut_ = rho_*nuTilda_*fv1(chi());
-        mut_.correctBoundaryConditions();
-
-        // Re-calculate thermal diffusivity
-        alphat_ = mut_/Prt_;
-        alphat_.correctBoundaryConditions();
-
-        return;
-    }
-
-    RASModel::correct();
-
-    const volScalarField chi(this->chi());
-    const volScalarField fv1(this->fv1(chi));
-
-    const volScalarField Stilda
-    (
-        fv3(chi, fv1)*::sqrt(2.0)*mag(skew(fvc::grad(U_)))
-      + fv2(chi, fv1)*nuTilda_/sqr(kappa_*y_)
-    );
-
-    tmp<fvScalarMatrix> nuTildaEqn
-    (
-        fvm::ddt(rho_, nuTilda_)
-      + fvm::div(phi_, nuTilda_)
-      - fvm::laplacian(DnuTildaEff(), nuTilda_)
-      - Cb2_/sigmaNut_*rho_*magSqr(fvc::grad(nuTilda_))
-     ==
-        Cb1_*rho_*Stilda*nuTilda_
-      - fvm::Sp(Cw1_*fw(Stilda)*nuTilda_*rho_/sqr(y_), nuTilda_)
-    );
-
-    nuTildaEqn().relax();
-    solve(nuTildaEqn);
-    bound(nuTilda_, dimensionedScalar("0", nuTilda_.dimensions(), 0.0));
-    nuTilda_.correctBoundaryConditions();
-
-    // Re-calculate viscosity
-    mut_.internalField() = fv1*nuTilda_.internalField()*rho_.internalField();
-    mut_.correctBoundaryConditions();
-
-    // Re-calculate thermal diffusivity
-    alphat_ = mut_/Prt_;
-    alphat_.correctBoundaryConditions();
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/SpalartAllmaras/SpalartAllmaras.H b/src/turbulenceModels/compressible/RAS/SpalartAllmaras/SpalartAllmaras.H
deleted file mode 100644
index 0d366d71ba0..00000000000
--- a/src/turbulenceModels/compressible/RAS/SpalartAllmaras/SpalartAllmaras.H
+++ /dev/null
@@ -1,233 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::RASModels::SpalartAllmaras
-
-Group
-    grpCmpRASTurbulence
-
-Description
-    Spalart-Allmaras one-eqn mixing-length model for compressible
-    external flows.
-
-    Reference:
-    \verbatim
-        "A One-Equation Turbulence Model for Aerodynamic Flows"
-        P.R. Spalart,
-        S.R. Allmaras,
-        La Recherche Aerospatiale, No. 1, 1994, pp. 5-21.
-    \endverbatim
-
-    Extended according to:
-    \verbatim
-        "An Unstructured Grid Generation and Adaptive Solution Technique
-        for High Reynolds Number Compressible Flows"
-        G.A. Ashford,
-        Ph.D. thesis, University of Michigan, 1996.
-    \endverbatim
-    by using the optional flag \c ashfordCorrection
-
-    The default model coefficients correspond to the following:
-    \verbatim
-        SpalartAllmarasCoeffs
-        {
-            Cb1         0.1355;
-            Cb2         0.622;
-            Cw2         0.3;
-            Cw3         2.0;
-            Cv1         7.1;
-            Cv2         5.0;
-            sigmaNut    0.66666;
-            Prt         1.0;    // only for compressible
-            kappa       0.41;
-        }
-    \endverbatim
-
-SourceFiles
-    SpalartAllmaras.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleSpalartAllmaras_H
-#define compressibleSpalartAllmaras_H
-
-#include "RASModel.H"
-#include "wallDist.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace RASModels
-{
-
-/*---------------------------------------------------------------------------*\
-                      Class SpalartAllmaras Declaration
-\*---------------------------------------------------------------------------*/
-
-class SpalartAllmaras
-:
-    public RASModel
-{
-
-protected:
-
-    // Protected data
-
-        // Model coefficients
-
-            dimensionedScalar sigmaNut_;
-            dimensionedScalar kappa_;
-            dimensionedScalar Prt_;
-
-            dimensionedScalar Cb1_;
-            dimensionedScalar Cb2_;
-            dimensionedScalar Cw1_;
-            dimensionedScalar Cw2_;
-            dimensionedScalar Cw3_;
-            dimensionedScalar Cv1_;
-            dimensionedScalar Cv2_;
-
-
-        //- Optional flag to activate the Ashford correction
-        Switch ashfordCorrection_;
-
-
-        // Fields
-
-            volScalarField nuTilda_;
-            volScalarField mut_;
-            volScalarField alphat_;
-
-            //- Wall distance
-            //  Note: different to wall distance in parent RASModel
-            //  which is for near-wall cells only
-            const volScalarField& y_;
-
-
-    // Protected Member Functions
-
-        tmp<volScalarField> chi() const;
-        tmp<volScalarField> fv1(const volScalarField& chi) const;
-        tmp<volScalarField> fv2
-        (
-            const volScalarField& chi,
-            const volScalarField& fv1
-        ) const;
-        tmp<volScalarField> fv3
-        (
-            const volScalarField& chi,
-            const volScalarField& fv1
-        ) const;
-        tmp<volScalarField> fw(const volScalarField& Stilda) const;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("SpalartAllmaras");
-
-
-    // Constructors
-
-        //- Construct from components
-        SpalartAllmaras
-        (
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const fluidThermo& thermophysicalModel,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~SpalartAllmaras()
-    {}
-
-
-    // Member Functions
-
-        //- Return the effective diffusivity for nuTilda
-        tmp<volScalarField> DnuTildaEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField
-                (
-                    "DnuTildaEff",
-                    (rho_*nuTilda_ + mu())/sigmaNut_
-                )
-            );
-        }
-
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> mut() const
-        {
-            return mut_;
-        }
-
-        //- Return the turbulence thermal diffusivity
-        virtual tmp<volScalarField> alphat() const
-        {
-            return alphat_;
-        }
-
-        //- Return the turbulence kinetic energy
-        virtual tmp<volScalarField> k() const;
-
-        //- Return the turbulence kinetic energy dissipation rate
-        virtual tmp<volScalarField> epsilon() const;
-
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const;
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devRhoReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const;
-
-        //- Solve the turbulence equations and correct the turbulence viscosity
-        virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctions.C b/src/turbulenceModels/compressible/RAS/backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctions.C
deleted file mode 100644
index 7846bec8208..00000000000
--- a/src/turbulenceModels/compressible/RAS/backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctions.C
+++ /dev/null
@@ -1,357 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "backwardsCompatibilityWallFunctions.H"
-
-#include "volFields.H"
-#include "calculatedFvPatchField.H"
-#include "alphatWallFunctionFvPatchScalarField.H"
-#include "mutkWallFunctionFvPatchScalarField.H"
-#include "mutLowReWallFunctionFvPatchScalarField.H"
-#include "epsilonWallFunctionFvPatchScalarField.H"
-#include "kqRWallFunctionFvPatchField.H"
-#include "omegaWallFunctionFvPatchScalarField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-tmp<volScalarField> autoCreateAlphat
-(
-    const word& fieldName,
-    const fvMesh& mesh
-)
-{
-    IOobject alphatHeader
-    (
-        fieldName,
-        mesh.time().timeName(),
-        mesh,
-        IOobject::MUST_READ,
-        IOobject::NO_WRITE,
-        false
-    );
-
-    if (alphatHeader.headerOk())
-    {
-        return tmp<volScalarField>(new volScalarField(alphatHeader, mesh));
-    }
-    else
-    {
-        Info<< "--> Creating " << fieldName
-            << " to employ run-time selectable wall functions" << endl;
-
-        const fvBoundaryMesh& bm = mesh.boundary();
-
-        wordList alphatBoundaryTypes(bm.size());
-
-        forAll(bm, patchI)
-        {
-            if (isA<wallFvPatch>(bm[patchI]))
-            {
-                alphatBoundaryTypes[patchI] =
-                    alphatWallFunctionFvPatchScalarField::typeName;
-            }
-            else
-            {
-                alphatBoundaryTypes[patchI] =
-                    calculatedFvPatchField<scalar>::typeName;
-            }
-        }
-
-        tmp<volScalarField> alphat
-        (
-            new volScalarField
-            (
-                IOobject
-                (
-                    fieldName,
-                    mesh.time().timeName(),
-                    mesh,
-                    IOobject::NO_READ,
-                    IOobject::NO_WRITE,
-                    false
-                ),
-                mesh,
-                dimensionedScalar("zero", dimDensity*dimArea/dimTime, 0.0),
-                alphatBoundaryTypes
-            )
-        );
-
-        Info<< "    Writing new " << fieldName << endl;
-        alphat().write();
-
-        return alphat;
-    }
-}
-
-
-tmp<volScalarField> autoCreateMut
-(
-    const word& fieldName,
-    const fvMesh& mesh
-)
-{
-    IOobject mutHeader
-    (
-        fieldName,
-        mesh.time().timeName(),
-        mesh,
-        IOobject::MUST_READ,
-        IOobject::NO_WRITE,
-        false
-    );
-
-    if (mutHeader.headerOk())
-    {
-        return tmp<volScalarField>(new volScalarField(mutHeader, mesh));
-    }
-    else
-    {
-        Info<< "--> Creating " << fieldName
-            << " to employ run-time selectable wall functions" << endl;
-
-        const fvBoundaryMesh& bm = mesh.boundary();
-
-        wordList mutBoundaryTypes(bm.size());
-
-        forAll(bm, patchI)
-        {
-            if (isA<wallFvPatch>(bm[patchI]))
-            {
-                mutBoundaryTypes[patchI] =
-                    mutkWallFunctionFvPatchScalarField::typeName;
-            }
-            else
-            {
-                mutBoundaryTypes[patchI] =
-                    calculatedFvPatchField<scalar>::typeName;
-            }
-        }
-
-        tmp<volScalarField> mut
-        (
-            new volScalarField
-            (
-                IOobject
-                (
-                    fieldName,
-                    mesh.time().timeName(),
-                    mesh,
-                    IOobject::NO_READ,
-                    IOobject::NO_WRITE,
-                    false
-                ),
-                mesh,
-                dimensionedScalar("zero", dimDensity*dimArea/dimTime, 0.0),
-                mutBoundaryTypes
-            )
-        );
-
-        Info<< "    Writing new " << fieldName << endl;
-        mut().write();
-
-        return mut;
-    }
-}
-
-
-tmp<volScalarField> autoCreateLowReMut
-(
-    const word& fieldName,
-    const fvMesh& mesh
-)
-{
-    IOobject mutHeader
-    (
-        fieldName,
-        mesh.time().timeName(),
-        mesh,
-        IOobject::MUST_READ,
-        IOobject::NO_WRITE,
-        false
-    );
-
-    if (mutHeader.headerOk())
-    {
-        return tmp<volScalarField>(new volScalarField(mutHeader, mesh));
-    }
-    else
-    {
-        Info<< "--> Creating " << fieldName
-            << " to employ run-time selectable wall functions" << endl;
-
-        const fvBoundaryMesh& bm = mesh.boundary();
-
-        wordList mutBoundaryTypes(bm.size());
-
-        forAll(bm, patchI)
-        {
-            if (isA<wallFvPatch>(bm[patchI]))
-            {
-                mutBoundaryTypes[patchI] =
-                    mutLowReWallFunctionFvPatchScalarField::typeName;
-            }
-            else
-            {
-                mutBoundaryTypes[patchI] =
-                    calculatedFvPatchField<scalar>::typeName;
-            }
-        }
-
-        tmp<volScalarField> mut
-        (
-            new volScalarField
-            (
-                IOobject
-                (
-                    fieldName,
-                    mesh.time().timeName(),
-                    mesh,
-                    IOobject::NO_READ,
-                    IOobject::NO_WRITE,
-                    false
-                ),
-                mesh,
-                dimensionedScalar("zero", dimDensity*dimArea/dimTime, 0.0),
-                mutBoundaryTypes
-            )
-        );
-
-        Info<< "    Writing new " << fieldName << endl;
-        mut().write();
-
-        return mut;
-    }
-}
-
-
-tmp<volScalarField> autoCreateEpsilon
-(
-    const word& fieldName,
-    const fvMesh& mesh
-)
-{
-    return
-        autoCreateWallFunctionField
-        <
-            scalar,
-            epsilonWallFunctionFvPatchScalarField
-        >
-        (
-            fieldName,
-            mesh
-        );
-}
-
-
-tmp<volScalarField> autoCreateOmega
-(
-    const word& fieldName,
-    const fvMesh& mesh
-)
-{
-    return
-        autoCreateWallFunctionField
-        <
-            scalar,
-            omegaWallFunctionFvPatchScalarField
-        >
-        (
-            fieldName,
-            mesh
-        );
-}
-
-
-tmp<volScalarField> autoCreateK
-(
-    const word& fieldName,
-    const fvMesh& mesh
-)
-{
-    return
-        autoCreateWallFunctionField
-        <
-            scalar,
-            kqRWallFunctionFvPatchField<scalar>
-        >
-        (
-            fieldName,
-            mesh
-        );
-}
-
-
-tmp<volScalarField> autoCreateQ
-(
-    const word& fieldName,
-    const fvMesh& mesh
-)
-{
-    return
-        autoCreateWallFunctionField
-        <
-            scalar,
-            kqRWallFunctionFvPatchField<scalar>
-        >
-        (
-            fieldName,
-            mesh
-        );
-}
-
-
-tmp<volSymmTensorField> autoCreateR
-(
-    const word& fieldName,
-    const fvMesh& mesh
-)
-{
-    return
-        autoCreateWallFunctionField
-        <
-            symmTensor,
-            kqRWallFunctionFvPatchField<symmTensor>
-        >
-        (
-            fieldName,
-            mesh
-        );
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
-
diff --git a/src/turbulenceModels/compressible/RAS/backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctions.H b/src/turbulenceModels/compressible/RAS/backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctions.H
deleted file mode 100644
index c2b34c4a6e0..00000000000
--- a/src/turbulenceModels/compressible/RAS/backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctions.H
+++ /dev/null
@@ -1,129 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible
-
-Description
-    Auto creation of fields to provide backwards compatibility with
-    runtime selectable wall functions
-
-SourceFiles
-    backwardsCompatibilityWallFunctions.C
-    backwardsCompatibilityWallFunctionsTemplates.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef backwardsCompatibilityWallFunctions_H
-#define backwardsCompatibilityWallFunctions_H
-
-#include "fvMesh.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-    //- mut
-    tmp<volScalarField> autoCreateMut
-    (
-        const word& fieldName,
-        const fvMesh& mesh
-    );
-
-    //- mut for Low-Reynolds number models
-    tmp<volScalarField> autoCreateLowReMut
-    (
-        const word& fieldName,
-        const fvMesh& mesh
-    );
-
-    //- alphat
-    tmp<volScalarField> autoCreateAlphat
-    (
-        const word& fieldName,
-        const fvMesh& mesh
-    );
-
-    //- epsilon
-    tmp<volScalarField> autoCreateEpsilon
-    (
-        const word& fieldName,
-        const fvMesh& mesh
-    );
-
-    //- omega
-    tmp<volScalarField> autoCreateOmega
-    (
-        const word& fieldName,
-        const fvMesh& mesh
-    );
-
-    //- k
-    tmp<volScalarField> autoCreateK
-    (
-        const word& fieldName,
-        const fvMesh& mesh
-    );
-
-    //- Q
-    tmp<volScalarField> autoCreateQ
-    (
-        const word& fieldName,
-        const fvMesh& mesh
-    );
-
-    //- R
-    tmp<volSymmTensorField> autoCreateR
-    (
-        const word& fieldName,
-        const fvMesh& mesh
-    );
-
-    //- Helper function to create the new field
-    template<class Type, class PatchType>
-    tmp<GeometricField<Type, fvPatchField, volMesh> >
-    autoCreateWallFunctionField
-    (
-        const word& fieldName,
-        const fvMesh& mesh
-    );
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#ifdef NoRepository
-#   include "backwardsCompatibilityWallFunctionsTemplates.C"
-#endif
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/turbulenceModels/compressible/RAS/backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctionsTemplates.C b/src/turbulenceModels/compressible/RAS/backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctionsTemplates.C
deleted file mode 100644
index d91f1bcd724..00000000000
--- a/src/turbulenceModels/compressible/RAS/backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctionsTemplates.C
+++ /dev/null
@@ -1,169 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "backwardsCompatibilityWallFunctions.H"
-#include "Time.H"
-#include "OSspecific.H"
-
-#include "wallFvPatch.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-template<class Type, class PatchType>
-tmp<GeometricField<Type, fvPatchField, volMesh> >
-autoCreateWallFunctionField
-(
-    const word& fieldName,
-    const fvMesh& mesh
-)
-{
-    IOobject mutHeader
-    (
-        "mut",
-        mesh.time().timeName(),
-        mesh,
-        IOobject::MUST_READ
-    );
-
-    typedef GeometricField<Type, fvPatchField, volMesh> fieldType;
-
-    if (mutHeader.headerOk())
-    {
-        return tmp<fieldType>
-        (
-            new fieldType
-            (
-                IOobject
-                (
-                    fieldName,
-                    mesh.time().timeName(),
-                    mesh,
-                    IOobject::MUST_READ,
-                    IOobject::NO_WRITE,
-                    false
-                ),
-                mesh
-            )
-        );
-    }
-    else
-    {
-        Info<< "--> Upgrading " << fieldName
-            << " to employ run-time selectable wall functions" << endl;
-
-        // Read existing field
-        IOobject ioObj
-        (
-            fieldName,
-            mesh.time().timeName(),
-            mesh,
-            IOobject::MUST_READ,
-            IOobject::NO_WRITE,
-            false
-        );
-
-        tmp<fieldType> fieldOrig
-        (
-            new fieldType
-            (
-                ioObj,
-                mesh
-            )
-        );
-
-        // rename file
-        Info<< "    Backup original " << fieldName << " to "
-            << fieldName << ".old" << endl;
-        mvBak(ioObj.objectPath(), "old");
-
-
-        PtrList<fvPatchField<Type> > newPatchFields(mesh.boundary().size());
-
-        forAll(newPatchFields, patchI)
-        {
-            if (isA<wallFvPatch>(mesh.boundary()[patchI]))
-            {
-                newPatchFields.set
-                (
-                    patchI,
-                    new PatchType
-                    (
-                        mesh.boundary()[patchI],
-                        fieldOrig().dimensionedInternalField()
-                    )
-                );
-                newPatchFields[patchI] == fieldOrig().boundaryField()[patchI];
-            }
-            else
-            {
-                newPatchFields.set
-                (
-                    patchI,
-                    fieldOrig().boundaryField()[patchI].clone()
-                );
-            }
-        }
-
-        tmp<fieldType> fieldNew
-        (
-            new fieldType
-            (
-                IOobject
-                (
-                    fieldName,
-                    mesh.time().timeName(),
-                    mesh,
-                    IOobject::NO_READ,
-                    IOobject::NO_WRITE,
-                    false
-                ),
-                mesh,
-                fieldOrig().dimensions(),
-                fieldOrig().internalField(),
-                newPatchFields
-            )
-        );
-
-        Info<< "    Writing updated " << fieldName << endl;
-        fieldNew().write();
-
-        return fieldNew;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/doc/compressibleRASBoundaryConditionsDoc.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/doc/compressibleRASBoundaryConditionsDoc.H
deleted file mode 100644
index d0ef1e1af9c..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/doc/compressibleRASBoundaryConditionsDoc.H
+++ /dev/null
@@ -1,39 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it under
-    the terms of the GNU General Public License as published by the Free
-    Software Foundation, either version 3 of the License, or (at your option)
-    any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT ANY
-    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
-    details.
-
-    You should have received a copy of the GNU General Public License along with
-    OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-\defgroup grpCmpRASBoundaryConditions RAS compressible boundary conditions
-@{
-    \ingroup grpCmpRASTurbulence
-    This group contains compressible RAS turbulence model boundary conditions
-@}
-
-\defgroup grpCmpWallFunctions RAS compressible wall functions
-@{
-    \ingroup grpCmpRASBoundaryConditions
-    This group contains compressible RAS turbulence model wall functions
-@}
-
-
-\*---------------------------------------------------------------------------*/
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.C
deleted file mode 100644
index 0d6694fa3bb..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.C
+++ /dev/null
@@ -1,179 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "turbulentMixingLengthDissipationRateInletFvPatchScalarField.H"
-#include "addToRunTimeSelectionTable.H"
-#include "fvPatchFieldMapper.H"
-#include "surfaceFields.H"
-#include "volFields.H"
-#include "compressible/turbulenceModel/turbulenceModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-turbulentMixingLengthDissipationRateInletFvPatchScalarField::
-turbulentMixingLengthDissipationRateInletFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    inletOutletFvPatchScalarField(p, iF),
-    mixingLength_(0.0),
-    kName_("k")
-{
-    this->refValue() = 0.0;
-    this->refGrad() = 0.0;
-    this->valueFraction() = 0.0;
-}
-
-
-turbulentMixingLengthDissipationRateInletFvPatchScalarField::
-turbulentMixingLengthDissipationRateInletFvPatchScalarField
-(
-    const turbulentMixingLengthDissipationRateInletFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    inletOutletFvPatchScalarField(ptf, p, iF, mapper),
-    mixingLength_(ptf.mixingLength_),
-    kName_(ptf.kName_)
-{}
-
-
-turbulentMixingLengthDissipationRateInletFvPatchScalarField::
-turbulentMixingLengthDissipationRateInletFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    inletOutletFvPatchScalarField(p, iF),
-    mixingLength_(readScalar(dict.lookup("mixingLength"))),
-    kName_(dict.lookupOrDefault<word>("k", "k"))
-{
-    this->phiName_ = dict.lookupOrDefault<word>("phi", "phi");
-    fvPatchScalarField::operator=(scalarField("value", dict, p.size()));
-
-    this->refValue() = 0.0;
-    this->refGrad() = 0.0;
-    this->valueFraction() = 0.0;
-}
-
-
-turbulentMixingLengthDissipationRateInletFvPatchScalarField::
-turbulentMixingLengthDissipationRateInletFvPatchScalarField
-(
-    const turbulentMixingLengthDissipationRateInletFvPatchScalarField& ptf
-)
-:
-    inletOutletFvPatchScalarField(ptf),
-    mixingLength_(ptf.mixingLength_),
-    kName_(ptf.kName_)
-{}
-
-
-turbulentMixingLengthDissipationRateInletFvPatchScalarField::
-turbulentMixingLengthDissipationRateInletFvPatchScalarField
-(
-    const turbulentMixingLengthDissipationRateInletFvPatchScalarField& ptf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    inletOutletFvPatchScalarField(ptf, iF),
-    mixingLength_(ptf.mixingLength_),
-    kName_(ptf.kName_)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void turbulentMixingLengthDissipationRateInletFvPatchScalarField::updateCoeffs()
-{
-    if (updated())
-    {
-        return;
-    }
-
-    // Lookup Cmu corresponding to the turbulence model selected
-    const turbulenceModel& turbulence =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-
-    const scalar Cmu =
-        turbulence.coeffDict().lookupOrDefault<scalar>("Cmu", 0.09);
-
-    const scalar Cmu75 = pow(Cmu, 0.75);
-
-    const fvPatchScalarField& kp =
-        patch().lookupPatchField<volScalarField, scalar>(kName_);
-
-    const fvsPatchScalarField& phip =
-        patch().lookupPatchField<surfaceScalarField, scalar>(this->phiName_);
-
-    this->refValue() = Cmu75*kp*sqrt(kp)/mixingLength_;
-    this->valueFraction() = 1.0 - pos(phip);
-
-    inletOutletFvPatchScalarField::updateCoeffs();
-}
-
-
-void turbulentMixingLengthDissipationRateInletFvPatchScalarField::write
-(
-    Ostream& os
-) const
-{
-    fvPatchScalarField::write(os);
-    os.writeKeyword("mixingLength")
-        << mixingLength_ << token::END_STATEMENT << nl;
-    os.writeKeyword("phi") << this->phiName_ << token::END_STATEMENT << nl;
-    os.writeKeyword("k") << kName_ << token::END_STATEMENT << nl;
-    writeEntry("value", os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    turbulentMixingLengthDissipationRateInletFvPatchScalarField
-);
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.H
deleted file mode 100644
index 63aa24b8eb6..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.H
+++ /dev/null
@@ -1,203 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::
-        turbulentMixingLengthDissipationRateInletFvPatchScalarField
-
-Group
-    grpCmpRASBoundaryConditions grpInletBoundaryConditions
-
-Description
-    This boundary condition provides a turbulence dissipation, \f$\epsilon\f$
-    (epsilon) inlet condition based on a specified mixing length.  The patch
-    values are calculated using:
-
-        \f[
-            \epsilon_p = \frac{C_{\mu}^{0.75} k^{1.5}}{L}
-        \f]
-   
-    where
-
-    \vartable
-        \epsilon_p | patch epsilon values
-        C_{\mu} | Model coefficient, set to 0.09
-        k       | turbulence kinetic energy
-        L       | length scale
-    \endvartable
-
-    \heading Patch usage
-
-    \table
-        Property     | Description             | Required    | Default value
-        mixingLength | Length scale [m]        | yes         |
-        phi          | flux field name         | no          | phi
-        k            | turbulence kinetic energy field name | no | k
-    \endtable
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            compressible::turbulentMixingLengthDissipationRateInlet;
-        mixingLength    0.005;
-        value           uniform 200;   // placeholder
-    }
-    \endverbatim
-
-Note
-    In the event of reverse flow, a zero-gradient condition is applied
-
-SeeAlso
-    Foam::inletOutletFvPatchField
-
-SourceFiles
-    turbulentMixingLengthDissipationRateInletFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleturbulentMixingLengthDissipationRateInletFvPatchField_H
-#define compressibleturbulentMixingLengthDissipationRateInletFvPatchField_H
-
-#include "inletOutletFvPatchFields.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-/*---------------------------------------------------------------------------*\
- Class turbulentMixingLengthDissipationRateInletFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class turbulentMixingLengthDissipationRateInletFvPatchScalarField
-:
-    public inletOutletFvPatchScalarField
-{
-    // Private data
-
-        //- turbulent length scale
-        scalar mixingLength_;
-
-        //- Name of the turbulent kinetic energy field
-        word kName_;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("compressible::turbulentMixingLengthDissipationRateInlet");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        turbulentMixingLengthDissipationRateInletFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        turbulentMixingLengthDissipationRateInletFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        //  turbulentMixingLengthDissipationRateInletFvPatchScalarField
-        //  onto a new patch
-        turbulentMixingLengthDissipationRateInletFvPatchScalarField
-        (
-            const turbulentMixingLengthDissipationRateInletFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        turbulentMixingLengthDissipationRateInletFvPatchScalarField
-        (
-            const turbulentMixingLengthDissipationRateInletFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new turbulentMixingLengthDissipationRateInletFvPatchScalarField
-                (
-                    *this
-                )
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        turbulentMixingLengthDissipationRateInletFvPatchScalarField
-        (
-            const turbulentMixingLengthDissipationRateInletFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new turbulentMixingLengthDissipationRateInletFvPatchScalarField
-                (
-                    *this,
-                    iF
-                )
-            );
-        }
-
-
-    // Member functions
-
-        //- Update the coefficients associated with the patch field
-        virtual void updateCoeffs();
-
-        //- Write
-        virtual void write(Ostream&) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.C
deleted file mode 100644
index 70017d52505..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.C
+++ /dev/null
@@ -1,180 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "turbulentMixingLengthFrequencyInletFvPatchScalarField.H"
-#include "addToRunTimeSelectionTable.H"
-#include "fvPatchFieldMapper.H"
-#include "surfaceFields.H"
-#include "volFields.H"
-#include "RASModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-turbulentMixingLengthFrequencyInletFvPatchScalarField::
-turbulentMixingLengthFrequencyInletFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    inletOutletFvPatchScalarField(p, iF),
-    mixingLength_(0.0),
-    kName_("k")
-{
-    this->refValue() = 0.0;
-    this->refGrad() = 0.0;
-    this->valueFraction() = 0.0;
-}
-
-
-turbulentMixingLengthFrequencyInletFvPatchScalarField::
-turbulentMixingLengthFrequencyInletFvPatchScalarField
-(
-    const turbulentMixingLengthFrequencyInletFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    inletOutletFvPatchScalarField(ptf, p, iF, mapper),
-    mixingLength_(ptf.mixingLength_),
-    kName_(ptf.kName_)
-{}
-
-
-turbulentMixingLengthFrequencyInletFvPatchScalarField::
-turbulentMixingLengthFrequencyInletFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    inletOutletFvPatchScalarField(p, iF),
-    mixingLength_(readScalar(dict.lookup("mixingLength"))),
-    kName_(dict.lookupOrDefault<word>("k", "k"))
-{
-    this->phiName_ = dict.lookupOrDefault<word>("phi", "phi");
-
-    fvPatchScalarField::operator=(scalarField("value", dict, p.size()));
-
-    this->refValue() = 0.0;
-    this->refGrad() = 0.0;
-    this->valueFraction() = 0.0;
-}
-
-
-turbulentMixingLengthFrequencyInletFvPatchScalarField::
-turbulentMixingLengthFrequencyInletFvPatchScalarField
-(
-    const turbulentMixingLengthFrequencyInletFvPatchScalarField& ptf
-)
-:
-    inletOutletFvPatchScalarField(ptf),
-    mixingLength_(ptf.mixingLength_),
-    kName_(ptf.kName_)
-{}
-
-
-turbulentMixingLengthFrequencyInletFvPatchScalarField::
-turbulentMixingLengthFrequencyInletFvPatchScalarField
-(
-    const turbulentMixingLengthFrequencyInletFvPatchScalarField& ptf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    inletOutletFvPatchScalarField(ptf, iF),
-    mixingLength_(ptf.mixingLength_),
-    kName_(ptf.kName_)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void turbulentMixingLengthFrequencyInletFvPatchScalarField::updateCoeffs()
-{
-    if (updated())
-    {
-        return;
-    }
-
-    // Lookup Cmu corresponding to the turbulence model selected
-    const turbulenceModel& turbulence =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-
-    const scalar Cmu =
-        turbulence.coeffDict().lookupOrDefault<scalar>("Cmu", 0.09);
-
-    const scalar Cmu25 = pow(Cmu, 0.25);
-
-    const fvPatchScalarField& kp =
-        patch().lookupPatchField<volScalarField, scalar>(kName_);
-
-    const fvsPatchScalarField& phip =
-        patch().lookupPatchField<surfaceScalarField, scalar>(this->phiName_);
-
-    this->refValue() = sqrt(kp)/(Cmu25*mixingLength_);
-    this->valueFraction() = 1.0 - pos(phip);
-
-    inletOutletFvPatchScalarField::updateCoeffs();
-}
-
-
-void turbulentMixingLengthFrequencyInletFvPatchScalarField::write
-(
-    Ostream& os
-) const
-{
-    fvPatchScalarField::write(os);
-    os.writeKeyword("mixingLength")
-        << mixingLength_ << token::END_STATEMENT << nl;
-    os.writeKeyword("phi") << this->phiName_ << token::END_STATEMENT << nl;
-    os.writeKeyword("k") << kName_ << token::END_STATEMENT << nl;
-    writeEntry("value", os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    turbulentMixingLengthFrequencyInletFvPatchScalarField
-);
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.H
deleted file mode 100644
index cafd2d9d108..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.H
+++ /dev/null
@@ -1,202 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::turbulentMixingLengthFrequencyInletFvPatchScalarField
-
-Group
-    grpCmpRASBoundaryConditions grpInletBoundaryConditions
-
-Description
-    This boundary condition provides a turbulence specific dissipation,
-    \f$\omega\f$ (omega) inlet condition based on a specified mixing length.
-    The patch values are calculated using:
-
-        \f[
-            \omega_p = \frac{k^{0.5}}{C_{\mu}^{0.25} L}
-        \f]
-   
-    where
-
-    \vartable
-        \omega_p | patch omega values
-        C_{\mu} | Model coefficient, set to 0.09
-        k       | turbulence kinetic energy
-        L       | length scale
-    \endvartable
-
-    \heading Patch usage
-
-    \table
-        Property     | Description             | Required    | Default value
-        mixingLength | Length scale [m]        | yes         |
-        phi          | flux field name         | no          | phi
-        k            | turbulence kinetic energy field name | no | k
-    \endtable
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            compressible::turbulentMixingLengthFrequencyInlet;
-        mixingLength    0.005;
-        value           uniform 200;   // placeholder
-    }
-    \endverbatim
-
-Note
-    In the event of reverse flow, a zero-gradient condition is applied
-
-SeeAlso
-    Foam::inletOutletFvPatchField
-
-SourceFiles
-    turbulentMixingLengthFrequencyInletFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleturbulentMixingLengthFrequencyInletFvPatchScalarField_H
-#define compressibleturbulentMixingLengthFrequencyInletFvPatchScalarField_H
-
-#include "inletOutletFvPatchFields.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-/*---------------------------------------------------------------------------*\
-    Class turbulentMixingLengthFrequencyInletFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class turbulentMixingLengthFrequencyInletFvPatchScalarField
-:
-    public inletOutletFvPatchScalarField
-{
-    // Private data
-
-        //- Turbulent length scale
-        scalar mixingLength_;
-
-        //- Name of the turbulent kinetic energy field
-        word kName_;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("compressible::turbulentMixingLengthFrequencyInlet");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        turbulentMixingLengthFrequencyInletFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        turbulentMixingLengthFrequencyInletFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        //  turbulentMixingLengthFrequencyInletFvPatchScalarField
-        //  onto a new patch
-        turbulentMixingLengthFrequencyInletFvPatchScalarField
-        (
-            const turbulentMixingLengthFrequencyInletFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        turbulentMixingLengthFrequencyInletFvPatchScalarField
-        (
-            const turbulentMixingLengthFrequencyInletFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new turbulentMixingLengthFrequencyInletFvPatchScalarField
-                (
-                    *this
-                )
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        turbulentMixingLengthFrequencyInletFvPatchScalarField
-        (
-            const turbulentMixingLengthFrequencyInletFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new turbulentMixingLengthFrequencyInletFvPatchScalarField
-                (
-                    *this,
-                    iF
-                )
-            );
-        }
-
-
-    // Member functions
-
-        //- Update the coefficients associated with the patch field
-        virtual void updateCoeffs();
-
-        //- Write
-        virtual void write(Ostream&) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonLowReWallFunction/epsilonLowReWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonLowReWallFunction/epsilonLowReWallFunctionFvPatchScalarField.C
deleted file mode 100644
index 347993c1fb3..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonLowReWallFunction/epsilonLowReWallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,196 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "epsilonLowReWallFunctionFvPatchScalarField.H"
-#include "compressible/turbulenceModel/turbulenceModel.H"
-#include "fvPatchFieldMapper.H"
-#include "volFields.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-scalar epsilonLowReWallFunctionFvPatchScalarField::yPlusLam
-(
-    const scalar kappa,
-    const scalar E
-)
-{
-    scalar ypl = 11.0;
-
-    for (int i=0; i<10; i++)
-    {
-        ypl = log(max(E*ypl, 1))/kappa;
-    }
-
-    return ypl;
-}
-
-
-void epsilonLowReWallFunctionFvPatchScalarField::calculate
-(
-    const turbulenceModel& turbulence,
-    const List<scalar>& cornerWeights,
-    const fvPatch& patch,
-    scalarField& G,
-    scalarField& epsilon
-)
-{
-    const label patchI = patch.index();
-
-    const scalarField& y = turbulence.y()[patchI];
-
-    const scalar Cmu25 = pow025(Cmu_);
-    const scalar Cmu75 = pow(Cmu_, 0.75);
-
-    const tmp<volScalarField> tk = turbulence.k();
-    const volScalarField& k = tk();
-
-    const tmp<volScalarField> tmu = turbulence.mu();
-    const scalarField& muw = tmu().boundaryField()[patchI];
-
-    const tmp<volScalarField> tmut = turbulence.mut();
-    const volScalarField& mut = tmut();
-    const scalarField& mutw = mut.boundaryField()[patchI];
-
-    const scalarField& rhow = turbulence.rho().boundaryField()[patchI];
-
-    const fvPatchVectorField& Uw = turbulence.U().boundaryField()[patchI];
-
-    const scalarField magGradUw(mag(Uw.snGrad()));
-
-    // Set epsilon and G
-    forAll(mutw, faceI)
-    {
-        label cellI = patch.faceCells()[faceI];
-
-        scalar yPlus = Cmu25*sqrt(k[cellI])*y[faceI]/(muw[faceI]/rhow[faceI]);
-
-        scalar w = cornerWeights[faceI];
-
-        if (yPlus > yPlusLam_)
-        {
-            epsilon[cellI] = w*Cmu75*pow(k[cellI], 1.5)/(kappa_*y[faceI]);
-        }
-        else
-        {
-            epsilon[cellI] =
-                w*2.0*k[cellI]*muw[faceI]/rhow[faceI]/sqr(y[faceI]);
-        }
-
-        G[cellI] =
-            w
-           *(mutw[faceI] + muw[faceI])
-           *magGradUw[faceI]
-           *Cmu25*sqrt(k[cellI])
-           /(kappa_*y[faceI]);
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-epsilonLowReWallFunctionFvPatchScalarField::
-epsilonLowReWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    epsilonWallFunctionFvPatchScalarField(p, iF),
-    yPlusLam_(yPlusLam(kappa_, E_))
-{}
-
-
-epsilonLowReWallFunctionFvPatchScalarField::
-epsilonLowReWallFunctionFvPatchScalarField
-(
-    const epsilonLowReWallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    epsilonWallFunctionFvPatchScalarField(ptf, p, iF, mapper),
-    yPlusLam_(ptf.yPlusLam_)
-{}
-
-
-epsilonLowReWallFunctionFvPatchScalarField::
-epsilonLowReWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    epsilonWallFunctionFvPatchScalarField(p, iF, dict),
-    yPlusLam_(yPlusLam(kappa_, E_))
-{}
-
-
-epsilonLowReWallFunctionFvPatchScalarField::
-epsilonLowReWallFunctionFvPatchScalarField
-(
-    const epsilonLowReWallFunctionFvPatchScalarField& ewfpsf
-)
-:
-    epsilonWallFunctionFvPatchScalarField(ewfpsf),
-    yPlusLam_(ewfpsf.yPlusLam_)
-{}
-
-
-epsilonLowReWallFunctionFvPatchScalarField::
-epsilonLowReWallFunctionFvPatchScalarField
-(
-    const epsilonLowReWallFunctionFvPatchScalarField& ewfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    epsilonWallFunctionFvPatchScalarField(ewfpsf, iF),
-    yPlusLam_(ewfpsf.yPlusLam_)
-{}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    epsilonLowReWallFunctionFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonLowReWallFunction/epsilonLowReWallFunctionFvPatchScalarField.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonLowReWallFunction/epsilonLowReWallFunctionFvPatchScalarField.H
deleted file mode 100644
index bac27237c38..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonLowReWallFunction/epsilonLowReWallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,190 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::epsilonLowReWallFunctionFvPatchScalarField
-
-Group
-    grpCmpWallFunctions
-
-Description
-    This boundary condition provides a turbulence dissipation wall function
-    condition for low- and high-Reynolds number turbulent flow cases.
-
-    The condition can be applied to wall boundaries, whereby it inserts near
-    wall epsilon values directly into the epsilon equation to act as a
-    constraint.
-
-    The model operates in two modes, based on the computed laminar-to-turbulent
-    switch-over y+ value derived from kappa and E.
-
-    \heading Patch usage
-
-    \table
-        Property     | Description             | Required    | Default value
-        Cmu          | model coefficient       | no          | 0.09
-        kappa        | Von Karman constant     | no          | 0.41
-        E            | model coefficient       | no          | 9.8
-    \endtable
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            epsilonLowReWallFunction;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::epsilonWallFunctionFvPatchScalarField
-
-SourceFiles
-    epsilonLowReWallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef epsilonLowReWallFunctionFvPatchScalarField_H
-#define epsilonLowReWallFunctionFvPatchScalarField_H
-
-#include "epsilonWallFunctionFvPatchScalarField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-/*---------------------------------------------------------------------------*\
-           Class epsilonLowReWallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class epsilonLowReWallFunctionFvPatchScalarField
-:
-    public epsilonWallFunctionFvPatchScalarField
-{
-
-protected:
-
-    // Protected data
-
-        //- Y+ at the edge of the laminar sublayer
-        scalar yPlusLam_;
-
-
-    // Protected Member Functions
-
-        //- Calculate the Y+ at the edge of the laminar sublayer
-        scalar yPlusLam(const scalar kappa, const scalar E);
-
-        //- Calculate the epsilon and G
-        virtual void calculate
-        (
-            const turbulenceModel& turbulence,
-            const List<scalar>& cornerWeights,
-            const fvPatch& patch,
-            scalarField& G,
-            scalarField& epsilon
-        );
-
-
-public:
-
-    //- Runtime type information
-    TypeName("compressible::epsilonLowReWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        epsilonLowReWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        epsilonLowReWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        //  epsilonLowReWallFunctionFvPatchScalarField
-        //  onto a new patch
-        epsilonLowReWallFunctionFvPatchScalarField
-        (
-            const epsilonLowReWallFunctionFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        epsilonLowReWallFunctionFvPatchScalarField
-        (
-            const epsilonLowReWallFunctionFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new epsilonLowReWallFunctionFvPatchScalarField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        epsilonLowReWallFunctionFvPatchScalarField
-        (
-            const epsilonLowReWallFunctionFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new epsilonLowReWallFunctionFvPatchScalarField(*this, iF)
-            );
-        }
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C
deleted file mode 100644
index 1bf17b6fad6..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,586 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "epsilonWallFunctionFvPatchScalarField.H"
-#include "compressible/turbulenceModel/turbulenceModel.H"
-#include "fvPatchFieldMapper.H"
-#include "fvMatrix.H"
-#include "volFields.H"
-#include "wallFvPatch.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-scalar epsilonWallFunctionFvPatchScalarField::tolerance_ = 1e-5;
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void epsilonWallFunctionFvPatchScalarField::checkType()
-{
-    if (!isA<wallFvPatch>(patch()))
-    {
-        FatalErrorIn("epsilonWallFunctionFvPatchScalarField::checkType()")
-            << "Invalid wall function specification" << nl
-            << "    Patch type for patch " << patch().name()
-            << " must be wall" << nl
-            << "    Current patch type is " << patch().type() << nl << endl
-            << abort(FatalError);
-    }
-}
-
-
-void epsilonWallFunctionFvPatchScalarField::writeLocalEntries(Ostream& os) const
-{
-    os.writeKeyword("Cmu") << Cmu_ << token::END_STATEMENT << nl;
-    os.writeKeyword("kappa") << kappa_ << token::END_STATEMENT << nl;
-    os.writeKeyword("E") << E_ << token::END_STATEMENT << nl;
-}
-
-
-void epsilonWallFunctionFvPatchScalarField::setMaster()
-{
-    if (master_ != -1)
-    {
-        return;
-    }
-
-    const volScalarField& epsilon =
-        static_cast<const volScalarField&>(this->dimensionedInternalField());
-
-    const volScalarField::GeometricBoundaryField& bf = epsilon.boundaryField();
-
-    label master = -1;
-    forAll(bf, patchI)
-    {
-        if (isA<epsilonWallFunctionFvPatchScalarField>(bf[patchI]))
-        {
-            epsilonWallFunctionFvPatchScalarField& epf = epsilonPatch(patchI);
-
-            if (master == -1)
-            {
-                master = patchI;
-            }
-
-            epf.master() = master;
-        }
-    }
-}
-
-
-void epsilonWallFunctionFvPatchScalarField::createAveragingWeights()
-{
-    const volScalarField& epsilon =
-        static_cast<const volScalarField&>(this->dimensionedInternalField());
-
-    const volScalarField::GeometricBoundaryField& bf = epsilon.boundaryField();
-
-    const fvMesh& mesh = epsilon.mesh();
-
-    if (initialised_ && !mesh.changing())
-    {
-        return;
-    }
-
-    volScalarField weights
-    (
-        IOobject
-        (
-            "weights",
-            mesh.time().timeName(),
-            mesh,
-            IOobject::NO_READ,
-            IOobject::NO_WRITE,
-            false // do not register
-        ),
-        mesh,
-        dimensionedScalar("zero", dimless, 0.0)
-    );
-
-    DynamicList<label> epsilonPatches(bf.size());
-    forAll(bf, patchI)
-    {
-        if (isA<epsilonWallFunctionFvPatchScalarField>(bf[patchI]))
-        {
-            epsilonPatches.append(patchI);
-
-            const labelUList& faceCells = bf[patchI].patch().faceCells();
-            forAll(faceCells, i)
-            {
-                label cellI = faceCells[i];
-                weights[cellI]++;
-            }
-        }
-    }
-
-    cornerWeights_.setSize(bf.size());
-    forAll(epsilonPatches, i)
-    {
-        label patchI = epsilonPatches[i];
-        const fvPatchScalarField& wf = weights.boundaryField()[patchI];
-        cornerWeights_[patchI] = 1.0/wf.patchInternalField();
-    }
-
-    G_.setSize(dimensionedInternalField().size(), 0.0);
-    epsilon_.setSize(dimensionedInternalField().size(), 0.0);
-
-    initialised_ = true;
-}
-
-
-epsilonWallFunctionFvPatchScalarField&
-epsilonWallFunctionFvPatchScalarField::epsilonPatch(const label patchI)
-{
-    const volScalarField& epsilon =
-        static_cast<const volScalarField&>(this->dimensionedInternalField());
-
-    const volScalarField::GeometricBoundaryField& bf = epsilon.boundaryField();
-
-    const epsilonWallFunctionFvPatchScalarField& epf =
-        refCast<const epsilonWallFunctionFvPatchScalarField>(bf[patchI]);
-
-    return const_cast<epsilonWallFunctionFvPatchScalarField&>(epf);
-}
-
-
-void epsilonWallFunctionFvPatchScalarField::calculateTurbulenceFields
-(
-    const turbulenceModel& turbulence,
-    scalarField& G0,
-    scalarField& epsilon0
-)
-{
-    // accumulate all of the G and epsilon contributions
-    forAll(cornerWeights_, patchI)
-    {
-        if (!cornerWeights_[patchI].empty())
-        {
-            epsilonWallFunctionFvPatchScalarField& epf = epsilonPatch(patchI);
-
-            const List<scalar>& w = cornerWeights_[patchI];
-
-            epf.calculate(turbulence, w, epf.patch(), G0, epsilon0);
-        }
-    }
-
-    // apply zero-gradient condition for epsilon
-    forAll(cornerWeights_, patchI)
-    {
-        if (!cornerWeights_[patchI].empty())
-        {
-            epsilonWallFunctionFvPatchScalarField& epf = epsilonPatch(patchI);
-
-            epf == scalarField(epsilon0, epf.patch().faceCells());
-        }
-    }
-}
-
-
-void epsilonWallFunctionFvPatchScalarField::calculate
-(
-    const turbulenceModel& turbulence,
-    const List<scalar>& cornerWeights,
-    const fvPatch& patch,
-    scalarField& G,
-    scalarField& epsilon
-)
-{
-    const label patchI = patch.index();
-
-    const scalarField& y = turbulence.y()[patchI];
-
-    const scalar Cmu25 = pow025(Cmu_);
-    const scalar Cmu75 = pow(Cmu_, 0.75);
-
-    const tmp<volScalarField> tk = turbulence.k();
-    const volScalarField& k = tk();
-
-    const tmp<volScalarField> tmu = turbulence.mu();
-    const scalarField& muw = tmu().boundaryField()[patchI];
-
-    const tmp<volScalarField> tmut = turbulence.mut();
-    const volScalarField& mut = tmut();
-    const scalarField& mutw = mut.boundaryField()[patchI];
-
-    const fvPatchVectorField& Uw = turbulence.U().boundaryField()[patchI];
-
-    const scalarField magGradUw(mag(Uw.snGrad()));
-
-    // Set epsilon and G
-    forAll(mutw, faceI)
-    {
-        label cellI = patch.faceCells()[faceI];
-
-        scalar w = cornerWeights[faceI];
-
-        epsilon[cellI] += w*Cmu75*pow(k[cellI], 1.5)/(kappa_*y[faceI]);
-
-        G[cellI] +=
-            w
-           *(mutw[faceI] + muw[faceI])
-           *magGradUw[faceI]
-           *Cmu25*sqrt(k[cellI])
-           /(kappa_*y[faceI]);
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-epsilonWallFunctionFvPatchScalarField::epsilonWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedValueFvPatchField<scalar>(p, iF),
-    Cmu_(0.09),
-    kappa_(0.41),
-    E_(9.8),
-    G_(),
-    epsilon_(),
-    initialised_(false),
-    master_(-1),
-    cornerWeights_()
-{
-    checkType();
-}
-
-
-epsilonWallFunctionFvPatchScalarField::epsilonWallFunctionFvPatchScalarField
-(
-    const epsilonWallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    fixedValueFvPatchField<scalar>(ptf, p, iF, mapper),
-    Cmu_(ptf.Cmu_),
-    kappa_(ptf.kappa_),
-    E_(ptf.E_),
-    G_(),
-    epsilon_(),
-    initialised_(false),
-    master_(-1),
-    cornerWeights_()
-{
-    checkType();
-}
-
-
-epsilonWallFunctionFvPatchScalarField::epsilonWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    fixedValueFvPatchField<scalar>(p, iF, dict),
-    Cmu_(dict.lookupOrDefault<scalar>("Cmu", 0.09)),
-    kappa_(dict.lookupOrDefault<scalar>("kappa", 0.41)),
-    E_(dict.lookupOrDefault<scalar>("E", 9.8)),
-    G_(),
-    epsilon_(),
-    initialised_(false),
-    master_(-1),
-    cornerWeights_()
-{
-    checkType();
-
-    // apply zero-gradient condition on start-up
-    this->operator==(patchInternalField());
-}
-
-
-epsilonWallFunctionFvPatchScalarField::epsilonWallFunctionFvPatchScalarField
-(
-    const epsilonWallFunctionFvPatchScalarField& ewfpsf
-)
-:
-    fixedValueFvPatchField<scalar>(ewfpsf),
-    Cmu_(ewfpsf.Cmu_),
-    kappa_(ewfpsf.kappa_),
-    E_(ewfpsf.E_),
-    G_(),
-    epsilon_(),
-    initialised_(false),
-    master_(-1),
-    cornerWeights_()
-{
-    checkType();
-}
-
-
-epsilonWallFunctionFvPatchScalarField::epsilonWallFunctionFvPatchScalarField
-(
-    const epsilonWallFunctionFvPatchScalarField& ewfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedValueFvPatchField<scalar>(ewfpsf, iF),
-    Cmu_(ewfpsf.Cmu_),
-    kappa_(ewfpsf.kappa_),
-    E_(ewfpsf.E_),
-    G_(),
-    epsilon_(),
-    initialised_(false),
-    master_(-1),
-    cornerWeights_()
-{
-    checkType();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-scalarField& epsilonWallFunctionFvPatchScalarField::G(bool init)
-{
-    if (patch().index() == master_)
-    {
-        if (init)
-        {
-            G_ = 0.0;
-        }
-
-        return G_;
-    }
-
-    return epsilonPatch(master_).G();
-}
-
-
-scalarField& epsilonWallFunctionFvPatchScalarField::epsilon(bool init)
-{
-    if (patch().index() == master_)
-    {
-        if (init)
-        {
-            epsilon_ = 0.0;
-        }
-
-        return epsilon_;
-    }
-
-    return epsilonPatch(master_).epsilon(init);
-}
-
-
-void epsilonWallFunctionFvPatchScalarField::updateCoeffs()
-{
-    if (updated())
-    {
-        return;
-    }
-
-    const turbulenceModel& turbulence =
-        db().lookupObject<turbulenceModel>(turbulenceModel::typeName);
-
-    setMaster();
-
-    if (patch().index() == master_)
-    {
-        createAveragingWeights();
-        calculateTurbulenceFields(turbulence, G(true), epsilon(true));
-    }
-
-    const scalarField& G0 = this->G();
-    const scalarField& epsilon0 = this->epsilon();
-
-    typedef DimensionedField<scalar, volMesh> FieldType;
-
-    FieldType& G =
-        const_cast<FieldType&>
-        (
-            db().lookupObject<FieldType>(turbulence.GName())
-        );
-
-    FieldType& epsilon = const_cast<FieldType&>(dimensionedInternalField());
-
-    forAll(*this, faceI)
-    {
-        label cellI = patch().faceCells()[faceI];
-
-        G[cellI] = G0[cellI];
-        epsilon[cellI] = epsilon0[cellI];
-    }
-
-    fvPatchField<scalar>::updateCoeffs();
-}
-
-
-void epsilonWallFunctionFvPatchScalarField::updateCoeffs
-(
-    const scalarField& weights
-)
-{
-    if (updated())
-    {
-        return;
-    }
-
-    const turbulenceModel& turbulence =
-        db().lookupObject<turbulenceModel>(turbulenceModel::typeName);
-
-    setMaster();
-
-    if (patch().index() == master_)
-    {
-        createAveragingWeights();
-        calculateTurbulenceFields(turbulence, G(true), epsilon(true));
-    }
-
-    const scalarField& G0 = this->G();
-    const scalarField& epsilon0 = this->epsilon();
-
-    typedef DimensionedField<scalar, volMesh> FieldType;
-
-    FieldType& G =
-        const_cast<FieldType&>
-        (
-            db().lookupObject<FieldType>(turbulence.GName())
-        );
-
-    FieldType& epsilon = const_cast<FieldType&>(dimensionedInternalField());
-
-    scalarField& epsilonf = *this;
-
-    // only set the values if the weights are > tolerance
-    forAll(weights, faceI)
-    {
-        scalar w = weights[faceI];
-
-        if (w > tolerance_)
-        {
-            label cellI = patch().faceCells()[faceI];
-
-            G[cellI] = (1.0 - w)*G[cellI] + w*G0[cellI];
-            epsilon[cellI] = (1.0 - w)*epsilon[cellI] + w*epsilon0[cellI];
-            epsilonf[faceI] = epsilon[cellI];
-        }
-    }
-
-    fvPatchField<scalar>::updateCoeffs();
-}
-
-
-void epsilonWallFunctionFvPatchScalarField::manipulateMatrix
-(
-    fvMatrix<scalar>& matrix
-)
-{
-    if (manipulatedMatrix())
-    {
-        return;
-    }
-
-    matrix.setValues(patch().faceCells(), patchInternalField());
-
-    fvPatchField<scalar>::manipulateMatrix(matrix);
-}
-
-
-void epsilonWallFunctionFvPatchScalarField::manipulateMatrix
-(
-    fvMatrix<scalar>& matrix,
-    const Field<scalar>& weights
-)
-{
-    if (manipulatedMatrix())
-    {
-        return;
-    }
-
-    // filter weights so that we only apply the constraint where the
-    // weight > SMALL
-    DynamicList<label> constraintCells(weights.size());
-    DynamicList<scalar> constraintEpsilon(weights.size());
-    const labelUList& faceCells = patch().faceCells();
-
-    const DimensionedField<scalar, volMesh>& epsilon =
-        dimensionedInternalField();
-
-    label nConstrainedCells = 0;
-
-
-    forAll(weights, faceI)
-    {
-        // only set the values if the weights are > tolerance
-        if (weights[faceI] > tolerance_)
-        {
-            nConstrainedCells++;
-
-            label cellI = faceCells[faceI];
-
-            constraintCells.append(cellI);
-            constraintEpsilon.append(epsilon[cellI]);
-        }
-    }
-
-    if (debug)
-    {
-        Pout<< "Patch: " << patch().name()
-            << ": number of constrained cells = " << nConstrainedCells
-            << " out of " << patch().size()
-            << endl;
-    }
-
-    matrix.setValues
-    (
-        constraintCells,
-        scalarField(constraintEpsilon.xfer())
-    );
-
-    fvPatchField<scalar>::manipulateMatrix(matrix);
-}
-
-
-void epsilonWallFunctionFvPatchScalarField::write(Ostream& os) const
-{
-    fixedValueFvPatchField<scalar>::write(os);
-    writeLocalEntries(os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    epsilonWallFunctionFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.H
deleted file mode 100644
index b024313213d..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,292 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::epsilonWallFunctionFvPatchScalarField
-
-Group
-    grpCmpWallFunctions
-
-Description
-    This boundary condition provides a turbulence dissipation wall function
-    condition for high Reynolds number, turbulent flow cases.
-
-    The condition can be applied to wall boundaries, whereby it
-    - calculates \c epsilon and \c G
-    - inserts near wall epsilon values directly into the epsilon equation
-        to act as a constraint
-
-    where
-
-    \vartable
-        epsilon | turblence dissipation field
-        G       | turblence generation field
-    \endvartable
-
-    \heading Patch usage
-
-    \table
-        Property     | Description             | Required    | Default value
-        Cmu          | model coefficient       | no          | 0.09
-        kappa        | Von Karman constant     | no          | 0.41
-        E            | model coefficient       | no          | 9.8
-    \endtable
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            compressible::epsilonWallFunction;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::fixedInternalValueFvPatchField
-
-SourceFiles
-    epsilonWallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleEpsilonWallFunctionFvPatchScalarField_H
-#define compressibleEpsilonWallFunctionFvPatchScalarField_H
-
-#include "fixedValueFvPatchField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-class turbulenceModel;
-
-/*---------------------------------------------------------------------------*\
-           Class epsilonWallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class epsilonWallFunctionFvPatchScalarField
-:
-    public fixedValueFvPatchField<scalar>
-{
-protected:
-
-    // Protected data
-
-        //- Tolerance used in weighted calculations
-        static scalar tolerance_;
-
-        //- Cmu coefficient
-        scalar Cmu_;
-
-        //- Von Karman constant
-        scalar kappa_;
-
-        //- E coefficient
-        scalar E_;
-
-        //- Local copy of turbulence G field
-        scalarField G_;
-
-        //- Local copy of turbulence epsilon field
-        scalarField epsilon_;
-
-        //- Initialised flag
-        bool initialised_;
-
-        //- Master patch ID
-        label master_;
-
-        //- List of averaging corner weights
-        List<List<scalar> > cornerWeights_;
-
-
-    // Protected Member Functions
-
-        //- Check the type of the patch
-        virtual void checkType();
-
-        //- Write local wall function variables
-        virtual void writeLocalEntries(Ostream&) const;
-
-        //- Set the master patch - master is responsible for updating all
-        //  wall function patches
-        virtual void setMaster();
-
-        //- Create the averaging weights for cells which are bounded by
-        //  multiple wall function faces
-        virtual void createAveragingWeights();
-
-        //- Helper function to return non-const access to an epsilon patch
-        virtual epsilonWallFunctionFvPatchScalarField& epsilonPatch
-        (
-            const label patchI
-        );
-
-        //- Main driver to calculate the turbulence fields
-        virtual void calculateTurbulenceFields
-        (
-            const turbulenceModel& turbulence,
-            scalarField& G0,
-            scalarField& epsilon0
-        );
-
-        //- Calculate the epsilon and G
-        virtual void calculate
-        (
-            const turbulenceModel& turbulence,
-            const List<scalar>& cornerWeights,
-            const fvPatch& patch,
-            scalarField& G,
-            scalarField& epsilon
-        );
-
-        //- Return non-const access to the master patch ID
-        virtual label& master()
-        {
-            return master_;
-        }
-
-
-public:
-
-    //- Runtime type information
-    TypeName("compressible::epsilonWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        epsilonWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        epsilonWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        //  epsilonWallFunctionFvPatchScalarField
-        //  onto a new patch
-        epsilonWallFunctionFvPatchScalarField
-        (
-            const epsilonWallFunctionFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        epsilonWallFunctionFvPatchScalarField
-        (
-            const epsilonWallFunctionFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new epsilonWallFunctionFvPatchScalarField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        epsilonWallFunctionFvPatchScalarField
-        (
-            const epsilonWallFunctionFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new epsilonWallFunctionFvPatchScalarField(*this, iF)
-            );
-        }
-
-
-    //- Destructor
-    virtual ~epsilonWallFunctionFvPatchScalarField()
-    {}
-
-
-    // Member functions
-
-        // Access
-
-            //- Return non-const access to the master's G field
-            scalarField& G(bool init = false);
-
-            //- Return non-const access to the master's epsilon field
-            scalarField& epsilon(bool init = false);
-
-
-        // Evaluation functions
-
-            //- Update the coefficients associated with the patch field
-            virtual void updateCoeffs();
-
-            //- Update the coefficients associated with the patch field
-            virtual void updateCoeffs(const scalarField& weights);
-
-            //- Manipulate matrix
-            virtual void manipulateMatrix(fvMatrix<scalar>& matrix);
-
-            //- Manipulate matrix with given weights
-            virtual void manipulateMatrix
-            (
-                fvMatrix<scalar>& matrix,
-                const scalarField& weights
-            );
-
-
-        // I-O
-
-            //- Write
-            virtual void write(Ostream&) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.C
deleted file mode 100644
index 60ad82717c4..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,263 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "fWallFunctionFvPatchScalarField.H"
-#include "fvPatchFieldMapper.H"
-#include "volFields.H"
-#include "wallFvPatch.H"
-#include "v2f.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace RASModels
-{
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-void fWallFunctionFvPatchScalarField::checkType()
-{
-    if (!isA<wallFvPatch>(patch()))
-    {
-        FatalErrorIn("fWallFunctionFvPatchScalarField::checkType()")
-            << "Invalid wall function specification" << nl
-            << "    Patch type for patch " << patch().name()
-            << " must be wall" << nl
-            << "    Current patch type is " << patch().type() << nl << endl
-            << abort(FatalError);
-    }
-}
-
-
-void fWallFunctionFvPatchScalarField::writeLocalEntries(Ostream& os) const
-{
-    os.writeKeyword("Cmu") << Cmu_ << token::END_STATEMENT << nl;
-    os.writeKeyword("kappa") << kappa_ << token::END_STATEMENT << nl;
-    os.writeKeyword("E") << E_ << token::END_STATEMENT << nl;
-}
-
-
-scalar fWallFunctionFvPatchScalarField::yPlusLam
-(
-    const scalar kappa,
-    const scalar E
-)
-{
-    scalar ypl = 11.0;
-
-    for (int i=0; i<10; i++)
-    {
-        ypl = log(max(E*ypl, 1))/kappa;
-    }
-
-    return ypl;
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-fWallFunctionFvPatchScalarField::fWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedValueFvPatchField<scalar>(p, iF),
-    Cmu_(0.09),
-    kappa_(0.41),
-    E_(9.8),
-    yPlusLam_(yPlusLam(kappa_, E_))
-{
-    checkType();
-}
-
-
-fWallFunctionFvPatchScalarField::fWallFunctionFvPatchScalarField
-(
-    const fWallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    fixedValueFvPatchField<scalar>(ptf, p, iF, mapper),
-    Cmu_(ptf.Cmu_),
-    kappa_(ptf.kappa_),
-    E_(ptf.E_),
-    yPlusLam_(ptf.yPlusLam_)
-{
-    checkType();
-}
-
-
-fWallFunctionFvPatchScalarField::fWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    fixedValueFvPatchField<scalar>(p, iF, dict),
-    Cmu_(dict.lookupOrDefault<scalar>("Cmu", 0.09)),
-    kappa_(dict.lookupOrDefault<scalar>("kappa", 0.41)),
-    E_(dict.lookupOrDefault<scalar>("E", 9.8)),
-    yPlusLam_(yPlusLam(kappa_, E_))
-{
-    checkType();
-}
-
-
-fWallFunctionFvPatchScalarField::fWallFunctionFvPatchScalarField
-(
-    const fWallFunctionFvPatchScalarField& v2wfpsf
-)
-:
-    fixedValueFvPatchField<scalar>(v2wfpsf),
-    Cmu_(v2wfpsf.Cmu_),
-    kappa_(v2wfpsf.kappa_),
-    E_(v2wfpsf.E_),
-    yPlusLam_(v2wfpsf.yPlusLam_)
-{
-    checkType();
-}
-
-
-fWallFunctionFvPatchScalarField::fWallFunctionFvPatchScalarField
-(
-    const fWallFunctionFvPatchScalarField& v2wfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedValueFvPatchField<scalar>(v2wfpsf, iF),
-    Cmu_(v2wfpsf.Cmu_),
-    kappa_(v2wfpsf.kappa_),
-    E_(v2wfpsf.E_),
-    yPlusLam_(v2wfpsf.yPlusLam_)
-{
-    checkType();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void fWallFunctionFvPatchScalarField::updateCoeffs()
-{
-    if (updated())
-    {
-        return;
-    }
-
-    const label patchI = patch().index();
-
-    const turbulenceModel& turbulence =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-    const v2f& v2fModel = refCast<const v2f>(turbulence);
-
-    const scalarField& y = v2fModel.y()[patchI];
-
-    const tmp<volScalarField> tk = v2fModel.k();
-    const volScalarField& k = tk();
-
-    const tmp<volScalarField> tepsilon = v2fModel.epsilon();
-    const volScalarField& epsilon = tepsilon();
-
-    const tmp<volScalarField> tv2 = v2fModel.v2();
-    const volScalarField& v2 = tv2();
-
-    const tmp<volScalarField> tmu = v2fModel.mu();
-    const scalarField& muw = tmu().boundaryField()[patchI];
-
-    const scalarField& rhow = v2fModel.rho().boundaryField()[patchI];
-
-    const scalar Cmu25 = pow025(Cmu_);
-
-    scalarField& f = *this;
-
-    // Set f wall values
-    forAll(f, faceI)
-    {
-        label faceCellI = patch().faceCells()[faceI];
-
-        scalar uTau = Cmu25*sqrt(k[faceCellI]);
-
-        scalar yPlus = uTau*y[faceI]/(muw[faceI]/rhow[faceI]);
-
-        if (yPlus > yPlusLam_)
-        {
-            scalar N = 6.0;
-            scalar v2c = v2[faceCellI];
-            scalar epsc = epsilon[faceCellI];
-            scalar kc = k[faceCellI];
-
-            f[faceI] = N*v2c*epsc/(sqr(kc) + ROOTVSMALL);
-            f[faceI] /= sqr(uTau) + ROOTVSMALL;
-        }
-        else
-        {
-            f[faceI] = 0.0;
-        }
-    }
-
-    fixedValueFvPatchField<scalar>::updateCoeffs();
-
-    // TODO: perform averaging for cells sharing more than one boundary face
-}
-
-
-void fWallFunctionFvPatchScalarField::evaluate
-(
-    const Pstream::commsTypes commsType
-)
-{
-    fixedValueFvPatchField<scalar>::evaluate(commsType);
-}
-
-
-void fWallFunctionFvPatchScalarField::write(Ostream& os) const
-{
-    writeLocalEntries(os);
-    fixedValueFvPatchField<scalar>::write(os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    fWallFunctionFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.H
deleted file mode 100644
index 6163d05ad9c..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,209 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::RASModels::fWallFunctionFvPatchScalarField
-
-Group
-    grpCmpWallFunctions
-
-Description
-    This boundary condition provides a turbulence damping function, f, wall
-    function condition for low- and high Reynolds number, turbulent flow cases
-
-    The model operates in two modes, based on the computed laminar-to-turbulent
-    switch-over y+ value derived from kappa and E.
-
-    \heading Patch usage
-
-    \table
-        Property     | Description             | Required    | Default value
-        Cmu          | model coefficient       | no          | 0.09
-        kappa        | Von Karman constant     | no          | 0.41
-        E            | model coefficient       | no          | 9.8
-    \endtable
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            fWallFunction;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::fixedValueFvPatchField
-
-SourceFiles
-    fWallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef fWallFunctionFvPatchScalarField_H
-#define fWallFunctionFvPatchScalarField_H
-
-#include "fixedValueFvPatchField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace RASModels
-{
-
-/*---------------------------------------------------------------------------*\
-               Class fWallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class fWallFunctionFvPatchScalarField
-:
-    public fixedValueFvPatchField<scalar>
-{
-protected:
-
-    // Protected data
-
-        //- Cmu coefficient
-        scalar Cmu_;
-
-        //- Von Karman constant
-        scalar kappa_;
-
-        //- E coefficient
-        scalar E_;
-
-        //- Y+ at the edge of the laminar sublayer
-        scalar yPlusLam_;
-
-
-    // Protected Member Functions
-
-        //- Check the type of the patch
-        virtual void checkType();
-
-        //- Write local wall function variables
-        virtual void writeLocalEntries(Ostream&) const;
-
-        //- Calculate the Y+ at the edge of the laminar sublayer
-        scalar yPlusLam(const scalar kappa, const scalar E);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("compressible::fWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        fWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        fWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given fWallFunctionFvPatchScalarField
-        //  onto a new patch
-        fWallFunctionFvPatchScalarField
-        (
-            const fWallFunctionFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        fWallFunctionFvPatchScalarField
-        (
-            const fWallFunctionFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new fWallFunctionFvPatchScalarField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        fWallFunctionFvPatchScalarField
-        (
-            const fWallFunctionFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new fWallFunctionFvPatchScalarField(*this, iF)
-            );
-        }
-
-
-    // Member functions
-
-        // Evaluation functions
-
-            //- Update the coefficients associated with the patch field
-            virtual void updateCoeffs();
-
-            //- Evaluate the patchField
-            virtual void evaluate(const Pstream::commsTypes);
-
-
-        // I-O
-
-            //- Write
-            virtual void write(Ostream&) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.C
deleted file mode 100644
index 72a987b6897..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,255 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "kLowReWallFunctionFvPatchScalarField.H"
-#include "compressible/turbulenceModel/turbulenceModel.H"
-#include "fvPatchFieldMapper.H"
-#include "volFields.H"
-#include "addToRunTimeSelectionTable.H"
-#include "wallFvPatch.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void kLowReWallFunctionFvPatchScalarField::checkType()
-{
-    if (!isA<wallFvPatch>(patch()))
-    {
-        FatalErrorIn("kLowReWallFunctionFvPatchScalarField::checkType()")
-            << "Invalid wall function specification" << nl
-            << "    Patch type for patch " << patch().name()
-            << " must be wall" << nl
-            << "    Current patch type is " << patch().type() << nl << endl
-            << abort(FatalError);
-    }
-}
-
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-scalar kLowReWallFunctionFvPatchScalarField::yPlusLam
-(
-    const scalar kappa,
-    const scalar E
-)
-{
-    scalar ypl = 11.0;
-
-    for (int i=0; i<10; i++)
-    {
-        ypl = log(max(E*ypl, 1))/kappa;
-    }
-
-    return ypl;
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-kLowReWallFunctionFvPatchScalarField::kLowReWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedValueFvPatchField<scalar>(p, iF),
-    Cmu_(0.09),
-    kappa_(0.41),
-    E_(9.8),
-    Ceps2_(1.9),
-    yPlusLam_(yPlusLam(kappa_, E_))
-{
-    checkType();
-}
-
-
-kLowReWallFunctionFvPatchScalarField::kLowReWallFunctionFvPatchScalarField
-(
-    const kLowReWallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    fixedValueFvPatchField<scalar>(ptf, p, iF, mapper),
-    Cmu_(ptf.Cmu_),
-    kappa_(ptf.kappa_),
-    E_(ptf.E_),
-    Ceps2_(ptf.Ceps2_),
-    yPlusLam_(ptf.yPlusLam_)
-{
-    checkType();
-}
-
-
-kLowReWallFunctionFvPatchScalarField::kLowReWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    fixedValueFvPatchField<scalar>(p, iF, dict),
-    Cmu_(dict.lookupOrDefault<scalar>("Cmu", 0.09)),
-    kappa_(dict.lookupOrDefault<scalar>("kappa", 0.41)),
-    E_(dict.lookupOrDefault<scalar>("E", 9.8)),
-    Ceps2_(dict.lookupOrDefault<scalar>("Ceps2", 1.9)),
-    yPlusLam_(yPlusLam(kappa_, E_))
-{
-    checkType();
-}
-
-
-kLowReWallFunctionFvPatchScalarField::kLowReWallFunctionFvPatchScalarField
-(
-    const kLowReWallFunctionFvPatchScalarField& kwfpsf
-)
-:
-    fixedValueFvPatchField<scalar>(kwfpsf),
-    Cmu_(kwfpsf.Cmu_),
-    kappa_(kwfpsf.kappa_),
-    E_(kwfpsf.E_),
-    Ceps2_(kwfpsf.Ceps2_),
-    yPlusLam_(kwfpsf.yPlusLam_)
-{
-    checkType();
-}
-
-
-kLowReWallFunctionFvPatchScalarField::kLowReWallFunctionFvPatchScalarField
-(
-    const kLowReWallFunctionFvPatchScalarField& kwfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedValueFvPatchField<scalar>(kwfpsf, iF),
-    Cmu_(kwfpsf.Cmu_),
-    kappa_(kwfpsf.kappa_),
-    E_(kwfpsf.E_),
-    Ceps2_(kwfpsf.Ceps2_),
-    yPlusLam_(kwfpsf.yPlusLam_)
-{
-    checkType();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void kLowReWallFunctionFvPatchScalarField::updateCoeffs()
-{
-    if (updated())
-    {
-        return;
-    }
-
-    const label patchI = patch().index();
-
-    const turbulenceModel& turbulence =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-    const scalarField& y = turbulence.y()[patchI];
-
-    const tmp<volScalarField> tk = turbulence.k();
-    const volScalarField& k = tk();
-
-    const tmp<volScalarField> tmu = turbulence.mu();
-    const scalarField& muw = tmu().boundaryField()[patchI];
-
-    const scalarField& rhow = turbulence.rho().boundaryField()[patchI];
-
-    const scalar Cmu25 = pow025(Cmu_);
-
-    scalarField& kw = *this;
-
-    // Set k wall values
-    forAll(kw, faceI)
-    {
-        label faceCellI = patch().faceCells()[faceI];
-
-        scalar uTau = Cmu25*sqrt(k[faceCellI]);
-
-        scalar yPlus = uTau*y[faceI]/(muw[faceI]/rhow[faceI]);
-
-        if (yPlus > yPlusLam_)
-        {
-            scalar Ck = -0.416;
-            scalar Bk = 8.366;
-            kw[faceI] = Ck/kappa_*log(yPlus) + Bk;
-        }
-        else
-        {
-            scalar C = 11.0;
-            scalar Cf = (1.0/sqr(yPlus + C) + 2.0*yPlus/pow3(C) - 1.0/sqr(C));
-            kw[faceI] = 2400.0/sqr(Ceps2_)*Cf;
-        }
-
-        kw[faceI] *= sqr(uTau);
-    }
-
-    fixedValueFvPatchField<scalar>::updateCoeffs();
-
-    // TODO: perform averaging for cells sharing more than one boundary face
-}
-
-
-void kLowReWallFunctionFvPatchScalarField::evaluate
-(
-    const Pstream::commsTypes commsType
-)
-{
-    fixedValueFvPatchField<scalar>::evaluate(commsType);
-}
-
-
-void kLowReWallFunctionFvPatchScalarField::write(Ostream& os) const
-{
-    fvPatchField<scalar>::write(os);
-    os.writeKeyword("Cmu") << Cmu_ << token::END_STATEMENT << nl;
-    os.writeKeyword("kappa") << kappa_ << token::END_STATEMENT << nl;
-    os.writeKeyword("E") << E_ << token::END_STATEMENT << nl;
-    os.writeKeyword("Ceps2") << Ceps2_ << token::END_STATEMENT << nl;
-    writeEntry("value", os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    kLowReWallFunctionFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.H
deleted file mode 100644
index 511bc19b6c6..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,207 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::kLowReWallFunctionFvPatchScalarField
-
-Group
-    grpCmpWallFunctions
-
-Description
-    This boundary condition provides a turbulence kinetic energy wall function
-    condition for low- and high-Reynolds number turbulent flow cases.
-
-    The model operates in two modes, based on the computed laminar-to-turbulent
-    switch-over y+ value derived from kappa and E.
-
-    \heading Patch usage
-
-    \table
-        Property     | Description             | Required    | Default value
-        Cmu          | model coefficient       | no          | 0.09
-        kappa        | Von Karman constant     | no          | 0.41
-        E            | model coefficient       | no          | 9.8
-        Ceps2        | model coefficient       | no          | 1.9
-    \endtable
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            kLowReWallFunction;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::fixedValueFvPatchField
-
-SourceFiles
-    kLowReWallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef kLowReWallFunctionFvPatchScalarField_H
-#define kLowReWallFunctionFvPatchScalarField_H
-
-#include "fixedValueFvPatchField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-/*---------------------------------------------------------------------------*\
-            Class kLowReWallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class kLowReWallFunctionFvPatchScalarField
-:
-    public fixedValueFvPatchField<scalar>
-{
-protected:
-
-    // Protected data
-
-        //- Cmu coefficient
-        scalar Cmu_;
-
-        //- Von Karman constant
-        scalar kappa_;
-
-        //- E coefficient
-        scalar E_;
-
-        //- Ceps2 coefficient
-        scalar Ceps2_;
-
-        //- Y+ at the edge of the laminar sublayer
-        scalar yPlusLam_;
-
-
-    // Protected Member Functions
-
-        //- Check the type of the patch
-        virtual void checkType();
-
-        //- Calculate the Y+ at the edge of the laminar sublayer
-        scalar yPlusLam(const scalar kappa, const scalar E);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("compressible::kLowReWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        kLowReWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        kLowReWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given kLowReWallFunctionFvPatchScalarField
-        //  onto a new patch
-        kLowReWallFunctionFvPatchScalarField
-        (
-            const kLowReWallFunctionFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        kLowReWallFunctionFvPatchScalarField
-        (
-            const kLowReWallFunctionFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new kLowReWallFunctionFvPatchScalarField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        kLowReWallFunctionFvPatchScalarField
-        (
-            const kLowReWallFunctionFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new kLowReWallFunctionFvPatchScalarField(*this, iF)
-            );
-        }
-
-
-    // Member functions
-
-        // Evaluation functions
-
-            //- Update the coefficients associated with the patch field
-            virtual void updateCoeffs();
-
-            //- Evaluate the patchField
-            virtual void evaluate(const Pstream::commsTypes);
-
-
-        // I-O
-
-            //- Write
-            virtual void write(Ostream&) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.C
deleted file mode 100644
index 0d0fc613812..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.C
+++ /dev/null
@@ -1,150 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "kqRWallFunctionFvPatchField.H"
-#include "fvPatchFieldMapper.H"
-#include "addToRunTimeSelectionTable.H"
-#include "wallFvPatch.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-template<class Type>
-void kqRWallFunctionFvPatchField<Type>::checkType()
-{
-    if (!isA<wallFvPatch>(this->patch()))
-    {
-        FatalErrorIn("kqRWallFunctionFvPatchField::checkType()")
-            << "Invalid wall function specification" << nl
-            << "    Patch type for patch " << this->patch().name()
-            << " must be wall" << nl
-            << "    Current patch type is " << this->patch().type()
-            << nl << endl
-            << abort(FatalError);
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-template<class Type>
-kqRWallFunctionFvPatchField<Type>::kqRWallFunctionFvPatchField
-(
-    const fvPatch& p,
-    const DimensionedField<Type, volMesh>& iF
-)
-:
-    zeroGradientFvPatchField<Type>(p, iF)
-{
-    checkType();
-}
-
-
-template<class Type>
-kqRWallFunctionFvPatchField<Type>::kqRWallFunctionFvPatchField
-(
-    const kqRWallFunctionFvPatchField& ptf,
-    const fvPatch& p,
-    const DimensionedField<Type, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    zeroGradientFvPatchField<Type>(ptf, p, iF, mapper)
-{
-    checkType();
-}
-
-
-template<class Type>
-kqRWallFunctionFvPatchField<Type>::kqRWallFunctionFvPatchField
-(
-    const fvPatch& p,
-    const DimensionedField<Type, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    zeroGradientFvPatchField<Type>(p, iF, dict)
-{
-    checkType();
-}
-
-
-template<class Type>
-kqRWallFunctionFvPatchField<Type>::kqRWallFunctionFvPatchField
-(
-    const kqRWallFunctionFvPatchField& tkqrwfpf
-)
-:
-    zeroGradientFvPatchField<Type>(tkqrwfpf)
-{
-    checkType();
-}
-
-
-template<class Type>
-kqRWallFunctionFvPatchField<Type>::kqRWallFunctionFvPatchField
-(
-    const kqRWallFunctionFvPatchField& tkqrwfpf,
-    const DimensionedField<Type, volMesh>& iF
-)
-:
-    zeroGradientFvPatchField<Type>(tkqrwfpf, iF)
-{
-    checkType();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-template<class Type>
-void kqRWallFunctionFvPatchField<Type>::evaluate
-(
-    const Pstream::commsTypes commsType
-)
-{
-    zeroGradientFvPatchField<Type>::evaluate(commsType);
-}
-
-
-template<class Type>
-void kqRWallFunctionFvPatchField<Type>::write(Ostream& os) const
-{
-    zeroGradientFvPatchField<Type>::write(os);
-    this->writeEntry("value", os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.H
deleted file mode 100644
index e96076fbc76..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.H
+++ /dev/null
@@ -1,182 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::kqRWallFunctionFvPatchField
-
-Group
-    grpCmpWallFunctions
-
-Description
-    This boundary condition is applied to turbulence \c k, \c q, and \c R
-    when using wall functions, and simply enforces a zero-gradient condition.
-
-    \heading Patch usage
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            compressible::kqRWallFunction;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::zeroGradientFvPatchField
-
-SourceFiles
-    kqRWallFunctionFvPatchField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressiblekqRWallFunctionFvPatchField_H
-#define compressiblekqRWallFunctionFvPatchField_H
-
-#include "zeroGradientFvPatchField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-/*---------------------------------------------------------------------------*\
-                Class kqRWallFunctionFvPatchField Declaration
-\*---------------------------------------------------------------------------*/
-
-template<class Type>
-class kqRWallFunctionFvPatchField
-:
-    public zeroGradientFvPatchField<Type>
-{
-
-    // Private Member Functions
-
-        //- Check the type of the patch
-        void checkType();
-
-
-public:
-
-    //- Runtime type information
-    TypeName("compressible::kqRWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        kqRWallFunctionFvPatchField
-        (
-            const fvPatch&,
-            const DimensionedField<Type, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        kqRWallFunctionFvPatchField
-        (
-            const fvPatch&,
-            const DimensionedField<Type, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        // kqRWallFunctionFvPatchField
-        //  onto a new patch
-        kqRWallFunctionFvPatchField
-        (
-            const kqRWallFunctionFvPatchField&,
-            const fvPatch&,
-            const DimensionedField<Type, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        kqRWallFunctionFvPatchField
-        (
-            const kqRWallFunctionFvPatchField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchField<Type> > clone() const
-        {
-            return tmp<fvPatchField<Type> >
-            (
-                new kqRWallFunctionFvPatchField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        kqRWallFunctionFvPatchField
-        (
-            const kqRWallFunctionFvPatchField&,
-            const DimensionedField<Type, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchField<Type> > clone
-        (
-            const DimensionedField<Type, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchField<Type> >
-            (
-                new kqRWallFunctionFvPatchField(*this, iF)
-            );
-        }
-
-
-    // Member functions
-
-        // Evaluation functions
-
-            //- Evaluate the patchField
-            virtual void evaluate
-            (
-                const Pstream::commsTypes commsType=Pstream::Pstream::blocking
-            );
-
-
-        // I-O
-
-            //- Write
-            virtual void write(Ostream&) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#ifdef NoRepository
-#   include "kqRWallFunctionFvPatchField.C"
-#endif
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchFields.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchFields.C
deleted file mode 100644
index 249b99ba3d0..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchFields.C
+++ /dev/null
@@ -1,47 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "kqRWallFunctionFvPatchFields.H"
-#include "fvPatchFields.H"
-#include "addToRunTimeSelectionTable.H"
-#include "volFields.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-makePatchFields(kqRWallFunction);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutLowReWallFunction/mutLowReWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutLowReWallFunction/mutLowReWallFunctionFvPatchScalarField.C
deleted file mode 100644
index 269f9698a95..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutLowReWallFunction/mutLowReWallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,133 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "mutLowReWallFunctionFvPatchScalarField.H"
-#include "compressible/turbulenceModel/turbulenceModel.H"
-#include "fvPatchFieldMapper.H"
-#include "volFields.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-tmp<scalarField> mutLowReWallFunctionFvPatchScalarField::calcMut() const
-{
-    return tmp<scalarField>(new scalarField(patch().size(), 0.0));
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-mutLowReWallFunctionFvPatchScalarField::mutLowReWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    mutWallFunctionFvPatchScalarField(p, iF)
-{}
-
-
-mutLowReWallFunctionFvPatchScalarField::mutLowReWallFunctionFvPatchScalarField
-(
-    const mutLowReWallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    mutWallFunctionFvPatchScalarField(ptf, p, iF, mapper)
-{}
-
-
-mutLowReWallFunctionFvPatchScalarField::mutLowReWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    mutWallFunctionFvPatchScalarField(p, iF, dict)
-{}
-
-
-mutLowReWallFunctionFvPatchScalarField::mutLowReWallFunctionFvPatchScalarField
-(
-    const mutLowReWallFunctionFvPatchScalarField& mlrwfpsf
-)
-:
-    mutWallFunctionFvPatchScalarField(mlrwfpsf)
-{}
-
-
-mutLowReWallFunctionFvPatchScalarField::mutLowReWallFunctionFvPatchScalarField
-(
-    const mutLowReWallFunctionFvPatchScalarField& mlrwfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    mutWallFunctionFvPatchScalarField(mlrwfpsf, iF)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<scalarField> mutLowReWallFunctionFvPatchScalarField::yPlus() const
-{
-    const label patchi = patch().index();
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-    const scalarField& y = turbModel.y()[patchi];
-    const scalarField nuw
-    (
-        turbModel.mu().boundaryField()[patchi]
-       /turbModel.rho().boundaryField()[patchi]
-    );
-    const fvPatchVectorField& Uw = turbModel.U().boundaryField()[patchi];
-
-    return y*sqrt(nuw*mag(Uw.snGrad()))/nuw;
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    mutLowReWallFunctionFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutLowReWallFunction/mutLowReWallFunctionFvPatchScalarField.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutLowReWallFunction/mutLowReWallFunctionFvPatchScalarField.H
deleted file mode 100644
index 75f751288b9..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutLowReWallFunction/mutLowReWallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,168 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::mutLowReWallFunctionFvPatchScalarField
-
-Group
-    grpCmpWallFunctions
-
-Description
-    This boundary condition provides a turbulent viscosity condition for use
-    with low Reynolds number models.  It sets \c nut to zero, and provides an
-    access function to calculate y+.
-
-    \heading Patch usage
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            mutLowReWallFunction;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::compressible::mutWallFunctionFvPatchScalarField
-
-SourceFiles
-    mutLowReWallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleMutLowReWallFunctionFvPatchScalarField_H
-#define compressibleMutLowReWallFunctionFvPatchScalarField_H
-
-#include "mutWallFunctionFvPatchScalarField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-/*---------------------------------------------------------------------------*\
-          Class mutLowReWallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class mutLowReWallFunctionFvPatchScalarField
-:
-    public mutWallFunctionFvPatchScalarField
-{
-protected:
-
-    // Private Member Functions
-
-        //- Calculate the turbulence viscosity
-        virtual tmp<scalarField> calcMut() const;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("mutLowReWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        mutLowReWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        mutLowReWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        //  mutLowReWallFunctionFvPatchScalarField
-        //  onto a new patch
-        mutLowReWallFunctionFvPatchScalarField
-        (
-            const mutLowReWallFunctionFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        mutLowReWallFunctionFvPatchScalarField
-        (
-            const mutLowReWallFunctionFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new mutLowReWallFunctionFvPatchScalarField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        mutLowReWallFunctionFvPatchScalarField
-        (
-            const mutLowReWallFunctionFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new mutLowReWallFunctionFvPatchScalarField(*this, iF)
-            );
-        }
-
-
-    // Member functions
-
-        // Evaluation functions
-
-            //- Calculate and return the yPlus at the boundary
-            virtual tmp<scalarField> yPlus() const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutURoughWallFunction/mutURoughWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutURoughWallFunction/mutURoughWallFunctionFvPatchScalarField.C
deleted file mode 100644
index 5591904c9e0..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutURoughWallFunction/mutURoughWallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,315 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "mutURoughWallFunctionFvPatchScalarField.H"
-#include "fvPatchFieldMapper.H"
-#include "volFields.H"
-#include "compressible/turbulenceModel/turbulenceModel.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-tmp<scalarField> mutURoughWallFunctionFvPatchScalarField::calcYPlus
-(
-    const scalarField& magUp
-) const
-{
-    const label patchi = patch().index();
-
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-
-    const scalarField& y = turbModel.y()[patchi];
-    const scalarField& muw = turbModel.mu().boundaryField()[patchi];
-    const fvPatchScalarField& rho = turbModel.rho().boundaryField()[patchi];
-
-    tmp<scalarField> tyPlus(new scalarField(patch().size(), 0.0));
-    scalarField& yPlus = tyPlus();
-
-    if (roughnessHeight_ > 0.0)
-    {
-        // Rough Walls
-        const scalar c_1 = 1/(90 - 2.25) + roughnessConstant_;
-        static const scalar c_2 = 2.25/(90 - 2.25);
-        static const scalar c_3 = 2.0*atan(1.0)/log(90/2.25);
-        static const scalar c_4 = c_3*log(2.25);
-
-        //if (KsPlusBasedOnYPlus_)
-        {
-            // If KsPlus is based on YPlus the extra term added to the law
-            // of the wall will depend on yPlus
-            forAll(yPlus, facei)
-            {
-                const scalar Re = rho[facei]*magUp[facei]*y[facei]/muw[facei];
-                const scalar kappaRe = kappa_*Re;
-
-                scalar yp = yPlusLam_;
-                const scalar ryPlusLam = 1.0/yp;
-
-                int iter = 0;
-                scalar yPlusLast = 0.0;
-                scalar dKsPlusdYPlus = roughnessHeight_/y[facei];
-
-                // Enforce the roughnessHeight to be less than the distance to
-                // the first cell centre.
-                if (dKsPlusdYPlus > 1)
-                {
-                    dKsPlusdYPlus = 1;
-                }
-
-                // Additional tuning parameter (fudge factor) - nominally = 1
-                dKsPlusdYPlus *= roughnessFactor_;
-
-                do
-                {
-                    yPlusLast = yp;
-
-                    // The non-dimensional roughness height
-                    scalar KsPlus = yp*dKsPlusdYPlus;
-
-                    // The extra term in the law-of-the-wall
-                    scalar G = 0.0;
-
-                    scalar yPlusGPrime = 0.0;
-
-                    if (KsPlus >= 90)
-                    {
-                        const scalar t_1 = 1 + roughnessConstant_*KsPlus;
-                        G = log(t_1);
-                        yPlusGPrime = roughnessConstant_*KsPlus/t_1;
-                    }
-                    else if (KsPlus > 2.25)
-                    {
-                        const scalar t_1 = c_1*KsPlus - c_2;
-                        const scalar t_2 = c_3*log(KsPlus) - c_4;
-                        const scalar sint_2 = sin(t_2);
-                        const scalar logt_1 = log(t_1);
-                        G = logt_1*sint_2;
-                        yPlusGPrime =
-                            (c_1*sint_2*KsPlus/t_1) + (c_3*logt_1*cos(t_2));
-                    }
-
-                    scalar denom = 1.0 + log(E_*yp) - G - yPlusGPrime;
-                    if (mag(denom) > VSMALL)
-                    {
-                        yp = (kappaRe + yp*(1 - yPlusGPrime))/denom;
-                    }
-
-                } while
-                (
-                    mag(ryPlusLam*(yp - yPlusLast)) > 0.0001
-                 && ++iter < 10
-                 && yp > VSMALL
-                );
-
-                yPlus[facei] = max(0.0, yp);
-            }
-        }
-    }
-    else
-    {
-        // Smooth Walls
-        forAll(yPlus, facei)
-        {
-            const scalar Re = rho[facei]*magUp[facei]*y[facei]/muw[facei];
-            const scalar kappaRe = kappa_*Re;
-
-            scalar yp = yPlusLam_;
-            const scalar ryPlusLam = 1.0/yp;
-
-            int iter = 0;
-            scalar yPlusLast = 0.0;
-
-            do
-            {
-                yPlusLast = yp;
-                yp = (kappaRe + yp)/(1.0 + log(E_*yp));
-
-            } while
-            (
-                mag(ryPlusLam*(yp - yPlusLast)) > 0.0001
-             && ++iter < 10
-            );
-
-            yPlus[facei] = max(0.0, yp);
-        }
-    }
-
-    return tyPlus;
-}
-
-
-tmp<scalarField> mutURoughWallFunctionFvPatchScalarField::calcMut() const
-{
-    const label patchi = patch().index();
-
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-
-    const scalarField& y = turbModel.y()[patchi];
-    const fvPatchVectorField& Uw = turbModel.U().boundaryField()[patchi];
-    const scalarField& muw = turbModel.mu().boundaryField()[patchi];
-    const fvPatchScalarField& rho = turbModel.rho().boundaryField()[patchi];
-
-    scalarField magUp(mag(Uw.patchInternalField() - Uw));
-
-    tmp<scalarField> tyPlus = calcYPlus(magUp);
-    scalarField& yPlus = tyPlus();
-
-    tmp<scalarField> tmutw(new scalarField(patch().size(), 0.0));
-    scalarField& mutw = tmutw();
-
-    forAll(yPlus, facei)
-    {
-        if (yPlus[facei] > yPlusLam_)
-        {
-            const scalar Re =
-                rho[facei]*magUp[facei]*y[facei]/muw[facei] + ROOTVSMALL;
-            mutw[facei] = muw[facei]*(sqr(yPlus[facei])/Re - 1);
-        }
-    }
-
-    return tmutw;
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-mutURoughWallFunctionFvPatchScalarField::mutURoughWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    mutWallFunctionFvPatchScalarField(p, iF),
-    roughnessHeight_(pTraits<scalar>::zero),
-    roughnessConstant_(pTraits<scalar>::zero),
-    roughnessFactor_(pTraits<scalar>::zero)
-{}
-
-
-mutURoughWallFunctionFvPatchScalarField::mutURoughWallFunctionFvPatchScalarField
-(
-    const mutURoughWallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    mutWallFunctionFvPatchScalarField(ptf, p, iF, mapper),
-    roughnessHeight_(ptf.roughnessHeight_),
-    roughnessConstant_(ptf.roughnessConstant_),
-    roughnessFactor_(ptf.roughnessFactor_)
-{}
-
-
-mutURoughWallFunctionFvPatchScalarField::mutURoughWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    mutWallFunctionFvPatchScalarField(p, iF, dict),
-    roughnessHeight_(readScalar(dict.lookup("roughnessHeight"))),
-    roughnessConstant_(readScalar(dict.lookup("roughnessConstant"))),
-    roughnessFactor_(readScalar(dict.lookup("roughnessFactor")))
-{}
-
-
-mutURoughWallFunctionFvPatchScalarField::mutURoughWallFunctionFvPatchScalarField
-(
-    const mutURoughWallFunctionFvPatchScalarField& rwfpsf
-)
-:
-    mutWallFunctionFvPatchScalarField(rwfpsf),
-    roughnessHeight_(rwfpsf.roughnessHeight_),
-    roughnessConstant_(rwfpsf.roughnessConstant_),
-    roughnessFactor_(rwfpsf.roughnessFactor_)
-{}
-
-
-mutURoughWallFunctionFvPatchScalarField::mutURoughWallFunctionFvPatchScalarField
-(
-    const mutURoughWallFunctionFvPatchScalarField& rwfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    mutWallFunctionFvPatchScalarField(rwfpsf, iF),
-    roughnessHeight_(rwfpsf.roughnessHeight_),
-    roughnessConstant_(rwfpsf.roughnessConstant_),
-    roughnessFactor_(rwfpsf.roughnessFactor_)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<scalarField> mutURoughWallFunctionFvPatchScalarField::yPlus() const
-{
-    const label patchi = patch().index();
-
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-    const fvPatchVectorField& Uw = turbModel.U().boundaryField()[patchi];
-    const scalarField magUp(mag(Uw.patchInternalField() - Uw));
-
-    return calcYPlus(magUp);
-}
-
-
-void mutURoughWallFunctionFvPatchScalarField::write(Ostream& os) const
-{
-    fixedValueFvPatchScalarField::write(os);
-    writeLocalEntries(os);
-    os.writeKeyword("roughnessHeight")
-        << roughnessHeight_ << token::END_STATEMENT << nl;
-    os.writeKeyword("roughnessConstant")
-        << roughnessConstant_ << token::END_STATEMENT << nl;
-    os.writeKeyword("roughnessFactor")
-        << roughnessFactor_ << token::END_STATEMENT << nl;
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    mutURoughWallFunctionFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutURoughWallFunction/mutURoughWallFunctionFvPatchScalarField.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutURoughWallFunction/mutURoughWallFunctionFvPatchScalarField.H
deleted file mode 100644
index ea1aaa184fd..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutURoughWallFunction/mutURoughWallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,240 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::mutURoughWallFunctionFvPatchScalarField
-
-Group
-    grpCmpWallFunctions
-
-Description
-    This boundary condition provides a turbulent viscosity condition when
-    using wall functions for rough walls, based on velocity.
-
-    \heading Patch usage
-
-    \table
-        Property     | Description             | Required    | Default value
-        roughnessHeight | roughness height     | yes         |
-        roughnessConstant | roughness constanr | yes         |
-        roughnessFactor | scaling factor       | yes         |
-    \endtable
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            mutURoughWallFunction;
-        roughnessHeight 1e-5;
-        roughnessConstant 0.5;
-        roughnessFactor 1;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::compressible::mutWallFunctionFvPatchScalarField
-
-SourceFiles
-    mutURoughWallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleMutURoughWallFunctionFvPatchScalarField_H
-#define compressibleMutURoughWallFunctionFvPatchScalarField_H
-
-#include "mutWallFunctionFvPatchScalarField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-/*---------------------------------------------------------------------------*\
-          Class mutURoughWallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class mutURoughWallFunctionFvPatchScalarField
-:
-    public mutWallFunctionFvPatchScalarField
-{
-protected:
-
-    // Protected data
-
-        // Roughness parameters
-
-            //- Height
-            scalar roughnessHeight_;
-
-            //- Constant
-            scalar roughnessConstant_;
-
-            //- Scale factor
-            scalar roughnessFactor_;
-
-
-    // Protected Member Functions
-
-        //- Calculate yPLus
-        virtual tmp<scalarField> calcYPlus(const scalarField& magUp) const;
-
-        //- Calculate the turbulence viscosity
-        virtual tmp<scalarField> calcMut() const;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("mutURoughWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        mutURoughWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        mutURoughWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        //  mutURoughWallFunctionFvPatchScalarField
-        //  onto a new patch
-        mutURoughWallFunctionFvPatchScalarField
-        (
-            const mutURoughWallFunctionFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        mutURoughWallFunctionFvPatchScalarField
-        (
-            const mutURoughWallFunctionFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new mutURoughWallFunctionFvPatchScalarField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        mutURoughWallFunctionFvPatchScalarField
-        (
-            const mutURoughWallFunctionFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new mutURoughWallFunctionFvPatchScalarField(*this, iF)
-            );
-        }
-
-
-    // Member functions
-
-        // Access
-
-            //- Return the roughness height scale
-            scalar roughnessHeight() const
-            {
-                return roughnessHeight_;
-            }
-
-            //- Return reference to the roughness height to allow adjustment
-            scalar& roughnessHeight()
-            {
-                return roughnessHeight_;
-            }
-
-            //- Return the roughness constant scale
-            scalar roughnessConstant() const
-            {
-                return roughnessConstant_;
-            }
-
-            //- Return reference to the roughness constant to allow adjustment
-            scalar& roughnessConstant()
-            {
-                return roughnessConstant_;
-            }
-
-            //- Return the roughness scale factor
-            scalar roughnessFactor() const
-            {
-                return roughnessFactor_;
-            }
-
-            //- Return reference to the roughness scale factor to allow
-            //  adjustment
-            scalar& roughnessFactor()
-            {
-                return roughnessFactor_;
-            }
-
-
-        // Evaluation functions
-
-            //- Calculate and return the yPlus at the boundary
-            virtual tmp<scalarField> yPlus() const;
-
-
-        // I-O
-
-            //- Write
-            virtual void write(Ostream& os) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutUSpaldingWallFunction/mutUSpaldingWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutUSpaldingWallFunction/mutUSpaldingWallFunctionFvPatchScalarField.C
deleted file mode 100644
index 64bb1238ec7..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutUSpaldingWallFunction/mutUSpaldingWallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,223 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "mutUSpaldingWallFunctionFvPatchScalarField.H"
-#include "fvPatchFieldMapper.H"
-#include "volFields.H"
-#include "compressible/turbulenceModel/turbulenceModel.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-tmp<scalarField> mutUSpaldingWallFunctionFvPatchScalarField::calcUTau
-(
-    const scalarField& magGradU
-) const
-{
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-
-    const scalarField& y = turbModel.y()[patch().index()];
-
-    const fvPatchVectorField& Uw =
-        turbModel.U().boundaryField()[patch().index()];
-
-    scalarField magUp(mag(Uw.patchInternalField() - Uw));
-
-    const fvPatchScalarField& rhow =
-        turbModel.rho().boundaryField()[patch().index()];
-
-    const fvPatchScalarField& muw =
-        turbModel.mu().boundaryField()[patch().index()];
-    const scalarField& mutw = *this;
-
-    tmp<scalarField> tuTau(new scalarField(patch().size(), 0.0));
-    scalarField& uTau = tuTau();
-
-    forAll(mutw, faceI)
-    {
-        scalar ut =
-            sqrt((mutw[faceI] + muw[faceI])*magGradU[faceI]/rhow[faceI]);
-
-        if (ut > ROOTVSMALL)
-        {
-            int iter = 0;
-            scalar err = GREAT;
-
-            do
-            {
-                scalar kUu = min(kappa_*magUp[faceI]/ut, 50);
-                scalar fkUu = exp(kUu) - 1 - kUu*(1 + 0.5*kUu);
-
-                scalar f =
-                    - ut*y[faceI]/(muw[faceI]/rhow[faceI])
-                    + magUp[faceI]/ut
-                    + 1/E_*(fkUu - 1.0/6.0*kUu*sqr(kUu));
-
-                scalar df =
-                    y[faceI]/(muw[faceI]/rhow[faceI])
-                  + magUp[faceI]/sqr(ut)
-                  + 1/E_*kUu*fkUu/ut;
-
-                scalar uTauNew = ut + f/df;
-                err = mag((ut - uTauNew)/ut);
-                ut = uTauNew;
-
-            } while (ut > ROOTVSMALL && err > 0.01 && ++iter < 10);
-
-            uTau[faceI] = max(0.0, ut);
-        }
-    }
-
-    return tuTau;
-}
-
-
-tmp<scalarField> mutUSpaldingWallFunctionFvPatchScalarField::calcMut() const
-{
-    const label patchi = patch().index();
-
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-
-    const fvPatchVectorField& Uw = turbModel.U().boundaryField()[patchi];
-    const scalarField magGradU(mag(Uw.snGrad()));
-    const scalarField& rhow = turbModel.rho().boundaryField()[patchi];
-    const scalarField& muw = turbModel.mu().boundaryField()[patchi];
-
-    return max
-    (
-        scalar(0),
-        rhow*sqr(calcUTau(magGradU))/(magGradU + ROOTVSMALL) - muw
-    );
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-mutUSpaldingWallFunctionFvPatchScalarField::
-mutUSpaldingWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    mutWallFunctionFvPatchScalarField(p, iF)
-{}
-
-
-mutUSpaldingWallFunctionFvPatchScalarField::
-mutUSpaldingWallFunctionFvPatchScalarField
-(
-    const mutUSpaldingWallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    mutWallFunctionFvPatchScalarField(ptf, p, iF, mapper)
-{}
-
-
-mutUSpaldingWallFunctionFvPatchScalarField::
-mutUSpaldingWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    mutWallFunctionFvPatchScalarField(p, iF, dict)
-{}
-
-
-mutUSpaldingWallFunctionFvPatchScalarField::
-mutUSpaldingWallFunctionFvPatchScalarField
-(
-    const mutUSpaldingWallFunctionFvPatchScalarField& wfpsf
-)
-:
-    mutWallFunctionFvPatchScalarField(wfpsf)
-{}
-
-
-mutUSpaldingWallFunctionFvPatchScalarField::
-mutUSpaldingWallFunctionFvPatchScalarField
-(
-    const mutUSpaldingWallFunctionFvPatchScalarField& wfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    mutWallFunctionFvPatchScalarField(wfpsf, iF)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<scalarField> mutUSpaldingWallFunctionFvPatchScalarField::yPlus() const
-{
-    const label patchi = patch().index();
-
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-
-    const scalarField& y = turbModel.y()[patchi];
-    const fvPatchVectorField& Uw = turbModel.U().boundaryField()[patchi];
-    const scalarField& rhow = turbModel.rho().boundaryField()[patchi];
-    const scalarField& muw = turbModel.mu().boundaryField()[patchi];
-
-    return y*calcUTau(mag(Uw.snGrad()))/(muw/rhow);
-}
-
-
-void mutUSpaldingWallFunctionFvPatchScalarField::write(Ostream& os) const
-{
-    fvPatchField<scalar>::write(os);
-    writeLocalEntries(os);
-    writeEntry("value", os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    mutUSpaldingWallFunctionFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutUSpaldingWallFunction/mutUSpaldingWallFunctionFvPatchScalarField.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutUSpaldingWallFunction/mutUSpaldingWallFunctionFvPatchScalarField.H
deleted file mode 100644
index a0322dbeb26..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutUSpaldingWallFunction/mutUSpaldingWallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,190 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::mutUSpaldingWallFunctionFvPatchScalarField
-
-Group
-    grpCmpWallFunctions
-
-Description
-    This boundary condition provides a turbulent viscosity condition when
-    using wall functions for rough walls, based on velocity,  using  Spalding's
-    law to give a continuous nut profile to the wall (y+ = 0)
-
-        \f[
-            y^+ = u^+ + \frac{1}{E} \left[exp(\kappa u^+) - 1 - \kappa u^+\,
-                - 0.5 (\kappa u^+)^2 - \frac{1}{6} (\kappa u^+)^3\right]
-        \f]
-
-    where
-    \vartable
-        y^+     | non-dimensional position
-        u^+     | non-dimensional velocity
-        \kappa  | Von Karman constant
-    \endvartable
-
-
-    \heading Patch usage
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            mutUSpaldingWallFunction;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::compressible::mutWallFunctionFvPatchScalarField
-
-SourceFiles
-    mutUSpaldingWallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleMutUSpaldingWallFunctionFvPatchScalarField_H
-#define compressibleMutUSpaldingWallFunctionFvPatchScalarField_H
-
-#include "mutWallFunctionFvPatchScalarField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-/*---------------------------------------------------------------------------*\
-        Class mutUSpaldingWallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class mutUSpaldingWallFunctionFvPatchScalarField
-:
-    public mutWallFunctionFvPatchScalarField
-{
-protected:
-
-    // Protected Member Functions
-
-        //- Calculate the turbulence viscosity
-        virtual tmp<scalarField> calcMut() const;
-
-        //- Calculate the friction velocity
-        virtual tmp<scalarField> calcUTau(const scalarField& magGradU) const;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("mutUSpaldingWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        mutUSpaldingWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        mutUSpaldingWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        //  mutUSpaldingWallFunctionFvPatchScalarField
-        //  onto a new patch
-        mutUSpaldingWallFunctionFvPatchScalarField
-        (
-            const mutUSpaldingWallFunctionFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        mutUSpaldingWallFunctionFvPatchScalarField
-        (
-            const mutUSpaldingWallFunctionFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new mutUSpaldingWallFunctionFvPatchScalarField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        mutUSpaldingWallFunctionFvPatchScalarField
-        (
-            const mutUSpaldingWallFunctionFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new mutUSpaldingWallFunctionFvPatchScalarField(*this, iF)
-            );
-        }
-
-
-    // Member functions
-
-        // Evaluation functions
-
-            //- Calculate and return the yPlus at the boundary
-            virtual tmp<scalarField> yPlus() const;
-
-
-        // I-O
-
-            //- Write
-            virtual void write(Ostream& os) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutUWallFunction/mutUWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutUWallFunction/mutUWallFunctionFvPatchScalarField.C
deleted file mode 100644
index 3148119dcfb..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutUWallFunction/mutUWallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,201 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "mutUWallFunctionFvPatchScalarField.H"
-#include "compressible/turbulenceModel/turbulenceModel.H"
-#include "fvPatchFieldMapper.H"
-#include "volFields.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-tmp<scalarField> mutUWallFunctionFvPatchScalarField::calcYPlus
-(
-    const scalarField& magUp
-) const
-{
-    const label patchi = patch().index();
-
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-
-    const scalarField& y = turbModel.y()[patchi];
-    const fvPatchScalarField& rhow = turbModel.rho().boundaryField()[patchi];
-    const fvPatchScalarField& muw = turbModel.mu().boundaryField()[patchi];
-
-    tmp<scalarField> tyPlus(new scalarField(patch().size(), 0.0));
-    scalarField& yPlus = tyPlus();
-
-    forAll(yPlus, faceI)
-    {
-        scalar kappaRe = kappa_*magUp[faceI]*y[faceI]/(muw[faceI]/rhow[faceI]);
-
-        scalar yp = yPlusLam_;
-        scalar ryPlusLam = 1.0/yp;
-
-        int iter = 0;
-        scalar yPlusLast = 0.0;
-
-        do
-        {
-            yPlusLast = yp;
-            yp = (kappaRe + yp)/(1.0 + log(E_*yp));
-
-        } while (mag(ryPlusLam*(yp - yPlusLast)) > 0.01 && ++iter < 10);
-
-        yPlus[faceI] = max(0.0, yp);
-    }
-
-    return tyPlus;
-}
-
-
-tmp<scalarField> mutUWallFunctionFvPatchScalarField::calcMut() const
-{
-    const label patchi = patch().index();
-
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-
-    const fvPatchVectorField& Uw = turbModel.U().boundaryField()[patchi];
-    const scalarField magUp(mag(Uw.patchInternalField() - Uw));
-    const fvPatchScalarField& muw = turbModel.mu().boundaryField()[patchi];
-
-    tmp<scalarField> tyPlus = calcYPlus(magUp);
-    scalarField& yPlus = tyPlus();
-
-    tmp<scalarField> tmutw(new scalarField(patch().size(), 0.0));
-    scalarField& mutw = tmutw();
-
-    forAll(yPlus, faceI)
-    {
-        if (yPlus[faceI] > yPlusLam_)
-        {
-            mutw[faceI] =
-                muw[faceI]*(yPlus[faceI]*kappa_/log(E_*yPlus[faceI]) - 1.0);
-        }
-    }
-
-    return tmutw;
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-mutUWallFunctionFvPatchScalarField::mutUWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    mutWallFunctionFvPatchScalarField(p, iF)
-{}
-
-
-mutUWallFunctionFvPatchScalarField::mutUWallFunctionFvPatchScalarField
-(
-    const mutUWallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    mutWallFunctionFvPatchScalarField(ptf, p, iF, mapper)
-{}
-
-
-mutUWallFunctionFvPatchScalarField::mutUWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    mutWallFunctionFvPatchScalarField(p, iF, dict)
-{}
-
-
-mutUWallFunctionFvPatchScalarField::mutUWallFunctionFvPatchScalarField
-(
-    const mutUWallFunctionFvPatchScalarField& sawfpsf
-)
-:
-    mutWallFunctionFvPatchScalarField(sawfpsf)
-{}
-
-
-mutUWallFunctionFvPatchScalarField::mutUWallFunctionFvPatchScalarField
-(
-    const mutUWallFunctionFvPatchScalarField& sawfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    mutWallFunctionFvPatchScalarField(sawfpsf, iF)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<scalarField> mutUWallFunctionFvPatchScalarField::yPlus() const
-{
-    const label patchi = patch().index();
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-    const fvPatchVectorField& Uw = turbModel.U().boundaryField()[patchi];
-    const scalarField magUp(mag(Uw.patchInternalField() - Uw));
-
-    return calcYPlus(magUp);
-}
-
-
-void mutUWallFunctionFvPatchScalarField::write(Ostream& os) const
-{
-    fvPatchField<scalar>::write(os);
-    writeLocalEntries(os);
-    writeEntry("value", os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    mutUWallFunctionFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutUWallFunction/mutUWallFunctionFvPatchScalarField.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutUWallFunction/mutUWallFunctionFvPatchScalarField.H
deleted file mode 100644
index 1c6ed4f7d64..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutUWallFunction/mutUWallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,176 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::mutUWallFunctionFvPatchScalarField
-
-Group
-    grpCmpWallFunctions
-
-Description
-    This boundary condition provides a turbulent viscosity condition when
-    using wall functions, based on velocity.
-
-    \heading Patch usage
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            mutUWallFunction;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::compressible::mutWallFunctionFvPatchScalarField
-
-SourceFiles
-    mutUWallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleMutUWallFunctionFvPatchScalarField_H
-#define compressibleMutUWallFunctionFvPatchScalarField_H
-
-#include "mutWallFunctionFvPatchScalarField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-/*---------------------------------------------------------------------------*\
-            Class mutUWallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class mutUWallFunctionFvPatchScalarField
-:
-    public mutWallFunctionFvPatchScalarField
-{
-protected:
-
-    // Protected Member Functions
-
-        //- Calculate yPLus
-        virtual tmp<scalarField> calcYPlus(const scalarField& magUp) const;
-
-        //- Calculate the turbulence viscosity
-        virtual tmp<scalarField> calcMut() const;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("mutUWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        mutUWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        mutUWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        //  mutUWallFunctionFvPatchScalarField
-        //  onto a new patch
-        mutUWallFunctionFvPatchScalarField
-        (
-            const mutUWallFunctionFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        mutUWallFunctionFvPatchScalarField
-        (
-            const mutUWallFunctionFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new mutUWallFunctionFvPatchScalarField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        mutUWallFunctionFvPatchScalarField
-        (
-            const mutUWallFunctionFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new mutUWallFunctionFvPatchScalarField(*this, iF)
-            );
-        }
-
-
-    // Member functions
-
-        // Evaluation functions
-
-            //- Calculate and return the yPlus at the boundary
-            virtual tmp<scalarField> yPlus() const;
-
-
-        // I-O
-
-            //- Write
-            virtual void write(Ostream& os) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutWallFunction/mutWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutWallFunction/mutWallFunctionFvPatchScalarField.C
deleted file mode 100644
index f4a6476be6b..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutWallFunction/mutWallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,187 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "mutWallFunctionFvPatchScalarField.H"
-#include "fvPatchFieldMapper.H"
-#include "volFields.H"
-#include "wallFvPatch.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(mutWallFunctionFvPatchScalarField, 0);
-
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-void mutWallFunctionFvPatchScalarField::checkType()
-{
-    if (!isA<wallFvPatch>(patch()))
-    {
-        FatalErrorIn("mutWallFunctionFvPatchScalarField::checkType()")
-            << "Invalid wall function specification" << nl
-            << "    Patch type for patch " << patch().name()
-            << " must be wall" << nl
-            << "    Current patch type is " << patch().type() << nl << endl
-            << abort(FatalError);
-    }
-}
-
-
-void mutWallFunctionFvPatchScalarField::writeLocalEntries(Ostream& os) const
-{
-    os.writeKeyword("Cmu") << Cmu_ << token::END_STATEMENT << nl;
-    os.writeKeyword("kappa") << kappa_ << token::END_STATEMENT << nl;
-    os.writeKeyword("E") << E_ << token::END_STATEMENT << nl;
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-mutWallFunctionFvPatchScalarField::mutWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedValueFvPatchScalarField(p, iF),
-    Cmu_(0.09),
-    kappa_(0.41),
-    E_(9.8),
-    yPlusLam_(yPlusLam(kappa_, E_))
-{}
-
-
-mutWallFunctionFvPatchScalarField::mutWallFunctionFvPatchScalarField
-(
-    const mutWallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    fixedValueFvPatchScalarField(ptf, p, iF, mapper),
-    Cmu_(ptf.Cmu_),
-    kappa_(ptf.kappa_),
-    E_(ptf.E_),
-    yPlusLam_(ptf.yPlusLam_)
-{}
-
-
-mutWallFunctionFvPatchScalarField::mutWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    fixedValueFvPatchScalarField(p, iF, dict),
-    Cmu_(dict.lookupOrDefault<scalar>("Cmu", 0.09)),
-    kappa_(dict.lookupOrDefault<scalar>("kappa", 0.41)),
-    E_(dict.lookupOrDefault<scalar>("E", 9.8)),
-    yPlusLam_(yPlusLam(kappa_, E_))
-{}
-
-
-mutWallFunctionFvPatchScalarField::mutWallFunctionFvPatchScalarField
-(
-    const mutWallFunctionFvPatchScalarField& wfpsf
-)
-:
-    fixedValueFvPatchScalarField(wfpsf),
-    Cmu_(wfpsf.Cmu_),
-    kappa_(wfpsf.kappa_),
-    E_(wfpsf.E_),
-    yPlusLam_(wfpsf.yPlusLam_)
-{}
-
-
-mutWallFunctionFvPatchScalarField::mutWallFunctionFvPatchScalarField
-(
-    const mutWallFunctionFvPatchScalarField& wfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedValueFvPatchScalarField(wfpsf, iF),
-    Cmu_(wfpsf.Cmu_),
-    kappa_(wfpsf.kappa_),
-    E_(wfpsf.E_),
-    yPlusLam_(wfpsf.yPlusLam_)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-scalar mutWallFunctionFvPatchScalarField::yPlusLam
-(
-    const scalar kappa,
-    const scalar E
-)
-{
-    scalar ypl = 11.0;
-
-    for (int i=0; i<10; i++)
-    {
-        ypl = log(max(E*ypl, 1))/kappa;
-    }
-
-    return ypl;
-}
-
-
-void mutWallFunctionFvPatchScalarField::updateCoeffs()
-{
-    if (updated())
-    {
-        return;
-    }
-
-    operator==(calcMut());
-
-    fixedValueFvPatchScalarField::updateCoeffs();
-}
-
-
-void mutWallFunctionFvPatchScalarField::write(Ostream& os) const
-{
-    fvPatchField<scalar>::write(os);
-    writeLocalEntries(os);
-    writeEntry("value", os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutWallFunction/mutWallFunctionFvPatchScalarField.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutWallFunction/mutWallFunctionFvPatchScalarField.H
deleted file mode 100644
index 29bc406aa1e..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutWallFunction/mutWallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,181 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::mutWallFunctionFvPatchScalarField
-
-Group
-    grpCmpWallFunctions
-
-Description
-    This boundary condition provides a turbulent viscosity condition when
-    using wall functions, based on turbulence kinetic energy.
-    - replicates OpenFOAM v1.5 (and earlier) behaviour
-
-    \heading Patch usage
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            mutWallFunction;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::fixedValueFvPatchField
-
-SourceFiles
-    mutWallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleMutWallFunctionFvPatchScalarField_H
-#define compressibleMutWallFunctionFvPatchScalarField_H
-
-#include "fixedValueFvPatchFields.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-/*---------------------------------------------------------------------------*\
-             Class mutWallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class mutWallFunctionFvPatchScalarField
-:
-    public fixedValueFvPatchScalarField
-{
-protected:
-
-    // Protected data
-
-        //- Cmu coefficient
-        scalar Cmu_;
-
-        //- Von Karman constant
-        scalar kappa_;
-
-        //- E coefficient
-        scalar E_;
-
-        //- Y+ at the edge of the laminar sublayer
-        scalar yPlusLam_;
-
-
-    // Protected Member Functions
-
-        //- Check the type of the patch
-        virtual void checkType();
-
-        //- Calculate the turbulence viscosity
-        virtual tmp<scalarField> calcMut() const = 0;
-
-        //- Write local wall function variables
-        virtual void writeLocalEntries(Ostream&) const;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("mutWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        mutWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        mutWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        //  mutWallFunctionFvPatchScalarField
-        //  onto a new patch
-        mutWallFunctionFvPatchScalarField
-        (
-            const mutWallFunctionFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        mutWallFunctionFvPatchScalarField
-        (
-            const mutWallFunctionFvPatchScalarField&
-        );
-
-        //- Construct as copy setting internal field reference
-        mutWallFunctionFvPatchScalarField
-        (
-            const mutWallFunctionFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-
-    // Member functions
-
-        //- Calculate the Y+ at the edge of the laminar sublayer
-        static scalar yPlusLam(const scalar kappa, const scalar E);
-
-        //- Calculate and return the yPlus at the boundary
-        virtual tmp<scalarField> yPlus() const = 0;
-
-
-        // Evaluation functions
-
-            //- Update the coefficients associated with the patch field
-            virtual void updateCoeffs();
-
-
-        // I-O
-
-            //- Write
-            virtual void write(Ostream&) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutkRoughWallFunction/mutkRoughWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutkRoughWallFunction/mutkRoughWallFunctionFvPatchScalarField.C
deleted file mode 100644
index e634b89acc1..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutkRoughWallFunction/mutkRoughWallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,241 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "mutkRoughWallFunctionFvPatchScalarField.H"
-#include "compressible/turbulenceModel/turbulenceModel.H"
-#include "fvPatchFieldMapper.H"
-#include "volFields.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-scalar mutkRoughWallFunctionFvPatchScalarField::fnRough
-(
-    const scalar KsPlus,
-    const scalar Cs
-) const
-{
-    // Return fn based on non-dimensional roughness height
-
-    if (KsPlus < 90.0)
-    {
-        return pow
-        (
-            (KsPlus - 2.25)/87.75 + Cs*KsPlus,
-            sin(0.4258*(log(KsPlus) - 0.811))
-        );
-    }
-    else
-    {
-        return (1.0 + Cs*KsPlus);
-    }
-}
-
-
-tmp<scalarField> mutkRoughWallFunctionFvPatchScalarField::calcMut() const
-{
-    const label patchi = patch().index();
-
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-
-    const scalarField& y = turbModel.y()[patchi];
-    const scalarField& rhow = turbModel.rho().boundaryField()[patchi];
-    const tmp<volScalarField> tk = turbModel.k();
-    const volScalarField& k = tk();
-    const scalarField& muw = turbModel.mu().boundaryField()[patchi];
-
-    const scalar Cmu25 = pow025(Cmu_);
-
-    tmp<scalarField> tmutw(new scalarField(*this));
-    scalarField& mutw = tmutw();
-
-    forAll(mutw, faceI)
-    {
-        label faceCellI = patch().faceCells()[faceI];
-
-        scalar uStar = Cmu25*sqrt(k[faceCellI]);
-        scalar yPlus = uStar*y[faceI]/(muw[faceI]/rhow[faceI]);
-        scalar KsPlus = uStar*Ks_[faceI]/(muw[faceI]/rhow[faceI]);
-
-        scalar Edash = E_;
-        if (KsPlus > 2.25)
-        {
-            Edash /= fnRough(KsPlus, Cs_[faceI]);
-        }
-
-        scalar limitingMutw = max(mutw[faceI], muw[faceI]);
-
-        // To avoid oscillations limit the change in the wall viscosity
-        // which is particularly important if it temporarily becomes zero
-        mutw[faceI] =
-            max
-            (
-                min
-                (
-                    muw[faceI]
-                   *(yPlus*kappa_/log(max(Edash*yPlus, 1+1e-4)) - 1),
-                    2*limitingMutw
-                ), 0.5*limitingMutw
-            );
-
-        if (debug)
-        {
-            Info<< "yPlus = " << yPlus
-                << ", KsPlus = " << KsPlus
-                << ", Edash = " << Edash
-                << ", mutw = " << mutw[faceI]
-                << endl;
-        }
-    }
-
-    return tmutw;
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-mutkRoughWallFunctionFvPatchScalarField::mutkRoughWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    mutkWallFunctionFvPatchScalarField(p, iF),
-    Ks_(p.size(), 0.0),
-    Cs_(p.size(), 0.0)
-{}
-
-
-mutkRoughWallFunctionFvPatchScalarField::mutkRoughWallFunctionFvPatchScalarField
-(
-    const mutkRoughWallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    mutkWallFunctionFvPatchScalarField(ptf, p, iF, mapper),
-    Ks_(ptf.Ks_, mapper),
-    Cs_(ptf.Cs_, mapper)
-{}
-
-
-mutkRoughWallFunctionFvPatchScalarField::mutkRoughWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    mutkWallFunctionFvPatchScalarField(p, iF, dict),
-    Ks_("Ks", dict, p.size()),
-    Cs_("Cs", dict, p.size())
-{}
-
-
-mutkRoughWallFunctionFvPatchScalarField::mutkRoughWallFunctionFvPatchScalarField
-(
-    const mutkRoughWallFunctionFvPatchScalarField& rwfpsf
-)
-:
-    mutkWallFunctionFvPatchScalarField(rwfpsf),
-    Ks_(rwfpsf.Ks_),
-    Cs_(rwfpsf.Cs_)
-{}
-
-
-mutkRoughWallFunctionFvPatchScalarField::mutkRoughWallFunctionFvPatchScalarField
-(
-    const mutkRoughWallFunctionFvPatchScalarField& rwfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    mutkWallFunctionFvPatchScalarField(rwfpsf, iF),
-    Ks_(rwfpsf.Ks_),
-    Cs_(rwfpsf.Cs_)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void mutkRoughWallFunctionFvPatchScalarField::autoMap
-(
-    const fvPatchFieldMapper& m
-)
-{
-    mutkWallFunctionFvPatchScalarField::autoMap(m);
-    Ks_.autoMap(m);
-    Cs_.autoMap(m);
-}
-
-
-void mutkRoughWallFunctionFvPatchScalarField::rmap
-(
-    const fvPatchScalarField& ptf,
-    const labelList& addr
-)
-{
-    mutkWallFunctionFvPatchScalarField::rmap(ptf, addr);
-
-    const mutkRoughWallFunctionFvPatchScalarField& nrwfpsf =
-        refCast<const mutkRoughWallFunctionFvPatchScalarField>(ptf);
-
-    Cs_.rmap(nrwfpsf.Cs_, addr);
-    Ks_.rmap(nrwfpsf.Ks_, addr);
-}
-
-
-void mutkRoughWallFunctionFvPatchScalarField::write(Ostream& os) const
-{
-    fvPatchField<scalar>::write(os);
-    writeLocalEntries(os);
-    Cs_.writeEntry("Cs", os);
-    Ks_.writeEntry("Ks", os);
-    writeEntry("value", os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    mutkRoughWallFunctionFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutkRoughWallFunction/mutkRoughWallFunctionFvPatchScalarField.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutkRoughWallFunction/mutkRoughWallFunctionFvPatchScalarField.H
deleted file mode 100644
index 6ff72c42d3b..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutkRoughWallFunction/mutkRoughWallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,206 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::mutkRoughWallFunctionFvPatchScalarField
-
-Group
-    grpCmpWallFunctions
-
-Description
-    This boundary condition provides a turbulent viscosity condition when
-    using wall functions for rough walls, based on turbulence kinetic energy.
-    The condition manipulates the E parameter to account for roughness
-    effects.
-
-    Parameter ranges
-    - roughness height = sand-grain roughness (0 for smooth walls)
-    - roughness constant = 0.5-1.0
-
-    \heading Patch usage
-
-    \table
-        Property     | Description             | Required    | Default value
-        Ks           | sand-grain roughness height | yes     |
-        Cs           | roughness constant      | yes         |
-    \endtable
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            mutkRoughWallFunction;
-        Ks              uniform 0;
-        Cs              uniform 0.5;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::compressible::mutkRoughWallFunctionFvPatchScalarField
-
-SourceFiles
-    mutkRoughWallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleMutkRoughWallFunctionFvPatchScalarField_H
-#define compressibleMutkRoughWallFunctionFvPatchScalarField_H
-
-#include "mutkWallFunctionFvPatchScalarField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-/*---------------------------------------------------------------------------*\
-          Class mutkRoughWallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class mutkRoughWallFunctionFvPatchScalarField
-:
-    public mutkWallFunctionFvPatchScalarField
-{
-protected:
-
-    // Protected data
-
-        //- Roughness height
-        scalarField Ks_;
-
-        //- Roughness constant
-        scalarField Cs_;
-
-
-    // Private Member Functions
-
-        //- Compute the roughness function
-        virtual scalar fnRough(const scalar KsPlus, const scalar Cs) const;
-
-        //- Calculate the turbulence viscosity
-        virtual tmp<scalarField> calcMut() const;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("mutkRoughWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        mutkRoughWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        mutkRoughWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        //  mutkRoughWallFunctionFvPatchScalarField
-        //  onto a new patch
-        mutkRoughWallFunctionFvPatchScalarField
-        (
-            const mutkRoughWallFunctionFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        mutkRoughWallFunctionFvPatchScalarField
-        (
-            const mutkRoughWallFunctionFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new mutkRoughWallFunctionFvPatchScalarField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        mutkRoughWallFunctionFvPatchScalarField
-        (
-            const mutkRoughWallFunctionFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new mutkRoughWallFunctionFvPatchScalarField(*this, iF)
-            );
-        }
-
-
-    // Member functions
-
-        // Mapping functions
-
-            //- Map (and resize as needed) from self given a mapping object
-            virtual void autoMap(const fvPatchFieldMapper&);
-
-            //- Reverse map the given fvPatchField onto this fvPatchField
-            virtual void rmap
-            (
-                const fvPatchScalarField&,
-                const labelList&
-            );
-
-
-        // I-O
-
-            //- Write
-            virtual void write(Ostream&) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutkWallFunction/mutkWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutkWallFunction/mutkWallFunctionFvPatchScalarField.C
deleted file mode 100644
index 72b010d55d0..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutkWallFunction/mutkWallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,163 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "mutkWallFunctionFvPatchScalarField.H"
-#include "compressible/turbulenceModel/turbulenceModel.H"
-#include "fvPatchFieldMapper.H"
-#include "volFields.H"
-#include "wallFvPatch.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-tmp<scalarField> mutkWallFunctionFvPatchScalarField::calcMut() const
-{
-    const label patchi = patch().index();
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-    const scalarField& y = turbModel.y()[patchi];
-    const scalarField& rhow = turbModel.rho().boundaryField()[patchi];
-    const tmp<volScalarField> tk = turbModel.k();
-    const volScalarField& k = tk();
-    const scalarField& muw = turbModel.mu().boundaryField()[patchi];
-
-    const scalar Cmu25 = pow025(Cmu_);
-
-    tmp<scalarField> tmutw(new scalarField(patch().size(), 0.0));
-    scalarField& mutw = tmutw();
-
-    forAll(mutw, faceI)
-    {
-        label faceCellI = patch().faceCells()[faceI];
-
-        scalar yPlus =
-            Cmu25*y[faceI]*sqrt(k[faceCellI])/(muw[faceI]/rhow[faceI]);
-
-        if (yPlus > yPlusLam_)
-        {
-            mutw[faceI] = muw[faceI]*(yPlus*kappa_/log(E_*yPlus) - 1);
-        }
-    }
-
-    return tmutw;
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-mutkWallFunctionFvPatchScalarField::mutkWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    mutWallFunctionFvPatchScalarField(p, iF)
-{}
-
-
-mutkWallFunctionFvPatchScalarField::mutkWallFunctionFvPatchScalarField
-(
-    const mutkWallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    mutWallFunctionFvPatchScalarField(ptf, p, iF, mapper)
-{}
-
-
-mutkWallFunctionFvPatchScalarField::mutkWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    mutWallFunctionFvPatchScalarField(p, iF, dict)
-{}
-
-
-mutkWallFunctionFvPatchScalarField::mutkWallFunctionFvPatchScalarField
-(
-    const mutkWallFunctionFvPatchScalarField& wfpsf
-)
-:
-    mutWallFunctionFvPatchScalarField(wfpsf)
-{}
-
-
-mutkWallFunctionFvPatchScalarField::mutkWallFunctionFvPatchScalarField
-(
-    const mutkWallFunctionFvPatchScalarField& wfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    mutWallFunctionFvPatchScalarField(wfpsf, iF)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<scalarField> mutkWallFunctionFvPatchScalarField::yPlus() const
-{
-    const label patchi = patch().index();
-
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-    const scalarField& y = turbModel.y()[patchi];
-
-    const tmp<volScalarField> tk = turbModel.k();
-    const volScalarField& k = tk();
-    const scalarField kwc(k.boundaryField()[patchi].patchInternalField());
-    const scalarField& muw = turbModel.mu().boundaryField()[patchi];
-    const scalarField& rhow = turbModel.rho().boundaryField()[patchi];
-
-    return pow025(Cmu_)*y*sqrt(kwc)/(muw/rhow);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    mutkWallFunctionFvPatchScalarField
-);
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutkWallFunction/mutkWallFunctionFvPatchScalarField.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutkWallFunction/mutkWallFunctionFvPatchScalarField.H
deleted file mode 100644
index f81625627cf..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutkWallFunction/mutkWallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,168 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::mutkWallFunctionFvPatchScalarField
-
-Group
-    grpCmpWallFunctions
-
-Description
-    This boundary condition provides a turbulent viscosity condition when
-    using wall functions, based on turbulence kinetic energy.
-    - replicates OpenFOAM v1.5 (and earlier) behaviour
-
-    \heading Patch usage
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            mutkWallFunction;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::compressible::mutWallFunctionFvPatchScalarField
-
-SourceFiles
-    mutkWallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleMutkWallFunctionFvPatchScalarField_H
-#define compressibleMutkWallFunctionFvPatchScalarField_H
-
-#include "mutWallFunctionFvPatchScalarField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-/*---------------------------------------------------------------------------*\
-             Class mutkWallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class mutkWallFunctionFvPatchScalarField
-:
-    public mutWallFunctionFvPatchScalarField
-{
-protected:
-
-    // Protected Member Functions
-
-        //- Calculate the turbulence viscosity
-        virtual tmp<scalarField> calcMut() const;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("mutkWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        mutkWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        mutkWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        //  mutkWallFunctionFvPatchScalarField
-        //  onto a new patch
-        mutkWallFunctionFvPatchScalarField
-        (
-            const mutkWallFunctionFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        mutkWallFunctionFvPatchScalarField
-        (
-            const mutkWallFunctionFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new mutkWallFunctionFvPatchScalarField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        mutkWallFunctionFvPatchScalarField
-        (
-            const mutkWallFunctionFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new mutkWallFunctionFvPatchScalarField(*this, iF)
-            );
-        }
-
-
-    // Member functions
-
-        // Evaluation functions
-
-            //- Calculate and return the yPlus at the boundary
-            virtual tmp<scalarField> yPlus() const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C
deleted file mode 100644
index 89d4782aa3b..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,603 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "omegaWallFunctionFvPatchScalarField.H"
-#include "compressible/turbulenceModel/turbulenceModel.H"
-#include "fvPatchFieldMapper.H"
-#include "fvMatrix.H"
-#include "volFields.H"
-#include "wallFvPatch.H"
-#include "mutWallFunctionFvPatchScalarField.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-scalar omegaWallFunctionFvPatchScalarField::tolerance_ = 1e-5;
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-void omegaWallFunctionFvPatchScalarField::checkType()
-{
-    if (!isA<wallFvPatch>(patch()))
-    {
-        FatalErrorIn("omegaWallFunctionFvPatchScalarField::checkType()")
-            << "Invalid wall function specification" << nl
-            << "    Patch type for patch " << patch().name()
-            << " must be wall" << nl
-            << "    Current patch type is " << patch().type() << nl << endl
-            << abort(FatalError);
-    }
-}
-
-
-void omegaWallFunctionFvPatchScalarField::writeLocalEntries(Ostream& os) const
-{
-    os.writeKeyword("Cmu") << Cmu_ << token::END_STATEMENT << nl;
-    os.writeKeyword("kappa") << kappa_ << token::END_STATEMENT << nl;
-    os.writeKeyword("E") << E_ << token::END_STATEMENT << nl;
-    os.writeKeyword("beta1") << beta1_ << token::END_STATEMENT << nl;
-}
-
-
-void omegaWallFunctionFvPatchScalarField::setMaster()
-{
-    if (master_ != -1)
-    {
-        return;
-    }
-
-    const volScalarField& omega =
-        static_cast<const volScalarField&>(this->dimensionedInternalField());
-
-    const volScalarField::GeometricBoundaryField& bf = omega.boundaryField();
-
-    label master = -1;
-    forAll(bf, patchI)
-    {
-        if (isA<omegaWallFunctionFvPatchScalarField>(bf[patchI]))
-        {
-            omegaWallFunctionFvPatchScalarField& opf = omegaPatch(patchI);
-
-            if (master == -1)
-            {
-                master = patchI;
-            }
-
-            opf.master() = master;
-        }
-    }
-}
-
-
-void omegaWallFunctionFvPatchScalarField::createAveragingWeights()
-{
-    const volScalarField& omega =
-        static_cast<const volScalarField&>(this->dimensionedInternalField());
-
-    const volScalarField::GeometricBoundaryField& bf = omega.boundaryField();
-
-    const fvMesh& mesh = omega.mesh();
-
-    if (initialised_ && !mesh.changing())
-    {
-        return;
-    }
-
-    volScalarField weights
-    (
-        IOobject
-        (
-            "weights",
-            mesh.time().timeName(),
-            mesh,
-            IOobject::NO_READ,
-            IOobject::NO_WRITE,
-            false // do not register
-        ),
-        mesh,
-        dimensionedScalar("zero", dimless, 0.0)
-    );
-
-    DynamicList<label> omegaPatches(bf.size());
-    forAll(bf, patchI)
-    {
-        if (isA<omegaWallFunctionFvPatchScalarField>(bf[patchI]))
-        {
-            omegaPatches.append(patchI);
-
-            const labelUList& faceCells = bf[patchI].patch().faceCells();
-            forAll(faceCells, i)
-            {
-                label cellI = faceCells[i];
-                weights[cellI]++;
-            }
-        }
-    }
-
-    cornerWeights_.setSize(bf.size());
-    forAll(omegaPatches, i)
-    {
-        label patchI = omegaPatches[i];
-        const fvPatchScalarField& wf = weights.boundaryField()[patchI];
-        cornerWeights_[patchI] = 1.0/wf.patchInternalField();
-    }
-
-    G_.setSize(dimensionedInternalField().size(), 0.0);
-    omega_.setSize(dimensionedInternalField().size(), 0.0);
-
-    initialised_ = true;
-}
-
-
-omegaWallFunctionFvPatchScalarField&
-omegaWallFunctionFvPatchScalarField::omegaPatch(const label patchI)
-{
-    const volScalarField& omega =
-        static_cast<const volScalarField&>(this->dimensionedInternalField());
-
-    const volScalarField::GeometricBoundaryField& bf = omega.boundaryField();
-
-    const omegaWallFunctionFvPatchScalarField& opf =
-        refCast<const omegaWallFunctionFvPatchScalarField>(bf[patchI]);
-
-    return const_cast<omegaWallFunctionFvPatchScalarField&>(opf);
-}
-
-
-void omegaWallFunctionFvPatchScalarField::calculateTurbulenceFields
-(
-    const turbulenceModel& turbulence,
-    scalarField& G0,
-    scalarField& omega0
-)
-{
-    // accumulate all of the G and omega contributions
-    forAll(cornerWeights_, patchI)
-    {
-        if (!cornerWeights_[patchI].empty())
-        {
-            omegaWallFunctionFvPatchScalarField& opf = omegaPatch(patchI);
-
-            const List<scalar>& w = cornerWeights_[patchI];
-
-            opf.calculate(turbulence, w, opf.patch(), G0, omega0);
-        }
-    }
-
-    // apply zero-gradient condition for omega
-    forAll(cornerWeights_, patchI)
-    {
-        if (!cornerWeights_[patchI].empty())
-        {
-            omegaWallFunctionFvPatchScalarField& opf = omegaPatch(patchI);
-
-            opf == scalarField(omega0, opf.patch().faceCells());
-        }
-    }
-}
-
-
-void omegaWallFunctionFvPatchScalarField::calculate
-(
-    const turbulenceModel& turbulence,
-    const List<scalar>& cornerWeights,
-    const fvPatch& patch,
-    scalarField& G,
-    scalarField& omega
-)
-{
-    const label patchI = patch.index();
-
-    const scalarField& y = turbulence.y()[patchI];
-
-    const scalar Cmu25 = pow025(Cmu_);
-
-    const tmp<volScalarField> tk = turbulence.k();
-    const volScalarField& k = tk();
-
-    const scalarField& rhow = turbulence.rho().boundaryField()[patchI];
-
-    const tmp<volScalarField> tmu = turbulence.mu();
-    const scalarField& muw = tmu().boundaryField()[patchI];
-
-    const tmp<volScalarField> tmut = turbulence.mut();
-    const volScalarField& mut = tmut();
-    const scalarField& mutw = mut.boundaryField()[patchI];
-
-    const fvPatchVectorField& Uw = turbulence.U().boundaryField()[patchI];
-
-    const scalarField magGradUw(mag(Uw.snGrad()));
-
-    // Set omega and G
-    forAll(mutw, faceI)
-    {
-        label cellI = patch.faceCells()[faceI];
-
-        scalar w = cornerWeights[faceI];
-
-        scalar omegaVis = 6.0*muw[faceI]/(rhow[faceI]*beta1_*sqr(y[faceI]));
-
-        scalar omegaLog = sqrt(k[cellI])/(Cmu25*kappa_*y[faceI]);
-
-        omega[cellI] += w*sqrt(sqr(omegaVis) + sqr(omegaLog));
-
-        G[cellI] +=
-            w
-           *(mutw[faceI] + muw[faceI])
-           *magGradUw[faceI]
-           *Cmu25*sqrt(k[cellI])
-           /(kappa_*y[faceI]);
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedValueFvPatchField<scalar>(p, iF),
-    Cmu_(0.09),
-    kappa_(0.41),
-    E_(9.8),
-    beta1_(0.075),
-    yPlusLam_(mutWallFunctionFvPatchScalarField::yPlusLam(kappa_, E_)),
-    G_(),
-    omega_(),
-    initialised_(false),
-    master_(-1),
-    cornerWeights_()
-{
-    checkType();
-}
-
-
-omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField
-(
-    const omegaWallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    fixedValueFvPatchField<scalar>(ptf, p, iF, mapper),
-    Cmu_(ptf.Cmu_),
-    kappa_(ptf.kappa_),
-    E_(ptf.E_),
-    beta1_(ptf.beta1_),
-    yPlusLam_(ptf.yPlusLam_),
-    G_(),
-    omega_(),
-    initialised_(false),
-    master_(-1),
-    cornerWeights_()
-{
-    checkType();
-}
-
-
-omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    fixedValueFvPatchField<scalar>(p, iF, dict),
-    Cmu_(dict.lookupOrDefault<scalar>("Cmu", 0.09)),
-    kappa_(dict.lookupOrDefault<scalar>("kappa", 0.41)),
-    E_(dict.lookupOrDefault<scalar>("E", 9.8)),
-    beta1_(dict.lookupOrDefault<scalar>("beta1", 0.075)),
-    yPlusLam_(mutWallFunctionFvPatchScalarField::yPlusLam(kappa_, E_)),
-    G_(),
-    omega_(),
-    initialised_(false),
-    master_(-1),
-    cornerWeights_()
-{
-    checkType();
-
-    // apply zero-gradient condition on start-up
-    this->operator==(patchInternalField());
-}
-
-
-omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField
-(
-    const omegaWallFunctionFvPatchScalarField& owfpsf
-)
-:
-    fixedValueFvPatchField<scalar>(owfpsf),
-    Cmu_(owfpsf.Cmu_),
-    kappa_(owfpsf.kappa_),
-    E_(owfpsf.E_),
-    beta1_(owfpsf.beta1_),
-    yPlusLam_(owfpsf.yPlusLam_),
-    G_(),
-    omega_(),
-    initialised_(false),
-    master_(-1),
-    cornerWeights_()
-{
-    checkType();
-}
-
-
-omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField
-(
-    const omegaWallFunctionFvPatchScalarField& owfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedValueFvPatchField<scalar>(owfpsf, iF),
-    Cmu_(owfpsf.Cmu_),
-    kappa_(owfpsf.kappa_),
-    E_(owfpsf.E_),
-    beta1_(owfpsf.beta1_),
-    yPlusLam_(owfpsf.yPlusLam_),
-    G_(),
-    omega_(),
-    initialised_(false),
-    master_(-1),
-    cornerWeights_()
-{
-    checkType();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-scalarField& omegaWallFunctionFvPatchScalarField::G(bool init)
-{
-    if (patch().index() == master_)
-    {
-        if (init)
-        {
-            G_ = 0.0;
-        }
-
-        return G_;
-    }
-
-    return omegaPatch(master_).G();
-}
-
-
-scalarField& omegaWallFunctionFvPatchScalarField::omega(bool init)
-{
-    if (patch().index() == master_)
-    {
-        if (init)
-        {
-            omega_ = 0.0;
-        }
-
-        return omega_;
-    }
-
-    return omegaPatch(master_).omega(init);
-}
-
-
-void omegaWallFunctionFvPatchScalarField::updateCoeffs()
-{
-    if (updated())
-    {
-        return;
-    }
-
-    const turbulenceModel& turbulence =
-        db().lookupObject<turbulenceModel>(turbulenceModel::typeName);
-
-    setMaster();
-
-    if (patch().index() == master_)
-    {
-        createAveragingWeights();
-        calculateTurbulenceFields(turbulence, G(true), omega(true));
-    }
-
-    const scalarField& G0 = this->G();
-    const scalarField& omega0 = this->omega();
-
-    typedef DimensionedField<scalar, volMesh> FieldType;
-
-    FieldType& G =
-        const_cast<FieldType&>
-        (
-            db().lookupObject<FieldType>(turbulence.GName())
-        );
-
-    FieldType& omega = const_cast<FieldType&>(dimensionedInternalField());
-
-    forAll(*this, faceI)
-    {
-        label cellI = patch().faceCells()[faceI];
-
-        G[cellI] = G0[cellI];
-        omega[cellI] = omega0[cellI];
-    }
-
-    fvPatchField<scalar>::updateCoeffs();
-}
-
-
-void omegaWallFunctionFvPatchScalarField::updateCoeffs
-(
-    const scalarField& weights
-)
-{
-    if (updated())
-    {
-        return;
-    }
-
-    const turbulenceModel& turbulence =
-        db().lookupObject<turbulenceModel>(turbulenceModel::typeName);
-
-    setMaster();
-
-    if (patch().index() == master_)
-    {
-        createAveragingWeights();
-        calculateTurbulenceFields(turbulence, G(true), omega(true));
-    }
-
-    const scalarField& G0 = this->G();
-    const scalarField& omega0 = this->omega();
-
-    typedef DimensionedField<scalar, volMesh> FieldType;
-
-    FieldType& G =
-        const_cast<FieldType&>
-        (
-            db().lookupObject<FieldType>(turbulence.GName())
-        );
-
-    FieldType& omega = const_cast<FieldType&>(dimensionedInternalField());
-
-    scalarField& omegaf = *this;
-
-    // only set the values if the weights are > tolerance_
-    forAll(weights, faceI)
-    {
-        scalar w = weights[faceI];
-
-        if (w > tolerance_)
-        {
-            label cellI = patch().faceCells()[faceI];
-
-            G[cellI] = (1.0 - w)*G[cellI] + w*G0[cellI];
-            omega[cellI] = (1.0 - w)*omega[cellI] + w*omega0[cellI];
-            omegaf[faceI] = omega[cellI];
-        }
-    }
-
-    fvPatchField<scalar>::updateCoeffs();
-}
-
-
-void omegaWallFunctionFvPatchScalarField::manipulateMatrix
-(
-    fvMatrix<scalar>& matrix
-)
-{
-    if (manipulatedMatrix())
-    {
-        return;
-    }
-
-    matrix.setValues(patch().faceCells(), patchInternalField());
-
-    fvPatchField<scalar>::manipulateMatrix(matrix);
-}
-
-
-void omegaWallFunctionFvPatchScalarField::manipulateMatrix
-(
-    fvMatrix<scalar>& matrix,
-    const Field<scalar>& weights
-)
-{
-    if (manipulatedMatrix())
-    {
-        return;
-    }
-
-    // filter weights so that we only apply the constraint where the
-    // weight > SMALL
-    DynamicList<label> constraintCells(weights.size());
-    DynamicList<scalar> constraintomega(weights.size());
-    const labelUList& faceCells = patch().faceCells();
-
-    const DimensionedField<scalar, volMesh>& omega =
-        dimensionedInternalField();
-
-    label nConstrainedCells = 0;
-
-
-    forAll(weights, faceI)
-    {
-        // only set the values if the weights are > tolerance
-        if (weights[faceI] > tolerance_)
-        {
-            nConstrainedCells++;
-
-            label cellI = faceCells[faceI];
-
-            constraintCells.append(cellI);
-            constraintomega.append(omega[cellI]);
-        }
-    }
-
-    if (debug)
-    {
-        Pout<< "Patch: " << patch().name()
-            << ": number of constrained cells = " << nConstrainedCells
-            << " out of " << patch().size()
-            << endl;
-    }
-
-    matrix.setValues
-    (
-        constraintCells,
-        scalarField(constraintomega.xfer())
-    );
-
-    fvPatchField<scalar>::manipulateMatrix(matrix);
-}
-
-
-void omegaWallFunctionFvPatchScalarField::write(Ostream& os) const
-{
-    fixedValueFvPatchField<scalar>::write(os);
-    writeLocalEntries(os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    omegaWallFunctionFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H
deleted file mode 100644
index a17c65ef4a2..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,298 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::omegaWallFunctionFvPatchScalarField
-
-Group
-    grpCmpWallFunctions
-
-Description
-    This boundary condition provides a wall function constraint on turbulnce
-    specific dissipation, omega.  The values are computed using:
-
-        \f[
-            \omega = sqrt(\omega_{vis}^2 + \omega_{log}^2)
-        \f]
-
-    where
-
-    \vartable
-        \omega_{vis} | omega in viscous region
-        \omega_{log} | omega in logarithmic region
-    \endvartable
-
-    Model described by Eq.(15) of:
-    \verbatim
-        Menter, F., Esch, T.
-        "Elements of Industrial Heat Transfer Prediction"
-        16th Brazilian Congress of Mechanical Engineering (COBEM),
-        Nov. 2001
-    \endverbatim
-
-    \heading Patch usage
-
-    \table
-        Property     | Description             | Required    | Default value
-        Cmu          | model coefficient       | no          | 0.09
-        kappa        | Von Karman constant     | no          | 0.41
-        E            | model coefficient       | no          | 9.8
-        beta1        | model coefficient       | no          | 0.075
-    \endtable
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            compressible::omegaWallFunction;
-    }
-    \endverbatim
-
-SourceFiles
-    omegaWallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleOmegaWallFunctionFvPatchScalarField_H
-#define compressibleOmegaWallFunctionFvPatchScalarField_H
-
-#include "fixedValueFvPatchField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-class turbulenceModel;
-
-/*---------------------------------------------------------------------------*\
-             Class omegaWallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class omegaWallFunctionFvPatchScalarField
-:
-    public fixedValueFvPatchField<scalar>
-{
-protected:
-
-    // Protected data
-
-        //- Tolerance used in weighted calculations
-        static scalar tolerance_;
-
-        //- Cmu coefficient
-        scalar Cmu_;
-
-        //- Von Karman constant
-        scalar kappa_;
-
-        //- E coefficient
-        scalar E_;
-
-        //- beta1 coefficient
-        scalar beta1_;
-
-        //- Y+ at the edge of the laminar sublayer
-        scalar yPlusLam_;
-
-        //- Local copy of turbulence G field
-        scalarField G_;
-
-        //- Local copy of turbulence omega field
-        scalarField omega_;
-
-        //- Initialised flag
-        bool initialised_;
-
-        //- Master patch ID
-        label master_;
-
-        //- List of averaging corner weights
-        List<List<scalar> > cornerWeights_;
-
-
-    // Protected Member Functions
-
-        //- Check the type of the patch
-        virtual void checkType();
-
-        //- Write local wall function variables
-        virtual void writeLocalEntries(Ostream&) const;
-
-        //- Set the master patch - master is responsible for updating all
-        //  wall function patches
-        virtual void setMaster();
-
-        //- Create the averaging weights for cells which are bounded by
-        //  multiple wall function faces
-        virtual void createAveragingWeights();
-
-        //- Helper function to return non-const access to an omega patch
-        virtual omegaWallFunctionFvPatchScalarField& omegaPatch
-        (
-            const label patchI
-        );
-
-        //- Main driver to calculate the turbulence fields
-        virtual void calculateTurbulenceFields
-        (
-            const turbulenceModel& turbulence,
-            scalarField& G0,
-            scalarField& omega0
-        );
-
-        //- Calculate the omega and G
-        virtual void calculate
-        (
-            const turbulenceModel& turbulence,
-            const List<scalar>& cornerWeights,
-            const fvPatch& patch,
-            scalarField& G,
-            scalarField& omega
-        );
-
-        //- Return non-const access to the master patch ID
-        virtual label& master()
-        {
-            return master_;
-        }
-
-
-public:
-
-    //- Runtime type information
-    TypeName("compressible::omegaWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        omegaWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        omegaWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        // omegaWallFunctionFvPatchScalarField
-        //  onto a new patch
-        omegaWallFunctionFvPatchScalarField
-        (
-            const omegaWallFunctionFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        omegaWallFunctionFvPatchScalarField
-        (
-            const omegaWallFunctionFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new omegaWallFunctionFvPatchScalarField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        omegaWallFunctionFvPatchScalarField
-        (
-            const omegaWallFunctionFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new omegaWallFunctionFvPatchScalarField(*this, iF)
-            );
-        }
-
-
-    // Member functions
-
-        // Access
-
-            //- Return non-const access to the master's G field
-            scalarField& G(bool init = false);
-
-            //- Return non-const access to the master's omega field
-            scalarField& omega(bool init = false);
-
-
-        // Evaluation functions
-
-            //- Update the coefficients associated with the patch field
-            virtual void updateCoeffs();
-
-            //- Update the coefficients associated with the patch field
-            virtual void updateCoeffs(const scalarField& weights);
-
-            //- Manipulate matrix
-            virtual void manipulateMatrix(fvMatrix<scalar>& matrix);
-
-            //- Manipulate matrix with given weights
-            virtual void manipulateMatrix
-            (
-                fvMatrix<scalar>& matrix,
-                const scalarField& weights
-            );
-
-
-        // I-O
-
-            //- Write
-            virtual void write(Ostream&) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C
deleted file mode 100644
index 6759772f177..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,254 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "v2WallFunctionFvPatchScalarField.H"
-#include "RASModel.H"
-#include "fvPatchFieldMapper.H"
-#include "volFields.H"
-#include "addToRunTimeSelectionTable.H"
-#include "wallFvPatch.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace RASModels
-{
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-void v2WallFunctionFvPatchScalarField::checkType()
-{
-    if (!isA<wallFvPatch>(patch()))
-    {
-        FatalErrorIn("v2WallFunctionFvPatchScalarField::checkType()")
-            << "Invalid wall function specification" << nl
-            << "    Patch type for patch " << patch().name()
-            << " must be wall" << nl
-            << "    Current patch type is " << patch().type() << nl << endl
-            << abort(FatalError);
-    }
-}
-
-
-void v2WallFunctionFvPatchScalarField::writeLocalEntries(Ostream& os) const
-{
-    os.writeKeyword("Cmu") << Cmu_ << token::END_STATEMENT << nl;
-    os.writeKeyword("kappa") << kappa_ << token::END_STATEMENT << nl;
-    os.writeKeyword("E") << E_ << token::END_STATEMENT << nl;
-}
-
-
-scalar v2WallFunctionFvPatchScalarField::yPlusLam
-(
-    const scalar kappa,
-    const scalar E
-)
-{
-    scalar ypl = 11.0;
-
-    for (int i=0; i<10; i++)
-    {
-        ypl = log(max(E*ypl, 1))/kappa;
-    }
-
-    return ypl;
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-v2WallFunctionFvPatchScalarField::v2WallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedValueFvPatchField<scalar>(p, iF),
-    Cmu_(0.09),
-    kappa_(0.41),
-    E_(9.8),
-    yPlusLam_(yPlusLam(kappa_, E_))
-{
-    checkType();
-}
-
-
-v2WallFunctionFvPatchScalarField::v2WallFunctionFvPatchScalarField
-(
-    const v2WallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    fixedValueFvPatchField<scalar>(ptf, p, iF, mapper),
-    Cmu_(ptf.Cmu_),
-    kappa_(ptf.kappa_),
-    E_(ptf.E_),
-    yPlusLam_(ptf.yPlusLam_)
-{
-    checkType();
-}
-
-
-v2WallFunctionFvPatchScalarField::v2WallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    fixedValueFvPatchField<scalar>(p, iF, dict),
-    Cmu_(dict.lookupOrDefault<scalar>("Cmu", 0.09)),
-    kappa_(dict.lookupOrDefault<scalar>("kappa", 0.41)),
-    E_(dict.lookupOrDefault<scalar>("E", 9.8)),
-    yPlusLam_(yPlusLam(kappa_, E_))
-{
-    checkType();
-}
-
-
-v2WallFunctionFvPatchScalarField::v2WallFunctionFvPatchScalarField
-(
-    const v2WallFunctionFvPatchScalarField& v2wfpsf
-)
-:
-    fixedValueFvPatchField<scalar>(v2wfpsf),
-    Cmu_(v2wfpsf.Cmu_),
-    kappa_(v2wfpsf.kappa_),
-    E_(v2wfpsf.E_),
-    yPlusLam_(v2wfpsf.yPlusLam_)
-{
-    checkType();
-}
-
-
-v2WallFunctionFvPatchScalarField::v2WallFunctionFvPatchScalarField
-(
-    const v2WallFunctionFvPatchScalarField& v2wfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedValueFvPatchField<scalar>(v2wfpsf, iF),
-    Cmu_(v2wfpsf.Cmu_),
-    kappa_(v2wfpsf.kappa_),
-    E_(v2wfpsf.E_),
-    yPlusLam_(v2wfpsf.yPlusLam_)
-{
-    checkType();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void v2WallFunctionFvPatchScalarField::updateCoeffs()
-{
-    if (updated())
-    {
-        return;
-    }
-
-    const label patchI = patch().index();
-
-    const turbulenceModel& turbulence =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-    const scalarField& y = turbulence.y()[patchI];
-
-    const tmp<volScalarField> tk = turbulence.k();
-    const volScalarField& k = tk();
-
-    const tmp<volScalarField> tmu = turbulence.mu();
-    const scalarField& muw = tmu().boundaryField()[patchI];
-
-    const scalarField& rhow = turbulence.rho().boundaryField()[patchI];
-
-    const scalar Cmu25 = pow025(Cmu_);
-
-    scalarField& v2 = *this;
-
-    // Set v2 wall values
-    forAll(v2, faceI)
-    {
-        label faceCellI = patch().faceCells()[faceI];
-
-        scalar uTau = Cmu25*sqrt(k[faceCellI]);
-
-        scalar yPlus = uTau*y[faceI]/(muw[faceI]/rhow[faceI]);
-
-        if (yPlus > yPlusLam_)
-        {
-            scalar Cv2 = 0.193;
-            scalar Bv2 = -0.94;
-            v2[faceI] = Cv2/kappa_*log(yPlus) + Bv2;
-        }
-        else
-        {
-            scalar Cv2 = 0.193;
-            v2[faceI] = Cv2*pow4(yPlus);
-        }
-
-        v2[faceI] *= sqr(uTau);
-    }
-
-    fixedValueFvPatchField<scalar>::updateCoeffs();
-
-    // TODO: perform averaging for cells sharing more than one boundary face
-}
-
-
-void v2WallFunctionFvPatchScalarField::evaluate
-(
-    const Pstream::commsTypes commsType
-)
-{
-    fixedValueFvPatchField<scalar>::evaluate(commsType);
-}
-
-
-void v2WallFunctionFvPatchScalarField::write(Ostream& os) const
-{
-    writeLocalEntries(os);
-    fixedValueFvPatchField<scalar>::write(os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    v2WallFunctionFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.H
deleted file mode 100644
index dc64df9345e..00000000000
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,211 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::RASModels::v2WallFunctionFvPatchScalarField
-
-Group
-    grpCmpWallFunctions
-
-Description
-    This boundary condition provides a turbulence stress normal to streamlines
-    wall function condition for low- and high-Reynolds number, turbulent flow
-    cases.
-
-    The model operates in two modes, based on the computed laminar-to-turbulent
-    switch-over y+ value derived from kappa and E.
-
-
-    \heading Patch usage
-
-    \table
-        Property     | Description             | Required    | Default value
-        Cmu          | model coefficient       | no          | 0.09
-        kappa        | Von Karman constant     | no          | 0.41
-        E            | model coefficient       | no          | 9.8
-    \endtable
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            v2WallFunction;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::fixedValueFvPatchField
-
-SourceFiles
-    v2WallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef v2WallFunctionFvPatchScalarField_H
-#define v2WallFunctionFvPatchScalarField_H
-
-#include "fixedValueFvPatchField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace RASModels
-{
-
-/*---------------------------------------------------------------------------*\
-              Class v2WallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class v2WallFunctionFvPatchScalarField
-:
-    public fixedValueFvPatchField<scalar>
-{
-protected:
-
-    // Protected data
-
-        //- Cmu coefficient
-        scalar Cmu_;
-
-        //- Von Karman constant
-        scalar kappa_;
-
-        //- E coefficient
-        scalar E_;
-
-        //- Y+ at the edge of the laminar sublayer
-        scalar yPlusLam_;
-
-
-    // Protected Member Functions
-
-        //- Check the type of the patch
-        virtual void checkType();
-
-        //- Write local wall function variables
-        virtual void writeLocalEntries(Ostream&) const;
-
-        //- Calculate the Y+ at the edge of the laminar sublayer
-        scalar yPlusLam(const scalar kappa, const scalar E);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("compressible::v2WallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        v2WallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        v2WallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given v2WallFunctionFvPatchScalarField
-        //  onto a new patch
-        v2WallFunctionFvPatchScalarField
-        (
-            const v2WallFunctionFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        v2WallFunctionFvPatchScalarField
-        (
-            const v2WallFunctionFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new v2WallFunctionFvPatchScalarField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        v2WallFunctionFvPatchScalarField
-        (
-            const v2WallFunctionFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new v2WallFunctionFvPatchScalarField(*this, iF)
-            );
-        }
-
-
-    // Member functions
-
-        // Evaluation functions
-
-            //- Update the coefficients associated with the patch field
-            virtual void updateCoeffs();
-
-            //- Evaluate the patchField
-            virtual void evaluate(const Pstream::commsTypes);
-
-
-        // I-O
-
-            //- Write
-            virtual void write(Ostream&) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/kEpsilon/kEpsilon.C b/src/turbulenceModels/compressible/RAS/kEpsilon/kEpsilon.C
deleted file mode 100644
index a4089610ce3..00000000000
--- a/src/turbulenceModels/compressible/RAS/kEpsilon/kEpsilon.C
+++ /dev/null
@@ -1,344 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "kEpsilon.H"
-#include "addToRunTimeSelectionTable.H"
-
-#include "backwardsCompatibilityWallFunctions.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace RASModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(kEpsilon, 0);
-addToRunTimeSelectionTable(RASModel, kEpsilon, dictionary);
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-kEpsilon::kEpsilon
-(
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermophysicalModel,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
-
-    Cmu_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cmu",
-            coeffDict_,
-            0.09
-        )
-    ),
-    C1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C1",
-            coeffDict_,
-            1.44
-        )
-    ),
-    C2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C2",
-            coeffDict_,
-            1.92
-        )
-    ),
-    C3_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C3",
-            coeffDict_,
-            -0.33
-        )
-    ),
-    sigmak_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmak",
-            coeffDict_,
-            1.0
-        )
-    ),
-    sigmaEps_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmaEps",
-            coeffDict_,
-            1.3
-        )
-    ),
-    Prt_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Prt",
-            coeffDict_,
-            1.0
-        )
-    ),
-
-    k_
-    (
-        IOobject
-        (
-            "k",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateK("k", mesh_)
-    ),
-    epsilon_
-    (
-        IOobject
-        (
-            "epsilon",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateEpsilon("epsilon", mesh_)
-    ),
-    mut_
-    (
-        IOobject
-        (
-            "mut",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateMut("mut", mesh_)
-    ),
-    alphat_
-    (
-        IOobject
-        (
-            "alphat",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateAlphat("alphat", mesh_)
-    )
-{
-    bound(k_, kMin_);
-    bound(epsilon_, epsilonMin_);
-
-    mut_ = Cmu_*rho_*sqr(k_)/epsilon_;
-    mut_.correctBoundaryConditions();
-
-    alphat_ = mut_/Prt_;
-    alphat_.correctBoundaryConditions();
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volSymmTensorField> kEpsilon::R() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "R",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            ((2.0/3.0)*I)*k_ - (mut_/rho_)*dev(twoSymm(fvc::grad(U_))),
-            k_.boundaryField().types()
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> kEpsilon::devRhoReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-           -muEff()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> kEpsilon::divDevRhoReff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(muEff(), U)
-      - fvc::div(muEff()*dev2(T(fvc::grad(U))))
-    );
-}
-
-
-bool kEpsilon::read()
-{
-    if (RASModel::read())
-    {
-        Cmu_.readIfPresent(coeffDict());
-        C1_.readIfPresent(coeffDict());
-        C2_.readIfPresent(coeffDict());
-        C3_.readIfPresent(coeffDict());
-        sigmak_.readIfPresent(coeffDict());
-        sigmaEps_.readIfPresent(coeffDict());
-        Prt_.readIfPresent(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-void kEpsilon::correct()
-{
-    if (!turbulence_)
-    {
-        // Re-calculate viscosity
-        mut_ = rho_*Cmu_*sqr(k_)/epsilon_;
-        mut_.correctBoundaryConditions();
-
-        // Re-calculate thermal diffusivity
-        alphat_ = mut_/Prt_;
-        alphat_.correctBoundaryConditions();
-
-        return;
-    }
-
-    RASModel::correct();
-
-    volScalarField divU(fvc::div(phi_/fvc::interpolate(rho_)));
-
-    if (mesh_.moving())
-    {
-        divU += fvc::div(mesh_.phi());
-    }
-
-    tmp<volTensorField> tgradU = fvc::grad(U_);
-    volScalarField G(GName(), mut_*(tgradU() && dev(twoSymm(tgradU()))));
-    tgradU.clear();
-
-    // Update epsilon and G at the wall
-    epsilon_.boundaryField().updateCoeffs();
-
-    // Dissipation equation
-    tmp<fvScalarMatrix> epsEqn
-    (
-        fvm::ddt(rho_, epsilon_)
-      + fvm::div(phi_, epsilon_)
-      - fvm::laplacian(DepsilonEff(), epsilon_)
-     ==
-        C1_*G*epsilon_/k_
-      - fvm::SuSp(((2.0/3.0)*C1_ + C3_)*rho_*divU, epsilon_)
-      - fvm::Sp(C2_*rho_*epsilon_/k_, epsilon_)
-    );
-
-    epsEqn().relax();
-
-    epsEqn().boundaryManipulate(epsilon_.boundaryField());
-
-    solve(epsEqn);
-    bound(epsilon_, epsilonMin_);
-
-
-    // Turbulent kinetic energy equation
-
-    tmp<fvScalarMatrix> kEqn
-    (
-        fvm::ddt(rho_, k_)
-      + fvm::div(phi_, k_)
-      - fvm::laplacian(DkEff(), k_)
-     ==
-        G
-      - fvm::SuSp((2.0/3.0)*rho_*divU, k_)
-      - fvm::Sp(rho_*epsilon_/k_, k_)
-    );
-
-    kEqn().relax();
-    solve(kEqn);
-    bound(k_, kMin_);
-
-
-    // Re-calculate viscosity
-    mut_ = rho_*Cmu_*sqr(k_)/epsilon_;
-    mut_.correctBoundaryConditions();
-
-    // Re-calculate thermal diffusivity
-    alphat_ = mut_/Prt_;
-    alphat_.correctBoundaryConditions();
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/kEpsilon/kEpsilon.H b/src/turbulenceModels/compressible/RAS/kEpsilon/kEpsilon.H
deleted file mode 100644
index 70b5e85a9b6..00000000000
--- a/src/turbulenceModels/compressible/RAS/kEpsilon/kEpsilon.H
+++ /dev/null
@@ -1,200 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::RASModels::kEpsilon
-
-Group
-    grpCmpRASTurbulence
-
-Description
-    Standard k-epsilon turbulence model for compressible flows
-    including rapid distortion theory (RDT) based compression term.
-
-    Reference:
-    \verbatim
-        "k-epsilon equations for compressible reciprocating engine flows"
-        El Tahry, S. H.,
-        AIAA Journal of Energy 7, 1983, pp 345-353.
-    \endverbatim
-
-    The default model coefficients correspond to the following:
-    \verbatim
-        kEpsilonCoeffs
-        {
-            Cmu         0.09;
-            C1          1.44;
-            C2          1.92;
-            C3          -0.33;  // only for compressible
-            sigmak      1.0;    // only for compressible
-            sigmaEps    1.3;
-            Prt         1.0;    // only for compressible
-        }
-    \endverbatim
-
-SourceFiles
-    kEpsilon.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressiblekEpsilon_H
-#define compressiblekEpsilon_H
-
-#include "RASModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace RASModels
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class kEpsilon Declaration
-\*---------------------------------------------------------------------------*/
-
-class kEpsilon
-:
-    public RASModel
-{
-
-protected:
-
-    // Protected data
-
-        // Model coefficients
-
-            dimensionedScalar Cmu_;
-            dimensionedScalar C1_;
-            dimensionedScalar C2_;
-            dimensionedScalar C3_;
-            dimensionedScalar sigmak_;
-            dimensionedScalar sigmaEps_;
-            dimensionedScalar Prt_;
-
-        // Fields
-
-            volScalarField k_;
-            volScalarField epsilon_;
-            volScalarField mut_;
-            volScalarField alphat_;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("kEpsilon");
-
-    // Constructors
-
-        //- Construct from components
-        kEpsilon
-        (
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const fluidThermo& thermophysicalModel,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~kEpsilon()
-    {}
-
-
-    // Member Functions
-
-        //- Return the effective diffusivity for k
-        tmp<volScalarField> DkEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DkEff", mut_/sigmak_ + mu())
-            );
-        }
-
-        //- Return the effective diffusivity for epsilon
-        tmp<volScalarField> DepsilonEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DepsilonEff", mut_/sigmaEps_ + mu())
-            );
-        }
-
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> mut() const
-        {
-            return mut_;
-        }
-
-        //- Return the turbulence thermal diffusivity
-        virtual tmp<volScalarField> alphat() const
-        {
-            return alphat_;
-        }
-
-        //- Return the turbulence kinetic energy
-        virtual tmp<volScalarField> k() const
-        {
-            return k_;
-        }
-
-        //- Return the turbulence kinetic energy dissipation rate
-        virtual tmp<volScalarField> epsilon() const
-        {
-            return epsilon_;
-        }
-
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const;
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devRhoReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const;
-
-        //- Solve the turbulence equations and correct the turbulence viscosity
-        virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C b/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C
deleted file mode 100644
index 0f74e653925..00000000000
--- a/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C
+++ /dev/null
@@ -1,511 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "kOmegaSST.H"
-#include "addToRunTimeSelectionTable.H"
-
-#include "backwardsCompatibilityWallFunctions.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace RASModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(kOmegaSST, 0);
-addToRunTimeSelectionTable(RASModel, kOmegaSST, dictionary);
-
-// * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * * //
-
-tmp<volScalarField> kOmegaSST::F1(const volScalarField& CDkOmega) const
-{
-    tmp<volScalarField> CDkOmegaPlus = max
-    (
-        CDkOmega,
-        dimensionedScalar("1.0e-10", dimless/sqr(dimTime), 1.0e-10)
-    );
-
-    tmp<volScalarField> arg1 = min
-    (
-        min
-        (
-            max
-            (
-                (scalar(1)/betaStar_)*sqrt(k_)/(omega_*y_),
-                scalar(500)*(mu()/rho_)/(sqr(y_)*omega_)
-            ),
-            (4*alphaOmega2_)*k_/(CDkOmegaPlus*sqr(y_))
-        ),
-        scalar(10)
-    );
-
-    return tanh(pow4(arg1));
-}
-
-tmp<volScalarField> kOmegaSST::F2() const
-{
-    tmp<volScalarField> arg2 = min
-    (
-        max
-        (
-            (scalar(2)/betaStar_)*sqrt(k_)/(omega_*y_),
-            scalar(500)*(mu()/rho_)/(sqr(y_)*omega_)
-        ),
-        scalar(100)
-    );
-
-    return tanh(sqr(arg2));
-}
-
-
-tmp<volScalarField> kOmegaSST::F3() const
-{
-    tmp<volScalarField> arg3 = min
-    (
-        150*(mu()/rho_)/(omega_*sqr(y_)),
-        scalar(10)
-    );
-
-    return 1 - tanh(pow4(arg3));
-}
-
-
-tmp<volScalarField> kOmegaSST::F23() const
-{
-    tmp<volScalarField> f23(F2());
-
-    if (F3_)
-    {
-        f23() *= F3();
-    }
-
-    return f23;
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-kOmegaSST::kOmegaSST
-(
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermophysicalModel,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
-
-    alphaK1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "alphaK1",
-            coeffDict_,
-            0.85
-        )
-    ),
-    alphaK2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "alphaK2",
-            coeffDict_,
-            1.0
-        )
-    ),
-    alphaOmega1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "alphaOmega1",
-            coeffDict_,
-            0.5
-        )
-    ),
-    alphaOmega2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "alphaOmega2",
-            coeffDict_,
-            0.856
-        )
-    ),
-    Prt_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Prt",
-            coeffDict_,
-            1.0
-        )
-    ),
-    gamma1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "gamma1",
-            coeffDict_,
-            5.0/9.0
-        )
-    ),
-    gamma2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "gamma2",
-            coeffDict_,
-            0.44
-        )
-    ),
-    beta1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "beta1",
-            coeffDict_,
-            0.075
-        )
-    ),
-    beta2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "beta2",
-            coeffDict_,
-            0.0828
-        )
-    ),
-    betaStar_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "betaStar",
-            coeffDict_,
-            0.09
-        )
-    ),
-    a1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "a1",
-            coeffDict_,
-            0.31
-        )
-    ),
-    b1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "b1",
-            coeffDict_,
-            1.0
-        )
-    ),
-    c1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "c1",
-            coeffDict_,
-            10.0
-        )
-    ),
-    F3_
-    (
-        Switch::lookupOrAddToDict
-        (
-            "F3",
-            coeffDict_,
-            false
-        )
-    ),
-
-    y_(wallDist::New(mesh_).y()),
-
-    k_
-    (
-        IOobject
-        (
-            "k",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateK("k", mesh_)
-    ),
-    omega_
-    (
-        IOobject
-        (
-            "omega",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateOmega("omega", mesh_)
-    ),
-    mut_
-    (
-        IOobject
-        (
-            "mut",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateMut("mut", mesh_)
-    ),
-    alphat_
-    (
-        IOobject
-        (
-            "alphat",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateAlphat("alphat", mesh_)
-    )
-{
-    bound(k_, kMin_);
-    bound(omega_, omegaMin_);
-
-    mut_ =
-    (
-        a1_*rho_*k_
-      / max
-        (
-            a1_*omega_,
-            b1_*F23()*sqrt(2.0)*mag(symm(fvc::grad(U_)))
-        )
-    );
-    mut_.correctBoundaryConditions();
-
-    alphat_ = mut_/Prt_;
-    alphat_.correctBoundaryConditions();
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volSymmTensorField> kOmegaSST::R() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "R",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            ((2.0/3.0)*I)*k_ - (mut_/rho_)*dev(twoSymm(fvc::grad(U_))),
-            k_.boundaryField().types()
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> kOmegaSST::devRhoReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            -muEff()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> kOmegaSST::divDevRhoReff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(muEff(), U) - fvc::div(muEff()*dev2(T(fvc::grad(U))))
-    );
-}
-
-
-bool kOmegaSST::read()
-{
-    if (RASModel::read())
-    {
-        alphaK1_.readIfPresent(coeffDict());
-        alphaK2_.readIfPresent(coeffDict());
-        alphaOmega1_.readIfPresent(coeffDict());
-        alphaOmega2_.readIfPresent(coeffDict());
-        Prt_.readIfPresent(coeffDict());
-        gamma1_.readIfPresent(coeffDict());
-        gamma2_.readIfPresent(coeffDict());
-        beta1_.readIfPresent(coeffDict());
-        beta2_.readIfPresent(coeffDict());
-        betaStar_.readIfPresent(coeffDict());
-        a1_.readIfPresent(coeffDict());
-        b1_.readIfPresent(coeffDict());
-        c1_.readIfPresent(coeffDict());
-        F3_.readIfPresent("F3", coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-void kOmegaSST::correct()
-{
-    if (!turbulence_)
-    {
-        // Re-calculate viscosity
-        mut_ =
-            a1_*rho_*k_
-           /max(a1_*omega_, F23()*sqrt(2.0)*mag(symm(fvc::grad(U_))));
-        mut_.correctBoundaryConditions();
-
-        // Re-calculate thermal diffusivity
-        alphat_ = mut_/Prt_;
-        alphat_.correctBoundaryConditions();
-
-        return;
-    }
-
-    RASModel::correct();
-
-    volScalarField divU(fvc::div(phi_/fvc::interpolate(rho_)));
-
-    if (mesh_.moving())
-    {
-        divU += fvc::div(mesh_.phi());
-    }
-
-    tmp<volTensorField> tgradU = fvc::grad(U_);
-    volScalarField S2(2*magSqr(symm(tgradU())));
-    volScalarField GbyMu((tgradU() && dev(twoSymm(tgradU()))));
-    volScalarField G(GName(), mut_*GbyMu);
-    tgradU.clear();
-
-    // Update omega and G at the wall
-    omega_.boundaryField().updateCoeffs();
-
-    volScalarField CDkOmega
-    (
-        (2*alphaOmega2_)*(fvc::grad(k_) & fvc::grad(omega_))/omega_
-    );
-
-    volScalarField F1(this->F1(CDkOmega));
-    volScalarField rhoGammaF1(rho_*gamma(F1));
-
-    // Turbulent frequency equation
-    tmp<fvScalarMatrix> omegaEqn
-    (
-        fvm::ddt(rho_, omega_)
-      + fvm::div(phi_, omega_)
-      - fvm::laplacian(DomegaEff(F1), omega_)
-     ==
-        rhoGammaF1
-       *min
-        (
-            GbyMu,
-            (c1_/a1_)*betaStar_*omega_*max(a1_*omega_, b1_*F23()*sqrt(S2))
-        )
-      - fvm::SuSp((2.0/3.0)*rhoGammaF1*divU, omega_)
-      - fvm::Sp(rho_*beta(F1)*omega_, omega_)
-      - fvm::SuSp
-        (
-            rho_*(F1 - scalar(1))*CDkOmega/omega_,
-            omega_
-        )
-    );
-
-    omegaEqn().relax();
-
-    omegaEqn().boundaryManipulate(omega_.boundaryField());
-
-    solve(omegaEqn);
-    bound(omega_, omegaMin_);
-
-    // Turbulent kinetic energy equation
-    tmp<fvScalarMatrix> kEqn
-    (
-        fvm::ddt(rho_, k_)
-      + fvm::div(phi_, k_)
-      - fvm::laplacian(DkEff(F1), k_)
-     ==
-        min(G, (c1_*betaStar_)*rho_*k_*omega_)
-      - fvm::SuSp(2.0/3.0*rho_*divU, k_)
-      - fvm::Sp(rho_*betaStar_*omega_, k_)
-    );
-
-    kEqn().relax();
-    solve(kEqn);
-    bound(k_, kMin_);
-
-
-    // Re-calculate viscosity
-    mut_ = a1_*rho_*k_/max(a1_*omega_, b1_*F23()*sqrt(S2));
-    mut_.correctBoundaryConditions();
-
-    // Re-calculate thermal diffusivity
-    alphat_ = mut_/Prt_;
-    alphat_.correctBoundaryConditions();
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.H b/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.H
deleted file mode 100644
index f17484e97b3..00000000000
--- a/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.H
+++ /dev/null
@@ -1,316 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::RASModels::kOmegaSST
-
-Group
-    grpCmpRASTurbulence
-
-Description
-    Implementation of the k-omega-SST turbulence model for compressible flows.
-
-    Turbulence model described in
-    \verbatim
-        Menter, F., Esch, T.,
-        "Elements of Industrial Heat Transfer Prediction",
-        16th Brazilian Congress of Mechanical Engineering (COBEM),
-        Nov. 2001.
-    \endverbatim
-
-    with updated coefficients from
-    \verbatim
-        Menter, F. R., Kuntz, M., and Langtry, R.,
-        "Ten Years of Industrial Experience with the SST Turbulence Model",
-        Turbulence, Heat and Mass Transfer 4, 2003,
-        pp. 625 - 632.
-    \endverbatim
-
-    but with the consistent production terms from the 2001 paper as form in the
-    2003 paper is a typo, see
-    \verbatim
-        http://turbmodels.larc.nasa.gov/sst.html
-    \endverbatim
-
-    and the addition of the optional F3 term for rough walls from
-    \verbatim
-        Hellsten, A.
-        "Some Improvements in Menter’s k-omega-SST turbulence model"
-        29th AIAA Fluid Dynamics Conference,
-        AIAA-98-2554,
-        June 1998.
-    \endverbatim
-
-    Note that this implementation is written in terms of alpha diffusion
-    coefficients rather than the more traditional sigma (alpha = 1/sigma) so
-    that the blending can be applied to all coefficuients in a consistent
-    manner.  The paper suggests that sigma is blended but this would not be
-    consistent with the blending of the k-epsilon and k-omega models.
-
-    Also note that the error in the last term of equation (2) relating to
-    sigma has been corrected.
-
-    The default model coefficients correspond to the following:
-    \verbatim
-        kOmegaSSTCoeffs
-        {
-            alphaK1     0.85;
-            alphaK2     1.0;
-            alphaOmega1 0.5;
-            alphaOmega2 0.856;
-            beta1       0.075;
-            beta2       0.0828;
-            betaStar    0.09;
-            gamma1      5/9;
-            gamma2      0.44;
-            a1          0.31;
-            b1          1.0;
-            c1          10.0;
-            F3          no;
-            Prt         1.0;
-        }
-    \endverbatim
-
-SourceFiles
-    kOmegaSST.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressiblekOmegaSST_H
-#define compressiblekOmegaSST_H
-
-#include "RASModel.H"
-#include "wallDist.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace RASModels
-{
-
-/*---------------------------------------------------------------------------*\
-                          Class kOmegaSST Declaration
-\*---------------------------------------------------------------------------*/
-
-class kOmegaSST
-:
-    public RASModel
-{
-
-protected:
-
-    // Protected data
-
-        // Model coefficients
-
-            dimensionedScalar alphaK1_;
-            dimensionedScalar alphaK2_;
-
-            dimensionedScalar alphaOmega1_;
-            dimensionedScalar alphaOmega2_;
-
-            dimensionedScalar Prt_;
-
-            dimensionedScalar gamma1_;
-            dimensionedScalar gamma2_;
-
-            dimensionedScalar beta1_;
-            dimensionedScalar beta2_;
-
-            dimensionedScalar betaStar_;
-
-            dimensionedScalar a1_;
-            dimensionedScalar b1_;
-            dimensionedScalar c1_;
-
-            Switch F3_;
-
-
-        // Fields
-
-            //- Wall distance
-            //  Note: different to wall distance in parent RASModel
-            //  which is for near-wall cells only
-            const volScalarField& y_;
-
-            volScalarField k_;
-            volScalarField omega_;
-            volScalarField mut_;
-            volScalarField alphat_;
-
-
-    // Private Member Functions
-
-        tmp<volScalarField> F1(const volScalarField& CDkOmega) const;
-        tmp<volScalarField> F2() const;
-        tmp<volScalarField> F3() const;
-        tmp<volScalarField> F23() const;
-
-        tmp<volScalarField> blend
-        (
-            const volScalarField& F1,
-            const dimensionedScalar& psi1,
-            const dimensionedScalar& psi2
-        ) const
-        {
-            return F1*(psi1 - psi2) + psi2;
-        }
-
-        tmp<volScalarField> alphaK(const volScalarField& F1) const
-        {
-            return blend(F1, alphaK1_, alphaK2_);
-        }
-
-        tmp<volScalarField> alphaOmega(const volScalarField& F1) const
-        {
-            return blend(F1, alphaOmega1_, alphaOmega2_);
-        }
-
-        tmp<volScalarField> beta(const volScalarField& F1) const
-        {
-            return blend(F1, beta1_, beta2_);
-        }
-
-        tmp<volScalarField> gamma(const volScalarField& F1) const
-        {
-            return blend(F1, gamma1_, gamma2_);
-        }
-
-
-public:
-
-    //- Runtime type information
-    TypeName("kOmegaSST");
-
-
-    // Constructors
-
-        //- Construct from components
-        kOmegaSST
-        (
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const fluidThermo& thermophysicalModel,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~kOmegaSST()
-    {}
-
-
-    // Member Functions
-
-        //- Return the effective diffusivity for k
-        tmp<volScalarField> DkEff(const volScalarField& F1) const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DkEff", alphaK(F1)*mut_ + mu())
-            );
-        }
-
-        //- Return the effective diffusivity for omega
-        tmp<volScalarField> DomegaEff(const volScalarField& F1) const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DomegaEff", alphaOmega(F1)*mut_ + mu())
-            );
-        }
-
-        virtual tmp<volScalarField> mut() const
-        {
-            return mut_;
-        }
-
-        //- Return the turbulence thermal diffusivity
-        virtual tmp<volScalarField> alphat() const
-        {
-            return alphat_;
-        }
-
-        //- Return the turbulence kinetic energy
-        virtual tmp<volScalarField> k() const
-        {
-            return k_;
-        }
-
-        virtual tmp<volScalarField> omega() const
-        {
-            return omega_;
-        }
-
-        //- Return the turbulence kinetic energy dissipation rate
-        virtual tmp<volScalarField> epsilon() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField
-                (
-                    IOobject
-                    (
-                        "epsilon",
-                        mesh_.time().timeName(),
-                        mesh_
-                    ),
-                    betaStar_*k_*omega_,
-                    omega_.boundaryField().types()
-                )
-            );
-        }
-
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const;
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devRhoReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const;
-
-        //- Solve the turbulence equations and correct the turbulence viscosity
-        virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/laminar/laminar.C b/src/turbulenceModels/compressible/RAS/laminar/laminar.C
deleted file mode 100644
index aa3200ee856..00000000000
--- a/src/turbulenceModels/compressible/RAS/laminar/laminar.C
+++ /dev/null
@@ -1,218 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "laminar.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace RASModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(laminar, 0);
-addToRunTimeSelectionTable(RASModel, laminar, dictionary);
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-laminar::laminar
-(
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermophysicalModel,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volScalarField> laminar::mut() const
-{
-    return tmp<volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "mut",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            mesh_,
-            dimensionedScalar("mut", mu().dimensions(), 0.0)
-        )
-    );
-}
-
-
-tmp<volScalarField> laminar::alphat() const
-{
-    return tmp<volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "alphat",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            mesh_,
-            dimensionedScalar("alphat", alpha().dimensions(), 0.0)
-        )
-    );
-}
-
-
-tmp<volScalarField> laminar::k() const
-{
-    return tmp<volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "k",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            mesh_,
-            dimensionedScalar("k", sqr(U_.dimensions()), 0.0)
-        )
-    );
-}
-
-
-tmp<volScalarField> laminar::epsilon() const
-{
-    return tmp<volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "epsilon",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            mesh_,
-            dimensionedScalar
-            (
-                "epsilon", sqr(U_.dimensions())/dimTime, 0.0
-            )
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> laminar::R() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "R",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            mesh_,
-            dimensionedSymmTensor
-            (
-                "R", sqr(U_.dimensions()), symmTensor::zero
-            )
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> laminar::devRhoReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-           -mu()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> laminar::divDevRhoReff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(muEff(), U)
-      - fvc::div(muEff()*dev2(T(fvc::grad(U))))
-    );
-}
-
-
-bool laminar::read()
-{
-    return RASModel::read();
-}
-
-
-void laminar::correct()
-{}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/laminar/laminar.H b/src/turbulenceModels/compressible/RAS/laminar/laminar.H
deleted file mode 100644
index 0b099d01aa7..00000000000
--- a/src/turbulenceModels/compressible/RAS/laminar/laminar.H
+++ /dev/null
@@ -1,140 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::RASModels::laminar
-
-Group
-    grpCmpRASTurbulence
-
-Description
-    Dummy turbulence model for laminar compressible flow.
-
-SourceFiles
-    laminar.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleRasLaminar_H
-#define compressibleRasLaminar_H
-
-#include "RASModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace RASModels
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class laminar Declaration
-\*---------------------------------------------------------------------------*/
-
-class laminar
-:
-    public RASModel
-{
-
-public:
-
-    //- Runtime type information
-    TypeName("laminar");
-
-    // Constructors
-
-        //- Construct from components
-        laminar
-        (
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const fluidThermo& thermophysicalModel,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~laminar()
-    {}
-
-
-    // Member Functions
-
-        //- Return the turbulence viscosity, i.e. 0 for laminar flow
-        virtual tmp<volScalarField> mut() const;
-
-        //- Return the effective viscosity, i.e. the laminar viscosity
-        virtual tmp<volScalarField> muEff() const
-        {
-            return tmp<volScalarField>(new volScalarField("muEff", mu()));
-        }
-
-        //- Return the turbulence thermal diffusivity, i.e. 0 for laminar flow
-        virtual tmp<volScalarField> alphat() const;
-
-        //- Return the effective turbulent thermal diffusivity,
-        //  i.e. the laminar thermal diffusivity
-        virtual tmp<volScalarField> alphaEff() const
-        {
-            return tmp<volScalarField>(new volScalarField("alphaEff", alpha()));
-        }
-
-        //- Return the turbulence kinetic energy, i.e. 0 for laminar flow
-        virtual tmp<volScalarField> k() const;
-
-        //- Return the turbulence kinetic energy dissipation rate,
-        //  i.e. 0 for laminar flow
-        virtual tmp<volScalarField> epsilon() const;
-
-        //- Return the Reynolds stress tensor, i.e. 0 for laminar flow
-        virtual tmp<volSymmTensorField> R() const;
-
-        //- Return the effective stress tensor, i.e. the laminar stress
-        virtual tmp<volSymmTensorField> devRhoReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const;
-
-        //- Correct the laminar viscosity
-        virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/realizableKE/realizableKE.C b/src/turbulenceModels/compressible/RAS/realizableKE/realizableKE.C
deleted file mode 100644
index c9b5c36742c..00000000000
--- a/src/turbulenceModels/compressible/RAS/realizableKE/realizableKE.C
+++ /dev/null
@@ -1,384 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "realizableKE.H"
-#include "addToRunTimeSelectionTable.H"
-
-#include "backwardsCompatibilityWallFunctions.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace RASModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(realizableKE, 0);
-addToRunTimeSelectionTable(RASModel, realizableKE, dictionary);
-
-// * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * * //
-
-tmp<volScalarField> realizableKE::rCmu
-(
-    const volTensorField& gradU,
-    const volScalarField& S2,
-    const volScalarField& magS
-)
-{
-    tmp<volSymmTensorField> tS = dev(symm(gradU));
-    const volSymmTensorField& S = tS();
-
-    volScalarField W
-    (
-        (2*sqrt(2.0))*((S&S)&&S)
-       /(
-            magS*S2
-          + dimensionedScalar("small", dimensionSet(0, 0, -3, 0, 0), SMALL)
-        )
-    );
-
-    tS.clear();
-
-    volScalarField phis
-    (
-        (1.0/3.0)*acos(min(max(sqrt(6.0)*W, -scalar(1)), scalar(1)))
-    );
-    volScalarField As(sqrt(6.0)*cos(phis));
-    volScalarField Us(sqrt(S2/2.0 + magSqr(skew(gradU))));
-
-    return 1.0/(A0_ + As*Us*k_/epsilon_);
-}
-
-
-tmp<volScalarField> realizableKE::rCmu
-(
-    const volTensorField& gradU
-)
-{
-    volScalarField S2(2*magSqr(dev(symm(gradU))));
-    volScalarField magS(sqrt(S2));
-    return rCmu(gradU, S2, magS);
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-realizableKE::realizableKE
-(
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermophysicalModel,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
-
-    Cmu_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cmu",
-            coeffDict_,
-            0.09
-        )
-    ),
-    A0_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "A0",
-            coeffDict_,
-            4.0
-        )
-    ),
-    C2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C2",
-            coeffDict_,
-            1.9
-        )
-    ),
-    sigmak_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmak",
-            coeffDict_,
-            1.0
-        )
-    ),
-    sigmaEps_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmaEps",
-            coeffDict_,
-            1.2
-        )
-    ),
-    Prt_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Prt",
-            coeffDict_,
-            1.0
-        )
-    ),
-
-    k_
-    (
-        IOobject
-        (
-            "k",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateK("k", mesh_)
-    ),
-    epsilon_
-    (
-        IOobject
-        (
-            "epsilon",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateEpsilon("epsilon", mesh_)
-    ),
-    mut_
-    (
-        IOobject
-        (
-            "mut",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateMut("mut", mesh_)
-    ),
-    alphat_
-    (
-        IOobject
-        (
-            "alphat",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateAlphat("alphat", mesh_)
-    )
-{
-    bound(k_, kMin_);
-    bound(epsilon_, epsilonMin_);
-
-    mut_ = rCmu(fvc::grad(U_))*rho_*sqr(k_)/epsilon_;
-    mut_.correctBoundaryConditions();
-
-    alphat_ = mut_/Prt_;
-    alphat_.correctBoundaryConditions();
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volSymmTensorField> realizableKE::R() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "R",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            ((2.0/3.0)*I)*k_ - (mut_/rho_)*dev(twoSymm(fvc::grad(U_))),
-            k_.boundaryField().types()
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> realizableKE::devRhoReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-           -muEff()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> realizableKE::divDevRhoReff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(muEff(), U) - fvc::div(muEff()*dev2(T(fvc::grad(U))))
-    );
-}
-
-
-bool realizableKE::read()
-{
-    if (RASModel::read())
-    {
-        Cmu_.readIfPresent(coeffDict());
-        A0_.readIfPresent(coeffDict());
-        C2_.readIfPresent(coeffDict());
-        sigmak_.readIfPresent(coeffDict());
-        sigmaEps_.readIfPresent(coeffDict());
-        Prt_.readIfPresent(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-void realizableKE::correct()
-{
-    if (!turbulence_)
-    {
-        // Re-calculate viscosity
-        mut_ = rCmu(fvc::grad(U_))*rho_*sqr(k_)/epsilon_;
-        mut_.correctBoundaryConditions();
-
-        // Re-calculate thermal diffusivity
-        alphat_ = mut_/Prt_;
-        alphat_.correctBoundaryConditions();
-
-        return;
-    }
-
-    RASModel::correct();
-
-    volScalarField divU(fvc::div(phi_/fvc::interpolate(rho_)));
-
-    if (mesh_.moving())
-    {
-        divU += fvc::div(mesh_.phi());
-    }
-
-    volTensorField gradU(fvc::grad(U_));
-    volScalarField S2(2*magSqr(dev(symm(gradU))));
-    volScalarField magS(sqrt(S2));
-
-    volScalarField eta(magS*k_/epsilon_);
-    volScalarField C1(max(eta/(scalar(5) + eta), scalar(0.43)));
-
-    volScalarField G(GName(), mut_*(gradU && dev(twoSymm(gradU))));
-
-    // Update epsilon and G at the wall
-    epsilon_.boundaryField().updateCoeffs();
-
-    // Dissipation equation
-    tmp<fvScalarMatrix> epsEqn
-    (
-        fvm::ddt(rho_, epsilon_)
-      + fvm::div(phi_, epsilon_)
-      - fvm::laplacian(DepsilonEff(), epsilon_)
-     ==
-        C1*rho_*magS*epsilon_
-      - fvm::Sp
-        (
-            C2_*rho_*epsilon_/(k_ + sqrt((mu()/rho_)*epsilon_)),
-            epsilon_
-        )
-    );
-
-    epsEqn().relax();
-
-    epsEqn().boundaryManipulate(epsilon_.boundaryField());
-
-    solve(epsEqn);
-    bound(epsilon_, epsilonMin_);
-
-
-    // Turbulent kinetic energy equation
-
-    tmp<fvScalarMatrix> kEqn
-    (
-        fvm::ddt(rho_, k_)
-      + fvm::div(phi_, k_)
-      - fvm::laplacian(DkEff(), k_)
-     ==
-        G - fvm::SuSp(2.0/3.0*rho_*divU, k_)
-      - fvm::Sp(rho_*epsilon_/k_, k_)
-    );
-
-    kEqn().relax();
-    solve(kEqn);
-    bound(k_, kMin_);
-
-    // Re-calculate viscosity
-    mut_ = rCmu(gradU, S2, magS)*rho_*sqr(k_)/epsilon_;
-    mut_.correctBoundaryConditions();
-
-    // Re-calculate thermal diffusivity
-    alphat_ = mut_/Prt_;
-    alphat_.correctBoundaryConditions();
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/realizableKE/realizableKE.H b/src/turbulenceModels/compressible/RAS/realizableKE/realizableKE.H
deleted file mode 100644
index c417fa5c434..00000000000
--- a/src/turbulenceModels/compressible/RAS/realizableKE/realizableKE.H
+++ /dev/null
@@ -1,214 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::RASModels::realizableKE
-
-Group
-    grpCmpRASTurbulence
-
-Description
-    Realizable k-epsilon turbulence model for compressible flows.
-
-    Model described in the paper:
-    \verbatim
-        "A New k-epsilon Eddy Viscosity Model for High Reynolds Number
-        Turbulent Flows"
-
-        Tsan-Hsing Shih, William W. Liou, Aamir Shabbir, Zhigang Tang and
-        Jiang Zhu
-
-        Computers and Fluids Vol. 24, No. 3, pp. 227-238, 1995
-    \endverbatim
-
-    The default model coefficients correspond to the following:
-    \verbatim
-        realizableKECoeffs
-        {
-            Cmu         0.09;
-            A0          4.0;
-            C2          1.9;
-            sigmak      1.0;
-            sigmaEps    1.2;
-            Prt         1.0;    // only for compressible
-        }
-    \endverbatim
-
-SourceFiles
-    realizableKE.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef realizableKE_H
-#define realizableKE_H
-
-#include "RASModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace RASModels
-{
-
-/*---------------------------------------------------------------------------*\
-                        Class realizableKE Declaration
-\*---------------------------------------------------------------------------*/
-
-class realizableKE
-:
-    public RASModel
-{
-
-protected:
-
-    // Protected data
-
-        // Model coefficients
-
-            dimensionedScalar Cmu_;
-            dimensionedScalar A0_;
-            dimensionedScalar C2_;
-            dimensionedScalar sigmak_;
-            dimensionedScalar sigmaEps_;
-            dimensionedScalar Prt_;
-
-
-        // Fields
-
-            volScalarField k_;
-            volScalarField epsilon_;
-            volScalarField mut_;
-            volScalarField alphat_;
-
-
-   // Protected Member Functions
-
-        tmp<volScalarField> rCmu
-        (
-            const volTensorField& gradU,
-            const volScalarField& S2,
-            const volScalarField& magS
-        );
-
-        tmp<volScalarField> rCmu(const volTensorField& gradU);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("realizableKE");
-
-    // Constructors
-
-        //- Construct from components
-        realizableKE
-        (
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const fluidThermo& thermophysicalModel,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~realizableKE()
-    {}
-
-
-    // Member Functions
-
-        //- Return the effective diffusivity for k
-        tmp<volScalarField> DkEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DkEff", mut_/sigmak_ + mu())
-            );
-        }
-
-        //- Return the effective diffusivity for epsilon
-        tmp<volScalarField> DepsilonEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DepsilonEff", mut_/sigmaEps_ + mu())
-            );
-        }
-
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> mut() const
-        {
-            return mut_;
-        }
-
-        //- Return the turbulence thermal diffusivity
-        virtual tmp<volScalarField> alphat() const
-        {
-            return alphat_;
-        }
-
-        //- Return the turbulence kinetic energy
-        virtual tmp<volScalarField> k() const
-        {
-            return k_;
-        }
-
-        //- Return the turbulence kinetic energy dissipation rate
-        virtual tmp<volScalarField> epsilon() const
-        {
-            return epsilon_;
-        }
-
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const;
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devRhoReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const;
-
-        //- Solve the turbulence equations and correct the turbulence viscosity
-        virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/v2f/v2f.C b/src/turbulenceModels/compressible/RAS/v2f/v2f.C
deleted file mode 100644
index ec0c37363dd..00000000000
--- a/src/turbulenceModels/compressible/RAS/v2f/v2f.C
+++ /dev/null
@@ -1,493 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "v2f.H"
-#include "fixedValueFvPatchField.H"
-#include "zeroGradientFvPatchField.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace RASModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(v2f, 0);
-addToRunTimeSelectionTable(RASModel, v2f, dictionary);
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-wordList v2f::RBoundaryTypes() const
-{
-    const volScalarField::GeometricBoundaryField& bf(k_.boundaryField());
-
-    wordList bTypes
-    (
-        bf.size(),
-        zeroGradientFvPatchField<symmTensor>::typeName
-    );
-
-    forAll(bf, patchI)
-    {
-        if (bf[patchI].fixesValue())
-        {
-            bTypes[patchI] = fixedValueFvPatchField<symmTensor>::typeName;
-        }
-    }
-
-    return bTypes;
-}
-
-
-tmp<volScalarField> v2f::davidsonCorrectNut
-(
-    const tmp<volScalarField>& value
-) const
-{
-    return min(CmuKEps_*sqr(k_)/epsilon_, value);
-}
-
-
-tmp<volScalarField> v2f::Ts() const
-{
-    return max(k_/epsilon_, 6.0*sqrt(mu()/rho_/epsilon_));
-}
-
-
-tmp<volScalarField> v2f::Ls() const
-{
-    return
-        CL_*max(pow(k_, 1.5)/epsilon_, Ceta_*pow025(pow3(mu()/rho_)/epsilon_));
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-v2f::v2f
-(
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermophysicalModel,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
-
-    Cmu_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cmu",
-            coeffDict_,
-            0.22
-        )
-    ),
-    CmuKEps_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "CmuKEps",
-            coeffDict_,
-            0.09
-        )
-    ),
-    C1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C1",
-            coeffDict_,
-            1.4
-        )
-    ),
-    C2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C2",
-            coeffDict_,
-            0.3
-        )
-    ),
-    CL_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "CL",
-            coeffDict_,
-            0.23
-        )
-    ),
-    Ceta_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Ceta",
-            coeffDict_,
-            70.0
-        )
-    ),
-    Ceps2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Ceps2",
-            coeffDict_,
-            1.9
-        )
-    ),
-    Ceps3_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Ceps3",
-            coeffDict_,
-            -0.33
-        )
-    ),
-    sigmaK_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmaK",
-            coeffDict_,
-            1.0
-        )
-    ),
-    sigmaEps_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmaEps",
-            coeffDict_,
-            1.3
-        )
-    ),
-    Prt_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Prt",
-            coeffDict_,
-            1.0
-        )
-    ),
-
-    k_
-    (
-        IOobject
-        (
-            "k",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-    epsilon_
-    (
-        IOobject
-        (
-            "epsilon",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-    v2_
-    (
-        IOobject
-        (
-            "v2",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-    f_
-    (
-        IOobject
-        (
-            "f",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-    mut_
-    (
-        IOobject
-        (
-            "mut",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-    alphat_
-    (
-        IOobject
-        (
-            "alphat",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-    v2Min_(dimensionedScalar("v2Min", v2_.dimensions(), SMALL)),
-    fMin_(dimensionedScalar("fMin", f_.dimensions(), 0.0))
-{
-    bound(k_, kMin_);
-    bound(epsilon_, epsilonMin_);
-    bound(v2_, v2Min_);
-    bound(f_, fMin_);
-
-    mut_ = rho_*davidsonCorrectNut(Cmu_*v2_*Ts());
-    mut_.correctBoundaryConditions();
-
-    alphat_ = mut_/Prt_;
-    alphat_.correctBoundaryConditions();
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volSymmTensorField> v2f::R() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "R",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            ((2.0/3.0)*I)*k_ - (mut_/rho_)*dev(twoSymm(fvc::grad(U_))),
-            RBoundaryTypes()
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> v2f::devRhoReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-           -muEff()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> v2f::divDevRhoReff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(muEff(), U)
-      - fvc::div(muEff()*dev2(T(fvc::grad(U))))
-    );
-}
-
-
-bool v2f::read()
-{
-    if (RASModel::read())
-    {
-        Cmu_.readIfPresent(coeffDict());
-        CmuKEps_.readIfPresent(coeffDict());
-        C1_.readIfPresent(coeffDict());
-        C2_.readIfPresent(coeffDict());
-        CL_.readIfPresent(coeffDict());
-        Ceta_.readIfPresent(coeffDict());
-        Ceps2_.readIfPresent(coeffDict());
-        sigmaK_.readIfPresent(coeffDict());
-        sigmaEps_.readIfPresent(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-void v2f::correct()
-{
-    if (!turbulence_)
-    {
-        // Re-calculate viscosity
-        mut_ = rho_*Cmu_*sqr(k_)/epsilon_;
-        mut_.correctBoundaryConditions();
-
-        // Re-calculate thermal diffusivity
-        alphat_ = mut_/Prt_;
-        alphat_.correctBoundaryConditions();
-
-        return;
-    }
-
-    RASModel::correct();
-
-    volScalarField divU(fvc::div(phi_/fvc::interpolate(rho_)));
-
-    if (mesh_.moving())
-    {
-        divU += fvc::div(mesh_.phi());
-    }
-
-    // use N=6 so that f=0 at walls
-    const dimensionedScalar N("N", dimless, 6.0);
-
-    const volTensorField gradU(fvc::grad(U_));
-    const volScalarField S2(2*magSqr(dev(symm(gradU))));
-
-    const volScalarField G(GName(), mut_*S2);
-    const volScalarField T(Ts());
-    const volScalarField L2("v2f.L2", sqr(Ls()));
-    const volScalarField alpha
-    (
-        "v2f::alpha",
-        1.0/T*((C1_ - N)*v2_ - 2.0/3.0*k_*(C1_ - 1.0))
-    );
-    const volScalarField Ceps1
-    (
-        "Ceps1",
-        1.4*(1.0 + 0.05*min(sqrt(k_/v2_), scalar(100.0)))
-    );
-
-    // Update epsilon (and possibly G) at the wall
-    epsilon_.boundaryField().updateCoeffs();
-
-    // Dissipation equation
-    tmp<fvScalarMatrix> epsEqn
-    (
-        fvm::ddt(rho_, epsilon_)
-      + fvm::div(phi_, epsilon_)
-      - fvm::laplacian(DepsilonEff(), epsilon_)
-     ==
-        Ceps1*G/T
-      - fvm::SuSp(((2.0/3.0)*Ceps1 + Ceps3_)*rho_*divU, epsilon_)
-      - fvm::Sp(Ceps2_*rho_/T, epsilon_)
-    );
-
-    epsEqn().relax();
-
-    epsEqn().boundaryManipulate(epsilon_.boundaryField());
-
-    solve(epsEqn);
-    bound(epsilon_, epsilonMin_);
-
-    // Turbulent kinetic energy equation
-    tmp<fvScalarMatrix> kEqn
-    (
-        fvm::ddt(rho_, k_)
-      + fvm::div(phi_, k_)
-      - fvm::laplacian(DkEff(), k_)
-     ==
-        G
-      - fvm::SuSp((2.0/3.0)*rho_*divU, k_)
-      - fvm::Sp(rho_*epsilon_/k_, k_)
-    );
-
-    kEqn().relax();
-    solve(kEqn);
-    bound(k_, kMin_);
-
-    // Relaxation function equation
-    tmp<fvScalarMatrix> fEqn
-    (
-      - fvm::laplacian(rho_, f_)
-     ==
-      - fvm::Sp(rho_/L2, f_)
-      - 1.0/L2/k_*(rho_*alpha - C2_*G)
-    );
-
-    fEqn().relax();
-    solve(fEqn);
-    bound(f_, fMin_);
-
-    // Turbulence stress normal to streamlines equation
-    tmp<fvScalarMatrix> v2Eqn
-    (
-        fvm::ddt(rho_, v2_)
-      + fvm::div(phi_, v2_)
-      - fvm::laplacian(DkEff(), v2_)
-      ==
-        min(rho_*k_*f_, -rho_*alpha + C2_*G)
-      - fvm::Sp(rho_*N*epsilon_/k_, v2_)
-    );
-
-    v2Eqn().relax();
-    solve(v2Eqn);
-    bound(v2_, v2Min_);
-
-    // Re-calculate viscosity
-    mut_ = rho_*davidsonCorrectNut(Cmu_*v2_*T);
-    mut_.correctBoundaryConditions();
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/v2f/v2f.H b/src/turbulenceModels/compressible/RAS/v2f/v2f.H
deleted file mode 100644
index ce53c248b8c..00000000000
--- a/src/turbulenceModels/compressible/RAS/v2f/v2f.H
+++ /dev/null
@@ -1,288 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::RASModels::v2f
-
-Group
-    grpCmpRASTurbulence
-
-Description
-    Lien and Kalitzin's v2-f turbulence model for incompressible flows, with
-    a limit imposed on the turbulent viscosity given by Davidson et al.
-
-    The model solves for turbulence k and epsilon, with additional equations
-    for the turbulence stress normal to streamlines, v2, and elliptic damping
-    function, f.  The variant implemented employs N=6, such that f=0 on walls.
-
-    Wall boundary conditions are:
-
-        k       = kLowReWallFunction
-        epsilon = epsilonLowReWallFunction
-        v2      = v2WallFunction
-        f       = fWallFunction
-
-    These are applicable to both low- and high-Reynolds number flows.
-
-    Inlet values can be approximated by:
-
-        v2      = 2/3 k
-        f       = zero-gradient
-
-
-    References:
-
-    Lien F-S, Kalitzin G, 2001.  Computations of transonic flow with the v2-f
-    turbulence model. Int. J. Heat Fluid Flow 22, pp 53-61
-
-    Davidson L, Nielsen P, Sveningsson A, 2003.  Modifications of the v2-f
-    model for computing the flow in a 3D wall jet.  Turbulence, Heat and Mass
-    Transfer 4, pp 577-584
-
-    The default model coefficients are given as:
-    \verbatim
-        v2fCoeffs
-        {
-            Cmu         0.22;
-            CmuKEps     0.09;
-            C1          1.4;
-            C2          0.3;
-            CL          0.23;
-            Ceta        70;
-            Ceps2       1.9;
-            sigmaEps    1.3;
-            sigmaK      1;
-        }
-    \endverbatim
-
-Note
-    If the kLowReWallFunction is employed, a velocity variant of the turbulent
-    viscosity wall function should be used, e.g. nutUWallFunction.  Turbulence
-    k variants (nutk...) for this case will not behave correctly.
-
-SeeAlso
-    Foam::kEpsilon
-    Foam::kLowReWallFunctionFvPatchScalarField
-    Foam::epsilonLowReWallFunctionFvPatchScalarField
-    Foam::v2WallFunctionFvPatchScalarField
-    Foam::fWallFunctionFvPatchScalarField
-
-SourceFiles
-    v2f.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressiblev2f_H
-#define compressiblev2f_H
-
-#include "RASModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-namespace RASModels
-{
-
-/*---------------------------------------------------------------------------*\
-                             Class v2f Declaration
-\*---------------------------------------------------------------------------*/
-
-class v2f
-:
-    public RASModel
-{
-
-protected:
-
-    // Protected data
-
-        // Model coefficients
-
-            dimensionedScalar Cmu_;
-            dimensionedScalar CmuKEps_;
-            dimensionedScalar C1_;
-            dimensionedScalar C2_;
-            dimensionedScalar CL_;
-            dimensionedScalar Ceta_;
-            dimensionedScalar Ceps2_;
-            dimensionedScalar Ceps3_;
-            dimensionedScalar sigmaK_;
-            dimensionedScalar sigmaEps_;
-            dimensionedScalar Prt_;
-
-        // Fields
-
-            //- Turbulence kinetic energy
-            volScalarField k_;
-
-            //- Turbulence dissipation
-            volScalarField epsilon_;
-
-            //- Turbulence stress normal to streamlines
-            volScalarField v2_;
-
-            //- Damping function
-            volScalarField f_;
-
-            //- Turbulence viscosity
-            volScalarField mut_;
-
-            //- Turbulence thermal diffusivity
-            volScalarField alphat_;
-
-
-        // Bounding values
-
-            dimensionedScalar v2Min_;
-            dimensionedScalar fMin_;
-
-
-    // Protected Member Functions
-
-        //- Return boundary type names for the R field
-        wordList RBoundaryTypes() const;
-
-        //- Apply Davidson correction to nut
-        tmp<volScalarField> davidsonCorrectNut
-        (
-            const tmp<volScalarField>& value
-        ) const;
-
-        //- Return time scale, Ts
-        tmp<volScalarField> Ts() const;
-
-        //- Return length scale, Ls
-        tmp<volScalarField> Ls() const;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("v2f");
-
-    // Constructors
-
-        //- Construct from components
-        v2f
-        (
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const fluidThermo& thermophysicalModel,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~v2f()
-    {}
-
-
-    // Member Functions
-
-        //- Return the effective diffusivity for k
-        tmp<volScalarField> DkEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DkEff", mut_/sigmaK_ + mu())
-            );
-        }
-
-        //- Return the effective diffusivity for epsilon
-        tmp<volScalarField> DepsilonEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DepsilonEff", mut_/sigmaEps_ + mu())
-            );
-        }
-
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> mut() const
-        {
-            return mut_;
-        }
-
-        //- Return the turbulence thermal diffusivity
-        virtual tmp<volScalarField> alphat() const
-        {
-            return alphat_;
-        }
-
-        //- Return the turbulence kinetic energy
-        virtual tmp<volScalarField> k() const
-        {
-            return k_;
-        }
-
-        //- Return the turbulence kinetic energy dissipation rate
-        virtual tmp<volScalarField> epsilon() const
-        {
-            return epsilon_;
-        }
-
-        //- Return turbulence stress normal to streamlines
-        virtual tmp<volScalarField> v2() const
-        {
-            return v2_;
-        }
-
-        //- Return the damping function
-        virtual tmp<volScalarField> f() const
-        {
-            return f_;
-        }
-
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const;
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devRhoReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const;
-
-        //- Solve the turbulence equations and correct the turbulence viscosity
-        virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/turbulenceModel/Make/files b/src/turbulenceModels/compressible/turbulenceModel/Make/files
deleted file mode 100644
index 412045016a7..00000000000
--- a/src/turbulenceModels/compressible/turbulenceModel/Make/files
+++ /dev/null
@@ -1,15 +0,0 @@
-turbulenceModel.C
-laminar/laminar.C
-
-derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C
-derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.C
-derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C
-derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarFields.C
-derivedFvPatchFields/totalFlowRateAdvectiveDiffusive/totalFlowRateAdvectiveDiffusiveFvPatchScalarField.C
-derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C
-derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C
-derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C
-
-derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C
-
-LIB = $(FOAM_LIBBIN)/libcompressibleTurbulenceModel
diff --git a/src/turbulenceModels/compressible/turbulenceModel/Make/options b/src/turbulenceModels/compressible/turbulenceModel/Make/options
deleted file mode 100644
index 9b024f163da..00000000000
--- a/src/turbulenceModels/compressible/turbulenceModel/Make/options
+++ /dev/null
@@ -1,17 +0,0 @@
-EXE_INC = \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-    -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
-    -I$(LIB_SRC)/thermophysicalModels/solidThermo/lnInclude \
-    -I$(LIB_SRC)/thermophysicalModels/solidSpecie/lnInclude
-
-LIB_LIBS = \
-    -lsolidThermo \
-    -lfluidThermophysicalModels \
-    -lspecie \
-    -lfiniteVolume \
-    -lmeshTools \
-    -lsolidSpecie \
-    -lradiationModels
diff --git a/src/turbulenceModels/compressible/turbulenceModel/laminar/laminar.C b/src/turbulenceModels/compressible/turbulenceModel/laminar/laminar.C
deleted file mode 100644
index a7188c5eebd..00000000000
--- a/src/turbulenceModels/compressible/turbulenceModel/laminar/laminar.C
+++ /dev/null
@@ -1,246 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "laminar.H"
-#include "Time.H"
-#include "volFields.H"
-#include "fvcGrad.H"
-#include "fvcDiv.H"
-#include "fvmLaplacian.H"
-#include "addToRunTimeSelectionTable.H"
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(laminar, 0);
-addToRunTimeSelectionTable(turbulenceModel, laminar, turbulenceModel);
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-laminar::laminar
-(
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermophysicalModel,
-    const word& turbulenceModelName
-)
-:
-    turbulenceModel(rho, U, phi, thermophysicalModel, turbulenceModelName)
-{}
-
-
-// * * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * //
-
-autoPtr<laminar> laminar::New
-(
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermophysicalModel,
-    const word& turbulenceModelName
-)
-{
-    return autoPtr<laminar>
-    (
-        new laminar(rho, U, phi, thermophysicalModel, turbulenceModelName)
-    );
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-const dictionary& laminar::coeffDict() const
-{
-    return dictionary::null;
-}
-
-
-tmp<volScalarField> laminar::mut() const
-{
-    return tmp<volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "mut",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            mesh_,
-            dimensionedScalar("mut", mu().dimensions(), 0.0)
-        )
-    );
-}
-
-
-tmp<volScalarField> laminar::alphat() const
-{
-    return tmp<volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "alphat",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            mesh_,
-            dimensionedScalar("alphat", alpha().dimensions(), 0.0)
-        )
-    );
-}
-
-
-tmp<volScalarField> laminar::k() const
-{
-    return tmp<volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "k",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            mesh_,
-            dimensionedScalar("k", sqr(U_.dimensions()), 0.0)
-        )
-    );
-}
-
-
-tmp<volScalarField> laminar::epsilon() const
-{
-    return tmp<volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "epsilon",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            mesh_,
-            dimensionedScalar
-            (
-                "epsilon", sqr(U_.dimensions())/dimTime, 0.0
-            )
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> laminar::R() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "R",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            mesh_,
-            dimensionedSymmTensor
-            (
-                "R", sqr(U_.dimensions()), symmTensor::zero
-            )
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> laminar::devRhoReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-           -mu()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> laminar::divDevRhoReff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(muEff(), U)
-      - fvc::div(muEff()*dev2(T(fvc::grad(U))))
-    );
-}
-
-
-void laminar::correct()
-{
-    turbulenceModel::correct();
-}
-
-
-bool laminar::read()
-{
-    return true;
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/turbulenceModel/laminar/laminar.H b/src/turbulenceModels/compressible/turbulenceModel/laminar/laminar.H
deleted file mode 100644
index b1de35154ec..00000000000
--- a/src/turbulenceModels/compressible/turbulenceModel/laminar/laminar.H
+++ /dev/null
@@ -1,177 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::compressible::laminar
-
-Description
-    Turbulence model for laminar compressible flow.
-
-SourceFiles
-    laminar.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleLaminar_H
-#define compressibleLaminar_H
-
-#include "turbulenceModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class laminar Declaration
-\*---------------------------------------------------------------------------*/
-
-class laminar
-:
-    public turbulenceModel
-{
-
-public:
-
-    //- Runtime type information
-    TypeName("laminar");
-
-    // Constructors
-
-        //- Construct from components
-        laminar
-        (
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const fluidThermo& thermophysicalModel,
-            const word& turbulenceModelName = turbulenceModel::typeName
-        );
-
-
-    // Selectors
-
-        //- Return a reference to the selected turbulence model
-        static autoPtr<laminar> New
-        (
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const fluidThermo& thermophysicalModel,
-            const word& turbulenceModelName = turbulenceModel::typeName
-        );
-
-
-    //- Destructor
-    virtual ~laminar()
-    {}
-
-
-    // Member Functions
-
-        //- Const access to the coefficients dictionary
-        virtual const dictionary& coeffDict() const;
-
-        //- Return the turbulence viscosity, i.e. 0 for laminar flow
-        virtual tmp<volScalarField> mut() const;
-
-        //- Return the effective viscosity, i.e. the laminar viscosity
-        virtual tmp<volScalarField> muEff() const
-        {
-            return tmp<volScalarField>(new volScalarField("muEff", mu()));
-        }
-
-        //- Return the turbulence thermal diffusivity, i.e. 0 for laminar flow
-        virtual tmp<volScalarField> alphat() const;
-
-        //- Return the effective turbulent temperature diffusivity,
-        //  i.e. the laminar thermal diffusivity
-        virtual tmp<volScalarField> kappaEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField
-                (
-                    "kappaEff",
-                    thermo().kappa()
-                )
-            );
-        }
-
-        //- Return the effective turbulent temperature diffusivity for a patch,
-        //  i.e. the laminar thermal diffusivity
-        virtual tmp<scalarField> kappaEff(const label patchI) const
-        {
-            return thermo().kappa(patchI);
-        }
-
-        //- Return the effective turbulent thermal diffusivity,
-        //  i.e. the laminar thermal diffusivity
-        virtual tmp<volScalarField> alphaEff() const
-        {
-            return tmp<volScalarField>(new volScalarField("alphaEff", alpha()));
-        }
-
-        //- Return the effective turbulent thermal diffusivity for a patch,
-        //  i.e. the laminar thermal diffusivity
-        virtual tmp<scalarField> alphaEff(const label patchI) const
-        {
-            return alpha().boundaryField()[patchI];
-        }
-
-        //- Return the turbulence kinetic energy, i.e. 0 for laminar flow
-        virtual tmp<volScalarField> k() const;
-
-        //- Return the turbulence kinetic energy dissipation rate,
-        //  i.e. 0 for laminar flow
-        virtual tmp<volScalarField> epsilon() const;
-
-        //- Return the Reynolds stress tensor, i.e. 0 for laminar flow
-        virtual tmp<volSymmTensorField> R() const;
-
-        //- Return the effective stress tensor, i.e. the laminar stress
-        virtual tmp<volSymmTensorField> devRhoReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const;
-
-        //- Correct the laminar viscosity
-        virtual void correct();
-
-        //- Read turbulenceProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/turbulenceModel/turbulenceModel.C b/src/turbulenceModels/compressible/turbulenceModel/turbulenceModel.C
deleted file mode 100644
index 455ff9a72d1..00000000000
--- a/src/turbulenceModels/compressible/turbulenceModel/turbulenceModel.C
+++ /dev/null
@@ -1,155 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "turbulenceModel.H"
-#include "volFields.H"
-#include "surfaceFields.H"
-#include "fvcGrad.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace compressible
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(turbulenceModel, 0);
-defineRunTimeSelectionTable(turbulenceModel, turbulenceModel);
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-turbulenceModel::turbulenceModel
-(
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermophysicalModel,
-    const word& turbulenceModelName
-)
-:
-    regIOobject
-    (
-        IOobject
-        (
-            turbulenceModelName,
-            U.time().constant(),
-            U.db(),
-            IOobject::NO_READ,
-            IOobject::NO_WRITE
-        )
-    ),
-    runTime_(U.time()),
-    mesh_(U.mesh()),
-
-    rho_(rho),
-    U_(U),
-    phi_(phi),
-    thermophysicalModel_(thermophysicalModel),
-
-    y_(mesh_)
-{}
-
-
-// * * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * //
-
-autoPtr<turbulenceModel> turbulenceModel::New
-(
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const fluidThermo& thermophysicalModel,
-    const word& turbulenceModelName
-)
-{
-    // get model name, but do not register the dictionary
-    // otherwise it is registered in the database twice
-    const word modelType
-    (
-        IOdictionary
-        (
-            IOobject
-            (
-                "turbulenceProperties",
-                U.time().constant(),
-                U.db(),
-                IOobject::MUST_READ_IF_MODIFIED,
-                IOobject::NO_WRITE,
-                false
-            )
-        ).lookup("simulationType")
-    );
-
-    Info<< "Selecting turbulence model type " << modelType << endl;
-
-    turbulenceModelConstructorTable::iterator cstrIter =
-        turbulenceModelConstructorTablePtr_->find(modelType);
-
-    if (cstrIter == turbulenceModelConstructorTablePtr_->end())
-    {
-        FatalErrorIn
-        (
-            "turbulenceModel::New(const volScalarField&, "
-            "const volVectorField&, const surfaceScalarField&, "
-            "fluidThermo&, const word&)"
-        )   << "Unknown turbulenceModel type "
-            << modelType << nl << nl
-            << "Valid turbulenceModel types:" << endl
-            << turbulenceModelConstructorTablePtr_->sortedToc()
-            << exit(FatalError);
-    }
-
-    return autoPtr<turbulenceModel>
-    (
-        cstrIter()(rho, U, phi, thermophysicalModel, turbulenceModelName)
-    );
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volScalarField> turbulenceModel::rhoEpsilonEff() const
-{
-    tmp<volTensorField> tgradU = fvc::grad(U_);
-    return mu()*(tgradU() && dev(twoSymm(tgradU()))) + rho_*epsilon();
-}
-
-
-void turbulenceModel::correct()
-{
-    if (mesh_.changing())
-    {
-        y_.correct();
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/turbulenceModel/turbulenceModel.H b/src/turbulenceModels/compressible/turbulenceModel/turbulenceModel.H
deleted file mode 100644
index b7e9195c551..00000000000
--- a/src/turbulenceModels/compressible/turbulenceModel/turbulenceModel.H
+++ /dev/null
@@ -1,282 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Namespace
-    Foam::compressible::turbulenceModels
-
-Description
-    Namespace for compressible turbulence turbulence models.
-
-
-Class
-    Foam::compressible::turbulenceModel
-
-Description
-    Abstract base class for compressible turbulence models
-    (RAS, LES and laminar).
-
-
-SourceFiles
-    turbulenceModel.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef compressibleturbulenceModel_H
-#define compressibleturbulenceModel_H
-
-#include "primitiveFieldsFwd.H"
-#include "volFieldsFwd.H"
-#include "surfaceFieldsFwd.H"
-#include "fvMatricesFwd.H"
-#include "fluidThermo.H"
-#include "nearWallDist.H"
-#include "autoPtr.H"
-#include "runTimeSelectionTables.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-// Forward declarations
-class fvMesh;
-
-namespace compressible
-{
-
-/*---------------------------------------------------------------------------*\
-                       Class turbulenceModel Declaration
-\*---------------------------------------------------------------------------*/
-
-class turbulenceModel
-:
-    public regIOobject
-{
-
-protected:
-
-    // Protected data
-
-        const Time& runTime_;
-        const fvMesh& mesh_;
-
-        const volScalarField& rho_;
-        const volVectorField& U_;
-        const surfaceScalarField& phi_;
-
-        const fluidThermo& thermophysicalModel_;
-
-        //- Near wall distance boundary field
-        nearWallDist y_;
-
-
-private:
-
-    // Private Member Functions
-
-        //- Disallow default bitwise copy construct
-        turbulenceModel(const turbulenceModel&);
-
-        //- Disallow default bitwise assignment
-        void operator=(const turbulenceModel&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("turbulenceModel");
-
-
-    // Declare run-time constructor selection table
-
-        declareRunTimeNewSelectionTable
-        (
-            autoPtr,
-            turbulenceModel,
-            turbulenceModel,
-            (
-                const volScalarField& rho,
-                const volVectorField& U,
-                const surfaceScalarField& phi,
-                const fluidThermo& thermoPhysicalModel,
-                const word& turbulenceModelName
-            ),
-            (rho, U, phi, thermoPhysicalModel, turbulenceModelName)
-        );
-
-
-    // Constructors
-
-        //- Construct from components
-        turbulenceModel
-        (
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const fluidThermo& thermoPhysicalModel,
-            const word& turbulenceModelName = typeName
-        );
-
-
-    // Selectors
-
-        //- Return a reference to the selected turbulence model
-        static autoPtr<turbulenceModel> New
-        (
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const fluidThermo& thermoPhysicalModel,
-            const word& turbulenceModelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~turbulenceModel()
-    {}
-
-
-    // Member Functions
-
-        //- Const access to the coefficients dictionary
-        virtual const dictionary& coeffDict() const = 0;
-
-        //- Helper function to return the nam eof the turbulence G field
-        inline word GName() const
-        {
-            return word(type() + ":G");
-        }
-
-        //- Access function to density field
-        const volScalarField& rho() const
-        {
-            return rho_;
-        }
-
-        //- Access function to velocity field
-        const volVectorField& U() const
-        {
-            return U_;
-        }
-
-        //- Access function to flux field
-        const surfaceScalarField& phi() const
-        {
-            return phi_;
-        }
-
-        //- Access function to thermophysical model
-        const fluidThermo& thermo() const
-        {
-             return thermophysicalModel_;
-        }
-
-        //- Return the near wall distances
-        const nearWallDist& y() const
-        {
-            return y_;
-        }
-
-        //- Return the laminar viscosity
-        const volScalarField& mu() const
-        {
-            return thermophysicalModel_.mu();
-        }
-
-        //- Return the laminar thermal conductivity
-        const volScalarField& alpha() const
-        {
-            return thermophysicalModel_.alpha();
-        }
-
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> mut() const = 0;
-
-        //- Return the effective viscosity
-        virtual tmp<volScalarField> muEff() const = 0;
-
-        //- Return the turbulence thermal diffusivity
-        virtual tmp<volScalarField> alphat() const = 0;
-
-        //- Return the turbulence thermal diffusivity for a patch
-        virtual tmp<scalarField> alphat(const label patchI) const
-        {
-            return alphat()().boundaryField()[patchI];
-        }
-
-        //- Return the effective turbulence temperature diffusivity
-        virtual tmp<volScalarField> kappaEff() const = 0;
-
-        //- Return the effective turbulence temperature diffusivity for a patch
-        virtual tmp<scalarField> kappaEff(const label patchI) const = 0;
-
-        //- Return the effective turbulence thermal diffusivity
-        virtual tmp<volScalarField> alphaEff() const = 0;
-
-        //- Return the effective turbulence thermal diffusivity for a patch
-        virtual tmp<scalarField> alphaEff(const label patchI) const = 0;
-
-        //- Return the turbulence kinetic energy
-        virtual tmp<volScalarField> k() const = 0;
-
-        //- Return the turbulence kinetic energy dissipation rate
-        virtual tmp<volScalarField> epsilon() const = 0;
-
-        //- Return the laminar+turbulence kinetic energy dissipation rate
-        //  Used as the viscous contribution to the energy equations
-        virtual tmp<volScalarField> rhoEpsilonEff() const;
-
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const = 0;
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devRhoReff() const = 0;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const = 0;
-
-        //- Solve the turbulence equations and correct the turbulence viscosity
-        virtual void correct() = 0;
-
-        //- Read LESProperties or RASProperties dictionary
-        virtual bool read() = 0;
-
-        //- Default dummy write function
-        virtual bool writeData(Ostream&) const
-        {
-            return true;
-        }
-
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace compressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/derivedFvPatchFields/Make/files b/src/turbulenceModels/derivedFvPatchFields/Make/files
deleted file mode 100644
index f0a5fdfa8a4..00000000000
--- a/src/turbulenceModels/derivedFvPatchFields/Make/files
+++ /dev/null
@@ -1,4 +0,0 @@
-porousBafflePressure/porousBafflePressureFvPatchFields.C
-fixedShearStress/fixedShearStressFvPatchVectorField.C
-
-LIB = $(FOAM_LIBBIN)/libturbulenceDerivedFvPatchFields
diff --git a/src/turbulenceModels/derivedFvPatchFields/Make/options b/src/turbulenceModels/derivedFvPatchFields/Make/options
deleted file mode 100644
index 66712d18ee2..00000000000
--- a/src/turbulenceModels/derivedFvPatchFields/Make/options
+++ /dev/null
@@ -1,16 +0,0 @@
-EXE_INC = \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/transportModels \
-    -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-    -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
-    -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel
-
-LIB_LIBS = \
-    -lfiniteVolume \
-    -lfluidThermophysicalModels \
-    -lspecie \
-    -lmeshTools \
-    -lcompressibleTurbulenceModel \
-    -lincompressibleTurbulenceModel
diff --git a/src/turbulenceModels/derivedFvPatchFields/fixedShearStress/fixedShearStressFvPatchVectorField.C b/src/turbulenceModels/derivedFvPatchFields/fixedShearStress/fixedShearStressFvPatchVectorField.C
deleted file mode 100644
index 587ad9678d2..00000000000
--- a/src/turbulenceModels/derivedFvPatchFields/fixedShearStress/fixedShearStressFvPatchVectorField.C
+++ /dev/null
@@ -1,186 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "fixedShearStressFvPatchVectorField.H"
-#include "addToRunTimeSelectionTable.H"
-#include "fvPatchFieldMapper.H"
-#include "volFields.H"
-#include "surfaceFields.H"
-#include "incompressible/turbulenceModel/turbulenceModel.H"
-#include "compressible/turbulenceModel/turbulenceModel.H"
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-Foam::fixedShearStressFvPatchVectorField::fixedShearStressFvPatchVectorField
-(
-    const fvPatch& p,
-    const DimensionedField<vector, volMesh>& iF
-)
-:
-    fixedValueFvPatchVectorField(p, iF),
-    phiName_("phi"),
-    rhoName_("rho"),
-    tau0_(vector::zero)
-{}
-
-
-Foam::fixedShearStressFvPatchVectorField::fixedShearStressFvPatchVectorField
-(
-    const fvPatch& p,
-    const DimensionedField<vector, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    fixedValueFvPatchVectorField(p, iF),
-    phiName_(dict.lookupOrDefault<word>("phi", "phi")),
-    rhoName_(dict.lookupOrDefault<word>("rho", "rho")),
-    tau0_(dict.lookupOrDefault<vector>("tau", vector::zero))
-{
-    fvPatchField<vector>::operator=(patchInternalField());
-}
-
-
-Foam::fixedShearStressFvPatchVectorField::fixedShearStressFvPatchVectorField
-(
-    const fixedShearStressFvPatchVectorField& ptf,
-    const fvPatch& p,
-    const DimensionedField<vector, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    fixedValueFvPatchVectorField(ptf, p, iF, mapper),
-    phiName_(ptf.phiName_),
-    rhoName_(ptf.rhoName_),
-    tau0_(ptf.tau0_)
-{}
-
-
-Foam::fixedShearStressFvPatchVectorField::fixedShearStressFvPatchVectorField
-(
-    const fixedShearStressFvPatchVectorField& ptf
-)
-:
-    fixedValueFvPatchVectorField(ptf),
-    phiName_(ptf.phiName_),
-    rhoName_(ptf.rhoName_),
-    tau0_(ptf.tau0_)
-{}
-
-
-Foam::fixedShearStressFvPatchVectorField::fixedShearStressFvPatchVectorField
-(
-    const fixedShearStressFvPatchVectorField& ptf,
-    const DimensionedField<vector, volMesh>& iF
-)
-:
-    fixedValueFvPatchVectorField(ptf, iF),
-    phiName_(ptf.phiName_),
-    rhoName_(ptf.rhoName_),
-    tau0_(ptf.tau0_)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void Foam::fixedShearStressFvPatchVectorField::updateCoeffs()
-{
-    if (updated())
-    {
-        return;
-    }
-
-    const label patchI = patch().index();
-
-    const surfaceScalarField& phi =
-        db().lookupObject<surfaceScalarField>(phiName_);
-
-    scalarField nuEff;
-    if (phi.dimensions() == dimVelocity*dimArea)
-    {
-        const incompressible::turbulenceModel& turbModel =
-            db().lookupObject<incompressible::turbulenceModel>
-            (
-                "turbulenceModel"
-            );
-
-        nuEff = turbModel.nuEff()()[patchI];
-    }
-    else if (phi.dimensions() == dimDensity*dimVelocity*dimArea)
-    {
-        const compressible::turbulenceModel& turbModel =
-            db().lookupObject<compressible::turbulenceModel>
-            (
-                "turbulenceModel"
-            );
-
-        const fvPatchField<scalar>& rhop =
-            patch().lookupPatchField<volScalarField, scalar>(rhoName_);
-
-        nuEff = turbModel.muEff()()[patchI]/rhop;
-    }
-    else
-    {
-        FatalErrorIn("fixedShearStressFvPatchVectorField::updateCoeffs()")
-            << "dimensions of phi are not correct"
-            << "\n    on patch " << this->patch().name()
-            << " of field " << this->dimensionedInternalField().name()
-            << " in file " << this->dimensionedInternalField().objectPath()
-            << exit(FatalError);
-    }
-
-    const vectorField Uc(patchInternalField());
-
-    vector tauHat = tau0_/(mag(tau0_) + ROOTVSMALL);
-
-    const scalarField& ry = patch().deltaCoeffs();
-
-    operator==(tauHat*(tauHat & (tau0_*(1.0/(ry*nuEff)) + Uc)));
-
-    fixedValueFvPatchVectorField::updateCoeffs();
-}
-
-
-void Foam::fixedShearStressFvPatchVectorField::write(Ostream& os) const
-{
-    fixedValueFvPatchVectorField::write(os);
-    writeEntryIfDifferent<word>(os, "phi", "phi", phiName_);
-    writeEntryIfDifferent<word>(os, "rho", "rho", rhoName_);
-    os.writeKeyword("tau") << tau0_ << token::END_STATEMENT << nl;
-    writeEntry("value", os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-    makePatchTypeField
-    (
-        fvPatchVectorField,
-        fixedShearStressFvPatchVectorField
-    );
-}
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/derivedFvPatchFields/fixedShearStress/fixedShearStressFvPatchVectorField.H b/src/turbulenceModels/derivedFvPatchFields/fixedShearStress/fixedShearStressFvPatchVectorField.H
deleted file mode 100644
index a399ff07eb2..00000000000
--- a/src/turbulenceModels/derivedFvPatchFields/fixedShearStress/fixedShearStressFvPatchVectorField.H
+++ /dev/null
@@ -1,154 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::fixedShearStressFvPatchVectorField
-
-Group
-    grpWallBoundaryConditions
-
-Description
-    Set a constant shear stress as tau0 = -nuEff dU/dn.
-
-SourceFiles
-    fixedShearStressFvPatchVectorField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef fixedShearStressFvPatchVectorField_H
-#define fixedShearStressFvPatchVectorField_H
-
-#include "fvPatchFields.H"
-#include "fixedValueFvPatchFields.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-/*---------------------------------------------------------------------------*\
-            Class fixedShearStressFvPatchVectorField Declaration
-\*---------------------------------------------------------------------------*/
-
-class fixedShearStressFvPatchVectorField
-:
-    public fixedValueFvPatchVectorField
-{
-    // Private data
-
-        //- Name of flux field (default = phi)
-        const word phiName_;
-
-        //- Name of density field (default = rho)
-        const word rhoName_;
-
-        //- Constant shear stress
-        const vector tau0_;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("fixedShearStress");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        fixedShearStressFvPatchVectorField
-        (
-            const fvPatch&,
-            const DimensionedField<vector, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        fixedShearStressFvPatchVectorField
-        (
-            const fvPatch&,
-            const DimensionedField<vector, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        fixedShearStressFvPatchVectorField
-        (
-            const fixedShearStressFvPatchVectorField&,
-            const fvPatch&,
-            const DimensionedField<vector, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        fixedShearStressFvPatchVectorField
-        (
-            const fixedShearStressFvPatchVectorField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchVectorField> clone() const
-        {
-            return tmp<fvPatchVectorField>
-            (
-                new fixedShearStressFvPatchVectorField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        fixedShearStressFvPatchVectorField
-        (
-            const fixedShearStressFvPatchVectorField&,
-            const DimensionedField<vector, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchVectorField> clone
-        (
-            const DimensionedField<vector, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchVectorField>
-            (
-                new fixedShearStressFvPatchVectorField(*this, iF)
-            );
-        }
-
-
-    // Member functions
-
-        //- Update the coefficients associated with the patch field
-        virtual void updateCoeffs();
-
-        //- Write
-        virtual void write(Ostream&) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.C b/src/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.C
deleted file mode 100644
index afd43395ba4..00000000000
--- a/src/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.C
+++ /dev/null
@@ -1,121 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "porousBafflePressureFvPatchField.H"
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-template<class Type>
-Foam::porousBafflePressureFvPatchField<Type>::porousBafflePressureFvPatchField
-(
-    const fvPatch& p,
-    const DimensionedField<Type, volMesh>& iF
-)
-:
-    fixedJumpFvPatchField<Type>(p, iF),
-    D_(0),
-    I_(0),
-    length_(0)
-{}
-
-
-template<class Type>
-Foam::porousBafflePressureFvPatchField<Type>::porousBafflePressureFvPatchField
-(
-    const porousBafflePressureFvPatchField<Type>& ptf,
-    const fvPatch& p,
-    const DimensionedField<Type, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    fixedJumpFvPatchField<Type>(ptf, p, iF, mapper),
-    D_(ptf.D_),
-    I_(ptf.I_),
-    length_(ptf.length_)
-{}
-
-
-template<class Type>
-Foam::porousBafflePressureFvPatchField<Type>::porousBafflePressureFvPatchField
-(
-    const fvPatch& p,
-    const DimensionedField<Type, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    fixedJumpFvPatchField<Type>(p, iF),
-    D_(readScalar(dict.lookup("D"))),
-    I_(readScalar(dict.lookup("I"))),
-    length_(readScalar(dict.lookup("length")))
-{
-    fvPatchField<Type>::operator=
-    (
-        Field<Type>("value", dict, p.size())
-    );
-}
-
-
-template<class Type>
-Foam::porousBafflePressureFvPatchField<Type>::porousBafflePressureFvPatchField
-(
-    const porousBafflePressureFvPatchField<Type>& ptf
-)
-:
-    cyclicLduInterfaceField(),
-    fixedJumpFvPatchField<Type>(ptf),
-    D_(ptf.D_),
-    I_(ptf.I_),
-    length_(ptf.length_)
-{}
-
-
-template<class Type>
-Foam::porousBafflePressureFvPatchField<Type>::porousBafflePressureFvPatchField
-(
-    const porousBafflePressureFvPatchField<Type>& ptf,
-    const DimensionedField<Type, volMesh>& iF
-)
-:
-    fixedJumpFvPatchField<Type>(ptf, iF),
-    D_(ptf.D_),
-    I_(ptf.I_),
-    length_(ptf.length_)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-
-template<class Type>
-void Foam::porousBafflePressureFvPatchField<Type>::write(Ostream& os) const
-{
-    fixedJumpFvPatchField<Type>::write(os);
-    os.writeKeyword("D") << D_ << token::END_STATEMENT << nl;
-    os.writeKeyword("I") << I_ << token::END_STATEMENT << nl;
-    os.writeKeyword("length") << length_ << token::END_STATEMENT << nl;
-}
-
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.H b/src/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.H
deleted file mode 100644
index 520fe0985ec..00000000000
--- a/src/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.H
+++ /dev/null
@@ -1,216 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::porousBafflePressureFvPatchField
-
-Group
-    grpCoupledBoundaryConditions
-
-Description
-    This boundary condition provides a jump condition, using the \c cyclic
-    condition as a base.
-
-    The porous baffle introduces a pressure jump defined by:
-
-        \f[
-            \Delta p = -(D \mu U + 0.5 I \rho |U|^2 )L
-        \f]
-
-    where
-
-    \vartable
-        p      | pressure [Pa]
-        \rho   | density [kg/m3]
-        \mu    | laminar viscosity [Pa s]
-        I      | inertial coefficient
-        D      | Darcy coefficient
-        L      | porous media length in the flow direction
-    \endvartable
-
-
-    \heading Patch usage
-
-    \table
-        Property     | Description             | Required    | Default value
-        patchType    | underlying patch type should be \c cyclic| yes |
-        D            | Darcy coefficient       | yes         |
-        I            | inertial coefficient    | yes         |
-        L            | porous media length in the flow direction | yes |
-    \endtable
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            porousBafflePressure;
-        patchType       cyclic;
-        jump            uniform 0;
-        I               1000000;
-        D               0.001;
-        L               0.1;
-        value           uniform 0;
-    }
-    \endverbatim
-
-Note
-     The underlying \c patchType should be set to \c cyclic
-
-SourceFiles
-    porousBafflePressureFvPatchField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef porousBafflePressureFvPatchField_H
-#define porousBafflePressureFvPatchField_H
-
-#include "fixedJumpFvPatchField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-/*---------------------------------------------------------------------------*\
-                Class porousBafflePressureFvPatchField Declaration
-\*---------------------------------------------------------------------------*/
-
-template<class Type>
-class porousBafflePressureFvPatchField
-:
-    public fixedJumpFvPatchField<Type>
-{
-    // Private data
-
-        //- Darcy pressure loss coefficient
-        scalar D_;
-
-        //- Inertia pressure lost coefficient
-        scalar I_;
-
-        //- Porous media length
-        scalar length_;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("porousBafflePressure");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        porousBafflePressureFvPatchField
-        (
-            const fvPatch&,
-            const DimensionedField<Type, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        porousBafflePressureFvPatchField
-        (
-            const fvPatch&,
-            const DimensionedField<Type, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given porousBafflePressureFvPatchField
-        // onto a new patch
-        porousBafflePressureFvPatchField
-        (
-            const porousBafflePressureFvPatchField<Type>&,
-            const fvPatch&,
-            const DimensionedField<Type, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        porousBafflePressureFvPatchField
-        (
-            const porousBafflePressureFvPatchField<Type>&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchField<Type> > clone() const
-        {
-            return tmp<fvPatchField<Type> >
-            (
-                new porousBafflePressureFvPatchField<Type>(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        porousBafflePressureFvPatchField
-        (
-            const porousBafflePressureFvPatchField<Type>&,
-            const DimensionedField<Type, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchField<Type> > clone
-        (
-            const DimensionedField<Type, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchField<Type> >
-            (
-                new porousBafflePressureFvPatchField<Type>(*this, iF)
-            );
-        }
-
-
-    // Member functions
-
-
-        // Evaluation functions
-
-            //- Update the coefficients associated with the patch field
-            virtual void updateCoeffs();
-
-
-        //- Write
-        virtual void write(Ostream&) const;
-};
-
-
-//- Specialisation of the jump-condition for the pressure
-template<>
-void porousBafflePressureFvPatchField<scalar>::updateCoeffs();
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#ifdef NoRepository
-#   include "porousBafflePressureFvPatchField.C"
-#endif
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchFields.C b/src/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchFields.C
deleted file mode 100644
index 6f218bd8cb5..00000000000
--- a/src/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchFields.C
+++ /dev/null
@@ -1,121 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "porousBafflePressureFvPatchFields.H"
-#include "addToRunTimeSelectionTable.H"
-#include "volFields.H"
-#include "surfaceFields.H"
-
-#include "compressible/turbulenceModel/turbulenceModel.H"
-#include "incompressible/turbulenceModel/turbulenceModel.H"
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-makeTemplatePatchTypeField
-(
-    fvPatchScalarField,
-    porousBafflePressureFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-//- Specialisation of the jump-condition for the pressure
-template<>
-void Foam::porousBafflePressureFvPatchField<Foam::scalar>::updateCoeffs()
-{
-    if (updated())
-    {
-        return;
-    }
-
-    const label patchI = patch().index();
-
-    const surfaceScalarField& phi =
-            db().lookupObject<surfaceScalarField>("phi");
-
-    const fvsPatchField<scalar>& phip =
-        patch().patchField<surfaceScalarField, scalar>(phi);
-
-    scalarField Un(phip/patch().magSf());
-
-    scalarField magUn(mag(Un));
-
-    if (phi.dimensions() == dimensionSet(0, 3, -1, 0, 0))
-    {
-        const incompressible::turbulenceModel& turbModel =
-            db().lookupObject<incompressible::turbulenceModel>
-            (
-                "turbulenceModel"
-            );
-
-        const scalarField nu = turbModel.nu()().boundaryField()[patchI];
-
-        jump_ = -sign(Un)*(D_*nu + I_*0.5*magUn)*magUn*length_;
-    }
-    else
-    {
-        const compressible::turbulenceModel& turbModel =
-            db().lookupObject<compressible::turbulenceModel>
-            (
-                "turbulenceModel"
-            );
-
-        const scalarField mu = turbModel.mu().boundaryField()[patchI];
-
-        const scalarField rhow =
-            patch().lookupPatchField<volScalarField, scalar>("rho");
-
-        Un /= rhow;
-
-        jump_ = -sign(Un)*(D_*mu + I_*0.5*rhow*magUn)*magUn*length_;
-    }
-
-    if (debug)
-    {
-        scalar avePressureJump = gAverage(jump_);
-        scalar aveVelocity = gAverage(mag(Un));
-
-        Info<< patch().boundaryMesh().mesh().name() << ':'
-            << patch().name() << ':'
-            << " Average pressure drop :" << avePressureJump
-            << " Average velocity :" << aveVelocity
-            << endl;
-    }
-
-    fixedJumpFvPatchField<scalar>::updateCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/Allwmake b/src/turbulenceModels/incompressible/Allwmake
deleted file mode 100755
index ec2033465e9..00000000000
--- a/src/turbulenceModels/incompressible/Allwmake
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-cd ${0%/*} || exit 1    # Run from this directory
-
-# Parse arguments for library compilation
-targetType=libso
-. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments
-set -x
-
-wmake $targetType turbulenceModel
-wmake $targetType RAS
-wmake $targetType LES
-
-# ----------------------------------------------------------------- end-of-file
diff --git a/src/turbulenceModels/incompressible/LES/DESModel/DESModel.C b/src/turbulenceModels/incompressible/LES/DESModel/DESModel.C
deleted file mode 100644
index 2f3e33931d8..00000000000
--- a/src/turbulenceModels/incompressible/LES/DESModel/DESModel.C
+++ /dev/null
@@ -1,56 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "DESModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * * * * Constructor * * * * * * * * * * * * * * * * //
-
-DESModel::DESModel
-(
-    const word& type,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName
-)
-:
-    LESModel(type, U, phi, transport, turbulenceModelName)
-
-{}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/DESModel/DESModelDoc.H b/src/turbulenceModels/incompressible/LES/DESModel/DESModelDoc.H
deleted file mode 100644
index 5311d09d671..00000000000
--- a/src/turbulenceModels/incompressible/LES/DESModel/DESModelDoc.H
+++ /dev/null
@@ -1,32 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-\defgroup grpIcoDESTurbulence Incompressible DES turbulence
-@{
-    \ingroup grpIcoTurbulence
-    This group contains incompressible DES models.
-@}
-    
-\*---------------------------------------------------------------------------*/
diff --git a/src/turbulenceModels/incompressible/LES/DeardorffDiffStress/DeardorffDiffStress.C b/src/turbulenceModels/incompressible/LES/DeardorffDiffStress/DeardorffDiffStress.C
deleted file mode 100644
index af3c7eb0a2d..00000000000
--- a/src/turbulenceModels/incompressible/LES/DeardorffDiffStress/DeardorffDiffStress.C
+++ /dev/null
@@ -1,162 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "DeardorffDiffStress.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(DeardorffDiffStress, 0);
-addToRunTimeSelectionTable(LESModel, DeardorffDiffStress, dictionary);
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void DeardorffDiffStress::updateSubGridScaleFields(const volScalarField& K)
-{
-    nuSgs_ = ck_*sqrt(K)*delta();
-    nuSgs_.correctBoundaryConditions();
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-DeardorffDiffStress::DeardorffDiffStress
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    LESModel(modelName, U, phi, transport, turbulenceModelName),
-    GenSGSStress(U, phi, transport),
-
-    ck_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "ck",
-            coeffDict_,
-            0.094
-        )
-    ),
-    cm_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "cm",
-            coeffDict_,
-            4.13
-        )
-    )
-{
-    updateSubGridScaleFields(0.5*tr(B_));
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void DeardorffDiffStress::correct(const tmp<volTensorField>& tgradU)
-{
-    const volTensorField& gradU = tgradU();
-
-    GenSGSStress::correct(gradU);
-
-    const volSymmTensorField D(symm(gradU));
-
-    const volSymmTensorField P(-twoSymm(B_ & gradU));
-
-    volScalarField K(0.5*tr(B_));
-    volScalarField Epsilon(2*nuEff()*magSqr(D));
-
-    tmp<fvSymmTensorMatrix> BEqn
-    (
-        fvm::ddt(B_)
-      + fvm::div(phi(), B_)
-      - fvm::laplacian(DBEff(), B_)
-      + fvm::Sp(cm_*sqrt(K)/delta(), B_)
-     ==
-        P
-      + 0.8*K*D
-      - (2*ce_ - 0.667*cm_)*I*Epsilon
-    );
-
-    BEqn().relax();
-    BEqn().solve();
-
-    // Bounding the component kinetic energies
-
-    forAll(B_, celli)
-    {
-        B_[celli].component(symmTensor::XX) =
-            max(B_[celli].component(symmTensor::XX), kMin_.value());
-        B_[celli].component(symmTensor::YY) =
-            max(B_[celli].component(symmTensor::YY), kMin_.value());
-        B_[celli].component(symmTensor::ZZ) =
-            max(B_[celli].component(symmTensor::ZZ), kMin_.value());
-    }
-
-    K = 0.5*tr(B_);
-    bound(K, kMin_);
-
-    updateSubGridScaleFields(K);
-}
-
-
-bool DeardorffDiffStress::read()
-{
-    if (GenSGSStress::read())
-    {
-        ck_.readIfPresent(coeffDict());
-        cm_.readIfPresent(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/DeardorffDiffStress/DeardorffDiffStress.H b/src/turbulenceModels/incompressible/LES/DeardorffDiffStress/DeardorffDiffStress.H
deleted file mode 100644
index 7125d3be09a..00000000000
--- a/src/turbulenceModels/incompressible/LES/DeardorffDiffStress/DeardorffDiffStress.H
+++ /dev/null
@@ -1,148 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::LESModels::DeardorffDiffStress
-
-Group
-    grpIcoLESTurbulence
-
-Description
-    Differential SGS Stress Equation Model for incompressible flows
-
-    The DSEM uses a model version of the full balance equation for the SGS
-    stress tensor to simulate the behaviour of B.
-    Thus,
-        \f[
-            \frac{d}{dt}(B) + \nabla\cdot(U B) - \nabla\cdot(\nu_{sgs}\nabla B)
-          =
-            P - c_1 \frac{\epsilon}{k}B - 0.667(1 - c_1)\epsilon I
-            - c_2 (P - 0.333 trP I)
-        \f]
-
-    where
-    \f{eqnarray*}{
-        k          &=& 0.5 tr(B)                \\
-        \epsilon   &=& c_e k^{3/2}/\Delta       \\
-        \epsilon/k &=& c_e k^{1/2}/\Delta       \\
-        P          &=& -(B'L + L'B)             \\
-        \nu_{sgs}  &=& c_k k^{1/2} \Delta       \\
-        \nu_{eff}  &=& \nu_{sgs} + \nu
-    \f}
-
-SourceFiles
-    DeardorffDiffStress.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef DeardorffDiffStress_H
-#define DeardorffDiffStress_H
-
-#include "GenSGSStress.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-/*---------------------------------------------------------------------------*\
-                    Class DeardorffDiffStress Declaration
-\*---------------------------------------------------------------------------*/
-
-class DeardorffDiffStress
-:
-    public GenSGSStress
-{
-    // Private data
-
-        dimensionedScalar ck_;
-        dimensionedScalar cm_;
-
-
-    // Private Member Functions
-
-        //- Update sub-grid scale fields
-        void updateSubGridScaleFields(const volScalarField& K);
-
-        // Disallow default bitwise copy construct and assignment
-        DeardorffDiffStress(const DeardorffDiffStress&);
-        DeardorffDiffStress& operator=(const DeardorffDiffStress&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("DeardorffDiffStress");
-
-    // Constructors
-
-        //- Construct from components
-        DeardorffDiffStress
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~DeardorffDiffStress()
-    {}
-
-
-    // Member Functions
-
-        //- Return the effective diffusivity for B
-        tmp<volScalarField> DBEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DBEff", nuSgs_ + nu())
-            );
-        }
-
-        //- Correct Eddy-Viscosity and related properties
-        virtual void correct(const tmp<volTensorField>& gradU);
-
-        //- Read LESProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/GenEddyVisc/GenEddyVisc.C b/src/turbulenceModels/incompressible/LES/GenEddyVisc/GenEddyVisc.C
deleted file mode 100644
index 1dcad692c4f..00000000000
--- a/src/turbulenceModels/incompressible/LES/GenEddyVisc/GenEddyVisc.C
+++ /dev/null
@@ -1,149 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "GenEddyVisc.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameWithName(GenEddyVisc, "GenEddyVisc");
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-GenEddyVisc::GenEddyVisc
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    LESModel(modelName, U, phi, transport, turbulenceModelName),
-
-    ce_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "ce",
-            coeffDict_,
-            1.048
-        )
-    ),
-
-    nuSgs_
-    (
-        IOobject
-        (
-            "nuSgs",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    )
-{
-//    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volSymmTensorField> GenEddyVisc::B() const
-{
-    return ((2.0/3.0)*I)*k() - nuSgs_*twoSymm(fvc::grad(U()));
-}
-
-
-tmp<volSymmTensorField> GenEddyVisc::devReff() const
-{
-    return -nuEff()*dev(twoSymm(fvc::grad(U())));
-}
-
-
-tmp<fvVectorMatrix> GenEddyVisc::divDevReff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(nuEff(), U)
-      - fvc::div(nuEff()*dev(T(fvc::grad(U))))
-    );
-}
-
-
-tmp<fvVectorMatrix> GenEddyVisc::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    volScalarField muEff("muEff", rho*nuEff());
-
-    return
-    (
-      - fvm::laplacian(muEff, U)
-      - fvc::div(muEff*dev(T(fvc::grad(U))))
-    );
-}
-
-
-void GenEddyVisc::correct(const tmp<volTensorField>& gradU)
-{
-    LESModel::correct(gradU);
-}
-
-
-bool GenEddyVisc::read()
-{
-    if (LESModel::read())
-    {
-        ce_.readIfPresent(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/GenEddyVisc/GenEddyVisc.H b/src/turbulenceModels/incompressible/LES/GenEddyVisc/GenEddyVisc.H
deleted file mode 100644
index ab57b4cd833..00000000000
--- a/src/turbulenceModels/incompressible/LES/GenEddyVisc/GenEddyVisc.H
+++ /dev/null
@@ -1,170 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::LESModels::GenEddyVisc
-
-Group
-    grpIcoLESTurbulence
-
-Description
-    General base class for all incompressible models that can be implemented
-    as an eddy viscosity, i.e. algebraic and one-equation models.
-
-    Contains fields for k (SGS turbulent kinetic energy), gamma
-    (modelled viscosity) and epsilon (SGS dissipation).
-
-SourceFiles
-    GenEddyVisc.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef GenEddyVisc_H
-#define GenEddyVisc_H
-
-#include "LESModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-/*---------------------------------------------------------------------------*\
-                         Class GenEddyVisc Declaration
-\*---------------------------------------------------------------------------*/
-
-class GenEddyVisc
-:
-    virtual public LESModel
-{
-    // Private Member Functions
-
-        // Disallow default bitwise copy construct and assignment
-        GenEddyVisc(const GenEddyVisc&);
-        GenEddyVisc& operator=(const GenEddyVisc&);
-
-
-protected:
-
-    // Model coefficients
-
-        dimensionedScalar ce_;
-
-    // Fields
-
-        volScalarField nuSgs_;
-
-
-public:
-
-    //- Partial Runtime type information
-    static const word typeName;
-
-    // Constructors
-
-        //- Construct from components
-        GenEddyVisc
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~GenEddyVisc()
-    {}
-
-
-    // Member Functions
-
-        //- Return sub-grid disipation rate
-        virtual tmp<volScalarField> epsilon() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField
-                (
-                    IOobject
-                    (   
-                        "epsilon",
-                        runTime_.timeName(),
-                        mesh_,
-                        IOobject::NO_READ,
-                        IOobject::NO_WRITE
-                    ),
-                    ce_*k()*sqrt(k())/delta()
-                )
-            );
-        }
-
-        //- Return the SGS viscosity.
-        virtual tmp<volScalarField> nuSgs() const
-        {
-            return nuSgs_;
-        }
-
-        //- Return the sub-grid stress tensor.
-        virtual tmp<volSymmTensorField> B() const;
-
-        //- Return the effective sub-grid turbulence stress tensor
-        //  including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
-
-        //- Return the deviatoric part of the effective sub-grid
-        //  turbulence stress tensor including the laminar stress
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
-
-        //- Return the deviatoric part of the effective sub-grid
-        //  turbulence stress tensor including the laminar stress
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const;
-
-        //- Correct Eddy-Viscosity and related properties
-        virtual void correct(const tmp<volTensorField>& gradU);
-
-        //- Read LESProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/GenSGSStress/GenSGSStress.C b/src/turbulenceModels/incompressible/LES/GenSGSStress/GenSGSStress.C
deleted file mode 100644
index d44bb7e383d..00000000000
--- a/src/turbulenceModels/incompressible/LES/GenSGSStress/GenSGSStress.C
+++ /dev/null
@@ -1,230 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "GenSGSStress.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameWithName(GenSGSStress, "GenSGSStress");
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-GenSGSStress::GenSGSStress
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    LESModel(modelName, U, phi, transport, turbulenceModelName),
-
-    ce_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "ce",
-            coeffDict_,
-            1.048
-        )
-    ),
-
-    couplingFactor_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "couplingFactor",
-            coeffDict_,
-            0.0
-        )
-    ),
-
-    B_
-    (
-        IOobject
-        (
-            "B",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-
-    nuSgs_
-    (
-        IOobject
-        (
-            "nuSgs",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::NO_WRITE
-        ),
-        nu(),
-        B_.boundaryField().types()
-    )
-{
-    if (couplingFactor_.value() < 0.0 || couplingFactor_.value() > 1.0)
-    {
-        FatalErrorIn
-        (
-            "GenSGSStress::GenSGSStress"
-            "(const volVectorField& U, const surfaceScalarField& phi,"
-            "transportModel& transport)"
-        )   << "couplingFactor = " << couplingFactor_
-            << " is not in range 0 - 1" << nl
-            << exit(FatalError);
-    }
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volSymmTensorField> GenSGSStress::devReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            B_ - nu()*dev(twoSymm(fvc::grad(U())))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> GenSGSStress::divDevReff
-(
-    volVectorField& U
-) const
-{
-    if (couplingFactor_.value() > 0.0)
-    {
-        return
-        (
-            fvc::div(B_ + couplingFactor_*nuSgs_*fvc::grad(U))
-          + fvc::laplacian
-            (
-                (1.0 - couplingFactor_)*nuSgs_, U, "laplacian(nuEff,U)"
-            )
-          - fvm::laplacian(nuEff(), U)
-        );
-    }
-    else
-    {
-        return
-        (
-            fvc::div(B_)
-          + fvc::laplacian(nuSgs_, U, "laplacian(nuEff,U)")
-          - fvm::laplacian(nuEff(), U)
-        );
-    }
-}
-
-
-tmp<fvVectorMatrix> GenSGSStress::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    volScalarField muEff("muEff", rho*nuEff());
-
-    if (couplingFactor_.value() > 0.0)
-    {
-        return
-        (
-            fvc::div(rho*B_ + couplingFactor_*rho*nuSgs_*fvc::grad(U))
-          + fvc::laplacian
-            (
-                (1.0 - couplingFactor_)*rho*nuSgs_, U, "laplacian(muEff,U)"
-            )
-          - fvm::laplacian(muEff, U)
-        );
-    }
-    else
-    {
-        return
-        (
-            fvc::div(rho*B_)
-          + fvc::laplacian(rho*nuSgs_, U, "laplacian(muEff,U)")
-          - fvm::laplacian(muEff, U)
-        );
-    }
-}
-
-
-bool GenSGSStress::read()
-{
-    if (LESModel::read())
-    {
-        ce_.readIfPresent(coeffDict());
-
-        couplingFactor_.readIfPresent(coeffDict());
-
-        if (couplingFactor_.value() < 0.0 || couplingFactor_.value() > 1.0)
-        {
-            FatalErrorIn("GenSGSStress::read()")
-                << "couplingFactor = " << couplingFactor_
-                << " is not in range 0 - 1"
-                << exit(FatalError);
-        }
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/GenSGSStress/GenSGSStress.H b/src/turbulenceModels/incompressible/LES/GenSGSStress/GenSGSStress.H
deleted file mode 100644
index da2b356a81e..00000000000
--- a/src/turbulenceModels/incompressible/LES/GenSGSStress/GenSGSStress.H
+++ /dev/null
@@ -1,192 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::LESModels::GenSGSStress
-
-Group
-    grpIcoLESTurbulence
-
-Description
-    General base class for all incompressible models that directly
-    solve for the SGS stress tensor B.
-
-    Contains tensor fields B (the SGS stress tensor) as well as scalar
-    fields for k (SGS turbulent energy) gamma (SGS viscosity) and epsilon
-    (SGS dissipation).
-
-SourceFiles
-    GenSGSStress.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef GenSGSStress_H
-#define GenSGSStress_H
-
-#include "LESModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-/*---------------------------------------------------------------------------*\
-                        Class GenSGSStress Declaration
-\*---------------------------------------------------------------------------*/
-
-class GenSGSStress
-:
-    virtual public LESModel
-{
-    // Private Member Functions
-
-        // Disallow default bitwise copy construct and assignment
-        GenSGSStress(const GenSGSStress&);
-        GenSGSStress& operator=(const GenSGSStress&);
-
-
-protected:
-
-        dimensionedScalar ce_;
-
-        dimensionedScalar couplingFactor_;
-
-        volSymmTensorField B_;
-        volScalarField nuSgs_;
-
-
-public:
-
-    //- Partial Runtime type information
-    static const word typeName;
-
-    // Constructors
-
-        //- Construct from components
-        GenSGSStress
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~GenSGSStress()
-    {}
-
-
-    // Member Functions
-
-        //- Return the SGS turbulent kinetic energy.
-        virtual tmp<volScalarField> k() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField
-                (
-                    IOobject
-                    (   
-                        "k",
-                        runTime_.timeName(),
-                        mesh_,
-                        IOobject::NO_READ,
-                        IOobject::NO_WRITE
-                    ),
-                    0.5*tr(B_)
-                )
-            );
-        }
-
-        //- Return the SGS turbulent dissipation.
-        virtual tmp<volScalarField> epsilon() const
-        {
-            const volScalarField K(k());
-            
-            return tmp<volScalarField>
-            (
-                new volScalarField
-                (
-                    IOobject
-                    (   
-                        "epsilon",
-                        runTime_.timeName(),
-                        mesh_,
-                        IOobject::NO_READ,
-                        IOobject::NO_WRITE
-                    ),
-                    ce_*K*sqrt(K)/delta()
-                )
-            );
-        }
-
-        //- Return the SGS viscosity.
-        virtual tmp<volScalarField> nuSgs() const
-        {
-            return nuSgs_;
-        }
-
-        //- Return the sub-grid stress tensor.
-        virtual tmp<volSymmTensorField> B() const
-        {
-            return B_;
-        }
-
-        //- Return the effective sub-grid turbulence stress tensor
-        //  including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
-
-        //- Return the deviatoric part of the effective sub-grid
-        //  turbulence stress tensor including the laminar stress
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
-
-        //- Return the deviatoric part of the effective sub-grid
-        //  turbulence stress tensor including the laminar stress
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const;
-
-        //- Read LESProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/LESModel/LESModel.C b/src/turbulenceModels/incompressible/LES/LESModel/LESModel.C
deleted file mode 100644
index 5486b559208..00000000000
--- a/src/turbulenceModels/incompressible/LES/LESModel/LESModel.C
+++ /dev/null
@@ -1,207 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "LESModel.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(LESModel, 0);
-defineRunTimeSelectionTable(LESModel, dictionary);
-addToRunTimeSelectionTable(turbulenceModel, LESModel, turbulenceModel);
-
-// * * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * //
-
-void LESModel::printCoeffs()
-{
-    if (printCoeffs_)
-    {
-        Info<< type() << "Coeffs" << coeffDict_ << endl;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * Constructor * * * * * * * * * * * * * * * * //
-
-LESModel::LESModel
-(
-    const word& type,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName
-)
-:
-    turbulenceModel(U, phi, transport, turbulenceModelName),
-
-    IOdictionary
-    (
-        IOobject
-        (
-            "LESProperties",
-            U.time().constant(),
-            U.db(),
-            IOobject::MUST_READ_IF_MODIFIED,
-            IOobject::NO_WRITE
-        )
-    ),
-
-    printCoeffs_(lookupOrDefault<Switch>("printCoeffs", false)),
-    coeffDict_(subOrEmptyDict(type + "Coeffs")),
-
-    kMin_("kMin", sqr(dimVelocity), SMALL),
-    delta_(LESdelta::New("delta", U.mesh(), *this))
-{
-    kMin_.readIfPresent(*this);
-
-    // Force the construction of the mesh deltaCoeffs which may be needed
-    // for the construction of the derived models and BCs
-    mesh_.deltaCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * //
-
-autoPtr<LESModel> LESModel::New
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName
-)
-{
-    // get model name, but do not register the dictionary
-    // otherwise it is registered in the database twice
-    const word modelType
-    (
-        IOdictionary
-        (
-            IOobject
-            (
-                "LESProperties",
-                U.time().constant(),
-                U.db(),
-                IOobject::MUST_READ_IF_MODIFIED,
-                IOobject::NO_WRITE,
-                false
-            )
-        ).lookup("LESModel")
-    );
-
-    Info<< "Selecting LES turbulence model " << modelType << endl;
-
-    dictionaryConstructorTable::iterator cstrIter =
-        dictionaryConstructorTablePtr_->find(modelType);
-
-    if (cstrIter == dictionaryConstructorTablePtr_->end())
-    {
-        FatalErrorIn
-        (
-            "LESModel::New"
-            "("
-                "const volVectorField&, "
-                "const surfaceScalarField& ,"
-                "transportModel&, "
-                "const word&"
-            ")"
-        )   << "Unknown LESModel type "
-            << modelType << nl << nl
-            << "Valid LESModel types:" << endl
-            << dictionaryConstructorTablePtr_->sortedToc()
-            << exit(FatalError);
-    }
-
-    return autoPtr<LESModel>
-    (
-        cstrIter()(U, phi, transport, turbulenceModelName)
-    );
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void LESModel::correct(const tmp<volTensorField>&)
-{
-    turbulenceModel::correct();
-    delta_().correct();
-}
-
-
-void LESModel::correct()
-{
-    correct(fvc::grad(U_));
-}
-
-
-bool LESModel::read()
-{
-    //if (regIOobject::read())
-
-    // Bit of trickery : we are both IOdictionary ('RASProperties') and
-    // an regIOobject from the turbulenceModel level. Problem is to distinguish
-    // between the two - we only want to reread the IOdictionary.
-
-    bool ok = IOdictionary::readData
-    (
-        IOdictionary::readStream
-        (
-            IOdictionary::type()
-        )
-    );
-    IOdictionary::close();
-
-    if (ok)
-    {
-        if (const dictionary* dictPtr = subDictPtr(type() + "Coeffs"))
-        {
-            coeffDict_ <<= *dictPtr;
-        }
-
-        delta_().read(*this);
-
-        kMin_.readIfPresent(*this);
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/LESModel/LESModel.H b/src/turbulenceModels/incompressible/LES/LESModel/LESModel.H
deleted file mode 100644
index 8dad795f6dc..00000000000
--- a/src/turbulenceModels/incompressible/LES/LESModel/LESModel.H
+++ /dev/null
@@ -1,246 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Namespace
-    Foam::incompressible::LESModels
-
-Group
-    grpIcoLESTurbulence
-
-Description
-    Namespace for incompressible LES models.
-
-Class
-    Foam::incompressible::LESModel
-
-Description
-    Base class for all incompressible flow LES SGS models.
-
-    This class defines the basic interface for an incompressible flow SGS
-    model, and encapsulates data of value to all possible models.
-    In particular this includes references to all the dependent fields
-    (U, phi), the physical viscosity nu, and the LESProperties
-    dictionary, which contains the model selection and model coefficients.
-
-SourceFiles
-    LESModel.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef incompressibleLESModel_H
-#define incompressibleLESModel_H
-
-#include "incompressible/turbulenceModel/turbulenceModel.H"
-#include "incompressible/LES/incompressibleLESdelta/incompressibleLESdelta.H"
-#include "fvm.H"
-#include "fvc.H"
-#include "fvMatrices.H"
-#include "incompressible/transportModel/transportModel.H"
-#include "bound.H"
-#include "autoPtr.H"
-#include "runTimeSelectionTables.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class LESModel Declaration
-\*---------------------------------------------------------------------------*/
-
-class LESModel
-:
-    public turbulenceModel,
-    public IOdictionary
-{
-
-protected:
-
-    // Protected data
-
-        Switch printCoeffs_;
-        dictionary coeffDict_;
-
-        dimensionedScalar kMin_;
-
-        autoPtr<Foam::LESdelta> delta_;
-
-
-    // Protected Member Functions
-
-        //- Print model coefficients
-        virtual void printCoeffs();
-
-
-private:
-
-    // Private Member Functions
-
-        //- Disallow default bitwise copy construct
-        LESModel(const LESModel&);
-
-        //- Disallow default bitwise assignment
-        LESModel& operator=(const LESModel&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("LESModel");
-
-
-    // Declare run-time constructor selection table
-
-        declareRunTimeSelectionTable
-        (
-            autoPtr,
-            LESModel,
-            dictionary,
-            (
-                const volVectorField& U,
-                const surfaceScalarField& phi,
-                const transportModel& transport,
-                const word& turbulenceModelName
-            ),
-            (U, phi, transport, turbulenceModelName)
-        );
-
-
-    // Constructors
-
-        //- Construct from components
-        LESModel
-        (
-            const word& type,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName
-        );
-
-
-    // Selectors
-
-        //- Return a reference to the selected LES model
-        static autoPtr<LESModel> New
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName
-        );
-
-
-    //- Destructor
-    virtual ~LESModel()
-    {}
-
-
-    // Member Functions
-
-        // Access
-
-            //- Const access to the coefficients dictionary,
-            //  which provides info. about choice of models,
-            //  and all related data (particularly model coefficients).
-            virtual const dictionary& coeffDict() const
-            {
-                return coeffDict_;
-            }
-
-            //- Return the lower allowable limit for k (default: SMALL)
-            const dimensionedScalar& kMin() const
-            {
-                return kMin_;
-            }
-
-            //- Allow kMin to be changed
-            dimensionedScalar& kMin()
-            {
-                return kMin_;
-            }
-
-            //- Access function to filter width
-            virtual const volScalarField& delta() const
-            {
-                return delta_();
-            }
-
-
-        //- Return the SGS viscosity.
-        virtual tmp<volScalarField> nuSgs() const = 0;
-
-        //- Return the effective viscosity
-        virtual tmp<volScalarField> nuEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("nuEff", nuSgs() + nu())
-            );
-        }
-
-        //- Return the sub-grid stress tensor.
-        virtual tmp<volSymmTensorField> B() const = 0;
-
-
-        // RAS compatibility functions for the turbulenceModel base class
-
-            //- Return the turbulence viscosity
-            virtual tmp<volScalarField> nut() const
-            {
-                return nuSgs();
-            }
-
-            //- Return the Reynolds stress tensor
-            virtual tmp<volSymmTensorField> R() const
-            {
-                return B();
-            }
-
-
-        //- Correct Eddy-Viscosity and related properties.
-        //  This calls correct(const tmp<volTensorField>& gradU) by supplying
-        //  gradU calculated locally.
-        virtual void correct();
-
-        //- Correct Eddy-Viscosity and related properties
-        virtual void correct(const tmp<volTensorField>& gradU);
-
-        //- Read LESProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/LESModel/LESModelDoc.H b/src/turbulenceModels/incompressible/LES/LESModel/LESModelDoc.H
deleted file mode 100644
index 9b400e23eeb..00000000000
--- a/src/turbulenceModels/incompressible/LES/LESModel/LESModelDoc.H
+++ /dev/null
@@ -1,32 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-\defgroup grpIcoLESTurbulence Incompressible LES turbulence
-@{
-    \ingroup grpIcoTurbulence
-    This group contains incompressible LES models.
-@}
-    
-\*---------------------------------------------------------------------------*/
diff --git a/src/turbulenceModels/incompressible/LES/LRRDiffStress/LRRDiffStress.C b/src/turbulenceModels/incompressible/LES/LRRDiffStress/LRRDiffStress.C
deleted file mode 100644
index 5fda184beea..00000000000
--- a/src/turbulenceModels/incompressible/LES/LRRDiffStress/LRRDiffStress.C
+++ /dev/null
@@ -1,176 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "LRRDiffStress.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(LRRDiffStress, 0);
-addToRunTimeSelectionTable(LESModel, LRRDiffStress, dictionary);
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void LRRDiffStress::updateSubGridScaleFields(const volScalarField& K)
-{
-    nuSgs_ = ck_*sqrt(K)*delta();
-    nuSgs_.correctBoundaryConditions();
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-LRRDiffStress::LRRDiffStress
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    LESModel(modelName, U, phi, transport, turbulenceModelName),
-    GenSGSStress(U, phi, transport),
-
-    ck_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "ck",
-            coeffDict_,
-            0.09
-        )
-    ),
-    c1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "c1",
-            coeffDict_,
-            1.8
-        )
-    ),
-    c2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "c2",
-            coeffDict_,
-            0.6
-        )
-    )
-{
-    volScalarField K(0.5*tr(B_));
-    bound(K, kMin_);
-
-    updateSubGridScaleFields(K);
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void LRRDiffStress::correct(const tmp<volTensorField>& tgradU)
-{
-    const volTensorField& gradU = tgradU();
-
-    GenSGSStress::correct(gradU);
-
-    const volSymmTensorField D(symm(gradU));
-
-    const volSymmTensorField P(-twoSymm(B_ & gradU));
-
-    volScalarField K(0.5*tr(B_));
-    const volScalarField Epsilon(2*nuEff()*magSqr(D));
-
-    tmp<fvSymmTensorMatrix> BEqn
-    (
-        fvm::ddt(B_)
-      + fvm::div(phi(), B_)
-      - fvm::laplacian(DBEff(), B_)
-      + fvm::Sp(c1_*Epsilon/K, B_)
-     ==
-        P
-      - (0.667*(1.0 - c1_)*I)*Epsilon
-      - c2_*(P - 0.333*I*tr(P))
-      - (0.667 - 2*c1_)*I*pow(K, 1.5)/delta()
-    );
-
-    BEqn().relax();
-    BEqn().solve();
-
-    // Bounding the component kinetic energies
-
-    forAll(B_, celli)
-    {
-        B_[celli].component(symmTensor::XX) =
-            max(B_[celli].component(symmTensor::XX), kMin_.value());
-        B_[celli].component(symmTensor::YY) =
-            max(B_[celli].component(symmTensor::YY), kMin_.value());
-        B_[celli].component(symmTensor::ZZ) =
-            max(B_[celli].component(symmTensor::ZZ), kMin_.value());
-    }
-
-    K = 0.5*tr(B_);
-    bound(K, kMin_);
-
-    updateSubGridScaleFields(K);
-}
-
-
-bool LRRDiffStress::read()
-{
-    if (GenSGSStress::read())
-    {
-        ck_.readIfPresent(coeffDict());
-        c1_.readIfPresent(coeffDict());
-        c2_.readIfPresent(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/LRRDiffStress/LRRDiffStress.H b/src/turbulenceModels/incompressible/LES/LRRDiffStress/LRRDiffStress.H
deleted file mode 100644
index a5168b4bfc1..00000000000
--- a/src/turbulenceModels/incompressible/LES/LRRDiffStress/LRRDiffStress.H
+++ /dev/null
@@ -1,145 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::LESModels::LRRDiffStress
-
-Group
-    grpIcoLESTurbulence
-
-Description
-    Differential SGS Stress Equation Model for incompressible flows.
-
-    The DSEM uses a model version of the full balance equation for the SGS
-    stress tensor to simulate the behaviour of B, hence,
-    \verbatim
-        d/dt(B) + div(U*B) - div(nuSgs*grad(B))
-        =
-        P - c1*e/k*B - 0.667*(1 - c1)*e*I - c2*(P - 0.333*trP*I)
-    where
-        k = 0.5*trB,
-        epsilon = ce*k^3/2/delta
-        epsilon/k = ce*k^1/2/delta
-        P = -(B'L + L'B)
-        nuEff = ck*sqrt(k)*delta + nu
-    \endverbatim
-
-    This version from Launder, Rece & Rodi 1975
-
-SourceFiles
-    LRRDiffStress.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef LRRDiffStress_H
-#define LRRDiffStress_H
-
-#include "GenSGSStress.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class LRRDiffStress Declaration
-\*---------------------------------------------------------------------------*/
-
-class LRRDiffStress
-:
-    public GenSGSStress
-{
-    // Private data
-
-        dimensionedScalar ck_;
-        dimensionedScalar c1_;
-        dimensionedScalar c2_;
-
-
-    // Private Member Functions
-
-        //- Update sub-grid scale fields
-        void updateSubGridScaleFields(const volScalarField& K);
-
-        // Disallow default bitwise copy construct and assignment
-        LRRDiffStress(const LRRDiffStress&);
-        LRRDiffStress& operator=(const LRRDiffStress&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("LRRDiffStress");
-
-    // Constructors
-
-        //- Construct from components
-        LRRDiffStress
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~LRRDiffStress()
-    {}
-
-
-    // Member Functions
-
-        //- Return the effective diffusivity for B
-        tmp<volScalarField> DBEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DBEff", nuSgs_ + nu())
-            );
-        }
-
-        //- Correct Eddy-Viscosity and related properties
-        virtual void correct(const tmp<volTensorField>& gradU);
-
-        //- Read LESProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/Make/files b/src/turbulenceModels/incompressible/LES/Make/files
deleted file mode 100644
index 6d4e3cb4d7d..00000000000
--- a/src/turbulenceModels/incompressible/LES/Make/files
+++ /dev/null
@@ -1,34 +0,0 @@
-incompressibleLESdelta/incompressibleLESdelta.C
-vanDriestDelta/vanDriestDelta.C
-
-LESModel/LESModel.C
-
-DESModel/DESModel.C
-
-GenEddyVisc/GenEddyVisc.C
-GenSGSStress/GenSGSStress.C
-
-laminar/laminar.C
-SpalartAllmaras/SpalartAllmaras.C
-SpalartAllmarasDDES/SpalartAllmarasDDES.C
-SpalartAllmarasIDDES/SpalartAllmarasIDDES.C
-SpalartAllmarasIDDES/IDDESDelta/IDDESDelta.C
-
-oneEqEddy/oneEqEddy.C
-homogeneousDynOneEqEddy/homogeneousDynOneEqEddy.C
-dynOneEqEddy/dynOneEqEddy.C
-Smagorinsky/Smagorinsky.C
-homogeneousDynSmagorinsky/homogeneousDynSmagorinsky.C
-LRRDiffStress/LRRDiffStress.C
-DeardorffDiffStress/DeardorffDiffStress.C
-spectEddyVisc/spectEddyVisc.C
-dynLagrangian/dynLagrangian.C
-
-scaleSimilarity/scaleSimilarity.C
-mixedSmagorinsky/mixedSmagorinsky.C
-
-/*Smagorinsky2/Smagorinsky2.C*/
-
-kOmegaSSTSAS/kOmegaSSTSAS.C
-
-LIB = $(FOAM_LIBBIN)/libincompressibleLESModels
diff --git a/src/turbulenceModels/incompressible/LES/Make/options b/src/turbulenceModels/incompressible/LES/Make/options
deleted file mode 100644
index 2699300b565..00000000000
--- a/src/turbulenceModels/incompressible/LES/Make/options
+++ /dev/null
@@ -1,14 +0,0 @@
-EXE_INC = \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/LES/LESdeltas/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/LES/LESfilters/lnInclude \
-    -I$(LIB_SRC)/transportModels \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude
-
-LIB_LIBS = \
-    -lincompressibleTurbulenceModel \
-    -lLESdeltas \
-    -lLESfilters\
-    -lfiniteVolume \
-    -lmeshTools
diff --git a/src/turbulenceModels/incompressible/LES/Smagorinsky/Smagorinsky.C b/src/turbulenceModels/incompressible/LES/Smagorinsky/Smagorinsky.C
deleted file mode 100644
index 9ac283cb587..00000000000
--- a/src/turbulenceModels/incompressible/LES/Smagorinsky/Smagorinsky.C
+++ /dev/null
@@ -1,112 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "Smagorinsky.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(Smagorinsky, 0);
-addToRunTimeSelectionTable(LESModel, Smagorinsky, dictionary);
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void Smagorinsky::updateSubGridScaleFields(const volTensorField& gradU)
-{
-    nuSgs_ = ck_*delta()*sqrt(k(gradU));
-    nuSgs_.correctBoundaryConditions();
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-Smagorinsky::Smagorinsky
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    LESModel(modelName, U, phi, transport, turbulenceModelName),
-    GenEddyVisc(U, phi, transport),
-
-    ck_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "ck",
-            coeffDict_,
-            0.094
-        )
-    )
-{
-    updateSubGridScaleFields(fvc::grad(U));
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void Smagorinsky::correct(const tmp<volTensorField>& gradU)
-{
-    GenEddyVisc::correct(gradU);
-    updateSubGridScaleFields(gradU());
-}
-
-
-bool Smagorinsky::read()
-{
-    if (GenEddyVisc::read())
-    {
-        ck_.readIfPresent(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/Smagorinsky/Smagorinsky.H b/src/turbulenceModels/incompressible/LES/Smagorinsky/Smagorinsky.H
deleted file mode 100644
index d2eea980f26..00000000000
--- a/src/turbulenceModels/incompressible/LES/Smagorinsky/Smagorinsky.H
+++ /dev/null
@@ -1,147 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::LESModels::Smagorinsky
-
-Group
-    grpIcoLESTurbulence
-
-Description
-    The Isochoric Smagorinsky Model for incompressible flows.
-
-    Algebraic eddy viscosity SGS model founded on the assumption that
-    local equilibrium prevails.
-    Thus,
-    \verbatim
-        B = 2/3*k*I - 2*nuSgs*dev(D)
-        Beff = 2/3*k*I - 2*nuEff*dev(D)
-
-    where
-
-        D = symm(grad(U));
-        k = (2*ck/ce)*delta^2*||D||^2
-        nuSgs = ck*sqrt(k)*delta
-        nuEff = nuSgs + nu
-    \endverbatim
-
-SourceFiles
-    Smagorinsky.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef Smagorinsky_H
-#define Smagorinsky_H
-
-#include "GenEddyVisc.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class Smagorinsky Declaration
-\*---------------------------------------------------------------------------*/
-
-class Smagorinsky
-:
-    public GenEddyVisc
-{
-    // Private data
-
-        dimensionedScalar ck_;
-
-
-    // Private Member Functions
-
-        //- Update sub-grid scale fields
-        void updateSubGridScaleFields(const volTensorField& gradU);
-
-        // Disallow default bitwise copy construct and assignment
-        Smagorinsky(const Smagorinsky&);
-        Smagorinsky& operator=(const Smagorinsky&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("Smagorinsky");
-
-    // Constructors
-
-        //- Construct from components
-        Smagorinsky
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~Smagorinsky()
-    {}
-
-
-    // Member Functions
-
-        //- Return SGS kinetic energy
-        //  calculated from the given velocity gradient
-        tmp<volScalarField> k(const tmp<volTensorField>& gradU) const
-        {
-            return (2.0*ck_/ce_)*sqr(delta())*magSqr(dev(symm(gradU)));
-        }
-
-        //- Return SGS kinetic energy
-        virtual tmp<volScalarField> k() const
-        {
-            return k(fvc::grad(U()));
-        }
-
-
-        //- Correct Eddy-Viscosity and related properties
-        virtual void correct(const tmp<volTensorField>& gradU);
-
-        //- Read LESProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/Smagorinsky2/Smagorinsky2.C b/src/turbulenceModels/incompressible/LES/Smagorinsky2/Smagorinsky2.C
deleted file mode 100644
index 7564c6c1e7d..00000000000
--- a/src/turbulenceModels/incompressible/LES/Smagorinsky2/Smagorinsky2.C
+++ /dev/null
@@ -1,147 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "Smagorinsky2.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(Smagorinsky2, 0);
-addToRunTimeSelectionTable(LESModel, Smagorinsky2, dictionary);
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-Smagorinsky2::Smagorinsky2
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    LESModel(modelName, U, phi, transport, turbulenceModelName),
-    Smagorinsky(U, phi, transport),
-
-    cD2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "cD2",
-            coeffDict_,
-            0.02
-        )
-    )
-{
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-// Evaluate B (from the definition of an eddy viscosity model) and
-// return it.
-
-tmp<volSymmTensorField> Smagorinsky2::B() const
-{
-    volSymmTensorField D(dev(symm(fvc::grad(U()))));
-
-    return (((2.0/3.0)*I)*k() - 2.0*nuSgs_*D - (2.0*cD2_)*delta()*(D&D));
-}
-
-
-tmp<fvVectorMatrix> Smagorinsky2::divDevReff
-(
-    volVectorField& U
-) const
-{
-    volTensorField gradU(fvc::grad(U));
-
-    volSymmTensorField aniNuEff
-    (
-        "aniNuEff",
-        I*nuEff() + cD2_*delta()*symm(gradU)
-    );
-
-    return
-    (
-      - fvm::laplacian(aniNuEff, U) - fvc::div(nuEff()*dev(T(fvc::grad(U))))
-    );
-}
-
-
-tmp<fvVectorMatrix> Smagorinsky2::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    volTensorField gradU(fvc::grad(U));
-
-    volSymmTensorField aniMuEff
-    (
-        "muEff",
-        I*(rho*nuEff()) + (cD2_*rho*delta())*symm(gradU)
-    );
-
-    return
-    (
-      - fvm::laplacian(aniMuEff, U)
-      - fvc::div(rho*nuEff()*dev(T(fvc::grad(U))))
-    );
-}
-
-
-bool Smagorinsky2::read()
-{
-    if (Smagorinsky::read())
-    {
-        cD2.readIfPresent(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/SpalartAllmaras/SpalartAllmaras.C b/src/turbulenceModels/incompressible/LES/SpalartAllmaras/SpalartAllmaras.C
deleted file mode 100644
index 9b5414d206f..00000000000
--- a/src/turbulenceModels/incompressible/LES/SpalartAllmaras/SpalartAllmaras.C
+++ /dev/null
@@ -1,463 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "SpalartAllmaras.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(SpalartAllmaras, 0);
-addToRunTimeSelectionTable(LESModel, SpalartAllmaras, dictionary);
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void SpalartAllmaras::updateSubGridScaleFields()
-{
-    nuSgs_.internalField() = fv1()*nuTilda_.internalField();
-    nuSgs_.correctBoundaryConditions();
-}
-
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-tmp<volScalarField> SpalartAllmaras::fv1() const
-{
-    const volScalarField chi3("chi3", pow3(nuTilda_/nu()));
-    return chi3/(chi3 + pow3(Cv1_));
-}
-
-
-tmp<volScalarField> SpalartAllmaras::fv2() const
-{
-    if (ashfordCorrection_)
-    {
-        return 1/pow3(scalar(1) + nuTilda_/(Cv2_*nu()));
-    }
-    else
-    {
-        const volScalarField chi("chi", nuTilda_/nu());
-        return 1.0 - chi/(1.0 + chi*fv1());
-    }
-}
-
-
-tmp<volScalarField> SpalartAllmaras::fv3() const
-{
-    if (ashfordCorrection_)
-    {
-        const volScalarField chi("chi", nuTilda_/nu());
-        const volScalarField chiByCv2(chi/Cv2_);
-
-        return
-            (scalar(1) + chi*fv1())
-           *(1/Cv2_)
-           *(3*(scalar(1) + chiByCv2) + sqr(chiByCv2))
-           /pow3(scalar(1) + chiByCv2);
-    }
-    else
-    {
-        return tmp<volScalarField>
-        (
-            new volScalarField
-            (
-                IOobject
-                (
-                    "fv3",
-                    mesh_.time().timeName(),
-                    mesh_,
-                    IOobject::NO_READ,
-                    IOobject::NO_WRITE
-                ),
-                mesh_,
-                dimensionedScalar("fv3", dimless, 1),
-                zeroGradientFvPatchScalarField::typeName
-            )
-        );
-    }
-}
-
-
-tmp<volScalarField> SpalartAllmaras::S(const volTensorField& gradU) const
-{
-    return sqrt(2.0)*mag(skew(gradU));
-}
-
-
-tmp<volScalarField> SpalartAllmaras::STilda
-(
-    const volScalarField& S,
-    const volScalarField& dTilda
-) const
-{
-    return fv3()*S + fv2()*nuTilda_/sqr(kappa_*dTilda);
-}
-
-
-tmp<volScalarField> SpalartAllmaras::r
-(
-    const volScalarField& visc,
-    const volScalarField& S,
-    const volScalarField& dTilda
-) const
-{
-    return min
-    (
-        visc
-       /(
-           max
-           (
-               S,
-               dimensionedScalar("SMALL", S.dimensions(), SMALL)
-           )
-          *sqr(kappa_*dTilda)
-         + dimensionedScalar
-           (
-               "ROOTVSMALL",
-               dimensionSet(0, 2 , -1, 0, 0),
-               ROOTVSMALL
-           )
-        ),
-        scalar(10)
-    );
-}
-
-
-tmp<volScalarField> SpalartAllmaras::fw
-(
-    const volScalarField& S,
-    const volScalarField& dTilda
-) const
-{
-    const volScalarField r(this->r(nuTilda_, S, dTilda));
-    const volScalarField g(r + Cw2_*(pow6(r) - r));
-
-    return g*pow((1 + pow6(Cw3_))/(pow6(g) + pow6(Cw3_)), 1.0/6.0);
-}
-
-
-tmp<volScalarField> SpalartAllmaras::dTilda(const volScalarField&) const
-{
-    tmp<volScalarField> tdTilda(CDES_*delta());
-    min(tdTilda().dimensionedInternalField(), tdTilda(), y_);
-    return tdTilda;
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-SpalartAllmaras::SpalartAllmaras
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    DESModel(modelName, U, phi, transport, turbulenceModelName),
-
-    sigmaNut_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmaNut",
-            coeffDict_,
-            0.66666
-        )
-    ),
-    kappa_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "kappa",
-            coeffDict_,
-            0.41
-        )
-    ),
-    Cb1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cb1",
-            coeffDict_,
-            0.1355
-        )
-    ),
-    Cb2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cb2",
-            coeffDict_,
-            0.622
-        )
-    ),
-    Cv1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cv1",
-            coeffDict_,
-            7.1
-        )
-    ),
-    Cv2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cv2",
-            coeffDict_,
-            5.0
-        )
-    ),
-    CDES_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "CDES",
-            coeffDict_,
-            0.65
-        )
-    ),
-    ck_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "ck",
-            coeffDict_,
-            0.07
-        )
-    ),
-    Cw1_(Cb1_/sqr(kappa_) + (1.0 + Cb2_)/sigmaNut_),
-    Cw2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cw2",
-            coeffDict_,
-            0.3
-        )
-    ),
-    Cw3_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cw3",
-            coeffDict_,
-            2.0
-        )
-    ),
-
-    ashfordCorrection_(coeffDict_.lookupOrDefault("ashfordCorrection", true)),
-
-    y_(wallDist::New(mesh_).y()),
-
-    nuTilda_
-    (
-        IOobject
-        (
-            "nuTilda",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-
-    nuSgs_
-    (
-        IOobject
-        (
-            "nuSgs",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    )
-{
-    updateSubGridScaleFields();
-
-    if (ashfordCorrection_)
-    {
-        Info<< "    Employing Ashford correction" << endl;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void SpalartAllmaras::correct(const tmp<volTensorField>& gradU)
-{
-    LESModel::correct(gradU);
-
-    const volScalarField S(this->S(gradU));
-    const volScalarField dTilda(this->dTilda(S));
-    const volScalarField STilda(this->STilda(S, dTilda));
-
-    tmp<fvScalarMatrix> nuTildaEqn
-    (
-        fvm::ddt(nuTilda_)
-      + fvm::div(phi(), nuTilda_)
-      - fvm::laplacian
-        (
-            (nuTilda_ + nu())/sigmaNut_,
-            nuTilda_,
-            "laplacian(DnuTildaEff,nuTilda)"
-        )
-      - Cb2_/sigmaNut_*magSqr(fvc::grad(nuTilda_))
-     ==
-        Cb1_*STilda*nuTilda_
-      - fvm::Sp(Cw1_*fw(STilda, dTilda)*nuTilda_/sqr(dTilda), nuTilda_)
-    );
-
-    nuTildaEqn().relax();
-    nuTildaEqn().solve();
-
-    bound(nuTilda_, dimensionedScalar("zero", nuTilda_.dimensions(), 0.0));
-    nuTilda_.correctBoundaryConditions();
-
-    updateSubGridScaleFields();
-}
-
-
-tmp<volScalarField> SpalartAllmaras::k() const
-{
-    return sqr(nuSgs()/ck_/dTilda(S(fvc::grad(U()))));
-}
-
-
-tmp<volScalarField> SpalartAllmaras::epsilon() const
-{
-    return 2*nuEff()*magSqr(symm(fvc::grad(U())));
-}
-
-
-tmp<volSymmTensorField> SpalartAllmaras::B() const
-{
-    return ((2.0/3.0)*I)*k() - nuSgs()*twoSymm(fvc::grad(U()));
-}
-
-
-tmp<volSymmTensorField> SpalartAllmaras::devReff() const
-{
-    return -nuEff()*dev(twoSymm(fvc::grad(U())));
-}
-
-
-tmp<fvVectorMatrix> SpalartAllmaras::divDevReff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(nuEff(), U)
-      - fvc::div(nuEff()*dev(T(fvc::grad(U))))
-    );
-}
-
-
-tmp<fvVectorMatrix> SpalartAllmaras::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    volScalarField muEff("muEff", rho*nuEff());
-
-    return
-    (
-      - fvm::laplacian(muEff, U)
-      - fvc::div(muEff*dev(T(fvc::grad(U))))
-    );
-}
-
-
-bool SpalartAllmaras::read()
-{
-    if (LESModel::read())
-    {
-        sigmaNut_.readIfPresent(coeffDict());
-        kappa_.readIfPresent(*this);
-
-        Cb1_.readIfPresent(coeffDict());
-        Cb2_.readIfPresent(coeffDict());
-        Cv1_.readIfPresent(coeffDict());
-        Cv2_.readIfPresent(coeffDict());
-        CDES_.readIfPresent(coeffDict());
-        ck_.readIfPresent(coeffDict());
-        Cw1_ = Cb1_/sqr(kappa_) + (1.0 + Cb2_)/sigmaNut_;
-        Cw2_.readIfPresent(coeffDict());
-        Cw3_.readIfPresent(coeffDict());
-
-        ashfordCorrection_.readIfPresent("ashfordCorrection", coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-tmp<volScalarField> SpalartAllmaras::LESRegion() const
-{
-    tmp<volScalarField> tLESRegion
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "DES::LESRegion",
-                mesh_.time().timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            neg(dTilda(S(fvc::grad(U_))) - y_)
-        )
-    );
-
-    return tLESRegion;
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/dynLagrangian/dynLagrangian.C b/src/turbulenceModels/incompressible/LES/dynLagrangian/dynLagrangian.C
deleted file mode 100644
index 0112352d076..00000000000
--- a/src/turbulenceModels/incompressible/LES/dynLagrangian/dynLagrangian.C
+++ /dev/null
@@ -1,197 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "dynLagrangian.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(dynLagrangian, 0);
-addToRunTimeSelectionTable(LESModel, dynLagrangian, dictionary);
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void dynLagrangian::updateSubGridScaleFields
-(
-    const tmp<volTensorField>& gradU
-)
-{
-    nuSgs_ = (flm_/fmm_)*sqr(delta())*mag(dev(symm(gradU)));
-    nuSgs_.correctBoundaryConditions();
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-dynLagrangian::dynLagrangian
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    LESModel(modelName, U, phi, transport, turbulenceModelName),
-    GenEddyVisc(U, phi, transport),
-
-    flm_
-    (
-        IOobject
-        (
-            "flm",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-    fmm_
-    (
-        IOobject
-        (
-            "fmm",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-    theta_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "theta",
-            coeffDict_,
-            1.5
-        )
-    ),
-    simpleFilter_(U.mesh()),
-    filterPtr_(LESfilter::New(U.mesh(), coeffDict())),
-    filter_(filterPtr_()),
-    flm0_("flm0", flm_.dimensions(), 0.0),
-    fmm0_("fmm0", fmm_.dimensions(), VSMALL)
-{
-    updateSubGridScaleFields(fvc::grad(U));
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void dynLagrangian::correct(const tmp<volTensorField>& gradU)
-{
-    LESModel::correct(gradU);
-
-    volSymmTensorField S(dev(symm(gradU())));
-
-    volScalarField magS(mag(S));
-
-    volVectorField Uf(filter_(U()));
-
-    volSymmTensorField Sf(dev(symm(fvc::grad(Uf))));
-
-    volScalarField magSf(mag(Sf));
-
-    volSymmTensorField L(dev(filter_(sqr(U())) - (sqr(filter_(U())))));
-
-    volSymmTensorField M(2.0*sqr(delta())*(filter_(magS*S) - 4.0*magSf*Sf));
-
-    volScalarField invT
-    (
-        (1.0/(theta_.value()*delta()))*pow(flm_*fmm_, 1.0/8.0)
-    );
-
-    volScalarField LM(L && M);
-
-    fvScalarMatrix flmEqn
-    (
-        fvm::ddt(flm_)
-      + fvm::div(phi(), flm_)
-     ==
-        invT*LM
-      - fvm::Sp(invT, flm_)
-    );
-
-    flmEqn.relax();
-    flmEqn.solve();
-
-    bound(flm_, flm0_);
-
-    volScalarField MM(M && M);
-
-    fvScalarMatrix fmmEqn
-    (
-        fvm::ddt(fmm_)
-      + fvm::div(phi(), fmm_)
-     ==
-        invT*MM
-      - fvm::Sp(invT, fmm_)
-    );
-
-    fmmEqn.relax();
-    fmmEqn.solve();
-
-    bound(fmm_, fmm0_);
-
-    updateSubGridScaleFields(gradU);
-}
-
-
-bool dynLagrangian::read()
-{
-    if (GenEddyVisc::read())
-    {
-        filter_.read(coeffDict());
-        theta_.readIfPresent(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/dynLagrangian/dynLagrangian.H b/src/turbulenceModels/incompressible/LES/dynLagrangian/dynLagrangian.H
deleted file mode 100644
index 3500c6880aa..00000000000
--- a/src/turbulenceModels/incompressible/LES/dynLagrangian/dynLagrangian.H
+++ /dev/null
@@ -1,196 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::LESModels::dynLagrangian
-
-Group
-    grpIcoLESTurbulence
-
-Description
-    Dynamic eddy-viscosity model with Lagrangian averaging for incompressible
-    flow
-
-    \verbatim
-        B = 2/3*k*I - 2*nuSgs*dev(D)
-        Beff = 2/3*k*I - 2*nuEff*dev(D)
-
-    where
-
-        D = symm(grad(U))
-        nuSgs = (flm/fmm)*delta^2*sqrt(2)*|D|
-        nuEff = nuSgs + nu
-
-        Two relaxation equations are used to evaluate flm and fmm:
-
-        d/dt(flm) + div(U*flm)
-        =
-        (1/T)*(L && M - flm)
-
-        d/dt(fmm) + div(U*fmm)
-        =
-        (1/T)*(M && M - fmm)
-
-    where
-
-        L = F(U.U) - F(U).F(U)
-        M = 2.0 delta^2 (F(|D|.D) - 4 F(|D|).F(D))
-        T = 1.5*delta*(flm.fmm)^(-1.0/8.0)
-
-    \endverbatim
-
-    Reference:
-    \verbatim
-        "A Lagrangian dynamic subgrid-scale model of turbulence"
-        Charles Meneveau,
-        Thomas Lund,
-        William Cabot,
-        J. Fluid Mech (1996), vol 319, pp. 353-385
-    \endverbatim
-
-SourceFiles
-    dynLagrangian.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef dynLagrangian_H
-#define dynLagrangian_H
-
-#include "GenEddyVisc.H"
-#include "simpleFilter.H"
-#include "LESfilter.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-/*---------------------------------------------------------------------------*\
-                       Class dynLagrangian Declaration
-\*---------------------------------------------------------------------------*/
-
-class dynLagrangian
-:
-    public GenEddyVisc
-{
-    // Private data
-
-        volScalarField flm_;
-        volScalarField fmm_;
-
-        dimensionedScalar theta_;
-
-        simpleFilter simpleFilter_;
-        autoPtr<LESfilter> filterPtr_;
-        LESfilter& filter_;
-
-        dimensionedScalar flm0_;
-        dimensionedScalar fmm0_;
-
-
-    // Private Member Functions
-
-        //- Update sub-grid scale fields
-        void updateSubGridScaleFields
-        (
-            const tmp<volTensorField>& gradU
-        );
-
-        // Disallow default bitwise copy construct and assignment
-        dynLagrangian(const dynLagrangian&);
-        dynLagrangian& operator=(const dynLagrangian&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("dynLagrangian");
-
-    // Constructors
-
-        //- Construct from components
-        dynLagrangian
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~dynLagrangian()
-    {}
-
-
-    // Member Functions
-
-        //- Return SGS kinetic energy
-        tmp<volScalarField> k(const tmp<volTensorField>& gradU) const
-        {
-            return
-                pow(2.0*flm_/fmm_, 2.0/3.0)
-              * pow(ce_, -2.0/3.0)
-              * sqr(delta())*magSqr(dev(symm(gradU)));
-        }
-
-        //- Return SGS kinetic energy
-        virtual tmp<volScalarField> k() const
-        {
-            return k(fvc::grad(U()));
-        }
-
-        //- Return the effective diffusivity for k
-        tmp<volScalarField> DkEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DkEff", nuSgs_ + nu())
-            );
-        }
-
-        //- Correct Eddy-Viscosity and related properties
-        virtual void correct(const tmp<volTensorField>& gradU);
-
-
-        //- Read LESProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/dynOneEqEddy/dynOneEqEddy.C b/src/turbulenceModels/incompressible/LES/dynOneEqEddy/dynOneEqEddy.C
deleted file mode 100644
index 269a204c554..00000000000
--- a/src/turbulenceModels/incompressible/LES/dynOneEqEddy/dynOneEqEddy.C
+++ /dev/null
@@ -1,196 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "dynOneEqEddy.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(dynOneEqEddy, 0);
-addToRunTimeSelectionTable(LESModel, dynOneEqEddy, dictionary);
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void dynOneEqEddy::updateSubGridScaleFields
-(
-    const volSymmTensorField& D,
-    const volScalarField& KK
-)
-{
-    nuSgs_ = ck(D, KK)*sqrt(k_)*delta();
-    nuSgs_.correctBoundaryConditions();
-}
-
-
-volScalarField dynOneEqEddy::ck
-(
-    const volSymmTensorField& D,
-    const volScalarField& KK
-) const
-{
-    const volSymmTensorField LL
-    (
-        simpleFilter_(dev(filter_(sqr(U())) - (sqr(filter_(U())))))
-    );
-
-    const volSymmTensorField MM
-    (
-        simpleFilter_(-2.0*delta()*sqrt(KK)*filter_(D))
-    );
-
-    const volScalarField ck
-    (
-        simpleFilter_(0.5*(LL && MM))
-       /(
-            simpleFilter_(magSqr(MM))
-          + dimensionedScalar("small", sqr(MM.dimensions()), VSMALL)
-        )
-    );
-
-    tmp<volScalarField> tfld = 0.5*(mag(ck) + ck);
-    return tfld();
-}
-
-
-volScalarField dynOneEqEddy::ce
-(
-    const volSymmTensorField& D,
-    const volScalarField& KK
-) const
-{
-    const volScalarField ce
-    (
-        simpleFilter_(nuEff()*(filter_(magSqr(D)) - magSqr(filter_(D))))
-       /simpleFilter_(pow(KK, 1.5)/(2.0*delta()))
-    );
-
-    tmp<volScalarField> tfld = 0.5*(mag(ce) + ce);
-    return tfld();
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-dynOneEqEddy::dynOneEqEddy
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    LESModel(modelName, U, phi, transport, turbulenceModelName),
-    GenEddyVisc(U, phi, transport),
-
-    k_
-    (
-        IOobject
-        (
-            "k",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-
-    simpleFilter_(U.mesh()),
-    filterPtr_(LESfilter::New(U.mesh(), coeffDict())),
-    filter_(filterPtr_())
-{
-    bound(k_, kMin_);
-
-    const volScalarField KK(0.5*(filter_(magSqr(U)) - magSqr(filter_(U))));
-    updateSubGridScaleFields(symm(fvc::grad(U)), KK);
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void dynOneEqEddy::correct(const tmp<volTensorField>& gradU)
-{
-    LESModel::correct(gradU);
-
-    const volSymmTensorField D(symm(gradU));
-
-    volScalarField KK(0.5*(filter_(magSqr(U())) - magSqr(filter_(U()))));
-    KK.max(dimensionedScalar("small", KK.dimensions(), SMALL));
-
-    const volScalarField P(2.0*nuSgs_*magSqr(D));
-
-    tmp<fvScalarMatrix> kEqn
-    (
-       fvm::ddt(k_)
-     + fvm::div(phi(), k_)
-     - fvm::laplacian(DkEff(), k_)
-    ==
-       P
-     - fvm::Sp(ce(D, KK)*sqrt(k_)/delta(), k_)
-    );
-
-    kEqn().relax();
-    kEqn().solve();
-
-    bound(k_, kMin_);
-
-    updateSubGridScaleFields(D, KK);
-}
-
-
-bool dynOneEqEddy::read()
-{
-    if (GenEddyVisc::read())
-    {
-        filter_.read(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/dynOneEqEddy/dynOneEqEddy.H b/src/turbulenceModels/incompressible/LES/dynOneEqEddy/dynOneEqEddy.H
deleted file mode 100644
index 1a084a6ce18..00000000000
--- a/src/turbulenceModels/incompressible/LES/dynOneEqEddy/dynOneEqEddy.H
+++ /dev/null
@@ -1,184 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::LESModels::dynOneEqEddy
-
-Group
-    grpIcoLESTurbulence
-
-Description
-    Localised Dynamic One Equation Eddy Viscosity Model for incompressible
-    flows
-
-    Eddy viscosity SGS model using a modeled balance equation to simulate
-    the behaviour of k, hence
-    \verbatim
-        d/dt(k) + div(U*k) - div(nuSgs*grad(k))
-        =
-        -B*L - ce*rho*k^3/2/delta
-    and
-        B = 2/3*k*I - 2*nuSgs*dev(D)
-        Beff = 2/3*k*I - 2*nuEff*dev(D)
-    where
-        nuSgs = cD*delta^2*||D||
-        nuEff = nuSgs + nu
-    \endverbatim
-
-    A dynamic procedure is here applied to evaluate ck and ce
-    \verbatim
-        ck=<L.M>/<M.M>
-    and
-        ce=<e*m>/<m*m>
-    where
-       K = 0.5*(F(U.U) - F(U).F(U))
-       L = (F(U*U) - F(U)*F(U) - 0.33*K*I)
-       M = delta*(F(sqrt(k)*D) - 2*sqrt(K + filter(k))*F(D))
-       m = pow(K + F(k), 3.0/2.0)/(2*delta) - F(pow(k, 3.0/2.0))/delta
-       e = 2*delta*ck*(F(sqrt(k)*(D && D)) - 2*sqrt(K + F(k))*(F(D) && F(D)))/
-    \endverbatim
-
-SourceFiles
-    dynOneEqEddy.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef dynOneEqEddy_H
-#define dynOneEqEddy_H
-
-#include "GenEddyVisc.H"
-#include "simpleFilter.H"
-#include "LESfilter.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class dynOneEqEddy Declaration
-\*---------------------------------------------------------------------------*/
-
-class dynOneEqEddy
-:
-    public GenEddyVisc
-{
-    // Private data
-
-        volScalarField k_;
-
-        simpleFilter simpleFilter_;
-        autoPtr<LESfilter> filterPtr_;
-        LESfilter& filter_;
-
-
-    // Private Member Functions
-
-        //- Update sub-grid scale fields
-        void updateSubGridScaleFields
-        (
-            const volSymmTensorField& D,
-            const volScalarField& KK
-        );
-
-        //- Calculate ck, ce by filtering the velocity field U.
-        volScalarField ck
-        (
-            const volSymmTensorField&,
-            const volScalarField&
-        ) const;
-
-        volScalarField ce
-        (
-            const volSymmTensorField&,
-            const volScalarField&
-        ) const;
-
-        // Disallow default bitwise copy construct and assignment
-        dynOneEqEddy(const dynOneEqEddy&);
-        dynOneEqEddy& operator=(const dynOneEqEddy&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("dynOneEqEddy");
-
-    // Constructors
-
-        //- Construct from components
-        dynOneEqEddy
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~dynOneEqEddy()
-    {}
-
-
-    // Member Functions
-
-        //- Return SGS kinetic energy
-        virtual tmp<volScalarField> k() const
-        {
-            return k_;
-        }
-
-        //- Return the effective diffusivity for k
-        tmp<volScalarField> DkEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DkEff", nuSgs_ + nu())
-            );
-        }
-
-        //- Correct Eddy-Viscosity and related properties
-        virtual void correct(const tmp<volTensorField>& gradU);
-
-        //- Read LESProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/homogeneousDynOneEqEddy/homogeneousDynOneEqEddy.C b/src/turbulenceModels/incompressible/LES/homogeneousDynOneEqEddy/homogeneousDynOneEqEddy.C
deleted file mode 100644
index 61fc5b55043..00000000000
--- a/src/turbulenceModels/incompressible/LES/homogeneousDynOneEqEddy/homogeneousDynOneEqEddy.C
+++ /dev/null
@@ -1,209 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "homogeneousDynOneEqEddy.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(homogeneousDynOneEqEddy, 0);
-addToRunTimeSelectionTable(LESModel, homogeneousDynOneEqEddy, dictionary);
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void homogeneousDynOneEqEddy::updateSubGridScaleFields
-(
-    const volSymmTensorField& D
-)
-{
-    nuSgs_ = ck(D)*sqrt(k_)*delta();
-    nuSgs_.correctBoundaryConditions();
-}
-
-
-dimensionedScalar homogeneousDynOneEqEddy::ck
-(
-    const volSymmTensorField& D
-) const
-{
-    tmp<volScalarField> KK = 0.5*(filter_(magSqr(U())) - magSqr(filter_(U())));
-
-    const volSymmTensorField MM
-    (
-        delta()*(filter_(sqrt(k_)*D) - 2*sqrt(KK + filter_(k_))*filter_(D))
-    );
-
-    dimensionedScalar MMMM = average(magSqr(MM));
-
-    if (MMMM.value() > VSMALL)
-    {
-        tmp<volSymmTensorField> LL = dev(filter_(sqr(U())) - sqr(filter_(U())));
-
-        return average(LL && MM)/MMMM;
-    }
-    else
-    {
-        return 0.0;
-    }
-}
-
-
-dimensionedScalar homogeneousDynOneEqEddy::ce
-(
-    const volSymmTensorField& D
-) const
-{
-    const volScalarField KK
-    (
-        0.5*(filter_(magSqr(U())) - magSqr(filter_(U())))
-    );
-
-    const volScalarField mm
-    (
-        pow(KK + filter_(k_), 1.5)/(2*delta()) - filter_(pow(k_, 1.5))/delta()
-    );
-
-    dimensionedScalar mmmm = average(magSqr(mm));
-
-    if (mmmm.value() > VSMALL)
-    {
-        tmp<volScalarField> ee =
-        (
-            2*delta()*ck(D)
-          * (
-                filter_(sqrt(k_)*magSqr(D))
-              - 2*sqrt(KK + filter_(k_))*magSqr(filter_(D))
-            )
-        );
-
-        return average(ee*mm)/mmmm;
-    }
-    else
-    {
-        return 0.0;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-homogeneousDynOneEqEddy::homogeneousDynOneEqEddy
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    LESModel(modelName, U, phi, transport, turbulenceModelName),
-    GenEddyVisc(U, phi, transport),
-
-    k_
-    (
-        IOobject
-        (
-            "k",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-
-    filterPtr_(LESfilter::New(U.mesh(), coeffDict())),
-    filter_(filterPtr_())
-{
-    bound(k_, kMin_);
-
-    updateSubGridScaleFields(symm(fvc::grad(U)));
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void homogeneousDynOneEqEddy::correct(const tmp<volTensorField>& tgradU)
-{
-    const volTensorField& gradU = tgradU();
-
-    GenEddyVisc::correct(gradU);
-
-    const volSymmTensorField D(symm(gradU));
-
-    const volScalarField P(2.0*nuSgs_*magSqr(D));
-
-    tmp<fvScalarMatrix> kEqn
-    (
-       fvm::ddt(k_)
-     + fvm::div(phi(), k_)
-     - fvm::laplacian(DkEff(), k_)
-    ==
-       P
-     - fvm::Sp(ce(D)*sqrt(k_)/delta(), k_)
-    );
-
-    kEqn().relax();
-    kEqn().solve();
-
-    bound(k_, kMin_);
-
-    updateSubGridScaleFields(D);
-}
-
-
-bool homogeneousDynOneEqEddy::read()
-{
-    if (GenEddyVisc::read())
-    {
-        filter_.read(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/homogeneousDynOneEqEddy/homogeneousDynOneEqEddy.H b/src/turbulenceModels/incompressible/LES/homogeneousDynOneEqEddy/homogeneousDynOneEqEddy.H
deleted file mode 100644
index ea196dbe10b..00000000000
--- a/src/turbulenceModels/incompressible/LES/homogeneousDynOneEqEddy/homogeneousDynOneEqEddy.H
+++ /dev/null
@@ -1,162 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::LESModels::homogeneousDynOneEqEddy
-
-Group
-    grpIcoLESTurbulence
-
-Description
-    One Equation Eddy Viscosity Model for incompressible flows.
-
-    Eddy viscosity SGS model using a modeled balance equation to simulate
-    the behaviour of k.
-
-    Thus
-    \verbatim
-        d/dt(k) + div(U*k) - div(nuSgs*grad(k))
-        =
-        -B*L - ce*k^3/2/delta
-
-    and
-
-        B = 2/3*k*I - 2*nuSgs*dev(D)
-        Beff = 2/3*k*I - 2*nuEff*dev(D)
-
-    where
-
-        D = symm(grad(U));
-        nuSgs = ck*sqrt(k)*delta
-        nuEff = nuSgs + nu
-    \endverbatim
-
-SourceFiles
-    homogeneousDynOneEqEddy.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef homogeneousDynOneEqEddy_H
-#define homogeneousDynOneEqEddy_H
-
-#include "GenEddyVisc.H"
-#include "LESfilter.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class homogeneousDynOneEqEddy Declaration
-\*---------------------------------------------------------------------------*/
-
-class homogeneousDynOneEqEddy
-:
-    public GenEddyVisc
-{
-    // Private data
-
-        volScalarField k_;
-
-        autoPtr<LESfilter> filterPtr_;
-        LESfilter& filter_;
-
-
-    // Private Member Functions
-
-        //- Update sub-grid scale fields
-        void updateSubGridScaleFields(const volSymmTensorField& D);
-
-        //- Calculate ck, ce by filtering the velocity field U.
-        dimensionedScalar ck(const volSymmTensorField& D) const;
-        dimensionedScalar ce(const volSymmTensorField& D) const;
-
-        // Disallow default bitwise copy construct and assignment
-        homogeneousDynOneEqEddy(const homogeneousDynOneEqEddy&);
-        homogeneousDynOneEqEddy& operator=(const homogeneousDynOneEqEddy&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("homogeneousDynOneEqEddy");
-
-    // Constructors
-
-        //- Construct from components
-        homogeneousDynOneEqEddy
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~homogeneousDynOneEqEddy()
-    {}
-
-
-    // Member Functions
-
-        //- Return SGS kinetic energy
-        virtual tmp<volScalarField> k() const
-        {
-            return k_;
-        }
-
-        //- Return the effective diffusivity for k
-        tmp<volScalarField> DkEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DkEff", nuSgs_ + nu())
-            );
-        }
-
-        //- Correct Eddy-Viscosity and related properties
-        virtual void correct(const tmp<volTensorField>& gradU);
-
-        //- Read LESProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/homogeneousDynSmagorinsky/homogeneousDynSmagorinsky.C b/src/turbulenceModels/incompressible/LES/homogeneousDynSmagorinsky/homogeneousDynSmagorinsky.C
deleted file mode 100644
index 98945861932..00000000000
--- a/src/turbulenceModels/incompressible/LES/homogeneousDynSmagorinsky/homogeneousDynSmagorinsky.C
+++ /dev/null
@@ -1,181 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "homogeneousDynSmagorinsky.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(homogeneousDynSmagorinsky, 0);
-addToRunTimeSelectionTable(LESModel, homogeneousDynSmagorinsky, dictionary);
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void homogeneousDynSmagorinsky::updateSubGridScaleFields
-(
-    const volSymmTensorField& D
-)
-{
-    nuSgs_ = cD(D)*sqr(delta())*sqrt(magSqr(D));
-    nuSgs_.correctBoundaryConditions();
-}
-
-
-dimensionedScalar homogeneousDynSmagorinsky::cD
-(
-    const volSymmTensorField& D
-) const
-{
-    const volSymmTensorField MM
-    (
-        sqr(delta())*(filter_(mag(D)*(D)) - 4*mag(filter_(D))*filter_(D))
-    );
-
-    dimensionedScalar MMMM = average(magSqr(MM));
-
-    if (MMMM.value() > VSMALL)
-    {
-        tmp<volSymmTensorField> LL =
-            dev(filter_(sqr(U())) - (sqr(filter_(U()))));
-
-        return 0.5*average(LL && MM)/MMMM;
-    }
-    else
-    {
-        return 0.0;
-    }
-}
-
-
-dimensionedScalar homogeneousDynSmagorinsky::cI
-(
-    const volSymmTensorField& D
-) const
-{
-    const volScalarField mm
-    (
-        sqr(delta())*(4*sqr(mag(filter_(D))) - filter_(sqr(mag(D))))
-    );
-
-    dimensionedScalar mmmm = average(magSqr(mm));
-
-    if (mmmm.value() > VSMALL)
-    {
-        tmp<volScalarField> KK =
-            0.5*(filter_(magSqr(U())) - magSqr(filter_(U())));
-
-        return average(KK*mm)/mmmm;
-    }
-    else
-    {
-        return 0.0;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-homogeneousDynSmagorinsky::homogeneousDynSmagorinsky
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    LESModel(modelName, U, phi, transport, turbulenceModelName),
-    GenEddyVisc(U, phi, transport),
-
-    k_
-    (
-        IOobject
-        (
-            "k",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-
-    filterPtr_(LESfilter::New(U.mesh(), coeffDict())),
-    filter_(filterPtr_())
-{
-    bound(k_,  kMin_);
-
-    updateSubGridScaleFields(dev(symm(fvc::grad(U))));
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void homogeneousDynSmagorinsky::correct(const tmp<volTensorField>& gradU)
-{
-    LESModel::correct(gradU);
-
-    const volSymmTensorField D(dev(symm(gradU)));
-
-    k_ = cI(D)*sqr(delta())*magSqr(D);
-    bound(k_,  kMin_);
-
-    updateSubGridScaleFields(D);
-}
-
-
-bool homogeneousDynSmagorinsky::read()
-{
-    if (GenEddyVisc::read())
-    {
-        filter_.read(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/homogeneousDynSmagorinsky/homogeneousDynSmagorinsky.H b/src/turbulenceModels/incompressible/LES/homogeneousDynSmagorinsky/homogeneousDynSmagorinsky.H
deleted file mode 100644
index e2ef1b362b6..00000000000
--- a/src/turbulenceModels/incompressible/LES/homogeneousDynSmagorinsky/homogeneousDynSmagorinsky.H
+++ /dev/null
@@ -1,166 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::LESModels::homogeneousDynSmagorinsky
-
-Group
-    grpIcoLESTurbulence
-
-Description
-    The Isochoric homogeneous dynamic Smagorinsky Model for
-    incompressible flows.
-
-    Algebraic eddy viscosity SGS model founded on the assumption that
-    local equilibrium prevails.
-    Thus,
-    \verbatim
-        B = 2/3*k*I - 2*nuSgs*dev(D)
-        Beff = 2/3*k*I - 2*nuEff*dev(D)
-
-    where
-
-        k = cI*delta^2*||D||^2
-        nuSgs = cD*delta^2*||D||
-        nuEff = nuSgs + nu
-
-    In the dynamic version of the choric  Smagorinsky model
-    the coefficients cI and cD are calculated during the simulation,
-
-        cI=<K*m>/<m*m>
-
-    and
-
-        cD=1/2*<L.M>/<M.M>,
-
-    where
-
-        K = 0.5*(F(U.U) - F(U).F(U))
-        m = delta^2*(4*||F(D)||^2 - F(||D||^2))
-        L = dev(F(U*U) - F(U)*F(U))
-        M = delta^2*(F(||D||*dev(D)) - 4*||F(D)||*F(dev(D)))
-
-    The averaging <...> is over the whole domain, i.e. homogeneous turbulence
-    is assumed
-    \endverbatim
-
-SourceFiles
-    homogeneousDynSmagorinsky.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef homogeneousDynSmagorinsky_H
-#define homogeneousDynSmagorinsky_H
-
-#include "Smagorinsky.H"
-#include "LESfilter.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class homogeneousDynSmagorinsky Declaration
-\*---------------------------------------------------------------------------*/
-
-class homogeneousDynSmagorinsky
-:
-    public GenEddyVisc
-{
-    // Private data
-
-        volScalarField k_;
-
-        autoPtr<LESfilter> filterPtr_;
-        LESfilter& filter_;
-
-
-    // Private Member Functions
-
-        //- Update sub-grid scale fields
-        void updateSubGridScaleFields(const volSymmTensorField& D);
-
-        //- Calculate coefficients cD, cI from filtering velocity field
-        dimensionedScalar cD(const volSymmTensorField& D) const;
-        dimensionedScalar cI(const volSymmTensorField& D) const;
-
-        // Disallow default bitwise copy construct and assignment
-        homogeneousDynSmagorinsky(const homogeneousDynSmagorinsky&);
-        homogeneousDynSmagorinsky& operator=(const homogeneousDynSmagorinsky&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("homogeneousDynSmagorinsky");
-
-    // Constructors
-
-        //- Construct from components
-        homogeneousDynSmagorinsky
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~homogeneousDynSmagorinsky()
-    {}
-
-
-    // Member Functions
-
-        //- Return SGS kinetic energy
-        virtual tmp<volScalarField> k() const
-        {
-            return k_;
-        }
-
-        //- Correct Eddy-Viscosity and related properties
-        virtual void correct(const tmp<volTensorField>& gradU);
-
-        //- Read LESProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/incompressibleLESdelta/incompressibleLESdelta.C b/src/turbulenceModels/incompressible/LES/incompressibleLESdelta/incompressibleLESdelta.C
deleted file mode 100644
index daa17b64064..00000000000
--- a/src/turbulenceModels/incompressible/LES/incompressibleLESdelta/incompressibleLESdelta.C
+++ /dev/null
@@ -1,66 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "incompressibleLESdelta.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineRunTimeSelectionTable(LESdelta, dictionary);
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-LESdelta::LESdelta(const word& name, const fvMesh& mesh)
-:
-    foamLESdelta(name, mesh)
-{}
-
-
-// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
-
-Foam::autoPtr<foamLESdelta> LESdelta::New
-(
-    const word& name,
-    const fvMesh& mesh,
-    const dictionary& dict
-)
-{
-    return foamLESdelta::New(name, mesh, dict, *dictionaryConstructorTablePtr_);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/incompressibleLESdelta/incompressibleLESdelta.H b/src/turbulenceModels/incompressible/LES/incompressibleLESdelta/incompressibleLESdelta.H
deleted file mode 100644
index ca1d5240f3d..00000000000
--- a/src/turbulenceModels/incompressible/LES/incompressibleLESdelta/incompressibleLESdelta.H
+++ /dev/null
@@ -1,109 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::LESdelta
-
-Description
-    Abstract base class for incompressible LES deltas
-
-SourceFiles
-    incompressibleLESdelta.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef incompressibleLESdelta_H
-#define incompressibleLESdelta_H
-
-#include "LESdelta.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-// To avoid macro problems typedef scoped class
-typedef Foam::LESdelta foamLESdelta;
-
-namespace incompressible
-{
-
-/*---------------------------------------------------------------------------*\
-                          Class LESdelta Declaration
-\*---------------------------------------------------------------------------*/
-
-class LESdelta
-:
-    public foamLESdelta
-{
-
-public:
-
-    // Declare run-time constructor selection table
-
-        declareRunTimeSelectionTable
-        (
-            autoPtr,
-            foamLESdelta,
-            dictionary,
-            (
-                const word& name,
-                const fvMesh& mesh,
-                const dictionary& LESdeltaDict
-            ),
-            (name, mesh, LESdeltaDict)
-        );
-
-    // Constructors
-
-        //- Construct from name and mesh
-        LESdelta(const word& name, const fvMesh& mesh);
-
-
-    // Selectors
-
-        //- Return a reference to the selected LES delta
-        static autoPtr<foamLESdelta> New
-        (
-            const word& name,
-            const fvMesh& mesh,
-            const dictionary& dict
-        );
-
-
-    //- Destructor
-    virtual ~LESdelta()
-    {}
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C b/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C
deleted file mode 100644
index ad7daf84ae2..00000000000
--- a/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C
+++ /dev/null
@@ -1,492 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "kOmegaSSTSAS.H"
-#include "addToRunTimeSelectionTable.H"
-#include "wallDist.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(kOmegaSSTSAS, 0);
-addToRunTimeSelectionTable(LESModel, kOmegaSSTSAS, dictionary);
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-void kOmegaSSTSAS::updateSubGridScaleFields(const volScalarField& S2)
-{
-    nuSgs_ == a1_*k_/max(a1_*omega_, F2()*sqrt(S2));
-    nuSgs_.correctBoundaryConditions();
-}
-
-
-tmp<volScalarField> kOmegaSSTSAS::F1(const volScalarField& CDkOmega) const
-{
-    tmp<volScalarField> CDkOmegaPlus = max
-    (
-        CDkOmega,
-        dimensionedScalar("1.0e-10", dimless/sqr(dimTime), 1.0e-10)
-    );
-
-    tmp<volScalarField> arg1 = min
-    (
-        min
-        (
-            max
-            (
-                (scalar(1)/betaStar_)*sqrt(k_)/(omega_*y_),
-                scalar(500)*nu()/(sqr(y_)*omega_)
-            ),
-            (4*alphaOmega2_)*k_/(CDkOmegaPlus*sqr(y_))
-        ),
-        scalar(10)
-    );
-
-    return tanh(pow4(arg1));
-}
-
-
-tmp<volScalarField> kOmegaSSTSAS::F2() const
-{
-    tmp<volScalarField> arg2 = min
-    (
-        max
-        (
-            (scalar(2)/betaStar_)*sqrt(k_)/(omega_*y_),
-            scalar(500)*nu()/(sqr(y_)*omega_)
-        ),
-        scalar(100)
-    );
-
-    return tanh(sqr(arg2));
-}
-
-
-tmp<volScalarField> kOmegaSSTSAS::Lvk2
-(
-    const volScalarField& S2
-) const
-{
-    return max
-    (
-        kappa_*sqrt(S2)
-       /(
-            mag(fvc::laplacian(U()))
-          + dimensionedScalar
-            (
-                "ROOTVSMALL",
-                dimensionSet(0, -1 , -1, 0, 0, 0, 0),
-                ROOTVSMALL
-            )
-        ),
-        Cs_*delta()
-    );
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-kOmegaSSTSAS::kOmegaSSTSAS
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    LESModel(modelName, U, phi, transport, turbulenceModelName),
-
-    alphaK1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "alphaK1",
-            coeffDict_,
-            0.85034
-        )
-    ),
-    alphaK2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "alphaK2",
-            coeffDict_,
-            1.0
-        )
-    ),
-    alphaOmega1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "alphaOmega1",
-            coeffDict_,
-            0.5
-        )
-    ),
-    alphaOmega2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "alphaOmega2",
-            coeffDict_,
-            0.85616
-        )
-    ),
-    gamma1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "gamma1",
-            coeffDict_,
-            0.5532
-        )
-    ),
-    gamma2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "gamma2",
-            coeffDict_,
-            0.4403
-        )
-    ),
-    beta1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "beta1",
-            coeffDict_,
-            0.075
-        )
-    ),
-    beta2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "beta2",
-            coeffDict_,
-            0.0828
-        )
-    ),
-    betaStar_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "betaStar",
-            coeffDict_,
-            0.09
-        )
-    ),
-    a1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "a1",
-            coeffDict_,
-            0.31
-        )
-    ),
-    c1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "c1",
-            coeffDict_,
-            10.0
-        )
-    ),
-    Cs_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cs",
-            coeffDict_,
-            0.262
-        )
-    ),
-    alphaPhi_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "alphaPhi",
-            coeffDict_,
-            0.666667
-        )
-    ),
-    zetaTilda2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "zetaTilda2",
-            coeffDict_,
-            1.755
-        )
-    ),
-    FSAS_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "FSAS",
-            coeffDict_,
-            1.25
-        )
-    ),
-
-    omegaMin_("omegaMin", dimless/dimTime, SMALL),
-
-    Cmu_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cmu",
-            coeffDict_,
-            0.09
-         )
-    ),
-    kappa_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "kappa",
-            *this,
-            0.41
-        )
-    ),
-
-    y_(wallDist::New(mesh_).y()),
-
-    k_
-    (
-        IOobject
-        (
-            "k",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-
-    omega_
-    (
-        IOobject
-        (
-            "omega",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-
-    nuSgs_
-    (
-        IOobject
-        (
-            "nuSgs",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    )
-{
-    omegaMin_.readIfPresent(*this);
-
-    bound(k_, kMin_);
-    bound(omega_, omegaMin_);
-
-    updateSubGridScaleFields(2.0*magSqr(symm(fvc::grad(U))));
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void kOmegaSSTSAS::correct(const tmp<volTensorField>& gradU)
-{
-    LESModel::correct(gradU);
-
-    volScalarField S2(2.0*magSqr(symm(gradU())));
-    gradU.clear();
-
-    volVectorField gradK(fvc::grad(k_));
-    volVectorField gradOmega(fvc::grad(omega_));
-    volScalarField L(sqrt(k_)/(pow025(Cmu_)*omega_));
-    volScalarField CDkOmega((2.0*alphaOmega2_)*(gradK & gradOmega)/omega_);
-    volScalarField F1(this->F1(CDkOmega));
-    volScalarField G(GName(), nuSgs_*S2);
-
-    // Turbulent kinetic energy equation
-    {
-        fvScalarMatrix kEqn
-        (
-            fvm::ddt(k_)
-          + fvm::div(phi(), k_)
-          - fvm::laplacian(DkEff(F1), k_)
-        ==
-            min(G, c1_*betaStar_*k_*omega_)
-          - fvm::Sp(betaStar_*omega_, k_)
-        );
-
-        kEqn.relax();
-        kEqn.solve();
-    }
-    bound(k_, kMin_);
-
-    tmp<volScalarField> grad_omega_k = max
-    (
-        magSqr(gradOmega)/sqr(omega_),
-        magSqr(gradK)/sqr(k_)
-    );
-
-    // Turbulent frequency equation
-    {
-        fvScalarMatrix omegaEqn
-        (
-            fvm::ddt(omega_)
-          + fvm::div(phi(), omega_)
-          - fvm::laplacian(DomegaEff(F1), omega_)
-        ==
-            gamma(F1)*S2
-          - fvm::Sp(beta(F1)*omega_, omega_)
-          - fvm::SuSp       // cross diffusion term
-            (
-                (F1 - scalar(1))*CDkOmega/omega_,
-                omega_
-            )
-          + FSAS_
-           *max
-            (
-                dimensionedScalar("zero",dimensionSet(0, 0, -2, 0, 0), 0.0),
-                zetaTilda2_*kappa_*S2*sqr(L/Lvk2(S2))
-              - 2.0/alphaPhi_*k_*grad_omega_k
-            )
-        );
-
-        omegaEqn.relax();
-        omegaEqn.solve();
-    }
-    bound(omega_, omegaMin_);
-
-    updateSubGridScaleFields(S2);
-}
-
-
-tmp<volScalarField> kOmegaSSTSAS::epsilon() const
-{
-    return 2.0*nuEff()*magSqr(symm(fvc::grad(U())));
-}
-
-
-tmp<volSymmTensorField> kOmegaSSTSAS::B() const
-{
-    return ((2.0/3.0)*I)*k() - nuSgs()*twoSymm(fvc::grad(U()));
-}
-
-
-tmp<volSymmTensorField> kOmegaSSTSAS::devReff() const
-{
-    return -nuEff()*dev(twoSymm(fvc::grad(U())));
-}
-
-
-tmp<fvVectorMatrix> kOmegaSSTSAS::divDevReff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(nuEff(), U)
-      - fvc::div(nuEff()*dev(T(fvc::grad(U))))
-    );
-}
-
-
-tmp<fvVectorMatrix> kOmegaSSTSAS::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    volScalarField muEff("muEff", rho*nuEff());
-
-    return
-    (
-      - fvm::laplacian(muEff, U)
-      - fvc::div(muEff*dev(T(fvc::grad(U))))
-    );
-}
-
-
-bool kOmegaSSTSAS::read()
-{
-    if (LESModel::read())
-    {
-        alphaK1_.readIfPresent(coeffDict());
-        alphaK2_.readIfPresent(coeffDict());
-        alphaOmega1_.readIfPresent(coeffDict());
-        alphaOmega2_.readIfPresent(coeffDict());
-        gamma1_.readIfPresent(coeffDict());
-        gamma2_.readIfPresent(coeffDict());
-        beta1_.readIfPresent(coeffDict());
-        beta2_.readIfPresent(coeffDict());
-        betaStar_.readIfPresent(coeffDict());
-        a1_.readIfPresent(coeffDict());
-        c1_.readIfPresent(coeffDict());
-        Cs_.readIfPresent(coeffDict());
-        alphaPhi_.readIfPresent(coeffDict());
-        zetaTilda2_.readIfPresent(coeffDict());
-        FSAS_.readIfPresent(coeffDict());
-
-        omegaMin_.readIfPresent(*this);
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.H b/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.H
deleted file mode 100644
index b10a0e9ed1c..00000000000
--- a/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.H
+++ /dev/null
@@ -1,292 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::LESModels::kOmegaSSTSAS
-
-Group
-    grpIcoLESTurbulence
-
-Description
-    kOmegaSSTSAS LES turbulence model for incompressible flows
-    based on:
-
-    "Evaluation of the SST-SAS model: channel flow, asymmetric diffuser
-    and axi-symmetric hill".
-    European Conference on Computational Fluid Dynamics ECCOMAS CFD 2006.
-    Lars Davidson
-
-
-    The first term of the Qsas expression is corrected following:
-
-    DESider A European Effort on Hybrid RANS-LES Modelling:
-    Results of the European-Union Funded Project, 2004 - 2007
-    (Notes on Numerical Fluid Mechanics and Multidisciplinary Design).
-    Chapter 2, section 8 Formulation of the Scale-Adaptive Simulation (SAS)
-    Model during the DESIDER Project. Published in Springer-Verlag Berlin
-    Heidelberg 2009.
-    F. R. Menter and Y. Egorov.
-
-
-SourceFiles
-    kOmegaSSTSAS.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef kOmegaSSTSAS_H
-#define kOmegaSSTSAS_H
-
-#include "LESModel.H"
-#include "volFields.H"
-#include "wallDist.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-/*---------------------------------------------------------------------------*\
-                        Class kOmegaSSTSAS Declaration
-\*---------------------------------------------------------------------------*/
-
-class kOmegaSSTSAS
-:
-    public LESModel
-{
-    // Private Member Functions
-
-        //- Update sub-grid scale fields
-        void updateSubGridScaleFields(const volScalarField& D);
-
-        // Disallow default bitwise copy construct and assignment
-        kOmegaSSTSAS(const kOmegaSSTSAS&);
-        kOmegaSSTSAS& operator=(const kOmegaSSTSAS&);
-
-
-protected:
-
-    // Protected data
-
-        // Model constants
-
-            dimensionedScalar alphaK1_;
-            dimensionedScalar alphaK2_;
-
-            dimensionedScalar alphaOmega1_;
-            dimensionedScalar alphaOmega2_;
-
-            dimensionedScalar gamma1_;
-            dimensionedScalar gamma2_;
-
-            dimensionedScalar beta1_;
-            dimensionedScalar beta2_;
-
-            dimensionedScalar betaStar_;
-
-            dimensionedScalar a1_;
-            dimensionedScalar c1_;
-            dimensionedScalar Cs_;
-
-            dimensionedScalar alphaPhi_;
-            dimensionedScalar zetaTilda2_;
-            dimensionedScalar FSAS_;
-
-            dimensionedScalar omegaMin_;
-
-            dimensionedScalar Cmu_;
-            dimensionedScalar kappa_;
-
-
-        // Fields
-
-            //- Wall distance
-            //  Note: different to wall distance in parent RASModel
-            //  which is for near-wall cells only
-            const volScalarField& y_;
-
-            volScalarField k_;
-            volScalarField omega_;
-            volScalarField nuSgs_;
-
-
-    // Protected Member Functions
-
-        tmp<volScalarField> Lvk2
-        (
-            const volScalarField& S2
-        ) const;
-
-        tmp<volScalarField> F1(const volScalarField& CDkOmega) const;
-        tmp<volScalarField> F2() const;
-
-        tmp<volScalarField> blend
-        (
-            const volScalarField& F1,
-            const dimensionedScalar& psi1,
-            const dimensionedScalar& psi2
-        ) const
-        {
-            return F1*(psi1 - psi2) + psi2;
-        }
-
-        tmp<volScalarField> alphaK
-        (
-            const volScalarField& F1
-        ) const
-        {
-            return blend(F1, alphaK1_, alphaK2_);
-        }
-
-        tmp<volScalarField> alphaOmega
-        (
-             const volScalarField& F1
-        ) const
-        {
-            return blend(F1, alphaOmega1_, alphaOmega2_);
-        }
-
-        tmp<volScalarField> beta
-        (
-            const volScalarField& F1
-        ) const
-        {
-            return blend(F1, beta1_, beta2_);
-        }
-
-        tmp<volScalarField> gamma
-        (
-            const volScalarField& F1
-        ) const
-        {
-            return blend(F1, gamma1_, gamma2_);
-        }
-
-
-public:
-
-    //- Runtime type information
-    TypeName("kOmegaSSTSAS");
-
-
-    // Constructors
-
-        //- Construct from components
-        kOmegaSSTSAS
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~kOmegaSSTSAS()
-    {}
-
-
-    // Member Functions
-
-        //- Return SGS kinetic energy
-        virtual tmp<volScalarField> k() const
-        {
-            return k_;
-        }
-
-        //- Return omega
-        virtual tmp<volScalarField> omega() const
-        {
-            return omega_;
-        }
-
-        //- Return the effective diffusivity for k
-        tmp<volScalarField> DkEff(const volScalarField& F1) const
-        {
-            return tmp<volScalarField>
-            (
-                 new volScalarField("DkEff", alphaK(F1)*nuSgs_ + nu())
-            );
-        }
-
-        //- Return the effective diffusivity for omega
-        tmp<volScalarField> DomegaEff(const volScalarField& F1) const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DomegaEff", alphaOmega(F1)*nuSgs_ + nu())
-            );
-        }
-
-        //- Return sub-grid disipation rate
-        virtual tmp<volScalarField> epsilon() const;
-
-        //- Return SGS viscosity
-        virtual tmp<volScalarField> nuSgs() const
-        {
-            return nuSgs_;
-        }
-
-        //- Return the sub-grid stress tensor.
-        virtual tmp<volSymmTensorField> B() const;
-
-        //- Return the effective sub-grid turbulence stress tensor
-        //  including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
-
-        //- Return the deviatoric part of the effective sub-grid
-        //  turbulence stress tensor including the laminar stress
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
-
-        //- Return the deviatoric part of the effective sub-grid
-        //  turbulence stress tensor including the laminar stress
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const;
-
-        //- Solve the turbulence equations (k-w) and correct the turbulence
-        //  viscosity
-        virtual void correct(const tmp<volTensorField>& gradU);
-
-        //- Read LESProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/laminar/laminar.C b/src/turbulenceModels/incompressible/LES/laminar/laminar.C
deleted file mode 100644
index b0176e804d6..00000000000
--- a/src/turbulenceModels/incompressible/LES/laminar/laminar.C
+++ /dev/null
@@ -1,183 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "laminar.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(laminar, 0);
-addToRunTimeSelectionTable(LESModel, laminar, dictionary);
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-laminar::laminar
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    LESModel(modelName, U, phi, transport, turbulenceModelName)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volScalarField> laminar::k() const
-{
-    return tmp<volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "k",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            mesh_,
-            dimensionedScalar("k", sqr(U().dimensions()), 0.0)
-        )
-    );
-}
-
-tmp<volScalarField> laminar::epsilon() const
-{
-    return 2*nu()*magSqr(symm(fvc::grad(U())));
-}
-
-tmp<volScalarField> laminar::nuSgs() const
-{
-    return tmp<volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "nuSgs",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            mesh_,
-            dimensionedScalar("nuSgs", nu()().dimensions(), 0.0)
-        )
-    );
-}
-
-tmp<volScalarField> laminar::nuEff() const
-{
-    return tmp<volScalarField>
-    (
-        new volScalarField("nuEff", nu())
-    );
-}
-
-
-tmp<volSymmTensorField> laminar::B() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "B",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            mesh_,
-            dimensionedSymmTensor
-            (
-                "B", sqr(U().dimensions()), symmTensor::zero
-            )
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> laminar::devReff() const
-{
-    return -nu()*dev(twoSymm(fvc::grad(U())));
-}
-
-
-tmp<fvVectorMatrix> laminar::divDevReff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(nu(), U)
-      - fvc::div(nu()*dev(T(fvc::grad(U))))
-    );
-}
-
-
-tmp<fvVectorMatrix> laminar::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    volScalarField muEff("muEff", rho*nuEff());
-
-    return
-    (
-      - fvm::laplacian(muEff, U)
-      - fvc::div(muEff*dev(T(fvc::grad(U))))
-    );
-}
-
-
-bool laminar::read()
-{
-    return LESModel::read();
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/laminar/laminar.H b/src/turbulenceModels/incompressible/LES/laminar/laminar.H
deleted file mode 100644
index 7a7f501d4f2..00000000000
--- a/src/turbulenceModels/incompressible/LES/laminar/laminar.H
+++ /dev/null
@@ -1,138 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::LESModels::laminar
-
-Description
-    LES model for laminar incompressible flow.
-    It simply returns laminar properties.
-
-SourceFiles
-    laminar.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef lesLaminar_H
-#define lesLaminar_H
-
-#include "LESModel.H"
-#include "volFields.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class laminar Declaration
-\*---------------------------------------------------------------------------*/
-
-class laminar
-:
-    public LESModel
-{
-    // Private Member Functions
-
-        // Disallow default bitwise copy construct and assignment
-        laminar(const laminar&);
-        laminar& operator=(const laminar&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("laminar");
-
-
-    // Constructors
-
-        //- Construct from components
-        laminar
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~laminar()
-    {}
-
-
-    // Member Functions
-
-        //- Return SGS kinetic energy
-        virtual tmp<volScalarField> k() const;
-
-        //- Return sub-grid disipation rate
-        virtual tmp<volScalarField> epsilon() const;
-
-        //- Return SGS viscosity
-        virtual tmp<volScalarField> nuSgs() const;
-
-        //- Return the effective viscosity
-        virtual tmp<volScalarField> nuEff() const;
-
-        //- Return the sub-grid stress tensor B.
-        virtual tmp<volSymmTensorField> B() const;
-
-        //- Return the effective sub-grid turbulence stress tensor
-        //  including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
-
-        //- Return the deviatoric part of the effective sub-grid
-        //  turbulence stress tensor including the laminar stress
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
-
-        //- Return the deviatoric part of the effective sub-grid
-        //  turbulence stress tensor including the laminar stress
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const;
-
-        //- Read LESProperties dictionary
-        bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/mixedSmagorinsky/mixedSmagorinsky.C b/src/turbulenceModels/incompressible/LES/mixedSmagorinsky/mixedSmagorinsky.C
deleted file mode 100644
index 7e82fe9fdcc..00000000000
--- a/src/turbulenceModels/incompressible/LES/mixedSmagorinsky/mixedSmagorinsky.C
+++ /dev/null
@@ -1,160 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "mixedSmagorinsky.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(mixedSmagorinsky, 0);
-addToRunTimeSelectionTable(LESModel, mixedSmagorinsky, dictionary);
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-mixedSmagorinsky::mixedSmagorinsky
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    LESModel(modelName, U, phi, transport, turbulenceModelName),
-    scaleSimilarity(U, phi, transport),
-    Smagorinsky(U, phi, transport)
-{
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volScalarField> mixedSmagorinsky::k() const
-{
-    return
-    (
-        scaleSimilarity::k()
-      + Smagorinsky::k()
-    );
-}
-
-
-tmp<volScalarField> mixedSmagorinsky::epsilon() const
-{
-    return
-    (
-        scaleSimilarity::epsilon()
-      + Smagorinsky::epsilon()
-    );
-}
-
-
-tmp<volSymmTensorField> mixedSmagorinsky::B() const
-{
-    return
-    (
-        scaleSimilarity::B()
-      + Smagorinsky::B()
-    );
-}
-
-
-tmp<volSymmTensorField> mixedSmagorinsky::devReff() const
-{
-    return
-    (
-        scaleSimilarity::devReff()
-      + Smagorinsky::devReff()
-    );
-}
-
-
-tmp<fvVectorMatrix> mixedSmagorinsky::divDevReff
-(
-    volVectorField& U
-) const
-{
-    return
-    (
-        scaleSimilarity::divDevReff(U)
-      + Smagorinsky::divDevReff(U)
-    );
-}
-
-
-tmp<fvVectorMatrix> mixedSmagorinsky::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    return
-    (
-        scaleSimilarity::divDevRhoReff(rho, U)
-      + Smagorinsky::divDevRhoReff(rho, U)
-    );
-}
-
-
-void mixedSmagorinsky::correct(const tmp<volTensorField>& gradU)
-{
-    scaleSimilarity::correct(gradU);
-    Smagorinsky::correct(gradU);
-}
-
-
-bool mixedSmagorinsky::read()
-{
-    if (LESModel::read())
-    {
-        scaleSimilarity::read();
-        Smagorinsky::read();
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/mixedSmagorinsky/mixedSmagorinsky.H b/src/turbulenceModels/incompressible/LES/mixedSmagorinsky/mixedSmagorinsky.H
deleted file mode 100644
index 8a30f9deac0..00000000000
--- a/src/turbulenceModels/incompressible/LES/mixedSmagorinsky/mixedSmagorinsky.H
+++ /dev/null
@@ -1,167 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::LESModels::mixedSmagorinsky
-
-Group
-    grpIcoLESTurbulence
-
-Description
-    The mixed Isochoric Smagorinsky Model for incompressible flows.
-
-    The mixed model is a linear combination of an eddy viscosity model
-    (Smagorinsky) with a scale similarity model.  Hence
-    \verbatim
-        B = (L + C) + R = (F(v*v) - F(v)*F(v)) + R
-    \endverbatim
-
-    The algebraic eddy viscosity SGS model is founded on the assumption
-    that local equilibrium prevails, hence
-    \verbatim
-        R = 2/3*k*I - 2*nuEff*dev(D)
-    where
-        k = cI*delta^2*||D||^2
-        nuEff = ck*sqrt(k)*delta + nu
-    \endverbatim
-
-    The Leonard and cross contributions are incorporated
-    by adding,
-    \verbatim
-         + div(((filter(U*U) - filter(U)*filter(U)) -
-           0.333*I*tr(filter(U*U) - filter(U)*filter(U))))
-         + div((filter(U*epsilon) - filter(U)*filter(epsilon)))
-    \endverbatim
-    to the rhs. of the equations.
-
-SourceFiles
-    mixedSmagorinsky.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef mixedSmagorinsky_H
-#define mixedSmagorinsky_H
-
-#include "scaleSimilarity.H"
-#include "Smagorinsky.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class mixedSmagorinsky Declaration
-\*---------------------------------------------------------------------------*/
-
-class mixedSmagorinsky
-:
-    public scaleSimilarity,
-    public Smagorinsky
-{
-    // Private Member Functions
-
-        // Disallow default bitwise copy construct and assignment
-        mixedSmagorinsky(const mixedSmagorinsky&);
-        mixedSmagorinsky& operator=(const mixedSmagorinsky&);
-
-public:
-
-    //- Runtime type information
-    TypeName("mixedSmagorinsky");
-
-
-    // Constructors
-
-        //- Construct from components
-        mixedSmagorinsky
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~mixedSmagorinsky()
-    {}
-
-
-    // Member Functions
-
-        //- Return the SGS turbulent kinetic energy.
-        virtual tmp<volScalarField> k() const;
-
-        //- Return the SGS turbulent disipation rate.
-        virtual tmp<volScalarField> epsilon() const;
-
-        //- Return the SGS viscosity.
-        virtual tmp<volScalarField> nuSgs() const
-        {
-            return nuSgs_;
-        }
-
-        //- Return the sub-grid stress tensor.
-        virtual tmp<volSymmTensorField> B() const;
-
-        //- Return the effective sub-grid turbulence stress tensor
-        //  including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
-
-        //- Return the deviatoric part of the effective sub-grid
-        //  turbulence stress tensor including the laminar stress
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
-
-        //- Return the deviatoric part of the effective sub-grid
-        //  turbulence stress tensor including the laminar stress
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const;
-
-        //- Correct Eddy-Viscosity and related properties
-        virtual void correct(const tmp<volTensorField>& gradU);
-
-        //- Read LESProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/oneEqEddy/oneEqEddy.C b/src/turbulenceModels/incompressible/LES/oneEqEddy/oneEqEddy.C
deleted file mode 100644
index 2e95004a288..00000000000
--- a/src/turbulenceModels/incompressible/LES/oneEqEddy/oneEqEddy.C
+++ /dev/null
@@ -1,146 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "oneEqEddy.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(oneEqEddy, 0);
-addToRunTimeSelectionTable(LESModel, oneEqEddy, dictionary);
-
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void oneEqEddy::updateSubGridScaleFields()
-{
-    nuSgs_ = ck_*sqrt(k_)*delta();
-    nuSgs_.correctBoundaryConditions();
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-oneEqEddy::oneEqEddy
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    LESModel(modelName, U, phi, transport, turbulenceModelName),
-    GenEddyVisc(U, phi, transport),
-
-    k_
-    (
-        IOobject
-        (
-            "k",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-
-    ck_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "ck",
-            coeffDict_,
-            0.094
-        )
-    )
-{
-    bound(k_, kMin_);
-
-    updateSubGridScaleFields();
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void oneEqEddy::correct(const tmp<volTensorField>& gradU)
-{
-    GenEddyVisc::correct(gradU);
-
-    volScalarField G(GName(), 2.0*nuSgs_*magSqr(symm(gradU)));
-
-    tmp<fvScalarMatrix> kEqn
-    (
-       fvm::ddt(k_)
-     + fvm::div(phi(), k_)
-     - fvm::laplacian(DkEff(), k_)
-    ==
-       G
-     - fvm::Sp(ce_*sqrt(k_)/delta(), k_)
-    );
-
-    kEqn().relax();
-    kEqn().solve();
-
-    bound(k_, kMin_);
-
-    updateSubGridScaleFields();
-}
-
-
-bool oneEqEddy::read()
-{
-    if (GenEddyVisc::read())
-    {
-        ck_.readIfPresent(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/oneEqEddy/oneEqEddy.H b/src/turbulenceModels/incompressible/LES/oneEqEddy/oneEqEddy.H
deleted file mode 100644
index fef3986d4eb..00000000000
--- a/src/turbulenceModels/incompressible/LES/oneEqEddy/oneEqEddy.H
+++ /dev/null
@@ -1,154 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::LESModels::oneEqEddy
-
-Group
-    grpIcoLESTurbulence
-
-Description
-    One Equation Eddy Viscosity Model for incompressible flows
-
-    Eddy viscosity SGS model using a modeled balance equation to simulate the
-    behaviour of k, hence,
-    \verbatim
-        d/dt(k) + div(U*k) - div(nuEff*grad(k))
-        =
-        -D:B - ce*k^(3/2)/delta
-
-    and
-
-        B = 2/3*k*I - 2*nuSgs*dev(D)
-        Beff = 2/3*k*I - 2*nuEff*dev(D)
-
-    where
-
-        D = symm(grad(U));
-        nuSgs = ck*sqrt(k)*delta
-        nuEff = nuSgs + nu
-    \endverbatim
-
-SourceFiles
-    oneEqEddy.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef oneEqEddy_H
-#define oneEqEddy_H
-
-#include "GenEddyVisc.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class oneEqEddy Declaration
-\*---------------------------------------------------------------------------*/
-
-class oneEqEddy
-:
-    public GenEddyVisc
-{
-    // Private data
-
-        volScalarField k_;
-
-        dimensionedScalar ck_;
-
-
-    // Private Member Functions
-
-        //- Update sub-grid scale fields
-        void updateSubGridScaleFields();
-
-        // Disallow default bitwise copy construct and assignment
-        oneEqEddy(const oneEqEddy&);
-        oneEqEddy& operator=(const oneEqEddy&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("oneEqEddy");
-
-    // Constructors
-
-        //- Construct from components
-        oneEqEddy
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~oneEqEddy()
-    {}
-
-
-    // Member Functions
-
-        //- Return SGS kinetic energy
-        virtual tmp<volScalarField> k() const
-        {
-            return k_;
-        }
-
-        //- Return the effective diffusivity for k
-        tmp<volScalarField> DkEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DkEff", nuSgs_ + nu())
-            );
-        }
-
-        //- Correct Eddy-Viscosity and related properties
-        virtual void correct(const tmp<volTensorField>& gradU);
-
-        //- Read LESProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/scaleSimilarity/scaleSimilarity.C b/src/turbulenceModels/incompressible/LES/scaleSimilarity/scaleSimilarity.C
deleted file mode 100644
index 12c6b4f3131..00000000000
--- a/src/turbulenceModels/incompressible/LES/scaleSimilarity/scaleSimilarity.C
+++ /dev/null
@@ -1,129 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "scaleSimilarity.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(scaleSimilarity, 0);
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-scaleSimilarity::scaleSimilarity
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    LESModel(modelName, U, phi, transport, turbulenceModelName),
-    filterPtr_(LESfilter::New(U.mesh(), coeffDict())),
-    filter_(filterPtr_())
-{
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volScalarField> scaleSimilarity::k() const
-{
-    return(0.5*(filter_(magSqr(U())) - magSqr(filter_(U()))));
-}
-
-
-tmp<volScalarField> scaleSimilarity::epsilon() const
-{
-    tmp<volSymmTensorField> D = symm(fvc::grad(U()));
-
-    return((filter_(sqr(U())) - sqr(filter_(U()))) && D);
-}
-
-
-tmp<volSymmTensorField> scaleSimilarity::B() const
-{
-    return(filter_(sqr(U())) - sqr(filter_(U())));
-}
-
-
-tmp<volSymmTensorField> scaleSimilarity::devReff() const
-{
-    return dev(B());
-}
-
-
-tmp<fvVectorMatrix> scaleSimilarity::divDevReff(volVectorField& U) const
-{
-    return fvm::Su(fvc::div(devReff()), U);
-}
-
-
-tmp<fvVectorMatrix> scaleSimilarity::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    return fvm::Su(fvc::div(rho*devReff()), U);
-}
-
-
-void scaleSimilarity::correct(const tmp<volTensorField>&)
-{}
-
-
-bool scaleSimilarity::read()
-{
-    if (LESModel::read())
-    {
-        filter_.read(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/scaleSimilarity/scaleSimilarity.H b/src/turbulenceModels/incompressible/LES/scaleSimilarity/scaleSimilarity.H
deleted file mode 100644
index 94e9367fe24..00000000000
--- a/src/turbulenceModels/incompressible/LES/scaleSimilarity/scaleSimilarity.H
+++ /dev/null
@@ -1,146 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::LESModels::scaleSimilarity
-
-Group
-    grpIcoLESTurbulence
-
-Description
-    General base class for all scale similarity models
-    for incompressible flows.
-
-    Since such models do not work without additional eddy viscosity terms,
-    this class must be combined with an eddy viscosity model of some form.
-
-SourceFiles
-    scaleSimilarity.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef scaleSimilarity_H
-#define scaleSimilarity_H
-
-#include "LESModel.H"
-#include "LESfilter.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class scaleSimilarity Declaration
-\*---------------------------------------------------------------------------*/
-
-class scaleSimilarity
-:
-    virtual public LESModel
-{
-    // Private data
-
-        autoPtr<LESfilter> filterPtr_;
-        LESfilter& filter_;
-
-
-    // Private Member Functions
-
-        // Disallow default bitwise copy construct and assignment
-        scaleSimilarity(const scaleSimilarity&);
-        scaleSimilarity& operator=(const scaleSimilarity&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("scaleSimilarity");
-
-    // Constructors
-
-        //- Construct from components
-        scaleSimilarity
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~scaleSimilarity()
-    {}
-
-
-    // Member Functions
-
-        //- Return the SGS turbulent kinetic energy.
-        virtual tmp<volScalarField> k() const;
-
-        //- Return the SGS turbulent dissipation.
-        virtual tmp<volScalarField> epsilon() const;
-
-        //- Return the sub-grid stress tensor.
-        virtual tmp<volSymmTensorField> B() const;
-
-        //- Return the effective sub-grid turbulence stress tensor
-        //  including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
-
-        //- Return the deviatoric part of the effective sub-grid
-        //  turbulence stress tensor including the laminar stress
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
-
-        //- Return the deviatoric part of the effective sub-grid
-        //  turbulence stress tensor including the laminar stress
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const;
-
-        //- Correct Eddy-Viscosity and related properties
-        virtual void correct(const tmp<volTensorField>&);
-
-        //- Read LESProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/spectEddyVisc/spectEddyVisc.C b/src/turbulenceModels/incompressible/LES/spectEddyVisc/spectEddyVisc.C
deleted file mode 100644
index 80ffc16c5fa..00000000000
--- a/src/turbulenceModels/incompressible/LES/spectEddyVisc/spectEddyVisc.C
+++ /dev/null
@@ -1,174 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "spectEddyVisc.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(spectEddyVisc, 0);
-addToRunTimeSelectionTable(LESModel, spectEddyVisc, dictionary);
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void spectEddyVisc::updateSubGridScaleFields(const volTensorField& gradU)
-{
-    const volScalarField Re(sqr(delta())*mag(symm(gradU))/nu());
-    for (label i=0; i<5; i++)
-    {
-        nuSgs_ =
-            nu()
-           /(
-                 scalar(1)
-               - exp(-cB_*pow(nu()/(nuSgs_ + nu()), 1.0/3.0)*pow(Re, -2.0/3.0))
-            );
-    }
-
-    nuSgs_.correctBoundaryConditions();
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-spectEddyVisc::spectEddyVisc
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    LESModel(modelName, U, phi, transport, turbulenceModelName),
-    GenEddyVisc(U, phi, transport),
-
-    cB_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "cB",
-            coeffDict_,
-            8.22
-        )
-    ),
-    cK1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "cK1",
-            coeffDict_,
-            0.83
-        )
-    ),
-    cK2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "cK2",
-            coeffDict_,
-            1.03
-        )
-    ),
-    cK3_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "cK3",
-            coeffDict_,
-            4.75
-        )
-    ),
-    cK4_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "cK4",
-            coeffDict_,
-            2.55
-        )
-    )
-{
-    printCoeffs();
-
-    updateSubGridScaleFields(fvc::grad(U));
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volScalarField> spectEddyVisc::k() const
-{
-    const volScalarField eps(2*nuEff()*magSqr(symm(fvc::grad(U()))));
-
-    return
-        cK1_*pow(delta()*eps, 2.0/3.0)
-       *exp(-cK2_*pow(delta(), -4.0/3.0)*nu()/pow(eps, 1.0/3.0))
-      - cK3_*sqrt(eps*nu())
-       *erfc(cK4_*pow(delta(), -2.0/3.0)*sqrt(nu())*pow(eps, -1.0/6.0));
-}
-
-
-void spectEddyVisc::correct(const tmp<volTensorField>& gradU)
-{
-    GenEddyVisc::correct(gradU);
-    updateSubGridScaleFields(gradU());
-}
-
-
-bool spectEddyVisc::read()
-{
-    if (GenEddyVisc::read())
-    {
-        cB_.readIfPresent(coeffDict());
-        cK1_.readIfPresent(coeffDict());
-        cK2_.readIfPresent(coeffDict());
-        cK3_.readIfPresent(coeffDict());
-        cK4_.readIfPresent(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/LES/spectEddyVisc/spectEddyVisc.H b/src/turbulenceModels/incompressible/LES/spectEddyVisc/spectEddyVisc.H
deleted file mode 100644
index 7428f5667ed..00000000000
--- a/src/turbulenceModels/incompressible/LES/spectEddyVisc/spectEddyVisc.H
+++ /dev/null
@@ -1,144 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::LESModels::spectEddyVisc
-
-Group
-    grpIcoLESTurbulence
-
-Description
-    The Isochoric spectral Eddy Viscosity Model for incompressible flows.
-
-    Algebraic eddy viscosity SGS model founded on the assumption that
-    local equilibrium prevail and that viscous effects may be of importance.
-
-    Thus,
-    \verbatim
-        B = 2/3*k*I - 2*nuSgs*dev(D)
-        Beff = 2/3*k*I - 2*nuEff*dev(D)
-
-    where
-
-        k = cK1*delta^(2/3)*eps^(2/3)*exp(-cK2*delta^(4/3)*nu*eps^(-1/3)) -
-            ck3*sqrt(eps*nu)*erfc(ck4*delta^(-2/3)*sqrt(nu)*eps^(-1/6)))
-
-        nuEff = nu/(1 - exp(-cB*pow((nu/nuEff), 1.0/3.0)*pow(Re, -2.0/3.0)))
-        nuSgs = nuEff - nu
-
-        Re = delta^2*mag(D)/nu
-    \endverbatim
-
-SourceFiles
-    spectEddyVisc.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef spectEddyVisc_H
-#define spectEddyVisc_H
-
-#include "GenEddyVisc.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace LESModels
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class spectEddyVisc Declaration
-\*---------------------------------------------------------------------------*/
-
-class spectEddyVisc
-:
-    public GenEddyVisc
-{
-    // Private data
-
-        dimensionedScalar cB_;
-        dimensionedScalar cK1_;
-        dimensionedScalar cK2_;
-        dimensionedScalar cK3_;
-        dimensionedScalar cK4_;
-
-
-    // Private Member Functions
-
-        //- Update sub-grid scale fields
-        void updateSubGridScaleFields(const volTensorField& gradU);
-
-        // Disallow default bitwise copy construct and assignment
-        spectEddyVisc(const spectEddyVisc&);
-        spectEddyVisc& operator=(const spectEddyVisc&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("spectEddyVisc");
-
-    // Constructors
-
-        // Construct from components
-        spectEddyVisc
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~spectEddyVisc()
-    {}
-
-
-    // Member Functions
-
-        //- Return SGS kinetic energy
-        virtual tmp<volScalarField> k() const;
-
-        //- Correct Eddy-Viscosity and related properties
-        virtual void correct(const tmp<volTensorField>&);
-
-        //- Read LESProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace LESModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/LRR/LRR.C b/src/turbulenceModels/incompressible/RAS/LRR/LRR.C
deleted file mode 100644
index 18d5f552219..00000000000
--- a/src/turbulenceModels/incompressible/RAS/LRR/LRR.C
+++ /dev/null
@@ -1,475 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "LRR.H"
-#include "addToRunTimeSelectionTable.H"
-#include "wallFvPatch.H"
-
-#include "backwardsCompatibilityWallFunctions.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace RASModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(LRR, 0);
-addToRunTimeSelectionTable(RASModel, LRR, dictionary);
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-LRR::LRR
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    RASModel(modelName, U, phi, transport, turbulenceModelName),
-
-    Cmu_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cmu",
-            coeffDict_,
-            0.09
-        )
-    ),
-    Clrr1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Clrr1",
-            coeffDict_,
-            1.8
-        )
-    ),
-    Clrr2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Clrr2",
-            coeffDict_,
-            0.6
-        )
-    ),
-    C1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C1",
-            coeffDict_,
-            1.44
-        )
-    ),
-    C2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C2",
-            coeffDict_,
-            1.92
-        )
-    ),
-    Cs_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cs",
-            coeffDict_,
-            0.25
-        )
-    ),
-    Ceps_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Ceps",
-            coeffDict_,
-            0.15
-        )
-    ),
-    sigmaEps_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmaEps",
-            coeffDict_,
-            1.3
-        )
-    ),
-    couplingFactor_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "couplingFactor",
-            coeffDict_,
-            0.0
-        )
-    ),
-
-    R_
-    (
-        IOobject
-        (
-            "R",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateR("R", mesh_)
-    ),
-    k_
-    (
-        IOobject
-        (
-            "k",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateK("k", mesh_)
-    ),
-    epsilon_
-    (
-        IOobject
-        (
-            "epsilon",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateEpsilon("epsilon", mesh_)
-    ),
-    nut_
-    (
-        IOobject
-        (
-            "nut",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateNut("nut", mesh_)
-    )
-{
-    if (couplingFactor_.value() < 0.0 || couplingFactor_.value() > 1.0)
-    {
-        FatalErrorIn
-        (
-            "LRR::LRR"
-            "(const volVectorField& U, const surfaceScalarField& phi,"
-            "transportModel& transport)"
-        )   << "couplingFactor = " << couplingFactor_
-            << " is not in range 0 - 1" << nl
-            << exit(FatalError);
-    }
-
-    bound(k_, kMin_);
-    bound(epsilon_, epsilonMin_);
-
-    nut_ = Cmu_*sqr(k_)/epsilon_;
-    nut_.correctBoundaryConditions();
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volSymmTensorField> LRR::devReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            R_ - nu()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> LRR::divDevReff(volVectorField& U) const
-{
-    if (couplingFactor_.value() > 0.0)
-    {
-        return
-        (
-            fvc::div(R_ + couplingFactor_*nut_*fvc::grad(U), "div(R)")
-          + fvc::laplacian
-            (
-                 (1.0 - couplingFactor_)*nut_,
-                 U,
-                 "laplacian(nuEff,U)"
-            )
-          - fvm::laplacian(nuEff(), U)
-        );
-    }
-    else
-    {
-        return
-        (
-            fvc::div(R_)
-          + fvc::laplacian(nut_, U, "laplacian(nuEff,U)")
-          - fvm::laplacian(nuEff(), U)
-        );
-    }
-}
-
-
-tmp<fvVectorMatrix> LRR::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    volScalarField muEff("muEff", rho*nuEff());
-
-    if (couplingFactor_.value() > 0.0)
-    {
-        return
-        (
-            fvc::div
-            (
-                rho*R_ + couplingFactor_*(rho*nut_)*fvc::grad(U),
-                "div((rho*R))"
-            )
-          + fvc::laplacian
-            (
-                (1.0 - couplingFactor_)*rho*nut_,
-                U,
-                "laplacian(muEff,U)"
-            )
-          - fvm::laplacian(muEff, U)
-        );
-    }
-    else
-    {
-        return
-        (
-            fvc::div(rho*R_)
-          + fvc::laplacian(rho*nut_, U, "laplacian(muEff,U)")
-          - fvm::laplacian(muEff, U)
-        );
-    }
-}
-
-
-bool LRR::read()
-{
-    if (RASModel::read())
-    {
-        Cmu_.readIfPresent(coeffDict());
-        Clrr1_.readIfPresent(coeffDict());
-        Clrr2_.readIfPresent(coeffDict());
-        C1_.readIfPresent(coeffDict());
-        C2_.readIfPresent(coeffDict());
-        Cs_.readIfPresent(coeffDict());
-        Ceps_.readIfPresent(coeffDict());
-        sigmaEps_.readIfPresent(coeffDict());
-
-        couplingFactor_.readIfPresent(coeffDict());
-
-        if (couplingFactor_.value() < 0.0 || couplingFactor_.value() > 1.0)
-        {
-            FatalErrorIn("LRR::read()")
-                << "couplingFactor = " << couplingFactor_
-                << " is not in range 0 - 1"
-                << exit(FatalError);
-        }
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-void LRR::correct()
-{
-    RASModel::correct();
-
-    if (!turbulence_)
-    {
-        return;
-    }
-
-    volSymmTensorField P(-twoSymm(R_ & fvc::grad(U_)));
-    volScalarField G(GName(), 0.5*mag(tr(P)));
-
-    // Update epsilon and G at the wall
-    epsilon_.boundaryField().updateCoeffs();
-
-    // Dissipation equation
-    tmp<fvScalarMatrix> epsEqn
-    (
-        fvm::ddt(epsilon_)
-      + fvm::div(phi_, epsilon_)
-    //- fvm::laplacian(Ceps*(K/epsilon_)*R, epsilon_)
-      - fvm::laplacian(DepsilonEff(), epsilon_)
-      ==
-        C1_*G*epsilon_/k_
-      - fvm::Sp(C2_*epsilon_/k_, epsilon_)
-    );
-
-    epsEqn().relax();
-
-    epsEqn().boundaryManipulate(epsilon_.boundaryField());
-
-    solve(epsEqn);
-    bound(epsilon_, epsilonMin_);
-
-
-    // Reynolds stress equation
-
-    const fvPatchList& patches = mesh_.boundary();
-
-    forAll(patches, patchi)
-    {
-        const fvPatch& curPatch = patches[patchi];
-
-        if (isA<wallFvPatch>(curPatch))
-        {
-            forAll(curPatch, facei)
-            {
-                label faceCelli = curPatch.faceCells()[facei];
-                P[faceCelli] *= min
-                (
-                    G[faceCelli]/(0.5*mag(tr(P[faceCelli])) + SMALL),
-                    1.0
-                );
-            }
-        }
-    }
-
-
-    tmp<fvSymmTensorMatrix> REqn
-    (
-        fvm::ddt(R_)
-      + fvm::div(phi_, R_)
-    //- fvm::laplacian(Cs*(k_/epsilon_)*R_, R_)
-      - fvm::laplacian(DREff(), R_)
-      + fvm::Sp(Clrr1_*epsilon_/k_, R_)
-      ==
-        P
-      - (2.0/3.0*(1 - Clrr1_)*I)*epsilon_
-      - Clrr2_*dev(P)
-    );
-
-    REqn().relax();
-    solve(REqn);
-
-    R_.max
-    (
-        dimensionedSymmTensor
-        (
-            "zero",
-            R_.dimensions(),
-            symmTensor
-            (
-                kMin_.value(), -GREAT, -GREAT,
-                kMin_.value(), -GREAT,
-                kMin_.value()
-            )
-        )
-    );
-
-    k_ = 0.5*tr(R_);
-    bound(k_, kMin_);
-
-
-    // Re-calculate viscosity
-    nut_ = Cmu_*sqr(k_)/epsilon_;
-    nut_.correctBoundaryConditions();
-
-
-    // Correct wall shear stresses
-
-    forAll(patches, patchi)
-    {
-        const fvPatch& curPatch = patches[patchi];
-
-        if (isA<wallFvPatch>(curPatch))
-        {
-            symmTensorField& Rw = R_.boundaryField()[patchi];
-
-            const scalarField& nutw = nut_.boundaryField()[patchi];
-
-            const vectorField snGradU(U_.boundaryField()[patchi].snGrad());
-
-            const vectorField& faceAreas
-                = mesh_.Sf().boundaryField()[patchi];
-
-            const scalarField& magFaceAreas
-                = mesh_.magSf().boundaryField()[patchi];
-
-            forAll(curPatch, facei)
-            {
-                // Calculate near-wall velocity gradient
-                tensor gradUw
-                    = (faceAreas[facei]/magFaceAreas[facei])*snGradU[facei];
-
-                // Calculate near-wall shear-stress tensor
-                tensor tauw = -nutw[facei]*2*symm(gradUw);
-
-                // Reset the shear components of the stress tensor
-                Rw[facei].xy() = tauw.xy();
-                Rw[facei].xz() = tauw.xz();
-                Rw[facei].yz() = tauw.yz();
-            }
-        }
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/LRR/LRR.H b/src/turbulenceModels/incompressible/RAS/LRR/LRR.H
deleted file mode 100644
index 24cf36c5891..00000000000
--- a/src/turbulenceModels/incompressible/RAS/LRR/LRR.H
+++ /dev/null
@@ -1,204 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::RASModels::LRR
-
-Group
-    grpIcoRASTurbulence
-
-Description
-    Launder, Reece and Rodi Reynolds-stress turbulence model for
-    incompressible flows.
-
-    The default model coefficients correspond to the following:
-    \verbatim
-        LRRCoeffs
-        {
-            Cmu         0.09;
-            Clrr1       1.8;
-            Clrr2       0.6;
-            C1          1.44;
-            C2          1.92;
-            Cs          0.25;
-            Ceps        0.15;
-            sigmaEps    1.3;
-            couplingFactor  0.0;    // only for incompressible
-        }
-    \endverbatim
-
-SourceFiles
-    LRR.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef LRR_H
-#define LRR_H
-
-#include "RASModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace RASModels
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class LRR Declaration
-\*---------------------------------------------------------------------------*/
-
-class LRR
-:
-    public RASModel
-{
-
-protected:
-
-    // Protected data
-
-        // Model coefficients
-
-            dimensionedScalar Cmu_;
-
-            dimensionedScalar Clrr1_;
-            dimensionedScalar Clrr2_;
-
-            dimensionedScalar C1_;
-            dimensionedScalar C2_;
-            dimensionedScalar Cs_;
-            dimensionedScalar Ceps_;
-            dimensionedScalar sigmaEps_;
-
-            dimensionedScalar couplingFactor_;
-
-
-        // Fields
-
-            volSymmTensorField R_;
-            volScalarField k_;
-            volScalarField epsilon_;
-            volScalarField nut_;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("LRR");
-
-    // Constructors
-
-        //- Construct from components
-        LRR
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~LRR()
-    {}
-
-
-    // Member Functions
-
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> nut() const
-        {
-            return nut_;
-        }
-
-        //- Return the effective diffusivity for R
-        tmp<volScalarField> DREff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DREff", nut_ + nu())
-            );
-        }
-
-        //- Return the effective diffusivity for epsilon
-        tmp<volScalarField> DepsilonEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DepsilonEff", nut_/sigmaEps_ + nu())
-            );
-        }
-
-        //- Return the turbulence kinetic energy
-        virtual tmp<volScalarField> k() const
-        {
-            return k_;
-        }
-
-        //- Return the turbulence kinetic energy dissipation rate
-        virtual tmp<volScalarField> epsilon() const
-        {
-            return epsilon_;
-        }
-
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const
-        {
-            return R_;
-        }
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const;
-
-        //- Solve the turbulence equations and correct the turbulence viscosity
-        virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C b/src/turbulenceModels/incompressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C
deleted file mode 100644
index b8d55d9b3cb..00000000000
--- a/src/turbulenceModels/incompressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C
+++ /dev/null
@@ -1,527 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "LaunderGibsonRSTM.H"
-#include "addToRunTimeSelectionTable.H"
-#include "wallFvPatch.H"
-
-#include "backwardsCompatibilityWallFunctions.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace RASModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(LaunderGibsonRSTM, 0);
-addToRunTimeSelectionTable(RASModel, LaunderGibsonRSTM, dictionary);
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-LaunderGibsonRSTM::LaunderGibsonRSTM
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    RASModel(modelName, U, phi, transport, turbulenceModelName),
-
-    Cmu_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cmu",
-            coeffDict_,
-            0.09
-        )
-    ),
-    kappa_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "kappa",
-            coeffDict_,
-            0.41
-        )
-    ),
-    Clg1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Clg1",
-            coeffDict_,
-            1.8
-        )
-    ),
-    Clg2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Clg2",
-            coeffDict_,
-            0.6
-        )
-    ),
-    C1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C1",
-            coeffDict_,
-            1.44
-        )
-    ),
-    C2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C2",
-            coeffDict_,
-            1.92
-        )
-    ),
-    Cs_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cs",
-            coeffDict_,
-            0.25
-        )
-    ),
-    Ceps_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Ceps",
-            coeffDict_,
-            0.15
-        )
-    ),
-    sigmaR_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmaR",
-            coeffDict_,
-            0.81967
-        )
-    ),
-    sigmaEps_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmaEps",
-            coeffDict_,
-            1.3
-        )
-    ),
-    C1Ref_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C1Ref",
-            coeffDict_,
-            0.5
-        )
-    ),
-    C2Ref_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C2Ref",
-            coeffDict_,
-            0.3
-        )
-    ),
-    couplingFactor_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "couplingFactor",
-            coeffDict_,
-            0.0
-        )
-    ),
-
-    n_(wallDist::New(mesh_).n()),
-    y_(wallDist::New(mesh_).y()),
-
-    R_
-    (
-        IOobject
-        (
-            "R",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateR("R", mesh_)
-    ),
-    k_
-    (
-        IOobject
-        (
-            "k",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateK("k", mesh_)
-    ),
-    epsilon_
-    (
-        IOobject
-        (
-            "epsilon",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateEpsilon("epsilon", mesh_)
-    ),
-    nut_
-    (
-        IOobject
-        (
-            "nut",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateNut("nut", mesh_)
-    )
-{
-    bound(k_, kMin_);
-    bound(epsilon_, epsilonMin_);
-
-    nut_ = Cmu_*sqr(k_)/epsilon_;
-    nut_.correctBoundaryConditions();
-
-    if (couplingFactor_.value() < 0.0 || couplingFactor_.value() > 1.0)
-    {
-        FatalErrorIn
-        (
-            "LaunderGibsonRSTM::LaunderGibsonRSTM"
-            "(const volVectorField& U, const surfaceScalarField& phi,"
-            "transportModel& transport)"
-        )   << "couplingFactor = " << couplingFactor_
-            << " is not in range 0 - 1" << nl
-            << exit(FatalError);
-    }
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volSymmTensorField> LaunderGibsonRSTM::devReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            R_ - nu()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> LaunderGibsonRSTM::divDevReff(volVectorField& U) const
-{
-    if (couplingFactor_.value() > 0.0)
-    {
-        return
-        (
-            fvc::div(R_ + couplingFactor_*nut_*fvc::grad(U), "div(R)")
-          + fvc::laplacian
-            (
-                (1.0 - couplingFactor_)*nut_,
-                U,
-                "laplacian(nuEff,U)"
-            )
-          - fvm::laplacian(nuEff(), U)
-        );
-    }
-    else
-    {
-        return
-        (
-            fvc::div(R_)
-          + fvc::laplacian(nut_, U, "laplacian(nuEff,U)")
-          - fvm::laplacian(nuEff(), U)
-        );
-    }
-}
-
-
-tmp<fvVectorMatrix> LaunderGibsonRSTM::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    volScalarField muEff("muEff", rho*nuEff());
-
-    if (couplingFactor_.value() > 0.0)
-    {
-        return
-        (
-            fvc::div
-            (
-                rho*R_ + couplingFactor_*(rho*nut_)*fvc::grad(U),
-                "div((rho*R))"
-            )
-          + fvc::laplacian
-            (
-                (1.0 - couplingFactor_)*rho*nut_,
-                U,
-                "laplacian(muEff,U)"
-            )
-          - fvm::laplacian(muEff, U)
-        );
-    }
-    else
-    {
-        return
-        (
-            fvc::div(rho*R_)
-          + fvc::laplacian(rho*nut_, U, "laplacian(muEff,U)")
-          - fvm::laplacian(muEff, U)
-        );
-    }
-}
-
-
-bool LaunderGibsonRSTM::read()
-{
-    if (RASModel::read())
-    {
-        Cmu_.readIfPresent(coeffDict());
-        kappa_.readIfPresent(coeffDict());
-        Clg1_.readIfPresent(coeffDict());
-        Clg2_.readIfPresent(coeffDict());
-        C1_.readIfPresent(coeffDict());
-        C2_.readIfPresent(coeffDict());
-        Cs_.readIfPresent(coeffDict());
-        Ceps_.readIfPresent(coeffDict());
-        sigmaR_.readIfPresent(coeffDict());
-        sigmaEps_.readIfPresent(coeffDict());
-        C1Ref_.readIfPresent(coeffDict());
-        C2Ref_.readIfPresent(coeffDict());
-
-        couplingFactor_.readIfPresent(coeffDict());
-
-        if (couplingFactor_.value() < 0.0 || couplingFactor_.value() > 1.0)
-        {
-            FatalErrorIn("LaunderGibsonRSTM::read()")
-                << "couplingFactor = " << couplingFactor_
-                << " is not in range 0 - 1"
-                << exit(FatalError);
-        }
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-void LaunderGibsonRSTM::correct()
-{
-    RASModel::correct();
-
-    if (!turbulence_)
-    {
-        return;
-    }
-
-    volSymmTensorField P(-twoSymm(R_ & fvc::grad(U_)));
-    volScalarField G(GName(), 0.5*mag(tr(P)));
-
-    // Update epsilon and G at the wall
-    epsilon_.boundaryField().updateCoeffs();
-
-    // Dissipation equation
-    tmp<fvScalarMatrix> epsEqn
-    (
-        fvm::ddt(epsilon_)
-      + fvm::div(phi_, epsilon_)
-    //- fvm::laplacian(Ceps*(k_/epsilon_)*R_, epsilon_)
-      - fvm::laplacian(DepsilonEff(), epsilon_)
-     ==
-        C1_*G*epsilon_/k_
-      - fvm::Sp(C2_*epsilon_/k_, epsilon_)
-    );
-
-    epsEqn().relax();
-
-    epsEqn().boundaryManipulate(epsilon_.boundaryField());
-
-    solve(epsEqn);
-    bound(epsilon_, epsilonMin_);
-
-
-    // Reynolds stress equation
-
-    const fvPatchList& patches = mesh_.boundary();
-
-    forAll(patches, patchi)
-    {
-        const fvPatch& curPatch = patches[patchi];
-
-        if (isA<wallFvPatch>(curPatch))
-        {
-            forAll(curPatch, facei)
-            {
-                label faceCelli = curPatch.faceCells()[facei];
-                P[faceCelli] *=
-                    min(G[faceCelli]/(0.5*mag(tr(P[faceCelli])) + SMALL), 1.0);
-            }
-        }
-    }
-
-    const volSymmTensorField reflect
-    (
-        C1Ref_*epsilon_/k_*R_ - C2Ref_*Clg2_*dev(P)
-    );
-
-    tmp<fvSymmTensorMatrix> REqn
-    (
-        fvm::ddt(R_)
-      + fvm::div(phi_, R_)
-    //- fvm::laplacian(Cs*(k_/epsilon_)*R_, R_)
-      - fvm::laplacian(DREff(), R_)
-      + fvm::Sp(Clg1_*epsilon_/k_, R_)
-      ==
-        P
-      + (2.0/3.0*(Clg1_ - 1)*I)*epsilon_
-      - Clg2_*dev(P)
-
-        // wall reflection terms
-      + symm
-        (
-            I*((n_ & reflect) & n_)
-          - 1.5*(n_*(reflect & n_)
-          + (n_ & reflect)*n_)
-        )*pow(Cmu_, 0.75)*pow(k_, 1.5)/(kappa_*y_*epsilon_)
-    );
-
-    REqn().relax();
-    solve(REqn);
-
-    R_.max
-    (
-        dimensionedSymmTensor
-        (
-            "zero",
-            R_.dimensions(),
-            symmTensor
-            (
-                kMin_.value(), -GREAT, -GREAT,
-                kMin_.value(), -GREAT,
-                kMin_.value()
-            )
-        )
-    );
-
-    k_ == 0.5*tr(R_);
-    bound(k_, kMin_);
-
-
-    // Re-calculate turbulent viscosity
-    nut_ = Cmu_*sqr(k_)/epsilon_;
-    nut_.correctBoundaryConditions();
-
-
-    // Correct wall shear stresses
-
-    forAll(patches, patchi)
-    {
-        const fvPatch& curPatch = patches[patchi];
-
-        if (isA<wallFvPatch>(curPatch))
-        {
-            symmTensorField& Rw = R_.boundaryField()[patchi];
-
-            const scalarField& nutw = nut_.boundaryField()[patchi];
-
-            const vectorField snGradU(U_.boundaryField()[patchi].snGrad());
-
-            const vectorField& faceAreas
-                = mesh_.Sf().boundaryField()[patchi];
-
-            const scalarField& magFaceAreas
-                = mesh_.magSf().boundaryField()[patchi];
-
-            forAll(curPatch, facei)
-            {
-                // Calculate near-wall velocity gradient
-                tensor gradUw
-                    = (faceAreas[facei]/magFaceAreas[facei])*snGradU[facei];
-
-                // Calculate near-wall shear-stress tensor
-                tensor tauw = -nutw[facei]*2*symm(gradUw);
-
-                // Reset the shear components of the stress tensor
-                Rw[facei].xy() = tauw.xy();
-                Rw[facei].xz() = tauw.xz();
-                Rw[facei].yz() = tauw.yz();
-            }
-        }
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.H b/src/turbulenceModels/incompressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.H
deleted file mode 100644
index 921e2f4685f..00000000000
--- a/src/turbulenceModels/incompressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.H
+++ /dev/null
@@ -1,216 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::RASModels::LaunderGibsonRSTM
-
-Group
-    grpIcoRASTurbulence
-
-Description
-    Launder-Gibson Reynolds stress turbulence model for incompressible flows.
-
-    The default model coefficients correspond to the following:
-    \verbatim
-        LaunderGibsonRSTMCoeffs
-        {
-            Cmu         0.09;
-            kappa       0.41;
-            Clg1        1.8;
-            Clg2        0.6;
-            C1          1.44;
-            C2          1.92;
-            C1Ref       0.5;
-            C2Ref       0.3;
-            Cs          0.25;
-            Ceps        0.15;
-            sigmaEps    1.3;
-            sigmaR      0.81967;
-            couplingFactor  0.0;
-        }
-    \endverbatim
-
-SourceFiles
-    LaunderGibsonRSTM.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef LaunderGibsonRSTM_H
-#define LaunderGibsonRSTM_H
-
-#include "RASModel.H"
-#include "wallDist.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace RASModels
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class LaunderGibsonRSTM Declaration
-\*---------------------------------------------------------------------------*/
-
-class LaunderGibsonRSTM
-:
-    public RASModel
-{
-
-protected:
-
-    // Protected data
-
-        // Model coefficients
-
-            dimensionedScalar Cmu_;
-            dimensionedScalar kappa_;
-
-            dimensionedScalar Clg1_;
-            dimensionedScalar Clg2_;
-
-            dimensionedScalar C1_;
-            dimensionedScalar C2_;
-            dimensionedScalar Cs_;
-            dimensionedScalar Ceps_;
-            dimensionedScalar sigmaR_;
-            dimensionedScalar sigmaEps_;
-
-            dimensionedScalar C1Ref_;
-            dimensionedScalar C2Ref_;
-
-            dimensionedScalar couplingFactor_;
-
-
-        // Fields
-
-            const volVectorField& n_;
-            const volScalarField& y_;
-
-            volSymmTensorField R_;
-            volScalarField k_;
-            volScalarField epsilon_;
-            volScalarField nut_;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("LaunderGibsonRSTM");
-
-    // Constructors
-
-        //- Construct from components
-        LaunderGibsonRSTM
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~LaunderGibsonRSTM()
-    {}
-
-
-    // Member Functions
-
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> nut() const
-        {
-            return nut_;
-        }
-
-        //- Return the effective diffusivity for R
-        tmp<volScalarField> DREff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DREff", nut_/sigmaR_ + nu())
-            );
-        }
-
-        //- Return the effective diffusivity for epsilon
-        tmp<volScalarField> DepsilonEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DepsilonEff", nut_/sigmaEps_ + nu())
-            );
-        }
-
-        //- Return the turbulence kinetic energy
-        virtual tmp<volScalarField> k() const
-        {
-            return k_;
-        }
-
-        //- Return the turbulence kinetic energy dissipation rate
-        virtual tmp<volScalarField> epsilon() const
-        {
-            return epsilon_;
-        }
-
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const
-        {
-            return R_;
-        }
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const;
-
-        //- Solve the turbulence equations and correct the turbulence viscosity
-        virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/LaunderSharmaKE/LaunderSharmaKE.C b/src/turbulenceModels/incompressible/RAS/LaunderSharmaKE/LaunderSharmaKE.C
deleted file mode 100644
index 9c451b4ce7b..00000000000
--- a/src/turbulenceModels/incompressible/RAS/LaunderSharmaKE/LaunderSharmaKE.C
+++ /dev/null
@@ -1,309 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "LaunderSharmaKE.H"
-#include "addToRunTimeSelectionTable.H"
-
-#include "backwardsCompatibilityWallFunctions.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace RASModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(LaunderSharmaKE, 0);
-addToRunTimeSelectionTable(RASModel, LaunderSharmaKE, dictionary);
-
-// * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * * //
-
-tmp<volScalarField> LaunderSharmaKE::fMu() const
-{
-    return exp(-3.4/sqr(scalar(1) + sqr(k_)/(nu()*epsilonTilda_)/50.0));
-}
-
-
-tmp<volScalarField> LaunderSharmaKE::f2() const
-{
-    return
-        scalar(1)
-      - 0.3*exp(-min(sqr(sqr(k_)/(nu()*epsilonTilda_)), scalar(50.0)));
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-LaunderSharmaKE::LaunderSharmaKE
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    RASModel(modelName, U, phi, transport, turbulenceModelName),
-
-    Cmu_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cmu",
-            coeffDict_,
-            0.09
-        )
-    ),
-    C1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C1",
-            coeffDict_,
-            1.44
-        )
-    ),
-    C2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C2",
-            coeffDict_,
-            1.92
-        )
-    ),
-    sigmaEps_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmaEps",
-            coeffDict_,
-            1.3
-        )
-    ),
-
-    k_
-    (
-        IOobject
-        (
-            "k",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-
-    epsilonTilda_
-    (
-        IOobject
-        (
-            "epsilon",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-
-    nut_
-    (
-        IOobject
-        (
-            "nut",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateLowReNut("nut", mesh_)
-    )
-{
-    bound(k_, kMin_);
-    bound(epsilonTilda_, epsilonMin_);
-
-    nut_ = Cmu_*fMu()*sqr(k_)/epsilonTilda_;
-    nut_.correctBoundaryConditions();
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volSymmTensorField> LaunderSharmaKE::R() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "R",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            ((2.0/3.0)*I)*k_ - nut_*twoSymm(fvc::grad(U_)),
-            k_.boundaryField().types()
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> LaunderSharmaKE::devReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-           -nuEff()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> LaunderSharmaKE::divDevReff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(nuEff(), U)
-      - fvc::div(nuEff()*dev(T(fvc::grad(U))))
-    );
-}
-
-
-tmp<fvVectorMatrix> LaunderSharmaKE::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    volScalarField muEff("muEff", rho*nuEff());
-
-    return
-    (
-      - fvm::laplacian(muEff, U)
-      - fvc::div(muEff*dev(T(fvc::grad(U))))
-    );
-}
-
-
-bool LaunderSharmaKE::read()
-{
-    if (RASModel::read())
-    {
-        Cmu_.readIfPresent(coeffDict());
-        C1_.readIfPresent(coeffDict());
-        C2_.readIfPresent(coeffDict());
-        sigmaEps_.readIfPresent(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-void LaunderSharmaKE::correct()
-{
-    RASModel::correct();
-
-    if (!turbulence_)
-    {
-        return;
-    }
-
-    tmp<volScalarField> S2 = 2*magSqr(symm(fvc::grad(U_)));
-
-    volScalarField G(GName(), nut_*S2);
-
-    const volScalarField E(2.0*nu()*nut_*fvc::magSqrGradGrad(U_));
-    const volScalarField D(2.0*nu()*magSqr(fvc::grad(sqrt(k_))));
-
-
-    // Dissipation rate equation
-
-    tmp<fvScalarMatrix> epsEqn
-    (
-        fvm::ddt(epsilonTilda_)
-      + fvm::div(phi_, epsilonTilda_)
-      - fvm::laplacian(DepsilonEff(), epsilonTilda_)
-     ==
-        C1_*G*epsilonTilda_/k_
-      - fvm::Sp(C2_*f2()*epsilonTilda_/k_, epsilonTilda_)
-      + E
-    );
-
-    epsEqn().relax();
-    solve(epsEqn);
-    bound(epsilonTilda_, epsilonMin_);
-
-
-    // Turbulent kinetic energy equation
-
-    tmp<fvScalarMatrix> kEqn
-    (
-        fvm::ddt(k_)
-      + fvm::div(phi_, k_)
-      - fvm::laplacian(DkEff(), k_)
-     ==
-        G - fvm::Sp((epsilonTilda_ + D)/k_, k_)
-    );
-
-    kEqn().relax();
-    solve(kEqn);
-    bound(k_, kMin_);
-
-
-    // Re-calculate viscosity
-    nut_ == Cmu_*fMu()*sqr(k_)/epsilonTilda_;
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/LaunderSharmaKE/LaunderSharmaKE.H b/src/turbulenceModels/incompressible/RAS/LaunderSharmaKE/LaunderSharmaKE.H
deleted file mode 100644
index 0d628a7471e..00000000000
--- a/src/turbulenceModels/incompressible/RAS/LaunderSharmaKE/LaunderSharmaKE.H
+++ /dev/null
@@ -1,195 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::RASModels::LaunderSharmaKE
-
-Group
-    grpIcoRASTurbulence
-
-Description
-    Launder and Sharma low-Reynolds k-epsilon turbulence model for
-    incompressible flows.
-
-    The default model coefficients correspond to the following:
-    \verbatim
-        LaunderSharmaKECoeffs
-        {
-            Cmu         0.09;
-            C1          1.44;
-            C2          1.92;
-            C3          -0.33;
-            sigmaEps    1.3;
-        }
-    \endverbatim
-
-SourceFiles
-    LaunderSharmaKE.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef LaunderSharmaKE_H
-#define LaunderSharmaKE_H
-
-#include "RASModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace RASModels
-{
-
-/*---------------------------------------------------------------------------*\
-                       Class LaunderSharmaKE Declaration
-\*---------------------------------------------------------------------------*/
-
-class LaunderSharmaKE
-:
-    public RASModel
-{
-
-protected:
-
-    // Protected data
-
-        // Model coefficients
-
-            dimensionedScalar Cmu_;
-            dimensionedScalar C1_;
-            dimensionedScalar C2_;
-            dimensionedScalar sigmaEps_;
-
-
-        // Fields
-
-            volScalarField k_;
-            volScalarField epsilonTilda_;
-            volScalarField nut_;
-
-
-    // Protected Member Functions
-
-        tmp<volScalarField> fMu() const;
-        tmp<volScalarField> f2() const;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("LaunderSharmaKE");
-
-    // Constructors
-
-        //- Construct from components
-        LaunderSharmaKE
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~LaunderSharmaKE()
-    {}
-
-
-    // Member Functions
-
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> nut() const
-        {
-            return nut_;
-        }
-
-        //- Return the effective diffusivity for k
-        tmp<volScalarField> DkEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DkEff", nut_ + nu())
-            );
-        }
-
-        //- Return the effective diffusivity for epsilon
-        tmp<volScalarField> DepsilonEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DepsilonEff", nut_/sigmaEps_ + nu())
-            );
-        }
-
-        //- Return the turbulence kinetic energy
-        virtual tmp<volScalarField> k() const
-        {
-            return k_;
-        }
-
-        //- Note that epsilonTilda is returned as epsilon.
-        //  This is the appropriate variable for most purposes.
-        virtual tmp<volScalarField> epsilon() const
-        {
-            return epsilonTilda_;
-        }
-
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const;
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const;
-
-        //- Solve the turbulence equations and correct the turbulence viscosity
-        virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/Make/files b/src/turbulenceModels/incompressible/RAS/Make/files
deleted file mode 100644
index bb0258c6f4a..00000000000
--- a/src/turbulenceModels/incompressible/RAS/Make/files
+++ /dev/null
@@ -1,66 +0,0 @@
-RASModel/RASModel.C
-
-laminar/laminar.C
-kEpsilon/kEpsilon.C
-RNGkEpsilon/RNGkEpsilon.C
-realizableKE/realizableKE.C
-kOmega/kOmega.C
-kOmegaSST/kOmegaSST.C
-SpalartAllmaras/SpalartAllmaras.C
-LRR/LRR.C
-LaunderGibsonRSTM/LaunderGibsonRSTM.C
-LaunderSharmaKE/LaunderSharmaKE.C
-qZeta/qZeta.C
-LienCubicKE/LienCubicKE.C
-LienCubicKELowRe/LienCubicKELowRe.C
-NonlinearKEShih/NonlinearKEShih.C
-LienLeschzinerLowRe/LienLeschzinerLowRe.C
-LamBremhorstKE/LamBremhorstKE.C
-kkLOmega/kkLOmega.C
-v2f/v2f.C
-
-/* Wall functions */
-wallFunctions = derivedFvPatchFields/wallFunctions
-
-nutWallFunctions = $(wallFunctions)/nutWallFunctions
-$(nutWallFunctions)/nutWallFunction/nutWallFunctionFvPatchScalarField.C
-
-$(nutWallFunctions)/nutkWallFunction/nutkWallFunctionFvPatchScalarField.C
-$(nutWallFunctions)/nutkRoughWallFunction/nutkRoughWallFunctionFvPatchScalarField.C
-$(nutWallFunctions)/nutkAtmRoughWallFunction/nutkAtmRoughWallFunctionFvPatchScalarField.C
-
-$(nutWallFunctions)/nutUWallFunction/nutUWallFunctionFvPatchScalarField.C
-$(nutWallFunctions)/nutUSpaldingWallFunction/nutUSpaldingWallFunctionFvPatchScalarField.C
-$(nutWallFunctions)/nutUTabulatedWallFunction/nutUTabulatedWallFunctionFvPatchScalarField.C
-$(nutWallFunctions)/nutLowReWallFunction/nutLowReWallFunctionFvPatchScalarField.C
-$(nutWallFunctions)/nutURoughWallFunction/nutURoughWallFunctionFvPatchScalarField.C
-
-epsilonWallFunctions = $(wallFunctions)/epsilonWallFunctions
-$(epsilonWallFunctions)/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C
-$(epsilonWallFunctions)/epsilonLowReWallFunction/epsilonLowReWallFunctionFvPatchScalarField.C
-
-fWallFunctions = $(wallFunctions)/fWallFunctions
-$(fWallFunctions)/fWallFunction/fWallFunctionFvPatchScalarField.C
-
-omegaWallFunctions = $(wallFunctions)/omegaWallFunctions
-$(omegaWallFunctions)/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C
-
-kqRWallFunctions = $(wallFunctions)/kqRWallFunctions
-$(kqRWallFunctions)/kqRWallFunction/kqRWallFunctionFvPatchFields.C
-$(kqRWallFunctions)/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.C
-
-alphatWallFunctions = $(wallFunctions)/alphatWallFunctions
-$(alphatWallFunctions)/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
-
-v2WallFunctions = $(wallFunctions)/v2WallFunctions
-$(v2WallFunctions)/v2WallFunction/v2WallFunctionFvPatchScalarField.C
-
-/* Patch fields */
-derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.C
-derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.C
-derivedFvPatchFields/atmBoundaryLayerInletK/atmBoundaryLayerInletKFvPatchScalarField.C
-derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.C
-
-backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctions.C
-
-LIB = $(FOAM_LIBBIN)/libincompressibleRASModels
diff --git a/src/turbulenceModels/incompressible/RAS/Make/options b/src/turbulenceModels/incompressible/RAS/Make/options
deleted file mode 100644
index a5242e05ee4..00000000000
--- a/src/turbulenceModels/incompressible/RAS/Make/options
+++ /dev/null
@@ -1,11 +0,0 @@
-EXE_INC = \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel/lnInclude \
-    -I$(LIB_SRC)/transportModels \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude
-
-LIB_LIBS = \
-    -lincompressibleTurbulenceModel \
-    -lfiniteVolume \
-    -lmeshTools
diff --git a/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C b/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C
deleted file mode 100644
index 47f80f23e84..00000000000
--- a/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C
+++ /dev/null
@@ -1,206 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "RASModel.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(RASModel, 0);
-defineRunTimeSelectionTable(RASModel, dictionary);
-addToRunTimeSelectionTable(turbulenceModel, RASModel, turbulenceModel);
-
-// * * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * //
-
-void RASModel::printCoeffs()
-{
-    if (printCoeffs_)
-    {
-        Info<< type() << "Coeffs" << coeffDict_ << endl;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-RASModel::RASModel
-(
-    const word& type,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName
-)
-:
-    turbulenceModel(U, phi, transport, turbulenceModelName),
-
-    IOdictionary
-    (
-        IOobject
-        (
-            "RASProperties",
-            U.time().constant(),
-            U.db(),
-            IOobject::MUST_READ_IF_MODIFIED,
-            IOobject::NO_WRITE
-        )
-    ),
-
-    turbulence_(lookup("turbulence")),
-    printCoeffs_(lookupOrDefault<Switch>("printCoeffs", false)),
-    coeffDict_(subOrEmptyDict(type + "Coeffs")),
-
-    kMin_("kMin", sqr(dimVelocity), SMALL),
-    epsilonMin_("epsilonMin", kMin_.dimensions()/dimTime, SMALL),
-    omegaMin_("omegaMin", dimless/dimTime, SMALL)
-{
-    kMin_.readIfPresent(*this);
-    epsilonMin_.readIfPresent(*this);
-    omegaMin_.readIfPresent(*this);
-
-    // Force the construction of the mesh deltaCoeffs which may be needed
-    // for the construction of the derived models and BCs
-    mesh_.deltaCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * //
-
-autoPtr<RASModel> RASModel::New
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName
-)
-{
-    // get model name, but do not register the dictionary
-    // otherwise it is registered in the database twice
-    const word modelType
-    (
-        IOdictionary
-        (
-            IOobject
-            (
-                "RASProperties",
-                U.time().constant(),
-                U.db(),
-                IOobject::MUST_READ_IF_MODIFIED,
-                IOobject::NO_WRITE,
-                false
-            )
-        ).lookup("RASModel")
-    );
-
-    Info<< "Selecting RAS turbulence model " << modelType << endl;
-
-    dictionaryConstructorTable::iterator cstrIter =
-        dictionaryConstructorTablePtr_->find(modelType);
-
-    if (cstrIter == dictionaryConstructorTablePtr_->end())
-    {
-        FatalErrorIn
-        (
-            "RASModel::New"
-            "("
-                "const volVectorField&, "
-                "const surfaceScalarField&, "
-                "transportModel&, "
-                "const word&"
-            ")"
-        )   << "Unknown RASModel type "
-            << modelType << nl << nl
-            << "Valid RASModel types:" << endl
-            << dictionaryConstructorTablePtr_->sortedToc()
-            << exit(FatalError);
-    }
-
-    return autoPtr<RASModel>
-    (
-        cstrIter()(U, phi, transport, turbulenceModelName)
-    );
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void RASModel::correct()
-{
-    turbulenceModel::correct();
-}
-
-
-bool RASModel::read()
-{
-    //if (regIOobject::read())
-
-    // Bit of trickery : we are both IOdictionary ('RASProperties') and
-    // an regIOobject from the turbulenceModel level. Problem is to distinguish
-    // between the two - we only want to reread the IOdictionary.
-
-    bool ok = IOdictionary::readData
-    (
-        IOdictionary::readStream
-        (
-            IOdictionary::type()
-        )
-    );
-    IOdictionary::close();
-
-    if (ok)
-    {
-        lookup("turbulence") >> turbulence_;
-
-        if (const dictionary* dictPtr = subDictPtr(type() + "Coeffs"))
-        {
-            coeffDict_ <<= *dictPtr;
-        }
-
-        kMin_.readIfPresent(*this);
-        epsilonMin_.readIfPresent(*this);
-        omegaMin_.readIfPresent(*this);
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.H b/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.H
deleted file mode 100644
index 08c63d220bf..00000000000
--- a/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.H
+++ /dev/null
@@ -1,243 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Namespace
-    Foam::incompressible::RASModels
-
-Group
-    grpIcoRASTurbulence
-
-Description
-    Namespace for incompressible RAS turbulence models.
-
-Class
-    Foam::incompressible::RASModel
-
-Description
-    Abstract base class for incompressible turbulence models.
-
-SourceFiles
-    RASModel.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef RASModel_H
-#define RASModel_H
-
-#include "incompressible/turbulenceModel/turbulenceModel.H"
-#include "volFields.H"
-#include "surfaceFields.H"
-#include "fvm.H"
-#include "fvc.H"
-#include "fvMatrices.H"
-#include "incompressible/transportModel/transportModel.H"
-#include "IOdictionary.H"
-#include "Switch.H"
-#include "bound.H"
-#include "autoPtr.H"
-#include "runTimeSelectionTables.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class RASModel Declaration
-\*---------------------------------------------------------------------------*/
-
-class RASModel
-:
-    public turbulenceModel,
-    public IOdictionary
-{
-
-protected:
-
-    // Protected data
-
-        //- Turbulence on/off flag
-        Switch turbulence_;
-
-        //- Flag to print the model coeffs at run-time
-        Switch printCoeffs_;
-
-        //- Model coefficients dictionary
-        dictionary coeffDict_;
-
-        //- Lower limit of k
-        dimensionedScalar kMin_;
-
-        //- Lower limit of epsilon
-        dimensionedScalar epsilonMin_;
-
-        //- Lower limit for omega
-        dimensionedScalar omegaMin_;
-
-
-    // Protected Member Functions
-
-        //- Print model coefficients
-        virtual void printCoeffs();
-
-
-private:
-
-    // Private Member Functions
-
-        //- Disallow default bitwise copy construct
-        RASModel(const RASModel&);
-
-        //- Disallow default bitwise assignment
-        void operator=(const RASModel&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("RASModel");
-
-
-    // Declare run-time constructor selection table
-
-        declareRunTimeSelectionTable
-        (
-            autoPtr,
-            RASModel,
-            dictionary,
-            (
-                const volVectorField& U,
-                const surfaceScalarField& phi,
-                const transportModel& transport,
-                const word& turbulenceModelName
-            ),
-            (U, phi, transport, turbulenceModelName)
-        );
-
-
-    // Constructors
-
-        //- Construct from components
-        RASModel
-        (
-            const word& type,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName
-        );
-
-
-    // Selectors
-
-        //- Return a reference to the selected RAS model
-        static autoPtr<RASModel> New
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName
-        );
-
-
-    //- Destructor
-    virtual ~RASModel()
-    {}
-
-
-    // Member Functions
-
-        // Access
-
-            //- Return the lower allowable limit for k (default: SMALL)
-            const dimensionedScalar& kMin() const
-            {
-                return kMin_;
-            }
-
-            //- Return the lower allowable limit for epsilon (default: SMALL)
-            const dimensionedScalar& epsilonMin() const
-            {
-                return epsilonMin_;
-            }
-
-            //- Return the lower allowable limit for omega (default: SMALL)
-            const dimensionedScalar& omegaMin() const
-            {
-                return omegaMin_;
-            }
-
-            //- Allow kMin to be changed
-            dimensionedScalar& kMin()
-            {
-                return kMin_;
-            }
-
-            //- Allow epsilonMin to be changed
-            dimensionedScalar& epsilonMin()
-            {
-                return epsilonMin_;
-            }
-
-            //- Allow omegaMin to be changed
-            dimensionedScalar& omegaMin()
-            {
-                return omegaMin_;
-            }
-
-            //- Const access to the coefficients dictionary
-            virtual const dictionary& coeffDict() const
-            {
-                return coeffDict_;
-            }
-
-
-        //- Return the effective viscosity
-        virtual tmp<volScalarField> nuEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("nuEff", nut() + nu())
-            );
-        }
-
-        //- Solve the turbulence equations and correct the turbulence viscosity
-        virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/RASModel/RASModelDoc.H b/src/turbulenceModels/incompressible/RAS/RASModel/RASModelDoc.H
deleted file mode 100644
index 216165664d2..00000000000
--- a/src/turbulenceModels/incompressible/RAS/RASModel/RASModelDoc.H
+++ /dev/null
@@ -1,32 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-\defgroup grpIcoRASTurbulence Incompressible RAS turbulence
-@{
-    \ingroup grpIcoTurbulence
-    This group contains incompressible RAS models.
-@}
-    
-\*---------------------------------------------------------------------------*/
diff --git a/src/turbulenceModels/incompressible/RAS/SpalartAllmaras/SpalartAllmaras.C b/src/turbulenceModels/incompressible/RAS/SpalartAllmaras/SpalartAllmaras.C
deleted file mode 100644
index 5612ead2d37..00000000000
--- a/src/turbulenceModels/incompressible/RAS/SpalartAllmaras/SpalartAllmaras.C
+++ /dev/null
@@ -1,469 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "SpalartAllmaras.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace RASModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(SpalartAllmaras, 0);
-addToRunTimeSelectionTable(RASModel, SpalartAllmaras, dictionary);
-
-// * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * * //
-
-tmp<volScalarField> SpalartAllmaras::chi() const
-{
-    return nuTilda_/nu();
-}
-
-
-tmp<volScalarField> SpalartAllmaras::fv1(const volScalarField& chi) const
-{
-    const volScalarField chi3(pow3(chi));
-    return chi3/(chi3 + pow3(Cv1_));
-}
-
-
-tmp<volScalarField> SpalartAllmaras::fv2
-(
-    const volScalarField& chi,
-    const volScalarField& fv1
-) const
-{
-    if (ashfordCorrection_)
-    {
-        return 1.0/pow3(scalar(1) + chi/Cv2_);
-    }
-    else
-    {
-        return 1.0 - chi/(1.0 + chi*fv1);
-    }
-}
-
-
-tmp<volScalarField> SpalartAllmaras::fv3
-(
-    const volScalarField& chi,
-    const volScalarField& fv1
-) const
-{
-    if (ashfordCorrection_)
-    {
-        const volScalarField chiByCv2((1/Cv2_)*chi);
-
-        return
-            (scalar(1) + chi*fv1)
-           *(1/Cv2_)
-           *(3*(scalar(1) + chiByCv2) + sqr(chiByCv2))
-           /pow3(scalar(1) + chiByCv2);
-    }
-    else
-    {
-        return tmp<volScalarField>
-        (
-            new volScalarField
-            (
-                IOobject
-                (
-                    "fv3",
-                    mesh_.time().timeName(),
-                    mesh_,
-                    IOobject::NO_READ,
-                    IOobject::NO_WRITE
-                ),
-                mesh_,
-                dimensionedScalar("fv3", dimless, 1),
-                zeroGradientFvPatchScalarField::typeName
-            )
-        );
-    }
-}
-
-
-tmp<volScalarField> SpalartAllmaras::fw(const volScalarField& Stilda) const
-{
-    volScalarField r
-    (
-        min
-        (
-            nuTilda_
-           /(
-               max
-               (
-                   Stilda,
-                   dimensionedScalar("SMALL", Stilda.dimensions(), SMALL)
-               )
-              *sqr(kappa_*y_)
-            ),
-            scalar(10.0)
-        )
-    );
-    r.boundaryField() == 0.0;
-
-    const volScalarField g(r + Cw2_*(pow6(r) - r));
-
-    return g*pow((1.0 + pow6(Cw3_))/(pow6(g) + pow6(Cw3_)), 1.0/6.0);
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-SpalartAllmaras::SpalartAllmaras
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    RASModel(modelName, U, phi, transport, turbulenceModelName),
-
-    sigmaNut_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmaNut",
-            coeffDict_,
-            0.66666
-        )
-    ),
-    kappa_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "kappa",
-            coeffDict_,
-            0.41
-        )
-    ),
-
-    Cb1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cb1",
-            coeffDict_,
-            0.1355
-        )
-    ),
-    Cb2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cb2",
-            coeffDict_,
-            0.622
-        )
-    ),
-    Cw1_(Cb1_/sqr(kappa_) + (1.0 + Cb2_)/sigmaNut_),
-    Cw2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cw2",
-            coeffDict_,
-            0.3
-        )
-    ),
-    Cw3_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cw3",
-            coeffDict_,
-            2.0
-        )
-    ),
-    Cv1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cv1",
-            coeffDict_,
-            7.1
-        )
-    ),
-    Cv2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cv2",
-            coeffDict_,
-            5.0
-        )
-    ),
-
-    ashfordCorrection_(coeffDict_.lookupOrDefault("ashfordCorrection", true)),
-
-    nuTilda_
-    (
-        IOobject
-        (
-            "nuTilda",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-
-    nut_
-    (
-        IOobject
-        (
-            "nut",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    ),
-
-    y_(wallDist::New(mesh_).y())
-{
-    printCoeffs();
-
-    if (ashfordCorrection_)
-    {
-        Info<< "    Employing Ashford correction" << endl;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volScalarField> SpalartAllmaras::DnuTildaEff() const
-{
-    return tmp<volScalarField>
-    (
-        new volScalarField("DnuTildaEff", (nuTilda_ + nu())/sigmaNut_)
-    );
-}
-
-
-tmp<volScalarField> SpalartAllmaras::k() const
-{
-    WarningIn("tmp<volScalarField> SpalartAllmaras::k() const")
-        << "Turbulence kinetic energy not defined for Spalart-Allmaras model. "
-        << "Returning zero field" << endl;
-
-    return tmp<volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "k",
-                runTime_.timeName(),
-                mesh_
-            ),
-            mesh_,
-            dimensionedScalar("0", dimensionSet(0, 2, -2, 0, 0), 0)
-        )
-    );
-}
-
-
-tmp<volScalarField> SpalartAllmaras::epsilon() const
-{
-    WarningIn("tmp<volScalarField> SpalartAllmaras::epsilon() const")
-        << "Turbulence kinetic energy dissipation rate not defined for "
-        << "Spalart-Allmaras model. Returning zero field"
-        << endl;
-
-    return tmp<volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "epsilon",
-                runTime_.timeName(),
-                mesh_
-            ),
-            mesh_,
-            dimensionedScalar("0", dimensionSet(0, 2, -3, 0, 0), 0)
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> SpalartAllmaras::R() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "R",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            ((2.0/3.0)*I)*k() - nut()*twoSymm(fvc::grad(U_))
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> SpalartAllmaras::devReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-           -nuEff()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> SpalartAllmaras::divDevReff(volVectorField& U) const
-{
-    const volScalarField nuEff_(nuEff());
-
-    return
-    (
-      - fvm::laplacian(nuEff_, U)
-      - fvc::div(nuEff_*dev(T(fvc::grad(U))))
-    );
-}
-
-
-tmp<fvVectorMatrix> SpalartAllmaras::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    volScalarField muEff("muEff", rho*nuEff());
-
-    return
-    (
-      - fvm::laplacian(muEff, U)
-      - fvc::div(muEff*dev(T(fvc::grad(U))))
-    );
-}
-
-
-bool SpalartAllmaras::read()
-{
-    if (RASModel::read())
-    {
-        sigmaNut_.readIfPresent(coeffDict());
-        kappa_.readIfPresent(coeffDict());
-
-        Cb1_.readIfPresent(coeffDict());
-        Cb2_.readIfPresent(coeffDict());
-        Cw1_ = Cb1_/sqr(kappa_) + (1.0 + Cb2_)/sigmaNut_;
-        Cw2_.readIfPresent(coeffDict());
-        Cw3_.readIfPresent(coeffDict());
-        Cv1_.readIfPresent(coeffDict());
-        Cv2_.readIfPresent(coeffDict());
-
-        ashfordCorrection_.readIfPresent("ashfordCorrection", coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-void SpalartAllmaras::correct()
-{
-    RASModel::correct();
-
-    if (!turbulence_)
-    {
-        // Re-calculate viscosity
-        nut_ = nuTilda_*fv1(this->chi());
-        nut_.correctBoundaryConditions();
-
-        return;
-    }
-
-    const volScalarField chi(this->chi());
-    const volScalarField fv1(this->fv1(chi));
-
-    const volScalarField Stilda
-    (
-        fv3(chi, fv1)*::sqrt(2.0)*mag(skew(fvc::grad(U_)))
-      + fv2(chi, fv1)*nuTilda_/sqr(kappa_*y_)
-    );
-
-    tmp<fvScalarMatrix> nuTildaEqn
-    (
-        fvm::ddt(nuTilda_)
-      + fvm::div(phi_, nuTilda_)
-      - fvm::laplacian(DnuTildaEff(), nuTilda_)
-      - Cb2_/sigmaNut_*magSqr(fvc::grad(nuTilda_))
-     ==
-        Cb1_*Stilda*nuTilda_
-      - fvm::Sp(Cw1_*fw(Stilda)*nuTilda_/sqr(y_), nuTilda_)
-    );
-
-    nuTildaEqn().relax();
-    solve(nuTildaEqn);
-    bound(nuTilda_, dimensionedScalar("0", nuTilda_.dimensions(), 0.0));
-    nuTilda_.correctBoundaryConditions();
-
-    // Re-calculate viscosity
-    nut_.internalField() = fv1*nuTilda_.internalField();
-    nut_.correctBoundaryConditions();
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctions.C b/src/turbulenceModels/incompressible/RAS/backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctions.C
deleted file mode 100644
index df20a315f84..00000000000
--- a/src/turbulenceModels/incompressible/RAS/backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctions.C
+++ /dev/null
@@ -1,286 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "backwardsCompatibilityWallFunctions.H"
-
-#include "volFields.H"
-#include "calculatedFvPatchField.H"
-#include "nutkWallFunctionFvPatchScalarField.H"
-#include "nutLowReWallFunctionFvPatchScalarField.H"
-#include "epsilonWallFunctionFvPatchScalarField.H"
-#include "kqRWallFunctionFvPatchField.H"
-#include "omegaWallFunctionFvPatchScalarField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-tmp<volScalarField> autoCreateNut
-(
-    const word& fieldName,
-    const fvMesh& mesh
-)
-{
-    IOobject nutHeader
-    (
-        fieldName,
-        mesh.time().timeName(),
-        mesh,
-        IOobject::MUST_READ,
-        IOobject::NO_WRITE,
-        false
-    );
-
-    if (nutHeader.headerOk())
-    {
-        return tmp<volScalarField>(new volScalarField(nutHeader, mesh));
-    }
-    else
-    {
-        Info<< "--> Creating " << fieldName
-            << " to employ run-time selectable wall functions" << endl;
-
-        const fvBoundaryMesh& bm = mesh.boundary();
-
-        wordList nutBoundaryTypes(bm.size());
-
-        forAll(bm, patchI)
-        {
-            if (isA<wallFvPatch>(bm[patchI]))
-            {
-                nutBoundaryTypes[patchI] =
-                    nutkWallFunctionFvPatchScalarField::typeName;
-            }
-            else
-            {
-                nutBoundaryTypes[patchI] =
-                    calculatedFvPatchField<scalar>::typeName;
-            }
-        }
-
-        tmp<volScalarField> nut
-        (
-            new volScalarField
-            (
-                IOobject
-                (
-                    fieldName,
-                    mesh.time().timeName(),
-                    mesh,
-                    IOobject::NO_READ,
-                    IOobject::NO_WRITE,
-                    false
-                ),
-                mesh,
-                dimensionedScalar("zero", dimArea/dimTime, 0.0),
-                nutBoundaryTypes
-            )
-        );
-
-        Info<< "    Writing new " << fieldName << endl;
-        nut().write();
-
-        return nut;
-    }
-}
-
-
-tmp<volScalarField> autoCreateLowReNut
-(
-    const word& fieldName,
-    const fvMesh& mesh
-)
-{
-    IOobject nutHeader
-    (
-        fieldName,
-        mesh.time().timeName(),
-        mesh,
-        IOobject::MUST_READ,
-        IOobject::NO_WRITE,
-        false
-    );
-
-    if (nutHeader.headerOk())
-    {
-        return tmp<volScalarField>(new volScalarField(nutHeader, mesh));
-    }
-    else
-    {
-        Info<< "--> Creating " << fieldName
-            << " to employ run-time selectable wall functions" << endl;
-
-        const fvBoundaryMesh& bm = mesh.boundary();
-
-        wordList nutBoundaryTypes(bm.size());
-
-        forAll(bm, patchI)
-        {
-            if (isA<wallFvPatch>(bm[patchI]))
-            {
-                nutBoundaryTypes[patchI] =
-                    nutLowReWallFunctionFvPatchScalarField::typeName;
-            }
-            else
-            {
-                nutBoundaryTypes[patchI] =
-                    calculatedFvPatchField<scalar>::typeName;
-            }
-        }
-
-        tmp<volScalarField> nut
-        (
-            new volScalarField
-            (
-                IOobject
-                (
-                    fieldName,
-                    mesh.time().timeName(),
-                    mesh,
-                    IOobject::NO_READ,
-                    IOobject::NO_WRITE,
-                    false
-                ),
-                mesh,
-                dimensionedScalar("zero", dimArea/dimTime, 0.0),
-                nutBoundaryTypes
-            )
-        );
-
-        Info<< "    Writing new " << fieldName << endl;
-        nut().write();
-
-        return nut;
-    }
-}
-
-
-tmp<volScalarField> autoCreateEpsilon
-(
-    const word& fieldName,
-    const fvMesh& mesh
-)
-{
-    return
-        autoCreateWallFunctionField
-        <
-            scalar,
-            epsilonWallFunctionFvPatchScalarField
-        >
-        (
-            fieldName,
-            mesh
-        );
-}
-
-
-tmp<volScalarField> autoCreateOmega
-(
-    const word& fieldName,
-    const fvMesh& mesh
-)
-{
-    return
-        autoCreateWallFunctionField
-        <
-            scalar,
-            omegaWallFunctionFvPatchScalarField
-        >
-        (
-            fieldName,
-            mesh
-        );
-}
-
-
-tmp<volScalarField> autoCreateK
-(
-    const word& fieldName,
-    const fvMesh& mesh
-)
-{
-    return
-        autoCreateWallFunctionField
-        <
-            scalar,
-            kqRWallFunctionFvPatchField<scalar>
-        >
-        (
-            fieldName,
-            mesh
-        );
-}
-
-
-tmp<volScalarField> autoCreateQ
-(
-    const word& fieldName,
-    const fvMesh& mesh
-)
-{
-    return
-        autoCreateWallFunctionField
-        <
-            scalar,
-            kqRWallFunctionFvPatchField<scalar>
-        >
-        (
-            fieldName,
-            mesh
-        );
-}
-
-
-tmp<volSymmTensorField> autoCreateR
-(
-    const word& fieldName,
-    const fvMesh& mesh
-)
-{
-    return
-        autoCreateWallFunctionField
-        <
-            symmTensor,
-            kqRWallFunctionFvPatchField<symmTensor>
-        >
-        (
-            fieldName,
-            mesh
-        );
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
-
diff --git a/src/turbulenceModels/incompressible/RAS/backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctions.H b/src/turbulenceModels/incompressible/RAS/backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctions.H
deleted file mode 100644
index 3eac4880871..00000000000
--- a/src/turbulenceModels/incompressible/RAS/backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctions.H
+++ /dev/null
@@ -1,122 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible
-
-Description
-    Auto creation of fields to provide backwards compatibility with
-    runtime selectable wall functions
-
-SourceFiles
-    backwardsCompatibilityWallFunctions.C
-    backwardsCompatibilityWallFunctionsTemplates.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef backwardsCompatibilityWallFunctions_H
-#define backwardsCompatibilityWallFunctions_H
-
-#include "fvMesh.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-    //- nut
-    tmp<volScalarField> autoCreateNut
-    (
-        const word& fieldName,
-        const fvMesh& mesh
-    );
-
-    //- nut for Low-Reynolds number models
-    tmp<volScalarField> autoCreateLowReNut
-    (
-        const word& fieldName,
-        const fvMesh& mesh
-    );
-
-    //- epsilon
-    tmp<volScalarField> autoCreateEpsilon
-    (
-        const word& fieldName,
-        const fvMesh& mesh
-    );
-
-    //- omega
-    tmp<volScalarField> autoCreateOmega
-    (
-        const word& fieldName,
-        const fvMesh& mesh
-    );
-
-    //- k
-    tmp<volScalarField> autoCreateK
-    (
-        const word& fieldName,
-        const fvMesh& mesh
-    );
-
-    //- Q
-    tmp<volScalarField> autoCreateQ
-    (
-        const word& fieldName,
-        const fvMesh& mesh
-    );
-
-    //- R
-    tmp<volSymmTensorField> autoCreateR
-    (
-        const word& fieldName,
-        const fvMesh& mesh
-    );
-
-    //- Helper function to create the new field
-    template<class Type, class PatchType>
-    tmp<GeometricField<Type, fvPatchField, volMesh> >
-    autoCreateWallFunctionField
-    (
-        const word& fieldName,
-        const fvMesh& mesh
-    );
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#ifdef NoRepository
-#   include "backwardsCompatibilityWallFunctionsTemplates.C"
-#endif
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/turbulenceModels/incompressible/RAS/backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctionsTemplates.C b/src/turbulenceModels/incompressible/RAS/backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctionsTemplates.C
deleted file mode 100644
index e414d8053d9..00000000000
--- a/src/turbulenceModels/incompressible/RAS/backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctionsTemplates.C
+++ /dev/null
@@ -1,169 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "backwardsCompatibilityWallFunctions.H"
-#include "Time.H"
-#include "OSspecific.H"
-
-#include "wallFvPatch.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-template<class Type, class PatchType>
-tmp<GeometricField<Type, fvPatchField, volMesh> >
-autoCreateWallFunctionField
-(
-    const word& fieldName,
-    const fvMesh& mesh
-)
-{
-    IOobject nutHeader
-    (
-        "nut",
-        mesh.time().timeName(),
-        mesh,
-        IOobject::MUST_READ
-    );
-
-    typedef GeometricField<Type, fvPatchField, volMesh> fieldType;
-
-    if (nutHeader.headerOk())
-    {
-        return tmp<fieldType>
-        (
-            new fieldType
-            (
-                IOobject
-                (
-                    fieldName,
-                    mesh.time().timeName(),
-                    mesh,
-                    IOobject::MUST_READ,
-                    IOobject::NO_WRITE,
-                    false
-                ),
-                mesh
-            )
-        );
-    }
-    else
-    {
-        Info<< "--> Upgrading " << fieldName
-            << " to employ run-time selectable wall functions" << endl;
-
-        // Read existing field
-        IOobject ioObj
-        (
-            fieldName,
-            mesh.time().timeName(),
-            mesh,
-            IOobject::MUST_READ,
-            IOobject::NO_WRITE,
-            false
-        );
-
-        tmp<fieldType> fieldOrig
-        (
-            new fieldType
-            (
-                ioObj,
-                mesh
-            )
-        );
-
-        // rename file
-        Info<< "    Backup original " << fieldName << " to "
-            << fieldName << ".old" << endl;
-        mvBak(ioObj.objectPath(), "old");
-
-
-        PtrList<fvPatchField<Type> > newPatchFields(mesh.boundary().size());
-
-        forAll(newPatchFields, patchI)
-        {
-            if (isA<wallFvPatch>(mesh.boundary()[patchI]))
-            {
-                newPatchFields.set
-                (
-                    patchI,
-                    new PatchType
-                    (
-                        mesh.boundary()[patchI],
-                        fieldOrig().dimensionedInternalField()
-                    )
-                );
-                newPatchFields[patchI] == fieldOrig().boundaryField()[patchI];
-            }
-            else
-            {
-                newPatchFields.set
-                (
-                    patchI,
-                    fieldOrig().boundaryField()[patchI].clone()
-                );
-            }
-        }
-
-        tmp<fieldType> fieldNew
-        (
-            new fieldType
-            (
-                IOobject
-                (
-                    fieldName,
-                    mesh.time().timeName(),
-                    mesh,
-                    IOobject::NO_READ,
-                    IOobject::NO_WRITE,
-                    false
-                ),
-                mesh,
-                fieldOrig().dimensions(),
-                fieldOrig().internalField(),
-                newPatchFields
-            )
-        );
-
-        Info<< "    Writing updated " << fieldName << endl;
-        fieldNew().write();
-
-        return fieldNew;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.C
deleted file mode 100644
index a1bf04e9681..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.C
+++ /dev/null
@@ -1,142 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "atmBoundaryLayerInletEpsilonFvPatchScalarField.H"
-#include "addToRunTimeSelectionTable.H"
-#include "fvPatchFieldMapper.H"
-#include "volFields.H"
-#include "surfaceFields.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-atmBoundaryLayerInletEpsilonFvPatchScalarField::
-atmBoundaryLayerInletEpsilonFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedValueFvPatchScalarField(p, iF),
-    atmBoundaryLayer()
-{}
-
-
-atmBoundaryLayerInletEpsilonFvPatchScalarField::
-atmBoundaryLayerInletEpsilonFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    fixedValueFvPatchScalarField(p, iF),
-    atmBoundaryLayer(patch().Cf(), dict)
-{
-    scalarField::operator=(epsilon(patch().Cf()));
-}
-
-
-atmBoundaryLayerInletEpsilonFvPatchScalarField::
-atmBoundaryLayerInletEpsilonFvPatchScalarField
-(
-    const atmBoundaryLayerInletEpsilonFvPatchScalarField& psf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    fixedValueFvPatchScalarField(psf, p, iF, mapper),
-    atmBoundaryLayer(psf, mapper)
-{}
-
-
-atmBoundaryLayerInletEpsilonFvPatchScalarField::
-atmBoundaryLayerInletEpsilonFvPatchScalarField
-(
-    const atmBoundaryLayerInletEpsilonFvPatchScalarField& psf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedValueFvPatchScalarField(psf, iF),
-    atmBoundaryLayer(psf)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void atmBoundaryLayerInletEpsilonFvPatchScalarField::autoMap
-(
-    const fvPatchFieldMapper& m
-)
-{
-    fixedValueFvPatchScalarField::autoMap(m);
-    atmBoundaryLayer::autoMap(m);
-}
-
-
-void atmBoundaryLayerInletEpsilonFvPatchScalarField::rmap
-(
-    const fvPatchScalarField& psf,
-    const labelList& addr
-)
-{
-    fixedValueFvPatchScalarField::rmap(psf, addr);
-
-    const atmBoundaryLayerInletEpsilonFvPatchScalarField& blpsf =
-        refCast<const atmBoundaryLayerInletEpsilonFvPatchScalarField>(psf);
-
-    atmBoundaryLayer::rmap(blpsf, addr);
-}
-
-
-void atmBoundaryLayerInletEpsilonFvPatchScalarField::write(Ostream& os) const
-{
-    fvPatchScalarField::write(os);
-    atmBoundaryLayer::write(os);
-    writeEntry("value", os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    atmBoundaryLayerInletEpsilonFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.H
deleted file mode 100644
index 4cbda74cf38..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.H
+++ /dev/null
@@ -1,177 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::atmBoundaryLayerInletEpsilonFvPatchScalarField
-
-Group
-    grpIcoRASBoundaryConditions grpInletBoundaryConditions
-
-Description
-    This boundary condition specifies an inlet value for the turbulence
-    dissipation, \f$\epsilon\f$, appropriate for atmospheric boundary layers.
-
-    See Foam::incompressible::atmBoundaryLayer for details.
-
-    Example of the boundary condition specification:
-    \verbatim
-    ground
-    {
-        type            atmBoundaryLayerInletEpsilon;
-        z               (0 0 1);
-        Uref            10.0;
-        Zref            20.0;
-        z0              uniform 0.1;
-        zGround         uniform 0.0;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::incompressible::atmBoundaryLayer,
-    Foam::incompressible::atmBoundaryLayerInletVelocityFvPatchVectorField,
-    Foam::incompressible::atmBoundaryLayerInletKFvPatchScalarField
-
-SourceFiles
-    atmBoundaryLayerInletEpsilonFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef atmBoundaryLayerInletEpsilonFvPatchScalarField_H
-#define atmBoundaryLayerInletEpsilonFvPatchScalarField_H
-
-#include "fvPatchFields.H"
-#include "fixedValueFvPatchFields.H"
-#include "atmBoundaryLayer.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-/*---------------------------------------------------------------------------*\
-        Class atmBoundaryLayerInletEpsilonFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class atmBoundaryLayerInletEpsilonFvPatchScalarField
-:
-    public fixedValueFvPatchScalarField,
-    public atmBoundaryLayer
-{
-
-public:
-
-    //- Runtime type information
-    TypeName("atmBoundaryLayerInletEpsilon");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        atmBoundaryLayerInletEpsilonFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        atmBoundaryLayerInletEpsilonFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        //  atmBoundaryLayerInletEpsilonFvPatchScalarField onto a new patch
-        atmBoundaryLayerInletEpsilonFvPatchScalarField
-        (
-            const atmBoundaryLayerInletEpsilonFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new atmBoundaryLayerInletEpsilonFvPatchScalarField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        atmBoundaryLayerInletEpsilonFvPatchScalarField
-        (
-            const atmBoundaryLayerInletEpsilonFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new atmBoundaryLayerInletEpsilonFvPatchScalarField(*this, iF)
-            );
-        }
-
-
-    // Member functions
-
-        // Mapping functions
-
-            //- Map (and resize as needed) from self given a mapping object
-            virtual void autoMap
-            (
-                const fvPatchFieldMapper&
-            );
-
-            //- Reverse map the given fvPatchField onto this fvPatchField
-            virtual void rmap
-            (
-                const fvPatchScalarField&,
-                const labelList&
-            );
-
-
-        //- Write
-        virtual void write(Ostream&) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/doc/incompressibleRASBoundaryConditionsDoc.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/doc/incompressibleRASBoundaryConditionsDoc.H
deleted file mode 100644
index c5931020648..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/doc/incompressibleRASBoundaryConditionsDoc.H
+++ /dev/null
@@ -1,39 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it under
-    the terms of the GNU General Public License as published by the Free
-    Software Foundation, either version 3 of the License, or (at your option)
-    any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT ANY
-    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
-    details.
-
-    You should have received a copy of the GNU General Public License along with
-    OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-\defgroup grpIcoRASBoundaryConditions RAS incompressible boundary conditions
-@{
-    \ingroup grpIcoRASTurbulence
-    This group contains incompressible RAS turbulence model boundary conditions
-@}
-
-\defgroup grpIcoWallFunctions RAS incompressible wall functions
-@{
-    \ingroup grpIcoRASBoundaryConditions
-    This group contains incompressible RAS turbulence model wall functions
-@}
-
-
-\*---------------------------------------------------------------------------*/
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.C
deleted file mode 100644
index e0d6c9a8e94..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.C
+++ /dev/null
@@ -1,179 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "turbulentMixingLengthDissipationRateInletFvPatchScalarField.H"
-#include "addToRunTimeSelectionTable.H"
-#include "fvPatchFieldMapper.H"
-#include "surfaceFields.H"
-#include "volFields.H"
-#include "incompressible/turbulenceModel/turbulenceModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-turbulentMixingLengthDissipationRateInletFvPatchScalarField::
-turbulentMixingLengthDissipationRateInletFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    inletOutletFvPatchScalarField(p, iF),
-    mixingLength_(0.0),
-    kName_("k")
-{
-    this->refValue() = 0.0;
-    this->refGrad() = 0.0;
-    this->valueFraction() = 0.0;
-}
-
-
-turbulentMixingLengthDissipationRateInletFvPatchScalarField::
-turbulentMixingLengthDissipationRateInletFvPatchScalarField
-(
-    const turbulentMixingLengthDissipationRateInletFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    inletOutletFvPatchScalarField(ptf, p, iF, mapper),
-    mixingLength_(ptf.mixingLength_),
-    kName_(ptf.kName_)
-{}
-
-
-turbulentMixingLengthDissipationRateInletFvPatchScalarField::
-turbulentMixingLengthDissipationRateInletFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    inletOutletFvPatchScalarField(p, iF),
-    mixingLength_(readScalar(dict.lookup("mixingLength"))),
-    kName_(dict.lookupOrDefault<word>("k", "k"))
-{
-    this->phiName_ = dict.lookupOrDefault<word>("phi", "phi");
-    fvPatchScalarField::operator=(scalarField("value", dict, p.size()));
-
-    this->refValue() = 0.0;
-    this->refGrad() = 0.0;
-    this->valueFraction() = 0.0;
-}
-
-
-turbulentMixingLengthDissipationRateInletFvPatchScalarField::
-turbulentMixingLengthDissipationRateInletFvPatchScalarField
-(
-    const turbulentMixingLengthDissipationRateInletFvPatchScalarField& ptf
-)
-:
-    inletOutletFvPatchScalarField(ptf),
-    mixingLength_(ptf.mixingLength_),
-    kName_(ptf.kName_)
-{}
-
-
-turbulentMixingLengthDissipationRateInletFvPatchScalarField::
-turbulentMixingLengthDissipationRateInletFvPatchScalarField
-(
-    const turbulentMixingLengthDissipationRateInletFvPatchScalarField& ptf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    inletOutletFvPatchScalarField(ptf, iF),
-    mixingLength_(ptf.mixingLength_),
-    kName_(ptf.kName_)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void turbulentMixingLengthDissipationRateInletFvPatchScalarField::updateCoeffs()
-{
-    if (updated())
-    {
-        return;
-    }
-
-    // Lookup Cmu corresponding to the turbulence model selected
-    const turbulenceModel& turbulence =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-
-    const scalar Cmu =
-        turbulence.coeffDict().lookupOrDefault<scalar>("Cmu", 0.09);
-
-    const scalar Cmu75 = pow(Cmu, 0.75);
-
-    const fvPatchScalarField& kp =
-        patch().lookupPatchField<volScalarField, scalar>(kName_);
-
-    const fvsPatchScalarField& phip =
-        patch().lookupPatchField<surfaceScalarField, scalar>(this->phiName_);
-
-    this->refValue() = Cmu75*kp*sqrt(kp)/mixingLength_;
-    this->valueFraction() = 1.0 - pos(phip);
-
-    inletOutletFvPatchScalarField::updateCoeffs();
-}
-
-
-void turbulentMixingLengthDissipationRateInletFvPatchScalarField::write
-(
-    Ostream& os
-) const
-{
-    fvPatchScalarField::write(os);
-    os.writeKeyword("mixingLength")
-        << mixingLength_ << token::END_STATEMENT << nl;
-    os.writeKeyword("phi") << this->phiName_ << token::END_STATEMENT << nl;
-    os.writeKeyword("k") << kName_ << token::END_STATEMENT << nl;
-    writeEntry("value", os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    turbulentMixingLengthDissipationRateInletFvPatchScalarField
-);
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.H
deleted file mode 100644
index 13496315d74..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.H
+++ /dev/null
@@ -1,203 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::
-        turbulentMixingLengthDissipationRateInletFvPatchScalarField
-
-Group
-    grpIcoRASBoundaryConditions grpInletBoundaryConditions
-
-Description
-    This boundary condition provides a turbulence dissipation, \f$\epsilon\f$
-    (epsilon) inlet condition based on a specified mixing length.  The patch
-    values are calculated using:
-
-        \f[
-            \epsilon_p = \frac{C_{\mu}^{0.75} k^{1.5}}{L}
-        \f]
-   
-    where
-
-    \vartable
-        \epsilon_p | patch epsilon values
-        C_{\mu} | Model coefficient, set to 0.09
-        k       | turbulence kinetic energy
-        L       | length scale
-    \endvartable
-
-    \heading Patch usage
-
-    \table
-        Property     | Description             | Required    | Default value
-        mixingLength | Length scale [m]        | yes         |
-        phi          | flux field name         | no          | phi
-        k            | turbulence kinetic energy field name | no | k
-    \endtable
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            turbulentMixingLengthDissipationRateInlet;
-        mixingLength    0.005;
-        value           uniform 200;   // placeholder
-    }
-    \endverbatim
-
-Note
-    In the event of reverse flow, a zero-gradient condition is applied
-
-SeeAlso
-    Foam::inletOutletFvPatchField
-
-SourceFiles
-    turbulentMixingLengthDissipationRateInletFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef incompressibleturbulentMixingLengthDissipationRateInlet_H
-#define incompressibleturbulentMixingLengthDissipationRateInlet_H
-
-#include "inletOutletFvPatchFields.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-/*---------------------------------------------------------------------------*\
- Class turbulentMixingLengthDissipationRateInletFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class turbulentMixingLengthDissipationRateInletFvPatchScalarField
-:
-    public inletOutletFvPatchScalarField
-{
-    // Private data
-
-        //- turbulent length scale
-        scalar mixingLength_;
-
-        //- Name of the turbulent kinetic energy field
-        word kName_;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("turbulentMixingLengthDissipationRateInlet");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        turbulentMixingLengthDissipationRateInletFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        turbulentMixingLengthDissipationRateInletFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        //  turbulentMixingLengthDissipationRateInletFvPatchScalarField
-        //  onto a new patch
-        turbulentMixingLengthDissipationRateInletFvPatchScalarField
-        (
-            const turbulentMixingLengthDissipationRateInletFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        turbulentMixingLengthDissipationRateInletFvPatchScalarField
-        (
-            const turbulentMixingLengthDissipationRateInletFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new turbulentMixingLengthDissipationRateInletFvPatchScalarField
-                (
-                    *this
-                )
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        turbulentMixingLengthDissipationRateInletFvPatchScalarField
-        (
-            const turbulentMixingLengthDissipationRateInletFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new turbulentMixingLengthDissipationRateInletFvPatchScalarField
-                (
-                    *this,
-                    iF
-                )
-            );
-        }
-
-
-    // Member functions
-
-        //- Update the coefficients associated with the patch field
-        virtual void updateCoeffs();
-
-        //- Write
-        virtual void write(Ostream&) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.C
deleted file mode 100644
index 95bdac20f42..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.C
+++ /dev/null
@@ -1,176 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "turbulentMixingLengthFrequencyInletFvPatchScalarField.H"
-#include "addToRunTimeSelectionTable.H"
-#include "fvPatchFieldMapper.H"
-#include "surfaceFields.H"
-#include "volFields.H"
-#include "incompressible/turbulenceModel/turbulenceModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-turbulentMixingLengthFrequencyInletFvPatchScalarField::
-turbulentMixingLengthFrequencyInletFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    inletOutletFvPatchScalarField(p, iF),
-    mixingLength_(0.0),
-    kName_("undefined-k")
-{
-    this->refValue() = 0.0;
-    this->refGrad() = 0.0;
-    this->valueFraction() = 0.0;
-}
-
-turbulentMixingLengthFrequencyInletFvPatchScalarField::
-turbulentMixingLengthFrequencyInletFvPatchScalarField
-(
-    const turbulentMixingLengthFrequencyInletFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    inletOutletFvPatchScalarField(ptf, p, iF, mapper),
-    mixingLength_(ptf.mixingLength_),
-    kName_(ptf.kName_)
-{}
-
-turbulentMixingLengthFrequencyInletFvPatchScalarField::
-turbulentMixingLengthFrequencyInletFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    inletOutletFvPatchScalarField(p, iF),
-    mixingLength_(readScalar(dict.lookup("mixingLength"))),
-    kName_(dict.lookupOrDefault<word>("k", "k"))
-{
-    this->phiName_ = dict.lookupOrDefault<word>("phi", "phi");
-
-    fvPatchScalarField::operator=(scalarField("value", dict, p.size()));
-
-    this->refValue() = 0.0;
-    this->refGrad() = 0.0;
-    this->valueFraction() = 0.0;
-}
-
-turbulentMixingLengthFrequencyInletFvPatchScalarField::
-turbulentMixingLengthFrequencyInletFvPatchScalarField
-(
-    const turbulentMixingLengthFrequencyInletFvPatchScalarField& ptf
-)
-:
-    inletOutletFvPatchScalarField(ptf),
-    mixingLength_(ptf.mixingLength_),
-    kName_(ptf.kName_)
-{}
-
-turbulentMixingLengthFrequencyInletFvPatchScalarField::
-turbulentMixingLengthFrequencyInletFvPatchScalarField
-(
-    const turbulentMixingLengthFrequencyInletFvPatchScalarField& ptf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    inletOutletFvPatchScalarField(ptf, iF),
-    mixingLength_(ptf.mixingLength_),
-    kName_(ptf.kName_)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void turbulentMixingLengthFrequencyInletFvPatchScalarField::updateCoeffs()
-{
-    if (updated())
-    {
-        return;
-    }
-
-    // Lookup Cmu corresponding to the turbulence model selected
-    const turbulenceModel& turbulence =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-
-    const scalar Cmu =
-        turbulence.coeffDict().lookupOrDefault<scalar>("Cmu", 0.09);
-
-    const scalar Cmu25 = pow(Cmu, 0.25);
-
-    const fvPatchScalarField& kp =
-        patch().lookupPatchField<volScalarField, scalar>(kName_);
-
-    const fvsPatchScalarField& phip =
-        patch().lookupPatchField<surfaceScalarField, scalar>(this->phiName_);
-
-    this->refValue() = sqrt(kp)/(Cmu25*mixingLength_);
-    this->valueFraction() = 1.0 - pos(phip);
-
-    inletOutletFvPatchScalarField::updateCoeffs();
-}
-
-
-void turbulentMixingLengthFrequencyInletFvPatchScalarField::write
-(
-    Ostream& os
-) const
-{
-    fvPatchScalarField::write(os);
-    os.writeKeyword("mixingLength")
-        << mixingLength_ << token::END_STATEMENT << nl;
-    os.writeKeyword("phi") << this->phiName_ << token::END_STATEMENT << nl;
-    os.writeKeyword("k") << kName_ << token::END_STATEMENT << nl;
-    writeEntry("value", os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    turbulentMixingLengthFrequencyInletFvPatchScalarField
-);
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.H
deleted file mode 100644
index 9fdff8d950a..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.H
+++ /dev/null
@@ -1,203 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::turbulentMixingLengthFrequencyInletFvPatchScalarField
-
-Group
-    grpIcoRASBoundaryConditions grpInletBoundaryConditions
-
-Description
-    This boundary condition provides a turbulence specific dissipation,
-    \f$\omega\f$ (omega) inlet condition based on a specified mixing length.
-    The patch values are calculated using:
-
-        \f[
-            \omega_p = \frac{k^{0.5}}{C_{\mu}^{0.25} L}
-        \f]
-   
-    where
-
-    \vartable
-        \omega_p | patch omega values
-        C_{\mu} | Model coefficient, set to 0.09
-        k       | turbulence kinetic energy
-        L       | length scale
-    \endvartable
-
-    \heading Patch usage
-
-    \table
-        Property     | Description             | Required    | Default value
-        mixingLength | Length scale [m]        | yes         |
-        phi          | flux field name         | no          | phi
-        k            | turbulence kinetic energy field name | no | k
-    \endtable
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            turbulentMixingLengthFrequencyInlet;
-        mixingLength    0.005;
-        value           uniform 200;   // placeholder
-    }
-    \endverbatim
-
-Note
-    In the event of reverse flow, a zero-gradient condition is applied
-
-SeeAlso
-    Foam::inletOutletFvPatchField
-
-
-SourceFiles
-    turbulentMixingLengthFrequencyInletFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef incompressibleturbulentMixingLengthFrequencyInletFvPatchScalarField_H
-#define incompressibleturbulentMixingLengthFrequencyInletFvPatchScalarField_H
-
-#include "inletOutletFvPatchFields.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-/*---------------------------------------------------------------------------*\
-    Class turbulentMixingLengthFrequencyInletFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class turbulentMixingLengthFrequencyInletFvPatchScalarField
-:
-    public inletOutletFvPatchScalarField
-{
-    // Private data
-
-        //- Turbulent length scale
-        scalar mixingLength_;
-
-        //- Name of the turbulent kinetic energy field
-        word kName_;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("turbulentMixingLengthFrequencyInlet");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        turbulentMixingLengthFrequencyInletFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        turbulentMixingLengthFrequencyInletFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        //  turbulentMixingLengthFrequencyInletFvPatchScalarField
-        //  onto a new patch
-        turbulentMixingLengthFrequencyInletFvPatchScalarField
-        (
-            const turbulentMixingLengthFrequencyInletFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        turbulentMixingLengthFrequencyInletFvPatchScalarField
-        (
-            const turbulentMixingLengthFrequencyInletFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new turbulentMixingLengthFrequencyInletFvPatchScalarField
-                (
-                    *this
-                )
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        turbulentMixingLengthFrequencyInletFvPatchScalarField
-        (
-            const turbulentMixingLengthFrequencyInletFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new turbulentMixingLengthFrequencyInletFvPatchScalarField
-                (
-                    *this,
-                    iF
-                )
-            );
-        }
-
-
-    // Member functions
-
-        //- Update the coefficients associated with the patch field
-        virtual void updateCoeffs();
-
-        //- Write
-        virtual void write(Ostream&) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonLowReWallFunction/epsilonLowReWallFunctionFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonLowReWallFunction/epsilonLowReWallFunctionFvPatchScalarField.C
deleted file mode 100644
index d9898beda11..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonLowReWallFunction/epsilonLowReWallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,193 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "epsilonLowReWallFunctionFvPatchScalarField.H"
-#include "incompressible/turbulenceModel/turbulenceModel.H"
-#include "fvPatchFieldMapper.H"
-#include "volFields.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-scalar epsilonLowReWallFunctionFvPatchScalarField::yPlusLam
-(
-    const scalar kappa,
-    const scalar E
-)
-{
-    scalar ypl = 11.0;
-
-    for (int i=0; i<10; i++)
-    {
-        ypl = log(max(E*ypl, 1))/kappa;
-    }
-
-    return ypl;
-}
-
-
-void epsilonLowReWallFunctionFvPatchScalarField::calculate
-(
-    const turbulenceModel& turbulence,
-    const List<scalar>& cornerWeights,
-    const fvPatch& patch,
-    scalarField& G,
-    scalarField& epsilon
-)
-{
-    const label patchI = patch.index();
-
-    const scalarField& y = turbulence.y()[patchI];
-
-    const scalar Cmu25 = pow025(Cmu_);
-    const scalar Cmu75 = pow(Cmu_, 0.75);
-
-    const tmp<volScalarField> tk = turbulence.k();
-    const volScalarField& k = tk();
-
-    const tmp<volScalarField> tnu = turbulence.nu();
-    const scalarField& nuw = tnu().boundaryField()[patchI];
-
-    const tmp<volScalarField> tnut = turbulence.nut();
-    const volScalarField& nut = tnut();
-    const scalarField& nutw = nut.boundaryField()[patchI];
-
-    const fvPatchVectorField& Uw = turbulence.U().boundaryField()[patchI];
-
-    const scalarField magGradUw(mag(Uw.snGrad()));
-
-    // Set epsilon and G
-    forAll(nutw, faceI)
-    {
-        label cellI = patch.faceCells()[faceI];
-
-        scalar yPlus = Cmu25*sqrt(k[cellI])*y[faceI]/nuw[faceI];
-
-        scalar w = cornerWeights[faceI];
-
-        if (yPlus > yPlusLam_)
-        {
-            epsilon[cellI] = w*Cmu75*pow(k[cellI], 1.5)/(kappa_*y[faceI]);
-        }
-        else
-        {
-            epsilon[cellI] = w*2.0*k[cellI]*nuw[faceI]/sqr(y[faceI]);
-        }
-
-        G[cellI] =
-            w
-           *(nutw[faceI] + nuw[faceI])
-           *magGradUw[faceI]
-           *Cmu25*sqrt(k[cellI])
-           /(kappa_*y[faceI]);
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-epsilonLowReWallFunctionFvPatchScalarField::
-epsilonLowReWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    epsilonWallFunctionFvPatchScalarField(p, iF),
-    yPlusLam_(yPlusLam(kappa_, E_))
-{}
-
-
-epsilonLowReWallFunctionFvPatchScalarField::
-epsilonLowReWallFunctionFvPatchScalarField
-(
-    const epsilonLowReWallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    epsilonWallFunctionFvPatchScalarField(ptf, p, iF, mapper),
-    yPlusLam_(ptf.yPlusLam_)
-{}
-
-
-epsilonLowReWallFunctionFvPatchScalarField::
-epsilonLowReWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    epsilonWallFunctionFvPatchScalarField(p, iF, dict),
-    yPlusLam_(yPlusLam(kappa_, E_))
-{}
-
-
-epsilonLowReWallFunctionFvPatchScalarField::
-epsilonLowReWallFunctionFvPatchScalarField
-(
-    const epsilonLowReWallFunctionFvPatchScalarField& ewfpsf
-)
-:
-    epsilonWallFunctionFvPatchScalarField(ewfpsf),
-    yPlusLam_(ewfpsf.yPlusLam_)
-{}
-
-
-epsilonLowReWallFunctionFvPatchScalarField::
-epsilonLowReWallFunctionFvPatchScalarField
-(
-    const epsilonLowReWallFunctionFvPatchScalarField& ewfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    epsilonWallFunctionFvPatchScalarField(ewfpsf, iF),
-    yPlusLam_(ewfpsf.yPlusLam_)
-{}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    epsilonLowReWallFunctionFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonLowReWallFunction/epsilonLowReWallFunctionFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonLowReWallFunction/epsilonLowReWallFunctionFvPatchScalarField.H
deleted file mode 100644
index 778fffcfd7b..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonLowReWallFunction/epsilonLowReWallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,194 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::epsilonLowReWallFunctionFvPatchScalarField
-
-Group
-    grpIcoWallFunctions
-
-Description
-    This boundary condition provides a turbulence dissipation wall function
-    condition for low- and high-Reynolds number turbulent flow cases.
-
-    The condition can be applied to wall boundaries, whereby it inserts near
-    wall epsilon values directly into the epsilon equation to act as a
-    constraint.
-
-    The model operates in two modes, based on the computed laminar-to-turbulent
-    switch-over y+ value derived from kappa and E.
-
-    \heading Patch usage
-
-    \table
-        Property     | Description             | Required    | Default value
-        Cmu          | model coefficient       | no          | 0.09
-        kappa        | Von Karman constant     | no          | 0.41
-        E            | model coefficient       | no          | 9.8
-    \endtable
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            epsilonLowReWallFunction;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::epsilonWallFunctionFvPatchScalarField
-
-SourceFiles
-    epsilonLowReWallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef epsilonLowReWallFunctionFvPatchScalarField_H
-#define epsilonLowReWallFunctionFvPatchScalarField_H
-
-#include "epsilonWallFunctionFvPatchScalarField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-/*---------------------------------------------------------------------------*\
-           Class epsilonLowReWallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class epsilonLowReWallFunctionFvPatchScalarField
-:
-    public epsilonWallFunctionFvPatchScalarField
-{
-
-protected:
-
-    // Protected data
-
-        //- Y+ at the edge of the laminar sublayer
-        scalar yPlusLam_;
-
-
-    // Protected Member Functions
-
-        //- Calculate the Y+ at the edge of the laminar sublayer
-        scalar yPlusLam(const scalar kappa, const scalar E);
-
-        //- Calculate the epsilon and G
-        virtual void calculate
-        (
-            const turbulenceModel& turbulence,
-            const List<scalar>& cornerWeights,
-            const fvPatch& patch,
-            scalarField& G,
-            scalarField& epsilon
-        );
-
-
-public:
-
-    //- Runtime type information
-    TypeName("epsilonLowReWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        epsilonLowReWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        epsilonLowReWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        //  epsilonLowReWallFunctionFvPatchScalarField
-        //  onto a new patch
-        epsilonLowReWallFunctionFvPatchScalarField
-        (
-            const epsilonLowReWallFunctionFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        epsilonLowReWallFunctionFvPatchScalarField
-        (
-            const epsilonLowReWallFunctionFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new epsilonLowReWallFunctionFvPatchScalarField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        epsilonLowReWallFunctionFvPatchScalarField
-        (
-            const epsilonLowReWallFunctionFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new epsilonLowReWallFunctionFvPatchScalarField(*this, iF)
-            );
-        }
-
-    //- Destructor
-    virtual ~epsilonLowReWallFunctionFvPatchScalarField()
-    {}
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C
deleted file mode 100644
index 2437271e266..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,586 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "epsilonWallFunctionFvPatchScalarField.H"
-#include "incompressible/turbulenceModel/turbulenceModel.H"
-#include "fvPatchFieldMapper.H"
-#include "fvMatrix.H"
-#include "volFields.H"
-#include "wallFvPatch.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-scalar epsilonWallFunctionFvPatchScalarField::tolerance_ = 1e-5;
-
-// * * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * //
-
-void epsilonWallFunctionFvPatchScalarField::checkType()
-{
-    if (!isA<wallFvPatch>(patch()))
-    {
-        FatalErrorIn("epsilonWallFunctionFvPatchScalarField::checkType()")
-            << "Invalid wall function specification" << nl
-            << "    Patch type for patch " << patch().name()
-            << " must be wall" << nl
-            << "    Current patch type is " << patch().type() << nl << endl
-            << abort(FatalError);
-    }
-}
-
-
-void epsilonWallFunctionFvPatchScalarField::writeLocalEntries(Ostream& os) const
-{
-    os.writeKeyword("Cmu") << Cmu_ << token::END_STATEMENT << nl;
-    os.writeKeyword("kappa") << kappa_ << token::END_STATEMENT << nl;
-    os.writeKeyword("E") << E_ << token::END_STATEMENT << nl;
-}
-
-
-void epsilonWallFunctionFvPatchScalarField::setMaster()
-{
-    if (master_ != -1)
-    {
-        return;
-    }
-
-    const volScalarField& epsilon =
-        static_cast<const volScalarField&>(this->dimensionedInternalField());
-
-    const volScalarField::GeometricBoundaryField& bf = epsilon.boundaryField();
-
-    label master = -1;
-    forAll(bf, patchI)
-    {
-        if (isA<epsilonWallFunctionFvPatchScalarField>(bf[patchI]))
-        {
-            epsilonWallFunctionFvPatchScalarField& epf = epsilonPatch(patchI);
-
-            if (master == -1)
-            {
-                master = patchI;
-            }
-
-            epf.master() = master;
-        }
-    }
-}
-
-
-void epsilonWallFunctionFvPatchScalarField::createAveragingWeights()
-{
-    const volScalarField& epsilon =
-        static_cast<const volScalarField&>(this->dimensionedInternalField());
-
-    const volScalarField::GeometricBoundaryField& bf = epsilon.boundaryField();
-
-    const fvMesh& mesh = epsilon.mesh();
-
-    if (initialised_ && !mesh.changing())
-    {
-        return;
-    }
-
-    volScalarField weights
-    (
-        IOobject
-        (
-            "weights",
-            mesh.time().timeName(),
-            mesh,
-            IOobject::NO_READ,
-            IOobject::NO_WRITE,
-            false // do not register
-        ),
-        mesh,
-        dimensionedScalar("zero", dimless, 0.0)
-    );
-
-    DynamicList<label> epsilonPatches(bf.size());
-    forAll(bf, patchI)
-    {
-        if (isA<epsilonWallFunctionFvPatchScalarField>(bf[patchI]))
-        {
-            epsilonPatches.append(patchI);
-
-            const labelUList& faceCells = bf[patchI].patch().faceCells();
-            forAll(faceCells, i)
-            {
-                label cellI = faceCells[i];
-                weights[cellI]++;
-            }
-        }
-    }
-
-    cornerWeights_.setSize(bf.size());
-    forAll(epsilonPatches, i)
-    {
-        label patchI = epsilonPatches[i];
-        const fvPatchScalarField& wf = weights.boundaryField()[patchI];
-        cornerWeights_[patchI] = 1.0/wf.patchInternalField();
-    }
-
-    G_.setSize(dimensionedInternalField().size(), 0.0);
-    epsilon_.setSize(dimensionedInternalField().size(), 0.0);
-
-    initialised_ = true;
-}
-
-
-epsilonWallFunctionFvPatchScalarField&
-epsilonWallFunctionFvPatchScalarField::epsilonPatch(const label patchI)
-{
-    const volScalarField& epsilon =
-        static_cast<const volScalarField&>(this->dimensionedInternalField());
-
-    const volScalarField::GeometricBoundaryField& bf = epsilon.boundaryField();
-
-    const epsilonWallFunctionFvPatchScalarField& epf =
-        refCast<const epsilonWallFunctionFvPatchScalarField>(bf[patchI]);
-
-    return const_cast<epsilonWallFunctionFvPatchScalarField&>(epf);
-}
-
-
-void epsilonWallFunctionFvPatchScalarField::calculateTurbulenceFields
-(
-    const turbulenceModel& turbulence,
-    scalarField& G0,
-    scalarField& epsilon0
-)
-{
-    // accumulate all of the G and epsilon contributions
-    forAll(cornerWeights_, patchI)
-    {
-        if (!cornerWeights_[patchI].empty())
-        {
-            epsilonWallFunctionFvPatchScalarField& epf = epsilonPatch(patchI);
-
-            const List<scalar>& w = cornerWeights_[patchI];
-
-            epf.calculate(turbulence, w, epf.patch(), G0, epsilon0);
-        }
-    }
-
-    // apply zero-gradient condition for epsilon
-    forAll(cornerWeights_, patchI)
-    {
-        if (!cornerWeights_[patchI].empty())
-        {
-            epsilonWallFunctionFvPatchScalarField& epf = epsilonPatch(patchI);
-
-            epf == scalarField(epsilon0, epf.patch().faceCells());
-        }
-    }
-}
-
-
-void epsilonWallFunctionFvPatchScalarField::calculate
-(
-    const turbulenceModel& turbulence,
-    const List<scalar>& cornerWeights,
-    const fvPatch& patch,
-    scalarField& G,
-    scalarField& epsilon
-)
-{
-    const label patchI = patch.index();
-
-    const scalarField& y = turbulence.y()[patchI];
-
-    const scalar Cmu25 = pow025(Cmu_);
-    const scalar Cmu75 = pow(Cmu_, 0.75);
-
-    const tmp<volScalarField> tk = turbulence.k();
-    const volScalarField& k = tk();
-
-    const tmp<volScalarField> tnu = turbulence.nu();
-    const scalarField& nuw = tnu().boundaryField()[patchI];
-
-    const tmp<volScalarField> tnut = turbulence.nut();
-    const volScalarField& nut = tnut();
-    const scalarField& nutw = nut.boundaryField()[patchI];
-
-    const fvPatchVectorField& Uw = turbulence.U().boundaryField()[patchI];
-
-    const scalarField magGradUw(mag(Uw.snGrad()));
-
-    // Set epsilon and G
-    forAll(nutw, faceI)
-    {
-        label cellI = patch.faceCells()[faceI];
-
-        scalar w = cornerWeights[faceI];
-
-        epsilon[cellI] += w*Cmu75*pow(k[cellI], 1.5)/(kappa_*y[faceI]);
-
-        G[cellI] +=
-            w
-           *(nutw[faceI] + nuw[faceI])
-           *magGradUw[faceI]
-           *Cmu25*sqrt(k[cellI])
-           /(kappa_*y[faceI]);
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-epsilonWallFunctionFvPatchScalarField::epsilonWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedValueFvPatchField<scalar>(p, iF),
-    Cmu_(0.09),
-    kappa_(0.41),
-    E_(9.8),
-    G_(),
-    epsilon_(),
-    initialised_(false),
-    master_(-1),
-    cornerWeights_()
-{
-    checkType();
-}
-
-
-epsilonWallFunctionFvPatchScalarField::epsilonWallFunctionFvPatchScalarField
-(
-    const epsilonWallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    fixedValueFvPatchField<scalar>(ptf, p, iF, mapper),
-    Cmu_(ptf.Cmu_),
-    kappa_(ptf.kappa_),
-    E_(ptf.E_),
-    G_(),
-    epsilon_(),
-    initialised_(false),
-    master_(-1),
-    cornerWeights_()
-{
-    checkType();
-}
-
-
-epsilonWallFunctionFvPatchScalarField::epsilonWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    fixedValueFvPatchField<scalar>(p, iF, dict),
-    Cmu_(dict.lookupOrDefault<scalar>("Cmu", 0.09)),
-    kappa_(dict.lookupOrDefault<scalar>("kappa", 0.41)),
-    E_(dict.lookupOrDefault<scalar>("E", 9.8)),
-    G_(),
-    epsilon_(),
-    initialised_(false),
-    master_(-1),
-    cornerWeights_()
-{
-    checkType();
-
-    // apply zero-gradient condition on start-up
-    this->operator==(patchInternalField());
-}
-
-
-epsilonWallFunctionFvPatchScalarField::epsilonWallFunctionFvPatchScalarField
-(
-    const epsilonWallFunctionFvPatchScalarField& ewfpsf
-)
-:
-    fixedValueFvPatchField<scalar>(ewfpsf),
-    Cmu_(ewfpsf.Cmu_),
-    kappa_(ewfpsf.kappa_),
-    E_(ewfpsf.E_),
-    G_(),
-    epsilon_(),
-    initialised_(false),
-    master_(-1),
-    cornerWeights_()
-{
-    checkType();
-}
-
-
-epsilonWallFunctionFvPatchScalarField::epsilonWallFunctionFvPatchScalarField
-(
-    const epsilonWallFunctionFvPatchScalarField& ewfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedValueFvPatchField<scalar>(ewfpsf, iF),
-    Cmu_(ewfpsf.Cmu_),
-    kappa_(ewfpsf.kappa_),
-    E_(ewfpsf.E_),
-    G_(),
-    epsilon_(),
-    initialised_(false),
-    master_(-1),
-    cornerWeights_()
-{
-    checkType();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-scalarField& epsilonWallFunctionFvPatchScalarField::G(bool init)
-{
-    if (patch().index() == master_)
-    {
-        if (init)
-        {
-            G_ = 0.0;
-        }
-
-        return G_;
-    }
-
-    return epsilonPatch(master_).G();
-}
-
-
-scalarField& epsilonWallFunctionFvPatchScalarField::epsilon(bool init)
-{
-    if (patch().index() == master_)
-    {
-        if (init)
-        {
-            epsilon_ = 0.0;
-        }
-
-        return epsilon_;
-    }
-
-    return epsilonPatch(master_).epsilon(init);
-}
-
-
-void epsilonWallFunctionFvPatchScalarField::updateCoeffs()
-{
-    if (updated())
-    {
-        return;
-    }
-
-    const turbulenceModel& turbulence =
-        db().lookupObject<turbulenceModel>(turbulenceModel::typeName);
-
-    setMaster();
-
-    if (patch().index() == master_)
-    {
-        createAveragingWeights();
-        calculateTurbulenceFields(turbulence, G(true), epsilon(true));
-    }
-
-    const scalarField& G0 = this->G();
-    const scalarField& epsilon0 = this->epsilon();
-
-    typedef DimensionedField<scalar, volMesh> FieldType;
-
-    FieldType& G =
-        const_cast<FieldType&>
-        (
-            db().lookupObject<FieldType>(turbulence.GName())
-        );
-
-    FieldType& epsilon = const_cast<FieldType&>(dimensionedInternalField());
-
-    forAll(*this, faceI)
-    {
-        label cellI = patch().faceCells()[faceI];
-
-        G[cellI] = G0[cellI];
-        epsilon[cellI] = epsilon0[cellI];
-    }
-
-    fvPatchField<scalar>::updateCoeffs();
-}
-
-
-void epsilonWallFunctionFvPatchScalarField::updateCoeffs
-(
-    const scalarField& weights
-)
-{
-    if (updated())
-    {
-        return;
-    }
-
-    const turbulenceModel& turbulence =
-        db().lookupObject<turbulenceModel>(turbulenceModel::typeName);
-
-    setMaster();
-
-    if (patch().index() == master_)
-    {
-        createAveragingWeights();
-        calculateTurbulenceFields(turbulence, G(true), epsilon(true));
-    }
-
-    const scalarField& G0 = this->G();
-    const scalarField& epsilon0 = this->epsilon();
-
-    typedef DimensionedField<scalar, volMesh> FieldType;
-
-    FieldType& G =
-        const_cast<FieldType&>
-        (
-            db().lookupObject<FieldType>(turbulence.GName())
-        );
-
-    FieldType& epsilon = const_cast<FieldType&>(dimensionedInternalField());
-
-    scalarField& epsilonf = *this;
-
-    // only set the values if the weights are > tolerance
-    forAll(weights, faceI)
-    {
-        scalar w = weights[faceI];
-
-        if (w > tolerance_)
-        {
-            label cellI = patch().faceCells()[faceI];
-
-            G[cellI] = (1.0 - w)*G[cellI] + w*G0[cellI];
-            epsilon[cellI] = (1.0 - w)*epsilon[cellI] + w*epsilon0[cellI];
-            epsilonf[faceI] = epsilon[cellI];
-        }
-    }
-
-    fvPatchField<scalar>::updateCoeffs();
-}
-
-
-void epsilonWallFunctionFvPatchScalarField::manipulateMatrix
-(
-    fvMatrix<scalar>& matrix
-)
-{
-    if (manipulatedMatrix())
-    {
-        return;
-    }
-
-    matrix.setValues(patch().faceCells(), patchInternalField());
-
-    fvPatchField<scalar>::manipulateMatrix(matrix);
-}
-
-
-void epsilonWallFunctionFvPatchScalarField::manipulateMatrix
-(
-    fvMatrix<scalar>& matrix,
-    const Field<scalar>& weights
-)
-{
-    if (manipulatedMatrix())
-    {
-        return;
-    }
-
-    // filter weights so that we only apply the constraint where the
-    // weight > SMALL
-    DynamicList<label> constraintCells(weights.size());
-    DynamicList<scalar> constraintEpsilon(weights.size());
-    const labelUList& faceCells = patch().faceCells();
-
-    const DimensionedField<scalar, volMesh>& epsilon =
-        dimensionedInternalField();
-
-    label nConstrainedCells = 0;
-
-
-    forAll(weights, faceI)
-    {
-        // only set the values if the weights are > tolerance
-        if (weights[faceI] > tolerance_)
-        {
-            nConstrainedCells++;
-
-            label cellI = faceCells[faceI];
-
-            constraintCells.append(cellI);
-            constraintEpsilon.append(epsilon[cellI]);
-        }
-    }
-
-    if (debug)
-    {
-        Pout<< "Patch: " << patch().name()
-            << ": number of constrained cells = " << nConstrainedCells
-            << " out of " << patch().size()
-            << endl;
-    }
-
-    matrix.setValues
-    (
-        constraintCells,
-        scalarField(constraintEpsilon.xfer())
-    );
-
-    fvPatchField<scalar>::manipulateMatrix(matrix);
-}
-
-
-void epsilonWallFunctionFvPatchScalarField::write(Ostream& os) const
-{
-    fixedValueFvPatchField<scalar>::write(os);
-    writeLocalEntries(os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    epsilonWallFunctionFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.H
deleted file mode 100644
index ef2eeeb831d..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,291 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::epsilonWallFunctionFvPatchScalarField
-
-Group
-    grpIcoWallFunctions
-
-Description
-    This boundary condition provides a turbulence dissipation wall function
-    condition for high Reynolds number, turbulent flow cases.
-
-    The condition can be applied to wall boundaries, whereby it
-    - calculates \c epsilon and \c G
-    - inserts near wall epsilon values directly into the epsilon equation
-        to act as a constraint
-
-    where
-
-    \vartable
-        epsilon | turblence dissipation field
-        G       | turblence generation field
-    \endvartable
-
-    \heading Patch usage
-
-    \table
-        Property     | Description             | Required    | Default value
-        Cmu          | model coefficient       | no          | 0.09
-        kappa        | Von Karman constant     | no          | 0.41
-        E            | model coefficient       | no          | 9.8
-    \endtable
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            epsilonWallFunction;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::fixedInternalValueFvPatchField
-
-SourceFiles
-    epsilonWallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef epsilonWallFunctionFvPatchScalarField_H
-#define epsilonWallFunctionFvPatchScalarField_H
-
-#include "fixedValueFvPatchField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-class turbulenceModel;
-
-/*---------------------------------------------------------------------------*\
-           Class epsilonWallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class epsilonWallFunctionFvPatchScalarField
-:
-    public fixedValueFvPatchField<scalar>
-{
-protected:
-
-    // Protected data
-
-        //- Tolerance used in weighted calculations
-        static scalar tolerance_;
-
-        //- Cmu coefficient
-        scalar Cmu_;
-
-        //- Von Karman constant
-        scalar kappa_;
-
-        //- E coefficient
-        scalar E_;
-
-        //- Local copy of turbulence G field
-        scalarField G_;
-
-        //- Local copy of turbulence epsilon field
-        scalarField epsilon_;
-
-        //- Initialised flag
-        bool initialised_;
-
-        //- Master patch ID
-        label master_;
-
-        //- List of averaging corner weights
-        List<List<scalar> > cornerWeights_;
-
-
-    // Protected Member Functions
-
-        //- Check the type of the patch
-        virtual void checkType();
-
-        //- Write local wall function variables
-        virtual void writeLocalEntries(Ostream&) const;
-
-        //- Set the master patch - master is responsible for updating all
-        //  wall function patches
-        virtual void setMaster();
-
-        //- Create the averaging weights for cells which are bounded by
-        //  multiple wall function faces
-        virtual void createAveragingWeights();
-
-        //- Helper function to return non-const access to an epsilon patch
-        virtual epsilonWallFunctionFvPatchScalarField& epsilonPatch
-        (
-            const label patchI
-        );
-
-        //- Main driver to calculate the turbulence fields
-        virtual void calculateTurbulenceFields
-        (
-            const turbulenceModel& turbulence,
-            scalarField& G0,
-            scalarField& epsilon0
-        );
-
-        //- Calculate the epsilon and G
-        virtual void calculate
-        (
-            const turbulenceModel& turbulence,
-            const List<scalar>& cornerWeights,
-            const fvPatch& patch,
-            scalarField& G,
-            scalarField& epsilon
-        );
-
-        //- Return non-const access to the master patch ID
-        virtual label& master()
-        {
-            return master_;
-        }
-
-
-public:
-
-    //- Runtime type information
-    TypeName("epsilonWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        epsilonWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        epsilonWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        //  epsilonWallFunctionFvPatchScalarField
-        //  onto a new patch
-        epsilonWallFunctionFvPatchScalarField
-        (
-            const epsilonWallFunctionFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        epsilonWallFunctionFvPatchScalarField
-        (
-            const epsilonWallFunctionFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new epsilonWallFunctionFvPatchScalarField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        epsilonWallFunctionFvPatchScalarField
-        (
-            const epsilonWallFunctionFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new epsilonWallFunctionFvPatchScalarField(*this, iF)
-            );
-        }
-
-    //- Destructor
-    virtual ~epsilonWallFunctionFvPatchScalarField()
-    {}
-
-
-    // Member functions
-
-        // Access
-
-            //- Return non-const access to the master's G field
-            scalarField& G(bool init = false);
-
-            //- Return non-const access to the master's epsilon field
-            scalarField& epsilon(bool init = false);
-
-
-        // Evaluation functions
-
-            //- Update the coefficients associated with the patch field
-            virtual void updateCoeffs();
-
-            //- Update the coefficients associated with the patch field
-            virtual void updateCoeffs(const scalarField& weights);
-
-            //- Manipulate matrix
-            virtual void manipulateMatrix(fvMatrix<scalar>& matrix);
-
-            //- Manipulate matrix with given weights
-            virtual void manipulateMatrix
-            (
-                fvMatrix<scalar>& matrix,
-                const scalarField& weights
-            );
-
-
-        // I-O
-
-            //- Write
-            virtual void write(Ostream&) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.C
deleted file mode 100644
index 437ea76234f..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,252 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "kLowReWallFunctionFvPatchScalarField.H"
-#include "incompressible/turbulenceModel/turbulenceModel.H"
-#include "fvPatchFieldMapper.H"
-#include "volFields.H"
-#include "addToRunTimeSelectionTable.H"
-#include "wallFvPatch.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void kLowReWallFunctionFvPatchScalarField::checkType()
-{
-    if (!isA<wallFvPatch>(patch()))
-    {
-        FatalErrorIn("kLowReWallFunctionFvPatchScalarField::checkType()")
-            << "Invalid wall function specification" << nl
-            << "    Patch type for patch " << patch().name()
-            << " must be wall" << nl
-            << "    Current patch type is " << patch().type() << nl << endl
-            << abort(FatalError);
-    }
-}
-
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-scalar kLowReWallFunctionFvPatchScalarField::yPlusLam
-(
-    const scalar kappa,
-    const scalar E
-)
-{
-    scalar ypl = 11.0;
-
-    for (int i=0; i<10; i++)
-    {
-        ypl = log(max(E*ypl, 1))/kappa;
-    }
-
-    return ypl;
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-kLowReWallFunctionFvPatchScalarField::kLowReWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedValueFvPatchField<scalar>(p, iF),
-    Cmu_(0.09),
-    kappa_(0.41),
-    E_(9.8),
-    Ceps2_(1.9),
-    yPlusLam_(yPlusLam(kappa_, E_))
-{
-    checkType();
-}
-
-
-kLowReWallFunctionFvPatchScalarField::kLowReWallFunctionFvPatchScalarField
-(
-    const kLowReWallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    fixedValueFvPatchField<scalar>(ptf, p, iF, mapper),
-    Cmu_(ptf.Cmu_),
-    kappa_(ptf.kappa_),
-    E_(ptf.E_),
-    Ceps2_(ptf.Ceps2_),
-    yPlusLam_(ptf.yPlusLam_)
-{
-    checkType();
-}
-
-
-kLowReWallFunctionFvPatchScalarField::kLowReWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    fixedValueFvPatchField<scalar>(p, iF, dict),
-    Cmu_(dict.lookupOrDefault<scalar>("Cmu", 0.09)),
-    kappa_(dict.lookupOrDefault<scalar>("kappa", 0.41)),
-    E_(dict.lookupOrDefault<scalar>("E", 9.8)),
-    Ceps2_(dict.lookupOrDefault<scalar>("Ceps2", 1.9)),
-    yPlusLam_(yPlusLam(kappa_, E_))
-{
-    checkType();
-}
-
-
-kLowReWallFunctionFvPatchScalarField::kLowReWallFunctionFvPatchScalarField
-(
-    const kLowReWallFunctionFvPatchScalarField& kwfpsf
-)
-:
-    fixedValueFvPatchField<scalar>(kwfpsf),
-    Cmu_(kwfpsf.Cmu_),
-    kappa_(kwfpsf.kappa_),
-    E_(kwfpsf.E_),
-    Ceps2_(kwfpsf.Ceps2_),
-    yPlusLam_(kwfpsf.yPlusLam_)
-{
-    checkType();
-}
-
-
-kLowReWallFunctionFvPatchScalarField::kLowReWallFunctionFvPatchScalarField
-(
-    const kLowReWallFunctionFvPatchScalarField& kwfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedValueFvPatchField<scalar>(kwfpsf, iF),
-    Cmu_(kwfpsf.Cmu_),
-    kappa_(kwfpsf.kappa_),
-    E_(kwfpsf.E_),
-    Ceps2_(kwfpsf.Ceps2_),
-    yPlusLam_(kwfpsf.yPlusLam_)
-{
-    checkType();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void kLowReWallFunctionFvPatchScalarField::updateCoeffs()
-{
-    if (updated())
-    {
-        return;
-    }
-
-    const label patchI = patch().index();
-
-    const turbulenceModel& turbulence =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-    const scalarField& y = turbulence.y()[patchI];
-
-    const tmp<volScalarField> tk = turbulence.k();
-    const volScalarField& k = tk();
-
-    const tmp<volScalarField> tnu = turbulence.nu();
-    const scalarField& nuw = tnu().boundaryField()[patchI];
-
-    const scalar Cmu25 = pow025(Cmu_);
-
-    scalarField& kw = *this;
-
-    // Set k wall values
-    forAll(kw, faceI)
-    {
-        label faceCellI = patch().faceCells()[faceI];
-
-        scalar uTau = Cmu25*sqrt(k[faceCellI]);
-
-        scalar yPlus = uTau*y[faceI]/nuw[faceI];
-
-        if (yPlus > yPlusLam_)
-        {
-            scalar Ck = -0.416;
-            scalar Bk = 8.366;
-            kw[faceI] = Ck/kappa_*log(yPlus) + Bk;
-        }
-        else
-        {
-            scalar C = 11.0;
-            scalar Cf = (1.0/sqr(yPlus + C) + 2.0*yPlus/pow3(C) - 1.0/sqr(C));
-            kw[faceI] = 2400.0/sqr(Ceps2_)*Cf;
-        }
-
-        kw[faceI] *= sqr(uTau);
-    }
-
-    fixedValueFvPatchField<scalar>::updateCoeffs();
-
-    // TODO: perform averaging for cells sharing more than one boundary face
-}
-
-
-void kLowReWallFunctionFvPatchScalarField::evaluate
-(
-    const Pstream::commsTypes commsType
-)
-{
-    fixedValueFvPatchField<scalar>::evaluate(commsType);
-}
-
-
-void kLowReWallFunctionFvPatchScalarField::write(Ostream& os) const
-{
-    fixedValueFvPatchField<scalar>::write(os);
-    os.writeKeyword("Cmu") << Cmu_ << token::END_STATEMENT << nl;
-    os.writeKeyword("kappa") << kappa_ << token::END_STATEMENT << nl;
-    os.writeKeyword("E") << E_ << token::END_STATEMENT << nl;
-    os.writeKeyword("Ceps2") << Ceps2_ << token::END_STATEMENT << nl;
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    kLowReWallFunctionFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.H
deleted file mode 100644
index db99287eaaf..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,207 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::kLowReWallFunctionFvPatchScalarField
-
-Group
-    grpIcoWallFunctions
-
-Description
-    This boundary condition provides a turbulence kinetic energy wall function
-    condition for low- and high-Reynolds number turbulent flow cases.
-
-    The model operates in two modes, based on the computed laminar-to-turbulent
-    switch-over y+ value derived from kappa and E.
-
-    \heading Patch usage
-
-    \table
-        Property     | Description             | Required    | Default value
-        Cmu          | model coefficient       | no          | 0.09
-        kappa        | Von Karman constant     | no          | 0.41
-        E            | model coefficient       | no          | 9.8
-        Ceps2        | model coefficient       | no          | 1.9
-    \endtable
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            kLowReWallFunction;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::fixedValueFvPatchField
-
-SourceFiles
-    kLowReWallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef kLowReWallFunctionFvPatchScalarField_H
-#define kLowReWallFunctionFvPatchScalarField_H
-
-#include "fixedValueFvPatchField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-/*---------------------------------------------------------------------------*\
-            Class kLowReWallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class kLowReWallFunctionFvPatchScalarField
-:
-    public fixedValueFvPatchField<scalar>
-{
-protected:
-
-    // Protected data
-
-        //- Cmu coefficient
-        scalar Cmu_;
-
-        //- Von Karman constant
-        scalar kappa_;
-
-        //- E coefficient
-        scalar E_;
-
-        //- Ceps2 coefficient
-        scalar Ceps2_;
-
-        //- Y+ at the edge of the laminar sublayer
-        scalar yPlusLam_;
-
-
-    // Protected Member Functions
-
-        //- Check the type of the patch
-        virtual void checkType();
-
-        //- Calculate the Y+ at the edge of the laminar sublayer
-        scalar yPlusLam(const scalar kappa, const scalar E);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("kLowReWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        kLowReWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        kLowReWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given kLowReWallFunctionFvPatchScalarField
-        //  onto a new patch
-        kLowReWallFunctionFvPatchScalarField
-        (
-            const kLowReWallFunctionFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        kLowReWallFunctionFvPatchScalarField
-        (
-            const kLowReWallFunctionFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new kLowReWallFunctionFvPatchScalarField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        kLowReWallFunctionFvPatchScalarField
-        (
-            const kLowReWallFunctionFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new kLowReWallFunctionFvPatchScalarField(*this, iF)
-            );
-        }
-
-
-    // Member functions
-
-        // Evaluation functions
-
-            //- Update the coefficients associated with the patch field
-            virtual void updateCoeffs();
-
-            //- Evaluate the patchField
-            virtual void evaluate(const Pstream::commsTypes);
-
-
-        // I-O
-
-            //- Write
-            virtual void write(Ostream&) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.C
deleted file mode 100644
index 9ff2371a62c..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.C
+++ /dev/null
@@ -1,150 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "kqRWallFunctionFvPatchField.H"
-#include "fvPatchFieldMapper.H"
-#include "addToRunTimeSelectionTable.H"
-#include "wallFvPatch.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-template<class Type>
-void kqRWallFunctionFvPatchField<Type>::checkType()
-{
-    if (!isA<wallFvPatch>(this->patch()))
-    {
-        FatalErrorIn("kqRWallFunctionFvPatchField::checkType()")
-            << "Invalid wall function specification" << nl
-            << "    Patch type for patch " << this->patch().name()
-            << " must be wall" << nl
-            << "    Current patch type is " << this->patch().type()
-            << nl << endl
-            << abort(FatalError);
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-template<class Type>
-kqRWallFunctionFvPatchField<Type>::kqRWallFunctionFvPatchField
-(
-    const fvPatch& p,
-    const DimensionedField<Type, volMesh>& iF
-)
-:
-    zeroGradientFvPatchField<Type>(p, iF)
-{
-    checkType();
-}
-
-
-template<class Type>
-kqRWallFunctionFvPatchField<Type>::kqRWallFunctionFvPatchField
-(
-    const kqRWallFunctionFvPatchField& ptf,
-    const fvPatch& p,
-    const DimensionedField<Type, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    zeroGradientFvPatchField<Type>(ptf, p, iF, mapper)
-{
-    checkType();
-}
-
-
-template<class Type>
-kqRWallFunctionFvPatchField<Type>::kqRWallFunctionFvPatchField
-(
-    const fvPatch& p,
-    const DimensionedField<Type, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    zeroGradientFvPatchField<Type>(p, iF, dict)
-{
-    checkType();
-}
-
-
-template<class Type>
-kqRWallFunctionFvPatchField<Type>::kqRWallFunctionFvPatchField
-(
-    const kqRWallFunctionFvPatchField& tkqrwfpf
-)
-:
-    zeroGradientFvPatchField<Type>(tkqrwfpf)
-{
-    checkType();
-}
-
-
-template<class Type>
-kqRWallFunctionFvPatchField<Type>::kqRWallFunctionFvPatchField
-(
-    const kqRWallFunctionFvPatchField& tkqrwfpf,
-    const DimensionedField<Type, volMesh>& iF
-)
-:
-    zeroGradientFvPatchField<Type>(tkqrwfpf, iF)
-{
-    checkType();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-template<class Type>
-void kqRWallFunctionFvPatchField<Type>::evaluate
-(
-    const Pstream::commsTypes commsType
-)
-{
-    zeroGradientFvPatchField<Type>::evaluate(commsType);
-}
-
-
-template<class Type>
-void kqRWallFunctionFvPatchField<Type>::write(Ostream& os) const
-{
-    zeroGradientFvPatchField<Type>::write(os);
-    this->writeEntry("value", os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.H
deleted file mode 100644
index e9b3731deb1..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.H
+++ /dev/null
@@ -1,185 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::kqRWallFunctionFvPatchField
-
-Group
-    grpIcoWallFunctions
-
-Description
-    This boundary condition provides a suitable condition for turbulence
-    \c k, \c q, and \c R fields for the case of high Reynolds number flow using
-    wall functions.
-
-    It is a simple wrapper around the zero-gradient condition.
-
-    \heading Patch usage
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            kqRWallFunction;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::zeroGradientFvPatchField
-
-SourceFiles
-    kqRWallFunctionFvPatchField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef kqRWallFunctionFvPatchField_H
-#define kqRWallFunctionFvPatchField_H
-
-#include "zeroGradientFvPatchField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-/*---------------------------------------------------------------------------*\
-                Class kqRWallFunctionFvPatchField Declaration
-\*---------------------------------------------------------------------------*/
-
-template<class Type>
-class kqRWallFunctionFvPatchField
-:
-    public zeroGradientFvPatchField<Type>
-{
-
-    // Private Member Functions
-
-        //- Check the type of the patch
-        void checkType();
-
-
-public:
-
-    //- Runtime type information
-    TypeName("kqRWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        kqRWallFunctionFvPatchField
-        (
-            const fvPatch&,
-            const DimensionedField<Type, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        kqRWallFunctionFvPatchField
-        (
-            const fvPatch&,
-            const DimensionedField<Type, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        // kqRWallFunctionFvPatchField
-        //  onto a new patch
-        kqRWallFunctionFvPatchField
-        (
-            const kqRWallFunctionFvPatchField&,
-            const fvPatch&,
-            const DimensionedField<Type, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        kqRWallFunctionFvPatchField
-        (
-            const kqRWallFunctionFvPatchField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchField<Type> > clone() const
-        {
-            return tmp<fvPatchField<Type> >
-            (
-                new kqRWallFunctionFvPatchField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        kqRWallFunctionFvPatchField
-        (
-            const kqRWallFunctionFvPatchField&,
-            const DimensionedField<Type, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchField<Type> > clone
-        (
-            const DimensionedField<Type, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchField<Type> >
-            (
-                new kqRWallFunctionFvPatchField(*this, iF)
-            );
-        }
-
-
-    // Member functions
-
-        // Evaluation functions
-
-            //- Evaluate the patchField
-            virtual void evaluate
-            (
-                const Pstream::commsTypes commsType=Pstream::Pstream::blocking
-            );
-
-
-        // I-O
-
-            //- Write
-            virtual void write(Ostream&) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#ifdef NoRepository
-#   include "kqRWallFunctionFvPatchField.C"
-#endif
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchFields.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchFields.C
deleted file mode 100644
index 9465bdf18c5..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchFields.C
+++ /dev/null
@@ -1,47 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "kqRWallFunctionFvPatchFields.H"
-#include "fvPatchFields.H"
-#include "addToRunTimeSelectionTable.H"
-#include "volFields.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-makePatchFields(kqRWallFunction);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchFields.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchFields.H
deleted file mode 100644
index b9a2727f34d..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchFields.H
+++ /dev/null
@@ -1,52 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef kqRWallFunctionFvPatchFields_H
-#define kqRWallFunctionFvPatchFields_H
-
-#include "kqRWallFunctionFvPatchField.H"
-#include "fieldTypes.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeFieldTypedefs(kqRWallFunction);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutLowReWallFunction/nutLowReWallFunctionFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutLowReWallFunction/nutLowReWallFunctionFvPatchScalarField.C
deleted file mode 100644
index a0e340bf4de..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutLowReWallFunction/nutLowReWallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,131 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "nutLowReWallFunctionFvPatchScalarField.H"
-#include "incompressible/turbulenceModel/turbulenceModel.H"
-#include "fvPatchFieldMapper.H"
-#include "volFields.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-tmp<scalarField> nutLowReWallFunctionFvPatchScalarField::calcNut() const
-{
-    return tmp<scalarField>(new scalarField(patch().size(), 0.0));
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-nutLowReWallFunctionFvPatchScalarField::nutLowReWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    nutWallFunctionFvPatchScalarField(p, iF)
-{}
-
-
-nutLowReWallFunctionFvPatchScalarField::nutLowReWallFunctionFvPatchScalarField
-(
-    const nutLowReWallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    nutWallFunctionFvPatchScalarField(ptf, p, iF, mapper)
-{}
-
-
-nutLowReWallFunctionFvPatchScalarField::nutLowReWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    nutWallFunctionFvPatchScalarField(p, iF, dict)
-{}
-
-
-nutLowReWallFunctionFvPatchScalarField::nutLowReWallFunctionFvPatchScalarField
-(
-    const nutLowReWallFunctionFvPatchScalarField& nlrwfpsf
-)
-:
-    nutWallFunctionFvPatchScalarField(nlrwfpsf)
-{}
-
-
-nutLowReWallFunctionFvPatchScalarField::nutLowReWallFunctionFvPatchScalarField
-(
-    const nutLowReWallFunctionFvPatchScalarField& nlrwfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    nutWallFunctionFvPatchScalarField(nlrwfpsf, iF)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<scalarField> nutLowReWallFunctionFvPatchScalarField::yPlus() const
-{
-    const label patchi = patch().index();
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-    const scalarField& y = turbModel.y()[patchi];
-    const tmp<volScalarField> tnu = turbModel.nu();
-    const volScalarField& nu = tnu();
-    const scalarField& nuw = nu.boundaryField()[patchi];
-    const fvPatchVectorField& Uw = turbModel.U().boundaryField()[patchi];
-
-    return y*sqrt(nuw*mag(Uw.snGrad()))/nuw;
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    nutLowReWallFunctionFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutLowReWallFunction/nutLowReWallFunctionFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutLowReWallFunction/nutLowReWallFunctionFvPatchScalarField.H
deleted file mode 100644
index f79533c2042..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutLowReWallFunction/nutLowReWallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,166 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::nutLowReWallFunctionFvPatchScalarField
-
-Group
-    grpIcoWallFunctions
-
-Description
-    This boundary condition provides a turbulent kinematic viscosity condition
-    for use with low Reynolds number models.  It sets \c nut to zero, and
-    provides an access function to calculate y+.
-
-    \heading Patch usage
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            nutLowReWallFunction;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::nutWallFunctionFvPatchScalarField
-
-SourceFiles
-    nutLowReWallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef nutLowReWallFunctionFvPatchScalarField_H
-#define nutLowReWallFunctionFvPatchScalarField_H
-
-#include "nutWallFunctionFvPatchScalarField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-/*---------------------------------------------------------------------------*\
-           Class nutLowReWallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class nutLowReWallFunctionFvPatchScalarField
-:
-    public nutWallFunctionFvPatchScalarField
-{
-protected:
-
-    // Protected Member Functions
-
-        //- Calculate the turbulence viscosity
-        virtual tmp<scalarField> calcNut() const;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("nutLowReWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        nutLowReWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        nutLowReWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        //  nutLowReWallFunctionFvPatchScalarField
-        //  onto a new patch
-        nutLowReWallFunctionFvPatchScalarField
-        (
-            const nutLowReWallFunctionFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        nutLowReWallFunctionFvPatchScalarField
-        (
-            const nutLowReWallFunctionFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new nutLowReWallFunctionFvPatchScalarField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        nutLowReWallFunctionFvPatchScalarField
-        (
-            const nutLowReWallFunctionFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new nutLowReWallFunctionFvPatchScalarField(*this, iF)
-            );
-        }
-
-
-    // Member functions
-
-        //- Calculate and return the yPlus at the boundary
-        virtual tmp<scalarField> yPlus() const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutURoughWallFunction/nutURoughWallFunctionFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutURoughWallFunction/nutURoughWallFunctionFvPatchScalarField.C
deleted file mode 100644
index fb992f1e940..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutURoughWallFunction/nutURoughWallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,313 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "nutURoughWallFunctionFvPatchScalarField.H"
-#include "incompressible/turbulenceModel/turbulenceModel.H"
-#include "fvPatchFieldMapper.H"
-#include "volFields.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-tmp<scalarField> nutURoughWallFunctionFvPatchScalarField::calcNut() const
-{
-    const label patchi = patch().index();
-
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-    const scalarField& y = turbModel.y()[patchi];
-    const fvPatchVectorField& Uw = turbModel.U().boundaryField()[patchi];
-    const tmp<volScalarField> tnu = turbModel.nu();
-    const volScalarField& nu = tnu();
-    const scalarField& nuw = nu.boundaryField()[patchi];
-
-    // The flow velocity at the adjacent cell centre
-    const scalarField magUp(mag(Uw.patchInternalField() - Uw));
-
-    tmp<scalarField> tyPlus = calcYPlus(magUp);
-    scalarField& yPlus = tyPlus();
-
-    tmp<scalarField> tnutw(new scalarField(patch().size(), 0.0));
-    scalarField& nutw = tnutw();
-
-    forAll(yPlus, facei)
-    {
-        if (yPlus[facei] > yPlusLam_)
-        {
-            const scalar Re = magUp[facei]*y[facei]/nuw[facei] + ROOTVSMALL;
-            nutw[facei] = nuw[facei]*(sqr(yPlus[facei])/Re - 1);
-        }
-    }
-
-    return tnutw;
-}
-
-
-tmp<scalarField> nutURoughWallFunctionFvPatchScalarField::calcYPlus
-(
-    const scalarField& magUp
-) const
-{
-    const label patchi = patch().index();
-
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-    const scalarField& y = turbModel.y()[patchi];
-    const tmp<volScalarField> tnu = turbModel.nu();
-    const volScalarField& nu = tnu();
-    const scalarField& nuw = nu.boundaryField()[patchi];
-
-    tmp<scalarField> tyPlus(new scalarField(patch().size(), 0.0));
-    scalarField& yPlus = tyPlus();
-
-    if (roughnessHeight_ > 0.0)
-    {
-        // Rough Walls
-        const scalar c_1 = 1/(90 - 2.25) + roughnessConstant_;
-        static const scalar c_2 = 2.25/(90 - 2.25);
-        static const scalar c_3 = 2.0*atan(1.0)/log(90/2.25);
-        static const scalar c_4 = c_3*log(2.25);
-
-        //if (KsPlusBasedOnYPlus_)
-        {
-            // If KsPlus is based on YPlus the extra term added to the law
-            // of the wall will depend on yPlus
-            forAll(yPlus, facei)
-            {
-                const scalar magUpara = magUp[facei];
-                const scalar Re = magUpara*y[facei]/nuw[facei];
-                const scalar kappaRe = kappa_*Re;
-
-                scalar yp = yPlusLam_;
-                const scalar ryPlusLam = 1.0/yp;
-
-                int iter = 0;
-                scalar yPlusLast = 0.0;
-                scalar dKsPlusdYPlus = roughnessHeight_/y[facei];
-
-                // Enforce the roughnessHeight to be less than the distance to
-                // the first cell centre
-                if (dKsPlusdYPlus > 1)
-                {
-                    dKsPlusdYPlus = 1;
-                }
-
-                // Additional tuning parameter - nominally = 1
-                dKsPlusdYPlus *= roughnessFactor_;
-
-                do
-                {
-                    yPlusLast = yp;
-
-                    // The non-dimensional roughness height
-                    scalar KsPlus = yp*dKsPlusdYPlus;
-
-                    // The extra term in the law-of-the-wall
-                    scalar G = 0.0;
-
-                    scalar yPlusGPrime = 0.0;
-
-                    if (KsPlus >= 90)
-                    {
-                        const scalar t_1 = 1 + roughnessConstant_*KsPlus;
-                        G = log(t_1);
-                        yPlusGPrime = roughnessConstant_*KsPlus/t_1;
-                    }
-                    else if (KsPlus > 2.25)
-                    {
-                        const scalar t_1 = c_1*KsPlus - c_2;
-                        const scalar t_2 = c_3*log(KsPlus) - c_4;
-                        const scalar sint_2 = sin(t_2);
-                        const scalar logt_1 = log(t_1);
-                        G = logt_1*sint_2;
-                        yPlusGPrime =
-                            (c_1*sint_2*KsPlus/t_1) + (c_3*logt_1*cos(t_2));
-                    }
-
-                    scalar denom = 1.0 + log(E_*yp) - G - yPlusGPrime;
-                    if (mag(denom) > VSMALL)
-                    {
-                        yp = (kappaRe + yp*(1 - yPlusGPrime))/denom;
-                    }
-                } while
-                (
-                    mag(ryPlusLam*(yp - yPlusLast)) > 0.0001
-                 && ++iter < 10
-                 && yp > VSMALL
-                );
-
-                yPlus[facei] = max(0.0, yp);
-            }
-        }
-    }
-    else
-    {
-        // Smooth Walls
-        forAll(yPlus, facei)
-        {
-            const scalar magUpara = magUp[facei];
-            const scalar Re = magUpara*y[facei]/nuw[facei];
-            const scalar kappaRe = kappa_*Re;
-
-            scalar yp = yPlusLam_;
-            const scalar ryPlusLam = 1.0/yp;
-
-            int iter = 0;
-            scalar yPlusLast = 0.0;
-
-            do
-            {
-                yPlusLast = yp;
-                yp = (kappaRe + yp)/(1.0 + log(E_*yp));
-
-            } while (mag(ryPlusLam*(yp - yPlusLast)) > 0.0001 && ++iter < 10);
-
-            yPlus[facei] = max(0.0, yp);
-        }
-    }
-
-    return tyPlus;
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-nutURoughWallFunctionFvPatchScalarField::nutURoughWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    nutWallFunctionFvPatchScalarField(p, iF),
-    roughnessHeight_(pTraits<scalar>::zero),
-    roughnessConstant_(pTraits<scalar>::zero),
-    roughnessFactor_(pTraits<scalar>::zero)
-{}
-
-
-nutURoughWallFunctionFvPatchScalarField::nutURoughWallFunctionFvPatchScalarField
-(
-    const nutURoughWallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    nutWallFunctionFvPatchScalarField(ptf, p, iF, mapper),
-    roughnessHeight_(ptf.roughnessHeight_),
-    roughnessConstant_(ptf.roughnessConstant_),
-    roughnessFactor_(ptf.roughnessFactor_)
-{}
-
-
-nutURoughWallFunctionFvPatchScalarField::nutURoughWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    nutWallFunctionFvPatchScalarField(p, iF, dict),
-    roughnessHeight_(readScalar(dict.lookup("roughnessHeight"))),
-    roughnessConstant_(readScalar(dict.lookup("roughnessConstant"))),
-    roughnessFactor_(readScalar(dict.lookup("roughnessFactor")))
-{}
-
-
-nutURoughWallFunctionFvPatchScalarField::nutURoughWallFunctionFvPatchScalarField
-(
-    const nutURoughWallFunctionFvPatchScalarField& rwfpsf
-)
-:
-    nutWallFunctionFvPatchScalarField(rwfpsf),
-    roughnessHeight_(rwfpsf.roughnessHeight_),
-    roughnessConstant_(rwfpsf.roughnessConstant_),
-    roughnessFactor_(rwfpsf.roughnessFactor_)
-{}
-
-
-nutURoughWallFunctionFvPatchScalarField::nutURoughWallFunctionFvPatchScalarField
-(
-    const nutURoughWallFunctionFvPatchScalarField& rwfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    nutWallFunctionFvPatchScalarField(rwfpsf, iF),
-    roughnessHeight_(rwfpsf.roughnessHeight_),
-    roughnessConstant_(rwfpsf.roughnessConstant_),
-    roughnessFactor_(rwfpsf.roughnessFactor_)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<scalarField> nutURoughWallFunctionFvPatchScalarField::yPlus() const
-{
-    const label patchi = patch().index();
-
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-    const fvPatchVectorField& Uw = turbModel.U().boundaryField()[patchi];
-    tmp<scalarField> magUp = mag(Uw.patchInternalField() - Uw);
-
-    return calcYPlus(magUp());
-}
-
-
-void nutURoughWallFunctionFvPatchScalarField::write(Ostream& os) const
-{
-    fvPatchField<scalar>::write(os);
-    writeLocalEntries(os);
-    os.writeKeyword("roughnessHeight")
-        << roughnessHeight_ << token::END_STATEMENT << nl;
-    os.writeKeyword("roughnessConstant")
-        << roughnessConstant_ << token::END_STATEMENT << nl;
-    os.writeKeyword("roughnessFactor")
-        << roughnessFactor_ << token::END_STATEMENT << nl;
-    writeEntry("value", os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    nutURoughWallFunctionFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutURoughWallFunction/nutURoughWallFunctionFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutURoughWallFunction/nutURoughWallFunctionFvPatchScalarField.H
deleted file mode 100644
index 17adf6f909f..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutURoughWallFunction/nutURoughWallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,241 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::nutURoughWallFunctionFvPatchScalarField
-
-Group
-    grpIcoWallFunctions
-
-Description
-    This boundary condition provides a turbulent kinematic viscosity condition
-    when using wall functions for rough walls, based on velocity.
-
-    \heading Patch usage
-
-    \table
-        Property     | Description             | Required    | Default value
-        roughnessHeight | roughness height     | yes         |
-        roughnessConstant | roughness constanr | yes         |
-        roughnessFactor | scaling factor       | yes         |
-    \endtable
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            nutURoughWallFunction;
-        roughnessHeight 1e-5;
-        roughnessConstant 0.5;
-        roughnessFactor 1;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::nutWallFunctionFvPatchScalarField
-
-SourceFiles
-    nutURoughWallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef nutURoughWallFunctionFvPatchScalarField_H
-#define nutURoughWallFunctionFvPatchScalarField_H
-
-#include "nutWallFunctionFvPatchScalarField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-/*---------------------------------------------------------------------------*\
-          Class nutURoughWallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class nutURoughWallFunctionFvPatchScalarField
-:
-    public nutWallFunctionFvPatchScalarField
-{
-    // Private data
-
-        // Roughness model parameters
-
-            //- Height
-            scalar roughnessHeight_;
-
-            //- Constant
-            scalar roughnessConstant_;
-
-            //- Scale factor
-            scalar roughnessFactor_;
-
-
-    // Protected Member Functions
-
-        //- Calculate yPLus
-        virtual tmp<scalarField> calcYPlus(const scalarField& magUp) const;
-
-        //- Calculate the turbulence viscosity
-        virtual tmp<scalarField> calcNut() const;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("nutURoughWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        nutURoughWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        nutURoughWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        //  nutURoughWallFunctionFvPatchScalarField
-        //  onto a new patch
-        nutURoughWallFunctionFvPatchScalarField
-        (
-            const nutURoughWallFunctionFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        nutURoughWallFunctionFvPatchScalarField
-        (
-            const nutURoughWallFunctionFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new nutURoughWallFunctionFvPatchScalarField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        nutURoughWallFunctionFvPatchScalarField
-        (
-            const nutURoughWallFunctionFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new nutURoughWallFunctionFvPatchScalarField(*this, iF)
-            );
-        }
-
-
-    // Member functions
-
-        // Access
-
-            //- Return the roughness height
-            scalar roughnessHeight() const
-            {
-                return roughnessHeight_;
-            }
-
-            //- Return reference to the roughness height to allow adjustment
-            scalar& roughnessHeight()
-            {
-                return roughnessHeight_;
-            }
-
-
-            //- Return the roughness constant scale
-            scalar roughnessConstant() const
-            {
-                return roughnessConstant_;
-            }
-
-            //- Return reference to the roughness constant to allow adjustment
-            scalar& roughnessConstant()
-            {
-                return roughnessConstant_;
-            }
-
-            //- Return the roughness scale factor
-            scalar roughnessFactor() const
-            {
-                return roughnessFactor_;
-            }
-
-            //- Return reference to the roughness scale factor to allow
-            //  adjustment
-            scalar& roughnessFactor()
-            {
-                return roughnessFactor_;
-            }
-
-
-    // I-O
-
-        // Evaluation functions
-
-            //- Calculate and return the yPlus at the boundary
-            virtual tmp<scalarField> yPlus() const;
-
-
-        // I-O
-
-            //- Write
-            virtual void write(Ostream& os) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUSpaldingWallFunction/nutUSpaldingWallFunctionFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUSpaldingWallFunction/nutUSpaldingWallFunctionFvPatchScalarField.C
deleted file mode 100644
index 7dca54b3e59..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUSpaldingWallFunction/nutUSpaldingWallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,220 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "nutUSpaldingWallFunctionFvPatchScalarField.H"
-#include "incompressible/turbulenceModel/turbulenceModel.H"
-#include "fvPatchFieldMapper.H"
-#include "volFields.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-tmp<scalarField> nutUSpaldingWallFunctionFvPatchScalarField::calcNut() const
-{
-    const label patchI = patch().index();
-
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-    const fvPatchVectorField& Uw = turbModel.U().boundaryField()[patchI];
-    const scalarField magGradU(mag(Uw.snGrad()));
-    const tmp<volScalarField> tnu = turbModel.nu();
-    const volScalarField& nu = tnu();
-    const scalarField& nuw = nu.boundaryField()[patchI];
-
-    return max
-    (
-        scalar(0),
-        sqr(calcUTau(magGradU))/(magGradU + ROOTVSMALL) - nuw
-    );
-}
-
-
-tmp<scalarField> nutUSpaldingWallFunctionFvPatchScalarField::calcUTau
-(
-    const scalarField& magGradU
-) const
-{
-    const label patchI = patch().index();
-
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-    const scalarField& y = turbModel.y()[patchI];
-
-    const fvPatchVectorField& Uw = turbModel.U().boundaryField()[patchI];
-    const scalarField magUp(mag(Uw.patchInternalField() - Uw));
-
-    const tmp<volScalarField> tnu = turbModel.nu();
-    const volScalarField& nu = tnu();
-    const scalarField& nuw = nu.boundaryField()[patchI];
-
-    const scalarField& nutw = *this;
-
-    tmp<scalarField> tuTau(new scalarField(patch().size(), 0.0));
-    scalarField& uTau = tuTau();
-
-    forAll(uTau, faceI)
-    {
-        scalar ut = sqrt((nutw[faceI] + nuw[faceI])*magGradU[faceI]);
-
-        if (ut > ROOTVSMALL)
-        {
-            int iter = 0;
-            scalar err = GREAT;
-
-            do
-            {
-                scalar kUu = min(kappa_*magUp[faceI]/ut, 50);
-                scalar fkUu = exp(kUu) - 1 - kUu*(1 + 0.5*kUu);
-
-                scalar f =
-                    - ut*y[faceI]/nuw[faceI]
-                    + magUp[faceI]/ut
-                    + 1/E_*(fkUu - 1.0/6.0*kUu*sqr(kUu));
-
-                scalar df =
-                    y[faceI]/nuw[faceI]
-                  + magUp[faceI]/sqr(ut)
-                  + 1/E_*kUu*fkUu/ut;
-
-                scalar uTauNew = ut + f/df;
-                err = mag((ut - uTauNew)/ut);
-                ut = uTauNew;
-
-            } while (ut > ROOTVSMALL && err > 0.01 && ++iter < 10);
-
-            uTau[faceI] = max(0.0, ut);
-        }
-    }
-
-    return tuTau;
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-nutUSpaldingWallFunctionFvPatchScalarField::
-nutUSpaldingWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    nutWallFunctionFvPatchScalarField(p, iF)
-{}
-
-
-nutUSpaldingWallFunctionFvPatchScalarField::
-nutUSpaldingWallFunctionFvPatchScalarField
-(
-    const nutUSpaldingWallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    nutWallFunctionFvPatchScalarField(ptf, p, iF, mapper)
-{}
-
-
-nutUSpaldingWallFunctionFvPatchScalarField::
-nutUSpaldingWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    nutWallFunctionFvPatchScalarField(p, iF, dict)
-{}
-
-
-nutUSpaldingWallFunctionFvPatchScalarField::
-nutUSpaldingWallFunctionFvPatchScalarField
-(
-    const nutUSpaldingWallFunctionFvPatchScalarField& wfpsf
-)
-:
-    nutWallFunctionFvPatchScalarField(wfpsf)
-{}
-
-
-nutUSpaldingWallFunctionFvPatchScalarField::
-nutUSpaldingWallFunctionFvPatchScalarField
-(
-    const nutUSpaldingWallFunctionFvPatchScalarField& wfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    nutWallFunctionFvPatchScalarField(wfpsf, iF)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<scalarField> nutUSpaldingWallFunctionFvPatchScalarField::yPlus() const
-{
-    const label patchi = patch().index();
-
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-    const scalarField& y = turbModel.y()[patchi];
-    const fvPatchVectorField& Uw = turbModel.U().boundaryField()[patchi];
-    const tmp<volScalarField> tnu = turbModel.nu();
-    const volScalarField& nu = tnu();
-    const scalarField& nuw = nu.boundaryField()[patchi];
-
-    return y*calcUTau(mag(Uw.snGrad()))/nuw;
-}
-
-
-void nutUSpaldingWallFunctionFvPatchScalarField::write(Ostream& os) const
-{
-    fvPatchField<scalar>::write(os);
-    writeLocalEntries(os);
-    writeEntry("value", os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    nutUSpaldingWallFunctionFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUSpaldingWallFunction/nutUSpaldingWallFunctionFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUSpaldingWallFunction/nutUSpaldingWallFunctionFvPatchScalarField.H
deleted file mode 100644
index 210de458373..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUSpaldingWallFunction/nutUSpaldingWallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,190 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::nutUSpaldingWallFunctionFvPatchScalarField
-
-Group
-    grpIcoWallFunctions
-
-Description
-    This boundary condition provides a turbulent kinematic viscosity condition
-    when using wall functions for rough walls, based on velocity,  using
-    Spalding's law to give a continuous nut profile to the wall (y+ = 0)
-
-        \f[
-            y^+ = u^+ + \frac{1}{E} \left[exp(\kappa u^+) - 1 - \kappa u^+\,
-                - 0.5 (\kappa u^+)^2 - \frac{1}{6} (\kappa u^+)^3\right]
-        \f]
-
-    where
-    \vartable
-        y^+     | non-dimensional position
-        u^+     | non-dimensional velocity
-        \kappa  | Von Karman constant
-    \endvartable
-
-
-    \heading Patch usage
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            nutUSpaldingWallFunction;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::nutWallFunctionFvPatchScalarField
-
-SourceFiles
-    nutUSpaldingWallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef nutUSpaldingWallFunctionFvPatchScalarField_H
-#define nutUSpaldingWallFunctionFvPatchScalarField_H
-
-#include "nutWallFunctionFvPatchScalarField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-/*---------------------------------------------------------------------------*\
-          Class nutUSpaldingWallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class nutUSpaldingWallFunctionFvPatchScalarField
-:
-    public nutWallFunctionFvPatchScalarField
-{
-protected:
-
-    // Protected Member Functions
-
-        //- Calculate the turbulence viscosity
-        virtual tmp<scalarField> calcNut() const;
-
-        //- Calculate the friction velocity
-        virtual tmp<scalarField> calcUTau(const scalarField& magGradU) const;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("nutUSpaldingWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        nutUSpaldingWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        nutUSpaldingWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        //  nutUSpaldingWallFunctionFvPatchScalarField
-        //  onto a new patch
-        nutUSpaldingWallFunctionFvPatchScalarField
-        (
-            const nutUSpaldingWallFunctionFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        nutUSpaldingWallFunctionFvPatchScalarField
-        (
-            const nutUSpaldingWallFunctionFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new nutUSpaldingWallFunctionFvPatchScalarField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        nutUSpaldingWallFunctionFvPatchScalarField
-        (
-            const nutUSpaldingWallFunctionFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new nutUSpaldingWallFunctionFvPatchScalarField(*this, iF)
-            );
-        }
-
-
-    // Member functions
-
-        // Evaluation functions
-
-            //- Calculate and return the yPlus at the boundary
-            virtual tmp<scalarField> yPlus() const;
-
-
-        // I-O
-
-            //- Write
-            virtual void write(Ostream& os) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUTabulatedWallFunction/nutUTabulatedWallFunctionFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUTabulatedWallFunction/nutUTabulatedWallFunctionFvPatchScalarField.C
deleted file mode 100644
index 63bab814711..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUTabulatedWallFunction/nutUTabulatedWallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,218 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "nutUTabulatedWallFunctionFvPatchScalarField.H"
-#include "incompressible/turbulenceModel/turbulenceModel.H"
-#include "fvPatchFieldMapper.H"
-#include "volFields.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-tmp<scalarField> nutUTabulatedWallFunctionFvPatchScalarField::calcNut() const
-{
-    const label patchi = patch().index();
-
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-    const scalarField& y = turbModel.y()[patchi];
-    const fvPatchVectorField& Uw = turbModel.U().boundaryField()[patchi];
-    const scalarField magUp(mag(Uw.patchInternalField() - Uw));
-    const scalarField magGradU(mag(Uw.snGrad()));
-    const tmp<volScalarField> tnu = turbModel.nu();
-    const volScalarField& nu = tnu();
-    const scalarField& nuw = nu.boundaryField()[patchi];
-
-    return
-        max
-        (
-            scalar(0),
-            sqr(magUp/(calcUPlus(magUp*y/nuw) + ROOTVSMALL))
-           /(magGradU + ROOTVSMALL)
-          - nuw
-        );
-}
-
-
-tmp<scalarField> nutUTabulatedWallFunctionFvPatchScalarField::calcUPlus
-(
-    const scalarField& Rey
-) const
-{
-    tmp<scalarField> tuPlus(new scalarField(patch().size(), 0.0));
-    scalarField& uPlus = tuPlus();
-
-    forAll(uPlus, faceI)
-    {
-        uPlus[faceI] = uPlusTable_.interpolateLog10(Rey[faceI]);
-    }
-
-    return tuPlus;
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-nutUTabulatedWallFunctionFvPatchScalarField::
-nutUTabulatedWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    nutWallFunctionFvPatchScalarField(p, iF),
-    uPlusTableName_("undefined-uPlusTableName"),
-    uPlusTable_
-    (
-        IOobject
-        (
-            uPlusTableName_,
-            patch().boundaryMesh().mesh().time().constant(),
-            patch().boundaryMesh().mesh(),
-            IOobject::NO_READ,
-            IOobject::NO_WRITE,
-            false
-        ),
-        false
-    )
-{}
-
-
-nutUTabulatedWallFunctionFvPatchScalarField::
-nutUTabulatedWallFunctionFvPatchScalarField
-(
-    const nutUTabulatedWallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    nutWallFunctionFvPatchScalarField(ptf, p, iF, mapper),
-    uPlusTableName_(ptf.uPlusTableName_),
-    uPlusTable_(ptf.uPlusTable_)
-{}
-
-
-nutUTabulatedWallFunctionFvPatchScalarField::
-nutUTabulatedWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    nutWallFunctionFvPatchScalarField(p, iF, dict),
-    uPlusTableName_(dict.lookup("uPlusTable")),
-    uPlusTable_
-    (
-        IOobject
-        (
-            uPlusTableName_,
-            patch().boundaryMesh().mesh().time().constant(),
-            patch().boundaryMesh().mesh(),
-            IOobject::MUST_READ_IF_MODIFIED,
-            IOobject::NO_WRITE,
-            false
-        ),
-        true
-    )
-{}
-
-
-nutUTabulatedWallFunctionFvPatchScalarField::
-nutUTabulatedWallFunctionFvPatchScalarField
-(
-    const nutUTabulatedWallFunctionFvPatchScalarField& wfpsf
-)
-:
-    nutWallFunctionFvPatchScalarField(wfpsf),
-    uPlusTableName_(wfpsf.uPlusTableName_),
-    uPlusTable_(wfpsf.uPlusTable_)
-{}
-
-
-nutUTabulatedWallFunctionFvPatchScalarField::
-nutUTabulatedWallFunctionFvPatchScalarField
-(
-    const nutUTabulatedWallFunctionFvPatchScalarField& wfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    nutWallFunctionFvPatchScalarField(wfpsf, iF),
-    uPlusTableName_(wfpsf.uPlusTableName_),
-    uPlusTable_(wfpsf.uPlusTable_)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<scalarField> nutUTabulatedWallFunctionFvPatchScalarField::yPlus() const
-{
-    const label patchi = patch().index();
-
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-    const scalarField& y = turbModel.y()[patchi];
-    const fvPatchVectorField& Uw = turbModel.U().boundaryField()[patchi];
-    const scalarField magUp(mag(Uw.patchInternalField() - Uw));
-    const tmp<volScalarField> tnu = turbModel.nu();
-    const volScalarField& nu = tnu();
-    const scalarField& nuw = nu.boundaryField()[patchi];
-    const scalarField Rey(magUp*y/nuw);
-
-    return Rey/(calcUPlus(Rey) + ROOTVSMALL);
-}
-
-
-void nutUTabulatedWallFunctionFvPatchScalarField::write(Ostream& os) const
-{
-    fvPatchField<scalar>::write(os);
-    os.writeKeyword("uPlusTable") << uPlusTableName_
-        << token::END_STATEMENT << nl;
-    writeEntry("value", os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    nutUTabulatedWallFunctionFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUTabulatedWallFunction/nutUTabulatedWallFunctionFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUTabulatedWallFunction/nutUTabulatedWallFunctionFvPatchScalarField.H
deleted file mode 100644
index f4f3d9a8f32..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUTabulatedWallFunction/nutUTabulatedWallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,198 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::nutUTabulatedWallFunctionFvPatchScalarField
-
-Group
-    grpIcoWallFunctions
-
-Description
-    This boundary condition provides a turbulent kinematic viscosity condition
-    when using wall functions.  As input, the user specifies a look-up table
-    of U+ as a function of near-wall Reynolds number.  The table should be
-    located in the $FOAM_CASE/constant directory.
-
-    \heading Patch usage
-
-    \table
-        Property     | Description             | Required    | Default value
-        uPlusTable   | U+ as a function of Re table name | yes |
-    \endtable
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            nutTabulatedWallFunction;
-        uPlusTable      myUPlusTable;
-    }
-    \endverbatim
-
-Note
-    The tables are not registered since the same table object may be used for
-    more than one patch.
-
-SeeAlso
-    Foam::nutWallFunctionFvPatchScalarField
-
-SourceFiles
-    nutUTabulatedWallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef nutUTabulatedWallFunctionFvPatchScalarField_H
-#define nutUTabulatedWallFunctionFvPatchScalarField_H
-
-#include "nutWallFunctionFvPatchScalarField.H"
-#include "uniformInterpolationTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-/*---------------------------------------------------------------------------*\
-        Class nutUTabulatedWallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class nutUTabulatedWallFunctionFvPatchScalarField
-:
-    public nutWallFunctionFvPatchScalarField
-{
-protected:
-
-    // Protected data
-
-        //- Name of u+ table
-        word uPlusTableName_;
-
-        //- U+ table
-        uniformInterpolationTable<scalar> uPlusTable_;
-
-
-    // Protected Member Functions
-
-        //- Calculate the turbulence viscosity
-        virtual tmp<scalarField> calcNut() const;
-
-        //- Calculate wall u+ from table
-        virtual tmp<scalarField> calcUPlus(const scalarField& Rey) const;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("nutTabulatedWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        nutUTabulatedWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        nutUTabulatedWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        //  nutUTabulatedWallFunctionFvPatchScalarField
-        //  onto a new patch
-        nutUTabulatedWallFunctionFvPatchScalarField
-        (
-            const nutUTabulatedWallFunctionFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        nutUTabulatedWallFunctionFvPatchScalarField
-        (
-            const nutUTabulatedWallFunctionFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new nutUTabulatedWallFunctionFvPatchScalarField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        nutUTabulatedWallFunctionFvPatchScalarField
-        (
-            const nutUTabulatedWallFunctionFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new nutUTabulatedWallFunctionFvPatchScalarField(*this, iF)
-            );
-        }
-
-
-    // Member functions
-
-        // Evaluation functions
-
-            //- Calculate and return the yPlus at the boundary
-            virtual tmp<scalarField> yPlus() const;
-
-
-        // I-O
-
-            //- Write
-            virtual void write(Ostream& os) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUWallFunction/nutUWallFunctionFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUWallFunction/nutUWallFunctionFvPatchScalarField.C
deleted file mode 100644
index 3b34b46df12..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUWallFunction/nutUWallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,202 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "nutUWallFunctionFvPatchScalarField.H"
-#include "incompressible/turbulenceModel/turbulenceModel.H"
-#include "fvPatchFieldMapper.H"
-#include "volFields.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-tmp<scalarField> nutUWallFunctionFvPatchScalarField::calcNut() const
-{
-    const label patchi = patch().index();
-
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-    const fvPatchVectorField& Uw = turbModel.U().boundaryField()[patchi];
-    const scalarField magUp(mag(Uw.patchInternalField() - Uw));
-    const tmp<volScalarField> tnu = turbModel.nu();
-    const volScalarField& nu = tnu();
-    const scalarField& nuw = nu.boundaryField()[patchi];
-
-    tmp<scalarField> tyPlus = calcYPlus(magUp);
-    scalarField& yPlus = tyPlus();
-
-    tmp<scalarField> tnutw(new scalarField(patch().size(), 0.0));
-    scalarField& nutw = tnutw();
-
-    forAll(yPlus, facei)
-    {
-        if (yPlus[facei] > yPlusLam_)
-        {
-            nutw[facei] =
-                nuw[facei]*(yPlus[facei]*kappa_/log(E_*yPlus[facei]) - 1.0);
-        }
-    }
-
-    return tnutw;
-}
-
-
-tmp<scalarField> nutUWallFunctionFvPatchScalarField::calcYPlus
-(
-    const scalarField& magUp
-) const
-{
-    const label patchi = patch().index();
-
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-    const scalarField& y = turbModel.y()[patchi];
-    const tmp<volScalarField> tnu = turbModel.nu();
-    const volScalarField& nu = tnu();
-    const scalarField& nuw = nu.boundaryField()[patchi];
-
-    tmp<scalarField> tyPlus(new scalarField(patch().size(), 0.0));
-    scalarField& yPlus = tyPlus();
-
-    forAll(yPlus, facei)
-    {
-        scalar kappaRe = kappa_*magUp[facei]*y[facei]/nuw[facei];
-
-        scalar yp = yPlusLam_;
-        scalar ryPlusLam = 1.0/yp;
-
-        int iter = 0;
-        scalar yPlusLast = 0.0;
-
-        do
-        {
-            yPlusLast = yp;
-            yp = (kappaRe + yp)/(1.0 + log(E_*yp));
-
-        } while (mag(ryPlusLam*(yp - yPlusLast)) > 0.01 && ++iter < 10 );
-
-        yPlus[facei] = max(0.0, yp);
-    }
-
-    return tyPlus;
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-nutUWallFunctionFvPatchScalarField::nutUWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    nutWallFunctionFvPatchScalarField(p, iF)
-{}
-
-
-nutUWallFunctionFvPatchScalarField::nutUWallFunctionFvPatchScalarField
-(
-    const nutUWallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    nutWallFunctionFvPatchScalarField(ptf, p, iF, mapper)
-{}
-
-
-nutUWallFunctionFvPatchScalarField::nutUWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    nutWallFunctionFvPatchScalarField(p, iF, dict)
-{}
-
-
-nutUWallFunctionFvPatchScalarField::nutUWallFunctionFvPatchScalarField
-(
-    const nutUWallFunctionFvPatchScalarField& sawfpsf
-)
-:
-    nutWallFunctionFvPatchScalarField(sawfpsf)
-{}
-
-
-nutUWallFunctionFvPatchScalarField::nutUWallFunctionFvPatchScalarField
-(
-    const nutUWallFunctionFvPatchScalarField& sawfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    nutWallFunctionFvPatchScalarField(sawfpsf, iF)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<scalarField> nutUWallFunctionFvPatchScalarField::yPlus() const
-{
-    const label patchi = patch().index();
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-    const fvPatchVectorField& Uw = turbModel.U().boundaryField()[patchi];
-    const scalarField magUp(mag(Uw.patchInternalField() - Uw));
-
-    return calcYPlus(magUp);
-}
-
-
-void nutUWallFunctionFvPatchScalarField::write(Ostream& os) const
-{
-    fvPatchField<scalar>::write(os);
-    writeLocalEntries(os);
-    writeEntry("value", os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    nutUWallFunctionFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUWallFunction/nutUWallFunctionFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUWallFunction/nutUWallFunctionFvPatchScalarField.H
deleted file mode 100644
index 0a34ad6faca..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUWallFunction/nutUWallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,176 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::nutUWallFunctionFvPatchScalarField
-
-Group
-    grpIcoWallFunctions
-
-Description
-    This boundary condition provides a turbulent kinematic viscosity condition
-    when using wall functions, based on velocity.
-
-    \heading Patch usage
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            nutUWallFunction;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::nutWallFunctionFvPatchScalarField
-
-SourceFiles
-    nutUWallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef nutUWallFunctionFvPatchScalarField_H
-#define nutUWallFunctionFvPatchScalarField_H
-
-#include "nutWallFunctionFvPatchScalarField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-/*---------------------------------------------------------------------------*\
-            Class nutUWallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class nutUWallFunctionFvPatchScalarField
-:
-    public nutWallFunctionFvPatchScalarField
-{
-protected:
-
-    // Protected Member Functions
-
-        //- Calculate yPLus
-        virtual tmp<scalarField> calcYPlus(const scalarField& magUp) const;
-
-        //- Calculate the turbulence viscosity
-        virtual tmp<scalarField> calcNut() const;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("nutUWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        nutUWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        nutUWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        //  nutUWallFunctionFvPatchScalarField
-        //  onto a new patch
-        nutUWallFunctionFvPatchScalarField
-        (
-            const nutUWallFunctionFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        nutUWallFunctionFvPatchScalarField
-        (
-            const nutUWallFunctionFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new nutUWallFunctionFvPatchScalarField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        nutUWallFunctionFvPatchScalarField
-        (
-            const nutUWallFunctionFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new nutUWallFunctionFvPatchScalarField(*this, iF)
-            );
-        }
-
-
-    // Member functions
-
-        // Evaluation functions
-
-            //- Calculate and return the yPlus at the boundary
-            virtual tmp<scalarField> yPlus() const;
-
-
-        // I-O
-
-            //- Write
-            virtual void write(Ostream& os) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.C
deleted file mode 100644
index 3b8749974d7..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,197 +0,0 @@
-/*---------------------------------------------------------------------------* \
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "nutWallFunctionFvPatchScalarField.H"
-#include "fvPatchFieldMapper.H"
-#include "volFields.H"
-#include "wallFvPatch.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(nutWallFunctionFvPatchScalarField, 0);
-
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-void nutWallFunctionFvPatchScalarField::checkType()
-{
-    if (!isA<wallFvPatch>(patch()))
-    {
-        FatalErrorIn("nutWallFunctionFvPatchScalarField::checkType()")
-            << "Invalid wall function specification" << nl
-            << "    Patch type for patch " << patch().name()
-            << " must be wall" << nl
-            << "    Current patch type is " << patch().type() << nl << endl
-            << abort(FatalError);
-    }
-}
-
-
-void nutWallFunctionFvPatchScalarField::writeLocalEntries(Ostream& os) const
-{
-    os.writeKeyword("Cmu") << Cmu_ << token::END_STATEMENT << nl;
-    os.writeKeyword("kappa") << kappa_ << token::END_STATEMENT << nl;
-    os.writeKeyword("E") << E_ << token::END_STATEMENT << nl;
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-nutWallFunctionFvPatchScalarField::nutWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedValueFvPatchScalarField(p, iF),
-    Cmu_(0.09),
-    kappa_(0.41),
-    E_(9.8),
-    yPlusLam_(yPlusLam(kappa_, E_))
-{
-    checkType();
-}
-
-
-nutWallFunctionFvPatchScalarField::nutWallFunctionFvPatchScalarField
-(
-    const nutWallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    fixedValueFvPatchScalarField(ptf, p, iF, mapper),
-    Cmu_(ptf.Cmu_),
-    kappa_(ptf.kappa_),
-    E_(ptf.E_),
-    yPlusLam_(ptf.yPlusLam_)
-{
-    checkType();
-}
-
-
-nutWallFunctionFvPatchScalarField::nutWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    fixedValueFvPatchScalarField(p, iF, dict),
-    Cmu_(dict.lookupOrDefault<scalar>("Cmu", 0.09)),
-    kappa_(dict.lookupOrDefault<scalar>("kappa", 0.41)),
-    E_(dict.lookupOrDefault<scalar>("E", 9.8)),
-    yPlusLam_(yPlusLam(kappa_, E_))
-{
-    checkType();
-}
-
-
-nutWallFunctionFvPatchScalarField::nutWallFunctionFvPatchScalarField
-(
-    const nutWallFunctionFvPatchScalarField& wfpsf
-)
-:
-    fixedValueFvPatchScalarField(wfpsf),
-    Cmu_(wfpsf.Cmu_),
-    kappa_(wfpsf.kappa_),
-    E_(wfpsf.E_),
-    yPlusLam_(wfpsf.yPlusLam_)
-{
-    checkType();
-}
-
-
-nutWallFunctionFvPatchScalarField::nutWallFunctionFvPatchScalarField
-(
-    const nutWallFunctionFvPatchScalarField& wfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedValueFvPatchScalarField(wfpsf, iF),
-    Cmu_(wfpsf.Cmu_),
-    kappa_(wfpsf.kappa_),
-    E_(wfpsf.E_),
-    yPlusLam_(wfpsf.yPlusLam_)
-{
-    checkType();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-scalar nutWallFunctionFvPatchScalarField::yPlusLam
-(
-    const scalar kappa,
-    const scalar E
-)
-{
-    scalar ypl = 11.0;
-
-    for (int i=0; i<10; i++)
-    {
-        ypl = log(max(E*ypl, 1))/kappa;
-    }
-
-    return ypl;
-}
-
-
-void nutWallFunctionFvPatchScalarField::updateCoeffs()
-{
-    if (updated())
-    {
-        return;
-    }
-
-    operator==(calcNut());
-
-    fixedValueFvPatchScalarField::updateCoeffs();
-}
-
-
-void nutWallFunctionFvPatchScalarField::write(Ostream& os) const
-{
-    fvPatchField<scalar>::write(os);
-    writeLocalEntries(os);
-    writeEntry("value", os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.H
deleted file mode 100644
index de68000bd9f..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,181 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::nutWallFunctionFvPatchScalarField
-
-Group
-    grpIcoWallFunctions
-
-Description
-    This boundary condition provides a turbulent kinematic viscosity condition
-    when using wall functions, based on turbulence kinetic energy.
-    - replicates OpenFOAM v1.5 (and earlier) behaviour
-
-    \heading Patch usage
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            nutWallFunction;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::fixedValueFvPatchField
-
-SourceFiles
-    nutWallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef nutWallFunctionFvPatchScalarField_H
-#define nutWallFunctionFvPatchScalarField_H
-
-#include "fixedValueFvPatchFields.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-/*---------------------------------------------------------------------------*\
-             Class nutWallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class nutWallFunctionFvPatchScalarField
-:
-    public fixedValueFvPatchScalarField
-{
-protected:
-
-    // Protected data
-
-        //- Cmu coefficient
-        scalar Cmu_;
-
-        //- Von Karman constant
-        scalar kappa_;
-
-        //- E coefficient
-        scalar E_;
-
-        //- Y+ at the edge of the laminar sublayer
-        scalar yPlusLam_;
-
-
-    // Protected Member Functions
-
-        //- Check the type of the patch
-        virtual void checkType();
-
-        //- Calculate the turbulence viscosity
-        virtual tmp<scalarField> calcNut() const = 0;
-
-        //- Write local wall function variables
-        virtual void writeLocalEntries(Ostream&) const;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("nutWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        nutWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        nutWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        //  nutWallFunctionFvPatchScalarField
-        //  onto a new patch
-        nutWallFunctionFvPatchScalarField
-        (
-            const nutWallFunctionFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        nutWallFunctionFvPatchScalarField
-        (
-            const nutWallFunctionFvPatchScalarField&
-        );
-
-        //- Construct as copy setting internal field reference
-        nutWallFunctionFvPatchScalarField
-        (
-            const nutWallFunctionFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-
-    // Member functions
-
-        //- Calculate the Y+ at the edge of the laminar sublayer
-        static scalar yPlusLam(const scalar kappa, const scalar E);
-
-        //- Calculate and return the yPlus at the boundary
-        virtual tmp<scalarField> yPlus() const = 0;
-
-
-        // Evaluation functions
-
-            //- Update the coefficients associated with the patch field
-            virtual void updateCoeffs();
-
-
-        // I-O
-
-            //- Write
-            virtual void write(Ostream&) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkAtmRoughWallFunction/nutkAtmRoughWallFunctionFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkAtmRoughWallFunction/nutkAtmRoughWallFunctionFvPatchScalarField.C
deleted file mode 100644
index 9e724596bf1..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkAtmRoughWallFunction/nutkAtmRoughWallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,197 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "nutkAtmRoughWallFunctionFvPatchScalarField.H"
-#include "incompressible/turbulenceModel/turbulenceModel.H"
-#include "fvPatchFieldMapper.H"
-#include "volFields.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-tmp<scalarField> nutkAtmRoughWallFunctionFvPatchScalarField::calcNut() const
-{
-    const label patchI = patch().index();
-
-    const turbulenceModel& turbulence =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-    const scalarField& y = turbulence.y()[patchI];
-    const tmp<volScalarField> tk = turbulence.k();
-    const volScalarField& k = tk();
-    const tmp<volScalarField> tnu = turbulence.nu();
-    const volScalarField& nu = tnu();
-    const scalarField& nuw = nu.boundaryField()[patchI];
-
-    const scalar Cmu25 = pow025(Cmu_);
-
-    tmp<scalarField> tnutw(new scalarField(*this));
-    scalarField& nutw = tnutw();
-
-    forAll(nutw, faceI)
-    {
-        label faceCellI = patch().faceCells()[faceI];
-
-        scalar uStar = Cmu25*sqrt(k[faceCellI]);
-        scalar yPlus = uStar*y[faceI]/nuw[faceI];
-
-        scalar Edash = (y[faceI] + z0_[faceI])/(z0_[faceI] + 1e-4);
-
-        nutw[faceI] =
-            nuw[faceI]*(yPlus*kappa_/log(max(Edash, 1 + 1e-4)) - 1);
-
-        if (debug)
-        {
-            Info<< "yPlus = " << yPlus
-                << ", Edash = " << Edash
-                << ", nutw = " << nutw[faceI]
-                << endl;
-        }
-    }
-
-    return tnutw;
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-nutkAtmRoughWallFunctionFvPatchScalarField::
-nutkAtmRoughWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    nutkWallFunctionFvPatchScalarField(p, iF),
-    z0_(p.size(), 0.0)
-{}
-
-
-nutkAtmRoughWallFunctionFvPatchScalarField::
-nutkAtmRoughWallFunctionFvPatchScalarField
-(
-    const nutkAtmRoughWallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    nutkWallFunctionFvPatchScalarField(ptf, p, iF, mapper),
-    z0_(ptf.z0_, mapper)
-{}
-
-
-nutkAtmRoughWallFunctionFvPatchScalarField::
-nutkAtmRoughWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    nutkWallFunctionFvPatchScalarField(p, iF, dict),
-    z0_("z0", dict, p.size())
-{}
-
-
-nutkAtmRoughWallFunctionFvPatchScalarField::
-nutkAtmRoughWallFunctionFvPatchScalarField
-(
-    const nutkAtmRoughWallFunctionFvPatchScalarField& rwfpsf
-)
-:
-    nutkWallFunctionFvPatchScalarField(rwfpsf),
-    z0_(rwfpsf.z0_)
-{}
-
-
-nutkAtmRoughWallFunctionFvPatchScalarField::
-nutkAtmRoughWallFunctionFvPatchScalarField
-(
-    const nutkAtmRoughWallFunctionFvPatchScalarField& rwfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    nutkWallFunctionFvPatchScalarField(rwfpsf, iF),
-    z0_(rwfpsf.z0_)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void nutkAtmRoughWallFunctionFvPatchScalarField::autoMap
-(
-    const fvPatchFieldMapper& m
-)
-{
-    nutkWallFunctionFvPatchScalarField::autoMap(m);
-    z0_.autoMap(m);
-}
-
-
-void nutkAtmRoughWallFunctionFvPatchScalarField::rmap
-(
-    const fvPatchScalarField& ptf,
-    const labelList& addr
-)
-{
-    nutkWallFunctionFvPatchScalarField::rmap(ptf, addr);
-
-    const nutkAtmRoughWallFunctionFvPatchScalarField& nrwfpsf =
-        refCast<const nutkAtmRoughWallFunctionFvPatchScalarField>(ptf);
-
-    z0_.rmap(nrwfpsf.z0_, addr);
-}
-
-
-void nutkAtmRoughWallFunctionFvPatchScalarField::write(Ostream& os) const
-{
-    fvPatchField<scalar>::write(os);
-    writeLocalEntries(os);
-    z0_.writeEntry("z0", os);
-    writeEntry("value", os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    nutkAtmRoughWallFunctionFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkAtmRoughWallFunction/nutkAtmRoughWallFunctionFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkAtmRoughWallFunction/nutkAtmRoughWallFunctionFvPatchScalarField.H
deleted file mode 100644
index 3767de1fc0d..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkAtmRoughWallFunction/nutkAtmRoughWallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,217 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::nutkAtmRoughWallFunctionFvPatchScalarField
-
-Group
-    grpIcoWallFunctions
-
-Description
-    This boundary condition provides a turbulent kinematic viscosity for
-    atmospheric velocity profiles.  It is desinged to be used in conjunction
-    with the atmBoundaryLayerInletVelocity boundary condition.  The values
-    are calculated using:
-
-        \f[
-            U = frac{U_f}{K} ln(\frac{z + z_0}{z_0})
-        \f]
-
-    where
-
-    \vartable
-        U_f | frictional velocity
-        K   | Von Karman's constant
-        z_0 | surface roughness length
-        z   | vertical co-ordinate
-    \endvartable
-
-    \heading Patch usage
-
-    \table
-        Property     | Description             | Required    | Default value
-        z0           | surface roughness length| yes         |
-    \endtable
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            nutkAtmRoughWallFunction;
-        z0              uniform 0;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::nutkWallFunctionFvPatchField
-
-SourceFiles
-    nutkAtmRoughWallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef nutkAtmRoughWallFunctionFvPatchScalarField_H
-#define nutkAtmRoughWallFunctionFvPatchScalarField_H
-
-#include "nutkWallFunctionFvPatchScalarField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-/*---------------------------------------------------------------------------*\
-          Class nutkAtmRoughWallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class nutkAtmRoughWallFunctionFvPatchScalarField
-:
-    public nutkWallFunctionFvPatchScalarField
-{
-protected:
-
-    // Protected data
-
-        //- Surface roughness length
-        scalarField z0_;
-
-
-    // Protected Member Functions
-
-
-        //- Calculate the turbulence viscosity
-        virtual tmp<scalarField> calcNut() const;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("nutkAtmRoughWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        nutkAtmRoughWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        nutkAtmRoughWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        //  nutkAtmRoughWallFunctionFvPatchScalarField
-        //  onto a new patch
-        nutkAtmRoughWallFunctionFvPatchScalarField
-        (
-            const nutkAtmRoughWallFunctionFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        nutkAtmRoughWallFunctionFvPatchScalarField
-        (
-            const nutkAtmRoughWallFunctionFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new nutkAtmRoughWallFunctionFvPatchScalarField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        nutkAtmRoughWallFunctionFvPatchScalarField
-        (
-            const nutkAtmRoughWallFunctionFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new nutkAtmRoughWallFunctionFvPatchScalarField(*this, iF)
-            );
-        }
-
-
-    // Member functions
-
-        // Acces functions
-
-            // Return z0
-            scalarField& z0()
-            {
-                return z0_;
-            }
-
-
-        // Mapping functions
-
-            //- Map (and resize as needed) from self given a mapping object
-            virtual void autoMap(const fvPatchFieldMapper&);
-
-            //- Reverse map the given fvPatchField onto this fvPatchField
-            virtual void rmap
-            (
-                const fvPatchScalarField&,
-                const labelList&
-            );
-
-
-        // I-O
-
-            //- Write
-            virtual void write(Ostream&) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkRoughWallFunction/nutkRoughWallFunctionFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkRoughWallFunction/nutkRoughWallFunctionFvPatchScalarField.C
deleted file mode 100644
index 61d80688268..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkRoughWallFunction/nutkRoughWallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,241 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "nutkRoughWallFunctionFvPatchScalarField.H"
-#include "incompressible/turbulenceModel/turbulenceModel.H"
-#include "fvPatchFieldMapper.H"
-#include "volFields.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-scalar nutkRoughWallFunctionFvPatchScalarField::fnRough
-(
-    const scalar KsPlus,
-    const scalar Cs
-) const
-{
-    // Return fn based on non-dimensional roughness height
-
-    if (KsPlus < 90.0)
-    {
-        return pow
-        (
-            (KsPlus - 2.25)/87.75 + Cs*KsPlus,
-            sin(0.4258*(log(KsPlus) - 0.811))
-        );
-    }
-    else
-    {
-        return (1.0 + Cs*KsPlus);
-    }
-}
-
-
-tmp<scalarField> nutkRoughWallFunctionFvPatchScalarField::calcNut() const
-{
-    const label patchi = patch().index();
-
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-    const scalarField& y = turbModel.y()[patchi];
-    const tmp<volScalarField> tk = turbModel.k();
-    const volScalarField& k = tk();
-    const tmp<volScalarField> tnu = turbModel.nu();
-    const volScalarField& nu = tnu();
-    const scalarField& nuw = nu.boundaryField()[patchi];
-
-    const scalar Cmu25 = pow025(Cmu_);
-
-    tmp<scalarField> tnutw(new scalarField(*this));
-    scalarField& nutw = tnutw();
-
-    forAll(nutw, faceI)
-    {
-        label faceCellI = patch().faceCells()[faceI];
-
-        scalar uStar = Cmu25*sqrt(k[faceCellI]);
-        scalar yPlus = uStar*y[faceI]/nuw[faceI];
-        scalar KsPlus = uStar*Ks_[faceI]/nuw[faceI];
-
-        scalar Edash = E_;
-        if (KsPlus > 2.25)
-        {
-            Edash /= fnRough(KsPlus, Cs_[faceI]);
-        }
-
-        scalar limitingNutw = max(nutw[faceI], nuw[faceI]);
-
-        // To avoid oscillations limit the change in the wall viscosity
-        // which is particularly important if it temporarily becomes zero
-        nutw[faceI] =
-            max
-            (
-                min
-                (
-                    nuw[faceI]
-                   *(yPlus*kappa_/log(max(Edash*yPlus, 1+1e-4)) - 1),
-                    2*limitingNutw
-                ), 0.5*limitingNutw
-            );
-
-        if (debug)
-        {
-            Info<< "yPlus = " << yPlus
-                << ", KsPlus = " << KsPlus
-                << ", Edash = " << Edash
-                << ", nutw = " << nutw[faceI]
-                << endl;
-        }
-    }
-
-    return tnutw;
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-nutkRoughWallFunctionFvPatchScalarField::nutkRoughWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    nutkWallFunctionFvPatchScalarField(p, iF),
-    Ks_(p.size(), 0.0),
-    Cs_(p.size(), 0.0)
-{}
-
-
-nutkRoughWallFunctionFvPatchScalarField::nutkRoughWallFunctionFvPatchScalarField
-(
-    const nutkRoughWallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    nutkWallFunctionFvPatchScalarField(ptf, p, iF, mapper),
-    Ks_(ptf.Ks_, mapper),
-    Cs_(ptf.Cs_, mapper)
-{}
-
-
-nutkRoughWallFunctionFvPatchScalarField::nutkRoughWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    nutkWallFunctionFvPatchScalarField(p, iF, dict),
-    Ks_("Ks", dict, p.size()),
-    Cs_("Cs", dict, p.size())
-{}
-
-
-nutkRoughWallFunctionFvPatchScalarField::nutkRoughWallFunctionFvPatchScalarField
-(
-    const nutkRoughWallFunctionFvPatchScalarField& rwfpsf
-)
-:
-    nutkWallFunctionFvPatchScalarField(rwfpsf),
-    Ks_(rwfpsf.Ks_),
-    Cs_(rwfpsf.Cs_)
-{}
-
-
-nutkRoughWallFunctionFvPatchScalarField::nutkRoughWallFunctionFvPatchScalarField
-(
-    const nutkRoughWallFunctionFvPatchScalarField& rwfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    nutkWallFunctionFvPatchScalarField(rwfpsf, iF),
-    Ks_(rwfpsf.Ks_),
-    Cs_(rwfpsf.Cs_)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void nutkRoughWallFunctionFvPatchScalarField::autoMap
-(
-    const fvPatchFieldMapper& m
-)
-{
-    nutkWallFunctionFvPatchScalarField::autoMap(m);
-    Ks_.autoMap(m);
-    Cs_.autoMap(m);
-}
-
-
-void nutkRoughWallFunctionFvPatchScalarField::rmap
-(
-    const fvPatchScalarField& ptf,
-    const labelList& addr
-)
-{
-    nutkWallFunctionFvPatchScalarField::rmap(ptf, addr);
-
-    const nutkRoughWallFunctionFvPatchScalarField& nrwfpsf =
-        refCast<const nutkRoughWallFunctionFvPatchScalarField>(ptf);
-
-    Ks_.rmap(nrwfpsf.Ks_, addr);
-    Cs_.rmap(nrwfpsf.Cs_, addr);
-}
-
-
-void nutkRoughWallFunctionFvPatchScalarField::write(Ostream& os) const
-{
-    fvPatchField<scalar>::write(os);
-    writeLocalEntries(os);
-    Cs_.writeEntry("Cs", os);
-    Ks_.writeEntry("Ks", os);
-    writeEntry("value", os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    nutkRoughWallFunctionFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkRoughWallFunction/nutkRoughWallFunctionFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkRoughWallFunction/nutkRoughWallFunctionFvPatchScalarField.H
deleted file mode 100644
index 5f5e495fdd1..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkRoughWallFunction/nutkRoughWallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,221 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::nutkRoughWallFunctionFvPatchScalarField
-
-Group
-    grpIcoWallFunctions
-
-Description
-    This boundary condition provides a turbulent kinematic viscosity condition
-    when using wall functions for rough walls, based on turbulence kinetic
-    energy.  The condition manipulates the E parameter to account for roughness
-    effects.
-
-    Parameter ranges
-    - roughness height = sand-grain roughness (0 for smooth walls)
-    - roughness constant = 0.5-1.0
-
-    \heading Patch usage
-
-    \table
-        Property     | Description             | Required    | Default value
-        Ks           | sand-grain roughness height | yes     |
-        Cs           | roughness constant      | yes         |
-    \endtable
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            nutkRoughWallFunction;
-        Ks              uniform 0;
-        Cs              uniform 0.5;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::nutkRoughWallFunctionFvPatchScalarField
-
-SourceFiles
-    nutkRoughWallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef nutkRoughWallFunctionFvPatchScalarField_H
-#define nutkRoughWallFunctionFvPatchScalarField_H
-
-#include "nutkWallFunctionFvPatchScalarField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-/*---------------------------------------------------------------------------*\
-           Class nutkRoughWallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class nutkRoughWallFunctionFvPatchScalarField
-:
-    public nutkWallFunctionFvPatchScalarField
-{
-protected:
-
-    // Protected data
-
-        //- Roughness height
-        scalarField Ks_;
-
-        //- Roughness constant
-        scalarField Cs_;
-
-
-    // Protected Member Functions
-
-        //- Compute the roughness function
-        virtual scalar fnRough(const scalar KsPlus, const scalar Cs) const;
-
-        //- Calculate the turbulence viscosity
-        virtual tmp<scalarField> calcNut() const;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("nutkRoughWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        nutkRoughWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        nutkRoughWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        //  nutkRoughWallFunctionFvPatchScalarField
-        //  onto a new patch
-        nutkRoughWallFunctionFvPatchScalarField
-        (
-            const nutkRoughWallFunctionFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        nutkRoughWallFunctionFvPatchScalarField
-        (
-            const nutkRoughWallFunctionFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new nutkRoughWallFunctionFvPatchScalarField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        nutkRoughWallFunctionFvPatchScalarField
-        (
-            const nutkRoughWallFunctionFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new nutkRoughWallFunctionFvPatchScalarField(*this, iF)
-            );
-        }
-
-
-    // Member functions
-
-        // Acces functions
-
-            // Return Ks
-            scalarField& Ks()
-            {
-                return Ks_;
-            }
-
-            // Return Cs
-            scalarField& Cs()
-            {
-                return Cs_;
-            }
-
-
-        // Mapping functions
-
-            //- Map (and resize as needed) from self given a mapping object
-            virtual void autoMap(const fvPatchFieldMapper&);
-
-            //- Reverse map the given fvPatchField onto this fvPatchField
-            virtual void rmap
-            (
-                const fvPatchScalarField&,
-                const labelList&
-            );
-
-
-        // I-O
-
-            //- Write
-            virtual void write(Ostream&) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkWallFunction/nutkWallFunctionFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkWallFunction/nutkWallFunctionFvPatchScalarField.C
deleted file mode 100644
index bfc542434fa..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkWallFunction/nutkWallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,164 +0,0 @@
-/*---------------------------------------------------------------------------* \
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "nutkWallFunctionFvPatchScalarField.H"
-#include "incompressible/turbulenceModel/turbulenceModel.H"
-#include "fvPatchFieldMapper.H"
-#include "volFields.H"
-#include "wallFvPatch.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-tmp<scalarField> nutkWallFunctionFvPatchScalarField::calcNut() const
-{
-    const label patchi = patch().index();
-
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-    const scalarField& y = turbModel.y()[patchi];
-    const tmp<volScalarField> tk = turbModel.k();
-    const volScalarField& k = tk();
-    const tmp<volScalarField> tnu = turbModel.nu();
-    const volScalarField& nu = tnu();
-    const scalarField& nuw = nu.boundaryField()[patchi];
-
-    const scalar Cmu25 = pow025(Cmu_);
-
-    tmp<scalarField> tnutw(new scalarField(patch().size(), 0.0));
-    scalarField& nutw = tnutw();
-
-    forAll(nutw, faceI)
-    {
-        label faceCellI = patch().faceCells()[faceI];
-
-        scalar yPlus = Cmu25*y[faceI]*sqrt(k[faceCellI])/nuw[faceI];
-
-        if (yPlus > yPlusLam_)
-        {
-            nutw[faceI] = nuw[faceI]*(yPlus*kappa_/log(E_*yPlus) - 1.0);
-        }
-    }
-
-    return tnutw;
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-nutkWallFunctionFvPatchScalarField::nutkWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    nutWallFunctionFvPatchScalarField(p, iF)
-{}
-
-
-nutkWallFunctionFvPatchScalarField::nutkWallFunctionFvPatchScalarField
-(
-    const nutkWallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    nutWallFunctionFvPatchScalarField(ptf, p, iF, mapper)
-{}
-
-
-nutkWallFunctionFvPatchScalarField::nutkWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    nutWallFunctionFvPatchScalarField(p, iF, dict)
-{}
-
-
-nutkWallFunctionFvPatchScalarField::nutkWallFunctionFvPatchScalarField
-(
-    const nutkWallFunctionFvPatchScalarField& wfpsf
-)
-:
-    nutWallFunctionFvPatchScalarField(wfpsf)
-{}
-
-
-nutkWallFunctionFvPatchScalarField::nutkWallFunctionFvPatchScalarField
-(
-    const nutkWallFunctionFvPatchScalarField& wfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    nutWallFunctionFvPatchScalarField(wfpsf, iF)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<scalarField> nutkWallFunctionFvPatchScalarField::yPlus() const
-{
-    const label patchi = patch().index();
-
-    const turbulenceModel& turbModel =
-        db().lookupObject<turbulenceModel>("turbulenceModel");
-    const scalarField& y = turbModel.y()[patchi];
-
-    const tmp<volScalarField> tk = turbModel.k();
-    const volScalarField& k = tk();
-    tmp<scalarField> kwc = k.boundaryField()[patchi].patchInternalField();
-    const tmp<volScalarField> tnu = turbModel.nu();
-    const volScalarField& nu = tnu();
-    const scalarField& nuw = nu.boundaryField()[patchi];
-
-    return pow025(Cmu_)*y*sqrt(kwc)/nuw;
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    nutkWallFunctionFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkWallFunction/nutkWallFunctionFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkWallFunction/nutkWallFunctionFvPatchScalarField.H
deleted file mode 100644
index ef0a3066db7..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkWallFunction/nutkWallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,166 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::nutkWallFunctionFvPatchScalarField
-
-Group
-    grpIcoWallFunctions
-
-Description
-    This boundary condition provides a turbulent kinematic viscosity condition
-    when using wall functions, based on turbulence kinetic energy.
-    - replicates OpenFOAM v1.5 (and earlier) behaviour
-
-    \heading Patch usage
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            nutkWallFunction;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::nutWallFunctionFvPatchScalarField
-
-SourceFiles
-    nutkWallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef nutkWallFunctionFvPatchScalarField_H
-#define nutkWallFunctionFvPatchScalarField_H
-
-#include "nutWallFunctionFvPatchScalarField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-/*---------------------------------------------------------------------------*\
-             Class nutkWallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class nutkWallFunctionFvPatchScalarField
-:
-    public nutWallFunctionFvPatchScalarField
-{
-protected:
-
-    // Protected Member Functions
-
-        //- Calculate the turbulence viscosity
-        virtual tmp<scalarField> calcNut() const;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("nutkWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        nutkWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        nutkWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        //  nutkWallFunctionFvPatchScalarField
-        //  onto a new patch
-        nutkWallFunctionFvPatchScalarField
-        (
-            const nutkWallFunctionFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        nutkWallFunctionFvPatchScalarField
-        (
-            const nutkWallFunctionFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new nutkWallFunctionFvPatchScalarField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        nutkWallFunctionFvPatchScalarField
-        (
-            const nutkWallFunctionFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new nutkWallFunctionFvPatchScalarField(*this, iF)
-            );
-        }
-
-
-    // Member functions
-
-        //- Calculate and return the yPlus at the boundary
-        virtual tmp<scalarField> yPlus() const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C
deleted file mode 100644
index ebc195ece68..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,601 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "omegaWallFunctionFvPatchScalarField.H"
-#include "incompressible/turbulenceModel/turbulenceModel.H"
-#include "fvPatchFieldMapper.H"
-#include "fvMatrix.H"
-#include "volFields.H"
-#include "wallFvPatch.H"
-#include "nutkWallFunctionFvPatchScalarField.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-scalar omegaWallFunctionFvPatchScalarField::tolerance_ = 1e-5;
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-void omegaWallFunctionFvPatchScalarField::checkType()
-{
-    if (!isA<wallFvPatch>(patch()))
-    {
-        FatalErrorIn("omegaWallFunctionFvPatchScalarField::checkType()")
-            << "Invalid wall function specification" << nl
-            << "    Patch type for patch " << patch().name()
-            << " must be wall" << nl
-            << "    Current patch type is " << patch().type() << nl << endl
-            << abort(FatalError);
-    }
-}
-
-
-void omegaWallFunctionFvPatchScalarField::writeLocalEntries(Ostream& os) const
-{
-    os.writeKeyword("Cmu") << Cmu_ << token::END_STATEMENT << nl;
-    os.writeKeyword("kappa") << kappa_ << token::END_STATEMENT << nl;
-    os.writeKeyword("E") << E_ << token::END_STATEMENT << nl;
-    os.writeKeyword("beta1") << beta1_ << token::END_STATEMENT << nl;
-}
-
-
-void omegaWallFunctionFvPatchScalarField::setMaster()
-{
-    if (master_ != -1)
-    {
-        return;
-    }
-
-    const volScalarField& omega =
-        static_cast<const volScalarField&>(this->dimensionedInternalField());
-
-    const volScalarField::GeometricBoundaryField& bf = omega.boundaryField();
-
-    label master = -1;
-    forAll(bf, patchI)
-    {
-        if (isA<omegaWallFunctionFvPatchScalarField>(bf[patchI]))
-        {
-            omegaWallFunctionFvPatchScalarField& opf = omegaPatch(patchI);
-
-            if (master == -1)
-            {
-                master = patchI;
-            }
-
-            opf.master() = master;
-        }
-    }
-}
-
-
-void omegaWallFunctionFvPatchScalarField::createAveragingWeights()
-{
-    const volScalarField& omega =
-        static_cast<const volScalarField&>(this->dimensionedInternalField());
-
-    const volScalarField::GeometricBoundaryField& bf = omega.boundaryField();
-
-    const fvMesh& mesh = omega.mesh();
-
-    if (initialised_ && !mesh.changing())
-    {
-        return;
-    }
-
-    volScalarField weights
-    (
-        IOobject
-        (
-            "weights",
-            mesh.time().timeName(),
-            mesh,
-            IOobject::NO_READ,
-            IOobject::NO_WRITE,
-            false // do not register
-        ),
-        mesh,
-        dimensionedScalar("zero", dimless, 0.0)
-    );
-
-    DynamicList<label> omegaPatches(bf.size());
-    forAll(bf, patchI)
-    {
-        if (isA<omegaWallFunctionFvPatchScalarField>(bf[patchI]))
-        {
-            omegaPatches.append(patchI);
-
-            const labelUList& faceCells = bf[patchI].patch().faceCells();
-            forAll(faceCells, i)
-            {
-                label cellI = faceCells[i];
-                weights[cellI]++;
-            }
-        }
-    }
-
-    cornerWeights_.setSize(bf.size());
-    forAll(omegaPatches, i)
-    {
-        label patchI = omegaPatches[i];
-        const fvPatchScalarField& wf = weights.boundaryField()[patchI];
-        cornerWeights_[patchI] = 1.0/wf.patchInternalField();
-    }
-
-    G_.setSize(dimensionedInternalField().size(), 0.0);
-    omega_.setSize(dimensionedInternalField().size(), 0.0);
-
-    initialised_ = true;
-}
-
-
-omegaWallFunctionFvPatchScalarField&
-omegaWallFunctionFvPatchScalarField::omegaPatch(const label patchI)
-{
-    const volScalarField& omega =
-        static_cast<const volScalarField&>(this->dimensionedInternalField());
-
-    const volScalarField::GeometricBoundaryField& bf = omega.boundaryField();
-
-    const omegaWallFunctionFvPatchScalarField& opf =
-        refCast<const omegaWallFunctionFvPatchScalarField>(bf[patchI]);
-
-    return const_cast<omegaWallFunctionFvPatchScalarField&>(opf);
-}
-
-
-void omegaWallFunctionFvPatchScalarField::calculateTurbulenceFields
-(
-    const turbulenceModel& turbulence,
-    scalarField& G0,
-    scalarField& omega0
-)
-{
-    // accumulate all of the G and omega contributions
-    forAll(cornerWeights_, patchI)
-    {
-        if (!cornerWeights_[patchI].empty())
-        {
-            omegaWallFunctionFvPatchScalarField& opf = omegaPatch(patchI);
-
-            const List<scalar>& w = cornerWeights_[patchI];
-
-            opf.calculate(turbulence, w, opf.patch(), G0, omega0);
-        }
-    }
-
-    // apply zero-gradient condition for omega
-    forAll(cornerWeights_, patchI)
-    {
-        if (!cornerWeights_[patchI].empty())
-        {
-            omegaWallFunctionFvPatchScalarField& opf = omegaPatch(patchI);
-
-            opf == scalarField(omega0, opf.patch().faceCells());
-        }
-    }
-}
-
-
-void omegaWallFunctionFvPatchScalarField::calculate
-(
-    const turbulenceModel& turbulence,
-    const List<scalar>& cornerWeights,
-    const fvPatch& patch,
-    scalarField& G,
-    scalarField& omega
-)
-{
-    const label patchI = patch.index();
-
-    const scalarField& y = turbulence.y()[patchI];
-
-    const scalar Cmu25 = pow025(Cmu_);
-
-    const tmp<volScalarField> tk = turbulence.k();
-    const volScalarField& k = tk();
-
-    const tmp<volScalarField> tnu = turbulence.nu();
-    const scalarField& nuw = tnu().boundaryField()[patchI];
-
-    const tmp<volScalarField> tnut = turbulence.nut();
-    const volScalarField& nut = tnut();
-    const scalarField& nutw = nut.boundaryField()[patchI];
-
-    const fvPatchVectorField& Uw = turbulence.U().boundaryField()[patchI];
-
-    const scalarField magGradUw(mag(Uw.snGrad()));
-
-    // Set omega and G
-    forAll(nutw, faceI)
-    {
-        label cellI = patch.faceCells()[faceI];
-
-        scalar w = cornerWeights[faceI];
-
-        scalar omegaVis = 6.0*nuw[faceI]/(beta1_*sqr(y[faceI]));
-
-        scalar omegaLog = sqrt(k[cellI])/(Cmu25*kappa_*y[faceI]);
-
-        omega[cellI] += w*sqrt(sqr(omegaVis) + sqr(omegaLog));
-
-        G[cellI] +=
-            w
-           *(nutw[faceI] + nuw[faceI])
-           *magGradUw[faceI]
-           *Cmu25*sqrt(k[cellI])
-           /(kappa_*y[faceI]);
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedValueFvPatchField<scalar>(p, iF),
-    Cmu_(0.09),
-    kappa_(0.41),
-    E_(9.8),
-    beta1_(0.075),
-    yPlusLam_(nutkWallFunctionFvPatchScalarField::yPlusLam(kappa_, E_)),
-    G_(),
-    omega_(),
-    initialised_(false),
-    master_(-1),
-    cornerWeights_()
-{
-    checkType();
-}
-
-
-omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField
-(
-    const omegaWallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    fixedValueFvPatchField<scalar>(ptf, p, iF, mapper),
-    Cmu_(ptf.Cmu_),
-    kappa_(ptf.kappa_),
-    E_(ptf.E_),
-    beta1_(ptf.beta1_),
-    yPlusLam_(ptf.yPlusLam_),
-    G_(),
-    omega_(),
-    initialised_(false),
-    master_(-1),
-    cornerWeights_()
-{
-    checkType();
-}
-
-
-omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    fixedValueFvPatchField<scalar>(p, iF, dict),
-    Cmu_(dict.lookupOrDefault<scalar>("Cmu", 0.09)),
-    kappa_(dict.lookupOrDefault<scalar>("kappa", 0.41)),
-    E_(dict.lookupOrDefault<scalar>("E", 9.8)),
-    beta1_(dict.lookupOrDefault<scalar>("beta1", 0.075)),
-    yPlusLam_(nutkWallFunctionFvPatchScalarField::yPlusLam(kappa_, E_)),
-    G_(),
-    omega_(),
-    initialised_(false),
-    master_(-1),
-    cornerWeights_()
-{
-    checkType();
-
-    // apply zero-gradient condition on start-up
-    this->operator==(patchInternalField());
-}
-
-
-omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField
-(
-    const omegaWallFunctionFvPatchScalarField& owfpsf
-)
-:
-    fixedValueFvPatchField<scalar>(owfpsf),
-    Cmu_(owfpsf.Cmu_),
-    kappa_(owfpsf.kappa_),
-    E_(owfpsf.E_),
-    beta1_(owfpsf.beta1_),
-    yPlusLam_(owfpsf.yPlusLam_),
-    G_(),
-    omega_(),
-    initialised_(false),
-    master_(-1),
-    cornerWeights_()
-{
-    checkType();
-}
-
-
-omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField
-(
-    const omegaWallFunctionFvPatchScalarField& owfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedValueFvPatchField<scalar>(owfpsf, iF),
-    Cmu_(owfpsf.Cmu_),
-    kappa_(owfpsf.kappa_),
-    E_(owfpsf.E_),
-    beta1_(owfpsf.beta1_),
-    yPlusLam_(owfpsf.yPlusLam_),
-    G_(),
-    omega_(),
-    initialised_(false),
-    master_(-1),
-    cornerWeights_()
-{
-    checkType();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-scalarField& omegaWallFunctionFvPatchScalarField::G(bool init)
-{
-    if (patch().index() == master_)
-    {
-        if (init)
-        {
-            G_ = 0.0;
-        }
-
-        return G_;
-    }
-
-    return omegaPatch(master_).G();
-}
-
-
-scalarField& omegaWallFunctionFvPatchScalarField::omega(bool init)
-{
-    if (patch().index() == master_)
-    {
-        if (init)
-        {
-            omega_ = 0.0;
-        }
-
-        return omega_;
-    }
-
-    return omegaPatch(master_).omega(init);
-}
-
-
-void omegaWallFunctionFvPatchScalarField::updateCoeffs()
-{
-    if (updated())
-    {
-        return;
-    }
-
-    const turbulenceModel& turbulence =
-        db().lookupObject<turbulenceModel>(turbulenceModel::typeName);
-
-    setMaster();
-
-    if (patch().index() == master_)
-    {
-        createAveragingWeights();
-        calculateTurbulenceFields(turbulence, G(true), omega(true));
-    }
-
-    const scalarField& G0 = this->G();
-    const scalarField& omega0 = this->omega();
-
-    typedef DimensionedField<scalar, volMesh> FieldType;
-
-    FieldType& G =
-        const_cast<FieldType&>
-        (
-            db().lookupObject<FieldType>(turbulence.GName())
-        );
-
-    FieldType& omega = const_cast<FieldType&>(dimensionedInternalField());
-
-    forAll(*this, faceI)
-    {
-        label cellI = patch().faceCells()[faceI];
-
-        G[cellI] = G0[cellI];
-        omega[cellI] = omega0[cellI];
-    }
-
-    fvPatchField<scalar>::updateCoeffs();
-}
-
-
-void omegaWallFunctionFvPatchScalarField::updateCoeffs
-(
-    const scalarField& weights
-)
-{
-    if (updated())
-    {
-        return;
-    }
-
-    const turbulenceModel& turbulence =
-        db().lookupObject<turbulenceModel>(turbulenceModel::typeName);
-
-    setMaster();
-
-    if (patch().index() == master_)
-    {
-        createAveragingWeights();
-        calculateTurbulenceFields(turbulence, G(true), omega(true));
-    }
-
-    const scalarField& G0 = this->G();
-    const scalarField& omega0 = this->omega();
-
-    typedef DimensionedField<scalar, volMesh> FieldType;
-
-    FieldType& G =
-        const_cast<FieldType&>
-        (
-            db().lookupObject<FieldType>(turbulence.GName())
-        );
-
-    FieldType& omega = const_cast<FieldType&>(dimensionedInternalField());
-
-    scalarField& omegaf = *this;
-
-    // only set the values if the weights are > tolerance
-    forAll(weights, faceI)
-    {
-        scalar w = weights[faceI];
-
-        if (w > tolerance_)
-        {
-            label cellI = patch().faceCells()[faceI];
-
-            G[cellI] = (1.0 - w)*G[cellI] + w*G0[cellI];
-            omega[cellI] = (1.0 - w)*omega[cellI] + w*omega0[cellI];
-            omegaf[faceI] = omega[cellI];
-        }
-    }
-
-    fvPatchField<scalar>::updateCoeffs();
-}
-
-
-void omegaWallFunctionFvPatchScalarField::manipulateMatrix
-(
-    fvMatrix<scalar>& matrix
-)
-{
-    if (manipulatedMatrix())
-    {
-        return;
-    }
-
-    matrix.setValues(patch().faceCells(), patchInternalField());
-
-    fvPatchField<scalar>::manipulateMatrix(matrix);
-}
-
-
-void omegaWallFunctionFvPatchScalarField::manipulateMatrix
-(
-    fvMatrix<scalar>& matrix,
-    const Field<scalar>& weights
-)
-{
-    if (manipulatedMatrix())
-    {
-        return;
-    }
-
-    // filter weights so that we only apply the constraint where the
-    // weight > SMALL
-    DynamicList<label> constraintCells(weights.size());
-    DynamicList<scalar> constraintomega(weights.size());
-    const labelUList& faceCells = patch().faceCells();
-
-    const DimensionedField<scalar, volMesh>& omega =
-        dimensionedInternalField();
-
-    label nConstrainedCells = 0;
-
-
-    forAll(weights, faceI)
-    {
-        // only set the values if the weights are > tolerance
-        if (weights[faceI] > tolerance_)
-        {
-            nConstrainedCells++;
-
-            label cellI = faceCells[faceI];
-
-            constraintCells.append(cellI);
-            constraintomega.append(omega[cellI]);
-        }
-    }
-
-    if (debug)
-    {
-        Pout<< "Patch: " << patch().name()
-            << ": number of constrained cells = " << nConstrainedCells
-            << " out of " << patch().size()
-            << endl;
-    }
-
-    matrix.setValues
-    (
-        constraintCells,
-        scalarField(constraintomega.xfer())
-    );
-
-    fvPatchField<scalar>::manipulateMatrix(matrix);
-}
-
-
-void omegaWallFunctionFvPatchScalarField::write(Ostream& os) const
-{
-    fixedValueFvPatchField<scalar>::write(os);
-    writeLocalEntries(os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    omegaWallFunctionFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H
deleted file mode 100644
index 74eef728cf6..00000000000
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,298 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::omegaWallFunctionFvPatchScalarField
-
-Group
-    grpIcoWallFunctions
-
-Description
-    This boundary condition provides a wall function constraint on turbulnce
-    specific dissipation, omega.  The values are computed using:
-
-        \f[
-            \omega = sqrt(\omega_{vis}^2 + \omega_{log}^2)
-        \f]
-
-    where
-
-    \vartable
-        \omega_{vis} | omega in viscous region
-        \omega_{log} | omega in logarithmic region
-    \endvartable
-
-    Model described by Eqs.(14, 15) of:
-    \verbatim
-        Menter, F., Esch, T.
-        "Elements of Industrial Heat Transfer Prediction"
-        16th Brazilian Congress of Mechanical Engineering (COBEM),
-        Nov. 2001
-    \endverbatim
-
-    \heading Patch usage
-
-    \table
-        Property     | Description             | Required    | Default value
-        Cmu          | model coefficient       | no          | 0.09
-        kappa        | Von Karman constant     | no          | 0.41
-        E            | model coefficient       | no          | 9.8
-        beta1        | model coefficient       | no          | 0.075
-    \endtable
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            omegaWallFunction;
-    }
-    \endverbatim
-
-SourceFiles
-    omegaWallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef omegaWallFunctionFvPatchScalarField_H
-#define omegaWallFunctionFvPatchScalarField_H
-
-#include "fixedValueFvPatchField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-class turbulenceModel;
-
-/*---------------------------------------------------------------------------*\
-             Class omegaWallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class omegaWallFunctionFvPatchScalarField
-:
-    public fixedValueFvPatchField<scalar>
-{
-protected:
-
-    // Protected data
-
-        //- Tolerance used in weighted calculations
-        static scalar tolerance_;
-
-        //- Cmu coefficient
-        scalar Cmu_;
-
-        //- Von Karman constant
-        scalar kappa_;
-
-        //- E coefficient
-        scalar E_;
-
-        //- beta1 coefficient
-        scalar beta1_;
-
-        //- Y+ at the edge of the laminar sublayer
-        scalar yPlusLam_;
-
-        //- Local copy of turbulence G field
-        scalarField G_;
-
-        //- Local copy of turbulence omega field
-        scalarField omega_;
-
-        //- Initialised flag
-        bool initialised_;
-
-        //- Master patch ID
-        label master_;
-
-        //- List of averaging corner weights
-        List<List<scalar> > cornerWeights_;
-
-
-    // Protected Member Functions
-
-        //- Check the type of the patch
-        virtual void checkType();
-
-        //- Write local wall function variables
-        virtual void writeLocalEntries(Ostream&) const;
-
-        //- Set the master patch - master is responsible for updating all
-        //  wall function patches
-        virtual void setMaster();
-
-        //- Create the averaging weights for cells which are bounded by
-        //  multiple wall function faces
-        virtual void createAveragingWeights();
-
-        //- Helper function to return non-const access to an omega patch
-        virtual omegaWallFunctionFvPatchScalarField& omegaPatch
-        (
-            const label patchI
-        );
-
-        //- Main driver to calculate the turbulence fields
-        virtual void calculateTurbulenceFields
-        (
-            const turbulenceModel& turbulence,
-            scalarField& G0,
-            scalarField& omega0
-        );
-
-        //- Calculate the omega and G
-        virtual void calculate
-        (
-            const turbulenceModel& turbulence,
-            const List<scalar>& cornerWeights,
-            const fvPatch& patch,
-            scalarField& G,
-            scalarField& omega
-        );
-
-        //- Return non-const access to the master patch ID
-        virtual label& master()
-        {
-            return master_;
-        }
-
-
-public:
-
-    //- Runtime type information
-    TypeName("omegaWallFunction");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        omegaWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        omegaWallFunctionFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        // omegaWallFunctionFvPatchScalarField
-        //  onto a new patch
-        omegaWallFunctionFvPatchScalarField
-        (
-            const omegaWallFunctionFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        omegaWallFunctionFvPatchScalarField
-        (
-            const omegaWallFunctionFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new omegaWallFunctionFvPatchScalarField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        omegaWallFunctionFvPatchScalarField
-        (
-            const omegaWallFunctionFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new omegaWallFunctionFvPatchScalarField(*this, iF)
-            );
-        }
-
-
-    // Member functions
-
-        // Access
-
-            //- Return non-const access to the master's G field
-            scalarField& G(bool init = false);
-
-            //- Return non-const access to the master's omega field
-            scalarField& omega(bool init = false);
-
-
-        // Evaluation functions
-
-            //- Update the coefficients associated with the patch field
-            virtual void updateCoeffs();
-
-            //- Update the coefficients associated with the patch field
-            virtual void updateCoeffs(const scalarField& weights);
-
-            //- Manipulate matrix
-            virtual void manipulateMatrix(fvMatrix<scalar>& matrix);
-
-            //- Manipulate matrix with given weights
-            virtual void manipulateMatrix
-            (
-                fvMatrix<scalar>& matrix,
-                const scalarField& weights
-            );
-
-
-        // I-O
-
-            //- Write
-            virtual void write(Ostream&) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/kEpsilon/kEpsilon.C b/src/turbulenceModels/incompressible/RAS/kEpsilon/kEpsilon.C
deleted file mode 100644
index a152daae9a2..00000000000
--- a/src/turbulenceModels/incompressible/RAS/kEpsilon/kEpsilon.C
+++ /dev/null
@@ -1,290 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "kEpsilon.H"
-#include "addToRunTimeSelectionTable.H"
-
-#include "backwardsCompatibilityWallFunctions.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace RASModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(kEpsilon, 0);
-addToRunTimeSelectionTable(RASModel, kEpsilon, dictionary);
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-kEpsilon::kEpsilon
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    RASModel(modelName, U, phi, transport, turbulenceModelName),
-
-    Cmu_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cmu",
-            coeffDict_,
-            0.09
-        )
-    ),
-    C1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C1",
-            coeffDict_,
-            1.44
-        )
-    ),
-    C2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C2",
-            coeffDict_,
-            1.92
-        )
-    ),
-    sigmaEps_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmaEps",
-            coeffDict_,
-            1.3
-        )
-    ),
-
-    k_
-    (
-        IOobject
-        (
-            "k",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateK("k", mesh_)
-    ),
-    epsilon_
-    (
-        IOobject
-        (
-            "epsilon",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateEpsilon("epsilon", mesh_)
-    ),
-    nut_
-    (
-        IOobject
-        (
-            "nut",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateNut("nut", mesh_)
-    )
-{
-    bound(k_, kMin_);
-    bound(epsilon_, epsilonMin_);
-
-    nut_ = Cmu_*sqr(k_)/epsilon_;
-    nut_.correctBoundaryConditions();
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volSymmTensorField> kEpsilon::R() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "R",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            ((2.0/3.0)*I)*k_ - nut_*twoSymm(fvc::grad(U_)),
-            k_.boundaryField().types()
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> kEpsilon::devReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-           -nuEff()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> kEpsilon::divDevReff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(nuEff(), U)
-      - fvc::div(nuEff()*dev(T(fvc::grad(U))))
-    );
-}
-
-
-tmp<fvVectorMatrix> kEpsilon::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    volScalarField muEff("muEff", rho*nuEff());
-
-    return
-    (
-      - fvm::laplacian(muEff, U)
-      - fvc::div(muEff*dev(T(fvc::grad(U))))
-    );
-}
-
-
-bool kEpsilon::read()
-{
-    if (RASModel::read())
-    {
-        Cmu_.readIfPresent(coeffDict());
-        C1_.readIfPresent(coeffDict());
-        C2_.readIfPresent(coeffDict());
-        sigmaEps_.readIfPresent(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-void kEpsilon::correct()
-{
-    RASModel::correct();
-
-    if (!turbulence_)
-    {
-        return;
-    }
-
-    volScalarField G(GName(), nut_*2*magSqr(symm(fvc::grad(U_))));
-
-    // Update epsilon and G at the wall
-    epsilon_.boundaryField().updateCoeffs();
-
-    // Dissipation equation
-    tmp<fvScalarMatrix> epsEqn
-    (
-        fvm::ddt(epsilon_)
-      + fvm::div(phi_, epsilon_)
-      - fvm::laplacian(DepsilonEff(), epsilon_)
-     ==
-        C1_*G*epsilon_/k_
-      - fvm::Sp(C2_*epsilon_/k_, epsilon_)
-    );
-
-    epsEqn().relax();
-
-    epsEqn().boundaryManipulate(epsilon_.boundaryField());
-
-    solve(epsEqn);
-    bound(epsilon_, epsilonMin_);
-
-
-    // Turbulent kinetic energy equation
-    tmp<fvScalarMatrix> kEqn
-    (
-        fvm::ddt(k_)
-      + fvm::div(phi_, k_)
-      - fvm::laplacian(DkEff(), k_)
-     ==
-        G
-      - fvm::Sp(epsilon_/k_, k_)
-    );
-
-    kEqn().relax();
-    solve(kEqn);
-    bound(k_, kMin_);
-
-
-    // Re-calculate viscosity
-    nut_ = Cmu_*sqr(k_)/epsilon_;
-    nut_.correctBoundaryConditions();
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/kEpsilon/kEpsilon.H b/src/turbulenceModels/incompressible/RAS/kEpsilon/kEpsilon.H
deleted file mode 100644
index b11e84097cc..00000000000
--- a/src/turbulenceModels/incompressible/RAS/kEpsilon/kEpsilon.H
+++ /dev/null
@@ -1,197 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::RASModels::kEpsilon
-
-Group
-    grpIcoRASTurbulence
-
-Description
-    Standard k-epsilon turbulence model for incompressible flows.
-
-    Reference:
-    \verbatim
-        Launder, B.E., and Spalding, D.B.,
-        "Mathematical Models of Turbulence",
-        Academic Press, 1972.
-
-        Launder, B.E., and Spalding, D.B.,
-        "Computational Methods for Turbulent Flows",
-        Comp. Meth in Appl Mech & Eng'g, Vol 3, 1974, pp 269-289.
-    \endverbatim
-
-    The default model coefficients correspond to the following:
-    \verbatim
-        kEpsilonCoeffs
-        {
-            Cmu         0.09;
-            C1          1.44;
-            C2          1.92;
-            sigmaEps    1.3;
-        }
-    \endverbatim
-
-SourceFiles
-    kEpsilon.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef kEpsilon_H
-#define kEpsilon_H
-
-#include "RASModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace RASModels
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class kEpsilon Declaration
-\*---------------------------------------------------------------------------*/
-
-class kEpsilon
-:
-    public RASModel
-{
-
-protected:
-
-    // Protected data
-
-        // Model coefficients
-
-            dimensionedScalar Cmu_;
-            dimensionedScalar C1_;
-            dimensionedScalar C2_;
-            dimensionedScalar sigmaEps_;
-
-
-        // Fields
-
-            volScalarField k_;
-            volScalarField epsilon_;
-            volScalarField nut_;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("kEpsilon");
-
-    // Constructors
-
-        //- Construct from components
-        kEpsilon
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~kEpsilon()
-    {}
-
-
-    // Member Functions
-
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> nut() const
-        {
-            return nut_;
-        }
-
-        //- Return the effective diffusivity for k
-        tmp<volScalarField> DkEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DkEff", nut_ + nu())
-            );
-        }
-
-        //- Return the effective diffusivity for epsilon
-        tmp<volScalarField> DepsilonEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DepsilonEff", nut_/sigmaEps_ + nu())
-            );
-        }
-
-        //- Return the turbulence kinetic energy
-        virtual tmp<volScalarField> k() const
-        {
-            return k_;
-        }
-
-        //- Return the turbulence kinetic energy dissipation rate
-        virtual tmp<volScalarField> epsilon() const
-        {
-            return epsilon_;
-        }
-
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const;
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const;
-
-        //- Solve the turbulence equations and correct the turbulence viscosity
-        virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C b/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C
deleted file mode 100644
index 9eada0bf271..00000000000
--- a/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C
+++ /dev/null
@@ -1,472 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "kOmegaSST.H"
-#include "addToRunTimeSelectionTable.H"
-
-#include "backwardsCompatibilityWallFunctions.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace RASModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(kOmegaSST, 0);
-addToRunTimeSelectionTable(RASModel, kOmegaSST, dictionary);
-
-// * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * * //
-
-tmp<volScalarField> kOmegaSST::F1(const volScalarField& CDkOmega) const
-{
-    tmp<volScalarField> CDkOmegaPlus = max
-    (
-        CDkOmega,
-        dimensionedScalar("1.0e-10", dimless/sqr(dimTime), 1.0e-10)
-    );
-
-    tmp<volScalarField> arg1 = min
-    (
-        min
-        (
-            max
-            (
-                (scalar(1)/betaStar_)*sqrt(k_)/(omega_*y_),
-                scalar(500)*nu()/(sqr(y_)*omega_)
-            ),
-            (4*alphaOmega2_)*k_/(CDkOmegaPlus*sqr(y_))
-        ),
-        scalar(10)
-    );
-
-    return tanh(pow4(arg1));
-}
-
-
-tmp<volScalarField> kOmegaSST::F2() const
-{
-    tmp<volScalarField> arg2 = min
-    (
-        max
-        (
-            (scalar(2)/betaStar_)*sqrt(k_)/(omega_*y_),
-            scalar(500)*nu()/(sqr(y_)*omega_)
-        ),
-        scalar(100)
-    );
-
-    return tanh(sqr(arg2));
-}
-
-
-tmp<volScalarField> kOmegaSST::F3() const
-{
-    tmp<volScalarField> arg3 = min
-    (
-        150*nu()/(omega_*sqr(y_)),
-        scalar(10)
-    );
-
-    return 1 - tanh(pow4(arg3));
-}
-
-
-tmp<volScalarField> kOmegaSST::F23() const
-{
-    tmp<volScalarField> f23(F2());
-
-    if (F3_)
-    {
-        f23() *= F3();
-    }
-
-    return f23;
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-kOmegaSST::kOmegaSST
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    RASModel(modelName, U, phi, transport, turbulenceModelName),
-
-    alphaK1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "alphaK1",
-            coeffDict_,
-            0.85
-        )
-    ),
-    alphaK2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "alphaK2",
-            coeffDict_,
-            1.0
-        )
-    ),
-    alphaOmega1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "alphaOmega1",
-            coeffDict_,
-            0.5
-        )
-    ),
-    alphaOmega2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "alphaOmega2",
-            coeffDict_,
-            0.856
-        )
-    ),
-    gamma1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "gamma1",
-            coeffDict_,
-            5.0/9.0
-        )
-    ),
-    gamma2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "gamma2",
-            coeffDict_,
-            0.44
-        )
-    ),
-    beta1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "beta1",
-            coeffDict_,
-            0.075
-        )
-    ),
-    beta2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "beta2",
-            coeffDict_,
-            0.0828
-        )
-    ),
-    betaStar_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "betaStar",
-            coeffDict_,
-            0.09
-        )
-    ),
-    a1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "a1",
-            coeffDict_,
-            0.31
-        )
-    ),
-    b1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "b1",
-            coeffDict_,
-            1.0
-        )
-    ),
-    c1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "c1",
-            coeffDict_,
-            10.0
-        )
-    ),
-    F3_
-    (
-        Switch::lookupOrAddToDict
-        (
-            "F3",
-            coeffDict_,
-            false
-        )
-    ),
-
-    y_(wallDist::New(mesh_).y()),
-
-    k_
-    (
-        IOobject
-        (
-            "k",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateK("k", mesh_)
-    ),
-    omega_
-    (
-        IOobject
-        (
-            "omega",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateOmega("omega", mesh_)
-    ),
-    nut_
-    (
-        IOobject
-        (
-            "nut",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateNut("nut", mesh_)
-    )
-{
-    bound(k_, kMin_);
-    bound(omega_, omegaMin_);
-
-    nut_ =
-    (
-        a1_*k_
-      / max
-        (
-            a1_*omega_,
-            b1_*F23()*sqrt(2.0)*mag(symm(fvc::grad(U_)))
-        )
-    );
-    nut_.correctBoundaryConditions();
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volSymmTensorField> kOmegaSST::R() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "R",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            ((2.0/3.0)*I)*k_ - nut_*twoSymm(fvc::grad(U_)),
-            k_.boundaryField().types()
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> kOmegaSST::devReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-           -nuEff()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> kOmegaSST::divDevReff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(nuEff(), U)
-      - fvc::div(nuEff()*dev(T(fvc::grad(U))))
-    );
-}
-
-
-tmp<fvVectorMatrix> kOmegaSST::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    volScalarField muEff("muEff", rho*nuEff());
-
-    return
-    (
-      - fvm::laplacian(muEff, U)
-      - fvc::div(muEff*dev(T(fvc::grad(U))))
-    );
-}
-
-
-bool kOmegaSST::read()
-{
-    if (RASModel::read())
-    {
-        alphaK1_.readIfPresent(coeffDict());
-        alphaK2_.readIfPresent(coeffDict());
-        alphaOmega1_.readIfPresent(coeffDict());
-        alphaOmega2_.readIfPresent(coeffDict());
-        gamma1_.readIfPresent(coeffDict());
-        gamma2_.readIfPresent(coeffDict());
-        beta1_.readIfPresent(coeffDict());
-        beta2_.readIfPresent(coeffDict());
-        betaStar_.readIfPresent(coeffDict());
-        a1_.readIfPresent(coeffDict());
-        b1_.readIfPresent(coeffDict());
-        c1_.readIfPresent(coeffDict());
-        F3_.readIfPresent("F3", coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-void kOmegaSST::correct()
-{
-    RASModel::correct();
-
-    if (!turbulence_)
-    {
-        return;
-    }
-
-    const volScalarField S2(2*magSqr(symm(fvc::grad(U_))));
-    volScalarField G(GName(), nut_*S2);
-
-    // Update omega and G at the wall
-    omega_.boundaryField().updateCoeffs();
-
-    const volScalarField CDkOmega
-    (
-        (2*alphaOmega2_)*(fvc::grad(k_) & fvc::grad(omega_))/omega_
-    );
-
-    const volScalarField F1(this->F1(CDkOmega));
-
-    // Turbulent frequency equation
-    tmp<fvScalarMatrix> omegaEqn
-    (
-        fvm::ddt(omega_)
-      + fvm::div(phi_, omega_)
-      - fvm::laplacian(DomegaEff(F1), omega_)
-     ==
-        gamma(F1)
-       *min(S2, (c1_/a1_)*betaStar_*omega_*max(a1_*omega_, b1_*F23()*sqrt(S2)))
-      - fvm::Sp(beta(F1)*omega_, omega_)
-      - fvm::SuSp
-        (
-            (F1 - scalar(1))*CDkOmega/omega_,
-            omega_
-        )
-    );
-
-    omegaEqn().relax();
-
-    omegaEqn().boundaryManipulate(omega_.boundaryField());
-
-    solve(omegaEqn);
-    bound(omega_, omegaMin_);
-
-    // Turbulent kinetic energy equation
-    tmp<fvScalarMatrix> kEqn
-    (
-        fvm::ddt(k_)
-      + fvm::div(phi_, k_)
-      - fvm::laplacian(DkEff(F1), k_)
-     ==
-        min(G, c1_*betaStar_*k_*omega_)
-      - fvm::Sp(betaStar_*omega_, k_)
-    );
-
-    kEqn().relax();
-    solve(kEqn);
-    bound(k_, kMin_);
-
-
-    // Re-calculate viscosity
-    nut_ = a1_*k_/max(a1_*omega_, b1_*F23()*sqrt(S2));
-    nut_.correctBoundaryConditions();
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.H b/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.H
deleted file mode 100644
index c64f5e36b32..00000000000
--- a/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.H
+++ /dev/null
@@ -1,311 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::RASModels::kOmegaSST
-
-Description
-    Implementation of the k-omega-SST turbulence model for incompressible
-    flows.
-
-    Turbulence model described in
-    \verbatim
-        Menter, F., Esch, T.,
-        "Elements of Industrial Heat Transfer Prediction",
-        16th Brazilian Congress of Mechanical Engineering (COBEM),
-        Nov. 2001.
-    \endverbatim
-
-    with updated coefficients from
-    \verbatim
-        Menter, F. R., Kuntz, M., and Langtry, R.,
-        "Ten Years of Industrial Experience with the SST Turbulence Model",
-        Turbulence, Heat and Mass Transfer 4, 2003,
-        pp. 625 - 632.
-    \endverbatim
-
-    but with the consistent production terms from the 2001 paper as form in the
-    2003 paper is a typo, see
-    \verbatim
-        http://turbmodels.larc.nasa.gov/sst.html
-    \endverbatim
-
-    and the addition of the optional F3 term for rough walls from
-    \verbatim
-        Hellsten, A.
-        "Some Improvements in Menter’s k-omega-SST turbulence model"
-        29th AIAA Fluid Dynamics Conference,
-        AIAA-98-2554,
-        June 1998.
-    \endverbatim
-
-    Note that this implementation is written in terms of alpha diffusion
-    coefficients rather than the more traditional sigma (alpha = 1/sigma) so
-    that the blending can be applied to all coefficuients in a consistent
-    manner.  The paper suggests that sigma is blended but this would not be
-    consistent with the blending of the k-epsilon and k-omega models.
-
-    Also note that the error in the last term of equation (2) relating to
-    sigma has been corrected.
-
-    The default model coefficients correspond to the following:
-    \verbatim
-        kOmegaSSTCoeffs
-        {
-            alphaK1     0.85;
-            alphaK2     1.0;
-            alphaOmega1 0.5;
-            alphaOmega2 0.856;
-            beta1       0.075;
-            beta2       0.0828;
-            betaStar    0.09;
-            gamma1      5/9;
-            gamma2      0.44;
-            a1          0.31;
-            b1          1.0;
-            c1          10.0;
-            F3          no;
-        }
-    \endverbatim
-
-SourceFiles
-    kOmegaSST.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef kOmegaSST_H
-#define kOmegaSST_H
-
-#include "RASModel.H"
-#include "wallDist.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace RASModels
-{
-
-/*---------------------------------------------------------------------------*\
-                          Class kOmegaSST Declaration
-\*---------------------------------------------------------------------------*/
-
-class kOmegaSST
-:
-    public RASModel
-{
-
-protected:
-
-    // Protected data
-
-        // Model coefficients
-            dimensionedScalar alphaK1_;
-            dimensionedScalar alphaK2_;
-
-            dimensionedScalar alphaOmega1_;
-            dimensionedScalar alphaOmega2_;
-
-            dimensionedScalar gamma1_;
-            dimensionedScalar gamma2_;
-
-            dimensionedScalar beta1_;
-            dimensionedScalar beta2_;
-
-            dimensionedScalar betaStar_;
-
-            dimensionedScalar a1_;
-            dimensionedScalar b1_;
-            dimensionedScalar c1_;
-
-            Switch F3_;
-
-
-        // Fields
-
-            //- Wall distance
-            //  Note: different to wall distance in parent RASModel
-            //  which is for near-wall cells only
-            const volScalarField& y_;
-
-            volScalarField k_;
-            volScalarField omega_;
-            volScalarField nut_;
-
-
-    // Protected Member Functions
-
-        tmp<volScalarField> F1(const volScalarField& CDkOmega) const;
-        tmp<volScalarField> F2() const;
-        tmp<volScalarField> F3() const;
-        tmp<volScalarField> F23() const;
-
-        tmp<volScalarField> blend
-        (
-            const volScalarField& F1,
-            const dimensionedScalar& psi1,
-            const dimensionedScalar& psi2
-        ) const
-        {
-            return F1*(psi1 - psi2) + psi2;
-        }
-
-        tmp<volScalarField> alphaK(const volScalarField& F1) const
-        {
-            return blend(F1, alphaK1_, alphaK2_);
-        }
-
-        tmp<volScalarField> alphaOmega(const volScalarField& F1) const
-        {
-            return blend(F1, alphaOmega1_, alphaOmega2_);
-        }
-
-        tmp<volScalarField> beta(const volScalarField& F1) const
-        {
-            return blend(F1, beta1_, beta2_);
-        }
-
-        tmp<volScalarField> gamma(const volScalarField& F1) const
-        {
-            return blend(F1, gamma1_, gamma2_);
-        }
-
-
-public:
-
-    //- Runtime type information
-    TypeName("kOmegaSST");
-
-
-    // Constructors
-
-        //- Construct from components
-        kOmegaSST
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~kOmegaSST()
-    {}
-
-
-    // Member Functions
-
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> nut() const
-        {
-            return nut_;
-        }
-
-        //- Return the effective diffusivity for k
-        tmp<volScalarField> DkEff(const volScalarField& F1) const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DkEff", alphaK(F1)*nut_ + nu())
-            );
-        }
-
-        //- Return the effective diffusivity for omega
-        tmp<volScalarField> DomegaEff(const volScalarField& F1) const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DomegaEff", alphaOmega(F1)*nut_ + nu())
-            );
-        }
-
-        //- Return the turbulence kinetic energy
-        virtual tmp<volScalarField> k() const
-        {
-            return k_;
-        }
-
-        //- Return the turbulence specific dissipation rate
-        virtual tmp<volScalarField> omega() const
-        {
-            return omega_;
-        }
-
-        //- Return the turbulence kinetic energy dissipation rate
-        virtual tmp<volScalarField> epsilon() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField
-                (
-                    IOobject
-                    (
-                        "epsilon",
-                        mesh_.time().timeName(),
-                        mesh_
-                    ),
-                    betaStar_*k_*omega_,
-                    omega_.boundaryField().types()
-                )
-            );
-        }
-
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const;
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const;
-
-        //- Solve the turbulence equations and correct the turbulence viscosity
-        virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/laminar/laminar.C b/src/turbulenceModels/incompressible/RAS/laminar/laminar.C
deleted file mode 100644
index 6967db5edb4..00000000000
--- a/src/turbulenceModels/incompressible/RAS/laminar/laminar.C
+++ /dev/null
@@ -1,214 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "laminar.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace RASModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(laminar, 0);
-addToRunTimeSelectionTable(RASModel, laminar, dictionary);
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-laminar::laminar
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    RASModel(modelName, U, phi, transport, turbulenceModelName)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volScalarField> laminar::nut() const
-{
-    return tmp<volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "nut",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            mesh_,
-            dimensionedScalar("nut", nu()().dimensions(), 0.0)
-        )
-    );
-}
-
-
-tmp<volScalarField> laminar::k() const
-{
-    return tmp<volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "k",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            mesh_,
-            dimensionedScalar("k", sqr(U_.dimensions()), 0.0)
-        )
-    );
-}
-
-
-tmp<volScalarField> laminar::epsilon() const
-{
-    return tmp<volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "epsilon",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            mesh_,
-            dimensionedScalar
-            (
-                "epsilon", sqr(U_.dimensions())/dimTime, 0.0
-            )
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> laminar::R() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "R",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            mesh_,
-            dimensionedSymmTensor
-            (
-                "R", sqr(U_.dimensions()), symmTensor::zero
-            )
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> laminar::devReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-           -nu()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> laminar::divDevReff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(nuEff(), U)
-      - fvc::div(nuEff()*dev(T(fvc::grad(U))))
-    );
-}
-
-
-tmp<fvVectorMatrix> laminar::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    volScalarField muEff("muEff", rho*nuEff());
-
-    return
-    (
-      - fvm::laplacian(muEff, U)
-      - fvc::div(muEff*dev(T(fvc::grad(U))))
-    );
-}
-
-
-bool laminar::read()
-{
-    return RASModel::read();
-}
-
-
-void laminar::correct()
-{
-    turbulenceModel::correct();
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/realizableKE/realizableKE.C b/src/turbulenceModels/incompressible/RAS/realizableKE/realizableKE.C
deleted file mode 100644
index 75c4624c2fa..00000000000
--- a/src/turbulenceModels/incompressible/RAS/realizableKE/realizableKE.C
+++ /dev/null
@@ -1,356 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "realizableKE.H"
-#include "addToRunTimeSelectionTable.H"
-
-#include "backwardsCompatibilityWallFunctions.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace RASModels
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(realizableKE, 0);
-addToRunTimeSelectionTable(RASModel, realizableKE, dictionary);
-
-// * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * * //
-
-tmp<volScalarField> realizableKE::rCmu
-(
-    const volTensorField& gradU,
-    const volScalarField& S2,
-    const volScalarField& magS
-)
-{
-    tmp<volSymmTensorField> tS = dev(symm(gradU));
-    const volSymmTensorField& S = tS();
-
-    tmp<volScalarField> W
-    (
-        (2*sqrt(2.0))*((S&S)&&S)
-       /(
-            magS*S2
-          + dimensionedScalar("small", dimensionSet(0, 0, -3, 0, 0), SMALL)
-        )
-    );
-
-    tS.clear();
-
-    tmp<volScalarField> phis
-    (
-        (1.0/3.0)*acos(min(max(sqrt(6.0)*W, -scalar(1)), scalar(1)))
-    );
-    tmp<volScalarField> As = sqrt(6.0)*cos(phis);
-    tmp<volScalarField> Us = sqrt(S2/2.0 + magSqr(skew(gradU)));
-
-    return 1.0/(A0_ + As*Us*k_/epsilon_);
-}
-
-
-tmp<volScalarField> realizableKE::rCmu
-(
-    const volTensorField& gradU
-)
-{
-    const volScalarField S2(2*magSqr(dev(symm(gradU))));
-    tmp<volScalarField> magS = sqrt(S2);
-    return rCmu(gradU, S2, magS);
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-realizableKE::realizableKE
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName,
-    const word& modelName
-)
-:
-    RASModel(modelName, U, phi, transport, turbulenceModelName),
-
-    Cmu_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cmu",
-            coeffDict_,
-            0.09
-        )
-    ),
-    A0_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "A0",
-            coeffDict_,
-            4.0
-        )
-    ),
-    C2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C2",
-            coeffDict_,
-            1.9
-        )
-    ),
-    sigmak_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmak",
-            coeffDict_,
-            1.0
-        )
-    ),
-    sigmaEps_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmaEps",
-            coeffDict_,
-            1.2
-        )
-    ),
-
-    k_
-    (
-        IOobject
-        (
-            "k",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateK("k", mesh_)
-    ),
-    epsilon_
-    (
-        IOobject
-        (
-            "epsilon",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateEpsilon("epsilon", mesh_)
-    ),
-    nut_
-    (
-        IOobject
-        (
-            "nut",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateNut("nut", mesh_)
-    )
-{
-    bound(k_, kMin_);
-    bound(epsilon_, epsilonMin_);
-
-    nut_ = rCmu(fvc::grad(U_))*sqr(k_)/epsilon_;
-    nut_.correctBoundaryConditions();
-
-    printCoeffs();
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-tmp<volSymmTensorField> realizableKE::R() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "R",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            ((2.0/3.0)*I)*k_ - nut_*twoSymm(fvc::grad(U_)),
-            k_.boundaryField().types()
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> realizableKE::devReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-           -nuEff()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> realizableKE::divDevReff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(nuEff(), U)
-      - fvc::div(nuEff()*dev(T(fvc::grad(U))))
-    );
-}
-
-
-tmp<fvVectorMatrix> realizableKE::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    volScalarField muEff("muEff", rho*nuEff());
-
-    return
-    (
-      - fvm::laplacian(muEff, U)
-      - fvc::div(muEff*dev(T(fvc::grad(U))))
-    );
-}
-
-
-bool realizableKE::read()
-{
-    if (RASModel::read())
-    {
-        Cmu_.readIfPresent(coeffDict());
-        A0_.readIfPresent(coeffDict());
-        C2_.readIfPresent(coeffDict());
-        sigmak_.readIfPresent(coeffDict());
-        sigmaEps_.readIfPresent(coeffDict());
-
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-void realizableKE::correct()
-{
-    RASModel::correct();
-
-    if (!turbulence_)
-    {
-        return;
-    }
-
-    const volTensorField gradU(fvc::grad(U_));
-    const volScalarField S2(2*magSqr(dev(symm(gradU))));
-    const volScalarField magS(sqrt(S2));
-
-    const volScalarField eta(magS*k_/epsilon_);
-    tmp<volScalarField> C1 = max(eta/(scalar(5) + eta), scalar(0.43));
-
-    volScalarField G(GName(), nut_*S2);
-
-    // Update epsilon and G at the wall
-    epsilon_.boundaryField().updateCoeffs();
-
-
-    // Dissipation equation
-    tmp<fvScalarMatrix> epsEqn
-    (
-        fvm::ddt(epsilon_)
-      + fvm::div(phi_, epsilon_)
-      - fvm::laplacian(DepsilonEff(), epsilon_)
-     ==
-        C1*magS*epsilon_
-      - fvm::Sp
-        (
-            C2_*epsilon_/(k_ + sqrt(nu()*epsilon_)),
-            epsilon_
-        )
-    );
-
-    epsEqn().relax();
-
-    epsEqn().boundaryManipulate(epsilon_.boundaryField());
-
-    solve(epsEqn);
-    bound(epsilon_, epsilonMin_);
-
-
-    // Turbulent kinetic energy equation
-    tmp<fvScalarMatrix> kEqn
-    (
-        fvm::ddt(k_)
-      + fvm::div(phi_, k_)
-      - fvm::laplacian(DkEff(), k_)
-     ==
-        G - fvm::Sp(epsilon_/k_, k_)
-    );
-
-    kEqn().relax();
-    solve(kEqn);
-    bound(k_, kMin_);
-
-
-    // Re-calculate viscosity
-    nut_ = rCmu(gradU, S2, magS)*sqr(k_)/epsilon_;
-    nut_.correctBoundaryConditions();
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/RAS/realizableKE/realizableKE.H b/src/turbulenceModels/incompressible/RAS/realizableKE/realizableKE.H
deleted file mode 100644
index 699479253f9..00000000000
--- a/src/turbulenceModels/incompressible/RAS/realizableKE/realizableKE.H
+++ /dev/null
@@ -1,211 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::RASModels::realizableKE
-
-Group
-    grpIcoRASTurbulence
-
-Description
-    Realizable k-epsilon turbulence model for incompressible flows.
-
-    Model described in the paper:
-    \verbatim
-        "A New k-epsilon Eddy Viscosity Model for High Reynolds Number
-        Turbulent Flows"
-
-        Tsan-Hsing Shih, William W. Liou, Aamir Shabbir, Zhigang Tang and
-        Jiang Zhu
-
-        Computers and Fluids Vol. 24, No. 3, pp. 227-238, 1995
-    \endverbatim
-
-    The default model coefficients correspond to the following:
-    \verbatim
-        realizableKECoeffs
-        {
-            Cmu         0.09;
-            A0          4.0;
-            C2          1.9;
-            sigmak      1.0;
-            sigmaEps    1.2;
-        }
-    \endverbatim
-
-SourceFiles
-    realizableKE.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef realizableKE_H
-#define realizableKE_H
-
-#include "RASModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-namespace RASModels
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class realizableKE Declaration
-\*---------------------------------------------------------------------------*/
-
-class realizableKE
-:
-    public RASModel
-{
-
-protected:
-
-    // Protected data
-
-        // Model coefficients
-
-            dimensionedScalar Cmu_;
-            dimensionedScalar A0_;
-            dimensionedScalar C2_;
-            dimensionedScalar sigmak_;
-            dimensionedScalar sigmaEps_;
-
-
-        // Fields
-
-            volScalarField k_;
-            volScalarField epsilon_;
-            volScalarField nut_;
-
-
-    // Protected Member Functions
-
-        tmp<volScalarField> rCmu
-        (
-            const volTensorField& gradU,
-            const volScalarField& S2,
-            const volScalarField& magS
-        );
-
-        tmp<volScalarField> rCmu(const volTensorField& gradU);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("realizableKE");
-
-    // Constructors
-
-        //- Construct from components
-        realizableKE
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = turbulenceModel::typeName,
-            const word& modelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~realizableKE()
-    {}
-
-
-    // Member Functions
-
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> nut() const
-        {
-            return nut_;
-        }
-
-        //- Return the effective diffusivity for k
-        tmp<volScalarField> DkEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DkEff", nut_/sigmak_ + nu())
-            );
-        }
-
-        //- Return the effective diffusivity for epsilon
-        tmp<volScalarField> DepsilonEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DepsilonEff", nut_/sigmaEps_ + nu())
-            );
-        }
-
-        //- Return the turbulence kinetic energy
-        virtual tmp<volScalarField> k() const
-        {
-            return k_;
-        }
-
-        //- Return the turbulence kinetic energy dissipation rate
-        virtual tmp<volScalarField> epsilon() const
-        {
-            return epsilon_;
-        }
-
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const;
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const;
-
-        //- Solve the turbulence equations and correct the turbulence viscosity
-        virtual void correct();
-
-        //- Read RASProperties dictionary
-        virtual bool read();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/turbulenceModel/Make/files b/src/turbulenceModels/incompressible/turbulenceModel/Make/files
deleted file mode 100644
index f770af1ec8b..00000000000
--- a/src/turbulenceModels/incompressible/turbulenceModel/Make/files
+++ /dev/null
@@ -1,7 +0,0 @@
-turbulenceModel.C
-laminar/laminar.C
-derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C
-derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.C
-derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.C
-
-LIB = $(FOAM_LIBBIN)/libincompressibleTurbulenceModel
diff --git a/src/turbulenceModels/incompressible/turbulenceModel/Make/options b/src/turbulenceModels/incompressible/turbulenceModel/Make/options
deleted file mode 100644
index 2af4fa4baf8..00000000000
--- a/src/turbulenceModels/incompressible/turbulenceModel/Make/options
+++ /dev/null
@@ -1,8 +0,0 @@
-EXE_INC = \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels \
-    -I$(LIB_SRC)/transportModels
-
-LIB_LIBS = \
-    -lfiniteVolume
-
diff --git a/src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.C b/src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.C
deleted file mode 100644
index 9c8e5e423b3..00000000000
--- a/src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.C
+++ /dev/null
@@ -1,142 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "atmBoundaryLayerInletVelocityFvPatchVectorField.H"
-#include "addToRunTimeSelectionTable.H"
-#include "fvPatchFieldMapper.H"
-#include "volFields.H"
-#include "surfaceFields.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-atmBoundaryLayerInletVelocityFvPatchVectorField::
-atmBoundaryLayerInletVelocityFvPatchVectorField
-(
-    const fvPatch& p,
-    const DimensionedField<vector, volMesh>& iF
-)
-:
-    fixedValueFvPatchVectorField(p, iF),
-    atmBoundaryLayer()
-{}
-
-
-atmBoundaryLayerInletVelocityFvPatchVectorField::
-atmBoundaryLayerInletVelocityFvPatchVectorField
-(
-    const fvPatch& p,
-    const DimensionedField<vector, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    fixedValueFvPatchVectorField(p, iF),
-    atmBoundaryLayer(patch().Cf(), dict)
-{
-    vectorField::operator=(U(patch().Cf()));
-}
-
-
-atmBoundaryLayerInletVelocityFvPatchVectorField::
-atmBoundaryLayerInletVelocityFvPatchVectorField
-(
-    const atmBoundaryLayerInletVelocityFvPatchVectorField& pvf,
-    const fvPatch& p,
-    const DimensionedField<vector, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    fixedValueFvPatchVectorField(pvf, p, iF, mapper),
-    atmBoundaryLayer(pvf, mapper)
-{}
-
-
-atmBoundaryLayerInletVelocityFvPatchVectorField::
-atmBoundaryLayerInletVelocityFvPatchVectorField
-(
-    const atmBoundaryLayerInletVelocityFvPatchVectorField& pvf,
-    const DimensionedField<vector, volMesh>& iF
-)
-:
-    fixedValueFvPatchVectorField(pvf, iF),
-    atmBoundaryLayer(pvf)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void atmBoundaryLayerInletVelocityFvPatchVectorField::autoMap
-(
-    const fvPatchFieldMapper& m
-)
-{
-    fixedValueFvPatchVectorField::autoMap(m);
-    atmBoundaryLayer::autoMap(m);
-}
-
-
-void atmBoundaryLayerInletVelocityFvPatchVectorField::rmap
-(
-    const fvPatchVectorField& pvf,
-    const labelList& addr
-)
-{
-    fixedValueFvPatchVectorField::rmap(pvf, addr);
-
-    const atmBoundaryLayerInletVelocityFvPatchVectorField& blpvf =
-        refCast<const atmBoundaryLayerInletVelocityFvPatchVectorField>(pvf);
-
-    atmBoundaryLayer::rmap(blpvf, addr);
-}
-
-
-void atmBoundaryLayerInletVelocityFvPatchVectorField::write(Ostream& os) const
-{
-    fvPatchVectorField::write(os);
-    atmBoundaryLayer::write(os);
-    writeEntry("value", os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchVectorField,
-    atmBoundaryLayerInletVelocityFvPatchVectorField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.H b/src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.H
deleted file mode 100644
index 87022836869..00000000000
--- a/src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.H
+++ /dev/null
@@ -1,178 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::atmBoundaryLayerInletVelocityFvPatchVectorField
-
-Group
-    grpIcoRASBoundaryConditions grpInletBoundaryConditions
-
-Description
-    This boundary condition specifies a velocity inlet profile appropriate
-    for atmospheric boundary layers (ABL).
-
-    See Foam::incompressible::atmBoundaryLayer for details.
-
-    Example of the boundary condition specification:
-    \verbatim
-    ground
-    {
-        type            atmBoundaryLayerInletVelocity;
-        n               (1 0 0);
-        z               (0 0 1);
-        Uref            10.0;
-        Zref            20.0;
-        z0              uniform 0.1;
-        zGround         uniform 0.0;
-    }
-    \endverbatim
-
-SeeAlso
-    Foam::incompressible::atmBoundaryLayer,
-    Foam::incompressible::atmBoundaryLayerInletKFvPatchScalarField,
-    Foam::incompressible::atmBoundaryLayerInletEpsilonFvPatchScalarField
-
-SourceFiles
-    atmBoundaryLayerInletVelocityFvPatchVectorField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef atmBoundaryLayerInletVelocityFvPatchVectorField_H
-#define atmBoundaryLayerInletVelocityFvPatchVectorField_H
-
-#include "fvPatchFields.H"
-#include "fixedValueFvPatchFields.H"
-#include "atmBoundaryLayer.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-/*---------------------------------------------------------------------------*\
-       Class atmBoundaryLayerInletVelocityFvPatchVectorField Declaration
-\*---------------------------------------------------------------------------*/
-
-class atmBoundaryLayerInletVelocityFvPatchVectorField
-:
-    public fixedValueFvPatchVectorField,
-    public atmBoundaryLayer
-{
-
-public:
-
-    //- Runtime type information
-    TypeName("atmBoundaryLayerInletVelocity");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        atmBoundaryLayerInletVelocityFvPatchVectorField
-        (
-            const fvPatch&,
-            const DimensionedField<vector, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        atmBoundaryLayerInletVelocityFvPatchVectorField
-        (
-            const fvPatch&,
-            const DimensionedField<vector, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        // atmBoundaryLayerInletVelocityFvPatchVectorField onto a new patch
-        atmBoundaryLayerInletVelocityFvPatchVectorField
-        (
-            const atmBoundaryLayerInletVelocityFvPatchVectorField&,
-            const fvPatch&,
-            const DimensionedField<vector, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchVectorField> clone() const
-        {
-            return tmp<fvPatchVectorField>
-            (
-                new atmBoundaryLayerInletVelocityFvPatchVectorField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        atmBoundaryLayerInletVelocityFvPatchVectorField
-        (
-            const atmBoundaryLayerInletVelocityFvPatchVectorField&,
-            const DimensionedField<vector, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchVectorField> clone
-        (
-            const DimensionedField<vector, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchVectorField>
-            (
-                new atmBoundaryLayerInletVelocityFvPatchVectorField(*this, iF)
-            );
-        }
-
-
-    // Member functions
-
-        // Mapping functions
-
-            //- Map (and resize as needed) from self given a mapping object
-            virtual void autoMap
-            (
-                const fvPatchFieldMapper&
-            );
-
-            //- Reverse map the given fvPatchField onto this fvPatchField
-            virtual void rmap
-            (
-                const fvPatchVectorField&,
-                const labelList&
-            );
-
-
-        //- Write
-        virtual void write(Ostream&) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C b/src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C
deleted file mode 100644
index 077e77fdaa4..00000000000
--- a/src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C
+++ /dev/null
@@ -1,256 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "turbulentHeatFluxTemperatureFvPatchScalarField.H"
-#include "addToRunTimeSelectionTable.H"
-#include "fvPatchFieldMapper.H"
-#include "volFields.H"
-#include "incompressible/turbulenceModel/turbulenceModel.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-    // declare specialization within 'Foam' namespace
-    template<>
-    const char* NamedEnum
-    <
-        Foam::incompressible::
-        turbulentHeatFluxTemperatureFvPatchScalarField::heatSourceType,
-        2
-    >::names[] =
-    {
-        "power",
-        "flux"
-    };
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-
-namespace Foam
-{
-
-namespace incompressible
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-const NamedEnum
-<
-    turbulentHeatFluxTemperatureFvPatchScalarField::heatSourceType,
-    2
-> turbulentHeatFluxTemperatureFvPatchScalarField::heatSourceTypeNames_;
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-turbulentHeatFluxTemperatureFvPatchScalarField::
-turbulentHeatFluxTemperatureFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedGradientFvPatchScalarField(p, iF),
-    heatSource_(hsPower),
-    q_(p.size(), 0.0),
-    alphaEffName_("undefinedAlphaEff")
-{}
-
-
-turbulentHeatFluxTemperatureFvPatchScalarField::
-turbulentHeatFluxTemperatureFvPatchScalarField
-(
-    const turbulentHeatFluxTemperatureFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    fixedGradientFvPatchScalarField(ptf, p, iF, mapper),
-    heatSource_(ptf.heatSource_),
-    q_(ptf.q_, mapper),
-    alphaEffName_(ptf.alphaEffName_)
-{}
-
-
-turbulentHeatFluxTemperatureFvPatchScalarField::
-turbulentHeatFluxTemperatureFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    fixedGradientFvPatchScalarField(p, iF),
-    heatSource_(heatSourceTypeNames_.read(dict.lookup("heatSource"))),
-    q_("q", dict, p.size()),
-    alphaEffName_(dict.lookup("alphaEff"))
-{
-    if (dict.found("value") && dict.found("gradient"))
-    {
-        fvPatchField<scalar>::operator=(Field<scalar>("value", dict, p.size()));
-        gradient() = Field<scalar>("gradient", dict, p.size());
-    }
-    else
-    {
-        fvPatchField<scalar>::operator=(patchInternalField());
-        gradient() = 0.0;
-    }
-}
-
-
-turbulentHeatFluxTemperatureFvPatchScalarField::
-turbulentHeatFluxTemperatureFvPatchScalarField
-(
-    const turbulentHeatFluxTemperatureFvPatchScalarField& thftpsf
-)
-:
-    fixedGradientFvPatchScalarField(thftpsf),
-    heatSource_(thftpsf.heatSource_),
-    q_(thftpsf.q_),
-    alphaEffName_(thftpsf.alphaEffName_)
-{}
-
-
-turbulentHeatFluxTemperatureFvPatchScalarField::
-turbulentHeatFluxTemperatureFvPatchScalarField
-(
-    const turbulentHeatFluxTemperatureFvPatchScalarField& thftpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedGradientFvPatchScalarField(thftpsf, iF),
-    heatSource_(thftpsf.heatSource_),
-    q_(thftpsf.q_),
-    alphaEffName_(thftpsf.alphaEffName_)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void turbulentHeatFluxTemperatureFvPatchScalarField::autoMap
-(
-    const fvPatchFieldMapper& m
-)
-{
-    scalarField::autoMap(m);
-    q_.autoMap(m);
-}
-
-
-void turbulentHeatFluxTemperatureFvPatchScalarField::rmap
-(
-    const fvPatchScalarField& ptf,
-    const labelList& addr
-)
-{
-    fixedGradientFvPatchScalarField::rmap(ptf, addr);
-
-    const turbulentHeatFluxTemperatureFvPatchScalarField& thftptf =
-        refCast<const turbulentHeatFluxTemperatureFvPatchScalarField>
-        (
-            ptf
-        );
-
-    q_.rmap(thftptf.q_, addr);
-}
-
-
-void turbulentHeatFluxTemperatureFvPatchScalarField::updateCoeffs()
-{
-    if (updated())
-    {
-        return;
-    }
-
-    const scalarField& alphaEffp =
-        patch().lookupPatchField<volScalarField, scalar>(alphaEffName_);
-
-    // retrieve (constant) specific heat capacity from transport dictionary
-    const IOdictionary& transportProperties =
-        db().lookupObject<IOdictionary>("transportProperties");
-    const scalar Cp0(readScalar(transportProperties.lookup("Cp0")));
-
-    switch (heatSource_)
-    {
-        case hsPower:
-        {
-            const scalar Ap = gSum(patch().magSf());
-            gradient() = q_/(Ap*Cp0*alphaEffp);
-            break;
-        }
-        case hsFlux:
-        {
-            gradient() = q_/(Cp0*alphaEffp);
-            break;
-        }
-        default:
-        {
-            FatalErrorIn
-            (
-                "turbulentHeatFluxTemperatureFvPatchScalarField"
-                "("
-                    "const fvPatch&, "
-                    "const DimensionedField<scalar, volMesh>&, "
-                    "const dictionary&"
-                ")"
-            )   << "Unknown heat source type. Valid types are: "
-                << heatSourceTypeNames_ << nl << exit(FatalError);
-        }
-    }
-
-    fixedGradientFvPatchScalarField::updateCoeffs();
-}
-
-
-void turbulentHeatFluxTemperatureFvPatchScalarField::write(Ostream& os) const
-{
-    fixedGradientFvPatchScalarField::write(os);
-    os.writeKeyword("heatSource") << heatSourceTypeNames_[heatSource_]
-        << token::END_STATEMENT << nl;
-    q_.writeEntry("q", os);
-    os.writeKeyword("alphaEff") << alphaEffName_ << token::END_STATEMENT << nl;
-    writeEntry("value", os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    turbulentHeatFluxTemperatureFvPatchScalarField
-);
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H b/src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H
deleted file mode 100644
index 3a7e1d849e0..00000000000
--- a/src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H
+++ /dev/null
@@ -1,228 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::incompressible::turbulentHeatFluxTemperatureFvPatchScalarField
-
-Group
-    grpIcoRASBoundaryConditions grpWallBoundaryConditions
-
-Description
-    Fixed heat boundary condition to specify temperature gradient. Input
-    heat source either specified in terms of an absolute power [W], or as a
-    flux [W/m2].
-
-    \heading Patch usage
-
-    \table
-        Property     | Description             | Required    | Default value
-        heatSource   | heat source type: \c flux [W/m2] or \c power [W]| yes |
-        q            | heat source value       | yes          |
-        alphaEff     | turbulent thermal diffusivity field name | yes |
-    \endtable
-
-    Example of the boundary condition specification:
-    \verbatim
-    myPatch
-    {
-        type            turbulentHeatFluxTemperature;
-        heatSource      flux;
-        q               uniform 10;
-        alphaEff        alphaEff;
-        value           uniform 300; // place holder
-    }
-    \endverbatim
-
-Note
-    - it is assumed that the units of \c alphaEff are [kg/m/s]
-    - the specific heat capcaity is read from the transport dictionary entry
-      \c Cp0
-
-SourceFiles
-    turbulentHeatFluxTemperatureFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef turbulentHeatFluxTemperatureFvPatchScalarFields_H
-#define turbulentHeatFluxTemperatureFvPatchScalarFields_H
-
-#include "fvPatchFields.H"
-#include "fixedGradientFvPatchFields.H"
-#include "NamedEnum.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-/*---------------------------------------------------------------------------*\
-       Class turbulentHeatFluxTemperatureFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class turbulentHeatFluxTemperatureFvPatchScalarField
-:
-    public fixedGradientFvPatchScalarField
-{
-public:
-
-    // Data types
-
-        //- Enumeration listing the possible hest source input modes
-        enum heatSourceType
-        {
-            hsPower,
-            hsFlux
-        };
-
-
-private:
-
-    // Private data
-
-        //- Heat source type names
-        static const NamedEnum<heatSourceType, 2> heatSourceTypeNames_;
-
-        //- Heat source type
-        heatSourceType heatSource_;
-
-        //- Heat power [W] or flux [W/m2]
-        //  NOTE: to be divided by density, rho, if used in kinematic form
-        scalarField q_;
-
-        //- Name of effective thermal diffusivity field
-        word alphaEffName_;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("turbulentHeatFluxTemperature");
-
-
-    // Constructors
-
-        //- Construct from patch and internal field
-        turbulentHeatFluxTemperatureFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct from patch, internal field and dictionary
-        turbulentHeatFluxTemperatureFvPatchScalarField
-        (
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const dictionary&
-        );
-
-        //- Construct by mapping given
-        //  turbulentHeatFluxTemperatureFvPatchScalarField onto
-        //  a new patch
-        turbulentHeatFluxTemperatureFvPatchScalarField
-        (
-            const turbulentHeatFluxTemperatureFvPatchScalarField&,
-            const fvPatch&,
-            const DimensionedField<scalar, volMesh>&,
-            const fvPatchFieldMapper&
-        );
-
-        //- Construct as copy
-        turbulentHeatFluxTemperatureFvPatchScalarField
-        (
-            const turbulentHeatFluxTemperatureFvPatchScalarField&
-        );
-
-        //- Construct and return a clone
-        virtual tmp<fvPatchScalarField> clone() const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new turbulentHeatFluxTemperatureFvPatchScalarField(*this)
-            );
-        }
-
-        //- Construct as copy setting internal field reference
-        turbulentHeatFluxTemperatureFvPatchScalarField
-        (
-            const turbulentHeatFluxTemperatureFvPatchScalarField&,
-            const DimensionedField<scalar, volMesh>&
-        );
-
-        //- Construct and return a clone setting internal field reference
-        virtual tmp<fvPatchScalarField> clone
-        (
-            const DimensionedField<scalar, volMesh>& iF
-        ) const
-        {
-            return tmp<fvPatchScalarField>
-            (
-                new turbulentHeatFluxTemperatureFvPatchScalarField
-                (
-                    *this,
-                    iF
-                )
-            );
-        }
-
-
-    // Member functions
-
-        // Mapping functions
-
-            //- Map (and resize as needed) from self given a mapping object
-            virtual void autoMap(const fvPatchFieldMapper&);
-
-            //- Reverse map the given fvPatchField onto this fvPatchField
-            virtual void rmap
-            (
-                const fvPatchScalarField&,
-                const labelList&
-            );
-
-
-        // Evaluation functions
-
-            //- Update the coefficients associated with the patch field
-            virtual void updateCoeffs();
-
-
-        // I-O
-
-            //- Write
-            virtual void write(Ostream&) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/turbulenceModel/laminar/laminar.C b/src/turbulenceModels/incompressible/turbulenceModel/laminar/laminar.C
deleted file mode 100644
index f14b681011d..00000000000
--- a/src/turbulenceModels/incompressible/turbulenceModel/laminar/laminar.C
+++ /dev/null
@@ -1,245 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "laminar.H"
-#include "Time.H"
-#include "volFields.H"
-#include "fvcGrad.H"
-#include "fvcDiv.H"
-#include "fvmLaplacian.H"
-#include "addToRunTimeSelectionTable.H"
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(laminar, 0);
-addToRunTimeSelectionTable(turbulenceModel, laminar, turbulenceModel);
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-laminar::laminar
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName
-)
-:
-    turbulenceModel(U, phi, transport, turbulenceModelName)
-{}
-
-
-// * * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * //
-
-autoPtr<laminar> laminar::New
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName
-)
-{
-    return autoPtr<laminar>
-    (
-        new laminar(U, phi, transport, turbulenceModelName)
-    );
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-const dictionary& laminar::coeffDict() const
-{
-    return dictionary::null;
-}
-
-
-tmp<volScalarField> laminar::nut() const
-{
-    return tmp<volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "nut",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            mesh_,
-            dimensionedScalar("nut", nu()().dimensions(), 0.0)
-        )
-    );
-}
-
-
-tmp<volScalarField> laminar::nuEff() const
-{
-    return tmp<volScalarField>(new volScalarField("nuEff", nu()));
-}
-
-
-tmp<volScalarField> laminar::k() const
-{
-    return tmp<volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "k",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            mesh_,
-            dimensionedScalar("k", sqr(U_.dimensions()), 0.0)
-        )
-    );
-}
-
-
-tmp<volScalarField> laminar::epsilon() const
-{
-    return tmp<volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "epsilon",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            mesh_,
-            dimensionedScalar
-            (
-                "epsilon", sqr(U_.dimensions())/dimTime, 0.0
-            )
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> laminar::R() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "R",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            mesh_,
-            dimensionedSymmTensor
-            (
-                "R", sqr(U_.dimensions()), symmTensor::zero
-            )
-        )
-    );
-}
-
-
-tmp<volSymmTensorField> laminar::devReff() const
-{
-    return tmp<volSymmTensorField>
-    (
-        new volSymmTensorField
-        (
-            IOobject
-            (
-                "devRhoReff",
-                runTime_.timeName(),
-                mesh_,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-           -nu()*dev(twoSymm(fvc::grad(U_)))
-        )
-    );
-}
-
-
-tmp<fvVectorMatrix> laminar::divDevReff(volVectorField& U) const
-{
-    return
-    (
-      - fvm::laplacian(nuEff(), U)
-      - fvc::div(nuEff()*dev(T(fvc::grad(U))))
-    );
-}
-
-
-tmp<fvVectorMatrix> laminar::divDevRhoReff
-(
-    const volScalarField& rho,
-    volVectorField& U
-) const
-{
-    volScalarField muEff("muEff", rho*nuEff());
-
-    return
-    (
-      - fvm::laplacian(muEff, U)
-      - fvc::div(muEff*dev(T(fvc::grad(U))))
-    );
-}
-
-
-void laminar::correct()
-{
-    turbulenceModel::correct();
-}
-
-
-bool laminar::read()
-{
-    return true;
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/turbulenceModel/turbulenceModel.C b/src/turbulenceModels/incompressible/turbulenceModel/turbulenceModel.C
deleted file mode 100644
index 6e607c160d8..00000000000
--- a/src/turbulenceModels/incompressible/turbulenceModel/turbulenceModel.C
+++ /dev/null
@@ -1,143 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "turbulenceModel.H"
-#include "volFields.H"
-#include "surfaceFields.H"
-#include "wallFvPatch.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace incompressible
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(turbulenceModel, 0);
-defineRunTimeSelectionTable(turbulenceModel, turbulenceModel);
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-turbulenceModel::turbulenceModel
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName
-)
-:
-    regIOobject
-    (
-        IOobject
-        (
-            turbulenceModelName,
-            U.time().constant(),
-            U.db(),
-            IOobject::NO_READ,
-            IOobject::NO_WRITE
-        )
-    ),
-    runTime_(U.time()),
-    mesh_(U.mesh()),
-
-    U_(U),
-    phi_(phi),
-    transportModel_(transport),
-    y_(mesh_)
-{}
-
-
-// * * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * //
-
-autoPtr<turbulenceModel> turbulenceModel::New
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& turbulenceModelName
-)
-{
-    // get model name, but do not register the dictionary
-    // otherwise it is registered in the database twice
-    const word modelType
-    (
-        IOdictionary
-        (
-            IOobject
-            (
-                "turbulenceProperties",
-                U.time().constant(),
-                U.db(),
-                IOobject::MUST_READ_IF_MODIFIED,
-                IOobject::NO_WRITE,
-                false
-            )
-        ).lookup("simulationType")
-    );
-
-    Info<< "Selecting turbulence model type " << modelType << endl;
-
-    turbulenceModelConstructorTable::iterator cstrIter =
-        turbulenceModelConstructorTablePtr_->find(modelType);
-
-    if (cstrIter == turbulenceModelConstructorTablePtr_->end())
-    {
-        FatalErrorIn
-        (
-            "turbulenceModel::New(const volVectorField&, "
-            "const surfaceScalarField&, transportModel&, const word&)"
-        )   << "Unknown turbulenceModel type "
-            << modelType << nl << nl
-            << "Valid turbulenceModel types:" << endl
-            << turbulenceModelConstructorTablePtr_->sortedToc()
-            << exit(FatalError);
-    }
-
-    return autoPtr<turbulenceModel>
-    (
-        cstrIter()(U, phi, transport, turbulenceModelName)
-    );
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void turbulenceModel::correct()
-{
-    if (mesh_.changing())
-    {
-        y_.correct();
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/turbulenceModels/incompressible/turbulenceModel/turbulenceModel.H b/src/turbulenceModels/incompressible/turbulenceModel/turbulenceModel.H
deleted file mode 100644
index 52684d71256..00000000000
--- a/src/turbulenceModels/incompressible/turbulenceModel/turbulenceModel.H
+++ /dev/null
@@ -1,246 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Namespace
-    Foam::incompressible::turbulenceModels
-
-Description
-    Namespace for incompressible turbulence turbulence models.
-
-Class
-    Foam::incompressible::turbulenceModel
-
-Description
-    Abstract base class for incompressible turbulence models
-    (RAS, LES and laminar).
-
-SourceFiles
-    turbulenceModel.C
-    newTurbulenceModel.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef turbulenceModel_H
-#define turbulenceModel_H
-
-#include "primitiveFieldsFwd.H"
-#include "volFieldsFwd.H"
-#include "surfaceFieldsFwd.H"
-#include "fvMatricesFwd.H"
-#include "incompressible/transportModel/transportModel.H"
-#include "nearWallDist.H"
-#include "autoPtr.H"
-#include "runTimeSelectionTables.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-// Forward declarations
-class fvMesh;
-
-namespace incompressible
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class turbulenceModel Declaration
-\*---------------------------------------------------------------------------*/
-
-class turbulenceModel
-:
-    public regIOobject
-{
-
-protected:
-
-    // Protected data
-
-        const Time& runTime_;
-        const fvMesh& mesh_;
-
-        const volVectorField& U_;
-        const surfaceScalarField& phi_;
-
-        const transportModel& transportModel_;
-
-        //- Near wall distance boundary field
-        nearWallDist y_;
-
-
-private:
-
-    // Private Member Functions
-
-        //- Disallow default bitwise copy construct
-        turbulenceModel(const turbulenceModel&);
-
-        //- Disallow default bitwise assignment
-        void operator=(const turbulenceModel&);
-
-
-public:
-
-    //- Runtime type information
-    TypeName("turbulenceModel");
-
-
-    // Declare run-time New selection table
-
-        declareRunTimeNewSelectionTable
-        (
-            autoPtr,
-            turbulenceModel,
-            turbulenceModel,
-            (
-                const volVectorField& U,
-                const surfaceScalarField& phi,
-                const transportModel& transport,
-                const word& turbulenceModelName
-            ),
-            (U, phi, transport, turbulenceModelName)
-        );
-
-
-    // Constructors
-
-        //- Construct from components
-        turbulenceModel
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = typeName
-        );
-
-
-    // Selectors
-
-        //- Return a reference to the selected turbulence model
-        static autoPtr<turbulenceModel> New
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& turbulenceModelName = typeName
-        );
-
-
-    //- Destructor
-    virtual ~turbulenceModel()
-    {}
-
-
-    // Member Functions
-
-        //- Const access to the coefficients dictionary
-        virtual const dictionary& coeffDict() const = 0;
-
-        //- Helper function to return the nam eof the turbulence G field
-        inline word GName() const
-        {
-            return word(type() + ":G");
-        }
-
-        //- Access function to velocity field
-        inline const volVectorField& U() const
-        {
-            return U_;
-        }
-
-        //- Access function to flux field
-        inline const surfaceScalarField& phi() const
-        {
-            return phi_;
-        }
-
-        //- Access function to incompressible transport model
-        inline const transportModel& transport() const
-        {
-            return transportModel_;
-        }
-
-        //- Return the near wall distances
-        const nearWallDist& y() const
-        {
-            return y_;
-        }
-
-        //- Return the laminar viscosity
-        inline tmp<volScalarField> nu() const
-        {
-            return transportModel_.nu();
-        }
-
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> nut() const = 0;
-
-        //- Return the effective viscosity
-        virtual tmp<volScalarField> nuEff() const = 0;
-
-        //- Return the turbulence kinetic energy
-        virtual tmp<volScalarField> k() const = 0;
-
-        //- Return the turbulence kinetic energy dissipation rate
-        virtual tmp<volScalarField> epsilon() const = 0;
-
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const = 0;
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const = 0;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const = 0;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const = 0;
-
-        //- Solve the turbulence equations and correct the turbulence viscosity
-        virtual void correct() = 0;
-
-        //- Read LESProperties or RASProperties dictionary
-        virtual bool read() = 0;
-
-        //- Default dummy write function
-        virtual bool writeData(Ostream&) const
-        {
-            return true;
-        }
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace incompressible
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/tutorials/combustion/LTSReactingFoam/ras/counterFlowFlame2D/system/fvSchemes b/tutorials/combustion/LTSReactingFoam/ras/counterFlowFlame2D/system/fvSchemes
index dbda14ce2e9..050a277e00f 100644
--- a/tutorials/combustion/LTSReactingFoam/ras/counterFlowFlame2D/system/fvSchemes
+++ b/tutorials/combustion/LTSReactingFoam/ras/counterFlowFlame2D/system/fvSchemes
@@ -35,7 +35,7 @@ divSchemes
     div(phid,p)     Gauss limitedLinear 1;
     div(phi,epsilon) Gauss limitedLinear 1;
     div(phi,k) Gauss limitedLinear 1;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/0.org/epsilon b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/0.org/epsilon
index 8dc2a96f1c3..26ca09c49a4 100644
--- a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/0.org/epsilon
+++ b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/0.org/epsilon
@@ -29,7 +29,7 @@ boundaryField
     }
     ground
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
@@ -37,7 +37,7 @@ boundaryField
     }
     blockedFaces
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
@@ -45,7 +45,7 @@ boundaryField
     }
     baffleWall
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
diff --git a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/0.org/k b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/0.org/k
index 40833031907..a9ff01787fb 100644
--- a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/0.org/k
+++ b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/0.org/k
@@ -29,17 +29,17 @@ boundaryField
     }
     ground
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1.5;
     }
     blockedFaces
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1.5;
     }
     baffleWall
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1.5;
     }
     baffleCyclic_half0
diff --git a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/0.org/k.old b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/0.org/k.old
index 40833031907..a9ff01787fb 100644
--- a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/0.org/k.old
+++ b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/0.org/k.old
@@ -29,17 +29,17 @@ boundaryField
     }
     ground
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1.5;
     }
     blockedFaces
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1.5;
     }
     baffleWall
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1.5;
     }
     baffleCyclic_half0
diff --git a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/0.org/mut b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/0.org/nut
similarity index 89%
rename from tutorials/combustion/PDRFoam/flamePropagationWithObstacles/0.org/mut
rename to tutorials/combustion/PDRFoam/flamePropagationWithObstacles/0.org/nut
index da762e68d0b..50a3a27e9d0 100644
--- a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/0.org/mut
+++ b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/0.org/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
@@ -28,7 +28,7 @@ boundaryField
     }
     ground
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
@@ -36,7 +36,7 @@ boundaryField
     }
     blockedFaces
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
@@ -44,7 +44,7 @@ boundaryField
     }
     baffleWall
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
diff --git a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/RASProperties b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/RASProperties
deleted file mode 100644
index 2f7a80d5772..00000000000
--- a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/RASProperties
+++ /dev/null
@@ -1,36 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel PDRkEpsilon;
-
-PDRkEpsilonCoeffs
-{
-    Cmu              0.09;
-    C1               1.44;
-    C2               1.92;
-    C3               0;
-    C4               0.1;
-    alphah           1;
-    alphak           1;
-    alphaEps         0.76923;
-}
-
-turbulence      on;
-
-printCoeffs     on;
-
-// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/turbulenceProperties b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/turbulenceProperties
index 3721a46a2ea..3cf4138c412 100644
--- a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/turbulenceProperties
+++ b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/turbulenceProperties
@@ -15,7 +15,28 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel PDRkEpsilon;
+
+    PDRkEpsilonCoeffs
+    {
+        Cmu              0.09;
+        C1               1.44;
+        C2               1.92;
+        C3               0;
+        C4               0.1;
+        alphah           1;
+        alphak           1;
+        alphaEps         0.76923;
+    }
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/changeDictionaryDict b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/changeDictionaryDict
index a8ce95c9cd3..b48f2bf7336 100644
--- a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/changeDictionaryDict
+++ b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/changeDictionaryDict
@@ -78,12 +78,12 @@ dictionaryReplacement
         {
             blockedFaces
             {
-                type            compressible::epsilonWallFunction;
+                type            epsilonWallFunction;
                 value           uniform 0.1;
             }
             baffleWall
             {
-                type            compressible::epsilonWallFunction;
+                type            epsilonWallFunction;
                 value           uniform 1e-5;
             }
             baffleCyclic_half0
@@ -103,12 +103,12 @@ dictionaryReplacement
         {
             blockedFaces
             {
-                type        compressible::kqRWallFunction;
+                type        kqRWallFunction;
                 value       uniform 1.5;
          }
             baffleWall
             {
-                type        compressible::kqRWallFunction;
+                type        kqRWallFunction;
                 value       uniform 1.5;
             }
             baffleCyclic_half0
diff --git a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/fvSchemes b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/fvSchemes
index b8943aa44f9..979d0d7dc9a 100644
--- a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/fvSchemes
+++ b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/system/fvSchemes
@@ -50,7 +50,7 @@ divSchemes
 
     div((Su*grad(b)))               Gauss linear;
     div((U+((Su*Xi)*grad(b))))      Gauss linear;
-    div((muEff*dev2(T(grad(U)))))   Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U)))))   Gauss linear;
     div(U)                          Gauss linear;
 }
 
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/mut b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/nut
similarity index 95%
rename from tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/mut
rename to tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/nut
index a9920120d01..113acd86c3e 100644
--- a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/mut
+++ b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [ 1 -1 -1 0 0 0 0 ];
+dimensions      [ 0 2 -1 0 0 0 0 ];
 
 internalField   uniform 0;
 
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/turbulenceProperties b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/turbulenceProperties
index 3721a46a2ea..b9a4c7ca82e 100644
--- a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/turbulenceProperties
+++ b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        LaunderSharmaKE;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/fvSchemes b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/fvSchemes
index c23bdd6acf6..359b92b0352 100644
--- a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/fvSchemes
+++ b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/fvSchemes
@@ -49,7 +49,7 @@ divSchemes
     div(U)          Gauss linear;
     div((Su*grad(b))) Gauss linear;
     div((U+((Su*Xi)*grad(b)))) Gauss linear;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/combustion/engineFoam/kivaTest/-180/epsilon b/tutorials/combustion/engineFoam/kivaTest/-180/epsilon
index fed15ed8462..9cb713ec95d 100644
--- a/tutorials/combustion/engineFoam/kivaTest/-180/epsilon
+++ b/tutorials/combustion/engineFoam/kivaTest/-180/epsilon
@@ -23,7 +23,7 @@ boundaryField
 {
     piston
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
@@ -31,7 +31,7 @@ boundaryField
     }
     liner
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
@@ -39,7 +39,7 @@ boundaryField
     }
     cylinderHead
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
diff --git a/tutorials/combustion/engineFoam/kivaTest/-180/k b/tutorials/combustion/engineFoam/kivaTest/-180/k
index 3b0e378049e..fb951423a9f 100644
--- a/tutorials/combustion/engineFoam/kivaTest/-180/k
+++ b/tutorials/combustion/engineFoam/kivaTest/-180/k
@@ -23,17 +23,17 @@ boundaryField
 {
     piston
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 4;
     }
     liner
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 4;
     }
     cylinderHead
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 4;
     }
 }
diff --git a/tutorials/combustion/engineFoam/kivaTest/-180/mut b/tutorials/combustion/engineFoam/kivaTest/-180/nut
similarity index 87%
rename from tutorials/combustion/engineFoam/kivaTest/-180/mut
rename to tutorials/combustion/engineFoam/kivaTest/-180/nut
index 22cccd07d63..68a368eb002 100644
--- a/tutorials/combustion/engineFoam/kivaTest/-180/mut
+++ b/tutorials/combustion/engineFoam/kivaTest/-180/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "-180";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
@@ -23,7 +23,7 @@ boundaryField
 {
     piston
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
@@ -31,7 +31,7 @@ boundaryField
     }
     liner
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
@@ -39,7 +39,7 @@ boundaryField
     }
     cylinderHead
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
diff --git a/tutorials/combustion/engineFoam/kivaTest/constant/polyMesh/boundary b/tutorials/combustion/engineFoam/kivaTest/constant/polyMesh/boundary
index 24684a3ecfd..0b12967f8e6 100644
--- a/tutorials/combustion/engineFoam/kivaTest/constant/polyMesh/boundary
+++ b/tutorials/combustion/engineFoam/kivaTest/constant/polyMesh/boundary
@@ -20,18 +20,21 @@ FoamFile
     piston
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          1326;
         startFace       79522;
     }
     liner
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          2710;
         startFace       80848;
     }
     cylinderHead
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          2184;
         startFace       83558;
     }
diff --git a/tutorials/combustion/engineFoam/kivaTest/constant/turbulenceProperties b/tutorials/combustion/engineFoam/kivaTest/constant/turbulenceProperties
index 3721a46a2ea..cd2daf8229b 100644
--- a/tutorials/combustion/engineFoam/kivaTest/constant/turbulenceProperties
+++ b/tutorials/combustion/engineFoam/kivaTest/constant/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/combustion/engineFoam/kivaTest/system/fvSchemes b/tutorials/combustion/engineFoam/kivaTest/system/fvSchemes
index a92565feff2..ed155cb77b8 100644
--- a/tutorials/combustion/engineFoam/kivaTest/system/fvSchemes
+++ b/tutorials/combustion/engineFoam/kivaTest/system/fvSchemes
@@ -53,7 +53,7 @@ divSchemes
     div(U)          Gauss linear;
     div((Su*grad(b))) Gauss linear;
     div((U+((Su*Xi)*grad(b)))) Gauss linear;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/alphaSgs b/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/alphat
similarity index 98%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/alphaSgs
rename to tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/alphat
index 91c0c2894e3..6de6470702d 100644
--- a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/alphaSgs
+++ b/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/alphat
@@ -11,7 +11,7 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      alphaSgs;
+    object      alphat;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/muSgs b/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/nut
similarity index 89%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/muSgs
rename to tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/nut
index 9da5b0c67de..f7a34d20690 100644
--- a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/muSgs
+++ b/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/nut
@@ -12,13 +12,13 @@ FoamFile
     format          ascii;
     location        "0";
     class           volScalarField;
-    object          muSgs;
+    object          nut;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
@@ -32,7 +32,7 @@ boundaryField
 
     ground
     {
-        type            mutUSpaldingWallFunction;
+        type            nutUSpaldingWallFunction;
         value           uniform 0;
     }
 
@@ -50,7 +50,7 @@ boundaryField
 
     region0_to_pyrolysisRegion_coupledWall
     {
-        type            mutUSpaldingWallFunction;
+        type            nutUSpaldingWallFunction;
         value           uniform 0;
     }
 
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/LESProperties b/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/LESProperties
deleted file mode 100644
index 5ecdc02d18a..00000000000
--- a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/LESProperties
+++ /dev/null
@@ -1,93 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      LESProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-LESModel        oneEqEddy;
-
-delta           cubeRootVol;
-
-turbulence      on;
-
-printCoeffs     on;
-
-oneEqEddyCoeffs
-{
-    Prt             1;
-}
-
-cubeRootVolCoeffs
-{
-    deltaCoeff      1;
-}
-
-PrandtlCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-
-        maxDeltaRatio   1.1;
-    }
-
-    Cdelta          0.158;
-}
-
-vanDriestCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-
-        maxDeltaRatio   1.1;
-    }
-
-    Aplus           26;
-    Cdelta          0.158;
-}
-
-smoothCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    maxDeltaRatio   1.1;
-}
-
-
-// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/turbulenceProperties b/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/turbulenceProperties
index 098d0823ab8..0973192685e 100644
--- a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/turbulenceProperties
+++ b/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/turbulenceProperties
@@ -1,4 +1,4 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
@@ -17,7 +17,84 @@ FoamFile
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  LESModel;
+simulationType  LES;
+
+LES
+{
+    LESModel        kEqn;
+
+    delta           cubeRootVol;
+
+    turbulence      on;
+
+    printCoeffs     on;
+
+    kEqnCoeffs
+    {
+        Prt             1;
+    }
+
+    cubeRootVolCoeffs
+    {
+        deltaCoeff      1;
+    }
+
+    PrandtlCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        smoothCoeffs
+        {
+            delta           cubeRootVol;
+            cubeRootVolCoeffs
+            {
+                deltaCoeff      1;
+            }
+
+            maxDeltaRatio   1.1;
+        }
+
+        Cdelta          0.158;
+    }
+
+    vanDriestCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        smoothCoeffs
+        {
+            delta           cubeRootVol;
+            cubeRootVolCoeffs
+            {
+                deltaCoeff      1;
+            }
+
+            maxDeltaRatio   1.1;
+        }
+
+        Aplus           26;
+        Cdelta          0.158;
+    }
+
+    smoothCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        maxDeltaRatio   1.1;
+    }
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/fvSchemes b/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/fvSchemes
index a5dcaf45b65..1173de15cff 100644
--- a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/fvSchemes
+++ b/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/fvSchemes
@@ -44,7 +44,7 @@ divSchemes
         h               limitedLinear 1;
     };
 
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
     div(phiU,p)     Gauss linear;
     div(Ji,Ii_h)    Gauss upwind;
 }
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/alphaSgs b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/alphat
similarity index 94%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/alphaSgs
rename to tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/alphat
index 5daa281498e..b9d5bb084f7 100644
--- a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/alphaSgs
+++ b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/alphat
@@ -11,7 +11,7 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      alphaSgs;
+    object      alphat;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -24,7 +24,6 @@ boundaryField
     ground
     {
         type        compressible::alphatWallFunction;
-        mut         muSgs;
         value       uniform 0;
     }
 
@@ -46,7 +45,6 @@ boundaryField
     "(region0_to.*)"
     {
         type        compressible::alphatWallFunction;
-        mut         muSgs;
         value       uniform 0;
     }
 }
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/muSgs b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/nut
similarity index 91%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/muSgs
rename to tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/nut
index cf1d5513646..6bce2726001 100644
--- a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/muSgs
+++ b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/nut
@@ -11,10 +11,10 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      muSgs;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
@@ -43,7 +43,7 @@ boundaryField
 
     "(region0_to.*)"
     {
-        type            mutUSpaldingWallFunction;
+        type            nutUSpaldingWallFunction;
         value           uniform 0;
     }
 }
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/Allrun b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/Allrun
index 28496ffcf77..5528c96c783 100755
--- a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/Allrun
+++ b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/Allrun
@@ -24,9 +24,11 @@ runApplication topoSet -dict system/fBurner.topoSetDict
 
 runApplication createPatch -overwrite
 
-decomposePar -force > log.decomposePar.log 2>&1
+decomposePar -force > log.decomposePar 2>&1
 
-decomposePar -region panelRegion > log.decomposeParPanelRegion.log 2>&1
+decomposePar -region panelRegion > log.decomposeParPanelRegion 2>&1
+
+decomposePar -fields > log.decomposePar 2>&1
 
 runParallel `getApplication` 6
 
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/LESProperties b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/LESProperties
deleted file mode 100644
index 5ecdc02d18a..00000000000
--- a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/LESProperties
+++ /dev/null
@@ -1,93 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      LESProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-LESModel        oneEqEddy;
-
-delta           cubeRootVol;
-
-turbulence      on;
-
-printCoeffs     on;
-
-oneEqEddyCoeffs
-{
-    Prt             1;
-}
-
-cubeRootVolCoeffs
-{
-    deltaCoeff      1;
-}
-
-PrandtlCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-
-        maxDeltaRatio   1.1;
-    }
-
-    Cdelta          0.158;
-}
-
-vanDriestCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-
-        maxDeltaRatio   1.1;
-    }
-
-    Aplus           26;
-    Cdelta          0.158;
-}
-
-smoothCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    maxDeltaRatio   1.1;
-}
-
-
-// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/turbulenceProperties b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/turbulenceProperties
index 098d0823ab8..94eb369ba13 100644
--- a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/turbulenceProperties
+++ b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/turbulenceProperties
@@ -1,4 +1,4 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
@@ -17,7 +17,83 @@ FoamFile
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  LESModel;
+simulationType  LES;
 
+LES
+{
+    LESModel        kEqn;
+
+    delta           cubeRootVol;
+
+    turbulence      on;
+
+    printCoeffs     on;
+
+    kEqnCoeffs
+    {
+        Prt             1;
+    }
+
+    cubeRootVolCoeffs
+    {
+        deltaCoeff      1;
+    }
+
+    PrandtlCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        smoothCoeffs
+        {
+            delta           cubeRootVol;
+            cubeRootVolCoeffs
+            {
+                deltaCoeff      1;
+            }
+
+            maxDeltaRatio   1.1;
+        }
+
+        Cdelta          0.158;
+    }
+
+    vanDriestCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        smoothCoeffs
+        {
+            delta           cubeRootVol;
+            cubeRootVolCoeffs
+            {
+                deltaCoeff      1;
+            }
+
+            maxDeltaRatio   1.1;
+        }
+
+        Aplus           26;
+        Cdelta          0.158;
+    }
+
+    smoothCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        maxDeltaRatio   1.1;
+    }
+}
 
 // ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/fvSchemes b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/fvSchemes
index 27521262649..0ca1dcaa675 100644
--- a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/fvSchemes
+++ b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/fvSchemes
@@ -39,7 +39,7 @@ divSchemes
         CO2             linearUpwind grad(CO2);
         h               linearUpwind grad(h);
     };
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
     div(phi,K)          Gauss limitedLinear 1;
     div(Ji,Ii_h)        Gauss upwind;
 }
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/muSgs b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/alphat
similarity index 98%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/0/muSgs
rename to tutorials/combustion/fireFoam/les/smallPoolFire2D/0/alphat
index 203285a6c28..fe217e29ee3 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/muSgs
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/alphat
@@ -11,7 +11,7 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      muSgs;
+    object      alphat;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/alphaSgs b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/nut
similarity index 95%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/0/alphaSgs
rename to tutorials/combustion/fireFoam/les/smallPoolFire2D/0/nut
index 5495f422b44..d22df48d1b6 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/alphaSgs
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      alphaSgs;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/LESProperties b/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/LESProperties
deleted file mode 100644
index c24a9553bd1..00000000000
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/LESProperties
+++ /dev/null
@@ -1,82 +0,0 @@
-/*---------------------------------------------------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      LESProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-LESModel       oneEqEddy;
-
-delta          cubeRootVol;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-cubeRootVolCoeffs
-{
-    deltaCoeff      1;
-}
-
-PrandtlCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-        maxDeltaRatio   1.1;
-    }
-    Cdelta           0.158;
-}
-
-vanDriestCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-        maxDeltaRatio   1.1;
-    }
-    Aplus            26;
-    Cdelta           0.158;
-}
-
-smoothCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-    maxDeltaRatio   1.1;
-}
-
-
-// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/turbulenceProperties b/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/turbulenceProperties
index 098d0823ab8..2b6d52fc7df 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/turbulenceProperties
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/turbulenceProperties
@@ -1,4 +1,4 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
@@ -14,10 +14,75 @@ FoamFile
     location    "constant";
     object      turbulenceProperties;
 }
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  LESModel;
+simulationType  LES;
+
+LES
+{
+    LESModel       kEqn;
+
+    delta          cubeRootVol;
+
+    turbulence      on;
+
+    printCoeffs     on;
+
+
+    cubeRootVolCoeffs
+    {
+        deltaCoeff      1;
+    }
+
+    PrandtlCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+        smoothCoeffs
+        {
+            delta           cubeRootVol;
+            cubeRootVolCoeffs
+            {
+                deltaCoeff      1;
+            }
+            maxDeltaRatio   1.1;
+        }
+        Cdelta           0.158;
+    }
+
+    vanDriestCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+        smoothCoeffs
+        {
+            delta           cubeRootVol;
+            cubeRootVolCoeffs
+            {
+                deltaCoeff      1;
+            }
+            maxDeltaRatio   1.1;
+        }
+        Aplus            26;
+        Cdelta           0.158;
+    }
+
+    smoothCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+        maxDeltaRatio   1.1;
+    }
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/system/fvSchemes b/tutorials/combustion/fireFoam/les/smallPoolFire2D/system/fvSchemes
index efa1275f2b6..406f98c2aa0 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/system/fvSchemes
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/system/fvSchemes
@@ -39,7 +39,7 @@ divSchemes
         CO2             limitedLinear01 1;
         h               limitedLinear 1;
     };
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
     div(phi,omega)  Gauss limitedLinear 1;
     div(phi,K)      Gauss limitedLinear 1;
     div(U)          Gauss linear;
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/muSgs b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/alphat
similarity index 97%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/0/muSgs
rename to tutorials/combustion/fireFoam/les/smallPoolFire3D/0/alphat
index d94861f4ba9..eee8d350d2d 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/muSgs
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/alphat
@@ -11,7 +11,7 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      muSgs;
+    object      alphat;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -37,6 +37,7 @@ boundaryField
     {
         type            zeroGradient;
     }
+
 }
 
 
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/alphaSgs b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/nut
similarity index 94%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/0/alphaSgs
rename to tutorials/combustion/fireFoam/les/smallPoolFire3D/0/nut
index ed7509d9f40..f626af56683 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/alphaSgs
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      alphaSgs;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
@@ -37,7 +37,6 @@ boundaryField
     {
         type            zeroGradient;
     }
-
 }
 
 
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/LESProperties b/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/LESProperties
deleted file mode 100644
index 12e4f39bd62..00000000000
--- a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/LESProperties
+++ /dev/null
@@ -1,88 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      LESProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-LESModel       oneEqEddy;
-
-delta          cubeRootVol;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-oneEqEddyCoeffs
-{
-    ck      0.07;
-}
-
-cubeRootVolCoeffs
-{
-    deltaCoeff      1;
-}
-
-PrandtlCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-        maxDeltaRatio   1.1;
-    }
-    Cdelta           0.158;
-}
-
-vanDriestCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-        maxDeltaRatio   1.1;
-    }
-    Aplus            26;
-    Cdelta           0.158;
-}
-
-smoothCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-    maxDeltaRatio   1.1;
-}
-
-
-// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/turbulenceProperties b/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/turbulenceProperties
index f97f6389b04..fc866e33627 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/turbulenceProperties
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/turbulenceProperties
@@ -13,10 +13,80 @@ FoamFile
     location    "constant";
     object      turbulenceProperties;
 }
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  LESModel;
+simulationType  LES;
+
+LES
+{
+    LESModel       kEqn;
+
+    delta          cubeRootVol;
+
+    turbulence      on;
+
+    printCoeffs     on;
+
+
+    kEqnCoeffs
+    {
+        ck      0.07;
+    }
+
+    cubeRootVolCoeffs
+    {
+        deltaCoeff      1;
+    }
+
+    PrandtlCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+        smoothCoeffs
+        {
+            delta           cubeRootVol;
+            cubeRootVolCoeffs
+            {
+                deltaCoeff      1;
+            }
+            maxDeltaRatio   1.1;
+        }
+        Cdelta           0.158;
+    }
+
+    vanDriestCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+        smoothCoeffs
+        {
+            delta           cubeRootVol;
+            cubeRootVolCoeffs
+            {
+                deltaCoeff      1;
+            }
+            maxDeltaRatio   1.1;
+        }
+        Aplus            26;
+        Cdelta           0.158;
+    }
+
+    smoothCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+        maxDeltaRatio   1.1;
+    }
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/system/fvSchemes b/tutorials/combustion/fireFoam/les/smallPoolFire3D/system/fvSchemes
index e82354947c6..fbb43d9b9cd 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire3D/system/fvSchemes
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire3D/system/fvSchemes
@@ -40,7 +40,7 @@ divSchemes
         CO2             limitedLinear01 1;
         h               limitedLinear 1;
     };
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
     div(Ji,Ii_h)    Gauss upwind;
 }
 
diff --git a/tutorials/combustion/reactingFoam/ras/counterFlowFlame2D/system/fvSchemes b/tutorials/combustion/reactingFoam/ras/counterFlowFlame2D/system/fvSchemes
index 4e19f9c7de1..48b4e3fff93 100644
--- a/tutorials/combustion/reactingFoam/ras/counterFlowFlame2D/system/fvSchemes
+++ b/tutorials/combustion/reactingFoam/ras/counterFlowFlame2D/system/fvSchemes
@@ -35,7 +35,7 @@ divSchemes
     div(phid,p)     Gauss limitedLinear 1;
     div(phi,epsilon) Gauss limitedLinear 1;
     div(phi,k) Gauss limitedLinear 1;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/epsilon b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/epsilon
index c6f28faeeaf..8c7abfb78fc 100644
--- a/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/epsilon
+++ b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/epsilon
@@ -23,27 +23,27 @@ boundaryField
 {
     front
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 200;
     }
     back
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 200;
     }
     walls
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 200;
     }
     porosityWall
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 200;
     }
     inlet
     {
-        type            compressible::turbulentMixingLengthDissipationRateInlet;
+        type            turbulentMixingLengthDissipationRateInlet;
         mixingLength    0.005;
         value           uniform 200;
     }
diff --git a/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/k b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/k
index b92ab42afed..acbc36ec25a 100644
--- a/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/k
+++ b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/k
@@ -23,22 +23,22 @@ boundaryField
 {
     front
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1;
     }
     back
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1;
     }
     walls
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1;
     }
     porosityWall
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1;
     }
     inlet
diff --git a/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/mut b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/nut
similarity index 85%
rename from tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/mut
rename to tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/nut
index 6f779fd4165..4170dde35ce 100644
--- a/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/mut
+++ b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/0/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
@@ -23,22 +23,22 @@ boundaryField
 {
     front
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
     back
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
     walls
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
     porosityWall
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
     inlet
diff --git a/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/constant/turbulenceProperties b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/constant/turbulenceProperties
index 3721a46a2ea..cd2daf8229b 100644
--- a/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/constant/turbulenceProperties
+++ b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/constant/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/system/fvSchemes b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/system/fvSchemes
index cec14e1fb56..49aa2c4c830 100644
--- a/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/system/fvSchemes
+++ b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/system/fvSchemes
@@ -39,7 +39,7 @@ divSchemes
     div((rho*R))    Gauss linear;
     div(R)          Gauss linear;
     div(U)          Gauss linear;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/mut b/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/nut
similarity index 86%
rename from tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/mut
rename to tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/nut
index 21f39546801..1272c0822c9 100644
--- a/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/mut
+++ b/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/nut
@@ -11,21 +11,21 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 #include "${FOAM_CASE}/constant/caseSettings"
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
 boundaryField
 {
-    inlet       { $:calculated.mut; }
-    outlet      { $:calculated.mut; }
-    movingWalls { $:wall.mut; }
+    inlet       { $:calculated.nut; }
+    outlet      { $:calculated.nut; }
+    movingWalls { $:wall.nut; }
     staticWalls { $movingWalls; }
 
     #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
diff --git a/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/constant/boundaryConditions b/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/constant/boundaryConditions
index 7c492476ce2..6224731ba23 100644
--- a/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/constant/boundaryConditions
+++ b/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/constant/boundaryConditions
@@ -22,7 +22,7 @@ calculated
         type            calculated;
         value           uniform 0;
     }
-    mut
+    nut
     {
         type            calculated;
         value           uniform 0;
@@ -99,19 +99,19 @@ wall
 
     k
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform $:innerInlet.k;
     }
 
     epsilon
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform $:innerInlet.epsilon;
     }
 
-    mut
+    nut
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
 
diff --git a/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/constant/turbulenceProperties
index c2021e7271a..cd2daf8229b 100644
--- a/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/constant/turbulenceProperties
+++ b/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/constant/turbulenceProperties
@@ -15,6 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
+
 
 // ************************************************************************* //
diff --git a/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/system/fvSchemes b/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/system/fvSchemes
index 4256201f449..1cd4e17a525 100644
--- a/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/system/fvSchemes
+++ b/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/system/fvSchemes
@@ -35,7 +35,7 @@ divSchemes
     div(meshPhi,p)  Gauss linear;
     div(phi,k)      Gauss upwind;
     div(phi,epsilon) Gauss upwind;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/0/alphaSgs b/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/0/alphat
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/les/pitzDaily/0/alphaSgs
rename to tutorials/compressible/rhoPimpleFoam/les/pitzDaily/0/alphat
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/0/nuSgs b/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/0/nut
similarity index 98%
rename from tutorials/incompressible/pisoFoam/les/pitzDailyMapped/0/nuSgs
rename to tutorials/compressible/rhoPimpleFoam/les/pitzDaily/0/nut
index 608ec8c465f..726b637f782 100644
--- a/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/0/nuSgs
+++ b/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/0/nut
@@ -10,7 +10,7 @@ FoamFile
     version     2.0;
     format      ascii;
     class       volScalarField;
-    object      nuSgs;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/LESProperties b/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/LESProperties
deleted file mode 100644
index b78b63e5ed9..00000000000
--- a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/LESProperties
+++ /dev/null
@@ -1,88 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      LESProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-LESModel        oneEqEddy;
-
-turbulence      on;
-
-printCoeffs     on;
-
-delta           cubeRootVol;
-
-cubeRootVolCoeffs
-{
-    deltaCoeff      1;
-}
-
-PrandtlCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-
-        maxDeltaRatio   1.1;
-    }
-
-    Cdelta          0.158;
-}
-
-vanDriestCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-
-        maxDeltaRatio   1.1;
-    }
-
-    Aplus           26;
-    Cdelta          0.158;
-}
-
-smoothCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    maxDeltaRatio   1.1;
-}
-
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/polyMesh/boundary b/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/polyMesh/boundary
index 43b78ef4111..581ceffc709 100644
--- a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/polyMesh/boundary
+++ b/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/polyMesh/boundary
@@ -32,12 +32,14 @@ FoamFile
     upperWall
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          223;
         startFace       24257;
     }
     lowerWall
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          250;
         startFace       24480;
     }
diff --git a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/turbulenceProperties
index a925d3cc2b2..dccceff3d8c 100644
--- a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/turbulenceProperties
+++ b/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/turbulenceProperties
@@ -15,7 +15,79 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  LESModel;
+simulationType  LES;
+
+LES
+{
+    LESModel        kEqn;
+
+    turbulence      on;
+
+    printCoeffs     on;
+
+    delta           cubeRootVol;
+
+    cubeRootVolCoeffs
+    {
+        deltaCoeff      1;
+    }
+
+    PrandtlCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        smoothCoeffs
+        {
+            delta           cubeRootVol;
+            cubeRootVolCoeffs
+            {
+                deltaCoeff      1;
+            }
+
+            maxDeltaRatio   1.1;
+        }
+
+        Cdelta          0.158;
+    }
+
+    vanDriestCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        smoothCoeffs
+        {
+            delta           cubeRootVol;
+            cubeRootVolCoeffs
+            {
+                deltaCoeff      1;
+            }
+
+            maxDeltaRatio   1.1;
+        }
+
+        Aplus           26;
+        Cdelta          0.158;
+    }
+
+    smoothCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        maxDeltaRatio   1.1;
+    }
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/system/fvSchemes
index 51d3236831d..36d3193afd8 100644
--- a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/system/fvSchemes
+++ b/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/system/fvSchemes
@@ -36,7 +36,7 @@ divSchemes
     div(phi,B)      Gauss limitedLinear 1;
     div(phi,muTilda) Gauss limitedLinear 1;
     div(B)          Gauss linear;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/epsilon b/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/epsilon
index c6f28faeeaf..8c7abfb78fc 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/epsilon
+++ b/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/epsilon
@@ -23,27 +23,27 @@ boundaryField
 {
     front
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 200;
     }
     back
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 200;
     }
     walls
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 200;
     }
     porosityWall
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 200;
     }
     inlet
     {
-        type            compressible::turbulentMixingLengthDissipationRateInlet;
+        type            turbulentMixingLengthDissipationRateInlet;
         mixingLength    0.005;
         value           uniform 200;
     }
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/k b/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/k
index b92ab42afed..acbc36ec25a 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/k
+++ b/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/k
@@ -23,22 +23,22 @@ boundaryField
 {
     front
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1;
     }
     back
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1;
     }
     walls
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1;
     }
     porosityWall
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1;
     }
     inlet
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/mut b/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/nut
similarity index 85%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/mut
rename to tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/nut
index 6f779fd4165..4170dde35ce 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/mut
+++ b/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
@@ -23,22 +23,22 @@ boundaryField
 {
     front
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
     back
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
     walls
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
     porosityWall
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
     inlet
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/turbulenceProperties
index 3721a46a2ea..cd2daf8229b 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/turbulenceProperties
+++ b/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/system/fvSchemes
index 5d15eae6c0f..dce2ee09ff1 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/system/fvSchemes
+++ b/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/system/fvSchemes
@@ -39,7 +39,7 @@ divSchemes
     div((rho*R))    Gauss linear;
     div(R)          Gauss linear;
     div(U)          Gauss linear;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/epsilon b/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/epsilon
index 6f1ace6a162..cfc9a229b56 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/epsilon
+++ b/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/epsilon
@@ -23,13 +23,13 @@ boundaryField
 {
     movingWall
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           $internalField;
     }
 
     fixedWalls
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           $internalField;
     }
 
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/k b/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/k
index 6917b826d91..72d1287df1f 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/k
+++ b/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/k
@@ -23,12 +23,12 @@ boundaryField
 {
     movingWall
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0.00325;
     }
     fixedWalls
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0.00325;
     }
     frontAndBack
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/mut b/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/nut
similarity index 91%
rename from tutorials/compressible/rhoPimpleFoam/ras/cavity/0/mut
rename to tutorials/compressible/rhoPimpleFoam/ras/cavity/0/nut
index db1e79f1de9..94c53c3de52 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/mut
+++ b/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/nut
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
@@ -23,7 +23,7 @@ boundaryField
 {
     movingWall
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
@@ -31,7 +31,7 @@ boundaryField
     }
     fixedWalls
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/omega b/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/omega
index 5a9f7e014d5..dc890e42e1a 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/omega
+++ b/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/omega
@@ -23,7 +23,7 @@ boundaryField
 {
     movingWall
     {
-        type            compressible::omegaWallFunction;
+        type            omegaWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
@@ -31,7 +31,7 @@ boundaryField
     }
     fixedWalls
     {
-        type            compressible::omegaWallFunction;
+        type            omegaWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/cavity/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleFoam/ras/cavity/constant/turbulenceProperties
index 3721a46a2ea..02fa2df1b93 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/cavity/constant/turbulenceProperties
+++ b/tutorials/compressible/rhoPimpleFoam/ras/cavity/constant/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kOmegaSST;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/cavity/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/ras/cavity/system/fvSchemes
index 7510de7b7a5..c2728910fe2 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/cavity/system/fvSchemes
+++ b/tutorials/compressible/rhoPimpleFoam/ras/cavity/system/fvSchemes
@@ -39,7 +39,7 @@ divSchemes
     div((rho*R))    Gauss linear;
     div(R)          Gauss linear;
     div(U)          Gauss linear;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/epsilon b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/epsilon
index dcbf83049b5..07e4effd344 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/epsilon
+++ b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/epsilon
@@ -23,13 +23,13 @@ boundaryField
 {
     rotor
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 20;
     }
 
     stator
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 20;
     }
 
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/k b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/k
index 29b185deadf..60208ba1315 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/k
+++ b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/k
@@ -23,13 +23,13 @@ boundaryField
 {
     rotor
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0;
     }
 
     stator
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0;
     }
 
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/mut b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/nut
similarity index 88%
rename from tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/mut
rename to tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/nut
index 98af49fbc18..6ca6d3aef64 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/mut
+++ b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
@@ -23,13 +23,13 @@ boundaryField
 {
     rotor
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
 
     stator
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
 
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/RASProperties b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/turbulenceProperties
index 3721a46a2ea..cd2daf8229b 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/turbulenceProperties
+++ b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/system/fvSchemes
index db6494d806a..ddea2bbda03 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/system/fvSchemes
+++ b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/system/fvSchemes
@@ -32,7 +32,7 @@ divSchemes
     div(phi,h)      Gauss limitedLinear 1;
     div(phi,k)      Gauss limitedLinear 1;
     div(phi,epsilon) Gauss limitedLinear 1;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
     div(phi,K)      Gauss linear;
 }
 
diff --git a/tutorials/compressible/rhoPimplecFoam/angledDuct/0/alphat b/tutorials/compressible/rhoPimplecFoam/angledDuct/0/alphat
index 33ecb425e27..b2a20bdcd79 100644
--- a/tutorials/compressible/rhoPimplecFoam/angledDuct/0/alphat
+++ b/tutorials/compressible/rhoPimplecFoam/angledDuct/0/alphat
@@ -17,39 +17,39 @@ FoamFile
 
 dimensions      [1 -1 -1 0 0 0 0];
 
-internalField   uniform 0;
+internalField   uniform 1e-3;
 
 boundaryField
 {
     front
     {
         type            compressible::alphatWallFunction;
-        value           uniform 0;
+        value           $internalField;
     }
     back
     {
         type            compressible::alphatWallFunction;
-        value           uniform 0;
+        value           $internalField;
     }
     walls
     {
         type            compressible::alphatWallFunction;
-        value           uniform 0;
+        value           $internalField;
     }
     porosityWall
     {
         type            compressible::alphatWallFunction;
-        value           uniform 0;
+        value           $internalField;
     }
     inlet
     {
         type            calculated;
-        value           uniform 0;
+        value           $internalField;
     }
     outlet
     {
         type            calculated;
-        value           uniform 0;
+        value           $internalField;
     }
 }
 
diff --git a/tutorials/compressible/rhoPimplecFoam/angledDuct/0/epsilon b/tutorials/compressible/rhoPimplecFoam/angledDuct/0/epsilon
index c6f28faeeaf..8c7abfb78fc 100644
--- a/tutorials/compressible/rhoPimplecFoam/angledDuct/0/epsilon
+++ b/tutorials/compressible/rhoPimplecFoam/angledDuct/0/epsilon
@@ -23,27 +23,27 @@ boundaryField
 {
     front
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 200;
     }
     back
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 200;
     }
     walls
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 200;
     }
     porosityWall
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 200;
     }
     inlet
     {
-        type            compressible::turbulentMixingLengthDissipationRateInlet;
+        type            turbulentMixingLengthDissipationRateInlet;
         mixingLength    0.005;
         value           uniform 200;
     }
diff --git a/tutorials/compressible/rhoPimplecFoam/angledDuct/0/k b/tutorials/compressible/rhoPimplecFoam/angledDuct/0/k
index b92ab42afed..acbc36ec25a 100644
--- a/tutorials/compressible/rhoPimplecFoam/angledDuct/0/k
+++ b/tutorials/compressible/rhoPimplecFoam/angledDuct/0/k
@@ -23,22 +23,22 @@ boundaryField
 {
     front
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1;
     }
     back
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1;
     }
     walls
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1;
     }
     porosityWall
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1;
     }
     inlet
diff --git a/tutorials/compressible/rhoPimplecFoam/angledDuct/0/mut b/tutorials/compressible/rhoPimplecFoam/angledDuct/0/nut
similarity index 85%
rename from tutorials/compressible/rhoPimplecFoam/angledDuct/0/mut
rename to tutorials/compressible/rhoPimplecFoam/angledDuct/0/nut
index 6f779fd4165..4170dde35ce 100644
--- a/tutorials/compressible/rhoPimplecFoam/angledDuct/0/mut
+++ b/tutorials/compressible/rhoPimplecFoam/angledDuct/0/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
@@ -23,22 +23,22 @@ boundaryField
 {
     front
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
     back
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
     walls
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
     porosityWall
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
     inlet
diff --git a/tutorials/compressible/rhoPimplecFoam/angledDuct/constant/RASProperties b/tutorials/compressible/rhoPimplecFoam/angledDuct/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/compressible/rhoPimplecFoam/angledDuct/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/rhoPimplecFoam/angledDuct/constant/turbulenceProperties b/tutorials/compressible/rhoPimplecFoam/angledDuct/constant/turbulenceProperties
index 3721a46a2ea..cd2daf8229b 100644
--- a/tutorials/compressible/rhoPimplecFoam/angledDuct/constant/turbulenceProperties
+++ b/tutorials/compressible/rhoPimplecFoam/angledDuct/constant/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/compressible/rhoPimplecFoam/angledDuct/system/fvSchemes b/tutorials/compressible/rhoPimplecFoam/angledDuct/system/fvSchemes
index 5d15eae6c0f..dce2ee09ff1 100644
--- a/tutorials/compressible/rhoPimplecFoam/angledDuct/system/fvSchemes
+++ b/tutorials/compressible/rhoPimplecFoam/angledDuct/system/fvSchemes
@@ -39,7 +39,7 @@ divSchemes
     div((rho*R))    Gauss linear;
     div(R)          Gauss linear;
     div(U)          Gauss linear;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSchemes b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSchemes
index f83203612ee..232bd728b01 100644
--- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSchemes
+++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSchemes
@@ -28,7 +28,7 @@ gradSchemes
 divSchemes
 {
     div(phi,U)      bounded Gauss upwind;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
     div(phi,e)      bounded Gauss upwind;
     div(phi,epsilon) bounded Gauss upwind;
     div(phi,k)      bounded Gauss upwind;
diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/epsilon b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/epsilon
index 12c9b362e35..21b1e98ef91 100644
--- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/epsilon
+++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/epsilon
@@ -23,31 +23,31 @@ boundaryField
 {
     front
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 200;
     }
 
     back
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 200;
     }
 
     walls
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 200;
     }
 
     porosityWall
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 200;
     }
 
     inlet
     {
-        type            compressible::turbulentMixingLengthDissipationRateInlet;
+        type            turbulentMixingLengthDissipationRateInlet;
         mixingLength    0.005;
         value           uniform 200;
     }
diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/k b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/k
index 3dbe46f030c..cd7aa310966 100644
--- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/k
+++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/k
@@ -23,25 +23,25 @@ boundaryField
 {
     front
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1;
     }
 
     back
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1;
     }
 
     walls
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1;
     }
 
     porosityWall
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1;
     }
 
diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/mut b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/nut
similarity index 85%
rename from tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/mut
rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/nut
index a01a5a0eed8..4362a65a8dc 100644
--- a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/mut
+++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [ 1 -1 -1 0 0 0 0 ];
+dimensions      [ 0 2 -1 0 0 0 0 ];
 
 internalField   uniform 0;
 
@@ -23,25 +23,25 @@ boundaryField
 {
     front
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
 
     back
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
 
     walls
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
 
     porosityWall
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
 
diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/RASProperties b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/turbulenceProperties b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/turbulenceProperties
new file mode 100644
index 00000000000..59a2e7e2073
--- /dev/null
+++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/turbulenceProperties
@@ -0,0 +1,28 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSchemes b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSchemes
index f83203612ee..232bd728b01 100644
--- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSchemes
+++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSchemes
@@ -28,7 +28,7 @@ gradSchemes
 divSchemes
 {
     div(phi,U)      bounded Gauss upwind;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
     div(phi,e)      bounded Gauss upwind;
     div(phi,epsilon) bounded Gauss upwind;
     div(phi,k)      bounded Gauss upwind;
diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/epsilon b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/epsilon
index 12c9b362e35..21b1e98ef91 100644
--- a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/epsilon
+++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/epsilon
@@ -23,31 +23,31 @@ boundaryField
 {
     front
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 200;
     }
 
     back
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 200;
     }
 
     walls
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 200;
     }
 
     porosityWall
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 200;
     }
 
     inlet
     {
-        type            compressible::turbulentMixingLengthDissipationRateInlet;
+        type            turbulentMixingLengthDissipationRateInlet;
         mixingLength    0.005;
         value           uniform 200;
     }
diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/k b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/k
index 3dbe46f030c..cd7aa310966 100644
--- a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/k
+++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/k
@@ -23,25 +23,25 @@ boundaryField
 {
     front
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1;
     }
 
     back
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1;
     }
 
     walls
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1;
     }
 
     porosityWall
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1;
     }
 
diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/mut b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/nut
similarity index 85%
rename from tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/mut
rename to tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/nut
index a01a5a0eed8..fcb2bc9b008 100644
--- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/mut
+++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/0/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [ 1 -1 -1 0 0 0 0 ];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
@@ -23,25 +23,25 @@ boundaryField
 {
     front
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
 
     back
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
 
     walls
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
 
     porosityWall
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
 
diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/RASProperties b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/polyMesh/boundary b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/polyMesh/boundary
index 76e163242f2..7a2d7d0e5e3 100644
--- a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/polyMesh/boundary
+++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/polyMesh/boundary
@@ -20,24 +20,28 @@ FoamFile
     front
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          700;
         startFace       63400;
     }
     back
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          700;
         startFace       64100;
     }
     walls
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          1400;
         startFace       64800;
     }
     porosityWall
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          1600;
         startFace       66200;
     }
diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/turbulenceProperties b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/turbulenceProperties
new file mode 100644
index 00000000000..59a2e7e2073
--- /dev/null
+++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/turbulenceProperties
@@ -0,0 +1,28 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/fvSchemes b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/fvSchemes
index b4ca79e3c84..7c3213ef9b4 100644
--- a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/fvSchemes
+++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/fvSchemes
@@ -30,7 +30,7 @@ divSchemes
     default         none;
 
     div(phi,U)      bounded Gauss upwind;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
     div(phi,e)      bounded Gauss upwind;
     div(phi,epsilon) bounded Gauss upwind;
     div(phi,k)      bounded Gauss upwind;
diff --git a/tutorials/compressible/rhoSimplecFoam/squareBend/0/epsilon b/tutorials/compressible/rhoSimplecFoam/squareBend/0/epsilon
index 9161ca6171e..71b9c782d16 100644
--- a/tutorials/compressible/rhoSimplecFoam/squareBend/0/epsilon
+++ b/tutorials/compressible/rhoSimplecFoam/squareBend/0/epsilon
@@ -23,7 +23,7 @@ boundaryField
 {
     Default_Boundary_Region
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
@@ -31,7 +31,7 @@ boundaryField
     }
     inlet
     {
-        type            compressible::turbulentMixingLengthDissipationRateInlet;
+        type            turbulentMixingLengthDissipationRateInlet;
         mixingLength    0.005;
         value           uniform 200;
     }
diff --git a/tutorials/compressible/rhoSimplecFoam/squareBend/0/k b/tutorials/compressible/rhoSimplecFoam/squareBend/0/k
index baffcd16db4..7ee52f8dbfb 100644
--- a/tutorials/compressible/rhoSimplecFoam/squareBend/0/k
+++ b/tutorials/compressible/rhoSimplecFoam/squareBend/0/k
@@ -23,7 +23,7 @@ boundaryField
 {
     Default_Boundary_Region
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1;
     }
     inlet
diff --git a/tutorials/compressible/rhoSimplecFoam/squareBend/0/mut b/tutorials/compressible/rhoSimplecFoam/squareBend/0/nut
similarity index 92%
rename from tutorials/compressible/rhoSimplecFoam/squareBend/0/mut
rename to tutorials/compressible/rhoSimplecFoam/squareBend/0/nut
index eb4656f2966..ac8d562f40e 100644
--- a/tutorials/compressible/rhoSimplecFoam/squareBend/0/mut
+++ b/tutorials/compressible/rhoSimplecFoam/squareBend/0/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
@@ -23,7 +23,7 @@ boundaryField
 {
     Default_Boundary_Region
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
diff --git a/tutorials/compressible/rhoSimplecFoam/squareBend/constant/RASProperties b/tutorials/compressible/rhoSimplecFoam/squareBend/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/compressible/rhoSimplecFoam/squareBend/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/rhoSimplecFoam/squareBend/constant/turbulenceProperties b/tutorials/compressible/rhoSimplecFoam/squareBend/constant/turbulenceProperties
index 3721a46a2ea..cd2daf8229b 100644
--- a/tutorials/compressible/rhoSimplecFoam/squareBend/constant/turbulenceProperties
+++ b/tutorials/compressible/rhoSimplecFoam/squareBend/constant/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/compressible/rhoSimplecFoam/squareBend/system/fvSchemes b/tutorials/compressible/rhoSimplecFoam/squareBend/system/fvSchemes
index 5a12a4e1dad..665b390b98b 100644
--- a/tutorials/compressible/rhoSimplecFoam/squareBend/system/fvSchemes
+++ b/tutorials/compressible/rhoSimplecFoam/squareBend/system/fvSchemes
@@ -30,7 +30,7 @@ divSchemes
     default             none;
 
     div(phi,U)          bounded Gauss upwind;
-    div((muEff*dev2(T(grad(U)))))      Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U)))))      Gauss linear;
     div(phi,e)          bounded Gauss upwind;
     div(phi,epsilon)    bounded Gauss upwind;
     div(phi,k)          bounded Gauss upwind;
diff --git a/tutorials/compressible/sonicFoam/laminar/forwardStep/system/fvSchemes b/tutorials/compressible/sonicFoam/laminar/forwardStep/system/fvSchemes
index 4d56bbf40f8..0b421e801c7 100644
--- a/tutorials/compressible/sonicFoam/laminar/forwardStep/system/fvSchemes
+++ b/tutorials/compressible/sonicFoam/laminar/forwardStep/system/fvSchemes
@@ -33,7 +33,7 @@ divSchemes
     div(phi,e)      Gauss limitedLinear 1;
     div(phi,K)      Gauss limitedLinear 1;
     div(phiv,p)     Gauss limitedLinear 1;
-    div((muEff*dev2(T(grad(U))))) Gauss linear 1;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear 1;
 }
 
 laplacianSchemes
diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/system/fvSchemes b/tutorials/compressible/sonicFoam/laminar/shockTube/system/fvSchemes
index d42c248c254..85d4f97a6ce 100644
--- a/tutorials/compressible/sonicFoam/laminar/shockTube/system/fvSchemes
+++ b/tutorials/compressible/sonicFoam/laminar/shockTube/system/fvSchemes
@@ -33,7 +33,7 @@ divSchemes
     div(phi,e)      Gauss limitedLinear 1;
     div(phi,K)      Gauss limitedLinear 1;
     div(phiv,p)     Gauss limitedLinear 1;
-    div((muEff*dev2(T(grad(U))))) Gauss linear 1;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear 1;
 }
 
 laplacianSchemes
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/epsilon b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/epsilon
index 9a65ce7eec4..867915923d5 100644
--- a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/epsilon
+++ b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/epsilon
@@ -39,7 +39,7 @@ boundaryField
     }
     WALL10
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/k b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/k
index 552f881f4ef..807d2a2b302 100644
--- a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/k
+++ b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/k
@@ -39,7 +39,7 @@ boundaryField
     }
     WALL10
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1000;
     }
 }
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/mut b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/nut
similarity index 92%
rename from tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/mut
rename to tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/nut
index d10d5087061..b8c80af97ce 100644
--- a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/mut
+++ b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
@@ -37,7 +37,7 @@ boundaryField
     }
     WALL10
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/RASProperties b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/RASProperties
deleted file mode 100644
index 34805a0b264..00000000000
--- a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        LaunderSharmaKE;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/polyMesh/boundary b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/polyMesh/boundary
index b6f0d11024a..becd8320f7b 100644
--- a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/polyMesh/boundary
+++ b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/polyMesh/boundary
@@ -39,6 +39,7 @@ FoamFile
     WALL10
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          260;
         startFace       160170;
     }
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/turbulenceProperties b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/turbulenceProperties
index 3721a46a2ea..b9a4c7ca82e 100644
--- a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/turbulenceProperties
+++ b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        LaunderSharmaKE;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/fvSchemes b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/fvSchemes
index ec1368d9cac..e43f10e9b91 100644
--- a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/fvSchemes
+++ b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/fvSchemes
@@ -35,7 +35,7 @@ divSchemes
     div(phiv,p)     Gauss limitedLinear 1;
     div(phi,k)      Gauss upwind;
     div(phi,epsilon) Gauss upwind;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/compressible/sonicFoam/ras/prism/0/epsilon b/tutorials/compressible/sonicFoam/ras/prism/0/epsilon
index a7bd5b6bb0b..baba5a80013 100644
--- a/tutorials/compressible/sonicFoam/ras/prism/0/epsilon
+++ b/tutorials/compressible/sonicFoam/ras/prism/0/epsilon
@@ -46,7 +46,7 @@ boundaryField
     }
     prismWall
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 266000;
     }
     defaultFaces
diff --git a/tutorials/compressible/sonicFoam/ras/prism/0/k b/tutorials/compressible/sonicFoam/ras/prism/0/k
index 2917c4e8493..61815273a53 100644
--- a/tutorials/compressible/sonicFoam/ras/prism/0/k
+++ b/tutorials/compressible/sonicFoam/ras/prism/0/k
@@ -46,7 +46,7 @@ boundaryField
     }
     prismWall
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1000;
     }
     defaultFaces
diff --git a/tutorials/compressible/sonicFoam/ras/prism/0/mut b/tutorials/compressible/sonicFoam/ras/prism/0/nut
similarity index 93%
rename from tutorials/compressible/sonicFoam/ras/prism/0/mut
rename to tutorials/compressible/sonicFoam/ras/prism/0/nut
index 61d98a744d3..3035025ddc6 100644
--- a/tutorials/compressible/sonicFoam/ras/prism/0/mut
+++ b/tutorials/compressible/sonicFoam/ras/prism/0/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
@@ -43,7 +43,7 @@ boundaryField
     }
     prismWall
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
     defaultFaces
diff --git a/tutorials/compressible/sonicFoam/ras/prism/constant/RASProperties b/tutorials/compressible/sonicFoam/ras/prism/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/compressible/sonicFoam/ras/prism/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/sonicFoam/ras/prism/constant/turbulenceProperties b/tutorials/compressible/sonicFoam/ras/prism/constant/turbulenceProperties
index 3721a46a2ea..cd2daf8229b 100644
--- a/tutorials/compressible/sonicFoam/ras/prism/constant/turbulenceProperties
+++ b/tutorials/compressible/sonicFoam/ras/prism/constant/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/compressible/sonicFoam/ras/prism/system/fvSchemes b/tutorials/compressible/sonicFoam/ras/prism/system/fvSchemes
index bf71cbee709..6519c5e77cb 100644
--- a/tutorials/compressible/sonicFoam/ras/prism/system/fvSchemes
+++ b/tutorials/compressible/sonicFoam/ras/prism/system/fvSchemes
@@ -35,7 +35,7 @@ divSchemes
     div(phiv,p)     Gauss limitedLinear 1;
     div(phi,k)      Gauss upwind;
     div(phi,epsilon) Gauss upwind;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/constant/RASProperties b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/constant/turbulenceProperties b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/constant/turbulenceProperties
new file mode 100644
index 00000000000..59a2e7e2073
--- /dev/null
+++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/constant/turbulenceProperties
@@ -0,0 +1,28 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/system/fvSchemes b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/system/fvSchemes
index 2ea94995ae8..9052cd188f6 100644
--- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/system/fvSchemes
+++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/system/fvSchemes
@@ -35,7 +35,7 @@ divSchemes
     div(phi,epsilon) Gauss upwind;
     div(phi,R)      Gauss upwind;
     div(R)          Gauss linear;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/constant/RASProperties b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/constant/turbulenceProperties b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/constant/turbulenceProperties
new file mode 100644
index 00000000000..59a2e7e2073
--- /dev/null
+++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/constant/turbulenceProperties
@@ -0,0 +1,28 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/fvSchemes b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/fvSchemes
index 7f51468ad72..cbc48629e53 100644
--- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/fvSchemes
+++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/fvSchemes
@@ -33,7 +33,7 @@ divSchemes
     div(phi,T)      bounded Gauss upwind;
     div(phi,k)      bounded Gauss upwind;
     div(phi,epsilon) bounded Gauss upwind;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/RASProperties b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/turbulenceProperties b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/turbulenceProperties
new file mode 100644
index 00000000000..59a2e7e2073
--- /dev/null
+++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/turbulenceProperties
@@ -0,0 +1,28 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/controlDict b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/controlDict
index 31ca07d47d1..590a482d4a0 100644
--- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/controlDict
+++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/controlDict
@@ -15,13 +15,6 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-libs
-(
-    "libincompressibleTurbulenceModel.so"
-    "libincompressibleRASModels.so"
-    "libincompressibleTransportModels.so"
-);
-
 application     buoyantBoussinesqSimpleFoam;
 
 startFrom       startTime;
diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/fvSchemes b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/fvSchemes
index bba4ac8e0c1..b64a3959f5e 100644
--- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/fvSchemes
+++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/fvSchemes
@@ -35,7 +35,7 @@ divSchemes
     div(phi,epsilon) bounded Gauss upwind;
     div(phi,R)      bounded Gauss upwind;
     div(R)          Gauss linear;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0/epsilon b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0/epsilon
index 23851291dc6..892d69375d9 100644
--- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0/epsilon
+++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0/epsilon
@@ -23,17 +23,17 @@ boundaryField
 {
     floor
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 0.01;
     }
     ceiling
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 0.01;
     }
     fixedWalls
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 0.01;
     }
 }
diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0/k b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0/k
index 62dd722078f..8e5e6563ee0 100644
--- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0/k
+++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0/k
@@ -23,17 +23,17 @@ boundaryField
 {
     floor
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0.1;
     }
     ceiling
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0.1;
     }
     fixedWalls
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0.1;
     }
 }
diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0/mut b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0/nut
similarity index 85%
rename from tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0/mut
rename to tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0/nut
index 3da3e391bf6..a4ff4149840 100644
--- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0/mut
+++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/0/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
@@ -23,17 +23,17 @@ boundaryField
 {
     floor
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
     ceiling
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
     fixedWalls
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
 }
diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/RASProperties b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/turbulenceProperties b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/turbulenceProperties
index 3721a46a2ea..cd2daf8229b 100644
--- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/turbulenceProperties
+++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/system/fvSchemes b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/system/fvSchemes
index 9ca38f0376f..d156cf98bb7 100644
--- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/system/fvSchemes
+++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/system/fvSchemes
@@ -37,7 +37,7 @@ divSchemes
     div(phi,K)      Gauss linear;
     div(phi,Ekp)    Gauss linear;
     div(R)          Gauss linear;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0/epsilon b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0/epsilon
index da6d8915485..f1ac119104a 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0/epsilon
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0/epsilon
@@ -23,22 +23,22 @@ boundaryField
 {
     frontAndBack
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 4e-06;
     }
     topAndBottom
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 4e-06;
     }
     hot
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 4e-06;
     }
     cold
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 4e-06;
     }
 }
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0/k b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0/k
index 886667fb5c3..ccdab2054e5 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0/k
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0/k
@@ -23,22 +23,22 @@ boundaryField
 {
     frontAndBack
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 3.75e-04;
     }
     topAndBottom
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 3.75e-04;
     }
     hot
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 3.75e-04;
     }
     cold
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 3.75e-04;
     }
 }
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/0/mut b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0/nut
similarity index 83%
rename from tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/0/mut
rename to tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0/nut
index 0ecb8672d27..bc7b9104086 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/0/mut
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
@@ -23,22 +23,22 @@ boundaryField
 {
     frontAndBack
     {
-        type            mutUWallFunction;
+        type            nutUWallFunction;
         value           uniform 0;
     }
     topAndBottom
     {
-        type            mutUWallFunction;
+        type            nutUWallFunction;
         value           uniform 0;
     }
     hot
     {
-        type            mutUWallFunction;
+        type            nutUWallFunction;
         value           uniform 0;
     }
     cold
     {
-        type            mutUWallFunction;
+        type            nutUWallFunction;
         value           uniform 0;
     }
 }
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0/omega b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0/omega
index 423815a2de8..481f4e64d7c 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0/omega
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0/omega
@@ -23,22 +23,22 @@ boundaryField
 {
     frontAndBack
     {
-        type            compressible::omegaWallFunction;
+        type            omegaWallFunction;
         value           uniform 0.12;
     }
     topAndBottom
     {
-        type            compressible::omegaWallFunction;
+        type            omegaWallFunction;
         value           uniform 0.12;
     }
     hot
     {
-        type            compressible::omegaWallFunction;
+        type            omegaWallFunction;
         value           uniform 0.12;
     }
     cold
     {
-        type            compressible::omegaWallFunction;
+        type            omegaWallFunction;
         value           uniform 0.12;
     }
 }
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/RASProperties b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/RASProperties
deleted file mode 100644
index be86bc1efaa..00000000000
--- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/RASProperties
+++ /dev/null
@@ -1,23 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel            kOmegaSST;
-
-turbulence          on;
-
-printCoeffs         on;
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/cavity/constant/RASProperties b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/turbulenceProperties
similarity index 89%
rename from tutorials/compressible/rhoPimpleFoam/ras/cavity/constant/RASProperties
rename to tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/turbulenceProperties
index e0e6b776a27..beee8bdf085 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/cavity/constant/RASProperties
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/turbulenceProperties
@@ -10,16 +10,18 @@ FoamFile
     version     2.0;
     format      ascii;
     class       dictionary;
-    location    "constant";
     object      RASProperties;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-RASModel        kOmegaSST;
+RAS
+{
+    RASModel            kOmegaSST;
 
-turbulence      on;
+    turbulence          on;
 
-printCoeffs     on;
+    printCoeffs         on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/fvSchemes b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/fvSchemes
index 5e55527b803..d2738ff36b3 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/fvSchemes
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/fvSchemes
@@ -34,7 +34,7 @@ divSchemes
     div(phi,k)      bounded Gauss limitedLinear 0.2;
     div(phi,epsilon) bounded Gauss limitedLinear 0.2;
     div(phi,omega) bounded Gauss limitedLinear 0.2;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/epsilon b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/epsilon
index 7ac88b9230b..e850a8a82f1 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/epsilon
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/epsilon
@@ -26,7 +26,7 @@ boundaryField
 
     floor
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
@@ -34,7 +34,7 @@ boundaryField
     }
     ceiling
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/include/wallBafflePatches b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/include/wallBafflePatches
index fd5f3f8c4c8..c9385a0f640 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/include/wallBafflePatches
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/include/wallBafflePatches
@@ -14,19 +14,19 @@ alphat
 
 epsilon
 {
-    type            compressible::epsilonWallFunction;
+    type            epsilonWallFunction;
     value           uniform 0.01;
 }
 
 k
 {
-    type            compressible::kqRWallFunction;
+    type            kqRWallFunction;
     value           uniform 0.01;
 }
 
-mut
+nut
 {
-    type            mutkWallFunction;
+    type            nutkWallFunction;
     value           uniform 0;
 }
 
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/k b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/k
index 97f41e6e200..e231033d12f 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/k
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/k
@@ -26,12 +26,12 @@ boundaryField
 
     floor
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0.1;
     }
     ceiling
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0.1;
     }
     inlet
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/mut b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/nut
similarity index 91%
rename from tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/mut
rename to tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/nut
index 329027bb91e..53df8822769 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/mut
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
@@ -26,7 +26,7 @@ boundaryField
 
     floor
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
@@ -34,7 +34,7 @@ boundaryField
     }
     ceiling
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/RASProperties b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/RASProperties
deleted file mode 100644
index 5eeb61a9ad9..00000000000
--- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/RASProperties
+++ /dev/null
@@ -1,23 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel            kEpsilon;
-
-turbulence          on;
-
-printCoeffs         on;
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/RASProperties b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/turbulenceProperties
similarity index 89%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/RASProperties
rename to tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/turbulenceProperties
index a4937b503a4..1c094d0a383 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/RASProperties
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/turbulenceProperties
@@ -10,16 +10,18 @@ FoamFile
     version     2.0;
     format      ascii;
     class       dictionary;
-    location    "constant";
     object      RASProperties;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-RASModel        kEpsilon;
+RAS
+{
+    RASModel            kEpsilon;
 
-turbulence      on;
+    turbulence          on;
 
-printCoeffs     on;
+    printCoeffs         on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/controlDict b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/controlDict
index f35c15f101f..78f6a784a29 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/controlDict
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/controlDict
@@ -44,6 +44,6 @@ timePrecision   6;
 
 runTimeModifiable true;
 
-libs ("libthermalBaffleModels.so" "libcompressibleRASModels.so");
+libs ("libthermalBaffleModels.so");
 
 // ************************************************************************* //
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/fvSchemes b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/fvSchemes
index 9881bbd431b..0c8ae95a6dc 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/fvSchemes
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/fvSchemes
@@ -33,18 +33,18 @@ divSchemes
     div(phi,k)      bounded Gauss limitedLinear 0.2;
     div(phi,epsilon) bounded Gauss limitedLinear 0.2;
     div(phi,omega) bounded Gauss limitedLinear 0.2;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
 {
     default         none;
-    laplacian(muEff,U) Gauss linear uncorrected;
+    laplacian((rho*nuEff),U) Gauss linear uncorrected;
     laplacian(rhorAUf,p_rgh) Gauss linear uncorrected;
     laplacian(alphaEff,h) Gauss linear uncorrected;
-    laplacian(DkEff,k) Gauss linear uncorrected;
-    laplacian(DepsilonEff,epsilon) Gauss linear uncorrected;
-    laplacian(DomegaEff,omega) Gauss linear uncorrected;
+    laplacian((rho*DkEff),k) Gauss linear uncorrected;
+    laplacian((rho*DepsilonEff),epsilon) Gauss linear uncorrected;
+    laplacian((rho*DomegaEff),omega) Gauss linear uncorrected;
 }
 
 interpolationSchemes
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/0/epsilon b/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/0/epsilon
index da6d8915485..f1ac119104a 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/0/epsilon
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/0/epsilon
@@ -23,22 +23,22 @@ boundaryField
 {
     frontAndBack
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 4e-06;
     }
     topAndBottom
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 4e-06;
     }
     hot
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 4e-06;
     }
     cold
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 4e-06;
     }
 }
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/0/k b/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/0/k
index 886667fb5c3..ccdab2054e5 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/0/k
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/0/k
@@ -23,22 +23,22 @@ boundaryField
 {
     frontAndBack
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 3.75e-04;
     }
     topAndBottom
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 3.75e-04;
     }
     hot
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 3.75e-04;
     }
     cold
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 3.75e-04;
     }
 }
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0/mut b/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/0/nut
similarity index 83%
rename from tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0/mut
rename to tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/0/nut
index 0ecb8672d27..bc7b9104086 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/0/mut
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/0/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
@@ -23,22 +23,22 @@ boundaryField
 {
     frontAndBack
     {
-        type            mutUWallFunction;
+        type            nutUWallFunction;
         value           uniform 0;
     }
     topAndBottom
     {
-        type            mutUWallFunction;
+        type            nutUWallFunction;
         value           uniform 0;
     }
     hot
     {
-        type            mutUWallFunction;
+        type            nutUWallFunction;
         value           uniform 0;
     }
     cold
     {
-        type            mutUWallFunction;
+        type            nutUWallFunction;
         value           uniform 0;
     }
 }
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/0/omega b/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/0/omega
index 423815a2de8..481f4e64d7c 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/0/omega
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/0/omega
@@ -23,22 +23,22 @@ boundaryField
 {
     frontAndBack
     {
-        type            compressible::omegaWallFunction;
+        type            omegaWallFunction;
         value           uniform 0.12;
     }
     topAndBottom
     {
-        type            compressible::omegaWallFunction;
+        type            omegaWallFunction;
         value           uniform 0.12;
     }
     hot
     {
-        type            compressible::omegaWallFunction;
+        type            omegaWallFunction;
         value           uniform 0.12;
     }
     cold
     {
-        type            compressible::omegaWallFunction;
+        type            omegaWallFunction;
         value           uniform 0.12;
     }
 }
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/constant/RASProperties b/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/constant/RASProperties
deleted file mode 100644
index be86bc1efaa..00000000000
--- a/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/constant/RASProperties
+++ /dev/null
@@ -1,23 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel            kOmegaSST;
-
-turbulence          on;
-
-printCoeffs         on;
-
-// ************************************************************************* //
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/constant/turbulenceProperties b/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/constant/turbulenceProperties
new file mode 100644
index 00000000000..beee8bdf085
--- /dev/null
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/constant/turbulenceProperties
@@ -0,0 +1,27 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      RASProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+RAS
+{
+    RASModel            kOmegaSST;
+
+    turbulence          on;
+
+    printCoeffs         on;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/system/fvSchemes b/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/system/fvSchemes
index 5e55527b803..d2738ff36b3 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/system/fvSchemes
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/system/fvSchemes
@@ -34,7 +34,7 @@ divSchemes
     div(phi,k)      bounded Gauss limitedLinear 0.2;
     div(phi,epsilon) bounded Gauss limitedLinear 0.2;
     div(phi,omega) bounded Gauss limitedLinear 0.2;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0/epsilon b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0/epsilon
index 312afc24a63..a0fa682a610 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0/epsilon
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0/epsilon
@@ -23,22 +23,22 @@ boundaryField
 {
     box
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 0.01;
     }
     floor
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 0.01;
     }
     ceiling
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 0.01;
     }
     fixedWalls
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 0.01;
     }
 }
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0/k b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0/k
index 2b618db2f3e..0ca172de859 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0/k
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0/k
@@ -23,22 +23,22 @@ boundaryField
 {
     box
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0.1;
     }
     floor
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0.1;
     }
     ceiling
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0.1;
     }
     fixedWalls
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0.1;
     }
 }
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0/mut b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0/nut
similarity index 83%
rename from tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0/mut
rename to tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0/nut
index 504bd304c15..86ee5ac89b2 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0/mut
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/0/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
@@ -23,22 +23,22 @@ boundaryField
 {
     box
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
     floor
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
     ceiling
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
     fixedWalls
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
 }
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/RASProperties b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/RASProperties b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/turbulenceProperties
similarity index 90%
rename from tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/RASProperties
rename to tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/turbulenceProperties
index 34805a0b264..15d9319a448 100644
--- a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/RASProperties
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/turbulenceProperties
@@ -15,11 +15,14 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-RASModel        LaunderSharmaKE;
+RAS
+{
+    RASModel        kEpsilon;
 
-turbulence      on;
+    turbulence      on;
 
-printCoeffs     on;
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/system/fvSchemes b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/system/fvSchemes
index 2ceace5b7c7..293a173b11b 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/system/fvSchemes
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/system/fvSchemes
@@ -33,7 +33,7 @@ divSchemes
     div(phi,h)      bounded Gauss upwind;
     div(phi,k)      bounded Gauss upwind;
     div(phi,epsilon) bounded Gauss upwind;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0/epsilon b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0/epsilon
index b8e91addc9d..c49b1005e38 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0/epsilon
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0/epsilon
@@ -23,7 +23,7 @@ boundaryField
 {
     box
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
@@ -31,7 +31,7 @@ boundaryField
     }
     floor
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
@@ -39,7 +39,7 @@ boundaryField
     }
     ceiling
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
@@ -47,7 +47,7 @@ boundaryField
     }
     fixedWalls
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0/k b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0/k
index 2b618db2f3e..0ca172de859 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0/k
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0/k
@@ -23,22 +23,22 @@ boundaryField
 {
     box
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0.1;
     }
     floor
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0.1;
     }
     ceiling
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0.1;
     }
     fixedWalls
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0.1;
     }
 }
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0/mut b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0/nut
similarity index 86%
rename from tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0/mut
rename to tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0/nut
index 93c6dc22bcd..a7fc155fc21 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0/mut
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/0/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
@@ -23,7 +23,7 @@ boundaryField
 {
     box
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
@@ -31,7 +31,7 @@ boundaryField
     }
     floor
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
@@ -39,7 +39,7 @@ boundaryField
     }
     ceiling
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
@@ -47,7 +47,7 @@ boundaryField
     }
     fixedWalls
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/RASProperties b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/constant/RASProperties b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/turbulenceProperties
similarity index 90%
rename from tutorials/compressible/rhoLTSPimpleFoam/angledDuct/constant/RASProperties
rename to tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/turbulenceProperties
index a4937b503a4..15d9319a448 100644
--- a/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/constant/RASProperties
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/turbulenceProperties
@@ -15,11 +15,14 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-RASModel        kEpsilon;
+RAS
+{
+    RASModel        kEpsilon;
 
-turbulence      on;
+    turbulence      on;
 
-printCoeffs     on;
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/system/fvSchemes b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/system/fvSchemes
index e0a0f4efd26..1abd80550c2 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/system/fvSchemes
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/system/fvSchemes
@@ -34,7 +34,7 @@ divSchemes
     div(phi,k)      bounded Gauss upwind;
     div(phi,epsilon) bounded Gauss upwind;
     div(Ji,Ii_h)    bounded Gauss linearUpwind grad(Ii_h);
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0/bottomWater/epsilon b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0/bottomWater/epsilon
index c09d9c59c9b..f8b893353b7 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0/bottomWater/epsilon
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0/bottomWater/epsilon
@@ -34,32 +34,32 @@ boundaryField
     }
     minY
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 0.01;
     }
     minZ
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 0.01;
     }
     maxZ
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 0.01;
     }
     bottomWater_to_rightSolid
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 0.01;
     }
     bottomWater_to_leftSolid
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 0.01;
     }
     bottomWater_to_heater
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 0.01;
     }
 }
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0/bottomWater/k b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0/bottomWater/k
index 556c0d3d9ef..2558d1e2e9d 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0/bottomWater/k
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0/bottomWater/k
@@ -34,32 +34,32 @@ boundaryField
     }
     minY
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0.1;
     }
     minZ
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0.1;
     }
     maxZ
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0.1;
     }
     bottomWater_to_rightSolid
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0.1;
     }
     bottomWater_to_leftSolid
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0.1;
     }
     bottomWater_to_heater
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0.1;
     }
 }
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/Allrun b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/Allrun
index 070546bfcfd..bf6e7f74877 100755
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/Allrun
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/Allrun
@@ -12,7 +12,7 @@ runApplication splitMeshRegions -cellZones -overwrite
 # remove fluid fields from solid regions (important for post-processing)
 for i in heater leftSolid rightSolid
 do
-   rm -f 0*/$i/{mut,alphat,epsilon,k,U,p_rgh}
+   rm -f 0*/$i/{nut,alphat,epsilon,k,U,p_rgh}
 done
 
 
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/bottomWater/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/bottomWater/changeDictionaryDict
index dad0abea12a..63a08c87a1d 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/bottomWater/changeDictionaryDict
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/bottomWater/changeDictionaryDict
@@ -97,7 +97,7 @@ dictionaryReplacement
 
             ".*"
             {
-                type            compressible::epsilonWallFunction;
+                type            epsilonWallFunction;
                 value           uniform 0.01;
             }
         }
@@ -123,7 +123,7 @@ dictionaryReplacement
 
             ".*"
             {
-                type            compressible::kqRWallFunction;
+                type            kqRWallFunction;
                 value           uniform 0.1;
             }
         }
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/bottomWater/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/bottomWater/fvSchemes
index 3051d55b0f4..1278f2856a5 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/bottomWater/fvSchemes
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/bottomWater/fvSchemes
@@ -35,7 +35,7 @@ divSchemes
     div(phi,epsilon) Gauss upwind;
     div(phi,R)      Gauss upwind;
     div(R)          Gauss linear;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/controlDict b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/controlDict
index 77bc57943a2..32b54e823d7 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/controlDict
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/controlDict
@@ -15,12 +15,6 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-libs
-(
-    "libcompressibleTurbulenceModel.so"
-    "libcompressibleRASModels.so"
-);
-
 application     chtMultiRegionFoam;
 
 startFrom       latestTime;
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/topAir/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/topAir/changeDictionaryDict
index fef7666e767..ae6e8d8c8f0 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/topAir/changeDictionaryDict
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/topAir/changeDictionaryDict
@@ -83,7 +83,7 @@ dictionaryReplacement
         {
             ".*"
             {
-                type            compressible::epsilonWallFunction;
+                type            epsilonWallFunction;
                 value           uniform 0.01;
             }
 
@@ -109,7 +109,7 @@ dictionaryReplacement
         {
             ".*"
             {
-                type            compressible::kqRWallFunction;
+                type            kqRWallFunction;
                 value           uniform 0.1;
             }
 
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/Allrun b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/Allrun
index f00ffc59180..1b68a368e41 100755
--- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/Allrun
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/Allrun
@@ -16,7 +16,7 @@ runApplication splitMeshRegions -cellZones -overwrite
 # remove fluid fields from solid regions (important for post-processing)
 for i in heater leftSolid rightSolid
 do
-   rm -f 0*/$i/{mut,alphat,epsilon,k,U,p_rgh}
+   rm -f 0*/$i/{nut,alphat,epsilon,k,U,p_rgh}
 done
 
 
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/bottomAir/RASProperties b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/bottomAir/RASProperties
deleted file mode 100644
index 09a9a55851d..00000000000
--- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/bottomAir/RASProperties
+++ /dev/null
@@ -1,24 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel laminar;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/topAir/RASProperties b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/topAir/RASProperties
deleted file mode 120000
index eaf002d2e96..00000000000
--- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/topAir/RASProperties
+++ /dev/null
@@ -1 +0,0 @@
-../bottomAir/RASProperties
\ No newline at end of file
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/bottomAir/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/bottomAir/changeDictionaryDict
index caff6664586..b7bddf908d9 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/bottomAir/changeDictionaryDict
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/bottomAir/changeDictionaryDict
@@ -74,7 +74,7 @@ dictionaryReplacement
         {
             ".*"
             {
-                type            compressible::epsilonWallFunction;
+                type            epsilonWallFunction;
                 value           uniform 0.01;
             }
         }
@@ -88,7 +88,7 @@ dictionaryReplacement
         {
             ".*"
             {
-                type            compressible::kqRWallFunction;
+                type            kqRWallFunction;
                 value           uniform 0.1;
             }
         }
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/bottomAir/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/bottomAir/fvSchemes
index dca5ba3f8e4..867b0a2e978 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/bottomAir/fvSchemes
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/bottomAir/fvSchemes
@@ -35,7 +35,7 @@ divSchemes
     div(phi,epsilon) Gauss upwind;
     div(phi,R)      Gauss upwind;
     div(R)          Gauss linear;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/topAir/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/topAir/changeDictionaryDict
index fef7666e767..ae6e8d8c8f0 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/topAir/changeDictionaryDict
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/topAir/changeDictionaryDict
@@ -83,7 +83,7 @@ dictionaryReplacement
         {
             ".*"
             {
-                type            compressible::epsilonWallFunction;
+                type            epsilonWallFunction;
                 value           uniform 0.01;
             }
 
@@ -109,7 +109,7 @@ dictionaryReplacement
         {
             ".*"
             {
-                type            compressible::kqRWallFunction;
+                type            kqRWallFunction;
                 value           uniform 0.1;
             }
 
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/0.org/air/alphat b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/0.org/air/alphat
new file mode 100644
index 00000000000..40eeda22be7
--- /dev/null
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/0.org/air/alphat
@@ -0,0 +1,47 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  2.3.x                                 |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    location    "0/air";
+    object      alphat;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -1 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    walls
+    {
+        type            compressible::alphatWallFunction;
+        value           uniform 0;
+    }
+    inlet
+    {
+        type            calculated;
+        value           uniform 0;
+    }
+    outlet
+    {
+        type            calculated;
+        value           uniform 0;
+    }
+    blades
+    {
+        type            compressible::alphatWallFunction;
+        value           uniform 0;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/0.org/air/epsilon b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/0.org/air/epsilon
index 46cfcab3a22..49dcfaa45a1 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/0.org/air/epsilon
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/0.org/air/epsilon
@@ -23,7 +23,7 @@ boundaryField
 {
     walls
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           $internalField;
     }
     inlet
@@ -37,7 +37,7 @@ boundaryField
     }
     blades
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           $internalField;
     }
 }
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/0.org/air/k b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/0.org/air/k
index 6a2ab6f9406..3f0421bdf84 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/0.org/air/k
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/0.org/air/k
@@ -23,7 +23,7 @@ boundaryField
 {
     walls
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           $internalField;
     }
     inlet
@@ -37,7 +37,7 @@ boundaryField
     }
     blades
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           $internalField;
     }
 }
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/0.org/air/nut b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/0.org/air/nut
new file mode 100644
index 00000000000..63b9c797a6d
--- /dev/null
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/0.org/air/nut
@@ -0,0 +1,47 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  2.3.x                                 |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    location    "0/air";
+    object      nut;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 2 -1 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    walls
+    {
+        type            nutkWallFunction;
+        value           uniform 0;
+    }
+    inlet
+    {
+        type            calculated;
+        value           uniform 0;
+    }
+    outlet
+    {
+        type            calculated;
+        value           uniform 0;
+    }
+    blades
+    {
+        type            nutkWallFunction;
+        value           uniform 0;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/constant/air/RASProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/constant/air/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/constant/air/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/constant/air/turbulenceProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/constant/air/turbulenceProperties
index 3721a46a2ea..cd2daf8229b 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/constant/air/turbulenceProperties
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/constant/air/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/constant/porous/RASProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/constant/porous/RASProperties
deleted file mode 100644
index 1cc42b8af81..00000000000
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/constant/porous/RASProperties
+++ /dev/null
@@ -1,24 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel laminar;
-
-turbulence      off;
-
-printCoeffs     off;
-
-
-// ************************************************************************* //
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/system/air/fvSchemes b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/system/air/fvSchemes
index a39397c7c31..52e15c826bb 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/system/air/fvSchemes
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/system/air/fvSchemes
@@ -35,7 +35,7 @@ divSchemes
     div(phi,K)      bounded Gauss upwind;
     div(phi,k)      bounded Gauss upwind;
     div(phi,epsilon) bounded Gauss upwind;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/system/porous/fvSchemes b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/system/porous/fvSchemes
index f787aa1bb47..27a33bf7c41 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/system/porous/fvSchemes
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/system/porous/fvSchemes
@@ -34,7 +34,7 @@ divSchemes
     div(phi,K)      bounded Gauss upwind;
     div(phi,k)      bounded Gauss upwind;
     div(phi,epsilon) bounded Gauss upwind;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/Allrun.pre b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/Allrun.pre
index 6590684a5aa..9ce6c565d54 100755
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/Allrun.pre
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/Allrun.pre
@@ -12,7 +12,7 @@ runApplication splitMeshRegions -cellZones -overwrite
 # remove fluid fields from solid regions (important for post-processing)
 for i in heater leftSolid rightSolid
 do
-   rm -f 0*/$i/{rho,mut,alphat,epsilon,k,U,p_rgh,Qr,G,IDefault}
+   rm -f 0*/$i/{rho,nut,alphat,epsilon,k,U,p_rgh,Qr,G,IDefault}
 done
 
 for i in bottomAir topAir heater leftSolid rightSolid
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/bottomAir/RASProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/bottomAir/RASProperties
deleted file mode 100644
index c6886ad2826..00000000000
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/bottomAir/RASProperties
+++ /dev/null
@@ -1,24 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        laminar;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/topAir/RASProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/topAir/RASProperties
deleted file mode 120000
index eaf002d2e96..00000000000
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/topAir/RASProperties
+++ /dev/null
@@ -1 +0,0 @@
-../bottomAir/RASProperties
\ No newline at end of file
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/bottomAir/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/bottomAir/changeDictionaryDict
index b115024cc77..c583021fa3c 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/bottomAir/changeDictionaryDict
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/bottomAir/changeDictionaryDict
@@ -71,7 +71,7 @@ dictionaryReplacement
         {
             ".*"
             {
-                type            compressible::epsilonWallFunction;
+                type            epsilonWallFunction;
                 value           uniform 0.01;
             }
         }
@@ -84,7 +84,7 @@ dictionaryReplacement
         {
             ".*"
             {
-                type            compressible::kqRWallFunction;
+                type            kqRWallFunction;
                 value           uniform 0.1;
             }
         }
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/bottomAir/fvSchemes b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/bottomAir/fvSchemes
index 127c9c965f0..f761dabb4a9 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/bottomAir/fvSchemes
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/bottomAir/fvSchemes
@@ -37,7 +37,7 @@ divSchemes
     div(phi,R)      bounded Gauss upwind;
     div(R)          Gauss linear;
     div(Ji,Ii_h)    Gauss linearUpwind grad(U);
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/topAir/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/topAir/changeDictionaryDict
index e6294637398..68f73839a2d 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/topAir/changeDictionaryDict
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/topAir/changeDictionaryDict
@@ -82,7 +82,7 @@ dictionaryReplacement
         {
             ".*"
             {
-                type            compressible::epsilonWallFunction;
+                type            epsilonWallFunction;
                 value           uniform 0.01;
             }
 
@@ -107,7 +107,7 @@ dictionaryReplacement
         {
             ".*"
             {
-                type            compressible::kqRWallFunction;
+                type            kqRWallFunction;
                 value           uniform 0.1;
             }
 
diff --git a/tutorials/incompressible/SRFPimpleFoam/rotor2D/constant/RASProperties b/tutorials/incompressible/SRFPimpleFoam/rotor2D/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/incompressible/SRFPimpleFoam/rotor2D/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/SRFPimpleFoam/rotor2D/constant/polyMesh/boundary b/tutorials/incompressible/SRFPimpleFoam/rotor2D/constant/polyMesh/boundary
index 0ffa7ce34e9..921d19779b8 100644
--- a/tutorials/incompressible/SRFPimpleFoam/rotor2D/constant/polyMesh/boundary
+++ b/tutorials/incompressible/SRFPimpleFoam/rotor2D/constant/polyMesh/boundary
@@ -20,6 +20,7 @@ FoamFile
     rotor
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          144;
         startFace       5640;
     }
@@ -32,12 +33,14 @@ FoamFile
     front
     {
         type            empty;
+        inGroups        1(empty);
         nFaces          2880;
         startFace       5880;
     }
     back
     {
         type            empty;
+        inGroups        1(empty);
         nFaces          2880;
         startFace       8760;
     }
diff --git a/tutorials/incompressible/SRFPimpleFoam/rotor2D/constant/turbulenceProperties b/tutorials/incompressible/SRFPimpleFoam/rotor2D/constant/turbulenceProperties
index e7fa28c74a5..381b548effb 100644
--- a/tutorials/incompressible/SRFPimpleFoam/rotor2D/constant/turbulenceProperties
+++ b/tutorials/incompressible/SRFPimpleFoam/rotor2D/constant/turbulenceProperties
@@ -15,6 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType RASModel;
+simulationType RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
+
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/SRFPimpleFoam/rotor2D/system/fvSchemes b/tutorials/incompressible/SRFPimpleFoam/rotor2D/system/fvSchemes
index d9300091381..4a2232f7315 100644
--- a/tutorials/incompressible/SRFPimpleFoam/rotor2D/system/fvSchemes
+++ b/tutorials/incompressible/SRFPimpleFoam/rotor2D/system/fvSchemes
@@ -31,7 +31,7 @@ divSchemes
     div(phi,Urel)   Gauss limitedLinearV 1;
     div(phi,k)      Gauss limitedLinear 1;
     div(phi,epsilon) Gauss limitedLinear 1;
-    div((nuEff*dev(T(grad(Urel))))) Gauss linear;
+    div((nuEff*dev2(T(grad(Urel))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/incompressible/SRFSimpleFoam/mixer/constant/RASProperties b/tutorials/incompressible/SRFSimpleFoam/mixer/constant/RASProperties
deleted file mode 100644
index e0e6b776a27..00000000000
--- a/tutorials/incompressible/SRFSimpleFoam/mixer/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kOmegaSST;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/SRFSimpleFoam/mixer/constant/turbulenceProperties b/tutorials/incompressible/SRFSimpleFoam/mixer/constant/turbulenceProperties
new file mode 100644
index 00000000000..85d399a1ec6
--- /dev/null
+++ b/tutorials/incompressible/SRFSimpleFoam/mixer/constant/turbulenceProperties
@@ -0,0 +1,28 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+RAS
+{
+    RASModel        kOmegaSST;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/SRFSimpleFoam/mixer/system/fvSchemes b/tutorials/incompressible/SRFSimpleFoam/mixer/system/fvSchemes
index c6d44d3c2e7..e5ff26a907d 100644
--- a/tutorials/incompressible/SRFSimpleFoam/mixer/system/fvSchemes
+++ b/tutorials/incompressible/SRFSimpleFoam/mixer/system/fvSchemes
@@ -35,7 +35,7 @@ divSchemes
     div(phi,R)      bounded Gauss upwind;
     div(R)          Gauss linear;
     div(phi,nuTilda) bounded Gauss upwind;
-    div((nuEff*dev(T(grad(Urel))))) Gauss linear;
+    div((nuEff*dev2(T(grad(Urel))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/incompressible/SRFSimpleFoam/mixer/turbulenceProperties b/tutorials/incompressible/SRFSimpleFoam/mixer/turbulenceProperties
new file mode 100644
index 00000000000..85d399a1ec6
--- /dev/null
+++ b/tutorials/incompressible/SRFSimpleFoam/mixer/turbulenceProperties
@@ -0,0 +1,28 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+RAS
+{
+    RASModel        kOmegaSST;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/adjointShapeOptimizationFoam/pitzDaily/constant/RASProperties b/tutorials/incompressible/adjointShapeOptimizationFoam/pitzDaily/constant/RASProperties
deleted file mode 100644
index aed2ebec562..00000000000
--- a/tutorials/incompressible/adjointShapeOptimizationFoam/pitzDaily/constant/RASProperties
+++ /dev/null
@@ -1,24 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-// ************************************************************************* //
diff --git a/tutorials/combustion/engineFoam/kivaTest/constant/RASProperties b/tutorials/incompressible/adjointShapeOptimizationFoam/pitzDaily/constant/turbulenceProperties
similarity index 90%
rename from tutorials/combustion/engineFoam/kivaTest/constant/RASProperties
rename to tutorials/incompressible/adjointShapeOptimizationFoam/pitzDaily/constant/turbulenceProperties
index a4937b503a4..15d9319a448 100644
--- a/tutorials/combustion/engineFoam/kivaTest/constant/RASProperties
+++ b/tutorials/incompressible/adjointShapeOptimizationFoam/pitzDaily/constant/turbulenceProperties
@@ -15,11 +15,14 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-RASModel        kEpsilon;
+RAS
+{
+    RASModel        kEpsilon;
 
-turbulence      on;
+    turbulence      on;
 
-printCoeffs     on;
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/adjointShapeOptimizationFoam/pitzDaily/system/fvSchemes b/tutorials/incompressible/adjointShapeOptimizationFoam/pitzDaily/system/fvSchemes
index de12e1d3a84..06b08169dbd 100644
--- a/tutorials/incompressible/adjointShapeOptimizationFoam/pitzDaily/system/fvSchemes
+++ b/tutorials/incompressible/adjointShapeOptimizationFoam/pitzDaily/system/fvSchemes
@@ -32,10 +32,10 @@ divSchemes
     div(phi,U)      bounded Gauss upwind;
     div(phi,k)      bounded Gauss upwind;
     div(phi,epsilon) bounded Gauss upwind;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 
     div(-phi,Ua)    bounded Gauss upwind;
-    div((nuEff*dev(T(grad(Ua))))) Gauss linear;
+    div((nuEff*dev2(T(grad(Ua))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/RASProperties b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/RASProperties
deleted file mode 100644
index 34805a0b264..00000000000
--- a/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        LaunderSharmaKE;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/turbulenceProperties b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/turbulenceProperties
new file mode 100644
index 00000000000..8e24a9035ab
--- /dev/null
+++ b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/turbulenceProperties
@@ -0,0 +1,28 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+RAS
+{
+    RASModel        LaunderSharmaKE;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/fvSchemes b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/fvSchemes
index 815e2582005..0fd54ce506d 100644
--- a/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/fvSchemes
+++ b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/fvSchemes
@@ -32,7 +32,7 @@ divSchemes
     div(phi,epsilon) bounded Gauss linear;
     div(phi,R)      bounded Gauss linear;
     div(phi,nuTilda) bounded Gauss linear;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/RASProperties b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/turbulenceProperties b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/turbulenceProperties
new file mode 100644
index 00000000000..59a2e7e2073
--- /dev/null
+++ b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/turbulenceProperties
@@ -0,0 +1,28 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/fvSchemes b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/fvSchemes
index 815e2582005..0fd54ce506d 100644
--- a/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/fvSchemes
+++ b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/fvSchemes
@@ -32,7 +32,7 @@ divSchemes
     div(phi,epsilon) bounded Gauss linear;
     div(phi,R)      bounded Gauss linear;
     div(phi,nuTilda) bounded Gauss linear;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile/constant/RASProperties b/tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile/constant/RASProperties
deleted file mode 100644
index b74bfe5738c..00000000000
--- a/tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon; // SpalartAllmaras;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile/constant/turbulenceProperties b/tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile/constant/turbulenceProperties
new file mode 100644
index 00000000000..59a2e7e2073
--- /dev/null
+++ b/tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile/constant/turbulenceProperties
@@ -0,0 +1,28 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile/system/fvSchemes b/tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile/system/fvSchemes
index ce1e571bfbd..36dca60f67c 100644
--- a/tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile/system/fvSchemes
+++ b/tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile/system/fvSchemes
@@ -33,7 +33,7 @@ divSchemes
     div(phi,omega)  bounded Gauss linear;
     div(phi,R)      bounded Gauss linear;
     div(phi,nuTilda) bounded Gauss linear;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/incompressible/pimpleDyMFoam/mixerVesselAMI2D/constant/RASProperties b/tutorials/incompressible/pimpleDyMFoam/mixerVesselAMI2D/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/incompressible/pimpleDyMFoam/mixerVesselAMI2D/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleDyMFoam/mixerVesselAMI2D/system/fvSchemes b/tutorials/incompressible/pimpleDyMFoam/mixerVesselAMI2D/system/fvSchemes
index 83902138b48..44da6880a95 100644
--- a/tutorials/incompressible/pimpleDyMFoam/mixerVesselAMI2D/system/fvSchemes
+++ b/tutorials/incompressible/pimpleDyMFoam/mixerVesselAMI2D/system/fvSchemes
@@ -31,7 +31,7 @@ divSchemes
 {
     default         none;
     div(phi,U)      Gauss linearUpwind grad(U);
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/incompressible/pimpleDyMFoam/movingCone/system/fvSchemes b/tutorials/incompressible/pimpleDyMFoam/movingCone/system/fvSchemes
index b7e6607f899..51be17c90c8 100644
--- a/tutorials/incompressible/pimpleDyMFoam/movingCone/system/fvSchemes
+++ b/tutorials/incompressible/pimpleDyMFoam/movingCone/system/fvSchemes
@@ -29,7 +29,7 @@ divSchemes
 {
     default         none;
     div(phi,U)      Gauss linear;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/0/nuSgs b/tutorials/incompressible/pimpleDyMFoam/oscillatingInletACMI2D/0.org/nut
similarity index 61%
rename from tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/0/nuSgs
rename to tutorials/incompressible/pimpleDyMFoam/oscillatingInletACMI2D/0.org/nut
index 77f51f79803..55d04b4210b 100644
--- a/tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/0/nuSgs
+++ b/tutorials/incompressible/pimpleDyMFoam/oscillatingInletACMI2D/0.org/nut
@@ -10,7 +10,8 @@ FoamFile
     version     2.0;
     format      ascii;
     class       volScalarField;
-    object      nuSgs;
+    location    "0";
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -23,25 +24,44 @@ boundaryField
     inlet
     {
         type            fixedValue;
-        value           uniform 0;
+        value           $internalField;
     }
-
     outlet
     {
         type            inletOutlet;
-        inletValue      uniform 0;
-        value           uniform 0;
+        inletValue      $internalField;
+        value           $internalField;
     }
-
     walls
     {
-        type            zeroGradient;
+        type            nutkWallFunction;
+        value           $internalField;
     }
-
     defaultFaces
     {
         type            empty;
     }
+    ACMI1_blockage
+    {
+        type            nutkWallFunction;
+        value           $internalField;
+    }
+    ACMI1_couple
+    {
+        type            cyclicACMI;
+        value           $internalField;
+    }
+    ACMI2_blockage
+    {
+        type            nutkWallFunction;
+        value           $internalField;
+    }
+    ACMI2_couple
+    {
+        type            cyclicACMI;
+        value           $internalField;
+    }
 }
 
+
 // ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleDyMFoam/oscillatingInletACMI2D/constant/RASProperties b/tutorials/incompressible/pimpleDyMFoam/oscillatingInletACMI2D/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/incompressible/pimpleDyMFoam/oscillatingInletACMI2D/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleDyMFoam/oscillatingInletACMI2D/constant/turbulenceProperties b/tutorials/incompressible/pimpleDyMFoam/oscillatingInletACMI2D/constant/turbulenceProperties
index 3721a46a2ea..cd2daf8229b 100644
--- a/tutorials/incompressible/pimpleDyMFoam/oscillatingInletACMI2D/constant/turbulenceProperties
+++ b/tutorials/incompressible/pimpleDyMFoam/oscillatingInletACMI2D/constant/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleDyMFoam/oscillatingInletACMI2D/system/fvSchemes b/tutorials/incompressible/pimpleDyMFoam/oscillatingInletACMI2D/system/fvSchemes
index b6ae74a4e93..f65b5bf3979 100644
--- a/tutorials/incompressible/pimpleDyMFoam/oscillatingInletACMI2D/system/fvSchemes
+++ b/tutorials/incompressible/pimpleDyMFoam/oscillatingInletACMI2D/system/fvSchemes
@@ -34,7 +34,7 @@ divSchemes
     div(phi,U)      Gauss linearUpwind grad(U);
     div(phi,k)      Gauss upwind;
     div(phi,epsilon) Gauss upwind;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/incompressible/pimpleDyMFoam/propeller/constant/RASProperties b/tutorials/incompressible/pimpleDyMFoam/propeller/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/incompressible/pimpleDyMFoam/propeller/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleDyMFoam/propeller/constant/turbulenceProperties b/tutorials/incompressible/pimpleDyMFoam/propeller/constant/turbulenceProperties
index 3721a46a2ea..cd2daf8229b 100644
--- a/tutorials/incompressible/pimpleDyMFoam/propeller/constant/turbulenceProperties
+++ b/tutorials/incompressible/pimpleDyMFoam/propeller/constant/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleDyMFoam/propeller/system/controlDict b/tutorials/incompressible/pimpleDyMFoam/propeller/system/controlDict
index 264b5c1c1b0..57b261e4803 100644
--- a/tutorials/incompressible/pimpleDyMFoam/propeller/system/controlDict
+++ b/tutorials/incompressible/pimpleDyMFoam/propeller/system/controlDict
@@ -15,12 +15,6 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-libs
-(
-    "libincompressibleTurbulenceModel.so"
-    "libincompressibleRASModels.so"
-);
-
 application     pimpleDyMFoam;
 
 startFrom       startTime;
diff --git a/tutorials/incompressible/pimpleDyMFoam/propeller/system/fvSchemes b/tutorials/incompressible/pimpleDyMFoam/propeller/system/fvSchemes
index b6ae74a4e93..f65b5bf3979 100644
--- a/tutorials/incompressible/pimpleDyMFoam/propeller/system/fvSchemes
+++ b/tutorials/incompressible/pimpleDyMFoam/propeller/system/fvSchemes
@@ -34,7 +34,7 @@ divSchemes
     div(phi,U)      Gauss linearUpwind grad(U);
     div(phi,k)      Gauss upwind;
     div(phi,epsilon) Gauss upwind;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_pimpleDyMFoam/constant/RASProperties b/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_pimpleDyMFoam/constant/RASProperties
deleted file mode 100644
index e0e6b776a27..00000000000
--- a/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_pimpleDyMFoam/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kOmegaSST;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_pimpleDyMFoam/constant/turbulenceProperties b/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_pimpleDyMFoam/constant/turbulenceProperties
index 3721a46a2ea..02fa2df1b93 100644
--- a/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_pimpleDyMFoam/constant/turbulenceProperties
+++ b/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_pimpleDyMFoam/constant/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kOmegaSST;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_pimpleDyMFoam/system/fvSchemes b/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_pimpleDyMFoam/system/fvSchemes
index 5f991022850..82d5997ca48 100644
--- a/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_pimpleDyMFoam/system/fvSchemes
+++ b/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_pimpleDyMFoam/system/fvSchemes
@@ -32,7 +32,7 @@ divSchemes
     div(phi,U)      Gauss linearUpwind grad(U);
     div(phi,k)      Gauss limitedLinear 1;
     div(phi,omega)  Gauss limitedLinear 1;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_simpleFoam/constant/RASProperties b/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_simpleFoam/constant/RASProperties
deleted file mode 100644
index e0e6b776a27..00000000000
--- a/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_simpleFoam/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kOmegaSST;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_simpleFoam/constant/turbulenceProperties b/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_simpleFoam/constant/turbulenceProperties
new file mode 100644
index 00000000000..af8a54be232
--- /dev/null
+++ b/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_simpleFoam/constant/turbulenceProperties
@@ -0,0 +1,27 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+RAS
+{
+    RASModel        kOmegaSST;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_simpleFoam/system/fvSchemes b/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_simpleFoam/system/fvSchemes
index 370aa5a6649..da2c979ea8d 100644
--- a/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_simpleFoam/system/fvSchemes
+++ b/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_simpleFoam/system/fvSchemes
@@ -32,7 +32,7 @@ divSchemes
     div(phi,U)      bounded Gauss linearUpwind grad(U);
     div(phi,k)      bounded Gauss upwind;
     div(phi,omega)  bounded Gauss upwind;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion_snappyHexMesh/system/fvSchemes b/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion_snappyHexMesh/system/fvSchemes
index 14f066ebe92..f8bab393c97 100644
--- a/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion_snappyHexMesh/system/fvSchemes
+++ b/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion_snappyHexMesh/system/fvSchemes
@@ -36,7 +36,7 @@ divSchemes
     div(phid,p)     Gauss limitedLinear 1;
     div(phi,K)      Gauss limitedLinear 1;
     div(phi,e)      Gauss limitedLinear 1;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/incompressible/pimpleFoam/TJunction/constant/RASProperties b/tutorials/incompressible/pimpleFoam/TJunction/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/incompressible/pimpleFoam/TJunction/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/TJunction/constant/turbulenceProperties b/tutorials/incompressible/pimpleFoam/TJunction/constant/turbulenceProperties
index e7fa28c74a5..381b548effb 100644
--- a/tutorials/incompressible/pimpleFoam/TJunction/constant/turbulenceProperties
+++ b/tutorials/incompressible/pimpleFoam/TJunction/constant/turbulenceProperties
@@ -15,6 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType RASModel;
+simulationType RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
+
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/TJunction/system/controlDict b/tutorials/incompressible/pimpleFoam/TJunction/system/controlDict
index e351883188c..8495249e240 100644
--- a/tutorials/incompressible/pimpleFoam/TJunction/system/controlDict
+++ b/tutorials/incompressible/pimpleFoam/TJunction/system/controlDict
@@ -15,13 +15,6 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-libs
-(
-    "libOpenFOAM.so"
-    "libincompressibleTurbulenceModel.so"
-    "libincompressibleRASModels.so"
-);
-
 application     pimpleFoam;
 
 startFrom       startTime;
diff --git a/tutorials/incompressible/pimpleFoam/TJunction/system/fvSchemes b/tutorials/incompressible/pimpleFoam/TJunction/system/fvSchemes
index a59b75bee93..ff07884de81 100644
--- a/tutorials/incompressible/pimpleFoam/TJunction/system/fvSchemes
+++ b/tutorials/incompressible/pimpleFoam/TJunction/system/fvSchemes
@@ -34,7 +34,7 @@ divSchemes
     div(phi,R)      Gauss limitedLinear 1;
     div(R)          Gauss linear;
     div(phi,nuTilda) Gauss limitedLinear 1;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/incompressible/pimpleFoam/TJunctionFan/constant/RASProperties b/tutorials/incompressible/pimpleFoam/TJunctionFan/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/incompressible/pimpleFoam/TJunctionFan/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/TJunctionFan/constant/turbulenceProperties b/tutorials/incompressible/pimpleFoam/TJunctionFan/constant/turbulenceProperties
index e7fa28c74a5..381b548effb 100644
--- a/tutorials/incompressible/pimpleFoam/TJunctionFan/constant/turbulenceProperties
+++ b/tutorials/incompressible/pimpleFoam/TJunctionFan/constant/turbulenceProperties
@@ -15,6 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType RASModel;
+simulationType RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
+
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/TJunctionFan/system/controlDict b/tutorials/incompressible/pimpleFoam/TJunctionFan/system/controlDict
index 0cbeb15c6b5..929e6a5039c 100644
--- a/tutorials/incompressible/pimpleFoam/TJunctionFan/system/controlDict
+++ b/tutorials/incompressible/pimpleFoam/TJunctionFan/system/controlDict
@@ -48,12 +48,6 @@ adjustTimeStep  yes;
 
 maxCo           3;
 
-libs
-(
-    "libOpenFOAM.so"
-    "libincompressibleTurbulenceModel.so"
-    "libincompressibleRASModels.so"
-);
 
 functions
 {
diff --git a/tutorials/incompressible/pimpleFoam/TJunctionFan/system/fvSchemes b/tutorials/incompressible/pimpleFoam/TJunctionFan/system/fvSchemes
index a59b75bee93..ff07884de81 100644
--- a/tutorials/incompressible/pimpleFoam/TJunctionFan/system/fvSchemes
+++ b/tutorials/incompressible/pimpleFoam/TJunctionFan/system/fvSchemes
@@ -34,7 +34,7 @@ divSchemes
     div(phi,R)      Gauss limitedLinear 1;
     div(R)          Gauss linear;
     div(phi,nuTilda) Gauss limitedLinear 1;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/incompressible/pimpleFoam/channel395/0.org/nuSgs b/tutorials/incompressible/pimpleFoam/channel395/0.org/nut
similarity index 98%
rename from tutorials/incompressible/pimpleFoam/channel395/0.org/nuSgs
rename to tutorials/incompressible/pimpleFoam/channel395/0.org/nut
index b4ba303bf75..df3efc1518b 100644
--- a/tutorials/incompressible/pimpleFoam/channel395/0.org/nuSgs
+++ b/tutorials/incompressible/pimpleFoam/channel395/0.org/nut
@@ -11,7 +11,7 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "1";
-    object      nuSgs;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/tutorials/incompressible/pimpleFoam/channel395/0/nuSgs.gz b/tutorials/incompressible/pimpleFoam/channel395/0/nuSgs.gz
deleted file mode 100644
index 7c05e74de9f71cf1d5853ab5496bae46aa9d785d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 208201
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
byZZzK=cV8NKS}5OOYzi;li!|x!NmXo0m{qF

diff --git a/tutorials/incompressible/pimpleFoam/channel395/Allrun b/tutorials/incompressible/pimpleFoam/channel395/Allrun
index 436a3b7ae5e..a94c6e72a3b 100755
--- a/tutorials/incompressible/pimpleFoam/channel395/Allrun
+++ b/tutorials/incompressible/pimpleFoam/channel395/Allrun
@@ -14,7 +14,7 @@ runApplication blockMesh
 
 #- Run parallel
 runApplication decomposePar -cellDist
-runParallel $application 5
+runParallel $application 4
 runApplication reconstructPar
 
 runApplication postChannel
diff --git a/tutorials/incompressible/pimpleFoam/channel395/constant/LESProperties b/tutorials/incompressible/pimpleFoam/channel395/constant/LESProperties
deleted file mode 100644
index af3a82dbea0..00000000000
--- a/tutorials/incompressible/pimpleFoam/channel395/constant/LESProperties
+++ /dev/null
@@ -1,86 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      LESProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-LESModel        oneEqEddy;
-
-printCoeffs     on;
-
-delta           vanDriest;
-
-cubeRootVolCoeffs
-{
-    deltaCoeff      1;
-}
-
-PrandtlCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-
-        maxDeltaRatio   1.1;
-    }
-
-    Cdelta          0.158;
-}
-
-vanDriestCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-
-        maxDeltaRatio   1.1;
-    }
-
-    Aplus           26;
-    Cdelta          0.158;
-}
-
-smoothCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    maxDeltaRatio   1.1;
-}
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/channel395/constant/turbulenceProperties b/tutorials/incompressible/pimpleFoam/channel395/constant/turbulenceProperties
index 2d60fc8bf13..b04390b6e24 100644
--- a/tutorials/incompressible/pimpleFoam/channel395/constant/turbulenceProperties
+++ b/tutorials/incompressible/pimpleFoam/channel395/constant/turbulenceProperties
@@ -15,6 +15,79 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType LESModel;
+simulationType LES;
+
+LES
+{
+    LESModel        SpalartAllmarasDDES; //kEqn;
+
+    turbulence      on;
+
+    printCoeffs     on;
+
+    delta           vanDriest;
+
+    cubeRootVolCoeffs
+    {
+        deltaCoeff      1;
+    }
+
+    PrandtlCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        smoothCoeffs
+        {
+            delta           cubeRootVol;
+            cubeRootVolCoeffs
+            {
+                deltaCoeff      1;
+            }
+
+            maxDeltaRatio   1.1;
+        }
+
+        Cdelta          0.158;
+    }
+
+    vanDriestCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        smoothCoeffs
+        {
+            delta           cubeRootVol;
+            cubeRootVolCoeffs
+            {
+                deltaCoeff      1;
+            }
+
+            maxDeltaRatio   1.1;
+        }
+
+        Aplus           26;
+        Cdelta          0.158;
+    }
+
+    smoothCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        maxDeltaRatio   1.1;
+    }
+}
+
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/channel395/system/decomposeParDict b/tutorials/incompressible/pimpleFoam/channel395/system/decomposeParDict
index 9f0365f2de4..d4b2c3d0ab9 100644
--- a/tutorials/incompressible/pimpleFoam/channel395/system/decomposeParDict
+++ b/tutorials/incompressible/pimpleFoam/channel395/system/decomposeParDict
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-numberOfSubdomains  5;
+numberOfSubdomains  4;
 
 //- Keep owner and neighbour on same processor for faces in zones:
 // preserveFaceZones (heater solid1 solid3);
@@ -38,9 +38,9 @@ numberOfSubdomains  5;
 //  for a balanced number of particles in a lagrangian simulation.
 // weightField dsmcRhoNMean;
 
-method          scotch;
-//method          hierarchical;
-// method          simple;
+// method          scotch;
+// method          hierarchical;
+method          simple;
 // method          metis;
 // method          manual;
 // method          multiLevel;
@@ -73,7 +73,7 @@ multiLevelCoeffs
 
 simpleCoeffs
 {
-    n           (2 1 1);
+    n           (1 2 2);
     delta       0.001;
 }
 
diff --git a/tutorials/incompressible/pimpleFoam/channel395/system/fvSchemes b/tutorials/incompressible/pimpleFoam/channel395/system/fvSchemes
index 6d5ef5ab979..8973a7c1c4c 100644
--- a/tutorials/incompressible/pimpleFoam/channel395/system/fvSchemes
+++ b/tutorials/incompressible/pimpleFoam/channel395/system/fvSchemes
@@ -33,7 +33,7 @@ divSchemes
     div(phi,B)      Gauss limitedLinear 1;
     div(B)          Gauss linear;
     div(phi,nuTilda) Gauss limitedLinear 1;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
@@ -57,5 +57,10 @@ fluxRequired
     p               ;
 }
 
+wallDist
+{
+    method meshWave;
+}
+
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/channel395/system/fvSolution b/tutorials/incompressible/pimpleFoam/channel395/system/fvSolution
index 3beda0be2d6..b3abd8eafb3 100644
--- a/tutorials/incompressible/pimpleFoam/channel395/system/fvSolution
+++ b/tutorials/incompressible/pimpleFoam/channel395/system/fvSolution
@@ -39,7 +39,7 @@ solvers
         relTol          0;
     }
 
-    "(U|k)"
+    "(U|k|nuTilda)"
     {
         solver          smoothSolver;
         smoother        symGaussSeidel;
@@ -47,7 +47,7 @@ solvers
         relTol          0.1;
     }
 
-    "(U|k)Final"
+    "(U|k|nuTilda)Final"
     {
         $U;
         tolerance       1e-05;
diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/constant/RASProperties b/tutorials/incompressible/pimpleFoam/elipsekkLOmega/constant/RASProperties
deleted file mode 100644
index 88b1e501ac6..00000000000
--- a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kkLOmega;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/constant/turbulenceProperties b/tutorials/incompressible/pimpleFoam/elipsekkLOmega/constant/turbulenceProperties
index e7fa28c74a5..d6c0926546d 100644
--- a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/constant/turbulenceProperties
+++ b/tutorials/incompressible/pimpleFoam/elipsekkLOmega/constant/turbulenceProperties
@@ -15,6 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType RASModel;
+simulationType RAS;
+
+RAS
+{
+    RASModel        kkLOmega;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
+
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/fvSchemes b/tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/fvSchemes
index ea3c1491e16..0adb7755519 100644
--- a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/fvSchemes
+++ b/tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/fvSchemes
@@ -37,7 +37,7 @@ divSchemes
     div(phi,R)      Gauss limitedLinear 1;
     div(R)          Gauss linear;
     div(phi,nuTilda) Gauss limitedLinear 1;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/incompressible/pimpleFoam/pitzDaily/constant/RASProperties b/tutorials/incompressible/pimpleFoam/pitzDaily/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/incompressible/pimpleFoam/pitzDaily/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/pitzDaily/constant/polyMesh/boundary b/tutorials/incompressible/pimpleFoam/pitzDaily/constant/polyMesh/boundary
index 43b78ef4111..581ceffc709 100644
--- a/tutorials/incompressible/pimpleFoam/pitzDaily/constant/polyMesh/boundary
+++ b/tutorials/incompressible/pimpleFoam/pitzDaily/constant/polyMesh/boundary
@@ -32,12 +32,14 @@ FoamFile
     upperWall
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          223;
         startFace       24257;
     }
     lowerWall
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          250;
         startFace       24480;
     }
diff --git a/tutorials/incompressible/pimpleFoam/pitzDaily/constant/turbulenceProperties b/tutorials/incompressible/pimpleFoam/pitzDaily/constant/turbulenceProperties
index e7fa28c74a5..d5016f6d22b 100644
--- a/tutorials/incompressible/pimpleFoam/pitzDaily/constant/turbulenceProperties
+++ b/tutorials/incompressible/pimpleFoam/pitzDaily/constant/turbulenceProperties
@@ -15,6 +15,15 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType RASModel;
+simulationType RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/pitzDaily/system/fvSchemes b/tutorials/incompressible/pimpleFoam/pitzDaily/system/fvSchemes
index 926d489aae5..e72eaed33ac 100644
--- a/tutorials/incompressible/pimpleFoam/pitzDaily/system/fvSchemes
+++ b/tutorials/incompressible/pimpleFoam/pitzDaily/system/fvSchemes
@@ -36,7 +36,7 @@ divSchemes
     div(phi,R)      bounded Gauss upwind;
     div(R)          Gauss linear;
     div(phi,nuTilda) bounded Gauss upwind;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/Allrun b/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/Allrun
index 4cbfb18b0e1..769a0e506ba 100755
--- a/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/Allrun
+++ b/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/Allrun
@@ -3,20 +3,14 @@
 # Source tutorial run functions
 . $WM_PROJECT_DIR/bin/tools/RunFunctions
 
-
 # Set-up the LES case
 cp ../lesFiles/fvS* ../lesFiles/controlDict system/
-cp ../lesFiles/LESProperties ../lesFiles/turbulenceProperties constant/
+cp ../lesFiles/turbulenceProperties constant/
 
 ls -d processor* | xargs -i rm -rf ./{}/0 $1
 ls -d processor* | xargs -i mv ./{}/500 ./{}/0 $1
 ls -d processor* | xargs -i rm -rf ./{}/0/uniform $1
 
-ls -d processor* | xargs -i cp ../lesFiles/LESProperties ./{}/constant/ $1
-ls -d processor* | xargs -i cp ../lesFiles/turbulenceProperties ./{}/constant/ $1
-ls -d processor* | xargs -i cp ../lesFiles/nuSgs ./{}/0/ $1
-
-
 runParallel pisoFoam 8
 
 runApplication reconstructParMesh -constant -mergeTol 1e-6
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/LESProperties b/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/LESProperties
deleted file mode 100644
index 197e16d1261..00000000000
--- a/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/LESProperties
+++ /dev/null
@@ -1,79 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      LESProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-LESModel            SpalartAllmarasDDES;
-
-delta               cubeRootVol;
-
-printCoeffs         on;
-
-cubeRootVolCoeffs
-{
-    deltaCoeff      1;
-}
-
-PrandtlCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-        maxDeltaRatio   1.1;
-    }
-    Cdelta           0.158;
-}
-
-vanDriestCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-        maxDeltaRatio   1.1;
-    }
-    Aplus            26;
-    Cdelta           0.158;
-}
-
-smoothCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-    maxDeltaRatio   1.1;
-}
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/fvSchemes b/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/fvSchemes
index 3972a7e7887..2c7ad38af54 100644
--- a/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/fvSchemes
+++ b/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/fvSchemes
@@ -36,11 +36,10 @@ divSchemes
     default         none;
 
     div(phi,U)      Gauss LUST unlimitedGrad(U);
-    //div(phi,U)      Gauss linearUpwind unlimitedGrad(U);
     div(phi,k)      Gauss limitedLinear 1;
     div(phi,nuTilda) Gauss limitedLinear 1;
 
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/fvSolution b/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/fvSolution
index 19904d0a378..ea00426f610 100644
--- a/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/fvSolution
+++ b/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/fvSolution
@@ -20,7 +20,7 @@ solvers
     {
         solver          GAMG;
         tolerance       1e-6;
-        relTol          0.1;
+        relTol          0.05;
 
         smoother        GaussSeidel;
         nPreSweeps      0;
@@ -28,7 +28,7 @@ solvers
 
         cacheAgglomeration true;
 
-        nCellsInCoarsestLevel 50;//10;
+        nCellsInCoarsestLevel 50;
         agglomerator    faceAreaPair;
         mergeLevels     1;
     };
@@ -36,23 +36,22 @@ solvers
     pFinal
     {
         $p;
-        tolerance       1e-6;
         relTol          0;
     };
 
     "(U|k|B|nuTilda)"
     {
         solver          smoothSolver;
-        smoother        GaussSeidel;
-        tolerance       1e-07;
+        smoother        symGaussSeidel;
+        tolerance       1e-7;
         relTol          0;
     };
 }
 
 PISO
 {
-    nCorrectors     2;
-    nNonOrthogonalCorrectors 1;
+    nCorrectors     3;
+    nNonOrthogonalCorrectors 0;
 }
 
 relaxationFactors
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/nuSgs b/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/nuSgs
deleted file mode 100644
index bcc0d11042c..00000000000
--- a/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/nuSgs
+++ /dev/null
@@ -1,69 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       volScalarField;
-    object      nuSgs;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-dimensions      [0 2 -1 0 0 0 0];
-
-internalField   uniform 0.0544766;
-
-boundaryField
-{
-    inlet
-    {
-        type            fixedValue;
-        value           uniform 0.0544766;
-    }
-
-    outlet
-    {
-        type            inletOutlet;
-        inletValue      uniform 0.0544766;
-        value           uniform 0.0544766;
-    }
-
-    front
-    {
-        type           symmetryPlane;
-    }
-
-    back
-    {
-        type           symmetryPlane;
-    }
-
-    lowerWall
-    {
-        type            nutUSpaldingWallFunction;
-        value           uniform 0.0544766;
-    }
-
-    upperWall
-    {
-        type           symmetryPlane;
-    }
-
-    "motorBike_.*"
-    {
-        type            nutUSpaldingWallFunction;
-        value           uniform 0.0544766;
-    }
-
-    "proc.*"
-    {
-        type            processor;
-    }
-}
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/turbulenceProperties b/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/turbulenceProperties
index ab998a16d7a..35b21043f9e 100644
--- a/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/turbulenceProperties
+++ b/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/turbulenceProperties
@@ -15,6 +15,72 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  LESModel;
+simulationType  LES;
+
+LES
+{
+    LESModel            SpalartAllmarasDDES;
+
+    delta               cubeRootVol;
+
+    printCoeffs         on;
+
+    turbulence          on;
+
+    cubeRootVolCoeffs
+    {
+        deltaCoeff      1;
+    }
+
+    PrandtlCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+        smoothCoeffs
+        {
+            delta           cubeRootVol;
+            cubeRootVolCoeffs
+            {
+                deltaCoeff      1;
+            }
+            maxDeltaRatio   1.1;
+        }
+        Cdelta           0.158;
+    }
+
+    vanDriestCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+        smoothCoeffs
+        {
+            delta           cubeRootVol;
+            cubeRootVolCoeffs
+            {
+                deltaCoeff      1;
+            }
+            maxDeltaRatio   1.1;
+        }
+        Aplus            26;
+        Cdelta           0.158;
+    }
+
+    smoothCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+        maxDeltaRatio   1.1;
+    }
+}
+
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/RASProperties b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/RASProperties
deleted file mode 100644
index d76eff61b45..00000000000
--- a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        SpalartAllmaras;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/polyMesh/boundary b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/polyMesh/boundary
index 578783eaeb9..7e7cb8fc3c6 100644
--- a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/polyMesh/boundary
+++ b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/polyMesh/boundary
@@ -15,441 +15,47 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-72
+6
 (
-    frontAndBack
+    front
     {
         type            symmetryPlane;
         inGroups        1(symmetryPlane);
-        nFaces          320;
-        startFace       9440280;
+        nFaces          160;
+        startFace       3456;
+    }
+    back
+    {
+        type            symmetryPlane;
+        inGroups        1(symmetryPlane);
+        nFaces          160;
+        startFace       3616;
     }
     inlet
     {
         type            patch;
         nFaces          64;
-        startFace       9440600;
+        startFace       3776;
     }
     outlet
     {
         type            patch;
         nFaces          64;
-        startFace       9440664;
+        startFace       3840;
     }
     lowerWall
     {
         type            wall;
-        nFaces          15243;
-        startFace       9440728;
+        inGroups        1(wall);
+        nFaces          160;
+        startFace       3904;
     }
     upperWall
     {
         type            symmetryPlane;
         inGroups        1(symmetryPlane);
         nFaces          160;
-        startFace       9455971;
-    }
-    motorBike_frt-fairing:001%1
-    {
-        type            wall;
-        nFaces          90875;
-        startFace       9456131;
-    }
-    motorBike_windshield:002%2
-    {
-        type            wall;
-        nFaces          376;
-        startFace       9547006;
-    }
-    motorBike_rr-wh-rim:005%5
-    {
-        type            wall;
-        nFaces          2402;
-        startFace       9547382;
-    }
-    motorBike_rr-wh-rim:010%10
-    {
-        type            wall;
-        nFaces          5288;
-        startFace       9549784;
-    }
-    motorBike_fr-wh-rim:011%11
-    {
-        type            wall;
-        nFaces          7215;
-        startFace       9555072;
-    }
-    motorBike_fr-wh-brake-disk:012%12
-    {
-        type            wall;
-        nFaces          973;
-        startFace       9562287;
-    }
-    motorBike_frame:016-shadow%13
-    {
-        type            wall;
-        nFaces          1718;
-        startFace       9563260;
-    }
-    motorBike_rear-susp:014%14
-    {
-        type            wall;
-        nFaces          14936;
-        startFace       9564978;
-    }
-    motorBike_rear-susp:014-shadow%15
-    {
-        type            wall;
-        nFaces          8564;
-        startFace       9579914;
-    }
-    motorBike_frame:016%16
-    {
-        type            wall;
-        nFaces          969;
-        startFace       9588478;
-    }
-    motorBike_rr-wh-rim:005-shadow%17
-    {
-        type            wall;
-        nFaces          1251;
-        startFace       9589447;
-    }
-    motorBike_rr-wh-chain-hub:022%22
-    {
-        type            wall;
-        nFaces          1827;
-        startFace       9590698;
-    }
-    motorBike_rearseat%24
-    {
-        type            wall;
-        nFaces          3241;
-        startFace       9592525;
-    }
-    motorBike_frt-fairing%25
-    {
-        type            wall;
-        nFaces          5078;
-        startFace       9595766;
-    }
-    motorBike_windshield%26
-    {
-        type            wall;
-        nFaces          6545;
-        startFace       9600844;
-    }
-    motorBike_headlights%27
-    {
-        type            wall;
-        nFaces          455;
-        startFace       9607389;
-    }
-    motorBike_driversseat%28
-    {
-        type            wall;
-        nFaces          5112;
-        startFace       9607844;
-    }
-    motorBike_rear-body%29
-    {
-        type            wall;
-        nFaces          12033;
-        startFace       9612956;
-    }
-    motorBike_fuel-tank%30
-    {
-        type            wall;
-        nFaces          6586;
-        startFace       9624989;
-    }
-    motorBike_exhaust%31
-    {
-        type            wall;
-        nFaces          20319;
-        startFace       9631575;
-    }
-    motorBike_rr-wh-rim%32
-    {
-        type            wall;
-        nFaces          9928;
-        startFace       9651894;
-    }
-    motorBike_fr-mud-guard%33
-    {
-        type            wall;
-        nFaces          13989;
-        startFace       9661822;
-    }
-    motorBike_fr-wh-rim%34
-    {
-        type            wall;
-        nFaces          6592;
-        startFace       9675811;
-    }
-    motorBike_fr-wh-brake-disk%35
-    {
-        type            wall;
-        nFaces          7374;
-        startFace       9682403;
-    }
-    motorBike_fr-brake-caliper%36
-    {
-        type            wall;
-        nFaces          2178;
-        startFace       9689777;
-    }
-    motorBike_fr-wh-tyre%37
-    {
-        type            wall;
-        nFaces          9947;
-        startFace       9691955;
-    }
-    motorBike_hbars%38
-    {
-        type            wall;
-        nFaces          7345;
-        startFace       9701902;
-    }
-    motorBike_fr-forks%39
-    {
-        type            wall;
-        nFaces          10349;
-        startFace       9709247;
-    }
-    motorBike_chain%40
-    {
-        type            wall;
-        nFaces          7168;
-        startFace       9719596;
-    }
-    motorBike_rr-wh-tyre%41
-    {
-        type            wall;
-        nFaces          7245;
-        startFace       9726764;
-    }
-    motorBike_square-dial%42
-    {
-        type            wall;
-        nFaces          62;
-        startFace       9734009;
-    }
-    motorBike_round-dial%43
-    {
-        type            wall;
-        nFaces          183;
-        startFace       9734071;
-    }
-    motorBike_dial-holder%44
-    {
-        type            wall;
-        nFaces          1336;
-        startFace       9734254;
-    }
-    motorBike_rear-susp%45
-    {
-        type            wall;
-        nFaces          25738;
-        startFace       9735590;
-    }
-    motorBike_rear-brake-lights%46
-    {
-        type            wall;
-        nFaces          860;
-        startFace       9761328;
-    }
-    motorBike_rear-light-bracket%47
-    {
-        type            wall;
-        nFaces          2003;
-        startFace       9762188;
-    }
-    motorBike_frame%48
-    {
-        type            wall;
-        nFaces          20232;
-        startFace       9764191;
-    }
-    motorBike_rear-mud-guard%49
-    {
-        type            wall;
-        nFaces          10690;
-        startFace       9784423;
-    }
-    motorBike_rear-susp-spring-damp%50
-    {
-        type            wall;
-        nFaces          1769;
-        startFace       9795113;
-    }
-    motorBike_fairing-inner-plate%51
-    {
-        type            wall;
-        nFaces          4660;
-        startFace       9796882;
-    }
-    motorBike_clutch-housing%52
-    {
-        type            wall;
-        nFaces          8237;
-        startFace       9801542;
-    }
-    motorBike_radiator%53
-    {
-        type            wall;
-        nFaces          1849;
-        startFace       9809779;
-    }
-    motorBike_water-pipe%54
-    {
-        type            wall;
-        nFaces          1182;
-        startFace       9811628;
-    }
-    motorBike_water-pump%55
-    {
-        type            wall;
-        nFaces          902;
-        startFace       9812810;
-    }
-    motorBike_engine%56
-    {
-        type            wall;
-        nFaces          19087;
-        startFace       9813712;
-    }
-    motorBike_rear-shock-link%57
-    {
-        type            wall;
-        nFaces          512;
-        startFace       9832799;
-    }
-    motorBike_rear-brake-fluid-pot-bracket%58
-    {
-        type            wall;
-        nFaces          721;
-        startFace       9833311;
-    }
-    motorBike_rear-brake-fluid-pot%59
-    {
-        type            wall;
-        nFaces          795;
-        startFace       9834032;
-    }
-    motorBike_footpeg%60
-    {
-        type            wall;
-        nFaces          1405;
-        startFace       9834827;
-    }
-    motorBike_rr-wh-chain-hub%61
-    {
-        type            wall;
-        nFaces          1984;
-        startFace       9836232;
-    }
-    motorBike_rear-brake-caliper%62
-    {
-        type            wall;
-        nFaces          2119;
-        startFace       9838216;
-    }
-    motorBike_rider-helmet%65
-    {
-        type            wall;
-        nFaces          2244;
-        startFace       9840335;
-    }
-    motorBike_rider-visor%66
-    {
-        type            wall;
-        nFaces          171;
-        startFace       9842579;
-    }
-    motorBike_rider-boots%67
-    {
-        type            wall;
-        nFaces          5287;
-        startFace       9842750;
-    }
-    motorBike_rider-gloves%68
-    {
-        type            wall;
-        nFaces          3129;
-        startFace       9848037;
-    }
-    motorBike_rider-body%69
-    {
-        type            wall;
-        nFaces          22909;
-        startFace       9851166;
-    }
-    motorBike_frame:0%70
-    {
-        type            wall;
-        nFaces          361;
-        startFace       9874075;
-    }
-    motorBike_frt-fairing:001-shadow%74
-    {
-        type            wall;
-        nFaces          56996;
-        startFace       9874436;
-    }
-    motorBike_windshield-shadow%75
-    {
-        type            wall;
-        nFaces          4535;
-        startFace       9931432;
-    }
-    motorBike_fr-mud-guard-shadow%81
-    {
-        type            wall;
-        nFaces          9174;
-        startFace       9935967;
-    }
-    motorBike_fr-wh-brake-disk-shadow%83
-    {
-        type            wall;
-        nFaces          3923;
-        startFace       9945141;
-    }
-    motorBike_rear-mud-guard-shadow%84
-    {
-        type            wall;
-        nFaces          6792;
-        startFace       9949064;
-    }
-    motorBike_rear-susp-spring-damp-shadow%85
-    {
-        type            wall;
-        nFaces          1211;
-        startFace       9955856;
-    }
-    motorBike_radiator-shadow%86
-    {
-        type            wall;
-        nFaces          1080;
-        startFace       9957067;
-    }
-    motorBike_rear-shock-link-shadow%87
-    {
-        type            wall;
-        nFaces          357;
-        startFace       9958147;
-    }
-    motorBike_rear-brake-fluid-pot-bracket-shadow%88
-    {
-        type            wall;
-        nFaces          420;
-        startFace       9958504;
-    }
-    motorBike_rr-wh-chain-hub-shadow%89
-    {
-        type            wall;
-        nFaces          1071;
-        startFace       9958924;
+        startFace       4064;
     }
 )
 
diff --git a/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/constant/RASProperties b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/turbulenceProperties
similarity index 90%
rename from tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/constant/RASProperties
rename to tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/turbulenceProperties
index aed2ebec562..f9d4381ee65 100644
--- a/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/constant/RASProperties
+++ b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/turbulenceProperties
@@ -15,10 +15,13 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-RASModel        kEpsilon;
+RAS
+{
+    RASModel        SpalartAllmaras;
 
-turbulence      on;
+    turbulence      on;
 
-printCoeffs     on;
+    printCoeffs     on;
+}
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/fvSchemes b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/fvSchemes
index 3bc772bfed7..c6c8fbf6f8d 100644
--- a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/fvSchemes
+++ b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/fvSchemes
@@ -33,7 +33,7 @@ divSchemes
     div(phi,U)      bounded Gauss linearUpwindV grad(U);
     div(phi,k)      bounded Gauss upwind;
     div(phi,omega)  bounded Gauss upwind;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
     div(phi,nuTilda) bounded Gauss upwind;
 }
 
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/0/nuSgs b/tutorials/incompressible/pisoFoam/les/pitzDaily/0/nut
similarity index 98%
rename from tutorials/incompressible/pisoFoam/les/pitzDaily/0/nuSgs
rename to tutorials/incompressible/pisoFoam/les/pitzDaily/0/nut
index 608ec8c465f..726b637f782 100644
--- a/tutorials/incompressible/pisoFoam/les/pitzDaily/0/nuSgs
+++ b/tutorials/incompressible/pisoFoam/les/pitzDaily/0/nut
@@ -10,7 +10,7 @@ FoamFile
     version     2.0;
     format      ascii;
     class       volScalarField;
-    object      nuSgs;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/LESProperties b/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/LESProperties
deleted file mode 100644
index b0c6edf80fd..00000000000
--- a/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/LESProperties
+++ /dev/null
@@ -1,86 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      LESProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-LESModel        oneEqEddy;
-
-delta           cubeRootVol;
-
-printCoeffs     on;
-
-cubeRootVolCoeffs
-{
-    deltaCoeff      1;
-}
-
-PrandtlCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-
-        maxDeltaRatio   1.1;
-    }
-
-    Cdelta          0.158;
-}
-
-vanDriestCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-
-        maxDeltaRatio   1.1;
-    }
-
-    Aplus           26;
-    Cdelta          0.158;
-}
-
-smoothCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    maxDeltaRatio   1.1;
-}
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/turbulenceProperties b/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/turbulenceProperties
index ab998a16d7a..19b96955768 100644
--- a/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/turbulenceProperties
+++ b/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/turbulenceProperties
@@ -15,6 +15,78 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  LESModel;
+simulationType  LES;
+
+LES
+{
+    LESModel        kEqn;
+
+    turbulence      on;
+
+    printCoeffs     on;
+
+    delta           cubeRootVol;
+
+    cubeRootVolCoeffs
+    {
+        deltaCoeff      1;
+    }
+
+    PrandtlCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        smoothCoeffs
+        {
+            delta           cubeRootVol;
+            cubeRootVolCoeffs
+            {
+                deltaCoeff      1;
+            }
+
+            maxDeltaRatio   1.1;
+        }
+
+        Cdelta          0.158;
+    }
+
+    vanDriestCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        smoothCoeffs
+        {
+            delta           cubeRootVol;
+            cubeRootVolCoeffs
+            {
+                deltaCoeff      1;
+            }
+
+            maxDeltaRatio   1.1;
+        }
+
+        Aplus           26;
+        Cdelta          0.158;
+    }
+
+    smoothCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        maxDeltaRatio   1.1;
+    }
+}
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/system/fvSchemes b/tutorials/incompressible/pisoFoam/les/pitzDaily/system/fvSchemes
index 45cce4ef177..752f20f660a 100644
--- a/tutorials/incompressible/pisoFoam/les/pitzDaily/system/fvSchemes
+++ b/tutorials/incompressible/pisoFoam/les/pitzDaily/system/fvSchemes
@@ -33,7 +33,7 @@ divSchemes
     div(phi,B)      Gauss limitedLinear 1;
     div(phi,nuTilda) Gauss limitedLinear 1;
     div(B)          Gauss linear;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/0/muSgs b/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/0/nut
similarity index 95%
rename from tutorials/compressible/rhoPimpleFoam/les/pitzDaily/0/muSgs
rename to tutorials/incompressible/pisoFoam/les/pitzDailyMapped/0/nut
index 65048d6cc30..726b637f782 100644
--- a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/0/muSgs
+++ b/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/0/nut
@@ -10,11 +10,11 @@ FoamFile
     version     2.0;
     format      ascii;
     class       volScalarField;
-    object      muSgs;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/constant/LESProperties b/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/constant/LESProperties
deleted file mode 100644
index b0c6edf80fd..00000000000
--- a/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/constant/LESProperties
+++ /dev/null
@@ -1,86 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      LESProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-LESModel        oneEqEddy;
-
-delta           cubeRootVol;
-
-printCoeffs     on;
-
-cubeRootVolCoeffs
-{
-    deltaCoeff      1;
-}
-
-PrandtlCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-
-        maxDeltaRatio   1.1;
-    }
-
-    Cdelta          0.158;
-}
-
-vanDriestCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-
-        maxDeltaRatio   1.1;
-    }
-
-    Aplus           26;
-    Cdelta          0.158;
-}
-
-smoothCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    maxDeltaRatio   1.1;
-}
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/constant/turbulenceProperties b/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/constant/turbulenceProperties
index a925d3cc2b2..19b96955768 100644
--- a/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/constant/turbulenceProperties
+++ b/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/constant/turbulenceProperties
@@ -15,7 +15,78 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  LESModel;
+simulationType  LES;
 
+LES
+{
+    LESModel        kEqn;
+
+    turbulence      on;
+
+    printCoeffs     on;
+
+    delta           cubeRootVol;
+
+    cubeRootVolCoeffs
+    {
+        deltaCoeff      1;
+    }
+
+    PrandtlCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        smoothCoeffs
+        {
+            delta           cubeRootVol;
+            cubeRootVolCoeffs
+            {
+                deltaCoeff      1;
+            }
+
+            maxDeltaRatio   1.1;
+        }
+
+        Cdelta          0.158;
+    }
+
+    vanDriestCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        smoothCoeffs
+        {
+            delta           cubeRootVol;
+            cubeRootVolCoeffs
+            {
+                deltaCoeff      1;
+            }
+
+            maxDeltaRatio   1.1;
+        }
+
+        Aplus           26;
+        Cdelta          0.158;
+    }
+
+    smoothCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        maxDeltaRatio   1.1;
+    }
+}
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/system/fvSchemes b/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/system/fvSchemes
index 62b8ad368d4..75f35706047 100644
--- a/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/system/fvSchemes
+++ b/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/system/fvSchemes
@@ -33,7 +33,7 @@ divSchemes
     div(phi,B)      Gauss limitedLinear 1;
     div(phi,nuTilda) Gauss limitedLinear 1;
     div(B)          Gauss linear;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/0/omega b/tutorials/incompressible/pisoFoam/ras/cavity/0/omega
new file mode 100644
index 00000000000..a7040dd8439
--- /dev/null
+++ b/tutorials/incompressible/pisoFoam/ras/cavity/0/omega
@@ -0,0 +1,41 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    location    "0";
+    object      omega;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 -1 0 0 0 0];
+
+internalField   uniform 1;
+
+boundaryField
+{
+    movingWall
+    {
+        type            omegaWallFunction;
+        value           uniform 1;
+    }
+    fixedWalls
+    {
+        type            omegaWallFunction;
+        value           uniform 1;
+    }
+    frontAndBack
+    {
+        type            empty;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/constant/RASProperties b/tutorials/incompressible/pisoFoam/ras/cavity/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/incompressible/pisoFoam/ras/cavity/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/constant/turbulenceProperties b/tutorials/incompressible/pisoFoam/ras/cavity/constant/turbulenceProperties
index 3721a46a2ea..3ffed52b9a2 100644
--- a/tutorials/incompressible/pisoFoam/ras/cavity/constant/turbulenceProperties
+++ b/tutorials/incompressible/pisoFoam/ras/cavity/constant/turbulenceProperties
@@ -15,7 +15,15 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
 
+RAS
+{
+    RASModel        kOmega;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/system/fvSchemes b/tutorials/incompressible/pisoFoam/ras/cavity/system/fvSchemes
index a59b75bee93..9d066714d2b 100644
--- a/tutorials/incompressible/pisoFoam/ras/cavity/system/fvSchemes
+++ b/tutorials/incompressible/pisoFoam/ras/cavity/system/fvSchemes
@@ -31,10 +31,11 @@ divSchemes
     div(phi,U)      Gauss limitedLinearV 1;
     div(phi,k)      Gauss limitedLinear 1;
     div(phi,epsilon) Gauss limitedLinear 1;
+    div(phi,omega)  Gauss limitedLinear 1;
     div(phi,R)      Gauss limitedLinear 1;
     div(R)          Gauss linear;
     div(phi,nuTilda) Gauss limitedLinear 1;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/system/fvSolution b/tutorials/incompressible/pisoFoam/ras/cavity/system/fvSolution
index 983e6dd8045..7342e01ebe4 100644
--- a/tutorials/incompressible/pisoFoam/ras/cavity/system/fvSolution
+++ b/tutorials/incompressible/pisoFoam/ras/cavity/system/fvSolution
@@ -38,7 +38,7 @@ solvers
         relTol          0;
     }
 
-    "(U|k|epsilon|R|nuTilda)"
+    "(U|k|epsilon|omega|R|nuTilda)"
     {
         solver          smoothSolver;
         smoother        GaussSeidel;
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/RASProperties b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/turbulenceProperties b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/turbulenceProperties
index 3721a46a2ea..d587253c9a8 100644
--- a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/turbulenceProperties
+++ b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/turbulenceProperties
@@ -15,7 +15,15 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
 
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/system/fvSchemes b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/system/fvSchemes
index a59b75bee93..ff07884de81 100644
--- a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/system/fvSchemes
+++ b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/system/fvSchemes
@@ -34,7 +34,7 @@ divSchemes
     div(phi,R)      Gauss limitedLinear 1;
     div(R)          Gauss linear;
     div(phi,nuTilda) Gauss limitedLinear 1;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/incompressible/porousSimpleFoam/angledDuctExplicit/system/fvSchemes b/tutorials/incompressible/porousSimpleFoam/angledDuctExplicit/system/fvSchemes
index 5db0abc188c..930ef501add 100644
--- a/tutorials/incompressible/porousSimpleFoam/angledDuctExplicit/system/fvSchemes
+++ b/tutorials/incompressible/porousSimpleFoam/angledDuctExplicit/system/fvSchemes
@@ -30,7 +30,7 @@ divSchemes
     default         none;
 
     div(phi,U)      bounded Gauss upwind;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
     div(phi,epsilon) bounded Gauss upwind;
     div(phi,k)      bounded Gauss upwind;
 }
diff --git a/tutorials/incompressible/porousSimpleFoam/angledDuctImplicit/constant/RASProperties b/tutorials/incompressible/porousSimpleFoam/angledDuctImplicit/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/incompressible/porousSimpleFoam/angledDuctImplicit/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/porousSimpleFoam/angledDuctImplicit/constant/turbulenceProperties b/tutorials/incompressible/porousSimpleFoam/angledDuctImplicit/constant/turbulenceProperties
new file mode 100644
index 00000000000..59a2e7e2073
--- /dev/null
+++ b/tutorials/incompressible/porousSimpleFoam/angledDuctImplicit/constant/turbulenceProperties
@@ -0,0 +1,28 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/porousSimpleFoam/angledDuctImplicit/system/fvSchemes b/tutorials/incompressible/porousSimpleFoam/angledDuctImplicit/system/fvSchemes
index 9376d23004a..ee3301aead9 100644
--- a/tutorials/incompressible/porousSimpleFoam/angledDuctImplicit/system/fvSchemes
+++ b/tutorials/incompressible/porousSimpleFoam/angledDuctImplicit/system/fvSchemes
@@ -30,7 +30,7 @@ divSchemes
     default         none;
 
     div(phi,U)      bounded Gauss upwind;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
     div(phi,epsilon) bounded Gauss upwind;
     div(phi,k)      bounded Gauss upwind;
 }
diff --git a/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/constant/RASProperties b/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/constant/turbulenceProperties b/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/constant/turbulenceProperties
new file mode 100644
index 00000000000..59a2e7e2073
--- /dev/null
+++ b/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/constant/turbulenceProperties
@@ -0,0 +1,28 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/system/fvSchemes b/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/system/fvSchemes
index 9376d23004a..ee3301aead9 100644
--- a/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/system/fvSchemes
+++ b/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/system/fvSchemes
@@ -30,7 +30,7 @@ divSchemes
     default         none;
 
     div(phi,U)      bounded Gauss upwind;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
     div(phi,epsilon) bounded Gauss upwind;
     div(phi,k)      bounded Gauss upwind;
 }
diff --git a/tutorials/incompressible/simpleFoam/airFoil2D/constant/RASProperties b/tutorials/incompressible/simpleFoam/airFoil2D/constant/RASProperties
deleted file mode 100644
index d76eff61b45..00000000000
--- a/tutorials/incompressible/simpleFoam/airFoil2D/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        SpalartAllmaras;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/airFoil2D/constant/turbulenceProperties b/tutorials/incompressible/simpleFoam/airFoil2D/constant/turbulenceProperties
new file mode 100644
index 00000000000..2c4a2745464
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/airFoil2D/constant/turbulenceProperties
@@ -0,0 +1,27 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+RAS
+{
+    RASModel        SpalartAllmaras;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/airFoil2D/system/fvSchemes b/tutorials/incompressible/simpleFoam/airFoil2D/system/fvSchemes
index 4158d2dead3..38d9449246c 100644
--- a/tutorials/incompressible/simpleFoam/airFoil2D/system/fvSchemes
+++ b/tutorials/incompressible/simpleFoam/airFoil2D/system/fvSchemes
@@ -30,7 +30,7 @@ divSchemes
     default         none;
     div(phi,U)      bounded Gauss linearUpwind grad(U);
     div(phi,nuTilda) bounded Gauss linearUpwind grad(nuTilda);
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/incompressible/simpleFoam/mixerVessel2D/constant/RASProperties b/tutorials/incompressible/simpleFoam/mixerVessel2D/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/incompressible/simpleFoam/mixerVessel2D/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/mixerVessel2D/constant/turbulenceProperties b/tutorials/incompressible/simpleFoam/mixerVessel2D/constant/turbulenceProperties
new file mode 100644
index 00000000000..a9b58dc78e7
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/mixerVessel2D/constant/turbulenceProperties
@@ -0,0 +1,27 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/mixerVessel2D/system/fvSchemes b/tutorials/incompressible/simpleFoam/mixerVessel2D/system/fvSchemes
index dddcf6c24b8..6a50ad98d87 100644
--- a/tutorials/incompressible/simpleFoam/mixerVessel2D/system/fvSchemes
+++ b/tutorials/incompressible/simpleFoam/mixerVessel2D/system/fvSchemes
@@ -31,7 +31,7 @@ divSchemes
     div(phi,U)      bounded Gauss limitedLinearV 1;
     div(phi,k)      bounded Gauss limitedLinear 1;
     div(phi,epsilon) bounded Gauss limitedLinear 1;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/incompressible/simpleFoam/motorBike/constant/RASProperties b/tutorials/incompressible/simpleFoam/motorBike/constant/RASProperties
deleted file mode 100644
index 3b7dcacf869..00000000000
--- a/tutorials/incompressible/simpleFoam/motorBike/constant/RASProperties
+++ /dev/null
@@ -1,24 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel            kOmegaSST;
-
-turbulence          on;
-
-printCoeffs         on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/motorBike/constant/turbulenceProperties b/tutorials/incompressible/simpleFoam/motorBike/constant/turbulenceProperties
new file mode 100644
index 00000000000..f1719c6a001
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/motorBike/constant/turbulenceProperties
@@ -0,0 +1,26 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+RAS
+{
+    RASModel            kOmegaSST;
+
+    turbulence          on;
+
+    printCoeffs         on;
+}
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/motorBike/system/controlDict b/tutorials/incompressible/simpleFoam/motorBike/system/controlDict
index 553c603b445..c7607fc236c 100644
--- a/tutorials/incompressible/simpleFoam/motorBike/system/controlDict
+++ b/tutorials/incompressible/simpleFoam/motorBike/system/controlDict
@@ -14,13 +14,6 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-libs
-(
-    "libOpenFOAM.so"
-    "libincompressibleTurbulenceModel.so"
-    "libincompressibleRASModels.so"
-);
-
 application     simpleFoam;
 
 startFrom       latestTime;
diff --git a/tutorials/incompressible/simpleFoam/motorBike/system/fvSchemes b/tutorials/incompressible/simpleFoam/motorBike/system/fvSchemes
index 065507c3f43..cf8155eeaaa 100644
--- a/tutorials/incompressible/simpleFoam/motorBike/system/fvSchemes
+++ b/tutorials/incompressible/simpleFoam/motorBike/system/fvSchemes
@@ -31,7 +31,7 @@ divSchemes
     div(phi,U)      bounded Gauss linearUpwindV grad(U);
     div(phi,k)      bounded Gauss upwind;
     div(phi,omega)  bounded Gauss upwind;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/incompressible/simpleFoam/pipeCyclic/constant/RASProperties b/tutorials/incompressible/simpleFoam/pipeCyclic/constant/RASProperties
deleted file mode 100644
index 63ed5a5ef8f..00000000000
--- a/tutorials/incompressible/simpleFoam/pipeCyclic/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        realizableKE;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/pipeCyclic/constant/turbulenceProperties b/tutorials/incompressible/simpleFoam/pipeCyclic/constant/turbulenceProperties
index e7fa28c74a5..45b095b5455 100644
--- a/tutorials/incompressible/simpleFoam/pipeCyclic/constant/turbulenceProperties
+++ b/tutorials/incompressible/simpleFoam/pipeCyclic/constant/turbulenceProperties
@@ -15,6 +15,14 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType RASModel;
+RAS
+{
+    RASModel        realizableKE;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
+
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/pipeCyclic/system/controlDict b/tutorials/incompressible/simpleFoam/pipeCyclic/system/controlDict
index da248aeec7b..e43cefc79a5 100644
--- a/tutorials/incompressible/simpleFoam/pipeCyclic/system/controlDict
+++ b/tutorials/incompressible/simpleFoam/pipeCyclic/system/controlDict
@@ -15,13 +15,6 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-libs
-(
-    "libOpenFOAM.so"
-    "libincompressibleTurbulenceModel.so"
-    "libincompressibleRASModels.so"
-);
-
 application     simpleFoam;
 
 startFrom       startTime;
diff --git a/tutorials/incompressible/simpleFoam/pipeCyclic/system/fvSchemes b/tutorials/incompressible/simpleFoam/pipeCyclic/system/fvSchemes
index eb56b2a74bd..eff3e37ae4b 100644
--- a/tutorials/incompressible/simpleFoam/pipeCyclic/system/fvSchemes
+++ b/tutorials/incompressible/simpleFoam/pipeCyclic/system/fvSchemes
@@ -34,7 +34,7 @@ divSchemes
     div(phi,R)      bounded Gauss limitedLinear 1;
     div(R)          Gauss linear;
     div(phi,nuTilda) bounded Gauss limitedLinear 1;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/incompressible/simpleFoam/pitzDaily/constant/RASProperties b/tutorials/incompressible/simpleFoam/pitzDaily/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/incompressible/simpleFoam/pitzDaily/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/pitzDaily/constant/turbulenceProperties b/tutorials/incompressible/simpleFoam/pitzDaily/constant/turbulenceProperties
new file mode 100644
index 00000000000..59a2e7e2073
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/pitzDaily/constant/turbulenceProperties
@@ -0,0 +1,28 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSchemes b/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSchemes
index 821adc7eb93..268cde63e03 100644
--- a/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSchemes
+++ b/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSchemes
@@ -34,7 +34,7 @@ divSchemes
     div(phi,R)      bounded Gauss upwind;
     div(R)          Gauss linear;
     div(phi,nuTilda) bounded Gauss upwind;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/RASProperties b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/turbulenceProperties b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/turbulenceProperties
new file mode 100644
index 00000000000..a9b58dc78e7
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/turbulenceProperties
@@ -0,0 +1,27 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/fvSchemes b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/fvSchemes
index 821adc7eb93..268cde63e03 100644
--- a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/fvSchemes
+++ b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/fvSchemes
@@ -34,7 +34,7 @@ divSchemes
     div(phi,R)      bounded Gauss upwind;
     div(R)          Gauss linear;
     div(phi,nuTilda) bounded Gauss upwind;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/incompressible/simpleFoam/turbineSiting/constant/RASProperties b/tutorials/incompressible/simpleFoam/turbineSiting/constant/turbulenceProperties
similarity index 58%
rename from tutorials/incompressible/simpleFoam/turbineSiting/constant/RASProperties
rename to tutorials/incompressible/simpleFoam/turbineSiting/constant/turbulenceProperties
index e8f2fd50229..1385aff112b 100644
--- a/tutorials/incompressible/simpleFoam/turbineSiting/constant/RASProperties
+++ b/tutorials/incompressible/simpleFoam/turbineSiting/constant/turbulenceProperties
@@ -10,26 +10,31 @@ FoamFile
     version     2.0;
     format      ascii;
     class       dictionary;
-    object      RASProperties;
+    object      turbulenceProperties;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-RASModel            kEpsilon;
+RAS
+{
+    RASModel            kEpsilon;
 
-turbulence          on;
+    turbulence          on;
 
-printCoeffs         on;
+    printCoeffs         on;
 
-kEpsilonCoeffs
-{
-    Cmu         0.09;
-    C1          1.44;
-    C2          1.92;
-    sigmaEps    1.11; //Original value:1.44
-    //NOTE: See "On the use of the k-Epsilon model in commercial CFD software
-    // to model the neutral atmospheric boundary layer". J. of wind engineering
-    // and inductrial aerodymanics 95(2007) 355-269 by
-    // D.M. Hargreaves and N.G. Wright
+    kEpsilonCoeffs
+    {
+        Cmu         0.09;
+        C1          1.44;
+        C2          1.92;
+        sigmaEps    1.11; //Original value:1.44
+        // See:
+        // D.M. Hargreaves and N.G. Wright
+        // "On the use of the k-Epsilon model in commercial CFD software
+        // to model the neutral atmospheric boundary layer",
+        // J. of wind engineering and industrial aerodymanics,
+        // 95(2007) 355-269
+    }
 }
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/turbineSiting/system/controlDict b/tutorials/incompressible/simpleFoam/turbineSiting/system/controlDict
index 1b295b32a3a..f648f3ed70a 100644
--- a/tutorials/incompressible/simpleFoam/turbineSiting/system/controlDict
+++ b/tutorials/incompressible/simpleFoam/turbineSiting/system/controlDict
@@ -14,8 +14,6 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-libs            ("libincompressibleRASModels.so");
-
 application     simpleFoam;
 
 startFrom       latestTime;
@@ -34,7 +32,7 @@ writeInterval   50;
 
 purgeWrite      0;
 
-writeFormat     binary; //ascii;
+writeFormat     binary;
 
 writePrecision  12;
 
diff --git a/tutorials/incompressible/simpleFoam/turbineSiting/system/fvSchemes b/tutorials/incompressible/simpleFoam/turbineSiting/system/fvSchemes
index 492b79ef744..445a2f3bd51 100644
--- a/tutorials/incompressible/simpleFoam/turbineSiting/system/fvSchemes
+++ b/tutorials/incompressible/simpleFoam/turbineSiting/system/fvSchemes
@@ -27,10 +27,12 @@ gradSchemes
 divSchemes
 {
     default             none;
+
     div(phi,U)          bounded Gauss upwind;
-    div((nuEff*dev(T(grad(U)))))    Gauss linear;
     div(phi,epsilon)    bounded Gauss upwind;
     div(phi,k)          bounded Gauss upwind;
+
+    div((nuEff*dev2(T(grad(U)))))    Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/0/mut b/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/0/nut
similarity index 95%
rename from tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/0/mut
rename to tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/0/nut
index 47d65d567db..7c1a3594d05 100644
--- a/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/0/mut
+++ b/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/0/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
diff --git a/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/constant/RASProperties b/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/constant/turbulenceProperties b/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/constant/turbulenceProperties
index c2c3b28a1b4..aefe0c27d7a 100644
--- a/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/constant/turbulenceProperties
+++ b/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/constant/turbulenceProperties
@@ -17,5 +17,4 @@ FoamFile
 
 simulationType  laminar;
 
-
 // ************************************************************************* //
diff --git a/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/system/fvSchemes b/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/system/fvSchemes
index 73cdf5dcaae..a3d785d3153 100644
--- a/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/system/fvSchemes
+++ b/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/system/fvSchemes
@@ -36,7 +36,7 @@ divSchemes
     div(phi,epsilon) Gauss limitedLinear 1;
     div(phi,k)      Gauss limitedLinear 1;
 
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0.org/k b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0.org/k
index 2a769368937..098b4a6eb05 100644
--- a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0.org/k
+++ b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0.org/k
@@ -48,7 +48,7 @@ boundaryField
     }
     walls
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0;
     }
 }
diff --git a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0.org/mut b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0.org/nut
similarity index 93%
rename from tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0.org/mut
rename to tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0.org/nut
index 7cfeaae133d..41fe074824a 100644
--- a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0.org/mut
+++ b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0.org/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
@@ -46,7 +46,7 @@ boundaryField
     }
     walls
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
diff --git a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0.org/omega b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0.org/omega
index c1aa352a73f..462084a38f0 100644
--- a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0.org/omega
+++ b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0.org/omega
@@ -31,14 +31,14 @@ boundaryField
     }
     inletCentral
     {
-        type            compressible::turbulentMixingLengthFrequencyInlet;
+        type            turbulentMixingLengthFrequencyInlet;
         mixingLength    0.007;
         k               k;
         value           uniform 4.5e-3;
     }
     inletSides
     {
-        type            compressible::turbulentMixingLengthFrequencyInlet;
+        type            turbulentMixingLengthFrequencyInlet;
         mixingLength    0.007;
         k               k;
         value           uniform 4.5e-3;
@@ -50,7 +50,7 @@ boundaryField
     }
     walls
     {
-        type            compressible::omegaWallFunction;
+        type            omegaWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
diff --git a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0/k b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0/k
index 2a769368937..098b4a6eb05 100644
--- a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0/k
+++ b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0/k
@@ -48,7 +48,7 @@ boundaryField
     }
     walls
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0;
     }
 }
diff --git a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0.org/mut b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0/nut
similarity index 93%
rename from tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0.org/mut
rename to tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0/nut
index 7cfeaae133d..41fe074824a 100644
--- a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0.org/mut
+++ b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
@@ -46,7 +46,7 @@ boundaryField
     }
     walls
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
diff --git a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0/omega b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0/omega
index c1aa352a73f..462084a38f0 100644
--- a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0/omega
+++ b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0/omega
@@ -31,14 +31,14 @@ boundaryField
     }
     inletCentral
     {
-        type            compressible::turbulentMixingLengthFrequencyInlet;
+        type            turbulentMixingLengthFrequencyInlet;
         mixingLength    0.007;
         k               k;
         value           uniform 4.5e-3;
     }
     inletSides
     {
-        type            compressible::turbulentMixingLengthFrequencyInlet;
+        type            turbulentMixingLengthFrequencyInlet;
         mixingLength    0.007;
         k               k;
         value           uniform 4.5e-3;
@@ -50,7 +50,7 @@ boundaryField
     }
     walls
     {
-        type            compressible::omegaWallFunction;
+        type            omegaWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
diff --git a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/constant/RASProperties b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/constant/RASProperties
deleted file mode 100644
index 568821b00de..00000000000
--- a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/constant/RASProperties
+++ /dev/null
@@ -1,24 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel            kOmegaSST; // kEpsilon;
-
-turbulence          on;
-
-printCoeffs         on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/constant/turbulenceProperties b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/constant/turbulenceProperties
index aaccd5feb0f..89a95c3f03b 100644
--- a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/constant/turbulenceProperties
+++ b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/constant/turbulenceProperties
@@ -14,7 +14,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel            kOmegaSST;
+
+    turbulence          on;
+
+    printCoeffs         on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/system/fvSchemes b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/system/fvSchemes
index 4bef25ebf90..13bfbc31feb 100644
--- a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/system/fvSchemes
+++ b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/system/fvSchemes
@@ -36,7 +36,7 @@ divSchemes
     div(phi,k)      Gauss upwind;
     div(phi,epsilon) Gauss upwind;
     div(phi,omega) Gauss upwind;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
     div(phi,Yi_h)   Gauss upwind;
 }
 
diff --git a/tutorials/lagrangian/MPPICFoam/column/constant/RASProperties b/tutorials/lagrangian/MPPICFoam/column/constant/RASProperties
deleted file mode 100644
index cc1647b252d..00000000000
--- a/tutorials/lagrangian/MPPICFoam/column/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        laminar;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/0/epsilon b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/0/epsilon
index 9fcf588c0c2..5f62ec144f2 100644
--- a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/0/epsilon
+++ b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/0/epsilon
@@ -23,17 +23,17 @@ boundaryField
 {
     top
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 5390.5;
     }
     bottom
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 5390.5;
     }
     walls
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 5390.5;
     }
     symmetry
diff --git a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/0/k b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/0/k
index d5f2de2074b..31facc9f6fd 100644
--- a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/0/k
+++ b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/0/k
@@ -23,17 +23,17 @@ boundaryField
 {
     top
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 37.5;
     }
     bottom
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 37.5;
     }
     walls
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 37.5;
     }
     symmetry
diff --git a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/0/mut b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/0/nut
similarity index 86%
rename from tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/0/mut
rename to tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/0/nut
index 9622ffefd9d..718743bbcaa 100644
--- a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/0/mut
+++ b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/0/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
@@ -23,17 +23,17 @@ boundaryField
 {
     top
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
     bottom
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
     walls
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
     symmetry
diff --git a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/RASProperties b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/RASProperties
deleted file mode 100644
index fede44f8c32..00000000000
--- a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/RASProperties
+++ /dev/null
@@ -1,24 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     yes;
-
-// ************************************************************************* //
diff --git a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/turbulenceProperties b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/turbulenceProperties
index 3721a46a2ea..c323d93972e 100644
--- a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/turbulenceProperties
+++ b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     yes;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/system/fvSchemes b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/system/fvSchemes
index 3bcfc65ff8b..dfc51235887 100644
--- a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/system/fvSchemes
+++ b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/system/fvSchemes
@@ -36,7 +36,7 @@ divSchemes
     div(phi,k)      Gauss upwind;
     div(phi,epsilon) Gauss upwind;
     div(U)          Gauss linear;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
     div(phi,Yi_h)   Gauss upwind;
 }
 
diff --git a/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperEmptying/constant/RASProperties b/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperEmptying/constant/RASProperties
deleted file mode 100644
index cc1647b252d..00000000000
--- a/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperEmptying/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        laminar;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperEmptying/constant/turbulenceProperties b/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperEmptying/constant/turbulenceProperties
index 3721a46a2ea..c2c3b28a1b4 100644
--- a/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperEmptying/constant/turbulenceProperties
+++ b/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperEmptying/constant/turbulenceProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  laminar;
 
 
 // ************************************************************************* //
diff --git a/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperInitialState/constant/RASProperties b/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperInitialState/constant/RASProperties
deleted file mode 100644
index cc1647b252d..00000000000
--- a/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperInitialState/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        laminar;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperInitialState/constant/turbulenceProperties b/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperInitialState/constant/turbulenceProperties
index 3721a46a2ea..c2c3b28a1b4 100644
--- a/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperInitialState/constant/turbulenceProperties
+++ b/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperInitialState/constant/turbulenceProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  laminar;
 
 
 // ************************************************************************* //
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/fvSchemes b/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/fvSchemes
index 560f65db18d..f073a5ff5b2 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/fvSchemes
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/fvSchemes
@@ -35,7 +35,7 @@ divSchemes
     div(phi,k)      Gauss upwind;
     div(phi,epsilon) Gauss upwind;
     div(U)          Gauss linear;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
     div(phi,Yi_h)  Gauss upwind;
 }
 
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.org/epsilon b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.org/epsilon
index b4d9f6fdbd6..e73cabb04b8 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.org/epsilon
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.org/epsilon
@@ -23,12 +23,12 @@ boundaryField
 {
     walls
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 1e-7;
     }
     wallFilm
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 1e-7;
     }
 }
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.org/k b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.org/k
index 9036004c5ad..01d40325b58 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.org/k
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.org/k
@@ -23,12 +23,12 @@ boundaryField
 {
     walls
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1e-5;
     }
     wallFilm
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1e-5;
     }
 }
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.org/mut b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.org/nut
similarity index 88%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.org/mut
rename to tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.org/nut
index c0cf6eed6cf..e985d6e5f25 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.org/mut
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.org/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 1e-7;
 
@@ -23,12 +23,12 @@ boundaryField
 {
     walls
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
     wallFilm
     {
-        type            mutkFilmWallFunction;
+        type            nutkFilmWallFunction;
         B               5.5;
         yPlusCrit       11.05;
         value           uniform 0;
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/RASProperties b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/RASProperties
deleted file mode 100644
index 85d8b8af86b..00000000000
--- a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     no;
-
-
-// ************************************************************************* //
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/turbulenceProperties b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/turbulenceProperties
index fcb13c3557c..eeaaa9205c9 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/turbulenceProperties
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel; // laminar;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     no;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/changeDictionaryDict b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/changeDictionaryDict
index 9097048a7a6..b7b5130a7e5 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/changeDictionaryDict
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/changeDictionaryDict
@@ -46,7 +46,7 @@ dictionaryReplacement
         }
     }
 
-    "mut"
+    "nut"
     {
         boundaryField
         {
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/fvSchemes b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/fvSchemes
index 906c819b453..cc232dbb081 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/fvSchemes
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/fvSchemes
@@ -35,7 +35,7 @@ divSchemes
     div(phi,k)      Gauss upwind;
     div(phi,epsilon) Gauss upwind;
     div(U)          Gauss linear;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
     div(phi,Yi_h)  Gauss upwind;
 }
 
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/fvSchemes b/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/fvSchemes
index 7cb27607365..1885c5628c8 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/fvSchemes
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/fvSchemes
@@ -35,7 +35,7 @@ divSchemes
     div(phi,k)      Gauss upwind;
     div(phi,epsilon) Gauss upwind;
     div(U)          Gauss linear;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
     div(phi,Yi_h)  Gauss upwind;
 }
 
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/fvSchemes b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/fvSchemes
index 906c819b453..cc232dbb081 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/fvSchemes
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/fvSchemes
@@ -35,7 +35,7 @@ divSchemes
     div(phi,k)      Gauss upwind;
     div(phi,epsilon) Gauss upwind;
     div(U)          Gauss linear;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
     div(phi,Yi_h)  Gauss upwind;
 }
 
diff --git a/tutorials/lagrangian/reactingParcelFoam/filter/0.org/epsilon b/tutorials/lagrangian/reactingParcelFoam/filter/0.org/epsilon
index 741efe7ccbb..448a7a08583 100644
--- a/tutorials/lagrangian/reactingParcelFoam/filter/0.org/epsilon
+++ b/tutorials/lagrangian/reactingParcelFoam/filter/0.org/epsilon
@@ -23,7 +23,7 @@ boundaryField
 {
     walls
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 0.0449;
     }
     inlet
diff --git a/tutorials/lagrangian/reactingParcelFoam/filter/0.org/k b/tutorials/lagrangian/reactingParcelFoam/filter/0.org/k
index 99ad23a21f3..7d79256b2a2 100644
--- a/tutorials/lagrangian/reactingParcelFoam/filter/0.org/k
+++ b/tutorials/lagrangian/reactingParcelFoam/filter/0.org/k
@@ -23,7 +23,7 @@ boundaryField
 {
     walls
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0.0938;
     }
     inlet
diff --git a/tutorials/lagrangian/reactingParcelFoam/filter/0.org/mut b/tutorials/lagrangian/reactingParcelFoam/filter/0.org/nut
similarity index 93%
rename from tutorials/lagrangian/reactingParcelFoam/filter/0.org/mut
rename to tutorials/lagrangian/reactingParcelFoam/filter/0.org/nut
index ed047925d49..c0334a14120 100644
--- a/tutorials/lagrangian/reactingParcelFoam/filter/0.org/mut
+++ b/tutorials/lagrangian/reactingParcelFoam/filter/0.org/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "1";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [ 1 -1 -1 0 0 0 0 ];
+dimensions      [ 0 2 -1 0 0 0 0 ];
 
 internalField   uniform 0;
 
@@ -23,7 +23,7 @@ boundaryField
 {
     walls
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
     inlet
diff --git a/tutorials/lagrangian/reactingParcelFoam/filter/0/epsilon b/tutorials/lagrangian/reactingParcelFoam/filter/0/epsilon
index 741efe7ccbb..448a7a08583 100644
--- a/tutorials/lagrangian/reactingParcelFoam/filter/0/epsilon
+++ b/tutorials/lagrangian/reactingParcelFoam/filter/0/epsilon
@@ -23,7 +23,7 @@ boundaryField
 {
     walls
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 0.0449;
     }
     inlet
diff --git a/tutorials/lagrangian/reactingParcelFoam/filter/0/k b/tutorials/lagrangian/reactingParcelFoam/filter/0/k
index 99ad23a21f3..7d79256b2a2 100644
--- a/tutorials/lagrangian/reactingParcelFoam/filter/0/k
+++ b/tutorials/lagrangian/reactingParcelFoam/filter/0/k
@@ -23,7 +23,7 @@ boundaryField
 {
     walls
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0.0938;
     }
     inlet
diff --git a/tutorials/lagrangian/reactingParcelFoam/filter/0/mut b/tutorials/lagrangian/reactingParcelFoam/filter/0/nut
similarity index 93%
rename from tutorials/lagrangian/reactingParcelFoam/filter/0/mut
rename to tutorials/lagrangian/reactingParcelFoam/filter/0/nut
index ed047925d49..c0334a14120 100644
--- a/tutorials/lagrangian/reactingParcelFoam/filter/0/mut
+++ b/tutorials/lagrangian/reactingParcelFoam/filter/0/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "1";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [ 1 -1 -1 0 0 0 0 ];
+dimensions      [ 0 2 -1 0 0 0 0 ];
 
 internalField   uniform 0;
 
@@ -23,7 +23,7 @@ boundaryField
 {
     walls
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
     inlet
diff --git a/tutorials/lagrangian/reactingParcelFoam/filter/constant/RASProperties b/tutorials/lagrangian/reactingParcelFoam/filter/constant/RASProperties
deleted file mode 100644
index dffc9c2d5bd..00000000000
--- a/tutorials/lagrangian/reactingParcelFoam/filter/constant/RASProperties
+++ /dev/null
@@ -1,24 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel            kEpsilon;
-
-turbulence          on;
-
-printCoeffs         on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/lagrangian/reactingParcelFoam/filter/constant/turbulenceProperties b/tutorials/lagrangian/reactingParcelFoam/filter/constant/turbulenceProperties
index aaccd5feb0f..2939a395ed5 100644
--- a/tutorials/lagrangian/reactingParcelFoam/filter/constant/turbulenceProperties
+++ b/tutorials/lagrangian/reactingParcelFoam/filter/constant/turbulenceProperties
@@ -14,7 +14,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel            kEpsilon;
+
+    turbulence          on;
+
+    printCoeffs         on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/lagrangian/reactingParcelFoam/filter/system/changeDictionaryDict b/tutorials/lagrangian/reactingParcelFoam/filter/system/changeDictionaryDict
index 217e56ec64c..908f3c60e1f 100644
--- a/tutorials/lagrangian/reactingParcelFoam/filter/system/changeDictionaryDict
+++ b/tutorials/lagrangian/reactingParcelFoam/filter/system/changeDictionaryDict
@@ -96,7 +96,7 @@ dictionaryReplacement
             }
         }
     }
-    mut
+    nut
     {
         boundaryField
         {
diff --git a/tutorials/lagrangian/reactingParcelFoam/filter/system/controlDict b/tutorials/lagrangian/reactingParcelFoam/filter/system/controlDict
index 66667655d7c..51019fc93ef 100644
--- a/tutorials/lagrangian/reactingParcelFoam/filter/system/controlDict
+++ b/tutorials/lagrangian/reactingParcelFoam/filter/system/controlDict
@@ -51,12 +51,5 @@ maxCo           1.0;
 
 maxDeltaT       1;
 
-libs
-(
-    "libOpenFOAM.so"
-    "libcompressibleTurbulenceModel.so"
-    "libcompressibleRASModels.so"
-    "libradiationModels.so"
-);
 
 // ************************************************************************* //
diff --git a/tutorials/lagrangian/reactingParcelFoam/filter/system/fvSchemes b/tutorials/lagrangian/reactingParcelFoam/filter/system/fvSchemes
index cbdf8c0b4aa..536c43de095 100644
--- a/tutorials/lagrangian/reactingParcelFoam/filter/system/fvSchemes
+++ b/tutorials/lagrangian/reactingParcelFoam/filter/system/fvSchemes
@@ -36,7 +36,7 @@ divSchemes
     div(phi,k)      Gauss upwind;
     div(phi,epsilon) Gauss upwind;
     div(U)          Gauss linear;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
     div(phi,Yi_h)   Gauss upwind;
 }
 
diff --git a/tutorials/lagrangian/reactingParcelFoam/parcelInBox/system/fvSchemes b/tutorials/lagrangian/reactingParcelFoam/parcelInBox/system/fvSchemes
index e7d730d2f8c..890464255b7 100644
--- a/tutorials/lagrangian/reactingParcelFoam/parcelInBox/system/fvSchemes
+++ b/tutorials/lagrangian/reactingParcelFoam/parcelInBox/system/fvSchemes
@@ -36,7 +36,7 @@ divSchemes
     div(phi,k)      Gauss upwind;
     div(phi,epsilon) Gauss upwind;
     div(phi,omega) Gauss upwind;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
     div(phi,Yi_h)   Gauss upwind;
 }
 
diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/0.org/k b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/0.org/k
index 2a769368937..098b4a6eb05 100644
--- a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/0.org/k
+++ b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/0.org/k
@@ -48,7 +48,7 @@ boundaryField
     }
     walls
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0;
     }
 }
diff --git a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0/mut b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/0.org/nut
similarity index 93%
rename from tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0/mut
rename to tutorials/lagrangian/reactingParcelFoam/verticalChannel/0.org/nut
index 7cfeaae133d..41fe074824a 100644
--- a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0/mut
+++ b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/0.org/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
@@ -46,7 +46,7 @@ boundaryField
     }
     walls
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/0.org/omega b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/0.org/omega
index c1aa352a73f..462084a38f0 100644
--- a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/0.org/omega
+++ b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/0.org/omega
@@ -31,14 +31,14 @@ boundaryField
     }
     inletCentral
     {
-        type            compressible::turbulentMixingLengthFrequencyInlet;
+        type            turbulentMixingLengthFrequencyInlet;
         mixingLength    0.007;
         k               k;
         value           uniform 4.5e-3;
     }
     inletSides
     {
-        type            compressible::turbulentMixingLengthFrequencyInlet;
+        type            turbulentMixingLengthFrequencyInlet;
         mixingLength    0.007;
         k               k;
         value           uniform 4.5e-3;
@@ -50,7 +50,7 @@ boundaryField
     }
     walls
     {
-        type            compressible::omegaWallFunction;
+        type            omegaWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/RASProperties b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/RASProperties
deleted file mode 100644
index 568821b00de..00000000000
--- a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/RASProperties
+++ /dev/null
@@ -1,24 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel            kOmegaSST; // kEpsilon;
-
-turbulence          on;
-
-printCoeffs         on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/turbulenceProperties b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/turbulenceProperties
index aaccd5feb0f..89a95c3f03b 100644
--- a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/turbulenceProperties
+++ b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/turbulenceProperties
@@ -14,7 +14,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel            kOmegaSST;
+
+    turbulence          on;
+
+    printCoeffs         on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/system/fvSchemes b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/system/fvSchemes
index d3296d43385..fb6d354d17e 100644
--- a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/system/fvSchemes
+++ b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/system/fvSchemes
@@ -35,7 +35,7 @@ divSchemes
     div(phi,k)      Gauss upwind;
     div(phi,epsilon) Gauss upwind;
     div(phi,omega) Gauss upwind;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
     div(phi,Yi_h)   Gauss upwind;
 }
 
diff --git a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0.org/k b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0.org/k
index 2a769368937..098b4a6eb05 100644
--- a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0.org/k
+++ b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0.org/k
@@ -48,7 +48,7 @@ boundaryField
     }
     walls
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0;
     }
 }
diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/0.org/mut b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0.org/nut
similarity index 93%
rename from tutorials/lagrangian/reactingParcelFoam/verticalChannel/0.org/mut
rename to tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0.org/nut
index 7cfeaae133d..41fe074824a 100644
--- a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/0.org/mut
+++ b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0.org/nut
@@ -11,11 +11,11 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
@@ -46,7 +46,7 @@ boundaryField
     }
     walls
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
diff --git a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0.org/omega b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0.org/omega
index c1aa352a73f..462084a38f0 100644
--- a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0.org/omega
+++ b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0.org/omega
@@ -31,14 +31,14 @@ boundaryField
     }
     inletCentral
     {
-        type            compressible::turbulentMixingLengthFrequencyInlet;
+        type            turbulentMixingLengthFrequencyInlet;
         mixingLength    0.007;
         k               k;
         value           uniform 4.5e-3;
     }
     inletSides
     {
-        type            compressible::turbulentMixingLengthFrequencyInlet;
+        type            turbulentMixingLengthFrequencyInlet;
         mixingLength    0.007;
         k               k;
         value           uniform 4.5e-3;
@@ -50,7 +50,7 @@ boundaryField
     }
     walls
     {
-        type            compressible::omegaWallFunction;
+        type            omegaWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
diff --git a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0/k b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0/k
index 2a769368937..098b4a6eb05 100644
--- a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0/k
+++ b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0/k
@@ -48,7 +48,7 @@ boundaryField
     }
     walls
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 0;
     }
 }
diff --git a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0/mut b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0/mut
deleted file mode 100644
index 7cfeaae133d..00000000000
--- a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0/mut
+++ /dev/null
@@ -1,58 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       volScalarField;
-    location    "0";
-    object      mut;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-dimensions      [1 -1 -1 0 0 0 0];
-
-internalField   uniform 0;
-
-boundaryField
-{
-    back
-    {
-        type            symmetryPlane;
-    }
-    front
-    {
-        type            symmetryPlane;
-    }
-    inletCentral
-    {
-        type            calculated;
-        value           uniform 0;
-    }
-    inletSides
-    {
-        type            calculated;
-        value           uniform 0;
-    }
-    outlet
-    {
-        type            calculated;
-        value           uniform 0;
-    }
-    walls
-    {
-        type            mutkWallFunction;
-        Cmu             0.09;
-        kappa           0.41;
-        E               9.8;
-        value           uniform 0;
-    }
-}
-
-
-// ************************************************************************* //
diff --git a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0/nut b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0/nut
new file mode 100644
index 00000000000..41fe074824a
--- /dev/null
+++ b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0/nut
@@ -0,0 +1,58 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    location    "0";
+    object      nut;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 2 -1 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    back
+    {
+        type            symmetryPlane;
+    }
+    front
+    {
+        type            symmetryPlane;
+    }
+    inletCentral
+    {
+        type            calculated;
+        value           uniform 0;
+    }
+    inletSides
+    {
+        type            calculated;
+        value           uniform 0;
+    }
+    outlet
+    {
+        type            calculated;
+        value           uniform 0;
+    }
+    walls
+    {
+        type            nutkWallFunction;
+        Cmu             0.09;
+        kappa           0.41;
+        E               9.8;
+        value           uniform 0;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0/omega b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0/omega
index c1aa352a73f..462084a38f0 100644
--- a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0/omega
+++ b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0/omega
@@ -31,14 +31,14 @@ boundaryField
     }
     inletCentral
     {
-        type            compressible::turbulentMixingLengthFrequencyInlet;
+        type            turbulentMixingLengthFrequencyInlet;
         mixingLength    0.007;
         k               k;
         value           uniform 4.5e-3;
     }
     inletSides
     {
-        type            compressible::turbulentMixingLengthFrequencyInlet;
+        type            turbulentMixingLengthFrequencyInlet;
         mixingLength    0.007;
         k               k;
         value           uniform 4.5e-3;
@@ -50,7 +50,7 @@ boundaryField
     }
     walls
     {
-        type            compressible::omegaWallFunction;
+        type            omegaWallFunction;
         Cmu             0.09;
         kappa           0.41;
         E               9.8;
diff --git a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/constant/RASProperties b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/constant/RASProperties
deleted file mode 100644
index 568821b00de..00000000000
--- a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/constant/RASProperties
+++ /dev/null
@@ -1,24 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel            kOmegaSST; // kEpsilon;
-
-turbulence          on;
-
-printCoeffs         on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/constant/turbulenceProperties b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/constant/turbulenceProperties
index aaccd5feb0f..87ceaddfd10 100644
--- a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/constant/turbulenceProperties
+++ b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/constant/turbulenceProperties
@@ -14,7 +14,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel            kOmegaSST; // kEpsilon;
+
+    turbulence          on;
+
+    printCoeffs         on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/system/fvSchemes b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/system/fvSchemes
index d80f5e4e2a5..2091a697594 100644
--- a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/system/fvSchemes
+++ b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/system/fvSchemes
@@ -37,7 +37,7 @@ divSchemes
     div(phi,epsilon) bounded Gauss upwind;
     div(phi,omega) bounded Gauss upwind;
     div(phi,Yi_h)   Gauss upwind;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/lagrangian/sprayFoam/aachenBomb/0/epsilon b/tutorials/lagrangian/sprayFoam/aachenBomb/0/epsilon
index e38ed02784c..c14d3d7e021 100644
--- a/tutorials/lagrangian/sprayFoam/aachenBomb/0/epsilon
+++ b/tutorials/lagrangian/sprayFoam/aachenBomb/0/epsilon
@@ -23,7 +23,7 @@ boundaryField
 {
     walls
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform 90;
     }
 }
diff --git a/tutorials/lagrangian/sprayFoam/aachenBomb/0/k b/tutorials/lagrangian/sprayFoam/aachenBomb/0/k
index 6650fed2abf..434499066b6 100644
--- a/tutorials/lagrangian/sprayFoam/aachenBomb/0/k
+++ b/tutorials/lagrangian/sprayFoam/aachenBomb/0/k
@@ -23,7 +23,7 @@ boundaryField
 {
     walls
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform 1;
     }
 }
diff --git a/tutorials/lagrangian/sprayFoam/aachenBomb/0/mut b/tutorials/lagrangian/sprayFoam/aachenBomb/0/nut
similarity index 90%
rename from tutorials/lagrangian/sprayFoam/aachenBomb/0/mut
rename to tutorials/lagrangian/sprayFoam/aachenBomb/0/nut
index ce6dfaf3ee0..455e7463456 100644
--- a/tutorials/lagrangian/sprayFoam/aachenBomb/0/mut
+++ b/tutorials/lagrangian/sprayFoam/aachenBomb/0/nut
@@ -11,11 +11,11 @@ FoamFile
     format      binary;
     class       volScalarField;
     location    "0";
-    object      mut;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
@@ -23,7 +23,7 @@ boundaryField
 {
     walls
     {
-        type            mutkWallFunction;
+        type            nutkWallFunction;
         value           uniform 0;
     }
 }
diff --git a/tutorials/lagrangian/sprayFoam/aachenBomb/constant/RASProperties b/tutorials/lagrangian/sprayFoam/aachenBomb/constant/RASProperties
deleted file mode 100644
index 648ca445386..00000000000
--- a/tutorials/lagrangian/sprayFoam/aachenBomb/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      binary;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/lagrangian/sprayFoam/aachenBomb/constant/turbulenceProperties b/tutorials/lagrangian/sprayFoam/aachenBomb/constant/turbulenceProperties
index 85d799ea5f1..017f5dba9f2 100644
--- a/tutorials/lagrangian/sprayFoam/aachenBomb/constant/turbulenceProperties
+++ b/tutorials/lagrangian/sprayFoam/aachenBomb/constant/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/lagrangian/sprayFoam/aachenBomb/system/fvSchemes b/tutorials/lagrangian/sprayFoam/aachenBomb/system/fvSchemes
index c4a6d627c3a..d064aca3876 100644
--- a/tutorials/lagrangian/sprayFoam/aachenBomb/system/fvSchemes
+++ b/tutorials/lagrangian/sprayFoam/aachenBomb/system/fvSchemes
@@ -35,7 +35,7 @@ divSchemes
     div(phi,k)      Gauss upwind;
     div(phi,epsilon) Gauss upwind;
     div(U)          Gauss linear;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
     div(phi,Yi_h)   Gauss upwind;
 }
 
diff --git a/tutorials/mesh/foamyHexMesh/mixerVessel/constant/RASProperties b/tutorials/mesh/foamyHexMesh/mixerVessel/constant/RASProperties
deleted file mode 100644
index da54fd75a00..00000000000
--- a/tutorials/mesh/foamyHexMesh/mixerVessel/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     off;
-
-
-// ************************************************************************* //
diff --git a/tutorials/mesh/foamyHexMesh/mixerVessel/constant/turbulenceProperties b/tutorials/mesh/foamyHexMesh/mixerVessel/constant/turbulenceProperties
index e7fa28c74a5..d7309cb8888 100644
--- a/tutorials/mesh/foamyHexMesh/mixerVessel/constant/turbulenceProperties
+++ b/tutorials/mesh/foamyHexMesh/mixerVessel/constant/turbulenceProperties
@@ -15,6 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType RASModel;
+simulationType RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     off;
+}
+
 
 // ************************************************************************* //
diff --git a/tutorials/mesh/foamyHexMesh/mixerVessel/system/fvSchemes b/tutorials/mesh/foamyHexMesh/mixerVessel/system/fvSchemes
index 6ecda2783ce..59d9365ade1 100644
--- a/tutorials/mesh/foamyHexMesh/mixerVessel/system/fvSchemes
+++ b/tutorials/mesh/foamyHexMesh/mixerVessel/system/fvSchemes
@@ -37,7 +37,7 @@ divSchemes
     div(rhoPhi,K)  Gauss upwind;
     div(phi,k)  Gauss upwind;
     div(phi,epsilon) Gauss upwind;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/LTSInterFoam/DTCHull/constant/RASProperties b/tutorials/multiphase/LTSInterFoam/DTCHull/constant/RASProperties
deleted file mode 100644
index e0e6b776a27..00000000000
--- a/tutorials/multiphase/LTSInterFoam/DTCHull/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kOmegaSST;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/LTSInterFoam/DTCHull/constant/turbulenceProperties b/tutorials/multiphase/LTSInterFoam/DTCHull/constant/turbulenceProperties
index 3721a46a2ea..02fa2df1b93 100644
--- a/tutorials/multiphase/LTSInterFoam/DTCHull/constant/turbulenceProperties
+++ b/tutorials/multiphase/LTSInterFoam/DTCHull/constant/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kOmegaSST;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/LTSInterFoam/DTCHull/system/fvSchemes b/tutorials/multiphase/LTSInterFoam/DTCHull/system/fvSchemes
index 5dac7138140..66a883a157d 100644
--- a/tutorials/multiphase/LTSInterFoam/DTCHull/system/fvSchemes
+++ b/tutorials/multiphase/LTSInterFoam/DTCHull/system/fvSchemes
@@ -33,7 +33,7 @@ divSchemes
     div(phirb,alpha) Gauss linear;
     div(phi,k)      Gauss linearUpwind limitedGrad;
     div(phi,omega)  Gauss linearUpwind limitedGrad;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/0/nuSgs b/tutorials/multiphase/cavitatingFoam/les/throttle/0/nut
similarity index 98%
rename from tutorials/multiphase/cavitatingFoam/les/throttle/0/nuSgs
rename to tutorials/multiphase/cavitatingFoam/les/throttle/0/nut
index 6d4b26abea7..f56907e7b47 100644
--- a/tutorials/multiphase/cavitatingFoam/les/throttle/0/nuSgs
+++ b/tutorials/multiphase/cavitatingFoam/les/throttle/0/nut
@@ -11,7 +11,7 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      nuSgs;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/constant/LESProperties b/tutorials/multiphase/cavitatingFoam/les/throttle/constant/LESProperties
deleted file mode 100644
index e6d3db2b5f9..00000000000
--- a/tutorials/multiphase/cavitatingFoam/les/throttle/constant/LESProperties
+++ /dev/null
@@ -1,84 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      LESProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-LESModel        oneEqEddy;
-
-delta           smooth;
-
-cubeRootVolCoeffs
-{
-    deltaCoeff      1;
-}
-
-PrandtlCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-
-        maxDeltaRatio   1.1;
-    }
-
-    Cdelta          0.158;
-}
-
-vanDriestCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-
-        maxDeltaRatio   1.1;
-    }
-
-    Aplus           26;
-    Cdelta          0.158;
-}
-
-smoothCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    maxDeltaRatio   1.1;
-}
-
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/constant/turbulenceProperties b/tutorials/multiphase/cavitatingFoam/les/throttle/constant/turbulenceProperties
index a925d3cc2b2..ec7ce02462c 100644
--- a/tutorials/multiphase/cavitatingFoam/les/throttle/constant/turbulenceProperties
+++ b/tutorials/multiphase/cavitatingFoam/les/throttle/constant/turbulenceProperties
@@ -15,7 +15,79 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  LESModel;
+simulationType  LES;
+
+LES
+{
+    LESModel        kEqn;
+
+    turbulence      on;
+
+    printCoeffs     on;
+
+    delta           smooth;
+
+    cubeRootVolCoeffs
+    {
+        deltaCoeff      1;
+    }
+
+    PrandtlCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        smoothCoeffs
+        {
+            delta           cubeRootVol;
+            cubeRootVolCoeffs
+            {
+                deltaCoeff      1;
+            }
+
+            maxDeltaRatio   1.1;
+        }
+
+        Cdelta          0.158;
+    }
+
+    vanDriestCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        smoothCoeffs
+        {
+            delta           cubeRootVol;
+            cubeRootVolCoeffs
+            {
+                deltaCoeff      1;
+            }
+
+            maxDeltaRatio   1.1;
+        }
+
+        Aplus           26;
+        Cdelta          0.158;
+    }
+
+    smoothCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        maxDeltaRatio   1.1;
+    }
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSchemes b/tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSchemes
index 17346054f62..9072b1b4874 100644
--- a/tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSchemes
+++ b/tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSchemes
@@ -31,7 +31,7 @@ divSchemes
     div(phi,rho)    Gauss vanLeer;
     div(rhoPhi,U)   Gauss LUST grad(U);
     div(phi,k)      Gauss LUST grad(k);
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 gradSchemes
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/0.org/nuSgs b/tutorials/multiphase/cavitatingFoam/les/throttle3D/0.org/nut
similarity index 98%
rename from tutorials/multiphase/cavitatingFoam/les/throttle3D/0.org/nuSgs
rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/0.org/nut
index c4d32cf2ff7..f85002726dd 100644
--- a/tutorials/multiphase/cavitatingFoam/les/throttle3D/0.org/nuSgs
+++ b/tutorials/multiphase/cavitatingFoam/les/throttle3D/0.org/nut
@@ -11,7 +11,7 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      nuSgs;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/LESProperties b/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/LESProperties
deleted file mode 100644
index e6d3db2b5f9..00000000000
--- a/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/LESProperties
+++ /dev/null
@@ -1,84 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      LESProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-LESModel        oneEqEddy;
-
-delta           smooth;
-
-cubeRootVolCoeffs
-{
-    deltaCoeff      1;
-}
-
-PrandtlCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-
-        maxDeltaRatio   1.1;
-    }
-
-    Cdelta          0.158;
-}
-
-vanDriestCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-
-        maxDeltaRatio   1.1;
-    }
-
-    Aplus           26;
-    Cdelta          0.158;
-}
-
-smoothCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    maxDeltaRatio   1.1;
-}
-
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/turbulenceProperties b/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/turbulenceProperties
index a925d3cc2b2..ec7ce02462c 100644
--- a/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/turbulenceProperties
+++ b/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/turbulenceProperties
@@ -15,7 +15,79 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  LESModel;
+simulationType  LES;
+
+LES
+{
+    LESModel        kEqn;
+
+    turbulence      on;
+
+    printCoeffs     on;
+
+    delta           smooth;
+
+    cubeRootVolCoeffs
+    {
+        deltaCoeff      1;
+    }
+
+    PrandtlCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        smoothCoeffs
+        {
+            delta           cubeRootVol;
+            cubeRootVolCoeffs
+            {
+                deltaCoeff      1;
+            }
+
+            maxDeltaRatio   1.1;
+        }
+
+        Cdelta          0.158;
+    }
+
+    vanDriestCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        smoothCoeffs
+        {
+            delta           cubeRootVol;
+            cubeRootVolCoeffs
+            {
+                deltaCoeff      1;
+            }
+
+            maxDeltaRatio   1.1;
+        }
+
+        Aplus           26;
+        Cdelta          0.158;
+    }
+
+    smoothCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        maxDeltaRatio   1.1;
+    }
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSchemes b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSchemes
index 64aa6e54b9d..8753ef178c3 100644
--- a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSchemes
+++ b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSchemes
@@ -32,7 +32,7 @@ divSchemes
     div(phi,rho)    Gauss vanLeer;
     div(rhoPhi,U)   Gauss LUST grad(U);
     div(phi,k)      Gauss LUST grad(k);
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 gradSchemes
diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/RASProperties b/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/RASProperties
deleted file mode 100644
index e0e6b776a27..00000000000
--- a/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kOmegaSST;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/turbulenceProperties b/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/turbulenceProperties
index 3721a46a2ea..02fa2df1b93 100644
--- a/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/turbulenceProperties
+++ b/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kOmegaSST;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSchemes b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSchemes
index 618d1b4a9c9..0235d8bc0f0 100644
--- a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSchemes
+++ b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSchemes
@@ -32,7 +32,7 @@ divSchemes
     div(rhoPhi,U)   Gauss limitedLinearV 1;
     div(phi,omega)  Gauss limitedLinear 1;
     div(phi,k)      Gauss limitedLinear 1;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 gradSchemes
diff --git a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/constant/RASProperties b/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/constant/RASProperties
deleted file mode 100644
index 4773e27a41a..00000000000
--- a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        laminar;
-
-turbulence      off;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/system/fvSchemes b/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/system/fvSchemes
index 045d871d386..c64e1f81078 100644
--- a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/system/fvSchemes
+++ b/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/system/fvSchemes
@@ -37,7 +37,7 @@ divSchemes
     div(rhoPhi,K)  Gauss linear;
     div((phi+meshPhi),p)  Gauss linear;
 
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/LESProperties b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/LESProperties
deleted file mode 100644
index b3cfc0ba03a..00000000000
--- a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/LESProperties
+++ /dev/null
@@ -1,84 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      LESProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-LESModel        laminar;
-
-delta           cubeRootVol;
-
-cubeRootVolCoeffs
-{
-    deltaCoeff      1;
-}
-
-PrandtlCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-
-        maxDeltaRatio   1.1;
-    }
-
-    Cdelta          0.158;
-}
-
-vanDriestCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-
-        maxDeltaRatio   1.1;
-    }
-
-    Aplus           26;
-    Cdelta          0.158;
-}
-
-smoothCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    maxDeltaRatio   1.1;
-}
-
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/polyMesh/boundary b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/polyMesh/boundary
index 81845d8cb3f..85fa84fac74 100644
--- a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/polyMesh/boundary
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/polyMesh/boundary
@@ -20,6 +20,7 @@ FoamFile
     walls
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          480;
         startFace       25360;
     }
diff --git a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/system/fvSchemes b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/system/fvSchemes
index 273c37e720d..990fea86e2f 100644
--- a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/system/fvSchemes
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/system/fvSchemes
@@ -38,7 +38,7 @@ divSchemes
     div(phi,p)      Gauss upwind;
     div(phi,k)      Gauss upwind;
 
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/LESProperties b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/LESProperties
deleted file mode 100644
index b3cfc0ba03a..00000000000
--- a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/LESProperties
+++ /dev/null
@@ -1,84 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      LESProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-LESModel        laminar;
-
-delta           cubeRootVol;
-
-cubeRootVolCoeffs
-{
-    deltaCoeff      1;
-}
-
-PrandtlCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-
-        maxDeltaRatio   1.1;
-    }
-
-    Cdelta          0.158;
-}
-
-vanDriestCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-
-        maxDeltaRatio   1.1;
-    }
-
-    Aplus           26;
-    Cdelta          0.158;
-}
-
-smoothCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    maxDeltaRatio   1.1;
-}
-
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/system/fvSchemes b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/system/fvSchemes
index 273c37e720d..990fea86e2f 100644
--- a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/system/fvSchemes
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/system/fvSchemes
@@ -38,7 +38,7 @@ divSchemes
     div(phi,p)      Gauss upwind;
     div(phi,k)      Gauss upwind;
 
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/compressibleMultiphaseInterFoam/laminar/damBreak4phase/system/fvSchemes b/tutorials/multiphase/compressibleMultiphaseInterFoam/laminar/damBreak4phase/system/fvSchemes
index 0fb6563e2c6..d32c577288f 100644
--- a/tutorials/multiphase/compressibleMultiphaseInterFoam/laminar/damBreak4phase/system/fvSchemes
+++ b/tutorials/multiphase/compressibleMultiphaseInterFoam/laminar/damBreak4phase/system/fvSchemes
@@ -34,7 +34,7 @@ divSchemes
     div(rhoPhi,T)  Gauss upwind;
     div(rhoPhi,K)  Gauss upwind;
     div(phi,p)      Gauss upwind;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/RASProperties b/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/RASProperties
deleted file mode 100644
index e0e6b776a27..00000000000
--- a/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kOmegaSST;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/turbulenceProperties b/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/turbulenceProperties
index 3721a46a2ea..02fa2df1b93 100644
--- a/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/turbulenceProperties
+++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kOmegaSST;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/fvSchemes b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/fvSchemes
index 84b63931146..44668611dfa 100644
--- a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/fvSchemes
+++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/fvSchemes
@@ -33,7 +33,7 @@ divSchemes
     div(phirb,alpha) Gauss linear;
     div(phi,k)      Gauss linearUpwind limitedGrad;
     div(phi,omega)  Gauss linearUpwind limitedGrad;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/constant/RASProperties b/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/constant/RASProperties
deleted file mode 100644
index af7ecd49d2a..00000000000
--- a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kOmegaSST;
-
-turbulence      on;
-
-printCoeffs     off;
-
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/constant/turbulenceProperties b/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/constant/turbulenceProperties
index 09c25018c3d..c2c3b28a1b4 100644
--- a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/constant/turbulenceProperties
+++ b/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/constant/turbulenceProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  laminar; //RASModel;
+simulationType  laminar;
 
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/fvSchemes b/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/fvSchemes
index 020384e5e84..06de48abed2 100644
--- a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/fvSchemes
+++ b/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/fvSchemes
@@ -32,7 +32,7 @@ divSchemes
     div(phirb,alpha) Gauss linear;
     div(phi,k)      Gauss upwind;
     div(phi,omega)  Gauss upwind;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/constant/RASProperties b/tutorials/multiphase/interDyMFoam/ras/floatingObject/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/multiphase/interDyMFoam/ras/floatingObject/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/constant/turbulenceProperties b/tutorials/multiphase/interDyMFoam/ras/floatingObject/constant/turbulenceProperties
index c2021e7271a..cd2daf8229b 100644
--- a/tutorials/multiphase/interDyMFoam/ras/floatingObject/constant/turbulenceProperties
+++ b/tutorials/multiphase/interDyMFoam/ras/floatingObject/constant/turbulenceProperties
@@ -15,6 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
+
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/system/fvSchemes b/tutorials/multiphase/interDyMFoam/ras/floatingObject/system/fvSchemes
index 88424a730cb..4749335ec9d 100644
--- a/tutorials/multiphase/interDyMFoam/ras/floatingObject/system/fvSchemes
+++ b/tutorials/multiphase/interDyMFoam/ras/floatingObject/system/fvSchemes
@@ -32,7 +32,7 @@ divSchemes
     div(phirb,alpha) Gauss linear;
     div(phi,k)      Gauss upwind;
     div(phi,epsilon) Gauss upwind;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/RASProperties b/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/RASProperties
deleted file mode 100644
index da54fd75a00..00000000000
--- a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     off;
-
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/turbulenceProperties b/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/turbulenceProperties
index e7fa28c74a5..d7309cb8888 100644
--- a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/turbulenceProperties
+++ b/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/turbulenceProperties
@@ -15,6 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType RASModel;
+simulationType RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     off;
+}
+
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/system/fvSchemes b/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/system/fvSchemes
index bf1d065bcab..59d9365ade1 100644
--- a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/system/fvSchemes
+++ b/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/system/fvSchemes
@@ -37,9 +37,7 @@ divSchemes
     div(rhoPhi,K)  Gauss upwind;
     div(phi,k)  Gauss upwind;
     div(phi,epsilon) Gauss upwind;
-    div((muEff*dev2(T(grad(U))))) Gauss linear;
-
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/constant/RASProperties b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/constant/RASProperties
deleted file mode 100644
index 4773e27a41a..00000000000
--- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        laminar;
-
-turbulence      off;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/fvSchemes b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/fvSchemes
index e9bac3f7107..a956c193826 100644
--- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/fvSchemes
+++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/fvSchemes
@@ -30,7 +30,7 @@ divSchemes
     div(rhoPhi,U)  Gauss vanLeerV;
     div(phi,alpha)  Gauss vanLeer;
     div(phirb,alpha) Gauss vanLeer;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/constant/RASProperties b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/constant/RASProperties
deleted file mode 100644
index 4773e27a41a..00000000000
--- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        laminar;
-
-turbulence      off;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/fvSchemes b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/fvSchemes
index e9bac3f7107..a956c193826 100644
--- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/fvSchemes
+++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/fvSchemes
@@ -30,7 +30,7 @@ divSchemes
     div(rhoPhi,U)  Gauss vanLeerV;
     div(phi,alpha)  Gauss vanLeer;
     div(phirb,alpha) Gauss vanLeer;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/constant/RASProperties b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/constant/RASProperties
deleted file mode 100644
index 4773e27a41a..00000000000
--- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        laminar;
-
-turbulence      off;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/fvSchemes b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/fvSchemes
index e9bac3f7107..a956c193826 100644
--- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/fvSchemes
+++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/fvSchemes
@@ -30,7 +30,7 @@ divSchemes
     div(rhoPhi,U)  Gauss vanLeerV;
     div(phi,alpha)  Gauss vanLeer;
     div(phirb,alpha) Gauss vanLeer;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/fvSchemes b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/fvSchemes
index e9bac3f7107..a956c193826 100644
--- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/fvSchemes
+++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/fvSchemes
@@ -30,7 +30,7 @@ divSchemes
     div(rhoPhi,U)  Gauss vanLeerV;
     div(phi,alpha)  Gauss vanLeer;
     div(phirb,alpha) Gauss vanLeer;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/constant/RASProperties b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/constant/RASProperties
deleted file mode 100644
index 4773e27a41a..00000000000
--- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        laminar;
-
-turbulence      off;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/fvSchemes b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/fvSchemes
index e9bac3f7107..a956c193826 100644
--- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/fvSchemes
+++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/fvSchemes
@@ -30,7 +30,7 @@ divSchemes
     div(rhoPhi,U)  Gauss vanLeerV;
     div(phi,alpha)  Gauss vanLeer;
     div(phirb,alpha) Gauss vanLeer;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/constant/RASProperties b/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/constant/RASProperties
deleted file mode 100644
index 4773e27a41a..00000000000
--- a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        laminar;
-
-turbulence      off;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/fvSchemes b/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/fvSchemes
index e9bac3f7107..a956c193826 100644
--- a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/fvSchemes
+++ b/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/fvSchemes
@@ -30,7 +30,7 @@ divSchemes
     div(rhoPhi,U)  Gauss vanLeerV;
     div(phi,alpha)  Gauss vanLeer;
     div(phirb,alpha) Gauss vanLeer;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/interFoam/laminar/capillaryRise/system/fvSchemes b/tutorials/multiphase/interFoam/laminar/capillaryRise/system/fvSchemes
index cdfd201c6e3..6f42b083edc 100644
--- a/tutorials/multiphase/interFoam/laminar/capillaryRise/system/fvSchemes
+++ b/tutorials/multiphase/interFoam/laminar/capillaryRise/system/fvSchemes
@@ -30,7 +30,7 @@ divSchemes
     div(rhoPhi,U)  Gauss upwind;
     div(phi,alpha)  Gauss vanLeer;
     div(phirb,alpha) Gauss linear;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSchemes b/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSchemes
index cdd6f1ed153..ba6f492d2ea 100644
--- a/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSchemes
+++ b/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSchemes
@@ -30,7 +30,7 @@ divSchemes
     div(rhoPhi,U)  Gauss linearUpwind grad(U);
     div(phi,alpha)  Gauss vanLeer;
     div(phirb,alpha) Gauss linear;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/interFoam/laminar/mixerVessel2D/system/fvSchemes b/tutorials/multiphase/interFoam/laminar/mixerVessel2D/system/fvSchemes
index a90bcae2d34..e4c518a2479 100644
--- a/tutorials/multiphase/interFoam/laminar/mixerVessel2D/system/fvSchemes
+++ b/tutorials/multiphase/interFoam/laminar/mixerVessel2D/system/fvSchemes
@@ -30,7 +30,7 @@ divSchemes
     div(rhoPhi,U)  Gauss linear;
     div(phi,alpha)  Gauss vanLeer;
     div(phirb,alpha) Gauss linear;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/0/nuSgs b/tutorials/multiphase/interFoam/les/nozzleFlow2D/0/nut
similarity index 98%
rename from tutorials/multiphase/interFoam/les/nozzleFlow2D/0/nuSgs
rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/0/nut
index 95e02c374ea..7b34de6ad32 100644
--- a/tutorials/multiphase/interFoam/les/nozzleFlow2D/0/nuSgs
+++ b/tutorials/multiphase/interFoam/les/nozzleFlow2D/0/nut
@@ -10,7 +10,7 @@ FoamFile
     version     2.0;
     format      ascii;
     class       volScalarField;
-    object      nuSgs;
+    object      nut;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/LESProperties b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/LESProperties
deleted file mode 100644
index 720e13925e4..00000000000
--- a/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/LESProperties
+++ /dev/null
@@ -1,86 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      LESProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-LESModel        oneEqEddy;
-
-delta           smooth;
-
-printCoeffs     on;
-
-cubeRootVolCoeffs
-{
-    deltaCoeff      1;
-}
-
-PrandtlCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-
-        maxDeltaRatio   1.1;
-    }
-
-    Cdelta          0.158;
-}
-
-vanDriestCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    smoothCoeffs
-    {
-        delta           cubeRootVol;
-        cubeRootVolCoeffs
-        {
-            deltaCoeff      1;
-        }
-
-        maxDeltaRatio   1.1;
-    }
-
-    Aplus           26;
-    Cdelta          0.158;
-}
-
-smoothCoeffs
-{
-    delta           cubeRootVol;
-    cubeRootVolCoeffs
-    {
-        deltaCoeff      1;
-    }
-
-    maxDeltaRatio   1.1;
-}
-
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/turbulenceProperties b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/turbulenceProperties
index a925d3cc2b2..b0b4dcee0f3 100644
--- a/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/turbulenceProperties
+++ b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/turbulenceProperties
@@ -15,7 +15,78 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  LESModel;
+simulationType  LES;
 
+LES
+{
+    LESModel        kEqn;
+
+    turbulence      on;
+
+    printCoeffs     on;
+
+    delta           smooth;
+
+    cubeRootVolCoeffs
+    {
+        deltaCoeff      1;
+    }
+
+    PrandtlCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        smoothCoeffs
+        {
+            delta           cubeRootVol;
+            cubeRootVolCoeffs
+            {
+                deltaCoeff      1;
+            }
+
+            maxDeltaRatio   1.1;
+        }
+
+        Cdelta          0.158;
+    }
+
+    vanDriestCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        smoothCoeffs
+        {
+            delta           cubeRootVol;
+            cubeRootVolCoeffs
+            {
+                deltaCoeff      1;
+            }
+
+            maxDeltaRatio   1.1;
+        }
+
+        Aplus           26;
+        Cdelta          0.158;
+    }
+
+    smoothCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        maxDeltaRatio   1.1;
+    }
+}
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSchemes b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSchemes
index 07bd316e0ea..9510ee686d0 100644
--- a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSchemes
+++ b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSchemes
@@ -34,7 +34,7 @@ divSchemes
     div(phi,B)      Gauss limitedLinear 1;
     div(B)          Gauss linear;
     div(phi,nuTilda) Gauss limitedLinear 1;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/interFoam/ras/Allclean b/tutorials/multiphase/interFoam/ras/Allclean
index 236e233b97e..8b652373baa 100755
--- a/tutorials/multiphase/interFoam/ras/Allclean
+++ b/tutorials/multiphase/interFoam/ras/Allclean
@@ -4,7 +4,7 @@ cd ${0%/*} || exit 1    # Run from this directory
 # Source tutorial clean functions
 . $WM_PROJECT_DIR/bin/tools/CleanFunctions
 
-keepCases="damBreak damBreakPorousBaffle weirOverflow waterChannel"
+keepCases="damBreak damBreakPorousBaffle weirOverflow waterChannel angledDuct"
 loseCases="damBreakFine"
 
 for case in $keepCases
diff --git a/tutorials/multiphase/interFoam/ras/angledDuct/constant/RASProperties b/tutorials/multiphase/interFoam/ras/angledDuct/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/multiphase/interFoam/ras/angledDuct/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interFoam/ras/angledDuct/constant/turbulenceProperties b/tutorials/multiphase/interFoam/ras/angledDuct/constant/turbulenceProperties
index 3721a46a2ea..cd2daf8229b 100644
--- a/tutorials/multiphase/interFoam/ras/angledDuct/constant/turbulenceProperties
+++ b/tutorials/multiphase/interFoam/ras/angledDuct/constant/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/interFoam/ras/angledDuct/system/fvSchemes b/tutorials/multiphase/interFoam/ras/angledDuct/system/fvSchemes
index f44c0bc2a64..749207137df 100644
--- a/tutorials/multiphase/interFoam/ras/angledDuct/system/fvSchemes
+++ b/tutorials/multiphase/interFoam/ras/angledDuct/system/fvSchemes
@@ -32,7 +32,7 @@ divSchemes
     div(phirb,alpha) Gauss linear;
     div(phi,k)      Gauss upwind;
     div(phi,epsilon) Gauss upwind;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/interFoam/ras/damBreak/constant/RASProperties b/tutorials/multiphase/interFoam/ras/damBreak/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/multiphase/interFoam/ras/damBreak/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interFoam/ras/damBreak/constant/polyMesh/boundary b/tutorials/multiphase/interFoam/ras/damBreak/constant/polyMesh/boundary
index 1b4dbb60aae..79ef3a79e11 100644
--- a/tutorials/multiphase/interFoam/ras/damBreak/constant/polyMesh/boundary
+++ b/tutorials/multiphase/interFoam/ras/damBreak/constant/polyMesh/boundary
@@ -20,18 +20,21 @@ FoamFile
     leftWall
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          50;
         startFace       4432;
     }
     rightWall
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          50;
         startFace       4482;
     }
     lowerWall
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          62;
         startFace       4532;
     }
diff --git a/tutorials/multiphase/interFoam/ras/damBreak/constant/turbulenceProperties b/tutorials/multiphase/interFoam/ras/damBreak/constant/turbulenceProperties
index 3721a46a2ea..cd2daf8229b 100644
--- a/tutorials/multiphase/interFoam/ras/damBreak/constant/turbulenceProperties
+++ b/tutorials/multiphase/interFoam/ras/damBreak/constant/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/interFoam/ras/damBreak/system/fvSchemes b/tutorials/multiphase/interFoam/ras/damBreak/system/fvSchemes
index 3bc53475986..960ff2562c0 100644
--- a/tutorials/multiphase/interFoam/ras/damBreak/system/fvSchemes
+++ b/tutorials/multiphase/interFoam/ras/damBreak/system/fvSchemes
@@ -32,7 +32,7 @@ divSchemes
     div(phirb,alpha) Gauss linear;
     div(phi,k)      Gauss upwind;
     div(phi,epsilon) Gauss upwind;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/p_rgh b/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/p_rgh
index 6fe05fbb320..f24e6e1ede3 100644
--- a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/p_rgh
+++ b/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/p_rgh
@@ -59,7 +59,7 @@ boundaryField
         jump            uniform 0;
         value           uniform 0;
         D               1000;
-        I               1000;
+        I               500;
         length          0.15;
     }
     porous_half1
@@ -68,7 +68,7 @@ boundaryField
         patchType       cyclic;
         value           uniform 0;
         D               1000;
-        I               1000;
+        I               500;
         length          0.15;
     }
 }
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/constant/RASProperties b/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/constant/polyMesh/boundary b/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/constant/polyMesh/boundary
index 49282f81f06..45396d40745 100644
--- a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/constant/polyMesh/boundary
+++ b/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/constant/polyMesh/boundary
@@ -20,18 +20,21 @@ FoamFile
     leftWall
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          50;
         startFace       4419;
     }
     rightWall
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          50;
         startFace       4469;
     }
     lowerWall
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          62;
         startFace       4519;
     }
@@ -51,7 +54,13 @@ FoamFile
     porous_half0
     {
         type            cyclic;
-        inGroups        1(cyclic);
+        inGroups
+2
+(
+cyclic
+cyclicFaces
+)
+;
         nFaces          13;
         startFace       9163;
         matchTolerance  0.0001;
@@ -61,7 +70,13 @@ FoamFile
     porous_half1
     {
         type            cyclic;
-        inGroups        1(cyclic);
+        inGroups
+2
+(
+cyclic
+cyclicFaces
+)
+;
         nFaces          13;
         startFace       9176;
         matchTolerance  0.0001;
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/constant/turbulenceProperties b/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/constant/turbulenceProperties
index 3721a46a2ea..cd2daf8229b 100644
--- a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/constant/turbulenceProperties
+++ b/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/constant/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/controlDict b/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/controlDict
index 53bb12ff938..f66e5d7c776 100644
--- a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/controlDict
+++ b/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/controlDict
@@ -52,11 +52,5 @@ maxAlphaCo      0.1;
 
 maxDeltaT       1;
 
-libs
-(
-    "libturbulenceDerivedFvPatchFields.so"
-    "libincompressibleTurbulenceModel.so"
-    "libincompressibleRASModels.so"
-);
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/fvSchemes b/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/fvSchemes
index 3bc53475986..960ff2562c0 100644
--- a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/fvSchemes
+++ b/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/fvSchemes
@@ -32,7 +32,7 @@ divSchemes
     div(phirb,alpha) Gauss linear;
     div(phi,k)      Gauss upwind;
     div(phi,epsilon) Gauss upwind;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/LTSInterFoam/system/fvSchemes b/tutorials/multiphase/interFoam/ras/waterChannel/LTSInterFoam/system/fvSchemes
index a05ac072d7c..22019100ddb 100644
--- a/tutorials/multiphase/interFoam/ras/waterChannel/LTSInterFoam/system/fvSchemes
+++ b/tutorials/multiphase/interFoam/ras/waterChannel/LTSInterFoam/system/fvSchemes
@@ -32,7 +32,7 @@ divSchemes
     div(phirb,alpha) Gauss linear;
     div(phi,k)      Gauss upwind;
     div(phi,omega)  Gauss upwind;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/constant/RASProperties b/tutorials/multiphase/interFoam/ras/waterChannel/constant/RASProperties
deleted file mode 100644
index 34da39d900e..00000000000
--- a/tutorials/multiphase/interFoam/ras/waterChannel/constant/RASProperties
+++ /dev/null
@@ -1,24 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kOmegaSST;
-
-turbulence      on;
-
-printCoeffs     on;
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/constant/turbulenceProperties b/tutorials/multiphase/interFoam/ras/waterChannel/constant/turbulenceProperties
index 3721a46a2ea..02fa2df1b93 100644
--- a/tutorials/multiphase/interFoam/ras/waterChannel/constant/turbulenceProperties
+++ b/tutorials/multiphase/interFoam/ras/waterChannel/constant/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kOmegaSST;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/system/fvSchemes b/tutorials/multiphase/interFoam/ras/waterChannel/system/fvSchemes
index 8774b16c15f..42584c41cb5 100644
--- a/tutorials/multiphase/interFoam/ras/waterChannel/system/fvSchemes
+++ b/tutorials/multiphase/interFoam/ras/waterChannel/system/fvSchemes
@@ -34,7 +34,7 @@ divSchemes
     div(phirb,alpha)    Gauss linear;
 
     "div\(phi,(k|omega)\)"      Gauss upwind;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/interFoam/ras/weirOverflow/constant/RASProperties b/tutorials/multiphase/interFoam/ras/weirOverflow/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/multiphase/interFoam/ras/weirOverflow/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interFoam/ras/weirOverflow/constant/turbulenceProperties b/tutorials/multiphase/interFoam/ras/weirOverflow/constant/turbulenceProperties
index 3721a46a2ea..cd2daf8229b 100644
--- a/tutorials/multiphase/interFoam/ras/weirOverflow/constant/turbulenceProperties
+++ b/tutorials/multiphase/interFoam/ras/weirOverflow/constant/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/interFoam/ras/weirOverflow/system/fvSchemes b/tutorials/multiphase/interFoam/ras/weirOverflow/system/fvSchemes
index 40392f6f90a..ba84fd84f37 100644
--- a/tutorials/multiphase/interFoam/ras/weirOverflow/system/fvSchemes
+++ b/tutorials/multiphase/interFoam/ras/weirOverflow/system/fvSchemes
@@ -35,7 +35,7 @@ divSchemes
     div(phi,R)      Gauss upwind;
     div(R)          Gauss linear;
     div(phi,nuTilda) Gauss upwind;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSchemes b/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSchemes
index 31b1e85b563..b0d1f73aac1 100644
--- a/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSchemes
+++ b/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSchemes
@@ -30,7 +30,7 @@ divSchemes
     div(rhoPhi,U)  Gauss limitedLinearV 1;
     div(phi,alpha)  Gauss vanLeer;
     div(phirb,alpha) Gauss linear;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/constant/RASProperties b/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/constant/turbulenceProperties b/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/constant/turbulenceProperties
index 3721a46a2ea..cd2daf8229b 100644
--- a/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/constant/turbulenceProperties
+++ b/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/constant/turbulenceProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  RASModel;
+simulationType  RAS;
+
+RAS
+{
+    RASModel        kEpsilon;
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/system/controlDict b/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/system/controlDict
index a121b19ddf1..3ff478fa50b 100644
--- a/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/system/controlDict
+++ b/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/system/controlDict
@@ -15,12 +15,6 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-libs
-(
-    "libincompressibleTurbulenceModel.so"
-    "libincompressibleRASModels.so"
-);
-
 application     interPhaseChangeDyMFoam;
 
 startFrom       startTime;
diff --git a/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/system/fvSchemes b/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/system/fvSchemes
index 663657c0474..7f42a48fe4f 100644
--- a/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/system/fvSchemes
+++ b/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/system/fvSchemes
@@ -36,7 +36,7 @@ divSchemes
     div(phi,k)          Gauss upwind;
     div(phi,epsilon)    Gauss upwind;
 
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/system/fvSchemes b/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/system/fvSchemes
index 2c2507cfbfb..a61518f6189 100644
--- a/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/system/fvSchemes
+++ b/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/system/fvSchemes
@@ -32,7 +32,7 @@ divSchemes
     div(phi,k)           Gauss linearUpwind grad(k);
     div(phi,alpha)       Gauss vanLeer;
     div(phirb,alpha)     Gauss linear;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 gradSchemes
diff --git a/tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/constant/LESProperties b/tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/constant/LESProperties
deleted file mode 100644
index ec20bc01dc6..00000000000
--- a/tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/constant/LESProperties
+++ /dev/null
@@ -1,29 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      LESProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-LESModel        laminar;
-
-printCoeffs     on;
-
-delta           cubeRootVol;
-
-cubeRootVolCoeffs
-{
-    deltaCoeff      1;
-}
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/constant/polyMesh/boundary b/tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/constant/polyMesh/boundary
index bf47f69643c..4564ccc46a6 100644
--- a/tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/constant/polyMesh/boundary
+++ b/tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/constant/polyMesh/boundary
@@ -32,6 +32,7 @@ FoamFile
     walls
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          150;
         startFace       3700;
     }
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/constant/RASProperties b/tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/constant/turbulenceProperties
similarity index 91%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/constant/RASProperties
rename to tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/constant/turbulenceProperties
index 8107da2ca19..c2c3b28a1b4 100644
--- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/constant/RASProperties
+++ b/tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/constant/turbulenceProperties
@@ -11,13 +11,11 @@ FoamFile
     format      ascii;
     class       dictionary;
     location    "constant";
-    object      RASProperties;
+    object      turbulenceProperties;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-RASModel        laminar;
-
-turbulence      off;
+simulationType  laminar;
 
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/multiphaseEulerFoam/damBreak4phase/constant/LESProperties b/tutorials/multiphase/multiphaseEulerFoam/damBreak4phase/constant/LESProperties
deleted file mode 100644
index ec20bc01dc6..00000000000
--- a/tutorials/multiphase/multiphaseEulerFoam/damBreak4phase/constant/LESProperties
+++ /dev/null
@@ -1,29 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      LESProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-LESModel        laminar;
-
-printCoeffs     on;
-
-delta           cubeRootVol;
-
-cubeRootVolCoeffs
-{
-    deltaCoeff      1;
-}
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/multiphaseEulerFoam/damBreak4phase/constant/polyMesh/boundary b/tutorials/multiphase/multiphaseEulerFoam/damBreak4phase/constant/polyMesh/boundary
index 1b4dbb60aae..79ef3a79e11 100644
--- a/tutorials/multiphase/multiphaseEulerFoam/damBreak4phase/constant/polyMesh/boundary
+++ b/tutorials/multiphase/multiphaseEulerFoam/damBreak4phase/constant/polyMesh/boundary
@@ -20,18 +20,21 @@ FoamFile
     leftWall
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          50;
         startFace       4432;
     }
     rightWall
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          50;
         startFace       4482;
     }
     lowerWall
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          62;
         startFace       4532;
     }
diff --git a/tutorials/multiphase/multiphaseEulerFoam/damBreak4phaseFine/constant/LESProperties b/tutorials/multiphase/multiphaseEulerFoam/damBreak4phaseFine/constant/LESProperties
deleted file mode 100644
index ec20bc01dc6..00000000000
--- a/tutorials/multiphase/multiphaseEulerFoam/damBreak4phaseFine/constant/LESProperties
+++ /dev/null
@@ -1,29 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      LESProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-LESModel        laminar;
-
-printCoeffs     on;
-
-delta           cubeRootVol;
-
-cubeRootVolCoeffs
-{
-    deltaCoeff      1;
-}
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/multiphaseEulerFoam/damBreak4phaseFine/constant/polyMesh/boundary b/tutorials/multiphase/multiphaseEulerFoam/damBreak4phaseFine/constant/polyMesh/boundary
index a477fd3cba1..f1ec545053d 100644
--- a/tutorials/multiphase/multiphaseEulerFoam/damBreak4phaseFine/constant/polyMesh/boundary
+++ b/tutorials/multiphase/multiphaseEulerFoam/damBreak4phaseFine/constant/polyMesh/boundary
@@ -20,18 +20,21 @@ FoamFile
     leftWall
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          195;
         startFace       68014;
     }
     rightWall
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          195;
         startFace       68209;
     }
     lowerWall
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          206;
         startFace       68404;
     }
diff --git a/tutorials/multiphase/multiphaseEulerFoam/mixerVessel2D/constant/LESProperties b/tutorials/multiphase/multiphaseEulerFoam/mixerVessel2D/constant/LESProperties
deleted file mode 100644
index ec20bc01dc6..00000000000
--- a/tutorials/multiphase/multiphaseEulerFoam/mixerVessel2D/constant/LESProperties
+++ /dev/null
@@ -1,29 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      LESProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-LESModel        laminar;
-
-printCoeffs     on;
-
-delta           cubeRootVol;
-
-cubeRootVolCoeffs
-{
-    deltaCoeff      1;
-}
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/multiphaseEulerFoam/mixerVessel2D/constant/polyMesh/boundary b/tutorials/multiphase/multiphaseEulerFoam/mixerVessel2D/constant/polyMesh/boundary
index 188a0f0c58b..5c2a6cf99c5 100644
--- a/tutorials/multiphase/multiphaseEulerFoam/mixerVessel2D/constant/polyMesh/boundary
+++ b/tutorials/multiphase/multiphaseEulerFoam/mixerVessel2D/constant/polyMesh/boundary
@@ -20,12 +20,14 @@ FoamFile
     rotor
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          192;
         startFace       5952;
     }
     stator
     {
         type            wall;
+        inGroups        1(wall);
         nFaces          192;
         startFace       6144;
     }
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomWater/RASProperties b/tutorials/multiphase/multiphaseEulerFoam/mixerVessel2D/constant/turbulenceProperties
similarity index 89%
rename from tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomWater/RASProperties
rename to tutorials/multiphase/multiphaseEulerFoam/mixerVessel2D/constant/turbulenceProperties
index 09a9a55851d..c2c3b28a1b4 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomWater/RASProperties
+++ b/tutorials/multiphase/multiphaseEulerFoam/mixerVessel2D/constant/turbulenceProperties
@@ -10,15 +10,12 @@ FoamFile
     version     2.0;
     format      ascii;
     class       dictionary;
-    object      RASProperties;
+    location    "constant";
+    object      turbulenceProperties;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-RASModel laminar;
-
-turbulence      on;
-
-printCoeffs     on;
+simulationType  laminar;
 
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D/constant/RASProperties b/tutorials/multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D/constant/RASProperties
deleted file mode 100644
index a4937b503a4..00000000000
--- a/tutorials/multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D/constant/RASProperties
+++ /dev/null
@@ -1,25 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D/system/fvSchemes b/tutorials/multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D/system/fvSchemes
index d640b56b899..2234c3afd1c 100644
--- a/tutorials/multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D/system/fvSchemes
+++ b/tutorials/multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D/system/fvSchemes
@@ -30,7 +30,7 @@ divSchemes
     div(rhoPhi,U)       Gauss limitedLinearV 1;
     div(phi,alpha)      Gauss vanLeer;
     div(phirb,alpha)    Gauss linear;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase/system/fvSchemes b/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase/system/fvSchemes
index 69de4bdbcd8..f4c635c895d 100644
--- a/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase/system/fvSchemes
+++ b/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase/system/fvSchemes
@@ -32,7 +32,7 @@ divSchemes
     div(rhoPhi,U)   Gauss upwind;
     div(phi,alpha)  Gauss vanLeer;
     div(phirb,alpha) Gauss linear;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine/system/fvSchemes b/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine/system/fvSchemes
index 69de4bdbcd8..f4c635c895d 100644
--- a/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine/system/fvSchemes
+++ b/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine/system/fvSchemes
@@ -32,7 +32,7 @@ divSchemes
     div(rhoPhi,U)   Gauss upwind;
     div(phi,alpha)  Gauss vanLeer;
     div(phirb,alpha) Gauss linear;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/multiphaseInterFoam/laminar/mixerVessel2D/system/fvSchemes b/tutorials/multiphase/multiphaseInterFoam/laminar/mixerVessel2D/system/fvSchemes
index 9f1495f1726..0844c2a1e1e 100644
--- a/tutorials/multiphase/multiphaseInterFoam/laminar/mixerVessel2D/system/fvSchemes
+++ b/tutorials/multiphase/multiphaseInterFoam/laminar/mixerVessel2D/system/fvSchemes
@@ -30,7 +30,7 @@ divSchemes
     div(rhoPhi,U)  Gauss limitedLinearV 1;
     div(phi,alpha)  Gauss vanLeer;
     div(phirb,alpha) Gauss linear;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/potentialFreeSurfaceDyMFoam/oscillatingBox/system/fvSchemes b/tutorials/multiphase/potentialFreeSurfaceDyMFoam/oscillatingBox/system/fvSchemes
index 51db9cc4903..a5bdba477d6 100644
--- a/tutorials/multiphase/potentialFreeSurfaceDyMFoam/oscillatingBox/system/fvSchemes
+++ b/tutorials/multiphase/potentialFreeSurfaceDyMFoam/oscillatingBox/system/fvSchemes
@@ -29,7 +29,7 @@ divSchemes
 {
     default         none;
     div(phi,U)      Gauss upwind;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/potentialFreeSurfaceFoam/oscillatingBox/system/fvSchemes b/tutorials/multiphase/potentialFreeSurfaceFoam/oscillatingBox/system/fvSchemes
index 9ff435c167a..4f34ad12222 100644
--- a/tutorials/multiphase/potentialFreeSurfaceFoam/oscillatingBox/system/fvSchemes
+++ b/tutorials/multiphase/potentialFreeSurfaceFoam/oscillatingBox/system/fvSchemes
@@ -31,7 +31,7 @@ divSchemes
 {
     default         none;
     div(phi,U)      Gauss upwind;
-    div((nuEff*dev(T(grad(U))))) Gauss linear;
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/twoLiquidMixingFoam/lockExchange/system/fvSchemes b/tutorials/multiphase/twoLiquidMixingFoam/lockExchange/system/fvSchemes
index 84a24f49246..133816f9e5c 100644
--- a/tutorials/multiphase/twoLiquidMixingFoam/lockExchange/system/fvSchemes
+++ b/tutorials/multiphase/twoLiquidMixingFoam/lockExchange/system/fvSchemes
@@ -33,7 +33,7 @@ divSchemes
     div(rhoPhi,U)  Gauss linear;
     div(phi,alpha)  Gauss vanLeer;
     div(phi,k)      Gauss limitedLinear 1;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
-- 
GitLab