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();
