diff --git a/src/finiteVolume/Make/files b/src/finiteVolume/Make/files
index 521ac3647b..a99d3e3a31 100644
--- a/src/finiteVolume/Make/files
+++ b/src/finiteVolume/Make/files
@@ -183,6 +183,7 @@ $(derivedFvPatchFields)/turbulentIntensityKineticEnergyInlet/turbulentIntensityK
$(derivedFvPatchFields)/uniformDensityHydrostaticPressure/uniformDensityHydrostaticPressureFvPatchScalarField.C
$(derivedFvPatchFields)/uniformFixedGradient/uniformFixedGradientFvPatchFields.C
$(derivedFvPatchFields)/uniformFixedValue/uniformFixedValueFvPatchFields.C
+$(derivedFvPatchFields)/uniformInletOutlet/uniformInletOutletFvPatchFields.C
$(derivedFvPatchFields)/uniformJump/uniformJumpFvPatchFields.C
$(derivedFvPatchFields)/uniformJumpAMI/uniformJumpAMIFvPatchFields.C
$(derivedFvPatchFields)/uniformTotalPressure/uniformTotalPressureFvPatchScalarField.C
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchField.C
new file mode 100644
index 0000000000..7b5f58a2d0
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchField.C
@@ -0,0 +1,216 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with OpenFOAM. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#include "uniformInletOutletFvPatchField.H"
+
+// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
+
+template
+Foam::uniformInletOutletFvPatchField::uniformInletOutletFvPatchField
+(
+ const fvPatch& p,
+ const DimensionedField& iF
+)
+:
+ mixedFvPatchField(p, iF),
+ phiName_("phi")
+{
+ this->refValue() = pTraits::zero;
+ this->refGrad() = pTraits::zero;
+ this->valueFraction() = 0.0;
+}
+
+
+template
+Foam::uniformInletOutletFvPatchField::uniformInletOutletFvPatchField
+(
+ const uniformInletOutletFvPatchField& ptf,
+ const fvPatch& p,
+ const DimensionedField& iF,
+ const fvPatchFieldMapper& mapper
+)
+:
+ mixedFvPatchField(p, iF),
+ phiName_(ptf.phiName_),
+ uniformInletValue_(ptf.uniformInletValue_, false)
+{
+ this->patchType() = ptf.patchType();
+
+ // For safety re-evaluate
+ const scalar t = this->db().time().timeOutputValue();
+ this->refValue() = uniformInletValue_->value(t);
+ this->refGrad() = pTraits::zero;
+ this->valueFraction() = 0.0;
+
+ // Map value (unmapped get refValue)
+ if (&iF && iF.size())
+ {
+ fvPatchField::operator=(this->refValue());
+ }
+ this->map(ptf, mapper);
+
+}
+
+
+template
+Foam::uniformInletOutletFvPatchField::uniformInletOutletFvPatchField
+(
+ const fvPatch& p,
+ const DimensionedField& iF,
+ const dictionary& dict
+)
+:
+ mixedFvPatchField(p, iF),
+ phiName_(dict.lookupOrDefault("phi", "phi")),
+ uniformInletValue_(DataEntry::New("uniformInletValue", dict))
+{
+ const scalar t = this->db().time().timeOutputValue();
+ this->refValue() = uniformInletValue_->value(t);
+
+ if (dict.found("value"))
+ {
+ fvPatchField::operator=
+ (
+ Field("value", dict, p.size())
+ );
+ }
+ else
+ {
+ fvPatchField::operator=(this->refValue());
+ }
+
+ this->refGrad() = pTraits::zero;
+ this->valueFraction() = 0.0;
+}
+
+
+template
+Foam::uniformInletOutletFvPatchField::uniformInletOutletFvPatchField
+(
+ const uniformInletOutletFvPatchField& ptf
+)
+:
+ mixedFvPatchField(ptf),
+ phiName_(ptf.phiName_),
+ uniformInletValue_(ptf.uniformInletValue_, false)
+{}
+
+
+template
+Foam::uniformInletOutletFvPatchField::uniformInletOutletFvPatchField
+(
+ const uniformInletOutletFvPatchField& ptf,
+ const DimensionedField& iF
+)
+:
+ mixedFvPatchField(ptf, iF),
+ phiName_(ptf.phiName_),
+ uniformInletValue_(ptf.uniformInletValue_, false)
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
+
+template
+void Foam::uniformInletOutletFvPatchField::updateCoeffs()
+{
+ if (this->updated())
+ {
+ return;
+ }
+
+ const Field& phip =
+ this->patch().template lookupPatchField
+ (
+ phiName_
+ );
+
+ this->valueFraction() = 1.0 - pos(phip);
+
+ mixedFvPatchField::updateCoeffs();
+}
+
+
+template
+void Foam::uniformInletOutletFvPatchField::write(Ostream& os) const
+{
+ fvPatchField::write(os);
+ if (phiName_ != "phi")
+ {
+ os.writeKeyword("phi") << phiName_ << token::END_STATEMENT << nl;
+ }
+ this->uniformInletValue_->writeData(os);
+ this->writeEntry("value", os);
+}
+
+
+// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
+
+template
+void Foam::uniformInletOutletFvPatchField::autoMap
+(
+ const fvPatchFieldMapper& m
+)
+{
+ mixedFvPatchField::autoMap(m);
+
+ // Override
+ const scalar t = this->db().time().timeOutputValue();
+ this->refValue() = uniformInletValue_->value(t);
+}
+
+
+template
+void Foam::uniformInletOutletFvPatchField::rmap
+(
+ const fvPatchField& ptf,
+ const labelList& addr
+)
+{
+ mixedFvPatchField::rmap(ptf, addr);
+
+ // Override
+ const scalar t = this->db().time().timeOutputValue();
+ this->refValue() = uniformInletValue_->value(t);
+}
+
+
+// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
+
+template
+void Foam::uniformInletOutletFvPatchField::operator=
+(
+ const fvPatchField& ptf
+)
+{
+ fvPatchField::operator=
+ (
+ this->valueFraction()*this->refValue()
+ + (1 - this->valueFraction())*ptf
+ );
+}
+
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchField.H
new file mode 100644
index 0000000000..cc9e2d0a9d
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchField.H
@@ -0,0 +1,214 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with OpenFOAM. If not, see .
+
+Class
+ Foam::uniformInletOutletFvPatchField
+
+Group
+ grpOutletBoundaryConditions
+
+Description
+ Variant of inletOutlet boundary condition with uniform inletValue.
+
+ \heading Patch usage
+
+ \table
+ Property | Description | Required | Default value
+ phi | flux field name | no | phi
+ uniformInletValue | inlet value for reverse flow | yes |
+ \endtable
+
+ Example of the boundary condition specification:
+ \verbatim
+ myPatch
+ {
+ type uniformInletOutlet;
+ phi phi;
+ uniformInletValue 0;
+ value uniform 0;
+ }
+ \endverbatim
+
+ The mode of operation is determined by the sign of the flux across the
+ patch faces.
+
+Note
+ Sign conventions:
+ - positive flux (out of domain): apply zero-gradient condition
+ - negative flux (into of domain): apply the user-specified fixed value
+
+SeeAlso
+ Foam::inletOutletFvPatchField
+
+SourceFiles
+ uniformInletOutletFvPatchField.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef uniformInletOutletFvPatchField_H
+#define uniformInletOutletFvPatchField_H
+
+#include "mixedFvPatchField.H"
+#include "DataEntry.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+/*---------------------------------------------------------------------------*\
+ Class uniformInletOutletFvPatchField Declaration
+\*---------------------------------------------------------------------------*/
+
+template
+class uniformInletOutletFvPatchField
+:
+ public mixedFvPatchField
+{
+
+protected:
+
+ // Protected data
+
+ //- Name of flux field
+ word phiName_;
+
+ //- Value
+ autoPtr > uniformInletValue_;
+
+
+public:
+
+ //- Runtime type information
+ TypeName("uniformInletOutlet");
+
+
+ // Constructors
+
+ //- Construct from patch and internal field
+ uniformInletOutletFvPatchField
+ (
+ const fvPatch&,
+ const DimensionedField&
+ );
+
+ //- Construct from patch, internal field and dictionary
+ uniformInletOutletFvPatchField
+ (
+ const fvPatch&,
+ const DimensionedField&,
+ const dictionary&
+ );
+
+ //- Construct by mapping given uniformInletOutletFvPatchField
+ // onto a new patch
+ uniformInletOutletFvPatchField
+ (
+ const uniformInletOutletFvPatchField&,
+ const fvPatch&,
+ const DimensionedField&,
+ const fvPatchFieldMapper&
+ );
+
+ //- Construct as copy
+ uniformInletOutletFvPatchField
+ (
+ const uniformInletOutletFvPatchField&
+ );
+
+ //- Construct and return a clone
+ virtual tmp > clone() const
+ {
+ return tmp >
+ (
+ new uniformInletOutletFvPatchField(*this)
+ );
+ }
+
+ //- Construct as copy setting internal field reference
+ uniformInletOutletFvPatchField
+ (
+ const uniformInletOutletFvPatchField&,
+ const DimensionedField&
+ );
+
+ //- Construct and return a clone setting internal field reference
+ virtual tmp > clone
+ (
+ const DimensionedField& iF
+ ) const
+ {
+ return tmp >
+ (
+ new uniformInletOutletFvPatchField(*this, iF)
+ );
+ }
+
+
+ // Mapping functions
+
+ //- Map (and resize as needed) from self given a mapping object
+ virtual void autoMap
+ (
+ const fvPatchFieldMapper&
+ );
+
+ //- Reverse map the given fvPatchField onto this fvPatchField
+ virtual void rmap
+ (
+ const fvPatchField&,
+ const labelList&
+ );
+
+
+ // Member functions
+
+ //- Update the coefficients associated with the patch field
+ virtual void updateCoeffs();
+
+ //- Write
+ virtual void write(Ostream&) const;
+
+
+ // Member operators
+
+ virtual void operator=(const fvPatchField& pvf);
+
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#ifdef NoRepository
+# include "uniformInletOutletFvPatchField.C"
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchFields.C b/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchFields.C
new file mode 100644
index 0000000000..c34bd1caff
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchFields.C
@@ -0,0 +1,44 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with OpenFOAM. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#include "volFields.H"
+#include "surfaceFields.H"
+#include "uniformInletOutletFvPatchFields.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+makePatchFields(uniformInletOutlet);
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchFields.H b/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchFields.H
new file mode 100644
index 0000000000..940749210b
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchFields.H
@@ -0,0 +1,49 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with OpenFOAM. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef uniformInletOutletFvPatchFields_H
+#define uniformInletOutletFvPatchFields_H
+
+#include "uniformInletOutletFvPatchField.H"
+#include "fieldTypes.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+makePatchTypeFieldTypedefs(uniformInletOutlet);
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchFieldsFwd.H b/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchFieldsFwd.H
new file mode 100644
index 0000000000..71f272a479
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchFieldsFwd.H
@@ -0,0 +1,50 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with OpenFOAM. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef uniformInletOutletFvPatchFieldsFwd_H
+#define uniformInletOutletFvPatchFieldsFwd_H
+
+#include "fieldTypes.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+template class uniformInletOutletFvPatchField;
+
+makePatchTypeFieldTypedefs(uniformInletOutlet);
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/applications/utilities/mesh/manipulation/orientFaceZone/patchFaceOrientation.C b/src/mesh/autoMesh/autoHexMesh/meshRefinement/patchFaceOrientation.C
similarity index 100%
rename from applications/utilities/mesh/manipulation/orientFaceZone/patchFaceOrientation.C
rename to src/mesh/autoMesh/autoHexMesh/meshRefinement/patchFaceOrientation.C
diff --git a/applications/utilities/mesh/manipulation/orientFaceZone/patchFaceOrientation.H b/src/mesh/autoMesh/autoHexMesh/meshRefinement/patchFaceOrientation.H
similarity index 100%
rename from applications/utilities/mesh/manipulation/orientFaceZone/patchFaceOrientation.H
rename to src/mesh/autoMesh/autoHexMesh/meshRefinement/patchFaceOrientation.H
diff --git a/applications/utilities/mesh/manipulation/orientFaceZone/patchFaceOrientationI.H b/src/mesh/autoMesh/autoHexMesh/meshRefinement/patchFaceOrientationI.H
similarity index 100%
rename from applications/utilities/mesh/manipulation/orientFaceZone/patchFaceOrientationI.H
rename to src/mesh/autoMesh/autoHexMesh/meshRefinement/patchFaceOrientationI.H