diff --git a/src/postProcessing/functionObjects/jobControl/Make/files b/src/postProcessing/functionObjects/jobControl/Make/files
index 03a93b6bf1..c86cc727f6 100644
--- a/src/postProcessing/functionObjects/jobControl/Make/files
+++ b/src/postProcessing/functionObjects/jobControl/Make/files
@@ -1,7 +1,4 @@
abortCalculation/abortCalculation.C
abortCalculation/abortCalculationFunctionObject.C
-residualControl/residualControl.C
-residualControl/residualControlFunctionObject.C
-
LIB = $(FOAM_LIBBIN)/libjobControl
diff --git a/src/postProcessing/functionObjects/jobControl/residualControl/IOresidualControl.H b/src/postProcessing/functionObjects/jobControl/residualControl/IOresidualControl.H
deleted file mode 100644
index 8a2b3bfed1..0000000000
--- a/src/postProcessing/functionObjects/jobControl/residualControl/IOresidualControl.H
+++ /dev/null
@@ -1,49 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration |
- \\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd.
- \\/ 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 .
-
-Typedef
- Foam::IOresidualControl
-
-Description
- Instance of the generic IOOutputFilter for residualControl.
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef IOresidualControl_H
-#define IOresidualControl_H
-
-#include "residualControl.H"
-#include "IOOutputFilter.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
- typedef IOOutputFilter IOresidualControl;
-}
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/postProcessing/functionObjects/jobControl/residualControl/controlDict b/src/postProcessing/functionObjects/jobControl/residualControl/controlDict
deleted file mode 100644
index dcecfd0285..0000000000
--- a/src/postProcessing/functionObjects/jobControl/residualControl/controlDict
+++ /dev/null
@@ -1,68 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| ========= | |
-| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
-| \\ / O peration | Version: dev |
-| \\ / A nd | Web: www.OpenFOAM.com |
-| \\/ M anipulation | |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
- version 2.0;
- format ascii;
- class dictionary;
- location "system";
- object controlDict;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-application icoFoam;
-
-startFrom startTime;
-
-startTime 0;
-
-stopAt endTime;
-
-endTime 0.5;
-
-deltaT 0.005;
-
-writeControl timeStep;
-
-writeInterval 20;
-
-purgeWrite 0;
-
-writeFormat ascii;
-
-writePrecision 6;
-
-writeCompression off;
-
-timeFormat general;
-
-timePrecision 6;
-
-runTimeModifiable true;
-
-functions
-{
- convergenceChecks
- {
- type residualControl;
- functionObjectLibs ( "libjobControl.so" );
- outputControl timeStep;
- outputInterval 1;
-
- maxResiduals
- {
- p 5e-4;
- U 1e-3;
-
- // possibly check turbulence fields
- "(k|epsilon|omega)" 1e-3;
- }
- }
-}
-
-// ************************************************************************* //
diff --git a/src/postProcessing/functionObjects/jobControl/residualControl/residualControl.C b/src/postProcessing/functionObjects/jobControl/residualControl/residualControl.C
deleted file mode 100644
index b8205f8624..0000000000
--- a/src/postProcessing/functionObjects/jobControl/residualControl/residualControl.C
+++ /dev/null
@@ -1,173 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration |
- \\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd.
- \\/ 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 .
-
-\*---------------------------------------------------------------------------*/
-
-#include "residualControl.H"
-#include "fvMesh.H"
-#include "Time.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(Foam::residualControl, 0);
-
-
-// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
-
-bool Foam::residualControl::checkCriteria(const bool verbose) const
-{
- bool achieved = true;
- const fvMesh& mesh = static_cast(obr_);
- const dictionary& solverDict = mesh.solverPerformanceDict();
-
- forAllConstIter(dictionary, solverDict, iter)
- {
- const word& variableName = iter().keyword();
- scalar maxResidual;
-
- if (maxResiduals_.readIfPresent(variableName, maxResidual))
- {
- // use the residual from the first solution
- const scalar eqnResidual =
- List
- (
- iter().stream()
- ).first().initialResidual();
-
- achieved = achieved && (eqnResidual < maxResidual);
-
- if (verbose)
- {
- Info<< " " << variableName
- << ": requested max residual = " << maxResidual
- << ", eqn residual = " << eqnResidual << nl;
- }
- }
- }
-
- return achieved;
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
-
-Foam::residualControl::residualControl
-(
- const word& name,
- const objectRegistry& obr,
- const dictionary& dict,
- const bool
-)
-:
- name_(name),
- obr_(obr),
- active_(true),
- maxResiduals_(),
- criteriaSatisfied_(false)
-{
- // Only active if a fvMesh is available
- if (isA(obr_))
- {
- read(dict);
- }
- else
- {
- active_ = false;
- WarningIn
- (
- "residualControl::residualControl"
- "("
- "const word&, "
- "const objectRegistry&, "
- "const dictionary&, "
- "const bool"
- ")"
- ) << "No fvMesh available, deactivating."
- << nl << endl;
- }
-}
-
-
-// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
-
-Foam::residualControl::~residualControl()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
-
-void Foam::residualControl::read(const dictionary& dict)
-{
- if (active_)
- {
- maxResiduals_ = dict.subDict("maxResiduals");
- }
-}
-
-
-void Foam::residualControl::execute()
-{
- if (active_)
- {
- criteriaSatisfied_ = checkCriteria(false);
-
- if (criteriaSatisfied_)
- {
- Info<< "Convergence criteria satisfied - finalising run" << nl
- << endl;
-
- checkCriteria(true);
-
- Info<< endl;
-
- const fvMesh& mesh = static_cast(obr_);
- Time& time = const_cast