From 791e1ca2d24e59a6fa2afac9ebdb53fdc48a155e Mon Sep 17 00:00:00 2001
From: Henry Weller <http://openfoam.org>
Date: Tue, 29 Aug 2017 09:33:45 +0100
Subject: [PATCH] Merged reactingParcelFilmFoam into reactingParcelFoam

The combined solver includes the most advanced and general functionality from
each solver including:

    Continuous phase
    Lagrangian multiphase parcels
    Optional film
    Continuous and Lagrangian phase reactions
    Radiation
    Strong buoyancy force support by solving for p_rgh

The reactingParcelFoam and reactingParcelFilmFoam tutorials have been combined
and updated.
---
 .../combustion/fireFoam/createFieldRefs.H     |   2 +-
 .../fireFoam/createSurfaceFilmModel.H         |   7 +-
 .../reactingParcelFilmFoam/Make/files         |   3 -
 .../reactingParcelFilmFoam/Make/options       |  47 ----
 .../lagrangian/reactingParcelFilmFoam/UEqn.H  |  34 ---
 .../reactingParcelFilmFoam/createClouds.H     |   9 -
 .../reactingParcelFilmFoam/createFields.H     | 143 ------------
 .../createSurfaceFilmModel.H                  |   5 -
 .../lagrangian/reactingParcelFilmFoam/pEqn.H  |  59 -----
 .../reactingParcelFilmFoam.C                  | 138 ------------
 .../reactingParcelFilmFoam/rhoEqn.H           |  48 ----
 .../lagrangian/reactingParcelFoam/EEqn.H      |   3 +-
 .../reactingParcelFoam/Make/options           |  29 ++-
 .../lagrangian/reactingParcelFoam/UEqn.H      |  16 +-
 .../lagrangian/reactingParcelFoam/YEqn.H      |   8 +-
 .../reactingParcelFoam/createFieldRefs.H      |   4 +-
 .../reactingParcelFoam/createFields.H         |  62 ++---
 .../createSurfaceFilmModel.H                  |   6 +
 .../lagrangian/reactingParcelFoam/pEqn.H      |  60 +++--
 .../reactingParcelFoam/reactingParcelFoam.C   |  60 ++---
 .../lagrangian/reactingParcelFoam/rhoEqn.H    |   6 +-
 .../setMultiRegionDeltaT.H                    |  20 +-
 .../simpleReactingParcelFoam.C                |   6 +-
 .../EEqn.H                                    |   3 +-
 .../YEqn.H                                    |   8 +-
 .../createFieldRefs.H                         |   4 +-
 .../VoFPatchTransfer/VoFPatchTransfer.C       |   2 +-
 .../VoFPatchTransfer/VoFPatchTransfer.H       |   2 +-
 .../compressibleInterFilmFoam.C               |   2 +-
 .../createSurfaceFilmModel.H                  |   7 +-
 .../SurfaceFilmModel/SurfaceFilmModel.C       |   8 +-
 .../SurfaceFilmModel/SurfaceFilmModel.H       |   6 +-
 .../ThermoSurfaceFilm/ThermoSurfaceFilm.C     |  19 +-
 .../ThermoSurfaceFilm/ThermoSurfaceFilm.H     |  10 +-
 ...ysisTemperatureCoupledFvPatchScalarField.C |   6 +-
 ...rolysisVelocityCoupledFvPatchVectorField.C |   6 +-
 src/regionModels/surfaceFilmModels/Make/files |   1 +
 ...alphatFilmWallFunctionFvPatchScalarField.C |   4 +-
 .../nutkFilmWallFunctionFvPatchScalarField.C  |   4 +-
 .../kinematicSingleLayer.C                    |   8 +-
 .../kinematicSingleLayer.H                    |   4 +-
 .../surfaceFilmModels/noFilm/noFilm.C         | 211 ++----------------
 .../surfaceFilmModels/noFilm/noFilm.H         | 107 ++-------
 .../submodels/filmSubModelBase.C              |   6 +-
 .../submodels/filmSubModelBase.H              |  14 +-
 .../submodels/filmSubModelBaseI.H             |   4 +-
 .../constantFilmThermo/constantFilmThermo.C   |   2 +-
 .../constantFilmThermo/constantFilmThermo.H   |   2 +-
 .../filmThermoModel/filmThermoModel.C         |   4 +-
 .../filmThermoModel/filmThermoModel.H         |   8 +-
 .../filmThermoModel/filmThermoModelNew.C      |   4 +-
 .../liquidFilmThermo/liquidFilmThermo.C       |   2 +-
 .../liquidFilmThermo/liquidFilmThermo.H       |   2 +-
 .../filmTurbulenceModel/filmTurbulenceModel.C |   4 +-
 .../filmTurbulenceModel/filmTurbulenceModel.H |   8 +-
 .../filmTurbulenceModelNew.C                  |   4 +-
 .../filmTurbulenceModel/laminar/laminar.C     |   2 +-
 .../filmTurbulenceModel/laminar/laminar.H     |   2 +-
 .../contactAngleForce/contactAngleForce.C     |   2 +-
 .../contactAngleForce/contactAngleForce.H     |   2 +-
 .../distributionContactAngleForce.C           |   2 +-
 .../distributionContactAngleForce.H           |   2 +-
 ...bedTemperatureDependentContactAngleForce.C |   2 +-
 ...bedTemperatureDependentContactAngleForce.H |   2 +-
 .../temperatureDependentContactAngleForce.C   |   2 +-
 .../temperatureDependentContactAngleForce.H   |   2 +-
 .../submodels/kinematic/force/force/force.C   |   4 +-
 .../submodels/kinematic/force/force/force.H   |   8 +-
 .../kinematic/force/force/forceNew.C          |   4 +-
 .../kinematic/force/forceList/forceList.C     |   4 +-
 .../kinematic/force/forceList/forceList.H     |   4 +-
 .../thermocapillaryForce.C                    |   2 +-
 .../thermocapillaryForce.H                    |   2 +-
 .../BrunDrippingInjection.C                   |   2 +-
 .../BrunDrippingInjection.H                   |   2 +-
 .../curvatureSeparation/curvatureSeparation.C |   2 +-
 .../curvatureSeparation/curvatureSeparation.H |   2 +-
 .../drippingInjection/drippingInjection.C     |   2 +-
 .../drippingInjection/drippingInjection.H     |   2 +-
 .../injectionModel/injectionModel.C           |   4 +-
 .../injectionModel/injectionModel.H           |   8 +-
 .../injectionModel/injectionModelNew.C        |   4 +-
 .../injectionModelList/injectionModelList.C   |   4 +-
 .../injectionModelList/injectionModelList.H   |   4 +-
 .../patchInjection/patchInjection.C           |   2 +-
 .../patchInjection/patchInjection.H           |   2 +-
 .../transferModel/transferModel.C             |   4 +-
 .../transferModel/transferModel.H             |   8 +-
 .../transferModel/transferModelNew.C          |   2 +-
 .../transferModelList/transferModelList.C     |   4 +-
 .../transferModelList/transferModelList.H     |   4 +-
 .../constantRadiation/constantRadiation.C     |   2 +-
 .../constantRadiation/constantRadiation.H     |   2 +-
 .../filmRadiationModel/filmRadiationModel.C   |   4 +-
 .../filmRadiationModel/filmRadiationModel.H   |   8 +-
 .../filmRadiationModelNew.C                   |   4 +-
 .../noRadiation/noRadiation.C                 |   2 +-
 .../noRadiation/noRadiation.H                 |   2 +-
 .../primaryRadiation/primaryRadiation.C       |   2 +-
 .../primaryRadiation/primaryRadiation.H       |   2 +-
 .../standardRadiation/standardRadiation.C     |   2 +-
 .../standardRadiation/standardRadiation.H     |   2 +-
 .../ArrheniusViscosity/ArrheniusViscosity.C   |   2 +-
 .../ArrheniusViscosity/ArrheniusViscosity.H   |   2 +-
 .../constantViscosity/constantViscosity.C     |   2 +-
 .../constantViscosity/constantViscosity.H     |   2 +-
 .../filmViscosityModel/filmViscosityModel.C   |   2 +-
 .../filmViscosityModel/filmViscosityModel.H   |   6 +-
 .../filmViscosityModelNew.C                   |   4 +-
 .../function1Viscosity/function1Viscosity.C   |   2 +-
 .../function1Viscosity/function1Viscosity.H   |   2 +-
 .../liquidViscosity/liquidViscosity.C         |   2 +-
 .../liquidViscosity/liquidViscosity.H         |   2 +-
 .../thixotropicViscosity.C                    |   2 +-
 .../thixotropicViscosity.H                    |   2 +-
 .../constantHeatTransfer.C                    |   2 +-
 .../constantHeatTransfer.H                    |   2 +-
 .../heatTransferModel/heatTransferModel.C     |   4 +-
 .../heatTransferModel/heatTransferModel.H     |   8 +-
 .../heatTransferModel/heatTransferModelNew.C  |   4 +-
 .../mappedConvectiveHeatTransfer.C            |   2 +-
 .../mappedConvectiveHeatTransfer.H            |   2 +-
 .../noPhaseChange/noPhaseChange.C             |   2 +-
 .../noPhaseChange/noPhaseChange.H             |   2 +-
 .../phaseChangeModel/phaseChangeModel.C       |   4 +-
 .../phaseChangeModel/phaseChangeModel.H       |   8 +-
 .../phaseChangeModel/phaseChangeModelNew.C    |   4 +-
 .../solidification/solidification.C           |   2 +-
 .../solidification/solidification.H           |   2 +-
 .../standardPhaseChange/standardPhaseChange.C |   2 +-
 .../standardPhaseChange/standardPhaseChange.H |   2 +-
 .../surfaceFilmModel/surfaceFilmModel.C       |  78 +------
 .../surfaceFilmModel/surfaceFilmModel.H       | 143 ++----------
 .../surfaceFilmModel/surfaceFilmModelNew.C    |  39 ++--
 .../surfaceFilmRegionModel.C                  |  98 ++++++++
 .../surfaceFilmRegionModel.H                  | 198 ++++++++++++++++
 .../surfaceFilmRegionModelI.H}                |   6 +-
 .../thermoSingleLayer/thermoSingleLayer.C     |   2 +-
 .../rivuletPanel/constant/additionalControls  |  20 --
 .../splashPanel/constant/additionalControls   |  20 --
 .../counterFlowFlame2DLTS/0/p                 |  13 +-
 .../counterFlowFlame2DLTS/0/p_rgh}            |  39 +++-
 .../counterFlowFlame2DLTS/system/fvSolution   |   6 +-
 .../cylinder/0.orig/H2O                       |   0
 .../cylinder/0.orig/N2                        |   0
 .../cylinder/0.orig/O2                        |   0
 .../cylinder/0.orig/T                         |   0
 .../cylinder/0.orig/U                         |   0
 .../cylinder/0.orig/p                         |   0
 .../cylinder/0.orig/p_rgh                     |   0
 .../cylinder/0.orig/wallFilmRegion/Tf         |   0
 .../cylinder/0.orig/wallFilmRegion/Uf         |   0
 .../cylinder/0.orig/wallFilmRegion/deltaf     |   0
 .../cylinder/Allclean                         |   0
 .../cylinder/Allrun                           |   0
 .../cylinder/Allrun.pre                       |   0
 .../cylinder/constant/chemistryProperties     |   0
 .../cylinder/constant/combustionProperties    |   0
 .../cylinder/constant/foam.dat                |   0
 .../cylinder/constant/foam.inp                |   0
 .../cylinder/constant/g                       |   0
 .../constant/parcelInjectionProperties        |   8 +-
 .../cylinder/constant/radiationProperties     |   0
 .../constant/reactingCloud1Properties         |  21 +-
 .../cylinder/constant/surfaceFilmProperties   |   0
 .../constant/thermophysicalProperties         |   0
 .../cylinder/constant/turbulenceProperties    |   0
 .../cylinder/system/blockMeshDict             |   0
 .../cylinder/system/controlDict               |   4 +-
 .../cylinder/system/createPatchDict           |   0
 .../cylinder/system/decomposeParDict          |   0
 .../cylinder/system/extrudeToRegionMeshDict   |   0
 .../cylinder/system/fvSchemes                 |   0
 .../cylinder/system/fvSolution                |   4 -
 .../cylinder/system/topoSetDict               |   0
 .../cylinder/system/wallFilmRegion/fvSchemes  |   0
 .../cylinder/system/wallFilmRegion/fvSolution |   0
 .../reactingParcelFoam/filter/0.orig/p        |  18 +-
 .../reactingParcelFoam/filter/0.orig/p_rgh    |  66 ++++++
 .../reactingParcelFoam/filter/Allrun          |   2 +
 .../filter/system/fvSolution                  |   6 +-
 .../hotBoxes/0.orig/H2O                       |   0
 .../hotBoxes/0.orig/N2                        |   0
 .../hotBoxes/0.orig/O2                        |   0
 .../hotBoxes/0.orig/T                         |   0
 .../hotBoxes/0.orig/U                         |   0
 .../hotBoxes/0.orig/alphat                    |   0
 .../hotBoxes/0.orig/epsilon                   |   0
 .../hotBoxes/0.orig/htcConv                   |   0
 .../hotBoxes/0.orig/k                         |   0
 .../hotBoxes/0.orig/nut                       |   0
 .../hotBoxes/0.orig/p                         |   0
 .../hotBoxes/0.orig/p_rgh                     |   0
 .../hotBoxes/0.orig/wallFilmRegion/Tf         |   0
 .../hotBoxes/0.orig/wallFilmRegion/Uf         |   0
 .../hotBoxes/0.orig/wallFilmRegion/deltaf     |   0
 .../hotBoxes/Allclean                         |   0
 .../hotBoxes/Allrun                           |   0
 .../hotBoxes/Allrun-parallel                  |   0
 .../hotBoxes/Allrun.pre                       |   0
 .../hotBoxes/constant/chemistryProperties     |   0
 .../hotBoxes/constant/combustionProperties    |   0
 .../hotBoxes/constant/foam.dat                |   0
 .../hotBoxes}/constant/foam.inp               |   0
 .../hotBoxes/constant/g                       |   0
 .../hotBoxes/constant/radiationProperties     |   0
 .../constant/reactingCloud1Properties         |  17 +-
 .../hotBoxes/constant/surfaceFilmProperties   |   0
 .../constant/thermophysicalProperties         |   0
 .../hotBoxes/constant/turbulenceProperties    |   0
 .../hotBoxes/createObstacle.setSet            |   0
 .../hotBoxes/createWallFilmZone.setSet        |   0
 .../hotBoxes/patchify.setSet                  |   6 +-
 .../hotBoxes/patchifyObstacles                |   0
 .../lagrangian/reactingParcelFoam/hotBoxes/si |   0
 .../hotBoxes/system/blockMeshDict             |   0
 .../hotBoxes/system/changeDictionaryDict      |   0
 .../hotBoxes/system/controlDict               |   2 +-
 .../hotBoxes/system/decomposeParDict          |   0
 .../hotBoxes/system/extrudeToRegionMeshDict   |   0
 .../hotBoxes/system/fvSchemes                 |   0
 .../hotBoxes/system/fvSolution                |   4 -
 .../hotBoxes/system/topoSetDict               |   0
 .../wallFilmRegion.orig/decomposeParDict      |   0
 .../system/wallFilmRegion.orig/fvSchemes      |   0
 .../system/wallFilmRegion.orig/fvSolution     |   0
 .../reactingParcelFoam/parcelInBox/0/p        |  14 +-
 .../parcelInBox/0/p_rgh}                      |  44 +++-
 .../parcelInBox/system/fvSolution             |   6 +-
 .../rivuletPanel/0.orig/H2O                   |   0
 .../rivuletPanel/0.orig/N2                    |   0
 .../rivuletPanel/0.orig/O2                    |   0
 .../rivuletPanel/0.orig/T                     |   0
 .../rivuletPanel/0.orig/U                     |   0
 .../rivuletPanel/0.orig/p                     |   0
 .../rivuletPanel/0.orig/p_rgh                 |   0
 .../rivuletPanel/0.orig/wallFilmRegion/Tf     |   0
 .../rivuletPanel/0.orig/wallFilmRegion/Uf     |   0
 .../rivuletPanel/0.orig/wallFilmRegion/deltaf |   0
 .../rivuletPanel/Allclean                     |   0
 .../rivuletPanel/Allrun                       |   0
 .../rivuletPanel/Allrun.pre                   |   0
 .../rivuletPanel/constant/chemistryProperties |   0
 .../constant/combustionProperties             |   0
 .../rivuletPanel/constant/foam.dat            |   0
 .../rivuletPanel}/constant/foam.inp           |   0
 .../rivuletPanel/constant/g                   |   0
 .../constant/parcelInjectionProperties        |   0
 .../rivuletPanel/constant/radiationProperties |   0
 .../constant/reactingCloud1Properties         |   0
 .../constant/surfaceFilmProperties            |   0
 .../constant/thermophysicalProperties         |   0
 .../constant/turbulenceProperties             |   0
 .../createWallFilmRegionPatches.setSet        |   0
 .../rivuletPanel/system/blockMeshDict         |   0
 .../rivuletPanel/system/controlDict           |   4 +-
 .../rivuletPanel/system/createPatchDict       |   0
 .../rivuletPanel/system/decomposeParDict      |   0
 .../system/extrudeToRegionMeshDict            |   0
 .../rivuletPanel/system/fvSchemes             |   0
 .../rivuletPanel/system/fvSolution            |   5 +-
 .../system/wallFilmRegion.topoSet             |   0
 .../system/wallFilmRegion/createPatchDict     |   0
 .../system/wallFilmRegion/fvSchemes           |   0
 .../system/wallFilmRegion/fvSolution          |   0
 .../rivuletPanel/wallFilmRegion.setSet        |   0
 .../splashPanel/0.orig/H2O                    |   0
 .../splashPanel/0.orig/N2                     |   0
 .../splashPanel/0.orig/O2                     |   0
 .../splashPanel/0.orig/T                      |   0
 .../splashPanel/0.orig/U                      |   0
 .../splashPanel/0.orig/p                      |   0
 .../splashPanel/0.orig/p_rgh                  |   0
 .../splashPanel/0.orig/wallFilmRegion/Tf      |   0
 .../splashPanel/0.orig/wallFilmRegion/Uf      |   0
 .../splashPanel/0.orig/wallFilmRegion/deltaf  |   0
 .../splashPanel/Allclean                      |   0
 .../splashPanel/Allrun                        |   0
 .../splashPanel/Allrun.pre                    |   0
 .../splashPanel/constant/chemistryProperties  |   0
 .../splashPanel/constant/combustionProperties |   0
 .../splashPanel/constant/foam.dat             |   0
 .../splashPanel}/constant/foam.inp            |   1 -
 .../splashPanel/constant/g                    |   0
 .../constant/parcelInjectionProperties        |   2 +-
 .../splashPanel/constant/radiationProperties  |   0
 .../constant/reactingCloud1Properties         |  19 +-
 .../constant/surfaceFilmProperties            |   0
 .../constant/thermophysicalProperties         |   0
 .../splashPanel/constant/turbulenceProperties |   0
 .../createWallFilmRegionPatches.setSet        |   0
 .../splashPanel/system/blockMeshDict          |   0
 .../splashPanel/system/controlDict            |   6 +-
 .../splashPanel/system/createPatchDict        |   0
 .../splashPanel/system/decomposeParDict       |   0
 .../system/extrudeToRegionMeshDict            |   0
 .../splashPanel/system/fvSchemes              |   0
 .../splashPanel/system/fvSolution             |   4 -
 .../splashPanel/system/wallFilmRegion.topoSet |   0
 .../system/wallFilmRegion/createPatchDict     |   0
 .../createWallFilmRegionPatches.topoSet       |   0
 .../system/wallFilmRegion/fvSchemes           |   0
 .../system/wallFilmRegion/fvSolution          |   0
 .../splashPanel/wallFilmRegion.setSet         |   0
 .../verticalChannel/0.orig/p                  |  13 +-
 .../verticalChannel/0.orig/p_rgh              |  57 +++++
 .../verticalChannel/system/fvSolution         |  57 +++--
 .../verticalChannelLTS/0.orig/U               |   5 +-
 .../verticalChannelLTS/0.orig/p               |  13 +-
 .../verticalChannelLTS/0.orig/p_rgh           |  57 +++++
 .../verticalChannelLTS/system/fvSchemes       |   3 +-
 .../verticalChannelLTS/system/fvSolution      |  38 ++--
 312 files changed, 1181 insertions(+), 1474 deletions(-)
 delete mode 100644 applications/solvers/lagrangian/reactingParcelFilmFoam/Make/files
 delete mode 100644 applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options
 delete mode 100644 applications/solvers/lagrangian/reactingParcelFilmFoam/UEqn.H
 delete mode 100644 applications/solvers/lagrangian/reactingParcelFilmFoam/createClouds.H
 delete mode 100644 applications/solvers/lagrangian/reactingParcelFilmFoam/createFields.H
 delete mode 100644 applications/solvers/lagrangian/reactingParcelFilmFoam/createSurfaceFilmModel.H
 delete mode 100644 applications/solvers/lagrangian/reactingParcelFilmFoam/pEqn.H
 delete mode 100644 applications/solvers/lagrangian/reactingParcelFilmFoam/reactingParcelFilmFoam.C
 delete mode 100644 applications/solvers/lagrangian/reactingParcelFilmFoam/rhoEqn.H
 create mode 100644 applications/solvers/lagrangian/reactingParcelFoam/createSurfaceFilmModel.H
 rename applications/solvers/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/setMultiRegionDeltaT.H (79%)
 rename applications/solvers/lagrangian/{reactingParcelFilmFoam => sprayFoam}/EEqn.H (90%)
 rename applications/solvers/lagrangian/{reactingParcelFilmFoam => sprayFoam}/YEqn.H (89%)
 rename applications/solvers/lagrangian/{reactingParcelFilmFoam => sprayFoam}/createFieldRefs.H (75%)
 create mode 100644 src/regionModels/surfaceFilmModels/surfaceFilmRegionModel/surfaceFilmRegionModel.C
 create mode 100644 src/regionModels/surfaceFilmModels/surfaceFilmRegionModel/surfaceFilmRegionModel.H
 rename src/regionModels/surfaceFilmModels/{surfaceFilmModel/surfaceFilmModelI.H => surfaceFilmRegionModel/surfaceFilmRegionModelI.H} (90%)
 delete mode 100644 tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/additionalControls
 delete mode 100644 tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/additionalControls
 rename tutorials/lagrangian/{reactingParcelFilmFoam/hotBoxes/constant/additionalControls => reactingParcelFoam/counterFlowFlame2DLTS/0/p_rgh} (52%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/0.orig/H2O (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/0.orig/N2 (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/0.orig/O2 (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/0.orig/T (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/0.orig/U (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/0.orig/p (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/0.orig/p_rgh (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/0.orig/wallFilmRegion/Tf (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/0.orig/wallFilmRegion/Uf (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/0.orig/wallFilmRegion/deltaf (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/Allclean (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/Allrun (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/Allrun.pre (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/constant/chemistryProperties (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/constant/combustionProperties (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/constant/foam.dat (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/constant/foam.inp (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/constant/g (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/constant/parcelInjectionProperties (75%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/constant/radiationProperties (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/constant/reactingCloud1Properties (86%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/constant/surfaceFilmProperties (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/constant/thermophysicalProperties (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/constant/turbulenceProperties (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/system/blockMeshDict (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/system/controlDict (93%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/system/createPatchDict (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/system/decomposeParDict (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/system/extrudeToRegionMeshDict (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/system/fvSchemes (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/system/fvSolution (97%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/system/topoSetDict (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/system/wallFilmRegion/fvSchemes (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/cylinder/system/wallFilmRegion/fvSolution (100%)
 create mode 100644 tutorials/lagrangian/reactingParcelFoam/filter/0.orig/p_rgh
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/0.orig/H2O (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/0.orig/N2 (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/0.orig/O2 (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/0.orig/T (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/0.orig/U (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/0.orig/alphat (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/0.orig/epsilon (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/0.orig/htcConv (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/0.orig/k (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/0.orig/nut (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/0.orig/p (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/0.orig/p_rgh (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/0.orig/wallFilmRegion/Tf (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/0.orig/wallFilmRegion/Uf (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/0.orig/wallFilmRegion/deltaf (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/Allclean (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/Allrun (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/Allrun-parallel (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/Allrun.pre (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/constant/chemistryProperties (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/constant/combustionProperties (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/constant/foam.dat (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam/rivuletPanel => reactingParcelFoam/hotBoxes}/constant/foam.inp (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/constant/g (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/constant/radiationProperties (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/constant/reactingCloud1Properties (91%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/constant/surfaceFilmProperties (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/constant/thermophysicalProperties (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/constant/turbulenceProperties (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/createObstacle.setSet (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/createWallFilmZone.setSet (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/patchify.setSet (91%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/patchifyObstacles (100%)
 create mode 100644 tutorials/lagrangian/reactingParcelFoam/hotBoxes/si
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/system/blockMeshDict (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/system/changeDictionaryDict (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/system/controlDict (96%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/system/decomposeParDict (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/system/extrudeToRegionMeshDict (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/system/fvSchemes (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/system/fvSolution (97%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/system/topoSetDict (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/system/wallFilmRegion.orig/decomposeParDict (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/system/wallFilmRegion.orig/fvSchemes (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/hotBoxes/system/wallFilmRegion.orig/fvSolution (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam/cylinder/constant/additionalControls => reactingParcelFoam/parcelInBox/0/p_rgh} (50%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/0.orig/H2O (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/0.orig/N2 (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/0.orig/O2 (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/0.orig/T (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/0.orig/U (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/0.orig/p (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/0.orig/p_rgh (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/0.orig/wallFilmRegion/Tf (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/0.orig/wallFilmRegion/Uf (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/0.orig/wallFilmRegion/deltaf (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/Allclean (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/Allrun (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/Allrun.pre (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/constant/chemistryProperties (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/constant/combustionProperties (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/constant/foam.dat (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam/splashPanel => reactingParcelFoam/rivuletPanel}/constant/foam.inp (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/constant/g (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/constant/parcelInjectionProperties (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/constant/radiationProperties (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/constant/reactingCloud1Properties (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/constant/surfaceFilmProperties (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/constant/thermophysicalProperties (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/constant/turbulenceProperties (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/createWallFilmRegionPatches.setSet (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/system/blockMeshDict (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/system/controlDict (93%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/system/createPatchDict (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/system/decomposeParDict (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/system/extrudeToRegionMeshDict (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/system/fvSchemes (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/system/fvSolution (97%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/system/wallFilmRegion.topoSet (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/system/wallFilmRegion/createPatchDict (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/system/wallFilmRegion/fvSchemes (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/system/wallFilmRegion/fvSolution (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/rivuletPanel/wallFilmRegion.setSet (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/0.orig/H2O (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/0.orig/N2 (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/0.orig/O2 (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/0.orig/T (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/0.orig/U (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/0.orig/p (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/0.orig/p_rgh (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/0.orig/wallFilmRegion/Tf (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/0.orig/wallFilmRegion/Uf (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/0.orig/wallFilmRegion/deltaf (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/Allclean (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/Allrun (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/Allrun.pre (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/constant/chemistryProperties (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/constant/combustionProperties (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/constant/foam.dat (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam/hotBoxes => reactingParcelFoam/splashPanel}/constant/foam.inp (98%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/constant/g (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/constant/parcelInjectionProperties (92%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/constant/radiationProperties (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/constant/reactingCloud1Properties (89%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/constant/surfaceFilmProperties (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/constant/thermophysicalProperties (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/constant/turbulenceProperties (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/createWallFilmRegionPatches.setSet (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/system/blockMeshDict (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/system/controlDict (92%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/system/createPatchDict (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/system/decomposeParDict (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/system/extrudeToRegionMeshDict (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/system/fvSchemes (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/system/fvSolution (97%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/system/wallFilmRegion.topoSet (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/system/wallFilmRegion/createPatchDict (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/system/wallFilmRegion/createWallFilmRegionPatches.topoSet (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/system/wallFilmRegion/fvSchemes (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/system/wallFilmRegion/fvSolution (100%)
 rename tutorials/lagrangian/{reactingParcelFilmFoam => reactingParcelFoam}/splashPanel/wallFilmRegion.setSet (100%)
 create mode 100644 tutorials/lagrangian/reactingParcelFoam/verticalChannel/0.orig/p_rgh
 create mode 100644 tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/0.orig/p_rgh

diff --git a/applications/solvers/combustion/fireFoam/createFieldRefs.H b/applications/solvers/combustion/fireFoam/createFieldRefs.H
index 6df6f9df2f2..a911c586d97 100644
--- a/applications/solvers/combustion/fireFoam/createFieldRefs.H
+++ b/applications/solvers/combustion/fireFoam/createFieldRefs.H
@@ -1,4 +1,4 @@
 const volScalarField& psi = thermo.psi();
 const volScalarField& T = thermo.T();
-filmModelType& surfaceFilm = tsurfaceFilm();
+regionModels::surfaceFilmModel& surfaceFilm = tsurfaceFilm();
 const label inertIndex(composition.species()[inertSpecie]);
diff --git a/applications/solvers/combustion/fireFoam/createSurfaceFilmModel.H b/applications/solvers/combustion/fireFoam/createSurfaceFilmModel.H
index ffdbcbf6a90..81995c09a56 100644
--- a/applications/solvers/combustion/fireFoam/createSurfaceFilmModel.H
+++ b/applications/solvers/combustion/fireFoam/createSurfaceFilmModel.H
@@ -1,5 +1,6 @@
 Info<< "\nConstructing surface film model" << endl;
 
-typedef regionModels::surfaceFilmModels::surfaceFilmModel filmModelType;
-
-autoPtr<filmModelType> tsurfaceFilm(filmModelType::New(mesh, g));
+autoPtr<regionModels::surfaceFilmModel> tsurfaceFilm
+(
+    regionModels::surfaceFilmModel::New(mesh, g)
+);
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/files b/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/files
deleted file mode 100644
index a76d2acc653..00000000000
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/files
+++ /dev/null
@@ -1,3 +0,0 @@
-reactingParcelFilmFoam.C
-
-EXE = $(FOAM_APPBIN)/reactingParcelFilmFoam
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options b/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options
deleted file mode 100644
index c48045772ef..00000000000
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options
+++ /dev/null
@@ -1,47 +0,0 @@
-EXE_INC = \
-    -I. \
-    -I../reactingParcelFoam \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I${LIB_SRC}/sampling/lnInclude \
-    -I${LIB_SRC}/meshTools/lnInclude \
-    -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)/transportModels/compressible/lnInclude \
-    -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-    -I$(LIB_SRC)/thermophysicalModels/thermophysicalProperties/lnInclude \
-    -I$(LIB_SRC)/thermophysicalModels/thermophysicalFunctions/lnInclude \
-    -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
-    -I$(LIB_SRC)/thermophysicalModels/SLGThermo/lnInclude \
-    -I$(LIB_SRC)/thermophysicalModels/chemistryModel/lnInclude \
-    -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
-    -I$(LIB_SRC)/regionModels/regionModel/lnInclude \
-    -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
-    -I$(LIB_SRC)/lagrangian/basic/lnInclude \
-    -I$(LIB_SRC)/lagrangian/intermediate/lnInclude \
-    -I$(LIB_SRC)/ODE/lnInclude \
-    -I$(LIB_SRC)/combustionModels/lnInclude \
-    -I$(FOAM_SOLVERS)/combustion/reactingFoam
-
-EXE_LIBS = \
-    -lfiniteVolume \
-    -lfvOptions \
-    -lsampling \
-    -lmeshTools \
-    -lturbulenceModels \
-    -lcompressibleTurbulenceModels \
-    -lspecie \
-    -lcompressibleTransportModels \
-    -lfluidThermophysicalModels \
-    -lreactionThermophysicalModels \
-    -lSLGThermo \
-    -lchemistryModel \
-    -lregionModels \
-    -lradiationModels \
-    -lsurfaceFilmModels \
-    -lsurfaceFilmDerivedFvPatchFields \
-    -llagrangianIntermediate \
-    -llagrangianTurbulence \
-    -lODE \
-    -lcombustionModels
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/UEqn.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/UEqn.H
deleted file mode 100644
index 0bb6ff72404..00000000000
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/UEqn.H
+++ /dev/null
@@ -1,34 +0,0 @@
-    MRF.correctBoundaryVelocity(U);
-
-    fvVectorMatrix UEqn
-    (
-        fvm::ddt(rho, U) + fvm::div(phi, U)
-      + MRF.DDt(rho, U)
-      + turbulence->divDevRhoReff(U)
-     ==
-        parcels.SU(U)
-      + fvOptions(rho, U)
-    );
-
-    UEqn.relax();
-
-    fvOptions.constrain(UEqn);
-
-    if (pimple.momentumPredictor())
-    {
-        solve
-        (
-            UEqn
-          ==
-            fvc::reconstruct
-            (
-                (
-                  - ghf*fvc::snGrad(rho)
-                  - fvc::snGrad(p_rgh)
-                )*mesh.magSf()
-            )
-        );
-
-        fvOptions.correct(U);
-        K = 0.5*magSqr(U);
-    }
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/createClouds.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/createClouds.H
deleted file mode 100644
index c568be12a16..00000000000
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/createClouds.H
+++ /dev/null
@@ -1,9 +0,0 @@
-Info<< "\nConstructing reacting cloud" << endl;
-basicReactingCloud parcels
-(
-    "reactingCloud1",
-    rho,
-    U,
-    g,
-    slgThermo
-);
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/createFields.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/createFields.H
deleted file mode 100644
index a52d47c47f7..00000000000
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/createFields.H
+++ /dev/null
@@ -1,143 +0,0 @@
-#include "createRDeltaT.H"
-
-Info<< "Creating combustion model\n" << endl;
-
-autoPtr<combustionModels::psiCombustionModel> combustion
-(
-    combustionModels::psiCombustionModel::New(mesh)
-);
-
-psiReactionThermo& thermo = combustion->thermo();
-thermo.validate(args.executable(), "h", "e");
-
-SLGThermo slgThermo(mesh, thermo);
-
-basicSpecieMixture& composition = thermo.composition();
-PtrList<volScalarField>& Y = composition.Y();
-
-const word inertSpecie(thermo.lookup("inertSpecie"));
-if (!composition.species().found(inertSpecie))
-{
-    FatalIOErrorIn(args.executable().c_str(), thermo)
-        << "Inert specie " << inertSpecie << " not found in available species "
-        << composition.species()
-        << exit(FatalIOError);
-}
-
-Info<< "Creating field rho\n" << endl;
-volScalarField rho
-(
-    IOobject
-    (
-        "rho",
-        runTime.timeName(),
-        mesh,
-        IOobject::NO_READ,
-        IOobject::AUTO_WRITE
-    ),
-    thermo.rho()
-);
-
-volScalarField& p = thermo.p();
-
-Info<< "\nReading field U\n" << endl;
-volVectorField U
-(
-    IOobject
-    (
-        "U",
-        runTime.timeName(),
-        mesh,
-        IOobject::MUST_READ,
-        IOobject::AUTO_WRITE
-    ),
-    mesh
-);
-
-#include "compressibleCreatePhi.H"
-
-Info<< "Creating turbulence model\n" << endl;
-autoPtr<compressible::turbulenceModel> turbulence
-(
-    compressible::turbulenceModel::New
-    (
-        rho,
-        U,
-        phi,
-        thermo
-    )
-);
-
-// Set the turbulence into the combustion model
-combustion->setTurbulence(turbulence());
-
-#include "readGravitationalAcceleration.H"
-#include "readhRef.H"
-#include "gh.H"
-
-
-volScalarField p_rgh
-(
-    IOobject
-    (
-        "p_rgh",
-        runTime.timeName(),
-        mesh,
-        IOobject::MUST_READ,
-        IOobject::AUTO_WRITE
-    ),
-    mesh
-);
-
-// Force p_rgh to be consistent with p
-p_rgh = p - rho*gh;
-
-mesh.setFluxRequired(p_rgh.name());
-
-multivariateSurfaceInterpolationScheme<scalar>::fieldTable fields;
-
-forAll(Y, i)
-{
-    fields.add(Y[i]);
-}
-fields.add(thermo.he());
-
-IOdictionary additionalControlsDict
-(
-    IOobject
-    (
-        "additionalControls",
-        runTime.constant(),
-        mesh,
-        IOobject::MUST_READ_IF_MODIFIED,
-        IOobject::NO_WRITE
-    )
-);
-
-Switch solvePrimaryRegion
-(
-    additionalControlsDict.lookup("solvePrimaryRegion")
-);
-
-volScalarField Qdot
-(
-    IOobject
-    (
-        "Qdot",
-        runTime.timeName(),
-        mesh,
-        IOobject::READ_IF_PRESENT,
-        IOobject::AUTO_WRITE
-    ),
-    mesh,
-    dimensionedScalar("Qdot", dimEnergy/dimVolume/dimTime, 0.0)
-);
-
-#include "createDpdt.H"
-
-#include "createK.H"
-
-#include "createMRF.H"
-#include "createClouds.H"
-#include "createRadiationModel.H"
-#include "createSurfaceFilmModel.H"
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/createSurfaceFilmModel.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/createSurfaceFilmModel.H
deleted file mode 100644
index ffdbcbf6a90..00000000000
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/createSurfaceFilmModel.H
+++ /dev/null
@@ -1,5 +0,0 @@
-Info<< "\nConstructing surface film model" << endl;
-
-typedef regionModels::surfaceFilmModels::surfaceFilmModel filmModelType;
-
-autoPtr<filmModelType> tsurfaceFilm(filmModelType::New(mesh, g));
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/pEqn.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/pEqn.H
deleted file mode 100644
index 7b5249d57e7..00000000000
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/pEqn.H
+++ /dev/null
@@ -1,59 +0,0 @@
-rho = thermo.rho();
-
-volScalarField rAU(1.0/UEqn.A());
-surfaceScalarField rhorAUf("rhorAUf", fvc::interpolate(rho*rAU));
-volVectorField HbyA(constrainHbyA(rAU*UEqn.H(), U, p));
-
-surfaceScalarField phig(-rhorAUf*ghf*fvc::snGrad(rho)*mesh.magSf());
-
-surfaceScalarField phiHbyA
-(
-    "phiHbyA",
-    (
-        fvc::flux(rho*HbyA)
-      + rhorAUf*fvc::ddtCorr(rho, U, phi)
-    )
-  + phig
-);
-
-MRF.makeRelative(fvc::interpolate(rho), phiHbyA);
-
-// Update the pressure BCs to ensure flux consistency
-constrainPressure(p_rgh, rho, U, phiHbyA, rhorAUf, MRF);
-
-while (pimple.correctNonOrthogonal())
-{
-    fvScalarMatrix p_rghEqn
-    (
-        fvc::ddt(psi, rho)*gh
-      + fvc::div(phiHbyA)
-      + fvm::ddt(psi, p_rgh)
-      - fvm::laplacian(rhorAUf, p_rgh)
-     ==
-        parcels.Srho()
-      + surfaceFilm.Srho()
-      + fvOptions(psi, p_rgh, rho.name())
-    );
-
-    p_rghEqn.solve(mesh.solver(p_rgh.select(pimple.finalInnerIter())));
-
-    if (pimple.finalNonOrthogonalIter())
-    {
-        phi = phiHbyA + p_rghEqn.flux();
-        U = HbyA + rAU*fvc::reconstruct((p_rghEqn.flux() + phig)/rhorAUf);
-        U.correctBoundaryConditions();
-        fvOptions.correct(U);
-    }
-}
-
-p = p_rgh + rho*gh;
-
-#include "rhoEqn.H"
-#include "compressibleContinuityErrs.H"
-
-K = 0.5*magSqr(U);
-
-if (thermo.dpdt())
-{
-    dpdt = fvc::ddt(p);
-}
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/reactingParcelFilmFoam.C b/applications/solvers/lagrangian/reactingParcelFilmFoam/reactingParcelFilmFoam.C
deleted file mode 100644
index cda41207de1..00000000000
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/reactingParcelFilmFoam.C
+++ /dev/null
@@ -1,138 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2017 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
-    reactingParcelFilmFoam
-
-Group
-    grpLagrangianSolvers
-
-Description
-    Transient solver for compressible, turbulent flow with a reacting,
-    multiphase particle cloud, and surface film modelling.
-
-\*---------------------------------------------------------------------------*/
-
-#include "fvCFD.H"
-#include "turbulentFluidThermoModel.H"
-#include "basicReactingCloud.H"
-#include "surfaceFilmModel.H"
-#include "psiCombustionModel.H"
-#include "radiationModel.H"
-#include "SLGThermo.H"
-#include "fvOptions.H"
-#include "pimpleControl.H"
-#include "localEulerDdtScheme.H"
-#include "fvcSmooth.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-int main(int argc, char *argv[])
-{
-    #include "postProcess.H"
-
-    #include "setRootCase.H"
-    #include "createTime.H"
-    #include "createMesh.H"
-    #include "createControl.H"
-    #include "createTimeControls.H"
-    #include "createFields.H"
-    #include "createFieldRefs.H"
-    #include "createFvOptions.H"
-    #include "initContinuityErrs.H"
-
-    turbulence->validate();
-
-    if (!LTS)
-    {
-        #include "compressibleCourantNo.H"
-        #include "setInitialDeltaT.H"
-    }
-
-    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-    Info<< "\nStarting time loop\n" << endl;
-
-    while (runTime.run())
-    {
-        #include "readTimeControls.H"
-
-        if (!LTS)
-        {
-            #include "compressibleCourantNo.H"
-            #include "setMultiRegionDeltaT.H"
-            #include "setDeltaT.H"
-        }
-
-        runTime++;
-
-        Info<< "Time = " << runTime.timeName() << nl << endl;
-
-        parcels.evolve();
-        surfaceFilm.evolve();
-
-        if (LTS)
-        {
-            #include "setRDeltaT.H"
-        }
-
-        if (solvePrimaryRegion)
-        {
-            #include "rhoEqn.H"
-
-            // --- PIMPLE loop
-            while (pimple.loop())
-            {
-                #include "UEqn.H"
-                #include "YEqn.H"
-                #include "EEqn.H"
-
-                // --- Pressure corrector loop
-                while (pimple.correct())
-                {
-                    #include "pEqn.H"
-                }
-
-                if (pimple.turbCorr())
-                {
-                    turbulence->correct();
-                }
-            }
-
-            rho = thermo.rho();
-        }
-
-        runTime.write();
-
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
-    }
-
-    Info<< "End" << endl;
-
-    return 0;
-}
-
-
-// ************************************************************************* //
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/rhoEqn.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/rhoEqn.H
deleted file mode 100644
index 2e37b4e471e..00000000000
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/rhoEqn.H
+++ /dev/null
@@ -1,48 +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/>.
-
-Global
-    rhoEqn
-
-Description
-    Solve the continuity for density.
-
-\*---------------------------------------------------------------------------*/
-
-{
-    fvScalarMatrix rhoEqn
-    (
-        fvm::ddt(rho)
-      + fvc::div(phi)
-      ==
-        parcels.Srho(rho)
-      + surfaceFilm.Srho()
-      + fvOptions(rho)
-    );
-
-    rhoEqn.solve();
-
-    fvOptions.correct(rho);
-}
-
-// ************************************************************************* //
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/EEqn.H b/applications/solvers/lagrangian/reactingParcelFoam/EEqn.H
index 42185b8afb2..4d112da030f 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/EEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/EEqn.H
@@ -19,6 +19,7 @@
      ==
         rho*(U&g)
       + parcels.Sh(he)
+      + surfaceFilm.Sh()
       + radiation->Sh(thermo, he)
       + Qdot
       + fvOptions(rho, he)
@@ -35,6 +36,6 @@
     thermo.correct();
     radiation->correct();
 
-    Info<< "T gas min/max   " << min(T).value() << ", "
+    Info<< "T gas min/max   = " << min(T).value() << ", "
         << max(T).value() << endl;
 }
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/Make/options b/applications/solvers/lagrangian/reactingParcelFoam/Make/options
index 80383470061..ca89bd0c014 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/Make/options
+++ b/applications/solvers/lagrangian/reactingParcelFoam/Make/options
@@ -1,12 +1,11 @@
 EXE_INC = \
     -I. \
+    -I../reactingParcelFoam \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
+    -I${LIB_SRC}/sampling/lnInclude \
     -I${LIB_SRC}/meshTools/lnInclude \
     -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 \
     -I$(LIB_SRC)/lagrangian/distributionModels/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
     -I$(LIB_SRC)/transportModels/compressible/lnInclude \
@@ -17,33 +16,33 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/SLGThermo/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/chemistryModel/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
-    -I$(LIB_SRC)/ODE/lnInclude \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude \
     -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
+    -I$(LIB_SRC)/lagrangian/basic/lnInclude \
+    -I$(LIB_SRC)/lagrangian/intermediate/lnInclude \
+    -I$(LIB_SRC)/ODE/lnInclude \
     -I$(LIB_SRC)/combustionModels/lnInclude \
-    -I$(LIB_SRC)/sampling/lnInclude \
     -I$(FOAM_SOLVERS)/combustion/reactingFoam
 
-
 EXE_LIBS = \
     -lfiniteVolume \
+    -lfvOptions \
+    -lsampling \
     -lmeshTools \
     -lturbulenceModels \
     -lcompressibleTurbulenceModels \
-    -llagrangian \
-    -llagrangianIntermediate \
-    -llagrangianTurbulence \
     -lspecie \
     -lcompressibleTransportModels \
     -lfluidThermophysicalModels \
-    -lthermophysicalProperties \
     -lreactionThermophysicalModels \
     -lSLGThermo \
     -lchemistryModel \
-    -lradiationModels \
-    -lODE \
     -lregionModels \
+    -lradiationModels \
     -lsurfaceFilmModels \
-    -lcombustionModels \
-    -lfvOptions \
-    -lsampling
+    -lsurfaceFilmDerivedFvPatchFields \
+    -llagrangian \
+    -llagrangianIntermediate \
+    -llagrangianTurbulence \
+    -lODE \
+    -lcombustionModels
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/UEqn.H b/applications/solvers/lagrangian/reactingParcelFoam/UEqn.H
index bb7ad20efc6..0bb6ff72404 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/UEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/UEqn.H
@@ -6,8 +6,7 @@
       + MRF.DDt(rho, U)
       + turbulence->divDevRhoReff(U)
      ==
-        rho()*g
-      + parcels.SU(U)
+        parcels.SU(U)
       + fvOptions(rho, U)
     );
 
@@ -17,7 +16,18 @@
 
     if (pimple.momentumPredictor())
     {
-        solve(UEqn == -fvc::grad(p));
+        solve
+        (
+            UEqn
+          ==
+            fvc::reconstruct
+            (
+                (
+                  - ghf*fvc::snGrad(rho)
+                  - fvc::snGrad(p_rgh)
+                )*mesh.magSf()
+            )
+        );
 
         fvOptions.correct(U);
         K = 0.5*magSqr(U);
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/YEqn.H b/applications/solvers/lagrangian/reactingParcelFoam/YEqn.H
index 60a27fec858..eb248990138 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/YEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/YEqn.H
@@ -9,6 +9,7 @@ tmp<fv::convectionScheme<scalar>> mvConvection
     )
 );
 
+
 {
     combustion->correct();
     Qdot = combustion->Qdot();
@@ -24,11 +25,12 @@ tmp<fv::convectionScheme<scalar>> mvConvection
             (
                 fvm::ddt(rho, Yi)
               + mvConvection->fvmDiv(phi, Yi)
-              - fvm::laplacian(turbulence->muEff(), Yi)
-             ==
+              - fvm::laplacian(turbulence->alphaEff(), Yi)
+              ==
                 parcels.SYi(i, Yi)
-              + combustion->R(Yi)
               + fvOptions(rho, Yi)
+              + combustion->R(Yi)
+              + surfaceFilm.Srho(i)
             );
 
             YEqn.relax();
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/createFieldRefs.H b/applications/solvers/lagrangian/reactingParcelFoam/createFieldRefs.H
index e7f76d8456e..bbbc50c122e 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/createFieldRefs.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/createFieldRefs.H
@@ -1,3 +1,5 @@
+const label inertIndex(composition.species()[inertSpecie]);
+
 const volScalarField& T = thermo.T();
 const volScalarField& psi = thermo.psi();
-const label inertIndex(composition.species()[inertSpecie]);
+regionModels::surfaceFilmModel& surfaceFilm = tsurfaceFilm();
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/createFields.H b/applications/solvers/lagrangian/reactingParcelFoam/createFields.H
index ce7e5441e01..b6673dae165 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/createFields.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/createFields.H
@@ -1,7 +1,5 @@
 #include "createRDeltaT.H"
 
-#include "readGravitationalAcceleration.H"
-
 Info<< "Creating combustion model\n" << endl;
 
 autoPtr<combustionModels::rhoCombustionModel> combustion
@@ -26,8 +24,7 @@ if (!composition.species().found(inertSpecie))
         << exit(FatalIOError);
 }
 
-volScalarField& p = thermo.p();
-
+Info<< "Creating field rho\n" << endl;
 volScalarField rho
 (
     IOobject
@@ -41,6 +38,8 @@ volScalarField rho
     thermo.rho()
 );
 
+volScalarField& p = thermo.p();
+
 Info<< "\nReading field U\n" << endl;
 volVectorField U
 (
@@ -57,30 +56,6 @@ volVectorField U
 
 #include "compressibleCreatePhi.H"
 
-mesh.setFluxRequired(p.name());
-
-dimensionedScalar rhoMax
-(
-    dimensionedScalar::lookupOrDefault
-    (
-        "rhoMax",
-        pimple.dict(),
-        dimDensity,
-        GREAT
-    )
-);
-
-dimensionedScalar rhoMin
-(
-    dimensionedScalar::lookupOrDefault
-    (
-        "rhoMin",
-        pimple.dict(),
-        dimDensity,
-        0
-    )
-);
-
 Info<< "Creating turbulence model\n" << endl;
 autoPtr<compressible::turbulenceModel> turbulence
 (
@@ -96,6 +71,31 @@ autoPtr<compressible::turbulenceModel> turbulence
 // Set the turbulence into the combustion model
 combustion->setTurbulence(turbulence());
 
+#include "readGravitationalAcceleration.H"
+#include "readhRef.H"
+#include "gh.H"
+
+
+volScalarField p_rgh
+(
+    IOobject
+    (
+        "p_rgh",
+        runTime.timeName(),
+        mesh,
+        IOobject::MUST_READ,
+        IOobject::AUTO_WRITE
+    ),
+    mesh
+);
+
+// Force p_rgh to be consistent with p
+p_rgh = p - rho*gh;
+
+pressureControl pressureControl(p, rho, pimple.dict(), false);
+
+mesh.setFluxRequired(p_rgh.name());
+
 Info<< "Creating multi-variate interpolation scheme\n" << endl;
 multivariateSurfaceInterpolationScheme<scalar>::fieldTable fields;
 
@@ -105,6 +105,11 @@ forAll(Y, i)
 }
 fields.add(thermo.he());
 
+Switch solvePrimaryRegion
+(
+    pimple.dict().lookupOrDefault<Switch>("solvePrimaryRegion", true)
+);
+
 volScalarField Qdot
 (
     IOobject
@@ -126,3 +131,4 @@ volScalarField Qdot
 #include "createMRF.H"
 #include "createRadiationModel.H"
 #include "createClouds.H"
+#include "createSurfaceFilmModel.H"
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/createSurfaceFilmModel.H b/applications/solvers/lagrangian/reactingParcelFoam/createSurfaceFilmModel.H
new file mode 100644
index 00000000000..81995c09a56
--- /dev/null
+++ b/applications/solvers/lagrangian/reactingParcelFoam/createSurfaceFilmModel.H
@@ -0,0 +1,6 @@
+Info<< "\nConstructing surface film model" << endl;
+
+autoPtr<regionModels::surfaceFilmModel> tsurfaceFilm
+(
+    regionModels::surfaceFilmModel::New(mesh, g)
+);
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/pEqn.H b/applications/solvers/lagrangian/reactingParcelFoam/pEqn.H
index f2cb2947186..588273cf543 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/pEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/pEqn.H
@@ -1,4 +1,7 @@
-rho = thermo.rho();
+if (!pimple.SIMPLErho())
+{
+    rho = thermo.rho();
+}
 
 // Thermodynamic density needs to be updated by psi*d(p) after the
 // pressure solution
@@ -7,6 +10,9 @@ const volScalarField psip0(psi*p);
 volScalarField rAU(1.0/UEqn.A());
 surfaceScalarField rhorAUf("rhorAUf", fvc::interpolate(rho*rAU));
 volVectorField HbyA(constrainHbyA(rAU*UEqn.H(), U, p));
+
+surfaceScalarField phig(-rhorAUf*ghf*fvc::snGrad(rho)*mesh.magSf());
+
 surfaceScalarField phiHbyA
 (
     "phiHbyA",
@@ -14,58 +20,68 @@ surfaceScalarField phiHbyA
         fvc::flux(rho*HbyA)
       + rhorAUf*fvc::ddtCorr(rho, U, phi)
     )
+  + phig
 );
 
 MRF.makeRelative(fvc::interpolate(rho), phiHbyA);
 
 // Update the pressure BCs to ensure flux consistency
-constrainPressure(p, rho, U, phiHbyA, rhorAUf, MRF);
+constrainPressure(p_rgh, rho, U, phiHbyA, rhorAUf, MRF);
 
-fvScalarMatrix pDDtEqn
+fvScalarMatrix p_rghDDtEqn
 (
-    fvc::ddt(rho) + psi*correction(fvm::ddt(p))
+    fvc::ddt(rho) + psi*correction(fvm::ddt(p_rgh))
   + fvc::div(phiHbyA)
  ==
     parcels.Srho()
-  + fvOptions(psi, p, rho.name())
+  + surfaceFilm.Srho()
+  + fvOptions(psi, p_rgh, rho.name())
 );
 
 while (pimple.correctNonOrthogonal())
 {
-    fvScalarMatrix pEqn
+    fvScalarMatrix p_rghEqn
     (
-        pDDtEqn
-      - fvm::laplacian(rhorAUf, p)
+        p_rghDDtEqn
+      - fvm::laplacian(rhorAUf, p_rgh)
     );
 
-    pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
+    p_rghEqn.solve(mesh.solver(p_rgh.select(pimple.finalInnerIter())));
 
     if (pimple.finalNonOrthogonalIter())
     {
-        phi = phiHbyA + pEqn.flux();
+        phi = phiHbyA + p_rghEqn.flux();
+
+        // Explicitly relax pressure for momentum corrector
+        p_rgh.relax();
+
+        U = HbyA + rAU*fvc::reconstruct((p_rghEqn.flux() + phig)/rhorAUf);
+        U.correctBoundaryConditions();
+        fvOptions.correct(U);
+        K = 0.5*magSqr(U);
     }
 }
 
-p.relax();
+p = p_rgh + rho*gh;
 
 // Thermodynamic density update
 thermo.correctRho(psi*p - psip0);
 
-#include "rhoEqn.H" // NOTE: flux and time scales now inconsistent
+#include "rhoEqn.H"
 #include "compressibleContinuityErrs.H"
 
-U = HbyA - rAU*fvc::grad(p);
-U.correctBoundaryConditions();
-fvOptions.correct(U);
-K = 0.5*magSqr(U);
+if (pressureControl.limit(p))
+{
+    p.correctBoundaryConditions();
+    rho = thermo.rho();
+    p_rgh = p - rho*gh;
+}
+else if (pimple.SIMPLErho())
+{
+    rho = thermo.rho();
+}
 
 if (thermo.dpdt())
 {
     dpdt = fvc::ddt(p);
 }
-
-rho = thermo.rho();
-rho = max(rho, rhoMin);
-rho = min(rho, rhoMax);
-
-Info<< "p min/max = " << min(p).value() << ", " << max(p).value() << endl;
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C
index 93768896b32..497aa835a57 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-2016 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2017 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -29,18 +29,20 @@ Group
 
 Description
     Transient solver for compressible, turbulent flow with a reacting,
-    multiphase particle cloud, and optional sources/constraints.
+    multiphase particle cloud, and surface film modelling.
 
 \*---------------------------------------------------------------------------*/
 
 #include "fvCFD.H"
 #include "turbulentFluidThermoModel.H"
 #include "basicReactingMultiphaseCloud.H"
+#include "surfaceFilmModel.H"
 #include "rhoCombustionModel.H"
 #include "radiationModel.H"
-#include "fvOptions.H"
 #include "SLGThermo.H"
+#include "fvOptions.H"
 #include "pimpleControl.H"
+#include "pressureControl.H"
 #include "localEulerDdtScheme.H"
 #include "fvcSmooth.H"
 
@@ -76,10 +78,14 @@ int main(int argc, char *argv[])
     {
         #include "readTimeControls.H"
 
-        if (!LTS)
+        if (LTS)
+        {
+            #include "setRDeltaT.H"
+        }
+        else
         {
             #include "compressibleCourantNo.H"
-            #include "setDeltaT.H"
+            #include "setMultiRegionDeltaT.H"
         }
 
         runTime++;
@@ -87,34 +93,36 @@ int main(int argc, char *argv[])
         Info<< "Time = " << runTime.timeName() << nl << endl;
 
         parcels.evolve();
+        surfaceFilm.evolve();
 
-        if (LTS)
+        if (solvePrimaryRegion)
         {
-            #include "setRDeltaT.H"
-        }
-
-        #include "rhoEqn.H"
-
-        // --- Pressure-velocity PIMPLE corrector loop
-        while (pimple.loop())
-        {
-            #include "UEqn.H"
-            #include "YEqn.H"
-            #include "EEqn.H"
-
-            // --- Pressure corrector loop
-            while (pimple.correct())
+            if (pimple.nCorrPIMPLE() <= 1)
             {
-                #include "pEqn.H"
+                #include "rhoEqn.H"
             }
 
-            if (pimple.turbCorr())
+            // --- PIMPLE loop
+            while (pimple.loop())
             {
-                turbulence->correct();
+                #include "UEqn.H"
+                #include "YEqn.H"
+                #include "EEqn.H"
+
+                // --- Pressure corrector loop
+                while (pimple.correct())
+                {
+                    #include "pEqn.H"
+                }
+
+                if (pimple.turbCorr())
+                {
+                    turbulence->correct();
+                }
             }
-        }
 
-        rho = thermo.rho();
+            rho = thermo.rho();
+        }
 
         runTime.write();
 
@@ -123,7 +131,7 @@ int main(int argc, char *argv[])
             << nl << endl;
     }
 
-    Info<< "End\n" << endl;
+    Info<< "End" << endl;
 
     return 0;
 }
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/rhoEqn.H b/applications/solvers/lagrangian/reactingParcelFoam/rhoEqn.H
index b69701e7433..baf1cb4ec48 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/rhoEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/rhoEqn.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) 2011-2017 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -36,15 +36,13 @@ Description
       + fvc::div(phi)
       ==
         parcels.Srho(rho)
+      + surfaceFilm.Srho()
       + fvOptions(rho)
     );
 
     rhoEqn.solve();
 
     fvOptions.correct(rho);
-
-    Info<< "rho min/max = " << min(rho).value() << ", " << max(rho).value()
-        << endl;
 }
 
 // ************************************************************************* //
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/setMultiRegionDeltaT.H b/applications/solvers/lagrangian/reactingParcelFoam/setMultiRegionDeltaT.H
similarity index 79%
rename from applications/solvers/lagrangian/reactingParcelFilmFoam/setMultiRegionDeltaT.H
rename to applications/solvers/lagrangian/reactingParcelFoam/setMultiRegionDeltaT.H
index 76d08256eb4..a61829a6be7 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/setMultiRegionDeltaT.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/setMultiRegionDeltaT.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-2017 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -33,25 +33,21 @@ Description
 
 if (adjustTimeStep)
 {
-    if (CoNum == -GREAT)
-    {
-        CoNum = SMALL;
-    }
-
-    const scalar TFactorFluid = maxCo/(CoNum + SMALL);
-    const scalar TFactorFilm = maxCo/(surfaceFilm.CourantNumber() + SMALL);
-
-    const scalar dt0 = runTime.deltaTValue();
+    const scalar maxDeltaTFact =
+        min(maxCo/(CoNum + SMALL), maxCo/(surfaceFilm.CourantNumber() + SMALL));
+    const scalar deltaTFact =
+        min(min(maxDeltaTFact, 1.0 + 0.1*maxDeltaTFact), 1.2);
 
     runTime.setDeltaT
     (
         min
         (
-            dt0*min(min(TFactorFluid, TFactorFilm), 1.2),
+            deltaTFact*runTime.deltaTValue(),
             maxDeltaT
         )
     );
-}
 
+    Info<< "deltaT = " <<  runTime.deltaTValue() << endl;
+}
 
 // ************************************************************************* //
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/simpleReactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/simpleReactingParcelFoam.C
index bbec4a41ab9..a5092143a95 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-2016 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2017 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,9 +24,6 @@ License
 Application
     simpleReactingParcelFoam
 
-Group
-    grpLagrangianSolvers
-
 Description
     Steady state solver for compressible, turbulent flow with reacting,
     multiphase particle clouds and optional sources/constraints.
@@ -38,6 +35,7 @@ Description
 #include "basicReactingMultiphaseCloud.H"
 #include "rhoCombustionModel.H"
 #include "radiationModel.H"
+#include "IOporosityModelList.H"
 #include "fvOptions.H"
 #include "SLGThermo.H"
 #include "simpleControl.H"
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/EEqn.H b/applications/solvers/lagrangian/sprayFoam/EEqn.H
similarity index 90%
rename from applications/solvers/lagrangian/reactingParcelFilmFoam/EEqn.H
rename to applications/solvers/lagrangian/sprayFoam/EEqn.H
index 4d112da030f..42185b8afb2 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/EEqn.H
+++ b/applications/solvers/lagrangian/sprayFoam/EEqn.H
@@ -19,7 +19,6 @@
      ==
         rho*(U&g)
       + parcels.Sh(he)
-      + surfaceFilm.Sh()
       + radiation->Sh(thermo, he)
       + Qdot
       + fvOptions(rho, he)
@@ -36,6 +35,6 @@
     thermo.correct();
     radiation->correct();
 
-    Info<< "T gas min/max   = " << min(T).value() << ", "
+    Info<< "T gas min/max   " << min(T).value() << ", "
         << max(T).value() << endl;
 }
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/YEqn.H b/applications/solvers/lagrangian/sprayFoam/YEqn.H
similarity index 89%
rename from applications/solvers/lagrangian/reactingParcelFilmFoam/YEqn.H
rename to applications/solvers/lagrangian/sprayFoam/YEqn.H
index eb248990138..60a27fec858 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/YEqn.H
+++ b/applications/solvers/lagrangian/sprayFoam/YEqn.H
@@ -9,7 +9,6 @@ tmp<fv::convectionScheme<scalar>> mvConvection
     )
 );
 
-
 {
     combustion->correct();
     Qdot = combustion->Qdot();
@@ -25,12 +24,11 @@ tmp<fv::convectionScheme<scalar>> mvConvection
             (
                 fvm::ddt(rho, Yi)
               + mvConvection->fvmDiv(phi, Yi)
-              - fvm::laplacian(turbulence->alphaEff(), Yi)
-              ==
+              - fvm::laplacian(turbulence->muEff(), Yi)
+             ==
                 parcels.SYi(i, Yi)
-              + fvOptions(rho, Yi)
               + combustion->R(Yi)
-              + surfaceFilm.Srho(i)
+              + fvOptions(rho, Yi)
             );
 
             YEqn.relax();
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/createFieldRefs.H b/applications/solvers/lagrangian/sprayFoam/createFieldRefs.H
similarity index 75%
rename from applications/solvers/lagrangian/reactingParcelFilmFoam/createFieldRefs.H
rename to applications/solvers/lagrangian/sprayFoam/createFieldRefs.H
index 14914688ca1..e7f76d8456e 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/createFieldRefs.H
+++ b/applications/solvers/lagrangian/sprayFoam/createFieldRefs.H
@@ -1,5 +1,3 @@
-const label inertIndex(composition.species()[inertSpecie]);
-
 const volScalarField& T = thermo.T();
 const volScalarField& psi = thermo.psi();
-filmModelType& surfaceFilm = tsurfaceFilm();
+const label inertIndex(composition.species()[inertSpecie]);
diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/VoFPatchTransfer/VoFPatchTransfer.C b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/VoFPatchTransfer/VoFPatchTransfer.C
index d6db2239a5e..b3a646e93b9 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/VoFPatchTransfer/VoFPatchTransfer.C
+++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/VoFPatchTransfer/VoFPatchTransfer.C
@@ -45,7 +45,7 @@ addToRunTimeSelectionTable(transferModel, VoFPatchTransfer, dictionary);
 
 VoFPatchTransfer::VoFPatchTransfer
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/VoFPatchTransfer/VoFPatchTransfer.H b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/VoFPatchTransfer/VoFPatchTransfer.H
index 4ad8817c6bc..f521672bb72 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/VoFPatchTransfer/VoFPatchTransfer.H
+++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/VoFPatchTransfer/VoFPatchTransfer.H
@@ -98,7 +98,7 @@ public:
     // Constructors
 
         //- Construct from surface film model
-        VoFPatchTransfer(surfaceFilmModel& film, const dictionary& dict);
+        VoFPatchTransfer(surfaceFilmRegionModel& film, const dictionary& dict);
 
 
     //- Destructor
diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/compressibleInterFilmFoam.C b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/compressibleInterFilmFoam.C
index 6241555c429..bc30ed8f603 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/compressibleInterFilmFoam.C
+++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/compressibleInterFilmFoam.C
@@ -72,7 +72,7 @@ int main(int argc, char *argv[])
     const volScalarField& psi1 = mixture.thermo1().psi();
     const volScalarField& psi2 = mixture.thermo2().psi();
 
-    filmModelType& surfaceFilm = tsurfaceFilm();
+    regionModels::surfaceFilmModel& surfaceFilm = tsurfaceFilm();
 
     turbulence->validate();
 
diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/createSurfaceFilmModel.H b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/createSurfaceFilmModel.H
index ddb05b3b034..1d452e75494 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/createSurfaceFilmModel.H
+++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/createSurfaceFilmModel.H
@@ -1,6 +1,7 @@
 Info<< "\nConstructing surface film model" << endl;
 
-typedef regionModels::surfaceFilmModels::surfaceFilmModel filmModelType;
-
 SLGThermo slgThermo(mesh, mixture.thermo1());
-autoPtr<filmModelType> tsurfaceFilm(filmModelType::New(mesh, g));
+autoPtr<regionModels::surfaceFilmModel> tsurfaceFilm
+(
+    regionModels::surfaceFilmModel::New(mesh, g)
+);
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.C b/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.C
index eb8fc4416fa..eea2b1fee12 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.C
@@ -24,7 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "SurfaceFilmModel.H"
-#include "surfaceFilmModel.H"
+#include "surfaceFilmRegionModel.H"
 #include "mathematicalConstants.H"
 
 using namespace Foam::constant;
@@ -109,9 +109,9 @@ void Foam::SurfaceFilmModel<CloudType>::inject(TrackData& td)
     }
 
     // Retrieve the film model from the owner database
-    const regionModels::surfaceFilmModels::surfaceFilmModel& filmModel =
+    const regionModels::surfaceFilmModels::surfaceFilmRegionModel& filmModel =
         this->owner().mesh().time().objectRegistry::template lookupObject
-        <regionModels::surfaceFilmModels::surfaceFilmModel>
+        <regionModels::surfaceFilmModels::surfaceFilmRegionModel>
         (
             "surfaceFilmProperties"
         );
@@ -190,7 +190,7 @@ void Foam::SurfaceFilmModel<CloudType>::cacheFilmFields
 (
     const label filmPatchi,
     const label primaryPatchi,
-    const regionModels::surfaceFilmModels::surfaceFilmModel& filmModel
+    const regionModels::surfaceFilmModels::surfaceFilmRegionModel& filmModel
 )
 {
     massParcelPatch_ = filmModel.cloudMassTrans().boundaryField()[filmPatchi];
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.H b/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.H
index b6628058ac2..691bbfb97f1 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.H
+++ b/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2017 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -54,7 +54,7 @@ namespace regionModels
 {
     namespace surfaceFilmModels
     {
-        class surfaceFilmModel;
+        class surfaceFilmRegionModel;
     }
 }
 
@@ -117,7 +117,7 @@ protected:
         (
             const label filmPatchi,
             const label primaryPatchi,
-            const regionModels::surfaceFilmModels::surfaceFilmModel& filmModel
+            const regionModels::surfaceFilmModels::surfaceFilmRegionModel&
         );
 
         //- Set the individual parcel properties
diff --git a/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.C b/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.C
index 0cb1d22242e..87185c7d0a6 100644
--- a/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.C
+++ b/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.C
@@ -1,4 +1,4 @@
-/*---------------------------------------------------------------------------*\
+/*---------------------------------------------------------------------------* \
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
@@ -128,7 +128,7 @@ Foam::vector Foam::ThermoSurfaceFilm<CloudType>::splashDirection
 template<class CloudType>
 void Foam::ThermoSurfaceFilm<CloudType>::absorbInteraction
 (
-    regionModels::surfaceFilmModels::surfaceFilmModel& filmModel,
+    regionModels::surfaceFilmModels::surfaceFilmRegionModel& filmModel,
     const parcelType& p,
     const polyPatch& pp,
     const label facei,
@@ -205,7 +205,7 @@ void Foam::ThermoSurfaceFilm<CloudType>::bounceInteraction
 template<class CloudType>
 void Foam::ThermoSurfaceFilm<CloudType>::drySplashInteraction
 (
-    regionModels::surfaceFilmModels::surfaceFilmModel& filmModel,
+    regionModels::surfaceFilmModels::surfaceFilmRegionModel& filmModel,
     const parcelType& p,
     const polyPatch& pp,
     const label facei,
@@ -261,7 +261,7 @@ void Foam::ThermoSurfaceFilm<CloudType>::drySplashInteraction
 template<class CloudType>
 void Foam::ThermoSurfaceFilm<CloudType>::wetSplashInteraction
 (
-    regionModels::surfaceFilmModels::surfaceFilmModel& filmModel,
+    regionModels::surfaceFilmModels::surfaceFilmRegionModel& filmModel,
     parcelType& p,
     const polyPatch& pp,
     const label facei,
@@ -338,7 +338,7 @@ void Foam::ThermoSurfaceFilm<CloudType>::wetSplashInteraction
 template<class CloudType>
 void Foam::ThermoSurfaceFilm<CloudType>::splashInteraction
 (
-    regionModels::surfaceFilmModels::surfaceFilmModel& filmModel,
+    regionModels::surfaceFilmModels::surfaceFilmRegionModel& filmModel,
     const parcelType& p,
     const polyPatch& pp,
     const label facei,
@@ -556,11 +556,12 @@ bool Foam::ThermoSurfaceFilm<CloudType>::transferParcel
 )
 {
     // Retrieve the film model from the owner database
-    regionModels::surfaceFilmModels::surfaceFilmModel& filmModel =
-        const_cast<regionModels::surfaceFilmModels::surfaceFilmModel&>
+    regionModels::surfaceFilmModels::surfaceFilmRegionModel& filmModel =
+        const_cast<regionModels::surfaceFilmModels::surfaceFilmRegionModel&>
         (
             this->owner().db().time().objectRegistry::template
-                lookupObject<regionModels::surfaceFilmModels::surfaceFilmModel>
+                lookupObject
+                <regionModels::surfaceFilmModels::surfaceFilmRegionModel>
                 (
                     "surfaceFilmProperties"
                 )
@@ -624,7 +625,7 @@ void Foam::ThermoSurfaceFilm<CloudType>::cacheFilmFields
 (
     const label filmPatchi,
     const label primaryPatchi,
-    const regionModels::surfaceFilmModels::surfaceFilmModel& filmModel
+    const regionModels::surfaceFilmModels::surfaceFilmRegionModel& filmModel
 )
 {
     SurfaceFilmModel<CloudType>::cacheFilmFields
diff --git a/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.H b/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.H
index fd2fb238c91..9b569469815 100644
--- a/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.H
+++ b/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.H
@@ -171,7 +171,7 @@ protected:
             //- Absorb parcel into film
             void absorbInteraction
             (
-                regionModels::surfaceFilmModels::surfaceFilmModel& filmModel,
+                regionModels::surfaceFilmModels::surfaceFilmRegionModel&,
                 const parcelType& p,
                 const polyPatch& pp,
                 const label facei,
@@ -191,7 +191,7 @@ protected:
             //- Parcel interaction with dry surface
             void drySplashInteraction
             (
-                regionModels::surfaceFilmModels::surfaceFilmModel& filmModel,
+                regionModels::surfaceFilmModels::surfaceFilmRegionModel&,
                 const parcelType& p,
                 const polyPatch& pp,
                 const label facei,
@@ -201,7 +201,7 @@ protected:
             //- Parcel interaction with wetted surface
             void wetSplashInteraction
             (
-                regionModels::surfaceFilmModels::surfaceFilmModel& filmModel,
+                regionModels::surfaceFilmModels::surfaceFilmRegionModel&,
                 parcelType& p,
                 const polyPatch& pp,
                 const label facei,
@@ -211,7 +211,7 @@ protected:
             //- Bai parcel splash interaction model
             void splashInteraction
             (
-                regionModels::surfaceFilmModels::surfaceFilmModel& filmModel,
+                regionModels::surfaceFilmModels::surfaceFilmRegionModel&,
                 const parcelType& p,
                 const polyPatch& pp,
                 const label facei,
@@ -230,7 +230,7 @@ protected:
             (
                 const label filmPatchi,
                 const label primaryPatchi,
-                const regionModels::surfaceFilmModels::surfaceFilmModel&
+                const regionModels::surfaceFilmModels::surfaceFilmRegionModel&
                     filmModel
             );
 
diff --git a/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisTemperatureCoupled/filmPyrolysisTemperatureCoupledFvPatchScalarField.C b/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisTemperatureCoupled/filmPyrolysisTemperatureCoupledFvPatchScalarField.C
index b2cd87b200e..3616268333e 100644
--- a/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisTemperatureCoupled/filmPyrolysisTemperatureCoupledFvPatchScalarField.C
+++ b/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisTemperatureCoupled/filmPyrolysisTemperatureCoupledFvPatchScalarField.C
@@ -27,7 +27,7 @@ License
 #include "addToRunTimeSelectionTable.H"
 #include "surfaceFields.H"
 #include "pyrolysisModel.H"
-#include "surfaceFilmModel.H"
+#include "surfaceFilmRegionModel.H"
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
@@ -123,7 +123,9 @@ void Foam::filmPyrolysisTemperatureCoupledFvPatchScalarField::updateCoeffs()
         return;
     }
 
-    typedef regionModels::surfaceFilmModels::surfaceFilmModel filmModelType;
+    typedef regionModels::surfaceFilmModels::surfaceFilmRegionModel
+        filmModelType;
+
     typedef regionModels::pyrolysisModels::pyrolysisModel pyrModelType;
 
     // Since we're inside initEvaluate/evaluate there might be processor
diff --git a/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.C b/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.C
index b88f3d57d8b..c5507e06a22 100644
--- a/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.C
+++ b/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.C
@@ -27,7 +27,7 @@ License
 #include "addToRunTimeSelectionTable.H"
 #include "surfaceFields.H"
 #include "pyrolysisModel.H"
-#include "surfaceFilmModel.H"
+#include "surfaceFilmRegionModel.H"
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
@@ -123,7 +123,9 @@ void Foam::filmPyrolysisVelocityCoupledFvPatchVectorField::updateCoeffs()
         return;
     }
 
-    typedef regionModels::surfaceFilmModels::surfaceFilmModel filmModelType;
+    typedef regionModels::surfaceFilmModels::surfaceFilmRegionModel
+        filmModelType;
+
     typedef regionModels::pyrolysisModels::pyrolysisModel pyrModelType;
 
     // Since we're inside initEvaluate/evaluate there might be processor
diff --git a/src/regionModels/surfaceFilmModels/Make/files b/src/regionModels/surfaceFilmModels/Make/files
index c78c93da879..375ca366797 100644
--- a/src/regionModels/surfaceFilmModels/Make/files
+++ b/src/regionModels/surfaceFilmModels/Make/files
@@ -1,6 +1,7 @@
 /* Surface film models */
 surfaceFilmModel/surfaceFilmModel.C
 surfaceFilmModel/surfaceFilmModelNew.C
+surfaceFilmRegionModel/surfaceFilmRegionModel.C
 noFilm/noFilm.C
 kinematicSingleLayer/kinematicSingleLayer.C
 thermoSingleLayer/thermoSingleLayer.C
diff --git a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/alphatFilmWallFunction/alphatFilmWallFunctionFvPatchScalarField.C b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/alphatFilmWallFunction/alphatFilmWallFunctionFvPatchScalarField.C
index cc7c60f985f..09e76db86e9 100644
--- a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/alphatFilmWallFunction/alphatFilmWallFunctionFvPatchScalarField.C
+++ b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/alphatFilmWallFunction/alphatFilmWallFunctionFvPatchScalarField.C
@@ -25,7 +25,7 @@ License
 
 #include "alphatFilmWallFunctionFvPatchScalarField.H"
 #include "turbulentFluidThermoModel.H"
-#include "surfaceFilmModel.H"
+#include "surfaceFilmRegionModel.H"
 #include "fvPatchFieldMapper.H"
 #include "volFields.H"
 #include "addToRunTimeSelectionTable.H"
@@ -142,7 +142,7 @@ void alphatFilmWallFunctionFvPatchScalarField::updateCoeffs()
         return;
     }
 
-    typedef regionModels::surfaceFilmModels::surfaceFilmModel modelType;
+    typedef regionModels::surfaceFilmModels::surfaceFilmRegionModel modelType;
 
     // Since we're inside initEvaluate/evaluate there might be processor
     // comms underway. Change the tag we use.
diff --git a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.C b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.C
index 22ede927cea..b35804673e4 100644
--- a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.C
+++ b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.C
@@ -28,7 +28,7 @@ License
 #include "volFields.H"
 #include "turbulentFluidThermoModel.H"
 #include "addToRunTimeSelectionTable.H"
-#include "surfaceFilmModel.H"
+#include "surfaceFilmRegionModel.H"
 #include "mappedWallPolyPatch.H"
 #include "mapDistribute.H"
 
@@ -51,7 +51,7 @@ tmp<scalarField> nutkFilmWallFunctionFvPatchScalarField::calcUTau
     tmp<scalarField> tuTau(new scalarField(patch().size(), 0.0));
     scalarField& uTau = tuTau.ref();
 
-    typedef regionModels::surfaceFilmModels::surfaceFilmModel modelType;
+    typedef regionModels::surfaceFilmModels::surfaceFilmRegionModel modelType;
 
     bool foundFilm = db().time().foundObject<modelType>(filmRegionName_);
 
diff --git a/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C b/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C
index 256181610cc..adf0bf366db 100644
--- a/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C
+++ b/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C
@@ -49,13 +49,13 @@ namespace surfaceFilmModels
 
 defineTypeNameAndDebug(kinematicSingleLayer, 0);
 
-addToRunTimeSelectionTable(surfaceFilmModel, kinematicSingleLayer, mesh);
+addToRunTimeSelectionTable(surfaceFilmRegionModel, kinematicSingleLayer, mesh);
 
 // * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
 
 bool kinematicSingleLayer::read()
 {
-    if (surfaceFilmModel::read())
+    if (surfaceFilmRegionModel::read())
     {
         const dictionary& solution = this->solution().subDict("PISO");
         solution.lookup("momentumPredictor") >> momentumPredictor_;
@@ -458,7 +458,7 @@ kinematicSingleLayer::kinematicSingleLayer
     const bool readFields
 )
 :
-    surfaceFilmModel(modelType, mesh, g, regionType),
+    surfaceFilmRegionModel(modelType, mesh, g, regionType),
 
     momentumPredictor_(solution().subDict("PISO").lookup("momentumPredictor")),
     nOuterCorr_(solution().subDict("PISO").lookupOrDefault("nOuterCorr", 1)),
@@ -880,7 +880,7 @@ void kinematicSingleLayer::preEvolveRegion()
         InfoInFunction << endl;
     }
 
-    surfaceFilmModel::preEvolveRegion();
+    surfaceFilmRegionModel::preEvolveRegion();
 
     transferPrimaryRegionThermoFields();
 
diff --git a/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.H b/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.H
index d90dddbf715..ba9940d1eff 100644
--- a/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.H
+++ b/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.H
@@ -35,7 +35,7 @@ SourceFiles
 #ifndef kinematicSingleLayer_H
 #define kinematicSingleLayer_H
 
-#include "surfaceFilmModel.H"
+#include "surfaceFilmRegionModel.H"
 #include "fvMesh.H"
 #include "volFields.H"
 #include "surfaceFields.H"
@@ -64,7 +64,7 @@ class filmThermoModel;
 
 class kinematicSingleLayer
 :
-    public surfaceFilmModel
+    public surfaceFilmRegionModel
 {
 private:
 
diff --git a/src/regionModels/surfaceFilmModels/noFilm/noFilm.C b/src/regionModels/surfaceFilmModels/noFilm/noFilm.C
index 6082dc4950b..1669431b2da 100644
--- a/src/regionModels/surfaceFilmModels/noFilm/noFilm.C
+++ b/src/regionModels/surfaceFilmModels/noFilm/noFilm.C
@@ -41,23 +41,6 @@ namespace surfaceFilmModels
 defineTypeNameAndDebug(noFilm, 0);
 addToRunTimeSelectionTable(surfaceFilmModel, noFilm, mesh);
 
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-bool noFilm::read()
-{
-    if (surfaceFilmModel::read())
-    {
-        // no additional info to read
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 noFilm::noFilm
@@ -68,7 +51,8 @@ noFilm::noFilm
     const word& regionType
 )
 :
-    surfaceFilmModel(modelType, mesh, g, regionType)
+    surfaceFilmModel(),
+    mesh_(mesh)
 {}
 
 
@@ -80,174 +64,9 @@ noFilm::~noFilm()
 
 // * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * * //
 
-void noFilm::addSources
-(
-    const label,
-    const label,
-    const scalar,
-    const vector&,
-    const scalar,
-    const scalar
-)
-{}
-
-
-const volScalarField& noFilm::delta() const
-{
-    FatalErrorInFunction
-        << "delta field not available for " << type() << abort(FatalError);
-
-    return volScalarField::null();
-}
-
-
-const volScalarField& noFilm::alpha() const
-{
-    FatalErrorInFunction
-        << "alpha field not available for " << type() << abort(FatalError);
-
-    return volScalarField::null();
-}
-
-
-const volVectorField& noFilm::U() const
-{
-    FatalErrorInFunction
-        << "U field not available for " << type() << abort(FatalError);
-
-    return volVectorField::null();
-}
-
-
-const volVectorField& noFilm::Us() const
-{
-    FatalErrorInFunction
-        << "Us field not available for " << type() << abort(FatalError);
-
-    return volVectorField::null();
-}
-
-
-const volVectorField& noFilm::Uw() const
-{
-    FatalErrorInFunction
-        << "Uw field not available for " << type() << abort(FatalError);
-
-    return volVectorField::null();
-}
-
-
-const volScalarField& noFilm::rho() const
-{
-    FatalErrorInFunction
-        << "rho field not available for " << type() << abort(FatalError);
-
-    return volScalarField::null();
-}
-
-
-const volScalarField& noFilm::T() const
-{
-    FatalErrorInFunction
-        << "T field not available for " << type() << abort(FatalError);
-
-    return volScalarField::null();
-}
-
-
-const volScalarField& noFilm::Ts() const
-{
-    FatalErrorInFunction
-        << "Ts field not available for " << type() << abort(FatalError);
-
-    return volScalarField::null();
-}
-
-
-const volScalarField& noFilm::Tw() const
-{
-    FatalErrorInFunction
-        << "Tw field not available for " << type() << abort(FatalError);
-
-    return volScalarField::null();
-}
-
-
-const volScalarField& noFilm::hs() const
-{
-    FatalErrorInFunction
-        << "hs field not available for " << type() << abort(FatalError);
-
-    return volScalarField::null();
-}
-
-
-const volScalarField& noFilm::Cp() const
-{
-    FatalErrorInFunction
-        << "Cp field not available for " << type() << abort(FatalError);
-
-    return volScalarField::null();
-}
-
-
-const volScalarField& noFilm::kappa() const
-{
-    FatalErrorInFunction
-        << "kappa field not available for " << type() << abort(FatalError);
-
-    return volScalarField::null();
-}
-
-
-const volScalarField& noFilm::sigma() const
-{
-    FatalErrorInFunction
-        << "sigma field not available for " << type() << abort(FatalError);
-
-    return volScalarField::null();
-}
-
-
-tmp<volScalarField> noFilm::primaryMassTrans() const
+Foam::scalar noFilm::CourantNumber() const
 {
-    return tmp<volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "noFilm::primaryMassTrans",
-                time().timeName(),
-                primaryMesh(),
-                IOobject::NO_READ,
-                IOobject::NO_WRITE,
-                false
-            ),
-            primaryMesh(),
-            dimensionedScalar("zero", dimMass/dimVolume/dimTime, 0.0)
-        )
-    );
-}
-
-
-const volScalarField& noFilm::cloudMassTrans() const
-{
-    FatalErrorInFunction
-        << "cloudMassTrans field not available for " << type()
-        << abort(FatalError);
-
-    return volScalarField::null();
-}
-
-
-const volScalarField& noFilm::cloudDiameterTrans() const
-{
-    FatalErrorInFunction
-        << "cloudDiameterTrans field not available for " << type()
-        << abort(FatalError);
-
-    return volScalarField::null();
+    return 0;
 }
 
 
@@ -260,13 +79,13 @@ tmp<volScalarField::Internal> noFilm::Srho() const
             IOobject
             (
                 "noFilm::Srho",
-                time().timeName(),
-                primaryMesh(),
+                mesh_.time().timeName(),
+                mesh_,
                 IOobject::NO_READ,
                 IOobject::NO_WRITE,
                 false
             ),
-            primaryMesh(),
+            mesh_,
             dimensionedScalar("zero", dimMass/dimVolume/dimTime, 0.0)
         )
     );
@@ -282,13 +101,13 @@ tmp<volScalarField::Internal> noFilm::Srho(const label i) const
             IOobject
             (
                 "noFilm::Srho(" + Foam::name(i) + ")",
-                time().timeName(),
-                primaryMesh(),
+                mesh_.time().timeName(),
+                mesh_,
                 IOobject::NO_READ,
                 IOobject::NO_WRITE,
                 false
             ),
-            primaryMesh(),
+            mesh_,
             dimensionedScalar("zero", dimMass/dimVolume/dimTime, 0.0)
         )
     );
@@ -304,19 +123,23 @@ tmp<volScalarField::Internal> noFilm::Sh() const
             IOobject
             (
                 "noFilm::Sh",
-                time().timeName(),
-                primaryMesh(),
+                mesh_.time().timeName(),
+                mesh_,
                 IOobject::NO_READ,
                 IOobject::NO_WRITE,
                 false
             ),
-            primaryMesh(),
+            mesh_,
             dimensionedScalar("zero", dimEnergy/dimVolume/dimTime, 0.0)
         )
     );
 }
 
 
+void noFilm::evolve()
+{}
+
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace surfaceFilmModels
diff --git a/src/regionModels/surfaceFilmModels/noFilm/noFilm.H b/src/regionModels/surfaceFilmModels/noFilm/noFilm.H
index 9bc2e39e398..ce1fd77b69f 100644
--- a/src/regionModels/surfaceFilmModels/noFilm/noFilm.H
+++ b/src/regionModels/surfaceFilmModels/noFilm/noFilm.H
@@ -25,7 +25,8 @@ Class
     Foam::regionModels::surfaceFilmModels::noFilm
 
 Description
-    Dummy surface film model for 'none'
+    Dummy surfaceFilmModel to allow solvers supporting film simulations to be
+    run without a film region.
 
 SourceFiles
     noFilm.C
@@ -54,7 +55,11 @@ class noFilm
 :
     public surfaceFilmModel
 {
-private:
+    // Private member data
+
+        //- Reference to the mesh
+        const fvMesh& mesh_;
+
 
     // Private member functions
 
@@ -65,14 +70,6 @@ private:
         void operator=(const noFilm&);
 
 
-protected:
-
-    // Protected member functions
-
-        //- Read control parameters from dictionary
-        virtual bool read();
-
-
 public:
 
     //- Runtime type information
@@ -97,89 +94,31 @@ public:
 
     // Member Functions
 
-        // Access
-
-            //- External hook to add sources to the film
-            virtual void addSources
-            (
-                const label patchi,
-                const label facei,
-                const scalar massSource,
-                const vector& momentumSource,
-                const scalar pressureSource,
-                const scalar energySource
-            );
-
-
-        // Fields
-
-            //- Return the film thickness [m]
-            virtual const volScalarField& delta() const;
-
-            //- Return the film coverage, 1 = covered, 0 = uncovered / []
-            virtual const volScalarField& alpha() const;
-
-            //- Return the film velocity [m/s]
-            virtual const volVectorField& U() const;
+        // Solution parameters
 
-            //- Return the film density [kg/m3]
-            virtual const volScalarField& rho() const;
+            //- Courant number evaluation
+            virtual scalar CourantNumber() const;
 
-            //- Return the film surface velocity [m/s]
-            virtual const volVectorField& Us() const;
 
-            //- Return the film wall velocity [m/s]
-            virtual const volVectorField& Uw() const;
+        // Primary region source fields
 
-            //- Return the film mean temperature [K]
-            virtual const volScalarField& T() const;
+            //- Return total mass source - Eulerian phase only
+            virtual tmp<volScalarField::Internal> Srho() const;
 
-            //- Return the film surface temperature [K]
-            virtual const volScalarField& Ts() const;
-
-            //- Return the film wall temperature [K]
-            virtual const volScalarField& Tw() const;
-
-            //- Return the film surface enthalpy [J/kg]
-            virtual const volScalarField& hs() const;
-
-            //- Return the film specific heat capacity [J/kg/K]
-            virtual const volScalarField& Cp() const;
-
-            //- Return the film thermal conductivity [W/m/K]
-            virtual const volScalarField& kappa() const;
-
-            //- Return const access to the surface tension / [m/s2]
-            inline const volScalarField& sigma() const;
-
-
-            // Transfer fields - to the primary region
-
-                //- Return mass transfer source - Eulerian phase only
-                virtual tmp<volScalarField> primaryMassTrans() const;
-
-                //- Return the film mass available for transfer
-                virtual const volScalarField& cloudMassTrans() const;
-
-                //- Return the parcel diameters originating from film
-                virtual const volScalarField& cloudDiameterTrans() const;
-
-
-        // Source fields
+            //- Return mass source for specie i - Eulerian phase only
+            virtual tmp<volScalarField::Internal> Srho
+            (
+                const label i
+            ) const;
 
-            // Mapped into primary region
+            //- Return enthalpy source - Eulerian phase only
+            virtual tmp<volScalarField::Internal> Sh() const;
 
-                //- Return total mass source - Eulerian phase only
-                virtual tmp<volScalarField::Internal> Srho() const;
 
-                //- Return mass source for specie i - Eulerian phase only
-                virtual tmp<volScalarField::Internal> Srho
-                (
-                    const label i
-                ) const;
+        // Evolution
 
-                //- Return enthalpy source - Eulerian phase only
-                virtual tmp<volScalarField::Internal> Sh() const;
+            //- Main driver routing to evolve the region - calls other evolves
+            virtual void evolve();
 };
 
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/filmSubModelBase.C b/src/regionModels/surfaceFilmModels/submodels/filmSubModelBase.C
index 479836a93a6..fbbc7626514 100644
--- a/src/regionModels/surfaceFilmModels/submodels/filmSubModelBase.C
+++ b/src/regionModels/surfaceFilmModels/submodels/filmSubModelBase.C
@@ -36,7 +36,7 @@ namespace surfaceFilmModels
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-filmSubModelBase::filmSubModelBase(surfaceFilmModel& film)
+filmSubModelBase::filmSubModelBase(surfaceFilmRegionModel& film)
 :
     subModelBase(film.outputProperties()),
     filmModel_(film)
@@ -45,7 +45,7 @@ filmSubModelBase::filmSubModelBase(surfaceFilmModel& film)
 
 filmSubModelBase::filmSubModelBase
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict,
     const word& baseName,
     const word& modelType,
@@ -67,7 +67,7 @@ filmSubModelBase::filmSubModelBase
 filmSubModelBase::filmSubModelBase
 (
     const word& modelName,
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict,
     const word& baseName,
     const word& modelType
diff --git a/src/regionModels/surfaceFilmModels/submodels/filmSubModelBase.H b/src/regionModels/surfaceFilmModels/submodels/filmSubModelBase.H
index 8d4cfd54c5d..53addf7af47 100644
--- a/src/regionModels/surfaceFilmModels/submodels/filmSubModelBase.H
+++ b/src/regionModels/surfaceFilmModels/submodels/filmSubModelBase.H
@@ -36,7 +36,7 @@ SourceFiles
 #ifndef filmSubModelBase_H
 #define filmSubModelBase_H
 
-#include "surfaceFilmModel.H"
+#include "surfaceFilmRegionModel.H"
 #include "subModelBase.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -61,7 +61,7 @@ protected:
     // Protected data
 
         //- Reference to the film surface film model
-        surfaceFilmModel& filmModel_;
+        surfaceFilmRegionModel& filmModel_;
 
 
 public:
@@ -69,12 +69,12 @@ public:
     // Constructors
 
         //- Construct null
-        filmSubModelBase(surfaceFilmModel& film);
+        filmSubModelBase(surfaceFilmRegionModel& film);
 
         //- Construct from film film wihout name
         filmSubModelBase
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict,
             const word& baseName,
             const word& modelType,
@@ -85,7 +85,7 @@ public:
         filmSubModelBase
         (
             const word& modelName,
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict,
             const word& baseName,
             const word& modelType
@@ -104,10 +104,10 @@ public:
             virtual bool writeTime() const;
 
             //- Return const access to the film surface film model
-            inline const surfaceFilmModel& film() const;
+            inline const surfaceFilmRegionModel& film() const;
 
             //- Return the reference to the film surface film model
-            inline surfaceFilmModel& film();
+            inline surfaceFilmRegionModel& film();
 
             template<class FilmType>
             inline const FilmType& filmType() const;
diff --git a/src/regionModels/surfaceFilmModels/submodels/filmSubModelBaseI.H b/src/regionModels/surfaceFilmModels/submodels/filmSubModelBaseI.H
index 2dced7e4f50..3a50a0c16b8 100644
--- a/src/regionModels/surfaceFilmModels/submodels/filmSubModelBaseI.H
+++ b/src/regionModels/surfaceFilmModels/submodels/filmSubModelBaseI.H
@@ -34,13 +34,13 @@ namespace surfaceFilmModels
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-inline const surfaceFilmModel& filmSubModelBase::film() const
+inline const surfaceFilmRegionModel& filmSubModelBase::film() const
 {
     return filmModel_;
 }
 
 
-inline surfaceFilmModel& filmSubModelBase::film()
+inline surfaceFilmRegionModel& filmSubModelBase::film()
 {
     return filmModel_;
 }
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/constantFilmThermo/constantFilmThermo.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/constantFilmThermo/constantFilmThermo.C
index bae1439ce33..05a6a92458d 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/constantFilmThermo/constantFilmThermo.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/constantFilmThermo/constantFilmThermo.C
@@ -61,7 +61,7 @@ void constantFilmThermo::init(thermoData& td)
 
 constantFilmThermo::constantFilmThermo
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/constantFilmThermo/constantFilmThermo.H b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/constantFilmThermo/constantFilmThermo.H
index eed60f09e0e..0156fc1fd9d 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/constantFilmThermo/constantFilmThermo.H
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/constantFilmThermo/constantFilmThermo.H
@@ -140,7 +140,7 @@ public:
         //- Construct from surface film model and dictionary
         constantFilmThermo
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/filmThermoModel/filmThermoModel.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/filmThermoModel/filmThermoModel.C
index f11b3399aa8..8738776db44 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/filmThermoModel/filmThermoModel.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/filmThermoModel/filmThermoModel.C
@@ -43,7 +43,7 @@ defineRunTimeSelectionTable(filmThermoModel, dictionary);
 
 filmThermoModel::filmThermoModel
 (
-    surfaceFilmModel& film
+    surfaceFilmRegionModel& film
 )
 :
     filmSubModelBase(film)
@@ -53,7 +53,7 @@ filmThermoModel::filmThermoModel
 filmThermoModel::filmThermoModel
 (
     const word& modelType,
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/filmThermoModel/filmThermoModel.H b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/filmThermoModel/filmThermoModel.H
index efa1de65171..b54af005a35 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/filmThermoModel/filmThermoModel.H
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/filmThermoModel/filmThermoModel.H
@@ -81,7 +81,7 @@ public:
              filmThermoModel,
              dictionary,
              (
-                 surfaceFilmModel& film,
+                 surfaceFilmRegionModel& film,
                  const dictionary& dict
              ),
              (film, dict)
@@ -90,13 +90,13 @@ public:
     // Constructors
 
         //- Construct null
-        filmThermoModel(surfaceFilmModel& film);
+        filmThermoModel(surfaceFilmRegionModel& film);
 
         //- Construct from type name, dictionary and surface film model
         filmThermoModel
         (
             const word& modelType,
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
@@ -106,7 +106,7 @@ public:
         //- Return a reference to the selected phase change model
         static autoPtr<filmThermoModel> New
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/filmThermoModel/filmThermoModelNew.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/filmThermoModel/filmThermoModelNew.C
index 8b36192035c..03ec62d02d3 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/filmThermoModel/filmThermoModelNew.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/filmThermoModel/filmThermoModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2017 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,7 +38,7 @@ namespace surfaceFilmModels
 
 autoPtr<filmThermoModel> filmThermoModel::New
 (
-    surfaceFilmModel& model,
+    surfaceFilmRegionModel& model,
     const dictionary& dict
 )
 {
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.C
index af11a698683..fd43ba81e9b 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.C
@@ -103,7 +103,7 @@ void liquidFilmThermo::initLiquid(const dictionary& dict)
 
 liquidFilmThermo::liquidFilmThermo
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.H b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.H
index 4b3b2b9ae6d..336d35843da 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.H
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.H
@@ -107,7 +107,7 @@ public:
         //- Construct from surface film model and dictionary
         liquidFilmThermo
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.C
index 90e1df57803..94cfaea340a 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.C
@@ -41,7 +41,7 @@ defineRunTimeSelectionTable(filmTurbulenceModel, dictionary);
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-filmTurbulenceModel::filmTurbulenceModel(surfaceFilmModel& film)
+filmTurbulenceModel::filmTurbulenceModel(surfaceFilmRegionModel& film)
 :
     filmSubModelBase(film)
 {}
@@ -50,7 +50,7 @@ filmTurbulenceModel::filmTurbulenceModel(surfaceFilmModel& film)
 filmTurbulenceModel::filmTurbulenceModel
 (
     const word& modelType,
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.H b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.H
index cb35b71f90d..0b56b56ef62 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.H
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModel.H
@@ -83,7 +83,7 @@ public:
              filmTurbulenceModel,
              dictionary,
              (
-                surfaceFilmModel& film,
+                surfaceFilmRegionModel& film,
                 const dictionary& dict
              ),
              (film, dict)
@@ -92,13 +92,13 @@ public:
     // Constructors
 
         //- Construct null
-        filmTurbulenceModel(surfaceFilmModel& film);
+        filmTurbulenceModel(surfaceFilmRegionModel& film);
 
         //- Construct from type name, dictionary and surface film model
         filmTurbulenceModel
         (
             const word& modelType,
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
@@ -108,7 +108,7 @@ public:
         //- Return a reference to the selected injection model
         static autoPtr<filmTurbulenceModel> New
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModelNew.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModelNew.C
index a27014fc3fe..2f2e02857b4 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModelNew.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2017 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,7 +38,7 @@ namespace surfaceFilmModels
 
 autoPtr<filmTurbulenceModel> filmTurbulenceModel::New
 (
-    surfaceFilmModel& model,
+    surfaceFilmRegionModel& model,
     const dictionary& dict
 )
 {
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/laminar/laminar.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/laminar/laminar.C
index 3f2cbd6680a..11168b00282 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/laminar/laminar.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/laminar/laminar.C
@@ -51,7 +51,7 @@ addToRunTimeSelectionTable(filmTurbulenceModel, laminar, dictionary);
 
 laminar::laminar
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/laminar/laminar.H b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/laminar/laminar.H
index 71aa54c1e97..315922c591c 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/laminar/laminar.H
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/laminar/laminar.H
@@ -80,7 +80,7 @@ public:
     // Constructors
 
         //- Construct from surface film model
-        laminar(surfaceFilmModel& film, const dictionary& dict);
+        laminar(surfaceFilmRegionModel& film, const dictionary& dict);
 
 
     //- Destructor
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/contactAngleForce/contactAngleForce.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/contactAngleForce/contactAngleForce.C
index 197880fe9d2..c337c181ecd 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/contactAngleForce/contactAngleForce.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/contactAngleForce/contactAngleForce.C
@@ -95,7 +95,7 @@ void contactAngleForce::initialise()
 contactAngleForce::contactAngleForce
 (
     const word& typeName,
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/contactAngleForce/contactAngleForce.H b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/contactAngleForce/contactAngleForce.H
index 4d2e86e174f..3637959658f 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/contactAngleForce/contactAngleForce.H
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/contactAngleForce/contactAngleForce.H
@@ -96,7 +96,7 @@ public:
         contactAngleForce
         (
             const word& typeName,
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/distribution/distributionContactAngleForce.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/distribution/distributionContactAngleForce.C
index bcf86c018d7..842fb3a6bff 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/distribution/distributionContactAngleForce.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/distribution/distributionContactAngleForce.C
@@ -45,7 +45,7 @@ addToRunTimeSelectionTable(force, distributionContactAngleForce, dictionary);
 
 distributionContactAngleForce::distributionContactAngleForce
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/distribution/distributionContactAngleForce.H b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/distribution/distributionContactAngleForce.H
index 48ffcf5da8d..8e98ae99dca 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/distribution/distributionContactAngleForce.H
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/distribution/distributionContactAngleForce.H
@@ -95,7 +95,7 @@ public:
         //- Construct from surface film model
         distributionContactAngleForce
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/perturbedTemperatureDependent/perturbedTemperatureDependentContactAngleForce.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/perturbedTemperatureDependent/perturbedTemperatureDependentContactAngleForce.C
index e42d5200740..5aaf1d6886b 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/perturbedTemperatureDependent/perturbedTemperatureDependentContactAngleForce.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/perturbedTemperatureDependent/perturbedTemperatureDependentContactAngleForce.C
@@ -51,7 +51,7 @@ addToRunTimeSelectionTable
 perturbedTemperatureDependentContactAngleForce::
 perturbedTemperatureDependentContactAngleForce
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/perturbedTemperatureDependent/perturbedTemperatureDependentContactAngleForce.H b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/perturbedTemperatureDependent/perturbedTemperatureDependentContactAngleForce.H
index 3b7a2d99ed4..63924ff5da0 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/perturbedTemperatureDependent/perturbedTemperatureDependentContactAngleForce.H
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/perturbedTemperatureDependent/perturbedTemperatureDependentContactAngleForce.H
@@ -111,7 +111,7 @@ public:
         //- Construct from surface film model
         perturbedTemperatureDependentContactAngleForce
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/temperatureDependent/temperatureDependentContactAngleForce.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/temperatureDependent/temperatureDependentContactAngleForce.C
index 1c7a51ad08a..b3cc459a0ad 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/temperatureDependent/temperatureDependentContactAngleForce.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/temperatureDependent/temperatureDependentContactAngleForce.C
@@ -50,7 +50,7 @@ addToRunTimeSelectionTable
 
 temperatureDependentContactAngleForce::temperatureDependentContactAngleForce
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/temperatureDependent/temperatureDependentContactAngleForce.H b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/temperatureDependent/temperatureDependentContactAngleForce.H
index ca15ec0c6ab..ce4abb57cae 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/temperatureDependent/temperatureDependentContactAngleForce.H
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/contactAngleForces/temperatureDependent/temperatureDependentContactAngleForce.H
@@ -97,7 +97,7 @@ public:
         //- Construct from surface film model
         temperatureDependentContactAngleForce
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/force/force.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/force/force.C
index 472c8b21c05..21bec6c50e8 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/force/force.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/force/force.C
@@ -41,7 +41,7 @@ defineRunTimeSelectionTable(force, dictionary);
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-force::force(surfaceFilmModel& film)
+force::force(surfaceFilmRegionModel& film)
 :
     filmSubModelBase(film)
 {}
@@ -50,7 +50,7 @@ force::force(surfaceFilmModel& film)
 force::force
 (
     const word& modelType,
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/force/force.H b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/force/force.H
index 000b7d9c41f..545f41ed5cf 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/force/force.H
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/force/force.H
@@ -82,7 +82,7 @@ public:
              force,
              dictionary,
              (
-                surfaceFilmModel& film,
+                surfaceFilmRegionModel& film,
                 const dictionary& dict
              ),
              (film, dict)
@@ -91,13 +91,13 @@ public:
     // Constructors
 
         //- Construct null
-        force(surfaceFilmModel& film);
+        force(surfaceFilmRegionModel& film);
 
         //- Construct from type name, dictionary and surface film model
         force
         (
             const word& modelType,
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
@@ -107,7 +107,7 @@ public:
         //- Return a reference to the selected force model
         static autoPtr<force> New
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict,
             const word& modelType
         );
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/force/forceNew.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/force/forceNew.C
index 4ebc37462a8..035e8d5defd 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/force/forceNew.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/force/forceNew.C
@@ -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) 2011-2017 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,7 +38,7 @@ namespace surfaceFilmModels
 
 autoPtr<force> force::New
 (
-    surfaceFilmModel& model,
+    surfaceFilmRegionModel& model,
     const dictionary& dict,
     const word& modelType
 )
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/forceList/forceList.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/forceList/forceList.C
index ea63cc2334c..abf5edbad50 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/forceList/forceList.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/forceList/forceList.C
@@ -36,7 +36,7 @@ namespace surfaceFilmModels
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-forceList::forceList(surfaceFilmModel& film)
+forceList::forceList(surfaceFilmRegionModel& film)
 :
     PtrList<force>()
 {}
@@ -44,7 +44,7 @@ forceList::forceList(surfaceFilmModel& film)
 
 forceList::forceList
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/forceList/forceList.H b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/forceList/forceList.H
index 55ae056d3f5..8674596cb83 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/forceList/forceList.H
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/forceList/forceList.H
@@ -60,12 +60,12 @@ public:
     // Constructors
 
         //- Construct null
-        forceList(surfaceFilmModel& film);
+        forceList(surfaceFilmRegionModel& film);
 
         //- Construct from type name, dictionary and surface film model
         forceList
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/thermocapillaryForce/thermocapillaryForce.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/thermocapillaryForce/thermocapillaryForce.C
index be30e2c2747..b6330fb3dd8 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/thermocapillaryForce/thermocapillaryForce.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/thermocapillaryForce/thermocapillaryForce.C
@@ -45,7 +45,7 @@ addToRunTimeSelectionTable(force, thermocapillaryForce, dictionary);
 
 thermocapillaryForce::thermocapillaryForce
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/thermocapillaryForce/thermocapillaryForce.H b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/thermocapillaryForce/thermocapillaryForce.H
index 283ebbf9b15..50ab6805270 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/thermocapillaryForce/thermocapillaryForce.H
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/thermocapillaryForce/thermocapillaryForce.H
@@ -76,7 +76,7 @@ public:
         //- Construct from surface film model
         thermocapillaryForce
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/BrunDrippingInjection/BrunDrippingInjection.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/BrunDrippingInjection/BrunDrippingInjection.C
index fd7fd0cc81b..e1b79ac0e3d 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/BrunDrippingInjection/BrunDrippingInjection.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/BrunDrippingInjection/BrunDrippingInjection.C
@@ -45,7 +45,7 @@ addToRunTimeSelectionTable(injectionModel, BrunDrippingInjection, dictionary);
 
 BrunDrippingInjection::BrunDrippingInjection
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/BrunDrippingInjection/BrunDrippingInjection.H b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/BrunDrippingInjection/BrunDrippingInjection.H
index 6c08188bb02..2bff0b53f32 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/BrunDrippingInjection/BrunDrippingInjection.H
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/BrunDrippingInjection/BrunDrippingInjection.H
@@ -118,7 +118,7 @@ public:
         //- Construct from surface film model
         BrunDrippingInjection
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C
index 9c97df0880f..b7cc66b63d4 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C
@@ -220,7 +220,7 @@ tmp<scalarField> curvatureSeparation::calcCosAngle
 
 curvatureSeparation::curvatureSeparation
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.H b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.H
index 9ee2cd0a4c9..cdbca326b97 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.H
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.H
@@ -121,7 +121,7 @@ public:
         //- Construct from surface film model
         curvatureSeparation
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/drippingInjection/drippingInjection.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/drippingInjection/drippingInjection.C
index 7a534b11043..1c2e5ebb154 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/drippingInjection/drippingInjection.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/drippingInjection/drippingInjection.C
@@ -50,7 +50,7 @@ addToRunTimeSelectionTable(injectionModel, drippingInjection, dictionary);
 
 drippingInjection::drippingInjection
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/drippingInjection/drippingInjection.H b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/drippingInjection/drippingInjection.H
index 46476c822b1..8acd0aeadb1 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/drippingInjection/drippingInjection.H
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/drippingInjection/drippingInjection.H
@@ -105,7 +105,7 @@ public:
         //- Construct from surface film model
         drippingInjection
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModel.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModel.C
index 585ed54ddc4..c5103a8de5e 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModel.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModel.C
@@ -49,7 +49,7 @@ void injectionModel::addToInjectedMass(const scalar dMass)
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-injectionModel::injectionModel(surfaceFilmModel& film)
+injectionModel::injectionModel(surfaceFilmRegionModel& film)
 :
     filmSubModelBase(film),
     injectedMass_(0.0)
@@ -59,7 +59,7 @@ injectionModel::injectionModel(surfaceFilmModel& film)
 injectionModel::injectionModel
 (
     const word& modelType,
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModel.H b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModel.H
index 36d7a8bfd3b..173bb01fe4b 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModel.H
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModel.H
@@ -98,7 +98,7 @@ public:
              injectionModel,
              dictionary,
              (
-                surfaceFilmModel& film,
+                surfaceFilmRegionModel& film,
                 const dictionary& dict
              ),
              (film, dict)
@@ -108,13 +108,13 @@ public:
     // Constructors
 
         //- Construct null
-        injectionModel(surfaceFilmModel& film);
+        injectionModel(surfaceFilmRegionModel& film);
 
         //- Construct from type name, dictionary and surface film model
         injectionModel
         (
             const word& modelType,
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
@@ -124,7 +124,7 @@ public:
         //- Return a reference to the selected injection model
         static autoPtr<injectionModel> New
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict,
             const word& mdoelType
         );
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModelNew.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModelNew.C
index 19d56b4e630..343497d7422 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModelNew.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModelNew.C
@@ -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) 2011-2017 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,7 +38,7 @@ namespace surfaceFilmModels
 
 autoPtr<injectionModel> injectionModel::New
 (
-    surfaceFilmModel& model,
+    surfaceFilmRegionModel& model,
     const dictionary& dict,
     const word& modelType
 )
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModelList/injectionModelList.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModelList/injectionModelList.C
index 3e3bc9f0be3..c71833509fc 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModelList/injectionModelList.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModelList/injectionModelList.C
@@ -36,7 +36,7 @@ namespace surfaceFilmModels
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-injectionModelList::injectionModelList(surfaceFilmModel& film)
+injectionModelList::injectionModelList(surfaceFilmRegionModel& film)
 :
     PtrList<injectionModel>(),
     filmSubModelBase(film)
@@ -45,7 +45,7 @@ injectionModelList::injectionModelList(surfaceFilmModel& film)
 
 injectionModelList::injectionModelList
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModelList/injectionModelList.H b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModelList/injectionModelList.H
index 49767432064..c20269c20ff 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModelList/injectionModelList.H
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModelList/injectionModelList.H
@@ -79,12 +79,12 @@ public:
     // Constructors
 
         //- Construct null
-        injectionModelList(surfaceFilmModel& film);
+        injectionModelList(surfaceFilmRegionModel& film);
 
         //- Construct from type name, dictionary and surface film model
         injectionModelList
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/patchInjection/patchInjection.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/patchInjection/patchInjection.C
index 4c3be2e9d33..69c34d9bfc5 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/patchInjection/patchInjection.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/patchInjection/patchInjection.C
@@ -44,7 +44,7 @@ addToRunTimeSelectionTable(injectionModel, patchInjection, dictionary);
 
 patchInjection::patchInjection
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/patchInjection/patchInjection.H b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/patchInjection/patchInjection.H
index d0880c07119..af8b618da10 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/patchInjection/patchInjection.H
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/patchInjection/patchInjection.H
@@ -86,7 +86,7 @@ public:
     // Constructors
 
         //- Construct from surface film model
-        patchInjection(surfaceFilmModel& film, const dictionary& dict);
+        patchInjection(surfaceFilmRegionModel& film, const dictionary& dict);
 
 
     //- Destructor
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/transferModels/transferModel/transferModel.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/transferModels/transferModel/transferModel.C
index 80070fe1aec..b208718e42a 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/transferModels/transferModel/transferModel.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/transferModels/transferModel/transferModel.C
@@ -49,7 +49,7 @@ void transferModel::addToTransferredMass(const scalar dMass)
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-transferModel::transferModel(surfaceFilmModel& film)
+transferModel::transferModel(surfaceFilmRegionModel& film)
 :
     filmSubModelBase(film),
     transferredMass_(0.0)
@@ -59,7 +59,7 @@ transferModel::transferModel(surfaceFilmModel& film)
 transferModel::transferModel
 (
     const word& modelType,
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/transferModels/transferModel/transferModel.H b/src/regionModels/surfaceFilmModels/submodels/kinematic/transferModels/transferModel/transferModel.H
index 9fb79538cb7..c965f231e1f 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/transferModels/transferModel/transferModel.H
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/transferModels/transferModel/transferModel.H
@@ -98,7 +98,7 @@ public:
              transferModel,
              dictionary,
              (
-                surfaceFilmModel& film,
+                surfaceFilmRegionModel& film,
                 const dictionary& dict
              ),
              (film, dict)
@@ -108,13 +108,13 @@ public:
     // Constructors
 
         //- Construct for film
-        transferModel(surfaceFilmModel& film);
+        transferModel(surfaceFilmRegionModel& film);
 
         //- Construct from type name, dictionary and surface film model
         transferModel
         (
             const word& modelType,
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
@@ -124,7 +124,7 @@ public:
         //- Return a reference to the selected injection model
         static autoPtr<transferModel> New
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict,
             const word& modelType
         );
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/transferModels/transferModel/transferModelNew.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/transferModels/transferModel/transferModelNew.C
index bd4392f1ba7..89f7bdc419b 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/transferModels/transferModel/transferModelNew.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/transferModels/transferModel/transferModelNew.C
@@ -38,7 +38,7 @@ namespace surfaceFilmModels
 
 autoPtr<transferModel> transferModel::New
 (
-    surfaceFilmModel& model,
+    surfaceFilmRegionModel& model,
     const dictionary& dict,
     const word& modelType
 )
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/transferModels/transferModelList/transferModelList.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/transferModels/transferModelList/transferModelList.C
index 8cbce88189e..123713b26b5 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/transferModels/transferModelList/transferModelList.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/transferModels/transferModelList/transferModelList.C
@@ -36,7 +36,7 @@ namespace surfaceFilmModels
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-transferModelList::transferModelList(surfaceFilmModel& film)
+transferModelList::transferModelList(surfaceFilmRegionModel& film)
 :
     PtrList<transferModel>(),
     filmSubModelBase(film)
@@ -45,7 +45,7 @@ transferModelList::transferModelList(surfaceFilmModel& film)
 
 transferModelList::transferModelList
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/transferModels/transferModelList/transferModelList.H b/src/regionModels/surfaceFilmModels/submodels/kinematic/transferModels/transferModelList/transferModelList.H
index fd244fab165..9af147c8d50 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/transferModels/transferModelList/transferModelList.H
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/transferModels/transferModelList/transferModelList.H
@@ -77,12 +77,12 @@ public:
     // Constructors
 
         //- Construct null
-        transferModelList(surfaceFilmModel& film);
+        transferModelList(surfaceFilmRegionModel& film);
 
         //- Construct from type name, dictionary and surface film model
         transferModelList
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/constantRadiation/constantRadiation.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/constantRadiation/constantRadiation.C
index d25f2dbc237..1d76dad3c68 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/constantRadiation/constantRadiation.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/constantRadiation/constantRadiation.C
@@ -51,7 +51,7 @@ addToRunTimeSelectionTable
 
 constantRadiation::constantRadiation
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/constantRadiation/constantRadiation.H b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/constantRadiation/constantRadiation.H
index e342bd880c3..759f57af30a 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/constantRadiation/constantRadiation.H
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/constantRadiation/constantRadiation.H
@@ -98,7 +98,7 @@ public:
         //- Construct from surface film model and dictionary
         constantRadiation
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/filmRadiationModel/filmRadiationModel.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/filmRadiationModel/filmRadiationModel.C
index 3b0dabe7d1c..1f7339ceb60 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/filmRadiationModel/filmRadiationModel.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/filmRadiationModel/filmRadiationModel.C
@@ -41,7 +41,7 @@ defineRunTimeSelectionTable(filmRadiationModel, dictionary);
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-filmRadiationModel::filmRadiationModel(surfaceFilmModel& film)
+filmRadiationModel::filmRadiationModel(surfaceFilmRegionModel& film)
 :
     filmSubModelBase(film)
 {}
@@ -50,7 +50,7 @@ filmRadiationModel::filmRadiationModel(surfaceFilmModel& film)
 filmRadiationModel::filmRadiationModel
 (
     const word& modelType,
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/filmRadiationModel/filmRadiationModel.H b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/filmRadiationModel/filmRadiationModel.H
index eccd964c628..acaf6b1476b 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/filmRadiationModel/filmRadiationModel.H
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/filmRadiationModel/filmRadiationModel.H
@@ -81,7 +81,7 @@ public:
              filmRadiationModel,
              dictionary,
              (
-                 surfaceFilmModel& film,
+                 surfaceFilmRegionModel& film,
                  const dictionary& dict
              ),
              (film, dict)
@@ -90,13 +90,13 @@ public:
     // Constructors
 
         //- Construct null
-        filmRadiationModel(surfaceFilmModel& film);
+        filmRadiationModel(surfaceFilmRegionModel& film);
 
         //- Construct from type name, dictionary and surface film model
         filmRadiationModel
         (
             const word& modelType,
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
@@ -106,7 +106,7 @@ public:
         //- Return a reference to the selected phase change model
         static autoPtr<filmRadiationModel> New
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/filmRadiationModel/filmRadiationModelNew.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/filmRadiationModel/filmRadiationModelNew.C
index ef7d7e69d65..e68a7041725 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/filmRadiationModel/filmRadiationModelNew.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/filmRadiationModel/filmRadiationModelNew.C
@@ -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) 2011-2017 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,7 +38,7 @@ namespace surfaceFilmModels
 
 autoPtr<filmRadiationModel> filmRadiationModel::New
 (
-    surfaceFilmModel& model,
+    surfaceFilmRegionModel& model,
     const dictionary& dict
 )
 {
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/noRadiation/noRadiation.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/noRadiation/noRadiation.C
index 5dd84d7f6ec..0c64201d1cd 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/noRadiation/noRadiation.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/noRadiation/noRadiation.C
@@ -51,7 +51,7 @@ addToRunTimeSelectionTable
 
 noRadiation::noRadiation
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/noRadiation/noRadiation.H b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/noRadiation/noRadiation.H
index 605104320f9..6fd82b69798 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/noRadiation/noRadiation.H
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/noRadiation/noRadiation.H
@@ -77,7 +77,7 @@ public:
         //- Construct from surface film model and dictionary
         noRadiation
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/primaryRadiation/primaryRadiation.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/primaryRadiation/primaryRadiation.C
index d8d91f045a9..fb1fdd6a8c7 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/primaryRadiation/primaryRadiation.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/primaryRadiation/primaryRadiation.C
@@ -51,7 +51,7 @@ addToRunTimeSelectionTable
 
 primaryRadiation::primaryRadiation
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/primaryRadiation/primaryRadiation.H b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/primaryRadiation/primaryRadiation.H
index 0334c8de1a6..919ecd2e864 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/primaryRadiation/primaryRadiation.H
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/primaryRadiation/primaryRadiation.H
@@ -84,7 +84,7 @@ public:
         //- Construct from surface film model and dictionary
         primaryRadiation
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/standardRadiation/standardRadiation.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/standardRadiation/standardRadiation.C
index d210d5e7b0d..b8e8390d4ad 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/standardRadiation/standardRadiation.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/standardRadiation/standardRadiation.C
@@ -52,7 +52,7 @@ addToRunTimeSelectionTable
 
 standardRadiation::standardRadiation
 (
-     surfaceFilmModel& film,
+     surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/standardRadiation/standardRadiation.H b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/standardRadiation/standardRadiation.H
index 3562166202e..3c6e8a4a1d5 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/standardRadiation/standardRadiation.H
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/standardRadiation/standardRadiation.H
@@ -95,7 +95,7 @@ public:
         //- Construct from surface film model and dictionary
         standardRadiation
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/ArrheniusViscosity/ArrheniusViscosity.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/ArrheniusViscosity/ArrheniusViscosity.C
index 76abe99b239..6071f41cdb1 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/ArrheniusViscosity/ArrheniusViscosity.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/ArrheniusViscosity/ArrheniusViscosity.C
@@ -51,7 +51,7 @@ addToRunTimeSelectionTable
 
 ArrheniusViscosity::ArrheniusViscosity
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict,
     volScalarField& mu
 )
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/ArrheniusViscosity/ArrheniusViscosity.H b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/ArrheniusViscosity/ArrheniusViscosity.H
index 079cfd588a5..d0f32bf758f 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/ArrheniusViscosity/ArrheniusViscosity.H
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/ArrheniusViscosity/ArrheniusViscosity.H
@@ -100,7 +100,7 @@ public:
         //- Construct from surface film model
         ArrheniusViscosity
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict,
             volScalarField& mu
         );
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/constantViscosity/constantViscosity.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/constantViscosity/constantViscosity.C
index b3b489c42ae..ada08e0f164 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/constantViscosity/constantViscosity.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/constantViscosity/constantViscosity.C
@@ -50,7 +50,7 @@ addToRunTimeSelectionTable
 
 constantViscosity::constantViscosity
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict,
     volScalarField& mu
 )
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/constantViscosity/constantViscosity.H b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/constantViscosity/constantViscosity.H
index c93d0dddb11..c517030bf20 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/constantViscosity/constantViscosity.H
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/constantViscosity/constantViscosity.H
@@ -83,7 +83,7 @@ public:
         //- Construct from surface film model
         constantViscosity
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict,
             volScalarField& mu
         );
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/filmViscosityModel/filmViscosityModel.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/filmViscosityModel/filmViscosityModel.C
index 61676558098..533ca8549f1 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/filmViscosityModel/filmViscosityModel.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/filmViscosityModel/filmViscosityModel.C
@@ -44,7 +44,7 @@ defineRunTimeSelectionTable(filmViscosityModel, dictionary);
 filmViscosityModel::filmViscosityModel
 (
     const word& modelType,
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict,
     volScalarField& mu
 )
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/filmViscosityModel/filmViscosityModel.H b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/filmViscosityModel/filmViscosityModel.H
index 042ea759bd6..3826f1d9828 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/filmViscosityModel/filmViscosityModel.H
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/filmViscosityModel/filmViscosityModel.H
@@ -90,7 +90,7 @@ public:
              filmViscosityModel,
              dictionary,
              (
-                surfaceFilmModel& film,
+                surfaceFilmRegionModel& film,
                 const dictionary& dict,
                 volScalarField& mu
              ),
@@ -103,7 +103,7 @@ public:
         filmViscosityModel
         (
             const word& modelType,
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict,
             volScalarField& mu
         );
@@ -114,7 +114,7 @@ public:
         //- Return a reference to the selected phase change model
         static autoPtr<filmViscosityModel> New
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict,
             volScalarField& mu
         );
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/filmViscosityModel/filmViscosityModelNew.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/filmViscosityModel/filmViscosityModelNew.C
index 7e9635a3ac1..fde0a1b2c73 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/filmViscosityModel/filmViscosityModelNew.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/filmViscosityModel/filmViscosityModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2017 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,7 +38,7 @@ namespace surfaceFilmModels
 
 autoPtr<filmViscosityModel> filmViscosityModel::New
 (
-    surfaceFilmModel& model,
+    surfaceFilmRegionModel& model,
     const dictionary& dict,
     volScalarField& mu
 )
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/function1Viscosity/function1Viscosity.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/function1Viscosity/function1Viscosity.C
index ea7437c7672..ffab8a59ee9 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/function1Viscosity/function1Viscosity.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/function1Viscosity/function1Viscosity.C
@@ -51,7 +51,7 @@ addToRunTimeSelectionTable
 
 function1Viscosity::function1Viscosity
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict,
     volScalarField& mu
 )
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/function1Viscosity/function1Viscosity.H b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/function1Viscosity/function1Viscosity.H
index 6d4aeea40c4..7584d2a5f4c 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/function1Viscosity/function1Viscosity.H
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/function1Viscosity/function1Viscosity.H
@@ -87,7 +87,7 @@ public:
         //- Construct from surface film model
         function1Viscosity
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict,
             volScalarField& mu
         );
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/liquidViscosity/liquidViscosity.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/liquidViscosity/liquidViscosity.C
index de00fbee458..85717b2324b 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/liquidViscosity/liquidViscosity.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/liquidViscosity/liquidViscosity.C
@@ -51,7 +51,7 @@ addToRunTimeSelectionTable
 
 liquidViscosity::liquidViscosity
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict,
     volScalarField& mu
 )
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/liquidViscosity/liquidViscosity.H b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/liquidViscosity/liquidViscosity.H
index 1614fade8e6..f89be106fd5 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/liquidViscosity/liquidViscosity.H
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/liquidViscosity/liquidViscosity.H
@@ -82,7 +82,7 @@ public:
         //- Construct from surface film model
         liquidViscosity
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict,
             volScalarField& mu
         );
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/thixotropicViscosity/thixotropicViscosity.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/thixotropicViscosity/thixotropicViscosity.C
index 7a09b686ab4..4087f833f4f 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/thixotropicViscosity/thixotropicViscosity.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/thixotropicViscosity/thixotropicViscosity.C
@@ -57,7 +57,7 @@ addToRunTimeSelectionTable
 
 thixotropicViscosity::thixotropicViscosity
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict,
     volScalarField& mu
 )
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/thixotropicViscosity/thixotropicViscosity.H b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/thixotropicViscosity/thixotropicViscosity.H
index ff2b3d0c3b3..14998c43647 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/thixotropicViscosity/thixotropicViscosity.H
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/thixotropicViscosity/thixotropicViscosity.H
@@ -140,7 +140,7 @@ public:
         //- Construct from surface film model
         thixotropicViscosity
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict,
             volScalarField& mu
         );
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/constantHeatTransfer/constantHeatTransfer.C b/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/constantHeatTransfer/constantHeatTransfer.C
index 605d126b002..d7e06c9f7a4 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/constantHeatTransfer/constantHeatTransfer.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/constantHeatTransfer/constantHeatTransfer.C
@@ -51,7 +51,7 @@ addToRunTimeSelectionTable
 
 constantHeatTransfer::constantHeatTransfer
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/constantHeatTransfer/constantHeatTransfer.H b/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/constantHeatTransfer/constantHeatTransfer.H
index 6fc13fbf5e2..5603e5ddd35 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/constantHeatTransfer/constantHeatTransfer.H
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/constantHeatTransfer/constantHeatTransfer.H
@@ -83,7 +83,7 @@ public:
         //- Construct from surface film model and dictionary
         constantHeatTransfer
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/heatTransferModel/heatTransferModel.C b/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/heatTransferModel/heatTransferModel.C
index 8fcff6baee2..2c447138c78 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/heatTransferModel/heatTransferModel.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/heatTransferModel/heatTransferModel.C
@@ -43,7 +43,7 @@ defineRunTimeSelectionTable(heatTransferModel, dictionary);
 
 heatTransferModel::heatTransferModel
 (
-    surfaceFilmModel& film
+    surfaceFilmRegionModel& film
 )
 :
     filmSubModelBase(film)
@@ -53,7 +53,7 @@ heatTransferModel::heatTransferModel
 heatTransferModel::heatTransferModel
 (
     const word& modelType,
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/heatTransferModel/heatTransferModel.H b/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/heatTransferModel/heatTransferModel.H
index 80d87b7e6d2..3b9e9118635 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/heatTransferModel/heatTransferModel.H
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/heatTransferModel/heatTransferModel.H
@@ -81,7 +81,7 @@ public:
              heatTransferModel,
              dictionary,
              (
-                 surfaceFilmModel& film,
+                 surfaceFilmRegionModel& film,
                  const dictionary& dict
              ),
              (film, dict)
@@ -90,13 +90,13 @@ public:
     // Constructors
 
         //- Construct null
-        heatTransferModel(surfaceFilmModel& film);
+        heatTransferModel(surfaceFilmRegionModel& film);
 
         //- Construct from type name, dictionary and surface film model
         heatTransferModel
         (
             const word& modelType,
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
@@ -106,7 +106,7 @@ public:
         //- Return a reference to the selected phase change model
         static autoPtr<heatTransferModel> New
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/heatTransferModel/heatTransferModelNew.C b/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/heatTransferModel/heatTransferModelNew.C
index 6adfe592473..76b1adfcb2c 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/heatTransferModel/heatTransferModelNew.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/heatTransferModel/heatTransferModelNew.C
@@ -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) 2011-2017 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,7 +38,7 @@ namespace surfaceFilmModels
 
 autoPtr<heatTransferModel> heatTransferModel::New
 (
-    surfaceFilmModel& model,
+    surfaceFilmRegionModel& model,
     const dictionary& dict
 )
 {
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/mappedConvectiveHeatTransfer/mappedConvectiveHeatTransfer.C b/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/mappedConvectiveHeatTransfer/mappedConvectiveHeatTransfer.C
index 47795db101a..5b2b7ab82ea 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/mappedConvectiveHeatTransfer/mappedConvectiveHeatTransfer.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/mappedConvectiveHeatTransfer/mappedConvectiveHeatTransfer.C
@@ -52,7 +52,7 @@ addToRunTimeSelectionTable
 
 mappedConvectiveHeatTransfer::mappedConvectiveHeatTransfer
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/mappedConvectiveHeatTransfer/mappedConvectiveHeatTransfer.H b/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/mappedConvectiveHeatTransfer/mappedConvectiveHeatTransfer.H
index 2016eb7b72d..d45eb9d9aaa 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/mappedConvectiveHeatTransfer/mappedConvectiveHeatTransfer.H
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/mappedConvectiveHeatTransfer/mappedConvectiveHeatTransfer.H
@@ -89,7 +89,7 @@ public:
         //- Construct from surface film model and dictionary
         mappedConvectiveHeatTransfer
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/noPhaseChange/noPhaseChange.C b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/noPhaseChange/noPhaseChange.C
index e21ce35c31b..df4b22266a3 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/noPhaseChange/noPhaseChange.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/noPhaseChange/noPhaseChange.C
@@ -44,7 +44,7 @@ addToRunTimeSelectionTable(phaseChangeModel, noPhaseChange, dictionary);
 
 noPhaseChange::noPhaseChange
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary&
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/noPhaseChange/noPhaseChange.H b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/noPhaseChange/noPhaseChange.H
index 9fbe036bfcc..bca13b63c19 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/noPhaseChange/noPhaseChange.H
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/noPhaseChange/noPhaseChange.H
@@ -74,7 +74,7 @@ public:
     // Constructors
 
         //- Construct from surface film model
-        noPhaseChange(surfaceFilmModel& film, const dictionary& dict);
+        noPhaseChange(surfaceFilmRegionModel& film, const dictionary& dict);
 
 
     //- Destructor
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModel.C b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModel.C
index f7ddc884dfd..a7d643c9748 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModel.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModel.C
@@ -43,7 +43,7 @@ defineRunTimeSelectionTable(phaseChangeModel, dictionary);
 
 phaseChangeModel::phaseChangeModel
 (
-    surfaceFilmModel& film
+    surfaceFilmRegionModel& film
 )
 :
     filmSubModelBase(film),
@@ -55,7 +55,7 @@ phaseChangeModel::phaseChangeModel
 phaseChangeModel::phaseChangeModel
 (
     const word& modelType,
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModel.H b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModel.H
index 7a59ad4d477..d544259159e 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModel.H
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModel.H
@@ -93,7 +93,7 @@ public:
              phaseChangeModel,
              dictionary,
              (
-                surfaceFilmModel& film,
+                surfaceFilmRegionModel& film,
                 const dictionary& dict
              ),
              (film, dict)
@@ -102,13 +102,13 @@ public:
     // Constructors
 
         //- Construct null
-        phaseChangeModel(surfaceFilmModel& film);
+        phaseChangeModel(surfaceFilmRegionModel& film);
 
         //- Construct from type name, dictionary and surface film model
         phaseChangeModel
         (
             const word& modelType,
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
@@ -118,7 +118,7 @@ public:
         //- Return a reference to the selected phase change model
         static autoPtr<phaseChangeModel> New
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModelNew.C b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModelNew.C
index 476222fdac8..eb2601a8931 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModelNew.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModelNew.C
@@ -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) 2011-2017 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,7 +38,7 @@ namespace surfaceFilmModels
 
 autoPtr<phaseChangeModel> phaseChangeModel::New
 (
-    surfaceFilmModel& model,
+    surfaceFilmRegionModel& model,
     const dictionary& dict
 )
 {
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/solidification/solidification.C b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/solidification/solidification.C
index 93239be248e..b4ff36124bd 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/solidification/solidification.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/solidification/solidification.C
@@ -51,7 +51,7 @@ addToRunTimeSelectionTable
 
 solidification::solidification
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/solidification/solidification.H b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/solidification/solidification.H
index e355cd37365..baf115767ba 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/solidification/solidification.H
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/solidification/solidification.H
@@ -96,7 +96,7 @@ public:
     // Constructors
 
         //- Construct from surface film model
-        solidification(surfaceFilmModel& film, const dictionary& dict);
+        solidification(surfaceFilmRegionModel& film, const dictionary& dict);
 
 
     //- Destructor
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/standardPhaseChange/standardPhaseChange.C b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/standardPhaseChange/standardPhaseChange.C
index 110333fd564..128b529e11e 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/standardPhaseChange/standardPhaseChange.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/standardPhaseChange/standardPhaseChange.C
@@ -70,7 +70,7 @@ scalar standardPhaseChange::Sh
 
 standardPhaseChange::standardPhaseChange
 (
-    surfaceFilmModel& film,
+    surfaceFilmRegionModel& film,
     const dictionary& dict
 )
 :
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/standardPhaseChange/standardPhaseChange.H b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/standardPhaseChange/standardPhaseChange.H
index 5c9cbfc369b..55007cc6c6a 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/standardPhaseChange/standardPhaseChange.H
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/standardPhaseChange/standardPhaseChange.H
@@ -97,7 +97,7 @@ public:
         //- Construct from surface film model
         standardPhaseChange
         (
-            surfaceFilmModel& film,
+            surfaceFilmRegionModel& film,
             const dictionary& dict
         );
 
diff --git a/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModel.C b/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModel.C
index 13b6647783a..6afdec63c50 100644
--- a/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModel.C
+++ b/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2017 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2017 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,7 +24,6 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "surfaceFilmModel.H"
-#include "fvMesh.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -32,49 +31,24 @@ namespace Foam
 {
 namespace regionModels
 {
-namespace surfaceFilmModels
-{
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
 defineTypeNameAndDebug(surfaceFilmModel, 0);
 defineRunTimeSelectionTable(surfaceFilmModel, mesh);
 
-const dimensionedScalar surfaceFilmModel::Tref("Tref", dimTemperature, 298.15);
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-bool surfaceFilmModel::read()
-{
-    if (singleLayerRegion::read())
-    {
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
+const dimensionedScalar surfaceFilmModel::Tref
+(
+    "Tref",
+    dimTemperature,
+    298.15
+);
 
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-surfaceFilmModel::surfaceFilmModel
-(
-    const word& modelType,
-    const fvMesh& mesh,
-    const dimensionedVector& g,
-    const word& regionType
-)
-:
-    singleLayerRegion(mesh, regionType, modelType),
-    g_(g)
-{
-    if (active_)
-    {
-        read();
-    }
-}
+surfaceFilmModel::surfaceFilmModel()
+{}
 
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
@@ -83,42 +57,8 @@ surfaceFilmModel::~surfaceFilmModel()
 {}
 
 
-// * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * * //
-
-Foam::scalar surfaceFilmModel::CourantNumber() const
-{
-    return ROOTVSMALL;
-}
-
-
-tmp<volScalarField::Internal> surfaceFilmModel::Srho() const
-{
-    NotImplemented;
-
-    return tmp<volScalarField::Internal>(nullptr);
-}
-
-
-tmp<volScalarField::Internal>
-surfaceFilmModel::Srho(const label) const
-{
-    NotImplemented;
-
-    return tmp<volScalarField::Internal>(nullptr);
-}
-
-
-tmp<volScalarField::Internal> surfaceFilmModel::Sh() const
-{
-    NotImplemented;
-
-    return tmp<volScalarField::Internal>(nullptr);
-}
-
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-} // End namespace surfaceFilmModels
 } // End namespace regionModels
 } // End namespace Foam
 
diff --git a/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModel.H b/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModel.H
index 762fe08133a..2e72e8d6b05 100644
--- a/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModel.H
+++ b/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModel.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2017 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2017 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::regionModels::surfaceFilmModels::surfaceFilmModel
+    Foam::regionModels::surfaceFilmModel
 
 Description
     Base class for surface film models
@@ -37,13 +37,8 @@ SourceFiles
 #ifndef surfaceFilmModel_H
 #define surfaceFilmModel_H
 
-#include "singleLayerRegion.H"
-
-#include "dimensionedVector.H"
 #include "runTimeSelectionTables.H"
-#include "volFieldsFwd.H"
-#include "DimensionedField.H"
-#include "labelList.H"
+#include "volFields.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -51,20 +46,13 @@ namespace Foam
 {
 namespace regionModels
 {
-namespace surfaceFilmModels
-{
 
 /*---------------------------------------------------------------------------*\
                       Class surfaceFilmModel Declaration
 \*---------------------------------------------------------------------------*/
 
 class surfaceFilmModel
-:
-    public singleLayerRegion
 {
-
-private:
-
     // Private Member Functions
 
         //- Disallow default bitwise copy construct
@@ -74,20 +62,6 @@ private:
         void operator=(const surfaceFilmModel&);
 
 
-protected:
-
-    // Protected data
-
-        //- Acceleration due to gravity [m/s2]
-        const dimensionedVector& g_;
-
-
-    // Protected member functions
-
-        //- Read control parameters from dictionary
-        virtual bool read();
-
-
 public:
 
     //- Runtime type information
@@ -113,16 +87,9 @@ public:
              (modelType, mesh, g, regionType)
          );
 
-    // Constructors
 
-        //- Construct from type name, mesh and gravity vector
-        surfaceFilmModel
-        (
-            const word& modelType,
-            const fvMesh& mesh,
-            const dimensionedVector& g,
-            const word& regionType
-        );
+    //- Constructor
+    surfaceFilmModel();
 
 
     // Selectors
@@ -142,113 +109,41 @@ public:
 
     // Member Functions
 
-        // Access
-
-            //- Return the accleration due to gravity
-            inline const dimensionedVector& g() const;
-
-            //- External hook to add sources to the film
-            virtual void addSources
-            (
-                const label patchi,
-                const label facei,
-                const scalar massSource,
-                const vector& momentumSource,
-                const scalar pressureSource,
-                const scalar energySource
-            ) = 0;
-
-
         // Solution parameters
 
             //- Courant number evaluation
-            virtual scalar CourantNumber() const;
-
+            virtual scalar CourantNumber() const = 0;
 
-        // Fields
 
-            //- Return the film thickness [m]
-            virtual const volScalarField& delta() const = 0;
+        // Primary region source fields
 
-            //- Return the film coverage, 1 = covered, 0 = uncovered / []
-            virtual const volScalarField& alpha() const = 0;
+            //- Return total mass source - Eulerian phase only
+            virtual tmp<volScalarField::Internal> Srho() const = 0;
 
-            //- Return the film velocity [m/s]
-            virtual const volVectorField& U() const = 0;
-
-            //- Return the film surface velocity [m/s]
-            virtual const volVectorField& Us() const = 0;
-
-            //- Return the film wall velocity [m/s]
-            virtual const volVectorField& Uw() const = 0;
-
-            //- Return the film density [kg/m3]
-            virtual const volScalarField& rho() const = 0;
-
-            //- Return the film mean temperature [K]
-            virtual const volScalarField& T() const = 0;
-
-            //- Return the film surface temperature [K]
-            virtual const volScalarField& Ts() const = 0;
-
-            //- Return the film wall temperature [K]
-            virtual const volScalarField& Tw() const = 0;
-
-            //- Return the film surface temperature [J/kg]
-            virtual const volScalarField& hs() const = 0;
-
-            //- Return the film specific heat capacity [J/kg/K]
-            virtual const volScalarField& Cp() const = 0;
-
-            //- Return the film thermal conductivity [W/m/K]
-            virtual const volScalarField& kappa() const = 0;
-
-            //- Return the film surface tension [N/m]
-            virtual const volScalarField& sigma() const = 0;
-
-
-            // Transfer fields - to the primary region
-
-                //- Return mass transfer source - Eulerian phase only
-                virtual tmp<volScalarField> primaryMassTrans() const = 0;
-
-                //- Return the film mass available for transfer
-                virtual const volScalarField& cloudMassTrans() const = 0;
-
-                //- Return the parcel diameters originating from film
-                virtual const volScalarField& cloudDiameterTrans() const = 0;
-
-
-        // Source fields
+            //- Return mass source for specie i - Eulerian phase only
+            virtual tmp<volScalarField::Internal> Srho
+            (
+                const label i
+            ) const = 0;
 
-            // Mapped into primary region
+            //- Return enthalpy source - Eulerian phase only
+            virtual tmp<volScalarField::Internal> Sh() const = 0;
 
-                //- Return total mass source - Eulerian phase only
-                virtual tmp<volScalarField::Internal> Srho() const;
 
-                //- Return mass source for specie i - Eulerian phase only
-                virtual tmp<volScalarField::Internal> Srho
-                (
-                    const label i
-                ) const;
+        // Evolution
 
-                //- Return enthalpy source - Eulerian phase only
-                virtual tmp<volScalarField::Internal> Sh() const;
+            //- Main driver routing to evolve the region - calls other evolves
+            virtual void evolve() = 0;
 };
 
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-} // End namespace surfaceFilmModels
 } // End namespace regionModels
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-#include "surfaceFilmModelI.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
 #endif
 
 // ************************************************************************* //
diff --git a/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModelNew.C b/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModelNew.C
index e6251116e79..55008f36744 100644
--- a/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModelNew.C
+++ b/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModelNew.C
@@ -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) 2011-2017 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,8 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "surfaceFilmModel.H"
-#include "fvMesh.H"
-#include "Time.H"
+#include "noFilm.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -33,8 +32,6 @@ namespace Foam
 {
 namespace regionModels
 {
-namespace surfaceFilmModels
-{
 
 // * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
 
@@ -48,20 +45,29 @@ autoPtr<surfaceFilmModel> surfaceFilmModel::New
     word modelType;
 
     {
-        IOdictionary surfaceFilmPropertiesDict
+        IOobject surfaceFilmPropertiesDictHeader
         (
-            IOobject
-            (
-                regionType + "Properties",
-                mesh.time().constant(),
-                mesh,
-                IOobject::MUST_READ,
-                IOobject::NO_WRITE,
-                false
-            )
+            regionType + "Properties",
+            mesh.time().constant(),
+            mesh,
+            IOobject::MUST_READ,
+            IOobject::NO_WRITE,
+            false
         );
 
-        surfaceFilmPropertiesDict.lookup("surfaceFilmModel") >> modelType;
+        if (surfaceFilmPropertiesDictHeader.typeHeaderOk<IOdictionary>())
+        {
+            IOdictionary surfaceFilmPropertiesDict
+            (
+                surfaceFilmPropertiesDictHeader
+            );
+
+            surfaceFilmPropertiesDict.lookup("surfaceFilmModel") >> modelType;
+        }
+        else
+        {
+            modelType = surfaceFilmModels::noFilm::typeName;
+        }
     }
 
     Info<< "Selecting surfaceFilmModel " << modelType << endl;
@@ -93,7 +99,6 @@ autoPtr<surfaceFilmModel> surfaceFilmModel::New
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-} // End namespace surfaceFilmModels
 } // End namespace regionModels
 } // End namespace Foam
 
diff --git a/src/regionModels/surfaceFilmModels/surfaceFilmRegionModel/surfaceFilmRegionModel.C b/src/regionModels/surfaceFilmModels/surfaceFilmRegionModel/surfaceFilmRegionModel.C
new file mode 100644
index 00000000000..c8456af18b6
--- /dev/null
+++ b/src/regionModels/surfaceFilmModels/surfaceFilmRegionModel/surfaceFilmRegionModel.C
@@ -0,0 +1,98 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2011-2017 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 "surfaceFilmRegionModel.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace regionModels
+{
+namespace surfaceFilmModels
+{
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+defineTypeNameAndDebug(surfaceFilmRegionModel, 0);
+
+// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
+
+bool surfaceFilmRegionModel::read()
+{
+    if (singleLayerRegion::read())
+    {
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+surfaceFilmRegionModel::surfaceFilmRegionModel
+(
+    const word& modelType,
+    const fvMesh& mesh,
+    const dimensionedVector& g,
+    const word& regionType
+)
+:
+    surfaceFilmModel(),
+    singleLayerRegion(mesh, regionType, modelType),
+    g_(g)
+{
+    if (active_)
+    {
+        read();
+    }
+}
+
+
+// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
+
+surfaceFilmRegionModel::~surfaceFilmRegionModel()
+{}
+
+
+
+// * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * * //
+
+void surfaceFilmRegionModel::evolve()
+{
+    singleLayerRegion::evolve();
+}
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace surfaceFilmModels
+} // End namespace regionModels
+} // End namespace Foam
+
+// ************************************************************************* //
diff --git a/src/regionModels/surfaceFilmModels/surfaceFilmRegionModel/surfaceFilmRegionModel.H b/src/regionModels/surfaceFilmModels/surfaceFilmRegionModel/surfaceFilmRegionModel.H
new file mode 100644
index 00000000000..7e070ff2a63
--- /dev/null
+++ b/src/regionModels/surfaceFilmModels/surfaceFilmRegionModel/surfaceFilmRegionModel.H
@@ -0,0 +1,198 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2011-2017 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::regionModels::surfaceFilmModels::surfaceFilmRegionModel
+
+Description
+    Base class for surface film models
+
+SourceFiles
+    surfaceFilmRegionModel.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef surfaceFilmRegionModel_H
+#define surfaceFilmRegionModel_H
+
+#include "surfaceFilmModel.H"
+#include "singleLayerRegion.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace regionModels
+{
+namespace surfaceFilmModels
+{
+
+/*---------------------------------------------------------------------------*\
+                      Class surfaceFilmRegionModel Declaration
+\*---------------------------------------------------------------------------*/
+
+class surfaceFilmRegionModel
+:
+    public surfaceFilmModel,
+    public singleLayerRegion
+{
+    // Private Member Functions
+
+        //- Disallow default bitwise copy construct
+        surfaceFilmRegionModel(const surfaceFilmRegionModel&);
+
+        //- Disallow default bitwise assignment
+        void operator=(const surfaceFilmRegionModel&);
+
+
+protected:
+
+    // Protected data
+
+        //- Acceleration due to gravity [m/s2]
+        const dimensionedVector& g_;
+
+
+    // Protected member functions
+
+        //- Read control parameters from dictionary
+        virtual bool read();
+
+
+public:
+
+    //- Runtime type information
+    TypeName("surfaceFilmRegionModel");
+
+
+    // Constructors
+
+        //- Construct from type name, mesh and gravity vector
+        surfaceFilmRegionModel
+        (
+            const word& modelType,
+            const fvMesh& mesh,
+            const dimensionedVector& g,
+            const word& regionType
+        );
+
+
+    //- Destructor
+    virtual ~surfaceFilmRegionModel();
+
+
+    // Member Functions
+
+        // Access
+
+            //- Return the accleration due to gravity
+            inline const dimensionedVector& g() const;
+
+            //- External hook to add sources to the film
+            virtual void addSources
+            (
+                const label patchi,
+                const label facei,
+                const scalar massSource,
+                const vector& momentumSource,
+                const scalar pressureSource,
+                const scalar energySource
+            ) = 0;
+
+
+        // Fields
+
+            //- Return the film thickness [m]
+            virtual const volScalarField& delta() const = 0;
+
+            //- Return the film coverage, 1 = covered, 0 = uncovered / []
+            virtual const volScalarField& alpha() const = 0;
+
+            //- Return the film velocity [m/s]
+            virtual const volVectorField& U() const = 0;
+
+            //- Return the film surface velocity [m/s]
+            virtual const volVectorField& Us() const = 0;
+
+            //- Return the film wall velocity [m/s]
+            virtual const volVectorField& Uw() const = 0;
+
+            //- Return the film density [kg/m3]
+            virtual const volScalarField& rho() const = 0;
+
+            //- Return the film mean temperature [K]
+            virtual const volScalarField& T() const = 0;
+
+            //- Return the film surface temperature [K]
+            virtual const volScalarField& Ts() const = 0;
+
+            //- Return the film wall temperature [K]
+            virtual const volScalarField& Tw() const = 0;
+
+            //- Return the film surface temperature [J/kg]
+            virtual const volScalarField& hs() const = 0;
+
+            //- Return the film specific heat capacity [J/kg/K]
+            virtual const volScalarField& Cp() const = 0;
+
+            //- Return the film thermal conductivity [W/m/K]
+            virtual const volScalarField& kappa() const = 0;
+
+            //- Return the film surface tension [N/m]
+            virtual const volScalarField& sigma() const = 0;
+
+
+            // Transfer fields - to the primary region
+
+                //- Return mass transfer source - Eulerian phase only
+                virtual tmp<volScalarField> primaryMassTrans() const = 0;
+
+                //- Return the film mass available for transfer
+                virtual const volScalarField& cloudMassTrans() const = 0;
+
+                //- Return the parcel diameters originating from film
+                virtual const volScalarField& cloudDiameterTrans() const = 0;
+
+
+        // Evolution
+
+            //- Main driver routing to evolve the region - calls other evolves
+            virtual void evolve();
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace surfaceFilmModels
+} // End namespace regionModels
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#include "surfaceFilmRegionModelI.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModelI.H b/src/regionModels/surfaceFilmModels/surfaceFilmRegionModel/surfaceFilmRegionModelI.H
similarity index 90%
rename from src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModelI.H
rename to src/regionModels/surfaceFilmModels/surfaceFilmRegionModel/surfaceFilmRegionModelI.H
index 652c3d5724c..e196babd4a3 100644
--- a/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModelI.H
+++ b/src/regionModels/surfaceFilmModels/surfaceFilmRegionModel/surfaceFilmRegionModelI.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-2017 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -23,7 +23,7 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "surfaceFilmModel.H"
+#include "surfaceFilmRegionModel.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -36,7 +36,7 @@ namespace surfaceFilmModels
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-inline const Foam::dimensionedVector& surfaceFilmModel::g() const
+inline const Foam::dimensionedVector& surfaceFilmRegionModel::g() const
 {
     return g_;
 }
diff --git a/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.C b/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.C
index 9ac0e2d6fc8..35930d3340f 100644
--- a/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.C
+++ b/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.C
@@ -55,7 +55,7 @@ namespace surfaceFilmModels
 
 defineTypeNameAndDebug(thermoSingleLayer, 0);
 
-addToRunTimeSelectionTable(surfaceFilmModel, thermoSingleLayer, mesh);
+addToRunTimeSelectionTable(surfaceFilmRegionModel, thermoSingleLayer, mesh);
 
 // * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * * //
 
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/additionalControls b/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/additionalControls
deleted file mode 100644
index b7902c8810d..00000000000
--- a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/additionalControls
+++ /dev/null
@@ -1,20 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  plus                                  |
-|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      additionalControls;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-solvePrimaryRegion false; // true;
-
-// ************************************************************************* //
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/additionalControls b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/additionalControls
deleted file mode 100644
index 47ec75e425a..00000000000
--- a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/additionalControls
+++ /dev/null
@@ -1,20 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  plus                                  |
-|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      additionalControls;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-solvePrimaryRegion true; // false; // true;
-
-// ************************************************************************* //
diff --git a/tutorials/lagrangian/reactingParcelFoam/counterFlowFlame2DLTS/0/p b/tutorials/lagrangian/reactingParcelFoam/counterFlowFlame2DLTS/0/p
index 82fd55d35b3..6310d409289 100644
--- a/tutorials/lagrangian/reactingParcelFoam/counterFlowFlame2DLTS/0/p
+++ b/tutorials/lagrangian/reactingParcelFoam/counterFlowFlame2DLTS/0/p
@@ -23,17 +23,22 @@ boundaryField
 {
     fuel
     {
-        type            zeroGradient;
+        type            calculated;
+        value           $internalField;
     }
+
     air
     {
-        type            zeroGradient;
+        type            calculated;
+        value           $internalField;
     }
+
     outlet
     {
-        type            totalPressure;
-        p0              $internalField;
+        type            calculated;
+        value           $internalField;
     }
+
     frontAndBack
     {
         type            empty;
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/additionalControls b/tutorials/lagrangian/reactingParcelFoam/counterFlowFlame2DLTS/0/p_rgh
similarity index 52%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/additionalControls
rename to tutorials/lagrangian/reactingParcelFoam/counterFlowFlame2DLTS/0/p_rgh
index 23353bc65ac..b51753afdff 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/additionalControls
+++ b/tutorials/lagrangian/reactingParcelFoam/counterFlowFlame2DLTS/0/p_rgh
@@ -1,20 +1,47 @@
 /*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  plus                                  |
-|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
 {
     version     2.0;
     format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      additionalControls;
+    class       volScalarField;
+    location    "0";
+    object      p_rgh;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-solvePrimaryRegion true;
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   uniform 1e5;
+
+boundaryField
+{
+    fuel
+    {
+        type            fixedFluxPressure;
+    }
+
+    air
+    {
+        type            fixedFluxPressure;
+    }
+
+    outlet
+    {
+        type            prghTotalPressure;
+        p0              $internalField;
+    }
+
+    frontAndBack
+    {
+        type            empty;
+    }
+}
+
 
 // ************************************************************************* //
diff --git a/tutorials/lagrangian/reactingParcelFoam/counterFlowFlame2DLTS/system/fvSolution b/tutorials/lagrangian/reactingParcelFoam/counterFlowFlame2DLTS/system/fvSolution
index 295dfc6eef9..50c20257809 100644
--- a/tutorials/lagrangian/reactingParcelFoam/counterFlowFlame2DLTS/system/fvSolution
+++ b/tutorials/lagrangian/reactingParcelFoam/counterFlowFlame2DLTS/system/fvSolution
@@ -22,7 +22,7 @@ solvers
         solver          diagonal;
     }
 
-    p
+    p_rgh
     {
         solver          GAMG;
         tolerance       1e-6;
@@ -30,9 +30,9 @@ solvers
         smoother        GaussSeidel;
     }
 
-    pFinal
+    p_rghFinal
     {
-        $p;
+        $p_rgh;
         relTol           0;
     }
 
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/0.orig/H2O b/tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/H2O
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/0.orig/H2O
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/H2O
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/0.orig/N2 b/tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/N2
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/0.orig/N2
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/N2
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/0.orig/O2 b/tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/O2
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/0.orig/O2
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/O2
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/0.orig/T b/tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/T
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/0.orig/T
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/T
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/0.orig/U b/tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/U
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/0.orig/U
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/U
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/0.orig/p b/tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/p
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/0.orig/p
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/p
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/0.orig/p_rgh b/tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/p_rgh
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/0.orig/p_rgh
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/p_rgh
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/0.orig/wallFilmRegion/Tf b/tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/wallFilmRegion/Tf
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/0.orig/wallFilmRegion/Tf
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/wallFilmRegion/Tf
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/0.orig/wallFilmRegion/Uf b/tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/wallFilmRegion/Uf
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/0.orig/wallFilmRegion/Uf
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/wallFilmRegion/Uf
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/0.orig/wallFilmRegion/deltaf b/tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/wallFilmRegion/deltaf
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/0.orig/wallFilmRegion/deltaf
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/0.orig/wallFilmRegion/deltaf
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/Allclean b/tutorials/lagrangian/reactingParcelFoam/cylinder/Allclean
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/Allclean
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/Allclean
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/Allrun b/tutorials/lagrangian/reactingParcelFoam/cylinder/Allrun
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/Allrun
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/Allrun
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/Allrun.pre b/tutorials/lagrangian/reactingParcelFoam/cylinder/Allrun.pre
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/Allrun.pre
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/Allrun.pre
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/chemistryProperties b/tutorials/lagrangian/reactingParcelFoam/cylinder/constant/chemistryProperties
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/chemistryProperties
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/constant/chemistryProperties
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/combustionProperties b/tutorials/lagrangian/reactingParcelFoam/cylinder/constant/combustionProperties
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/combustionProperties
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/constant/combustionProperties
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/foam.dat b/tutorials/lagrangian/reactingParcelFoam/cylinder/constant/foam.dat
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/foam.dat
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/constant/foam.dat
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/foam.inp b/tutorials/lagrangian/reactingParcelFoam/cylinder/constant/foam.inp
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/foam.inp
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/constant/foam.inp
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/g b/tutorials/lagrangian/reactingParcelFoam/cylinder/constant/g
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/g
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/constant/g
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/parcelInjectionProperties b/tutorials/lagrangian/reactingParcelFoam/cylinder/constant/parcelInjectionProperties
similarity index 75%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/parcelInjectionProperties
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/constant/parcelInjectionProperties
index 342d01a182f..df450036e62 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/parcelInjectionProperties
+++ b/tutorials/lagrangian/reactingParcelFoam/cylinder/constant/parcelInjectionProperties
@@ -14,11 +14,11 @@ FoamFile
     object      scalarListList;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-// (x y z) (u v w) d rho mDot T Cp (Y0..Y2)
+// (x y z) (u v w) d rho mDot T Cp (Y0..Y2) (Yg0..YgN) (Yl0..YlN) (Ys0..YsN)
 (
-    (0 1.95 -0.2) (0 -5 0) 0.001 1000 0.002 300 4200 (1)
-    (0 1.95    0) (0 -5 0) 0.001 1000 0.002 300 4200 (1)
-    (0 1.95  0.2) (0 -5 0) 0.001 1000 0.002 300 4200 (1)
+    (0 1.95 -0.2) (0 -5 0) 0.001 1000 0.002 300 4200 (0 1 0) () (1) ()
+    (0 1.95    0) (0 -5 0) 0.001 1000 0.002 300 4200 (0 1 0) () (1) ()
+    (0 1.95  0.2) (0 -5 0) 0.001 1000 0.002 300 4200 (0 1 0) () (1) ()
 );
 
 
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/radiationProperties b/tutorials/lagrangian/reactingParcelFoam/cylinder/constant/radiationProperties
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/radiationProperties
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/constant/radiationProperties
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/reactingCloud1Properties b/tutorials/lagrangian/reactingParcelFoam/cylinder/constant/reactingCloud1Properties
similarity index 86%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/reactingCloud1Properties
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/constant/reactingCloud1Properties
index 671958376bf..b330a196718 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/reactingCloud1Properties
+++ b/tutorials/lagrangian/reactingParcelFoam/cylinder/constant/reactingCloud1Properties
@@ -74,7 +74,7 @@ subModels
     {
         model1
         {
-            type            reactingLookupTableInjection;
+            type            reactingMultiphaseLookupTableInjection;
             massTotal       0.5;
             parcelBasisType mass;
             SOI             0;
@@ -91,10 +91,14 @@ subModels
 
     heatTransferModel none;
 
-    compositionModel singlePhaseMixture;
+    compositionModel singleMixtureFraction;
 
     phaseChangeModel none;
 
+    devolatilisationModel none;
+
+    surfaceReactionModel none;
+
     stochasticCollisionModel none;
 
     surfaceFilmModel thermoSurfaceFilm;
@@ -106,15 +110,24 @@ subModels
         type            rebound;
     }
 
-    singlePhaseMixtureCoeffs
+    singleMixtureFractionCoeffs
     {
         phases
         (
+            gas
+            {
+            }
             liquid
             {
-                H2O          1;
+                H2O         1;
+            }
+            solid
+            {
             }
         );
+        YGasTot0        0;
+        YLiquidTot0     1;
+        YSolidTot0      0;
     }
 
     thermoSurfaceFilmCoeffs
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/surfaceFilmProperties b/tutorials/lagrangian/reactingParcelFoam/cylinder/constant/surfaceFilmProperties
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/surfaceFilmProperties
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/constant/surfaceFilmProperties
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/thermophysicalProperties b/tutorials/lagrangian/reactingParcelFoam/cylinder/constant/thermophysicalProperties
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/thermophysicalProperties
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/constant/thermophysicalProperties
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/turbulenceProperties b/tutorials/lagrangian/reactingParcelFoam/cylinder/constant/turbulenceProperties
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/turbulenceProperties
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/constant/turbulenceProperties
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/blockMeshDict b/tutorials/lagrangian/reactingParcelFoam/cylinder/system/blockMeshDict
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/blockMeshDict
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/system/blockMeshDict
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/controlDict b/tutorials/lagrangian/reactingParcelFoam/cylinder/system/controlDict
similarity index 93%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/controlDict
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/system/controlDict
index 0e40fa759fd..3b4b879368f 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/controlDict
+++ b/tutorials/lagrangian/reactingParcelFoam/cylinder/system/controlDict
@@ -15,9 +15,9 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-application     reactingParcelFilmFoam;
+application     reactingParcelFoam;
 
-startFrom       latestTime; // startTime;
+startFrom       latestTime;
 
 startTime       0;
 
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/createPatchDict b/tutorials/lagrangian/reactingParcelFoam/cylinder/system/createPatchDict
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/createPatchDict
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/system/createPatchDict
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/decomposeParDict b/tutorials/lagrangian/reactingParcelFoam/cylinder/system/decomposeParDict
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/decomposeParDict
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/system/decomposeParDict
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/extrudeToRegionMeshDict b/tutorials/lagrangian/reactingParcelFoam/cylinder/system/extrudeToRegionMeshDict
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/extrudeToRegionMeshDict
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/system/extrudeToRegionMeshDict
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/fvSchemes b/tutorials/lagrangian/reactingParcelFoam/cylinder/system/fvSchemes
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/fvSchemes
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/system/fvSchemes
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/fvSolution b/tutorials/lagrangian/reactingParcelFoam/cylinder/system/fvSolution
similarity index 97%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/fvSolution
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/system/fvSolution
index 12ec0ce96e1..dde799096bf 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/fvSolution
+++ b/tutorials/lagrangian/reactingParcelFoam/cylinder/system/fvSolution
@@ -97,10 +97,6 @@ PIMPLE
 
 relaxationFactors
 {
-    fields
-    {
-        ".*Final"       1;
-    }
     equations
     {
         ".*Final"       1;
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/topoSetDict b/tutorials/lagrangian/reactingParcelFoam/cylinder/system/topoSetDict
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/topoSetDict
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/system/topoSetDict
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/wallFilmRegion/fvSchemes b/tutorials/lagrangian/reactingParcelFoam/cylinder/system/wallFilmRegion/fvSchemes
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/wallFilmRegion/fvSchemes
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/system/wallFilmRegion/fvSchemes
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/wallFilmRegion/fvSolution b/tutorials/lagrangian/reactingParcelFoam/cylinder/system/wallFilmRegion/fvSolution
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/wallFilmRegion/fvSolution
rename to tutorials/lagrangian/reactingParcelFoam/cylinder/system/wallFilmRegion/fvSolution
diff --git a/tutorials/lagrangian/reactingParcelFoam/filter/0.orig/p b/tutorials/lagrangian/reactingParcelFoam/filter/0.orig/p
index 0438b1fa572..7d9e755a5d7 100644
--- a/tutorials/lagrangian/reactingParcelFoam/filter/0.orig/p
+++ b/tutorials/lagrangian/reactingParcelFoam/filter/0.orig/p
@@ -10,7 +10,6 @@ FoamFile
     version     2.0;
     format      ascii;
     class       volScalarField;
-    location    "1";
     object      p;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -23,33 +22,42 @@ boundaryField
 {
     walls
     {
-        type            zeroGradient;
+        type            calculated;
+        value           $internalField;
     }
+
     inlet
     {
-        type            zeroGradient;
+        type            calculated;
+        value           $internalField;
     }
+
     outlet
     {
-        type            fixedValue;
-        value           uniform 100000;
+        type            calculated;
+        value           $internalField;
     }
+
     cycLeft_half0
     {
         type            cyclic;
     }
+
     cycRight_half0
     {
         type            cyclic;
     }
+
     frontAndBack
     {
         type            empty;
     }
+
     cycLeft_half1
     {
         type            cyclic;
     }
+
     cycRight_half1
     {
         type            cyclic;
diff --git a/tutorials/lagrangian/reactingParcelFoam/filter/0.orig/p_rgh b/tutorials/lagrangian/reactingParcelFoam/filter/0.orig/p_rgh
new file mode 100644
index 00000000000..889e4cf1113
--- /dev/null
+++ b/tutorials/lagrangian/reactingParcelFoam/filter/0.orig/p_rgh
@@ -0,0 +1,66 @@
+/*--------------------------------*- 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      p_rgh;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   uniform 100000;
+
+boundaryField
+{
+    walls
+    {
+        type            fixedFluxPressure;
+    }
+
+    inlet
+    {
+        type            fixedFluxPressure;
+    }
+
+    outlet
+    {
+        type            prghPressure;
+        p               uniform 100000;
+    }
+
+    cycLeft_half0
+    {
+        type            cyclic;
+    }
+
+    cycRight_half0
+    {
+        type            cyclic;
+    }
+
+    frontAndBack
+    {
+        type            empty;
+    }
+
+    cycLeft_half1
+    {
+        type            cyclic;
+    }
+
+    cycRight_half1
+    {
+        type            cyclic;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/lagrangian/reactingParcelFoam/filter/Allrun b/tutorials/lagrangian/reactingParcelFoam/filter/Allrun
index 2c976e023ba..183ac7a8643 100755
--- a/tutorials/lagrangian/reactingParcelFoam/filter/Allrun
+++ b/tutorials/lagrangian/reactingParcelFoam/filter/Allrun
@@ -5,6 +5,8 @@ cd ${0%/*} || exit 1    # Run from this directory
 . $WM_PROJECT_DIR/bin/tools/RunFunctions
 
 restore0Dir
+
+# create mesh
 runApplication blockMesh
 
 # create sets
diff --git a/tutorials/lagrangian/reactingParcelFoam/filter/system/fvSolution b/tutorials/lagrangian/reactingParcelFoam/filter/system/fvSolution
index 1e8637e63e8..93cfefe3817 100644
--- a/tutorials/lagrangian/reactingParcelFoam/filter/system/fvSolution
+++ b/tutorials/lagrangian/reactingParcelFoam/filter/system/fvSolution
@@ -47,7 +47,7 @@ solvers
         relTol          0;
     }
 
-    p
+    p_rgh
     {
         solver          GAMG;
         tolerance       0;
@@ -55,9 +55,9 @@ solvers
         smoother        GaussSeidel;
     }
 
-    pFinal
+    p_rghFinal
     {
-        $p;
+        $p_rgh;
         tolerance       1e-06;
         relTol          0;
     }
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/H2O b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/H2O
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/H2O
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/H2O
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/N2 b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/N2
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/N2
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/N2
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/O2 b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/O2
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/O2
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/O2
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/T b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/T
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/T
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/T
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/U b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/U
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/U
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/U
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/alphat b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/alphat
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/alphat
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/alphat
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/epsilon b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/epsilon
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/epsilon
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/epsilon
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/htcConv b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/htcConv
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/htcConv
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/htcConv
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/k b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/k
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/k
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/k
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/nut b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/nut
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/nut
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/nut
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/p b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/p
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/p
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/p
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/p_rgh b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/p_rgh
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/p_rgh
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/p_rgh
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/wallFilmRegion/Tf b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/wallFilmRegion/Tf
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/wallFilmRegion/Tf
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/wallFilmRegion/Tf
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/wallFilmRegion/Uf b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/wallFilmRegion/Uf
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/wallFilmRegion/Uf
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/wallFilmRegion/Uf
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/wallFilmRegion/deltaf b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/wallFilmRegion/deltaf
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/0.orig/wallFilmRegion/deltaf
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/0.orig/wallFilmRegion/deltaf
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/Allclean b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/Allclean
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/Allclean
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/Allclean
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/Allrun b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/Allrun
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/Allrun
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/Allrun
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/Allrun-parallel b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/Allrun-parallel
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/Allrun-parallel
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/Allrun-parallel
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/Allrun.pre b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/Allrun.pre
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/Allrun.pre
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/Allrun.pre
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/chemistryProperties b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/constant/chemistryProperties
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/chemistryProperties
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/constant/chemistryProperties
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/combustionProperties b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/constant/combustionProperties
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/combustionProperties
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/constant/combustionProperties
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/foam.dat b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/constant/foam.dat
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/foam.dat
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/constant/foam.dat
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/foam.inp b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/constant/foam.inp
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/foam.inp
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/constant/foam.inp
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/g b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/constant/g
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/g
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/constant/g
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/radiationProperties b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/constant/radiationProperties
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/radiationProperties
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/constant/radiationProperties
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/reactingCloud1Properties b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/constant/reactingCloud1Properties
similarity index 91%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/reactingCloud1Properties
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/constant/reactingCloud1Properties
index b6e4c5d8cfd..593d1c3cc3b 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/reactingCloud1Properties
+++ b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/constant/reactingCloud1Properties
@@ -112,10 +112,14 @@ subModels
 
     heatTransferModel none;
 
-    compositionModel singlePhaseMixture;
+    compositionModel singleMixtureFraction;
 
     phaseChangeModel none;
 
+    devolatilisationModel none;
+
+    surfaceReactionModel none;
+
     stochasticCollisionModel none;
 
     surfaceFilmModel thermoSurfaceFilm;
@@ -127,15 +131,24 @@ subModels
         type            rebound;
     }
 
-    singlePhaseMixtureCoeffs
+    singleMixtureFractionCoeffs
     {
         phases
         (
+            gas
+            {
+            }
             liquid
             {
                 H2O          1;
             }
+            solid
+            {
+            }
         );
+        YGasTot0        0;
+        YLiquidTot0     1;
+        YSolidTot0      0;
     }
 
     thermoSurfaceFilmCoeffs
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/surfaceFilmProperties b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/constant/surfaceFilmProperties
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/surfaceFilmProperties
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/constant/surfaceFilmProperties
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/thermophysicalProperties b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/constant/thermophysicalProperties
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/thermophysicalProperties
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/constant/thermophysicalProperties
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/turbulenceProperties b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/constant/turbulenceProperties
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/turbulenceProperties
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/constant/turbulenceProperties
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/createObstacle.setSet b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/createObstacle.setSet
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/createObstacle.setSet
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/createObstacle.setSet
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/createWallFilmZone.setSet b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/createWallFilmZone.setSet
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/createWallFilmZone.setSet
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/createWallFilmZone.setSet
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/patchify.setSet b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/patchify.setSet
similarity index 91%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/patchify.setSet
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/patchify.setSet
index 6b1a3a5ae3d..e58687b914d 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/patchify.setSet
+++ b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/patchify.setSet
@@ -25,6 +25,6 @@ faceSet cubeFaceSet add boxToFace (0.399 0.599 0.399) (0.601 0.601 0.601)
 faceSet cubeFaceSet add boxToFace (0.399 0.399 0.399) (0.601 0.401 0.601)
 cellSet cubeFacesCells new faceToCell cubeFaceSet owner
 faceZoneSet cubeFaces new setsToFaceZone cubeFaceSet cubeFacesCells
-faceSet floorFaces new boxToFace (-0.001 -0.001 -0.001) (1.001 1.001 0.001)
-cellSet floorCells new faceToCell floorFaces owner
-faceZoneSet floorFaces new setsToFaceZone floorFaces floorCells
+faceSet FloorFaces new boxToFace (-0.001 -0.001 -0.001) (1.001 1.001 0.001)
+cellSet floorCells new faceToCell FloorFaces owner
+faceZoneSet floorFaces new setsToFaceZone FloorFaces floorCells
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/patchifyObstacles b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/patchifyObstacles
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/patchifyObstacles
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/patchifyObstacles
diff --git a/tutorials/lagrangian/reactingParcelFoam/hotBoxes/si b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/si
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/blockMeshDict b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/system/blockMeshDict
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/blockMeshDict
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/system/blockMeshDict
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/changeDictionaryDict b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/system/changeDictionaryDict
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/changeDictionaryDict
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/system/changeDictionaryDict
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/controlDict b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/system/controlDict
similarity index 96%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/controlDict
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/system/controlDict
index c4d96a03a65..c71aafafd85 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/controlDict
+++ b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/system/controlDict
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-application     reactingParcelFilmFoam;
+application     reactingParcelFoam;
 
 startForm       latestTime;
 
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/decomposeParDict b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/system/decomposeParDict
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/decomposeParDict
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/system/decomposeParDict
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/extrudeToRegionMeshDict b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/system/extrudeToRegionMeshDict
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/extrudeToRegionMeshDict
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/system/extrudeToRegionMeshDict
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/fvSchemes b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/system/fvSchemes
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/fvSchemes
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/system/fvSchemes
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/fvSolution b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/system/fvSolution
similarity index 97%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/fvSolution
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/system/fvSolution
index c09bbc28581..3fd29f13dc6 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/fvSolution
+++ b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/system/fvSolution
@@ -78,10 +78,6 @@ PIMPLE
 
 relaxationFactors
 {
-    fields
-    {
-        ".*Final"       1;
-    }
     equations
     {
         ".*Final"       1;
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/topoSetDict b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/system/topoSetDict
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/topoSetDict
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/system/topoSetDict
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/wallFilmRegion.orig/decomposeParDict b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/system/wallFilmRegion.orig/decomposeParDict
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/wallFilmRegion.orig/decomposeParDict
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/system/wallFilmRegion.orig/decomposeParDict
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/wallFilmRegion.orig/fvSchemes b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/system/wallFilmRegion.orig/fvSchemes
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/wallFilmRegion.orig/fvSchemes
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/system/wallFilmRegion.orig/fvSchemes
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/wallFilmRegion.orig/fvSolution b/tutorials/lagrangian/reactingParcelFoam/hotBoxes/system/wallFilmRegion.orig/fvSolution
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/wallFilmRegion.orig/fvSolution
rename to tutorials/lagrangian/reactingParcelFoam/hotBoxes/system/wallFilmRegion.orig/fvSolution
diff --git a/tutorials/lagrangian/reactingParcelFoam/parcelInBox/0/p b/tutorials/lagrangian/reactingParcelFoam/parcelInBox/0/p
index 37853de1c91..46d4dec5800 100644
--- a/tutorials/lagrangian/reactingParcelFoam/parcelInBox/0/p
+++ b/tutorials/lagrangian/reactingParcelFoam/parcelInBox/0/p
@@ -25,22 +25,28 @@ boundaryField
     {
         type            symmetryPlane;
     }
+
     front
     {
         type            symmetryPlane;
     }
+
     inlet
     {
-        type            zeroGradient;
+        type            calculated;
+        value           $internalField;
     }
+
     outlet
     {
-        type            fixedValue;
-        value           uniform 100000;
+        type            calculated;
+        value           $internalField;
     }
+
     walls
     {
-        type            zeroGradient;
+        type            calculated;
+        value           $internalField;
     }
 }
 
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/additionalControls b/tutorials/lagrangian/reactingParcelFoam/parcelInBox/0/p_rgh
similarity index 50%
rename from tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/additionalControls
rename to tutorials/lagrangian/reactingParcelFoam/parcelInBox/0/p_rgh
index 47ec75e425a..14453a39681 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/additionalControls
+++ b/tutorials/lagrangian/reactingParcelFoam/parcelInBox/0/p_rgh
@@ -1,20 +1,52 @@
 /*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  plus                                  |
-|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
 {
     version     2.0;
     format      ascii;
-    class       dictionary;
-    location    "constant";
-    object      additionalControls;
+    class       volScalarField;
+    location    "0";
+    object      p_rgh;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-solvePrimaryRegion true; // false; // true;
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   uniform 100000;
+
+boundaryField
+{
+    back
+    {
+        type            symmetryPlane;
+    }
+
+    front
+    {
+        type            symmetryPlane;
+    }
+
+    inlet
+    {
+        type            fixedFluxPressure;
+    }
+
+    outlet
+    {
+        type            prghPressure;
+        p               uniform 100000;
+    }
+
+    walls
+    {
+        type            fixedFluxPressure;
+    }
+}
+
 
 // ************************************************************************* //
diff --git a/tutorials/lagrangian/reactingParcelFoam/parcelInBox/system/fvSolution b/tutorials/lagrangian/reactingParcelFoam/parcelInBox/system/fvSolution
index fb30c548419..78003387599 100644
--- a/tutorials/lagrangian/reactingParcelFoam/parcelInBox/system/fvSolution
+++ b/tutorials/lagrangian/reactingParcelFoam/parcelInBox/system/fvSolution
@@ -47,7 +47,7 @@ solvers
         relTol          0;
     }
 
-    p
+    p_rgh
     {
         solver          GAMG;
         tolerance       0;
@@ -56,9 +56,9 @@ solvers
         maxIter         20;
     }
 
-    pFinal
+    p_rghFinal
     {
-        $p;
+        $p_rgh;
         tolerance       1e-06;
         relTol          0;
     }
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/0.orig/H2O b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/0.orig/H2O
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/0.orig/H2O
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/0.orig/H2O
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/0.orig/N2 b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/0.orig/N2
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/0.orig/N2
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/0.orig/N2
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/0.orig/O2 b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/0.orig/O2
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/0.orig/O2
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/0.orig/O2
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/0.orig/T b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/0.orig/T
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/0.orig/T
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/0.orig/T
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/0.orig/U b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/0.orig/U
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/0.orig/U
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/0.orig/U
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/0.orig/p b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/0.orig/p
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/0.orig/p
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/0.orig/p
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/0.orig/p_rgh b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/0.orig/p_rgh
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/0.orig/p_rgh
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/0.orig/p_rgh
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/0.orig/wallFilmRegion/Tf b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/0.orig/wallFilmRegion/Tf
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/0.orig/wallFilmRegion/Tf
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/0.orig/wallFilmRegion/Tf
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/0.orig/wallFilmRegion/Uf b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/0.orig/wallFilmRegion/Uf
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/0.orig/wallFilmRegion/Uf
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/0.orig/wallFilmRegion/Uf
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/0.orig/wallFilmRegion/deltaf b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/0.orig/wallFilmRegion/deltaf
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/0.orig/wallFilmRegion/deltaf
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/0.orig/wallFilmRegion/deltaf
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/Allclean b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/Allclean
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/Allclean
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/Allclean
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/Allrun b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/Allrun
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/Allrun
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/Allrun
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/Allrun.pre b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/Allrun.pre
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/Allrun.pre
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/Allrun.pre
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/chemistryProperties b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/constant/chemistryProperties
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/chemistryProperties
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/constant/chemistryProperties
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/combustionProperties b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/constant/combustionProperties
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/combustionProperties
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/constant/combustionProperties
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/foam.dat b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/constant/foam.dat
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/foam.dat
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/constant/foam.dat
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/foam.inp b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/constant/foam.inp
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/foam.inp
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/constant/foam.inp
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/g b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/constant/g
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/g
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/constant/g
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/parcelInjectionProperties b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/constant/parcelInjectionProperties
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/parcelInjectionProperties
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/constant/parcelInjectionProperties
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/radiationProperties b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/constant/radiationProperties
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/radiationProperties
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/constant/radiationProperties
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/reactingCloud1Properties b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/constant/reactingCloud1Properties
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/reactingCloud1Properties
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/constant/reactingCloud1Properties
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/surfaceFilmProperties b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/constant/surfaceFilmProperties
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/surfaceFilmProperties
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/constant/surfaceFilmProperties
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/thermophysicalProperties b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/constant/thermophysicalProperties
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/thermophysicalProperties
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/constant/thermophysicalProperties
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/turbulenceProperties b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/constant/turbulenceProperties
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/turbulenceProperties
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/constant/turbulenceProperties
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/createWallFilmRegionPatches.setSet b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/createWallFilmRegionPatches.setSet
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/createWallFilmRegionPatches.setSet
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/createWallFilmRegionPatches.setSet
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/blockMeshDict b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/system/blockMeshDict
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/blockMeshDict
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/system/blockMeshDict
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/controlDict b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/system/controlDict
similarity index 93%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/controlDict
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/system/controlDict
index 152db5be516..8a2e9acd653 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/controlDict
+++ b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/system/controlDict
@@ -15,9 +15,9 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-application     reactingParcelFilmFoam;
+application     reactingParcelFoam;
 
-startFrom       latestTime; // startTime;
+startFrom       latestTime;
 
 startTime       0;
 
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/createPatchDict b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/system/createPatchDict
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/createPatchDict
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/system/createPatchDict
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/decomposeParDict b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/system/decomposeParDict
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/decomposeParDict
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/system/decomposeParDict
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/extrudeToRegionMeshDict b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/system/extrudeToRegionMeshDict
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/extrudeToRegionMeshDict
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/system/extrudeToRegionMeshDict
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/fvSchemes b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/system/fvSchemes
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/fvSchemes
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/system/fvSchemes
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/fvSolution b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/system/fvSolution
similarity index 97%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/fvSolution
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/system/fvSolution
index 6b33dbc7f4b..bb84e04232c 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/fvSolution
+++ b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/system/fvSolution
@@ -78,14 +78,11 @@ PIMPLE
     nCorrectors     2;
     nNonOrthogonalCorrectors 0;
     momentumPredictor yes;
+    solvePrimaryRegion no;
 }
 
 relaxationFactors
 {
-    fields
-    {
-        ".*Final"       1;
-    }
     equations
     {
         ".*Final"       1;
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/wallFilmRegion.topoSet b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/system/wallFilmRegion.topoSet
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/wallFilmRegion.topoSet
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/system/wallFilmRegion.topoSet
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/wallFilmRegion/createPatchDict b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/system/wallFilmRegion/createPatchDict
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/wallFilmRegion/createPatchDict
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/system/wallFilmRegion/createPatchDict
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/wallFilmRegion/fvSchemes b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/system/wallFilmRegion/fvSchemes
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/wallFilmRegion/fvSchemes
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/system/wallFilmRegion/fvSchemes
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/wallFilmRegion/fvSolution b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/system/wallFilmRegion/fvSolution
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/wallFilmRegion/fvSolution
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/system/wallFilmRegion/fvSolution
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/wallFilmRegion.setSet b/tutorials/lagrangian/reactingParcelFoam/rivuletPanel/wallFilmRegion.setSet
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/wallFilmRegion.setSet
rename to tutorials/lagrangian/reactingParcelFoam/rivuletPanel/wallFilmRegion.setSet
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.orig/H2O b/tutorials/lagrangian/reactingParcelFoam/splashPanel/0.orig/H2O
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.orig/H2O
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/0.orig/H2O
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.orig/N2 b/tutorials/lagrangian/reactingParcelFoam/splashPanel/0.orig/N2
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.orig/N2
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/0.orig/N2
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.orig/O2 b/tutorials/lagrangian/reactingParcelFoam/splashPanel/0.orig/O2
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.orig/O2
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/0.orig/O2
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.orig/T b/tutorials/lagrangian/reactingParcelFoam/splashPanel/0.orig/T
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.orig/T
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/0.orig/T
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.orig/U b/tutorials/lagrangian/reactingParcelFoam/splashPanel/0.orig/U
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.orig/U
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/0.orig/U
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.orig/p b/tutorials/lagrangian/reactingParcelFoam/splashPanel/0.orig/p
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.orig/p
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/0.orig/p
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.orig/p_rgh b/tutorials/lagrangian/reactingParcelFoam/splashPanel/0.orig/p_rgh
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.orig/p_rgh
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/0.orig/p_rgh
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.orig/wallFilmRegion/Tf b/tutorials/lagrangian/reactingParcelFoam/splashPanel/0.orig/wallFilmRegion/Tf
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.orig/wallFilmRegion/Tf
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/0.orig/wallFilmRegion/Tf
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.orig/wallFilmRegion/Uf b/tutorials/lagrangian/reactingParcelFoam/splashPanel/0.orig/wallFilmRegion/Uf
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.orig/wallFilmRegion/Uf
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/0.orig/wallFilmRegion/Uf
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.orig/wallFilmRegion/deltaf b/tutorials/lagrangian/reactingParcelFoam/splashPanel/0.orig/wallFilmRegion/deltaf
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.orig/wallFilmRegion/deltaf
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/0.orig/wallFilmRegion/deltaf
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/Allclean b/tutorials/lagrangian/reactingParcelFoam/splashPanel/Allclean
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/Allclean
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/Allclean
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/Allrun b/tutorials/lagrangian/reactingParcelFoam/splashPanel/Allrun
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/Allrun
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/Allrun
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/Allrun.pre b/tutorials/lagrangian/reactingParcelFoam/splashPanel/Allrun.pre
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/Allrun.pre
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/Allrun.pre
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/chemistryProperties b/tutorials/lagrangian/reactingParcelFoam/splashPanel/constant/chemistryProperties
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/chemistryProperties
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/constant/chemistryProperties
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/combustionProperties b/tutorials/lagrangian/reactingParcelFoam/splashPanel/constant/combustionProperties
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/combustionProperties
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/constant/combustionProperties
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/foam.dat b/tutorials/lagrangian/reactingParcelFoam/splashPanel/constant/foam.dat
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/foam.dat
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/constant/foam.dat
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/foam.inp b/tutorials/lagrangian/reactingParcelFoam/splashPanel/constant/foam.inp
similarity index 98%
rename from tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/foam.inp
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/constant/foam.inp
index cf67d1ec7cd..fff06b38e5e 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/foam.inp
+++ b/tutorials/lagrangian/reactingParcelFoam/splashPanel/constant/foam.inp
@@ -8,4 +8,3 @@ species
 
 reactions
 {}
-
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/g b/tutorials/lagrangian/reactingParcelFoam/splashPanel/constant/g
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/g
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/constant/g
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/parcelInjectionProperties b/tutorials/lagrangian/reactingParcelFoam/splashPanel/constant/parcelInjectionProperties
similarity index 92%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/parcelInjectionProperties
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/constant/parcelInjectionProperties
index 71d9ef11db6..5776a0c4b4b 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/parcelInjectionProperties
+++ b/tutorials/lagrangian/reactingParcelFoam/splashPanel/constant/parcelInjectionProperties
@@ -16,7 +16,7 @@ FoamFile
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 // (x y z) (u v w) d rho mDot T cp (Y0..Y2) (Yg0..YgN) (Yl0..YlN) (Ys0..YsN)
 (
-    (0.050 0.025 0.09) (0 0 -5) 0.001 1000 0.002 300 4200 (1)
+    (0.050 0.025 0.09) (0 0 -5) 0.001 1000 0.002 300 4200 (0 1 0) () (1) ()
 );
 
 
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/radiationProperties b/tutorials/lagrangian/reactingParcelFoam/splashPanel/constant/radiationProperties
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/radiationProperties
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/constant/radiationProperties
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/reactingCloud1Properties b/tutorials/lagrangian/reactingParcelFoam/splashPanel/constant/reactingCloud1Properties
similarity index 89%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/reactingCloud1Properties
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/constant/reactingCloud1Properties
index ec5b0e3f566..d100cb13a03 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/reactingCloud1Properties
+++ b/tutorials/lagrangian/reactingParcelFoam/splashPanel/constant/reactingCloud1Properties
@@ -74,7 +74,7 @@ subModels
     {
         model1
         {
-            type            reactingLookupTableInjection;
+            type            reactingMultiphaseLookupTableInjection;
             massTotal       0.1;
             parcelBasisType mass;
             SOI             0.01;
@@ -91,10 +91,14 @@ subModels
 
     heatTransferModel none;
 
-    compositionModel singlePhaseMixture;
+    compositionModel singleMixtureFraction;
 
     phaseChangeModel none;
 
+    devolatilisationModel none;
+
+    surfaceReactionModel none;
+
     stochasticCollisionModel none;
 
     surfaceFilmModel thermoSurfaceFilm;
@@ -106,15 +110,24 @@ subModels
         type            rebound;
     }
 
-    singlePhaseMixtureCoeffs
+    singleMixtureFractionCoeffs
     {
         phases
         (
+            gas
+            {
+            }
             liquid
             {
                 H2O          1;
             }
+            solid
+            {
+            }
         );
+        YGasTot0        0;
+        YLiquidTot0     1;
+        YSolidTot0      0;
     }
 
     thermoSurfaceFilmCoeffs
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/surfaceFilmProperties b/tutorials/lagrangian/reactingParcelFoam/splashPanel/constant/surfaceFilmProperties
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/surfaceFilmProperties
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/constant/surfaceFilmProperties
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/thermophysicalProperties b/tutorials/lagrangian/reactingParcelFoam/splashPanel/constant/thermophysicalProperties
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/thermophysicalProperties
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/constant/thermophysicalProperties
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/turbulenceProperties b/tutorials/lagrangian/reactingParcelFoam/splashPanel/constant/turbulenceProperties
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/turbulenceProperties
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/constant/turbulenceProperties
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/createWallFilmRegionPatches.setSet b/tutorials/lagrangian/reactingParcelFoam/splashPanel/createWallFilmRegionPatches.setSet
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/createWallFilmRegionPatches.setSet
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/createWallFilmRegionPatches.setSet
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/blockMeshDict b/tutorials/lagrangian/reactingParcelFoam/splashPanel/system/blockMeshDict
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/blockMeshDict
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/system/blockMeshDict
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/controlDict b/tutorials/lagrangian/reactingParcelFoam/splashPanel/system/controlDict
similarity index 92%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/controlDict
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/system/controlDict
index c0d58ea6710..42ba783f7ea 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/controlDict
+++ b/tutorials/lagrangian/reactingParcelFoam/splashPanel/system/controlDict
@@ -15,9 +15,9 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-application     reactingParcelFilmFoam;
+application     reactingParcelFoam;
 
-startFrom       latestTime; // startTime;
+startFrom       latestTime;
 
 startTime       0;
 
@@ -29,7 +29,7 @@ deltaT          1e-04;
 
 writeControl    adjustableRunTime;
 
-writeInterval   0.02;
+writeInterval   0.01;
 
 purgeWrite      0;
 
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/createPatchDict b/tutorials/lagrangian/reactingParcelFoam/splashPanel/system/createPatchDict
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/createPatchDict
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/system/createPatchDict
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/decomposeParDict b/tutorials/lagrangian/reactingParcelFoam/splashPanel/system/decomposeParDict
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/decomposeParDict
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/system/decomposeParDict
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/extrudeToRegionMeshDict b/tutorials/lagrangian/reactingParcelFoam/splashPanel/system/extrudeToRegionMeshDict
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/extrudeToRegionMeshDict
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/system/extrudeToRegionMeshDict
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/fvSchemes b/tutorials/lagrangian/reactingParcelFoam/splashPanel/system/fvSchemes
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/fvSchemes
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/system/fvSchemes
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/fvSolution b/tutorials/lagrangian/reactingParcelFoam/splashPanel/system/fvSolution
similarity index 97%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/fvSolution
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/system/fvSolution
index aaee5a108a8..275f303fc82 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/fvSolution
+++ b/tutorials/lagrangian/reactingParcelFoam/splashPanel/system/fvSolution
@@ -89,10 +89,6 @@ PIMPLE
 
 relaxationFactors
 {
-    fields
-    {
-        ".*"       1;
-    }
     equations
     {
         ".*"       1;
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/wallFilmRegion.topoSet b/tutorials/lagrangian/reactingParcelFoam/splashPanel/system/wallFilmRegion.topoSet
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/wallFilmRegion.topoSet
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/system/wallFilmRegion.topoSet
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/wallFilmRegion/createPatchDict b/tutorials/lagrangian/reactingParcelFoam/splashPanel/system/wallFilmRegion/createPatchDict
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/wallFilmRegion/createPatchDict
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/system/wallFilmRegion/createPatchDict
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/wallFilmRegion/createWallFilmRegionPatches.topoSet b/tutorials/lagrangian/reactingParcelFoam/splashPanel/system/wallFilmRegion/createWallFilmRegionPatches.topoSet
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/wallFilmRegion/createWallFilmRegionPatches.topoSet
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/system/wallFilmRegion/createWallFilmRegionPatches.topoSet
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/wallFilmRegion/fvSchemes b/tutorials/lagrangian/reactingParcelFoam/splashPanel/system/wallFilmRegion/fvSchemes
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/wallFilmRegion/fvSchemes
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/system/wallFilmRegion/fvSchemes
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/wallFilmRegion/fvSolution b/tutorials/lagrangian/reactingParcelFoam/splashPanel/system/wallFilmRegion/fvSolution
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/wallFilmRegion/fvSolution
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/system/wallFilmRegion/fvSolution
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/wallFilmRegion.setSet b/tutorials/lagrangian/reactingParcelFoam/splashPanel/wallFilmRegion.setSet
similarity index 100%
rename from tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/wallFilmRegion.setSet
rename to tutorials/lagrangian/reactingParcelFoam/splashPanel/wallFilmRegion.setSet
diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/0.orig/p b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/0.orig/p
index bef7aaa77ad..bdfaddaedb1 100644
--- a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/0.orig/p
+++ b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/0.orig/p
@@ -31,20 +31,23 @@ boundaryField
     }
     inletCentral
     {
-        type            zeroGradient;
+        type            calculated;
+        value           $internalField;
     }
     inletSides
     {
-        type            zeroGradient;
+        type            calculated;
+        value           $internalField;
     }
     outlet
     {
-        type            fixedValue;
-        value           uniform 100000;
+        type            calculated;
+        value           $internalField;
     }
     walls
     {
-        type            zeroGradient;
+        type            calculated;
+        value           $internalField;
     }
 }
 
diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/0.orig/p_rgh b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/0.orig/p_rgh
new file mode 100644
index 00000000000..462a0fa1054
--- /dev/null
+++ b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/0.orig/p_rgh
@@ -0,0 +1,57 @@
+/*--------------------------------*- 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      p_rgh;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   uniform 100000;
+
+boundaryField
+{
+    back
+    {
+        type            symmetryPlane;
+    }
+
+    front
+    {
+        type            symmetryPlane;
+    }
+
+    inletCentral
+    {
+        type            fixedFluxPressure;
+    }
+
+    inletSides
+    {
+        type            fixedFluxPressure;
+    }
+
+    outlet
+    {
+        type            prghPressure;
+        p               uniform 100000;
+    }
+
+    walls
+    {
+        type            fixedFluxPressure;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/system/fvSolution b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/system/fvSolution
index c2d01dbf6d2..59c7dfc7c1c 100644
--- a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/system/fvSolution
+++ b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/system/fvSolution
@@ -17,68 +17,61 @@ FoamFile
 
 solvers
 {
-    rho
+    "rho.*"
     {
-        solver          PCG;
-        preconditioner  DIC;
-        tolerance       1e-05;
-        relTol          0.1;
+        solver          diagonal;
     }
 
-    rhoFinal
+    p_rgh
     {
-        $rho;
-        tolerance       1e-05;
-        relTol          0;
-    }
+        solver          GAMG;
+        smoother        DICGaussSeidel;
 
-    "(U|k|omega)"
-    {
-        solver          smoothSolver;
-        smoother        symGaussSeidel;
-        tolerance       1e-06;
-        relTol          0.1;
+        tolerance       1e-6;
+        relTol          0.05;
     }
 
-    "(U|k|omega)Final"
+    p_rghFinal
     {
-        $U;
-        tolerance       1e-06;
+        $p_rgh;
         relTol          0;
     }
 
-    p
+    Phi
     {
-        solver          GAMG;
-        tolerance       0;
-        relTol          0.05;
-        smoother        DICGaussSeidel;
+        $p_rgh;
     }
 
-    pFinal
+    "(U|k|omega)"
     {
-        $p;
-        tolerance       1e-06;
-        relTol          0;
+        solver          smoothSolver;
+        smoother        symGaussSeidel;
+
+        tolerance       1e-6;
+        relTol          0.1;
     }
 
-    Phi
+    "(U|k|omega)Final"
     {
-        $p;
+        $U;
+        relTol          0;
     }
 
     "(Yi|O2|N2|H2O)"
     {
         solver          PBiCGStab;
         preconditioner  DILU;
+
         tolerance       1e-6;
         relTol          0;
     }
+
     h
     {
         $Yi;
         relTol          0.1;
     }
+
     hFinal
     {
         $Yi;
@@ -93,11 +86,13 @@ potentialFlow
 
 PIMPLE
 {
-    transonic       no;
     nOuterCorrectors 1;
     nCorrectors     3;
     nNonOrthogonalCorrectors 0;
     momentumPredictor yes;
+
+    pMaxFactor          1.5;
+    pMinFactor          0.9;
 }
 
 relaxationFactors
diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/0.orig/U b/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/0.orig/U
index f82a26ecb6f..94f4db39480 100644
--- a/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/0.orig/U
+++ b/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/0.orig/U
@@ -33,15 +33,14 @@ boundaryField
     {
         type            flowRateInletVelocity;
         massFlowRate    constant 0.00379;
-        rhoInlet        1.22;
         value           uniform (0 14.68 0);
+        rhoInlet        1.22;    // fallback value for e.g. potentialFoam
     }
     inletSides
     {
         type            flowRateInletVelocity;
         massFlowRate    constant 0.00832;
-        rhoInlet        1.22;
-        value           uniform (0 17.79 0);
+        rhoInlet        1.22;    // fallback value for e.g. potentialFoam
     }
     outlet
     {
diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/0.orig/p b/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/0.orig/p
index bef7aaa77ad..bdfaddaedb1 100644
--- a/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/0.orig/p
+++ b/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/0.orig/p
@@ -31,20 +31,23 @@ boundaryField
     }
     inletCentral
     {
-        type            zeroGradient;
+        type            calculated;
+        value           $internalField;
     }
     inletSides
     {
-        type            zeroGradient;
+        type            calculated;
+        value           $internalField;
     }
     outlet
     {
-        type            fixedValue;
-        value           uniform 100000;
+        type            calculated;
+        value           $internalField;
     }
     walls
     {
-        type            zeroGradient;
+        type            calculated;
+        value           $internalField;
     }
 }
 
diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/0.orig/p_rgh b/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/0.orig/p_rgh
new file mode 100644
index 00000000000..bab3fe3b901
--- /dev/null
+++ b/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/0.orig/p_rgh
@@ -0,0 +1,57 @@
+/*--------------------------------*- 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      p_rgh;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   uniform 100000;
+
+boundaryField
+{
+    back
+    {
+        type            symmetryPlane;
+    }
+
+    front
+    {
+        type            symmetryPlane;
+    }
+
+    inletCentral
+    {
+        type            zeroGradient;
+    }
+
+    inletSides
+    {
+        type            zeroGradient;
+    }
+
+    outlet
+    {
+        type            prghPressure;
+        p               uniform 100000;
+    }
+
+    walls
+    {
+        type            zeroGradient;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/system/fvSchemes b/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/system/fvSchemes
index 9dcec905c6a..50a58cafb6f 100644
--- a/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/system/fvSchemes
+++ b/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/system/fvSchemes
@@ -23,7 +23,6 @@ ddtSchemes
 gradSchemes
 {
     default         Gauss linear;
-    grad(p)         Gauss linear;
 }
 
 divSchemes
@@ -31,7 +30,7 @@ divSchemes
     default         none;
     div(phi,U)      Gauss upwind;
     div(phid,p)     Gauss upwind;
-    div(phi,K)      Gauss linear;
+    div(phi,K)      Gauss upwind;
     div(phi,h)     Gauss upwind;
     div(phi,k)      Gauss upwind;
     div(phi,epsilon) Gauss upwind;
diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/system/fvSolution b/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/system/fvSolution
index 4471858fd9a..56272e8c071 100644
--- a/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/system/fvSolution
+++ b/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/system/fvSolution
@@ -22,27 +22,28 @@ solvers
         solver          PCG;
         preconditioner  DIC;
         tolerance       0;
-        relTol          0.1;
+        relTol          0;
     }
 
-    p
+    p_rgh
     {
         solver           GAMG;
-
-        tolerance        0;
-        relTol           0.05;
-
         smoother         DICGaussSeidel;
 
-
+        tolerance        1e-6;
+        relTol           0.05;
 
         maxIter          50;
     };
 
-    pFinal
+    p_rghFinal
     {
-        $p;
-        tolerance        1e-4;
+        $p_rgh;
+    }
+
+    Phi
+    {
+        $p_rgh;
     }
 
     "(U|Yi|h|k|omega|.*Final)"
@@ -61,14 +62,21 @@ solvers
 
 }
 
+potentialFlow
+{
+    // Used for potentialFoam initialisation
+    nNonOrthogonalCorrectors 5;
+}
+
 PIMPLE
 {
-    nOuterCorrectors 1;
-    nCorrectors     2;
+    nOuterCorrectors    1;
+    nCorrectors         2;
     nNonOrthogonalCorrectors 0;
-    momentumPredictor yes;
-    rhoMin          0.1;
-    rhoMax          1.5;
+    momentumPredictor   yes;
+
+    pMaxFactor          1.5;
+    pMinFactor          0.9;
 
     maxCo           2.5;
     rDeltaTSmoothingCoeff 0.5;
-- 
GitLab