From ab0dd1f1a833ebd49ff9fda9fff521f90ed6ddf9 Mon Sep 17 00:00:00 2001
From: Kutalmis Bercin <kutalmis.bercin@esi-group.com>
Date: Sat, 21 Dec 2019 12:49:44 +0000
Subject: [PATCH] DEFEATURE: deprecate v2f model in favour of kEpsilonPhitF
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

  - kEpsilonPhitF is a kEpsilon-based model which originated
    from (Durbin, 1995)’s v2-f methodology. However, the majority of
    v2-f model variants proved to be numerically stiff for segregated
    solution algorithms due to the coupled formulations of v2 and f fields,
    particularly on wall boundaries.

    The v2-f variant (i.e. OpenFOAM’s v2f model) due to
    (Lien and Kalitzin, 2001) reformulated the original v2-f model to enable
    segregated computations; however, a number of shortcomings regarding
    the model fidelity were reported in the literature.

    To overcome the shortcomings of the v2-f methodology, the v2-f approach
    was re-evaluated by (Laurence et al., 2005) by transforming v2 scale into
    its equivalent non-dimensional form, i.e. phit, to reduce the numerical
    stiffness.
    This variant, i.e. kEpsilonPhitF, is believed to provide numerical
    robustness, and insensitivity to grid anomalies while retaining the
    theoretical model fidelity of the original v2-f model.

    Accordingly the v2f RANS model is deprecated in favour of the variant
    kEpsilonPhitF model.
---
 .../turbulentFluidThermoModels.C              |   3 -
 .../turbulentTransportModels.C                |   3 -
 .../turbulenceModels/Make/files               |   8 -
 .../RAS/kEpsilonPhitF/kEpsilonPhitF.C         |   1 -
 .../RAS/kEpsilonPhitF/kEpsilonPhitF.H         |   6 +-
 .../RAS/kEpsilonPhitF/kEpsilonPhitFBase.C     |  43 --
 .../RAS/kEpsilonPhitF/kEpsilonPhitFBase.H     |  98 ----
 .../turbulenceModels/RAS/v2f/v2f.C            | 435 ------------------
 .../turbulenceModels/RAS/v2f/v2f.H            | 286 ------------
 .../turbulenceModels/RAS/v2f/v2fBase.C        |  43 --
 .../turbulenceModels/RAS/v2f/v2fBase.H        |  98 ----
 .../fWallFunctionFvPatchScalarField.C         | 198 --------
 .../fWallFunctionFvPatchScalarField.H         | 192 --------
 .../v2WallFunctionFvPatchScalarField.C        | 191 --------
 .../v2WallFunctionFvPatchScalarField.H        | 194 --------
 .../incompressible/simpleFoam/pitzDaily/0/f   |  49 --
 .../incompressible/simpleFoam/pitzDaily/0/v2  |  50 --
 .../pitzDaily/constant/turbulenceProperties   |   2 +-
 18 files changed, 3 insertions(+), 1897 deletions(-)
 delete mode 100644 src/TurbulenceModels/turbulenceModels/RAS/kEpsilonPhitF/kEpsilonPhitFBase.C
 delete mode 100644 src/TurbulenceModels/turbulenceModels/RAS/kEpsilonPhitF/kEpsilonPhitFBase.H
 delete mode 100644 src/TurbulenceModels/turbulenceModels/RAS/v2f/v2f.C
 delete mode 100644 src/TurbulenceModels/turbulenceModels/RAS/v2f/v2f.H
 delete mode 100644 src/TurbulenceModels/turbulenceModels/RAS/v2f/v2fBase.C
 delete mode 100644 src/TurbulenceModels/turbulenceModels/RAS/v2f/v2fBase.H
 delete mode 100644 src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.C
 delete mode 100644 src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.H
 delete mode 100644 src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C
 delete mode 100644 src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.H
 delete mode 100644 tutorials/incompressible/simpleFoam/pitzDaily/0/f
 delete mode 100644 tutorials/incompressible/simpleFoam/pitzDaily/0/v2

diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.C
index 86a19cd1336..9893dd00fe4 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.C
@@ -85,9 +85,6 @@ makeRASModel(kOmegaSSTSAS);
 #include "kOmegaSSTLM.H"
 makeRASModel(kOmegaSSTLM);
 
-#include "v2f.H"
-makeRASModel(v2f);
-
 #include "LRR.H"
 makeRASModel(LRR);
 
diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModels.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModels.C
index 6004df24d32..63b525b0986 100644
--- a/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModels.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModels.C
@@ -81,9 +81,6 @@ makeRASModel(kOmegaSSTSAS);
 #include "kOmegaSSTLM.H"
 makeRASModel(kOmegaSSTLM);
 
-#include "v2f.H"
-makeRASModel(v2f);
-
 #include "LRR.H"
 makeRASModel(LRR);
 
diff --git a/src/TurbulenceModels/turbulenceModels/Make/files b/src/TurbulenceModels/turbulenceModels/Make/files
index 8a3c77f09e5..25ef2d66dfa 100644
--- a/src/TurbulenceModels/turbulenceModels/Make/files
+++ b/src/TurbulenceModels/turbulenceModels/Make/files
@@ -1,6 +1,4 @@
 turbulenceModel.C
-RAS/v2f/v2fBase.C
-RAS/kEpsilonPhitF/kEpsilonPhitFBase.C
 
 LESdelta = LES/LESdeltas
 
@@ -57,12 +55,6 @@ kqRWallFunctions = $(wallFunctions)/kqRWallFunctions
 $(kqRWallFunctions)/kqRWallFunction/kqRWallFunctionFvPatchFields.C
 $(kqRWallFunctions)/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.C
 
-v2WallFunctions = $(wallFunctions)/v2WallFunctions
-$(v2WallFunctions)/v2WallFunction/v2WallFunctionFvPatchScalarField.C
-
-fWallFunctions = $(wallFunctions)/fWallFunctions
-$(fWallFunctions)/fWallFunction/fWallFunctionFvPatchScalarField.C
-
 
 RASBCs = RAS/derivedFvPatchFields
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilonPhitF/kEpsilonPhitF.C b/src/TurbulenceModels/turbulenceModels/RAS/kEpsilonPhitF/kEpsilonPhitF.C
index 6f6636a9984..2d64a4f974f 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilonPhitF/kEpsilonPhitF.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/kEpsilonPhitF/kEpsilonPhitF.C
@@ -119,7 +119,6 @@ kEpsilonPhitF<BasicTurbulenceModel>::kEpsilonPhitF
         transport,
         propertiesName
     ),
-    kEpsilonPhitFBase(),
 
     Cmu_
     (
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilonPhitF/kEpsilonPhitF.H b/src/TurbulenceModels/turbulenceModels/RAS/kEpsilonPhitF/kEpsilonPhitF.H
index 23f2e5c8025..05442df56ed 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilonPhitF/kEpsilonPhitF.H
+++ b/src/TurbulenceModels/turbulenceModels/RAS/kEpsilonPhitF/kEpsilonPhitF.H
@@ -78,14 +78,13 @@ SourceFiles
     kEpsilonPhitF.C
 
 SeeAlso
-    v2f.H
+    kEpsilon.C
 
 \*---------------------------------------------------------------------------*/
 
 #ifndef kEpsilonPhitF_H
 #define kEpsilonPhitF_H
 
-#include "kEpsilonPhitFBase.H"
 #include "RASModel.H"
 #include "eddyViscosity.H"
 
@@ -103,8 +102,7 @@ namespace RASModels
 template<class BasicTurbulenceModel>
 class kEpsilonPhitF
 :
-    public eddyViscosity<RASModel<BasicTurbulenceModel>>,
-    public kEpsilonPhitFBase
+    public eddyViscosity<RASModel<BasicTurbulenceModel>>
 {
     // Private Member Functions
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilonPhitF/kEpsilonPhitFBase.C b/src/TurbulenceModels/turbulenceModels/RAS/kEpsilonPhitF/kEpsilonPhitFBase.C
deleted file mode 100644
index e4a56e54bbe..00000000000
--- a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilonPhitF/kEpsilonPhitFBase.C
+++ /dev/null
@@ -1,43 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | www.openfoam.com
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-    Copyright (C) 2019 OpenCFD Ltd.
--------------------------------------------------------------------------------
-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 "kEpsilonPhitFBase.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace RASModels
-{
-
-    defineTypeNameAndDebug(kEpsilonPhitFBase, 0);
-
-} // End namespace RASModels
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilonPhitF/kEpsilonPhitFBase.H b/src/TurbulenceModels/turbulenceModels/RAS/kEpsilonPhitF/kEpsilonPhitFBase.H
deleted file mode 100644
index 622bc3254cd..00000000000
--- a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilonPhitF/kEpsilonPhitFBase.H
+++ /dev/null
@@ -1,98 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | www.openfoam.com
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-    Copyright (C) 2019 OpenCFD Ltd.
--------------------------------------------------------------------------------
-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::RASModels::kEpsilonPhitFBase
-
-Group
-    grpRASTurbulence
-
-Description
-    Abstract base-class for the \c k-epsilon-phit-f model to provide boundary
-    condition access to the \c phit and \c f fields.
-
-See also
-    Foam::RASModels::kEpsilonPhitF
-
-SourceFiles
-    kEpsilonPhitFBase.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef kEpsilonPhitFBase_H
-#define kEpsilonPhitFBase_H
-
-#include "RASModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace RASModels
-{
-
-/*---------------------------------------------------------------------------*\
-                        Class kEpsilonPhitFBase Declaration
-\*---------------------------------------------------------------------------*/
-
-class kEpsilonPhitFBase
-{
-public:
-
-    //- Runtime type information
-    TypeName("kEpsilonPhitFBase");
-
-
-    // Constructors
-
-        kEpsilonPhitFBase()
-        {}
-
-
-    //- Destructor
-    virtual ~kEpsilonPhitFBase()
-    {}
-
-
-    // Member Functions
-
-        //- Return the normalised wall-normal fluctuating velocity scale field
-        virtual tmp<volScalarField> phit() const = 0;
-
-        //- Return the elliptic relaxation factor field
-        virtual tmp<volScalarField> f() const = 0;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2f.C b/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2f.C
deleted file mode 100644
index 8eef81ba3bf..00000000000
--- a/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2f.C
+++ /dev/null
@@ -1,435 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | www.openfoam.com
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-    Copyright (C) 2012-2017 OpenFOAM Foundation
-    Copyright (C) 2019 OpenCFD Ltd.
--------------------------------------------------------------------------------
-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 "fvOptions.H"
-#include "bound.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace RASModels
-{
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-template<class BasicTurbulenceModel>
-tmp<volScalarField> v2f<BasicTurbulenceModel>::Ts() const
-{
-    // SAF: limiting thermo->nu(). If psiThermo is used rho might be < 0
-    // temporarily when p < 0 then nu < 0 which needs limiting
-    return
-        max
-        (
-            k_/epsilon_,
-            6.0*sqrt
-            (
-                max
-                (
-                    this->nu(),
-                    dimensionedScalar(this->nu()().dimensions(), Zero)
-                )
-              / epsilon_
-            )
-        );
-}
-
-
-template<class BasicTurbulenceModel>
-tmp<volScalarField> v2f<BasicTurbulenceModel>::Ls() const
-{
-    // SAF: limiting thermo->nu(). If psiThermo is used rho might be < 0
-    // temporarily when p < 0 then nu < 0 which needs limiting
-    return
-        CL_
-      * max
-        (
-            pow(k_, 1.5)/epsilon_,
-            Ceta_*pow025
-            (
-                pow3
-                (
-                    max
-                    (
-                        this->nu(),
-                        dimensionedScalar(this->nu()().dimensions(), Zero)
-                    )
-                )/epsilon_
-            )
-        );
-}
-
-
-template<class BasicTurbulenceModel>
-void v2f<BasicTurbulenceModel>::correctNut()
-{
-    this->nut_ = min(CmuKEps_*sqr(k_)/epsilon_, this->Cmu_*v2_*Ts());
-    this->nut_.correctBoundaryConditions();
-    fv::options::New(this->mesh_).correct(this->nut_);
-
-    BasicTurbulenceModel::correctNut();
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-template<class BasicTurbulenceModel>
-v2f<BasicTurbulenceModel>::v2f
-(
-    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
-    ),
-    v2fBase(),
-
-    Cmu_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cmu",
-            this->coeffDict_,
-            0.22
-        )
-    ),
-    CmuKEps_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "CmuKEps",
-            this->coeffDict_,
-            0.09
-        )
-    ),
-    C1_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C1",
-            this->coeffDict_,
-            1.4
-        )
-    ),
-    C2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "C2",
-            this->coeffDict_,
-            0.3
-        )
-    ),
-    CL_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "CL",
-            this->coeffDict_,
-            0.23
-        )
-    ),
-    Ceta_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Ceta",
-            this->coeffDict_,
-            70.0
-        )
-    ),
-    Ceps2_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Ceps2",
-            this->coeffDict_,
-            1.9
-        )
-    ),
-    Ceps3_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Ceps3",
-            this->coeffDict_,
-            -0.33
-        )
-    ),
-    sigmaK_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmaK",
-            this->coeffDict_,
-            1.0
-        )
-    ),
-    sigmaEps_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "sigmaEps",
-            this->coeffDict_,
-            1.3
-        )
-    ),
-
-    k_
-    (
-        IOobject
-        (
-            IOobject::groupName("k", alphaRhoPhi.group()),
-            this->runTime_.timeName(),
-            this->mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        this->mesh_
-    ),
-    epsilon_
-    (
-        IOobject
-        (
-            IOobject::groupName("epsilon", alphaRhoPhi.group()),
-            this->runTime_.timeName(),
-            this->mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        this->mesh_
-    ),
-    v2_
-    (
-        IOobject
-        (
-            IOobject::groupName("v2", alphaRhoPhi.group()),
-            this->runTime_.timeName(),
-            this->mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        this->mesh_
-    ),
-    f_
-    (
-        IOobject
-        (
-            IOobject::groupName("f", alphaRhoPhi.group()),
-            this->runTime_.timeName(),
-            this->mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        this->mesh_
-    ),
-    v2Min_(dimensionedScalar("v2Min", v2_.dimensions(), SMALL)),
-    fMin_(dimensionedScalar("fMin", f_.dimensions(), Zero))
-{
-    bound(k_, this->kMin_);
-    bound(epsilon_, this->epsilonMin_);
-    bound(v2_, v2Min_);
-    bound(f_, fMin_);
-
-    if (type == typeName)
-    {
-        this->printCoeffs(type);
-    }
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-template<class BasicTurbulenceModel>
-bool v2f<BasicTurbulenceModel>::read()
-{
-    if (eddyViscosity<RASModel<BasicTurbulenceModel>>::read())
-    {
-        Cmu_.readIfPresent(this->coeffDict());
-        CmuKEps_.readIfPresent(this->coeffDict());
-        C1_.readIfPresent(this->coeffDict());
-        C2_.readIfPresent(this->coeffDict());
-        CL_.readIfPresent(this->coeffDict());
-        Ceta_.readIfPresent(this->coeffDict());
-        Ceps2_.readIfPresent(this->coeffDict());
-        Ceps3_.readIfPresent(this->coeffDict());
-        sigmaK_.readIfPresent(this->coeffDict());
-        sigmaEps_.readIfPresent(this->coeffDict());
-
-        return true;
-    }
-
-    return false;
-}
-
-
-template<class BasicTurbulenceModel>
-void v2f<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_;
-    fv::options& fvOptions(fv::options::New(this->mesh_));
-
-    eddyViscosity<RASModel<BasicTurbulenceModel>>::correct();
-
-    volScalarField divU(fvc::div(fvc::absolute(this->phi(), U)));
-
-    // 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(this->GName(), nut*S2);
-    const volScalarField Ts(this->Ts());
-    const volScalarField L2(type() + ":L2", sqr(Ls()));
-    const volScalarField v2fAlpha
-    (
-        type() + ":alpha",
-        1.0/Ts*((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)))
-    );
-
-    // Update epsilon (and possibly G) at the wall
-    epsilon_.boundaryFieldRef().updateCoeffs();
-
-    // Dissipation equation
-    tmp<fvScalarMatrix> epsEqn
-    (
-        fvm::ddt(alpha, rho, epsilon_)
-      + fvm::div(alphaRhoPhi, epsilon_)
-      - fvm::laplacian(alpha*rho*DepsilonEff(), epsilon_)
-     ==
-        Ceps1*alpha*rho*G/Ts
-      - fvm::SuSp(((2.0/3.0)*Ceps1 + Ceps3_)*alpha*rho*divU, epsilon_)
-      - fvm::Sp(Ceps2_*alpha*rho/Ts, epsilon_)
-      + fvOptions(alpha, rho, epsilon_)
-    );
-
-    epsEqn.ref().relax();
-    fvOptions.constrain(epsEqn.ref());
-    epsEqn.ref().boundaryManipulate(epsilon_.boundaryFieldRef());
-    solve(epsEqn);
-    fvOptions.correct(epsilon_);
-    bound(epsilon_, this->epsilonMin_);
-
-
-    // Turbulent kinetic energy equation
-    tmp<fvScalarMatrix> kEqn
-    (
-        fvm::ddt(alpha, rho, k_)
-      + fvm::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_/k_, k_)
-      + fvOptions(alpha, rho, k_)
-    );
-
-    kEqn.ref().relax();
-    fvOptions.constrain(kEqn.ref());
-    solve(kEqn);
-    fvOptions.correct(k_);
-    bound(k_, this->kMin_);
-
-
-    // Relaxation function equation
-    tmp<fvScalarMatrix> fEqn
-    (
-      - fvm::laplacian(f_)
-     ==
-      - fvm::Sp(1.0/L2, f_)
-      - 1.0/L2/k_*(v2fAlpha - C2_*G)
-    );
-
-    fEqn.ref().relax();
-    fvOptions.constrain(fEqn.ref());
-    solve(fEqn);
-    fvOptions.correct(f_);
-    bound(f_, fMin_);
-
-
-    // Turbulence stress normal to streamlines equation
-    tmp<fvScalarMatrix> v2Eqn
-    (
-        fvm::ddt(alpha, rho, v2_)
-      + fvm::div(alphaRhoPhi, v2_)
-      - fvm::laplacian(alpha*rho*DkEff(), v2_)
-      ==
-        alpha*rho*min(k_*f_, C2_*G - v2fAlpha)
-      - fvm::Sp(N*alpha*rho*epsilon_/k_, v2_)
-      + fvOptions(alpha, rho, v2_)
-    );
-
-    v2Eqn.ref().relax();
-    fvOptions.constrain(v2Eqn.ref());
-    solve(v2Eqn);
-    fvOptions.correct(v2_);
-    bound(v2_, v2Min_);
-
-    correctNut();
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2f.H b/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2f.H
deleted file mode 100644
index 733fb91f365..00000000000
--- a/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2f.H
+++ /dev/null
@@ -1,286 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | www.openfoam.com
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-    Copyright (C) 2012-2016 OpenFOAM Foundation
-    Copyright (C) 2019 OpenCFD Ltd.
--------------------------------------------------------------------------------
-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::RASModels::v2f
-
-Group
-    grpRASTurbulence
-
-Description
-    Lien and Kalitzin's v2-f turbulence model for incompressible and
-    compressible flows, with a limit imposed on the turbulent viscosity given
-    by Davidson et al.
-
-    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:
-
-        k       = kLowReWallFunction
-        epsilon = epsilonWallFunction
-        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:
-    \verbatim
-        Lien, F. S., & Kalitzin, G. (2001).
-        Computations of transonic flow with the v2f turbulence model.
-        International Journal of Heat and Fluid Flow, 22(1), 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, 577-584
-    \endverbatim
-
-    The default model coefficients are
-    \verbatim
-        v2fCoeffs
-        {
-            Cmu         0.22;
-            CmuKEps     0.09;
-            C1          1.4;
-            C2          0.3;
-            CL          0.23;
-            Ceta        70;
-            Ceps2       1.9;
-            Ceps3       -0.33;
-            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.
-
-See also
-    Foam::RASModels::v2fBase
-    Foam::RASModels::kEpsilon
-    Foam::kLowReWallFunctionFvPatchScalarField
-    Foam::epsilonWallFunctionFvPatchScalarField
-    Foam::v2WallFunctionFvPatchScalarField
-    Foam::fWallFunctionFvPatchScalarField
-
-SourceFiles
-    v2f.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef v2f_H
-#define v2f_H
-
-#include "v2fBase.H"
-#include "RASModel.H"
-#include "eddyViscosity.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace RASModels
-{
-
-/*---------------------------------------------------------------------------*\
-                             Class v2f Declaration
-\*---------------------------------------------------------------------------*/
-
-template<class BasicTurbulenceModel>
-class v2f
-:
-    public eddyViscosity<RASModel<BasicTurbulenceModel>>,
-    public v2fBase
-{
-
-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_;
-
-
-        // Fields
-
-            //- Turbulence kinetic energy
-            volScalarField k_;
-
-            //- Turbulence dissipation
-            volScalarField epsilon_;
-
-            //- Turbulence stress normal to streamlines
-            volScalarField v2_;
-
-            //- Damping function
-            volScalarField f_;
-
-
-        // Bounding values
-
-            dimensionedScalar v2Min_;
-            dimensionedScalar fMin_;
-
-
-    // Protected Member Functions
-
-        virtual void correctNut();
-
-        //- Return time scale, Ts
-        tmp<volScalarField> Ts() const;
-
-        //- Return length scale, Ls
-        tmp<volScalarField> Ls() const;
-
-
-public:
-
-    typedef typename BasicTurbulenceModel::alphaField alphaField;
-    typedef typename BasicTurbulenceModel::rhoField rhoField;
-    typedef typename BasicTurbulenceModel::transportModel transportModel;
-
-
-    //- Runtime type information
-    TypeName("v2f");
-
-
-    // Constructors
-
-        //- Construct from components
-        v2f
-        (
-            const alphaField& alpha,
-            const rhoField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& alphaRhoPhi,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& propertiesName = turbulenceModel::propertiesName,
-            const word& type = typeName
-        );
-
-
-    //- Destructor
-    virtual ~v2f() = default;
-
-
-    // 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",
-                    this->nut_/sigmaK_ + this->nu()
-                )
-            );
-        }
-
-        //- Return the effective diffusivity for epsilon
-        tmp<volScalarField> DepsilonEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField
-                (
-                    "DepsilonEff",
-                    this->nut_/sigmaEps_ + this->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 turbulence stress normal to streamlines
-        virtual tmp<volScalarField> v2() const
-        {
-            return v2_;
-        }
-
-        //- Return the damping function
-        virtual tmp<volScalarField> f() const
-        {
-            return f_;
-        }
-
-        //- Solve the turbulence equations and correct the turbulence viscosity
-        virtual void correct();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#ifdef NoRepository
-    #include "v2f.C"
-#endif
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2fBase.C b/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2fBase.C
deleted file mode 100644
index 9138f0b7081..00000000000
--- a/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2fBase.C
+++ /dev/null
@@ -1,43 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | www.openfoam.com
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-    Copyright (C) 2015 OpenFOAM Foundation
--------------------------------------------------------------------------------
-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 "v2fBase.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace RASModels
-{
-
-    defineTypeNameAndDebug(v2fBase, 0);
-
-} // End namespace RASModels
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2fBase.H b/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2fBase.H
deleted file mode 100644
index 85abc0ffd98..00000000000
--- a/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2fBase.H
+++ /dev/null
@@ -1,98 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | www.openfoam.com
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-    Copyright (C) 2015-2016 OpenFOAM Foundation
-    Copyright (C) 2019 OpenCFD Ltd.
--------------------------------------------------------------------------------
-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::RASModels::v2fBase
-
-Group
-    grpRASTurbulence
-
-Description
-    Abstract base-class for v2-f models to provide BCs access to the v2 and f
-    fields.
-
-See also
-    Foam::RASModels::v2f
-
-SourceFiles
-    v2fBase.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef v2fBase_H
-#define v2fBase_H
-
-#include "RASModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace RASModels
-{
-
-/*---------------------------------------------------------------------------*\
-                            Class v2fBase Declaration
-\*---------------------------------------------------------------------------*/
-
-class v2fBase
-{
-public:
-
-    //- Runtime type information
-    TypeName("v2fBase");
-
-
-    // Constructors
-
-        v2fBase()
-        {}
-
-
-    //- Destructor
-    virtual ~v2fBase() = default;
-
-
-    // Member Functions
-
-        //- Return turbulence stress normal to streamlines
-        virtual tmp<volScalarField> v2() const = 0;
-
-        //- Return the damping function
-        virtual tmp<volScalarField> f() const = 0;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.C b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.C
deleted file mode 100644
index 3573bcd3190..00000000000
--- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,198 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | www.openfoam.com
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-    Copyright (C) 2012-2016, 2019 OpenFOAM Foundation
-    Copyright (C) 2019 OpenCFD Ltd.
--------------------------------------------------------------------------------
-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 "nutWallFunctionFvPatchScalarField.H"
-#include "v2f.H"
-#include "kEpsilonPhitF.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace RASModels
-{
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-fWallFunctionFvPatchScalarField::fWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedValueFvPatchField<scalar>(p, iF)
-{}
-
-
-fWallFunctionFvPatchScalarField::fWallFunctionFvPatchScalarField
-(
-    const fWallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    fixedValueFvPatchField<scalar>(ptf, p, iF, mapper)
-{}
-
-
-fWallFunctionFvPatchScalarField::fWallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    fixedValueFvPatchField<scalar>(p, iF, dict)
-{}
-
-
-fWallFunctionFvPatchScalarField::fWallFunctionFvPatchScalarField
-(
-    const fWallFunctionFvPatchScalarField& v2wfpsf
-)
-:
-    fixedValueFvPatchField<scalar>(v2wfpsf)
-{}
-
-
-fWallFunctionFvPatchScalarField::fWallFunctionFvPatchScalarField
-(
-    const fWallFunctionFvPatchScalarField& v2wfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedValueFvPatchField<scalar>(v2wfpsf, iF)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void fWallFunctionFvPatchScalarField::updateCoeffs()
-{
-    if (updated())
-    {
-        return;
-    }
-
-    const label patchi = patch().index();
-
-    const turbulenceModel& turbModel = db().lookupObject<turbulenceModel>
-    (
-        IOobject::groupName
-        (
-            turbulenceModel::propertiesName,
-            internalField().group()
-        )
-    );
-
-    const nutWallFunctionFvPatchScalarField& nutw =
-        nutWallFunctionFvPatchScalarField::nutw(turbModel, patchi);
-
-    const scalarField& y = turbModel.y()[patchi];
-
-    const tmp<scalarField> tnuw = turbModel.nu(patchi);
-    const scalarField& nuw = tnuw();
-
-    scalarField& f = *this;
-
-    if (isA<v2fBase>(turbModel))
-    {
-        const v2fBase& v2fModel = refCast<const v2fBase>(turbModel);
-
-        const tmp<volScalarField> tk = turbModel.k();
-        const volScalarField& k = tk();
-
-        const tmp<volScalarField> tepsilon = turbModel.epsilon();
-        const volScalarField& epsilon = tepsilon();
-
-        const tmp<volScalarField> tv2 = v2fModel.v2();
-        const volScalarField& v2 = tv2();
-
-        const scalar Cmu25 = pow025(nutw.Cmu());
-        const scalar N = 6.0;
-
-        // Set f wall values
-        forAll(f, facei)
-        {
-            const label celli = patch().faceCells()[facei];
-
-            const scalar uTau = Cmu25*sqrt(k[celli]);
-
-            const scalar yPlus = uTau*y[facei]/nuw[facei];
-
-            if (nutw.yPlusLam() < yPlus)
-            {
-                const scalar v2c = v2[celli];
-                const scalar epsc = epsilon[celli];
-                const scalar kc = k[celli];
-
-                f[facei] = N*v2c*epsc/(sqr(kc) + ROOTVSMALL);
-                f[facei] /= sqr(uTau) + ROOTVSMALL;
-            }
-            else
-            {
-                f[facei] = 0.0;
-            }
-        }
-    }
-    else if (isA<kEpsilonPhitFBase>(turbModel))
-    {
-        // (LUU:p. 176)
-        f = 0.0;
-    }
-    else
-    {
-        FatalErrorInFunction
-            << "The RAS model is neither the v2f nor kEpsilonPhitF model. "
-            << "Therefore, fWallFunction is not usable." << nl
-            << exit(FatalError);
-    }
-
-    fixedValueFvPatchField<scalar>::updateCoeffs();
-
-    // TODO: perform averaging for cells sharing more than one boundary face
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    fWallFunctionFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.H
deleted file mode 100644
index 88fca25ff1e..00000000000
--- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,192 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | www.openfoam.com
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-    Copyright (C) 2012-2016, 2019 OpenFOAM Foundation
-    Copyright (C) 2019 OpenCFD Ltd.
--------------------------------------------------------------------------------
-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::RASModels::fWallFunctionFvPatchScalarField
-
-Group
-    grpWallFunctions
-
-Description
-    This boundary condition provides a wall constraint on the elliptic
-    relaxation factor, \c f, which is executed in the \c v2-f based
-    turbulence closure models for low- and high-Reynolds number
-    turbulent flow cases.
-
-    Reference:
-    \verbatim
-    Remark on the blending approach for f (tag:PH):
-        Popovac, M., & Hanjalić, K. (2007).
-        Compound wall treatment for RANS computation of complex
-        turbulent flows and heat transfer.
-        Flow, turbulence and combustion, 78(2), 177-202.
-        DOI:10.1007/s10494-006-9067-x
-
-    Wall-boundary expression for f in kEpsilonPhitF model (tag:LUU):
-        Laurence, D. R., Uribe, J. C., & Utyuzhnikov, S. V. (2005).
-        A robust formulation of the v2−f model.
-        Flow, Turbulence and Combustion, 73(3-4), 169–185.
-        DOI:10.1007/s10494-005-1974-8
-    \endverbatim
-
-Usage
-    Example of the boundary condition specification:
-    \verbatim
-    <patchName>
-    {
-        // Mandatory entries
-        type            fWallFunction;
-
-        // No optional entry
-    }
-    \endverbatim
-
-Note
-    The coefficients \c Cmu, \c kappa, and \c E are obtained from
-    the specified \c nutWallFunction in order to ensure that each patch
-    possesses the same set of values for these coefficients.
-
-    For \c f, the viscous and inertial sublayer blending approaches were
-    claimed to be inviable (PH:p. 194). Therefore, the only blending mode
-    for the v2-f model is the stepwise mode where the viscous and inertial
-    sublayer contributions switch over a sublayer-intersection value of
-    \c y+ estimated from the \c kappa and \c E.
-
-See also
-    Foam::fixedValueFvPatchField
-
-SourceFiles
-    fWallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef fWallFunctionFvPatchScalarField_H
-#define fWallFunctionFvPatchScalarField_H
-
-#include "fixedValueFvPatchField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace RASModels
-{
-
-/*---------------------------------------------------------------------------*\
-               Class fWallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class fWallFunctionFvPatchScalarField
-:
-    public fixedValueFvPatchField<scalar>
-{
-public:
-
-    //- Runtime type information
-    TypeName("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();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C
deleted file mode 100644
index f4d71317228..00000000000
--- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C
+++ /dev/null
@@ -1,191 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | www.openfoam.com
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-    Copyright (C) 2012-2016, 2019 OpenFOAM Foundation
-    Copyright (C) 2019 OpenCFD Ltd.
--------------------------------------------------------------------------------
-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 "nutWallFunctionFvPatchScalarField.H"
-#include "turbulenceModel.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace RASModels
-{
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-v2WallFunctionFvPatchScalarField::v2WallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedValueFvPatchField<scalar>(p, iF),
-    Cv2_(0.193),
-    Bv2_(-0.94)
-{}
-
-
-v2WallFunctionFvPatchScalarField::v2WallFunctionFvPatchScalarField
-(
-    const v2WallFunctionFvPatchScalarField& ptf,
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    fixedValueFvPatchField<scalar>(ptf, p, iF, mapper),
-    Cv2_(ptf.Cv2_),
-    Bv2_(ptf.Bv2_)
-{}
-
-
-v2WallFunctionFvPatchScalarField::v2WallFunctionFvPatchScalarField
-(
-    const fvPatch& p,
-    const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
-)
-:
-    fixedValueFvPatchField<scalar>(p, iF, dict),
-    Cv2_(dict.getOrDefault<scalar>("Cv2", 0.193)),
-    Bv2_(dict.getOrDefault<scalar>("Bv2", -0.94))
-{}
-
-
-v2WallFunctionFvPatchScalarField::v2WallFunctionFvPatchScalarField
-(
-    const v2WallFunctionFvPatchScalarField& v2wfpsf
-)
-:
-    fixedValueFvPatchField<scalar>(v2wfpsf),
-    Cv2_(v2wfpsf.Cv2_),
-    Bv2_(v2wfpsf.Bv2_)
-{}
-
-
-v2WallFunctionFvPatchScalarField::v2WallFunctionFvPatchScalarField
-(
-    const v2WallFunctionFvPatchScalarField& v2wfpsf,
-    const DimensionedField<scalar, volMesh>& iF
-)
-:
-    fixedValueFvPatchField<scalar>(v2wfpsf, iF),
-    Cv2_(v2wfpsf.Cv2_),
-    Bv2_(v2wfpsf.Bv2_)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void v2WallFunctionFvPatchScalarField::updateCoeffs()
-{
-    if (updated())
-    {
-        return;
-    }
-
-    const label patchi = patch().index();
-
-    const turbulenceModel& turbModel = db().lookupObject<turbulenceModel>
-    (
-        IOobject::groupName
-        (
-            turbulenceModel::propertiesName,
-            internalField().group()
-        )
-    );
-
-    const nutWallFunctionFvPatchScalarField& nutw =
-        nutWallFunctionFvPatchScalarField::nutw(turbModel, patchi);
-
-    const scalarField& y = turbModel.y()[patchi];
-
-    const tmp<scalarField> tnuw = turbModel.nu(patchi);
-    const scalarField& nuw = tnuw();
-
-    const tmp<volScalarField> tk = turbModel.k();
-    const volScalarField& k = tk();
-
-    const scalar Cmu25 = pow025(nutw.Cmu());
-
-    scalarField& v2 = *this;
-
-    // Set v2 wall values
-    forAll(v2, facei)
-    {
-        const label celli = patch().faceCells()[facei];
-
-        const scalar uTau = Cmu25*sqrt(k[celli]);
-
-        const scalar yPlus = uTau*y[facei]/nuw[facei];
-
-        if (nutw.yPlusLam() < yPlus)
-        {
-            v2[facei] = Cv2_/nutw.kappa()*log(yPlus) + Bv2_;
-        }
-        else
-        {
-            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::write
-(
-    Ostream& os
-) const
-{
-    os.writeEntry("Cv2", Cv2_);
-    os.writeEntry("Bv2", Bv2_);
-    fixedValueFvPatchField<scalar>::write(os);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-makePatchTypeField
-(
-    fvPatchScalarField,
-    v2WallFunctionFvPatchScalarField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.H
deleted file mode 100644
index faefa1dac14..00000000000
--- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.H
+++ /dev/null
@@ -1,194 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | www.openfoam.com
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-    Copyright (C) 2012-2016, 2019 OpenFOAM Foundation
-    Copyright (C) 2019 OpenCFD Ltd.
--------------------------------------------------------------------------------
-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::RASModels::v2WallFunctionFvPatchScalarField
-
-Group
-    grpWallFunctions
-
-Description
-    This boundary condition provides a wall constraint on wall-normal velocity
-    scale, i.e. \c v2, for low- and high-Reynolds number turbulence models.
-
-    The model operates in two modes, based on the computed viscous-to-turbulent
-    switch-over \c y+ value derived from \c kappa and \c E.
-
-Usage
-    \table
-        Property     | Description             | Required    | Default value
-        Cv2          | model coefficient       | no          |  0.193
-        Bv2          | model coefficient       | no          | -0.94
-    \endtable
-
-    Example of the boundary condition specification:
-    \verbatim
-    <patchName>
-    {
-        // Mandatory entries
-        type            v2WallFunction;
-
-        // Optional entries
-    }
-    \endverbatim
-
-Note
-    The coefficients \c Cmu, \c kappa, and \c E are obtained from
-    the specified \c nutWallFunction in order to ensure that each patch
-    possesses the same set of values for these coefficients.
-
-See also
-    Foam::fixedValueFvPatchField
-
-SourceFiles
-    v2WallFunctionFvPatchScalarField.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef v2WallFunctionFvPatchScalarField_H
-#define v2WallFunctionFvPatchScalarField_H
-
-#include "fixedValueFvPatchField.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace RASModels
-{
-
-/*---------------------------------------------------------------------------*\
-              Class v2WallFunctionFvPatchScalarField Declaration
-\*---------------------------------------------------------------------------*/
-
-class v2WallFunctionFvPatchScalarField
-:
-    public fixedValueFvPatchField<scalar>
-{
-protected:
-
-    // Protected Data
-
-        //- Cv2 coefficient
-        scalar Cv2_;
-
-        //- Bv2 coefficient
-        scalar Bv2_;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("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();
-
-
-        // I-O
-
-            //- Write
-            virtual void write(Ostream&) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace RASModels
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/pitzDaily/0/f b/tutorials/incompressible/simpleFoam/pitzDaily/0/f
deleted file mode 100644
index cd27fb0203a..00000000000
--- a/tutorials/incompressible/simpleFoam/pitzDaily/0/f
+++ /dev/null
@@ -1,49 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  v1912                                 |
-|   \\  /    A nd           | Website:  www.openfoam.com                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       volScalarField;
-    location    "0";
-    object      f;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-dimensions      [0 0 -1 0 0 0 0];
-
-internalField   uniform 0;
-
-boundaryField
-{
-    inlet
-    {
-        type            zeroGradient;
-    }
-    outlet
-    {
-        type            zeroGradient;
-    }
-    upperWall
-    {
-        type            fWallFunction;
-        value           uniform 0;
-    }
-    lowerWall
-    {
-        type            fWallFunction;
-        value           uniform 0;
-    }
-    frontAndBack
-    {
-        type            empty;
-    }
-}
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/pitzDaily/0/v2 b/tutorials/incompressible/simpleFoam/pitzDaily/0/v2
deleted file mode 100644
index a3811f20999..00000000000
--- a/tutorials/incompressible/simpleFoam/pitzDaily/0/v2
+++ /dev/null
@@ -1,50 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  v1912                                 |
-|   \\  /    A nd           | Website:  www.openfoam.com                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       volScalarField;
-    location    "0";
-    object      v2;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-dimensions      [0 2 -2 0 0 0 0];
-
-internalField   uniform 0.25;
-
-boundaryField
-{
-    inlet
-    {
-        type            fixedValue;
-        value           $internalField;
-    }
-    outlet
-    {
-        type            zeroGradient;
-    }
-    upperWall
-    {
-        type            v2WallFunction;
-        value           $internalField;
-    }
-    lowerWall
-    {
-        type            v2WallFunction;
-        value           $internalField;
-    }
-    frontAndBack
-    {
-        type            empty;
-    }
-}
-
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/pitzDaily/constant/turbulenceProperties b/tutorials/incompressible/simpleFoam/pitzDaily/constant/turbulenceProperties
index 5388de9b200..bd569b4d44a 100644
--- a/tutorials/incompressible/simpleFoam/pitzDaily/constant/turbulenceProperties
+++ b/tutorials/incompressible/simpleFoam/pitzDaily/constant/turbulenceProperties
@@ -19,7 +19,7 @@ simulationType RAS;
 
 RAS
 {
-    // Tested with kEpsilon, realizableKE, kOmega, kOmegaSST, v2f,
+    // Tested with kEpsilon, realizableKE, kOmega, kOmegaSST,
     // ShihQuadraticKE, LienCubicKE.
     RASModel        kEpsilon;
 
-- 
GitLab