diff --git a/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchVectorNFields.C b/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchVectorNFields.C
new file mode 100644
index 000000000..dba29b7b1
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchVectorNFields.C
@@ -0,0 +1,60 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#include "calculatedFvPatchVectorNFields.H"
+#include "fvPatchVectorNFields.H"
+#include "volMesh.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+#define doMakePatchTypeField(type, Type, args...) \
+ \
+makeTemplatePatchTypeField \
+( \
+ fvPatch##Type##Field, \
+ calculatedFvPatch##Type##Field \
+);
+
+forAllVectorNTypes(doMakePatchTypeField)
+
+forAllTensorNTypes(doMakePatchTypeField)
+
+forAllDiagTensorNTypes(doMakePatchTypeField)
+
+forAllSphericalTensorNTypes(doMakePatchTypeField)
+
+#undef doMakePatchTypeField
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchVectorNFields.H b/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchVectorNFields.H
new file mode 100644
index 000000000..83ae25486
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchVectorNFields.H
@@ -0,0 +1,37 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef calculatedFvPatchVectorNFields_H
+#define calculatedFvPatchVectorNFields_H
+
+#include "volVectorNFields.H"
+#include "fvPatchVectorNFields.H"
+
+#include "calculatedFvPatchVectorNFieldsFwd.H"
+#include "calculatedFvPatchField.H"
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchVectorNFieldsFwd.H b/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchVectorNFieldsFwd.H
new file mode 100644
index 000000000..bad94699a
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchVectorNFieldsFwd.H
@@ -0,0 +1,61 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef calculatedFvPatchVectorNFieldsFwd_H
+#define calculatedFvPatchVectorNFieldsFwd_H
+
+#include "VectorNFieldTypes.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+template class calculatedFvPatchField;
+
+#define makeTypedef(type, Type, args...) \
+ typedef calculatedFvPatchField calculatedFvPatch##Type##Field;
+
+forAllVectorNTypes(makeTypedef)
+
+forAllTensorNTypes(makeTypedef)
+
+forAllDiagTensorNTypes(makeTypedef)
+
+forAllSphericalTensorNTypes(makeTypedef)
+
+#undef makeTypedef
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchVectorNFields.C b/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchVectorNFields.C
new file mode 100644
index 000000000..43bdb7d1a
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchVectorNFields.C
@@ -0,0 +1,54 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#include "coupledFvPatchVectorNFields.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+#define doMakePatchTypeField(type, Type, args...) \
+ makePatchTypeFieldTypeName(coupledFvPatch##Type##Field);
+
+forAllVectorNTypes(doMakePatchTypeField)
+
+forAllTensorNTypes(doMakePatchTypeField)
+
+forAllDiagTensorNTypes(doMakePatchTypeField)
+
+forAllSphericalTensorNTypes(doMakePatchTypeField)
+
+
+#undef doMakePatchTypeField
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchVectorNFields.H b/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchVectorNFields.H
new file mode 100644
index 000000000..4b1607094
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchVectorNFields.H
@@ -0,0 +1,38 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef coupledFvPatchVectorNFields_H
+#define coupledFvPatchVectorNFields_H
+
+#include "volVectorNFields.H"
+#include "fvPatchVectorNFields.H"
+
+#include "coupledFvPatchVectorNFieldsFwd.H"
+#include "coupledFvPatchField.H"
+
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchVectorNFieldsFwd.H b/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchVectorNFieldsFwd.H
new file mode 100644
index 000000000..00d6ad871
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchVectorNFieldsFwd.H
@@ -0,0 +1,61 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef coupledFvPatchFieldsFwd_H
+#define coupledFvPatchFieldsFwd_H
+
+#include "VectorNFieldTypes.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+template class coupledFvPatchField;
+
+#define makeTypedef(type, Type, args...) \
+ typedef coupledFvPatchField coupledFvPatch##Type##Field;
+
+forAllVectorNTypes(makeTypedef)
+
+forAllTensorNTypes(makeTypedef)
+
+forAllDiagTensorNTypes(makeTypedef)
+
+forAllSphericalTensorNTypes(makeTypedef)
+
+#undef makeTypedef
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/fixedGradient/fixedGradientFvPatchVectorNFields.C b/src/finiteVolume/fields/fvPatchFields/basic/fixedGradient/fixedGradientFvPatchVectorNFields.C
new file mode 100644
index 000000000..e409c7926
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/basic/fixedGradient/fixedGradientFvPatchVectorNFields.C
@@ -0,0 +1,59 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#include "fixedGradientFvPatchVectorNFields.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+#define doMakePatchTypeField(type, Type, args...) \
+ \
+makeTemplatePatchTypeField \
+( \
+ fvPatch##Type##Field, \
+ fixedGradientFvPatch##Type##Field \
+);
+
+forAllVectorNTypes(doMakePatchTypeField)
+
+forAllTensorNTypes(doMakePatchTypeField)
+
+forAllDiagTensorNTypes(doMakePatchTypeField)
+
+forAllSphericalTensorNTypes(doMakePatchTypeField)
+
+
+#undef doMakePatchTypeField
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/fixedGradient/fixedGradientFvPatchVectorNFields.H b/src/finiteVolume/fields/fvPatchFields/basic/fixedGradient/fixedGradientFvPatchVectorNFields.H
new file mode 100644
index 000000000..371c1eb44
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/basic/fixedGradient/fixedGradientFvPatchVectorNFields.H
@@ -0,0 +1,39 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef fixedGradientFvPatchVectorNFields_H
+#define fixedGradientFvPatchVectorNFields_H
+
+#include "volVectorNFields.H"
+#include "fvPatchVectorNFields.H"
+
+#include "fixedGradientFvPatchVectorNFieldsFwd.H"
+#include "fixedGradientFvPatchField.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/fixedGradient/fixedGradientFvPatchVectorNFieldsFwd.H b/src/finiteVolume/fields/fvPatchFields/basic/fixedGradient/fixedGradientFvPatchVectorNFieldsFwd.H
new file mode 100644
index 000000000..dcf648d35
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/basic/fixedGradient/fixedGradientFvPatchVectorNFieldsFwd.H
@@ -0,0 +1,61 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef fixedGradientFvPatchVectorNFieldsFwd_H
+#define fixedGradientFvPatchVectorNFieldsFwd_H
+
+#include "VectorNFieldTypes.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+template class fixedGradientFvPatchField;
+
+#define makeTypedef(type, Type, args...) \
+ typedef fixedGradientFvPatchField fixedGradientFvPatch##Type##Field;
+
+forAllVectorNTypes(makeTypedef)
+
+forAllTensorNTypes(makeTypedef)
+
+forAllDiagTensorNTypes(makeTypedef)
+
+forAllSphericalTensorNTypes(makeTypedef)
+
+#undef makeTypedef
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchVectorNFields.C b/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchVectorNFields.C
new file mode 100644
index 000000000..c589217c3
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchVectorNFields.C
@@ -0,0 +1,59 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#include "fixedValueFvPatchVectorNFields.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+#define doMakePatchTypeField(type, Type, args...) \
+ \
+makeTemplatePatchTypeField \
+( \
+ fvPatch##Type##Field, \
+ fixedValueFvPatch##Type##Field \
+);
+
+forAllVectorNTypes(doMakePatchTypeField)
+
+forAllTensorNTypes(doMakePatchTypeField)
+
+forAllDiagTensorNTypes(doMakePatchTypeField)
+
+forAllSphericalTensorNTypes(doMakePatchTypeField)
+
+
+#undef doMakePatchTypeField
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchVectorNFields.H b/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchVectorNFields.H
new file mode 100644
index 000000000..31358bc57
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchVectorNFields.H
@@ -0,0 +1,39 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef fixedValueFvPatchVectorNFields_H
+#define fixedValueFvPatchVectorNFields_H
+
+#include "volVectorNFields.H"
+#include "fvPatchVectorNFields.H"
+
+#include "fixedValueFvPatchVectorNFieldsFwd.H"
+#include "fixedValueFvPatchField.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchVectorNFieldsFwd.H b/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchVectorNFieldsFwd.H
new file mode 100644
index 000000000..8fa7b0f4d
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchVectorNFieldsFwd.H
@@ -0,0 +1,61 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef fixedValueFvPatchVectorNFieldsFwd_H
+#define fixedValueFvPatchVectorNFieldsFwd_H
+
+#include "VectorNFieldTypes.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+template class fixedValueFvPatchField;
+
+#define makeTypedef(type, Type, args...) \
+ typedef fixedValueFvPatchField fixedValueFvPatch##Type##Field;
+
+forAllVectorNTypes(makeTypedef)
+
+forAllTensorNTypes(makeTypedef)
+
+forAllDiagTensorNTypes(makeTypedef)
+
+forAllSphericalTensorNTypes(makeTypedef)
+
+#undef makeTypedef
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/generic/genericFvPatchVectorNFields.C b/src/finiteVolume/fields/fvPatchFields/basic/generic/genericFvPatchVectorNFields.C
new file mode 100644
index 000000000..6293d8d7b
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/basic/generic/genericFvPatchVectorNFields.C
@@ -0,0 +1,55 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#include "genericFvPatchVectorNFields.H"
+#include "fvPatchVectorNFields.H"
+#include "addToRunTimeSelectionTable.H"
+#include "volVectorNFields.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+#define doMakePatchTypeField(type, Type, args...) \
+ makePatchTypeFieldTypeName(genericFvPatch##Type##Field);
+
+forAllVectorNTypes(doMakePatchTypeField)
+
+forAllTensorNTypes(doMakePatchTypeField)
+
+forAllDiagTensorNTypes(doMakePatchTypeField)
+
+forAllSphericalTensorNTypes(doMakePatchTypeField)
+
+#undef doMakePatchTypeField
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/generic/genericFvPatchVectorNFields.H b/src/finiteVolume/fields/fvPatchFields/basic/generic/genericFvPatchVectorNFields.H
new file mode 100644
index 000000000..3854b1dac
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/basic/generic/genericFvPatchVectorNFields.H
@@ -0,0 +1,60 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef genericFvPatchVectorNFields_H
+#define genericFvPatchVectorNFields_H
+
+#include "genericFvPatchField.H"
+#include "VectorNFieldTypes.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#define doMakeTypedef(type, Type, args...) \
+ typedef genericFvPatchField genericFvPatch##Type##Field;
+
+forAllVectorNTypes(doMakeTypedef)
+
+forAllTensorNTypes(doMakeTypedef)
+
+forAllDiagTensorNTypes(doMakeTypedef)
+
+forAllSphericalTensorNTypes(doMakeTypedef)
+
+#undef doMakeTypedef
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/transform/transformFvPatchVectorNFields.C b/src/finiteVolume/fields/fvPatchFields/basic/transform/transformFvPatchVectorNFields.C
new file mode 100644
index 000000000..90e235ecb
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/basic/transform/transformFvPatchVectorNFields.C
@@ -0,0 +1,53 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#include "transformFvPatchVectorNFields.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
+
+#define makePatch(type, Type, args...) \
+ defineNamedTemplateTypeNameAndDebug(transformFvPatch##Type##Field, 0);
+
+forAllVectorNTypes(makePatch)
+
+forAllTensorNTypes(makePatch)
+
+forAllDiagTensorNTypes(makePatch)
+
+forAllSphericalTensorNTypes(makePatch)
+
+#undef makePatch
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/transform/transformFvPatchVectorNFields.H b/src/finiteVolume/fields/fvPatchFields/basic/transform/transformFvPatchVectorNFields.H
new file mode 100644
index 000000000..7502028ec
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/basic/transform/transformFvPatchVectorNFields.H
@@ -0,0 +1,40 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef transformFvPatchVectorNFields_H
+#define transformFvPatchVectorNFields_H
+
+#include "volVectorNFields.H"
+#include "fvPatchVectorNFields.H"
+#include "VectorNFieldTypes.H"
+
+#include "transformFvPatchVectorNFieldsFwd.H"
+#include "transformFvPatchField.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/transform/transformFvPatchVectorNFieldsFwd.H b/src/finiteVolume/fields/fvPatchFields/basic/transform/transformFvPatchVectorNFieldsFwd.H
new file mode 100644
index 000000000..18ea51b4d
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/basic/transform/transformFvPatchVectorNFieldsFwd.H
@@ -0,0 +1,57 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef transformFvPatchVectorNFieldsFwd_H
+#define transformFvPatchVectorNFieldsFwd_H
+
+#include "VectorNFieldTypes.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+template class transformFvPatchField;
+
+#define makeTypedef(type, Type, args...) \
+ typedef transformFvPatchField transformFvPatch##Type##Field;
+
+forAllVectorNTypes(makeTypedef)
+
+forAllTensorNTypes(makeTypedef)
+
+forAllDiagTensorNTypes(makeTypedef)
+
+forAllSphericalTensorNTypes(makeTypedef)
+
+#undef makeTypedef
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/zeroGradient/zeroGradientFvPatchVectorNFields.C b/src/finiteVolume/fields/fvPatchFields/basic/zeroGradient/zeroGradientFvPatchVectorNFields.C
new file mode 100644
index 000000000..7febe8a72
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/basic/zeroGradient/zeroGradientFvPatchVectorNFields.C
@@ -0,0 +1,59 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#include "zeroGradientFvPatchVectorNFields.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+#define doMakePatchTypeField(type, Type, args...) \
+ \
+makeTemplatePatchTypeField \
+( \
+ fvPatch##Type##Field, \
+ zeroGradientFvPatch##Type##Field \
+);
+
+forAllVectorNTypes(doMakePatchTypeField)
+
+forAllTensorNTypes(doMakePatchTypeField)
+
+forAllDiagTensorNTypes(doMakePatchTypeField)
+
+forAllSphericalTensorNTypes(doMakePatchTypeField)
+
+
+#undef doMakePatchTypeField
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/zeroGradient/zeroGradientFvPatchVectorNFields.H b/src/finiteVolume/fields/fvPatchFields/basic/zeroGradient/zeroGradientFvPatchVectorNFields.H
new file mode 100644
index 000000000..0c561a342
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/basic/zeroGradient/zeroGradientFvPatchVectorNFields.H
@@ -0,0 +1,39 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef zeroGradientFvPatchVectorNFields_H
+#define zeroGradientFvPatchVectorNFields_H
+
+#include "volVectorNFields.H"
+#include "fvPatchVectorNFields.H"
+
+#include "zeroGradientFvPatchVectorNFieldsFwd.H"
+#include "zeroGradientFvPatchField.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/zeroGradient/zeroGradientFvPatchVectorNFieldsFwd.H b/src/finiteVolume/fields/fvPatchFields/basic/zeroGradient/zeroGradientFvPatchVectorNFieldsFwd.H
new file mode 100644
index 000000000..c92168ce6
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/basic/zeroGradient/zeroGradientFvPatchVectorNFieldsFwd.H
@@ -0,0 +1,61 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef zeroGradientFvPatchVectorNFieldsFwd_H
+#define zeroGradientFvPatchVectorNFieldsFwd_H
+
+#include "VectorNFieldTypes.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+template class zeroGradientFvPatchField;
+
+#define makeTypedef(type, Type, args...) \
+ typedef zeroGradientFvPatchField zeroGradientFvPatch##Type##Field;
+
+forAllVectorNTypes(makeTypedef)
+
+forAllTensorNTypes(makeTypedef)
+
+forAllDiagTensorNTypes(makeTypedef)
+
+forAllSphericalTensorNTypes(makeTypedef)
+
+#undef makeTypedef
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchVectorNFields.C b/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchVectorNFields.C
new file mode 100644
index 000000000..7964c104b
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchVectorNFields.C
@@ -0,0 +1,109 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#include "cyclicFvPatchVectorNFields.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
+
+#define VectorNMatrixInterfaceFunc(Type) \
+template<> \
+void cyclicFvPatchField::updateInterfaceMatrix \
+( \
+ const Field& psiInternal, \
+ Field& result, \
+ const BlockLduMatrix&, \
+ const CoeffField& coeffs, \
+ const Pstream::commsTypes commsType, \
+ const bool switchToLhs \
+) const \
+{ \
+ Field pnf(this->size()); \
+ \
+ label sizeby2 = this->size()/2; \
+ const unallocLabelList& faceCells = cyclicPatch_.faceCells(); \
+ \
+ for (label facei=0; facei.
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef cyclicFvPatchVectorNFields_H
+#define cyclicFvPatchVectorNFields_H
+
+#include "volVectorNFields.H"
+#include "fvPatchVectorNFields.H"
+
+#include "cyclicFvPatchVectorNFieldsFwd.H"
+#include "cyclicFvPatchField.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchVectorNFieldsFwd.H b/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchVectorNFieldsFwd.H
new file mode 100644
index 000000000..cb98ea82d
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchVectorNFieldsFwd.H
@@ -0,0 +1,55 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef cyclicFvPatchVectorNFieldsFwd_H
+#define cyclicFvPatchVectorNFieldsFwd_H
+
+#include "VectorNFieldTypes.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+template class cyclicFvPatchField;
+
+#define makeTypedef(type, Type, args...) \
+ typedef cyclicFvPatchField cyclicFvPatch##Type##Field;
+
+forAllVectorNTypes(makeTypedef)
+
+#undef makeTypedef
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchVectorNFields.C b/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchVectorNFields.C
new file mode 100644
index 000000000..68a52f726
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchVectorNFields.C
@@ -0,0 +1,59 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#include "emptyFvPatchVectorNFields.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+#define doMakePatchTypeField(type, Type, args...) \
+ \
+makeTemplatePatchTypeField \
+( \
+ fvPatch##Type##Field, \
+ emptyFvPatch##Type##Field \
+);
+
+forAllVectorNTypes(doMakePatchTypeField)
+
+forAllTensorNTypes(doMakePatchTypeField)
+
+forAllDiagTensorNTypes(doMakePatchTypeField)
+
+forAllSphericalTensorNTypes(doMakePatchTypeField)
+
+
+#undef doMakePatchTypeField
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchVectorNFields.H b/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchVectorNFields.H
new file mode 100644
index 000000000..6d45bb1f7
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchVectorNFields.H
@@ -0,0 +1,39 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef emptyFvPatchVectorNFields_H
+#define emptyFvPatchVectorNFields_H
+
+#include "volVectorNFields.H"
+#include "fvPatchVectorNFields.H"
+
+#include "emptyFvPatchVectorNFieldsFwd.H"
+#include "emptyFvPatchField.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchVectorNFieldsFwd.H b/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchVectorNFieldsFwd.H
new file mode 100644
index 000000000..a461a96ba
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchVectorNFieldsFwd.H
@@ -0,0 +1,61 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef emptyFvPatchVectorNFieldsFwd_H
+#define emptyFvPatchVectorNFieldsFwd_H
+
+#include "VectorNFieldTypes.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+template class emptyFvPatchField;
+
+#define makeTypedef(type, Type, args...) \
+ typedef emptyFvPatchField emptyFvPatch##Type##Field;
+
+forAllVectorNTypes(makeTypedef)
+
+forAllTensorNTypes(makeTypedef)
+
+forAllDiagTensorNTypes(makeTypedef)
+
+forAllSphericalTensorNTypes(makeTypedef)
+
+#undef makeTypedef
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/ggi/ggiFvPatchVectorNFields.C b/src/finiteVolume/fields/fvPatchFields/constraint/ggi/ggiFvPatchVectorNFields.C
new file mode 100644
index 000000000..f06397ce4
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/ggi/ggiFvPatchVectorNFields.C
@@ -0,0 +1,52 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#include "ggiFvPatchVectorNFields.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
+
+#define doMakePatchTypeField(type, Type, args...) \
+ \
+makeTemplatePatchTypeField \
+( \
+ fvPatch##Type##Field, \
+ ggiFvPatch##Type##Field \
+);
+
+forAllVectorNTypes(doMakePatchTypeField)
+
+#undef doMakePatchTypeField
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/ggi/ggiFvPatchVectorNFields.H b/src/finiteVolume/fields/fvPatchFields/constraint/ggi/ggiFvPatchVectorNFields.H
new file mode 100644
index 000000000..563dc690b
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/ggi/ggiFvPatchVectorNFields.H
@@ -0,0 +1,39 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef ggiFvPatchVectorNFields_H
+#define ggiFvPatchVectorNFields_H
+
+#include "volVectorNFields.H"
+#include "fvPatchVectorNFields.H"
+
+#include "ggiFvPatchVectorNFieldsFwd.H"
+#include "ggiFvPatchField.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/ggi/ggiFvPatchVectorNFieldsFwd.H b/src/finiteVolume/fields/fvPatchFields/constraint/ggi/ggiFvPatchVectorNFieldsFwd.H
new file mode 100644
index 000000000..6960d3e4f
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/ggi/ggiFvPatchVectorNFieldsFwd.H
@@ -0,0 +1,55 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef ggiFvPatchVectorNFieldsFwd_H
+#define ggiFvPatchVectorNFieldsFwd_H
+
+#include "VectorNFieldTypes.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+template class ggiFvPatchField;
+
+#define makeTypedef(type, Type, args...) \
+ typedef ggiFvPatchField ggiFvPatch##Type##Field;
+
+forAllVectorNTypes(makeTypedef)
+
+#undef makeTypedef
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchVectorNFields.C b/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchVectorNFields.C
new file mode 100644
index 000000000..a2ae315d9
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchVectorNFields.C
@@ -0,0 +1,52 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#include "processorFvPatchVectorNFields.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
+
+#define doMakePatchTypeField(type, Type, args...) \
+ \
+makeTemplatePatchTypeField \
+( \
+ fvPatch##Type##Field, \
+ processorFvPatch##Type##Field \
+);
+
+forAllVectorNTypes(doMakePatchTypeField)
+
+#undef doMakePatchTypeField
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchVectorNFields.H b/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchVectorNFields.H
new file mode 100644
index 000000000..dd2be6c6d
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchVectorNFields.H
@@ -0,0 +1,39 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef processorFvPatchVectorNFields_H
+#define processorFvPatchVectorNFields_H
+
+#include "volVectorNFields.H"
+#include "fvPatchVectorNFields.H"
+
+#include "processorFvPatchVectorNFieldsFwd.H"
+#include "processorFvPatchField.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchVectorNFieldsFwd.H b/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchVectorNFieldsFwd.H
new file mode 100644
index 000000000..35db68aaa
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchVectorNFieldsFwd.H
@@ -0,0 +1,55 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef processorFvPatchVectorNFieldsFwd_H
+#define processorFvPatchVectorNFieldsFwd_H
+
+#include "VectorNFieldTypes.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+template class processorFvPatchField;
+
+#define makeTypedef(type, Type, args...) \
+ typedef processorFvPatchField processorFvPatch##Type##Field;
+
+forAllVectorNTypes(makeTypedef)
+
+#undef makeTypedef
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchVectorNFields.C b/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchVectorNFields.C
new file mode 100644
index 000000000..9a5df4c36
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchVectorNFields.C
@@ -0,0 +1,99 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#include "wedgeFvPatchVectorNFields.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+#define makeVectorTensorNWedgeFuncDefs(Type) \
+template<> \
+tmp > wedgeFvPatchField::snGrad() const \
+{ \
+ return tmp > \
+ ( \
+ new Field(size(), pTraits::zero) \
+ ); \
+} \
+ \
+template<> \
+void wedgeFvPatchField::evaluate \
+( \
+ const Pstream::commsTypes commsType \
+) \
+{ \
+ if (!updated()) \
+ { \
+ updateCoeffs(); \
+ } \
+ \
+ this->operator==(patchInternalField()); \
+} \
+ \
+template<> \
+tmp > wedgeFvPatchField::snGradTransformDiag() \
+const \
+{ \
+ return tmp > \
+ ( \
+ new Field(this->size(), pTraits::zero) \
+ ); \
+}
+
+
+#define doMakePatchTypeField(type, Type, args...) \
+ \
+makeVectorTensorNWedgeFuncDefs(type) \
+ \
+makeTemplatePatchTypeField \
+( \
+ fvPatch##Type##Field, \
+ wedgeFvPatch##Type##Field \
+);
+
+
+forAllVectorNTypes(doMakePatchTypeField)
+
+forAllTensorNTypes(doMakePatchTypeField)
+
+forAllDiagTensorNTypes(doMakePatchTypeField)
+
+forAllSphericalTensorNTypes(doMakePatchTypeField)
+
+
+#undef doMakePatchTypeField
+
+#undef makeVectorTensorNWedgeFuncDefs
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchVectorNFields.H b/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchVectorNFields.H
new file mode 100644
index 000000000..2f784f37d
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchVectorNFields.H
@@ -0,0 +1,74 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef wedgeFvPatchVectorNFields_H
+#define wedgeFvPatchVectorNFields_H
+
+#include "volVectorNFields.H"
+#include "fvPatchVectorNFields.H"
+
+#include "wedgeFvPatchVectorNFieldsFwd.H"
+#include "wedgeFvPatchField.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#define doMakeVectorTensorNWedgeFuncDefs(type, Type, args...) \
+template<> \
+tmp > wedgeFvPatchField::snGrad() const; \
+ \
+template<> \
+void wedgeFvPatchField::evaluate \
+( \
+ const Pstream::commsTypes commsType \
+); \
+ \
+template<> \
+tmp > \
+wedgeFvPatchField::snGradTransformDiag() const;
+
+forAllVectorNTypes(doMakeVectorTensorNWedgeFuncDefs)
+
+forAllTensorNTypes(doMakeVectorTensorNWedgeFuncDefs)
+
+forAllDiagTensorNTypes(doMakeVectorTensorNWedgeFuncDefs)
+
+forAllSphericalTensorNTypes(doMakeVectorTensorNWedgeFuncDefs)
+
+#undef doMakeVectorTensorNWedgeFuncDefs
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchVectorNFieldsFwd.H b/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchVectorNFieldsFwd.H
new file mode 100644
index 000000000..965d6fb93
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchVectorNFieldsFwd.H
@@ -0,0 +1,61 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef wedgeFvPatchVectorNFieldsFwd_H
+#define wedgeFvPatchVectorNFieldsFwd_H
+
+#include "VectorNFieldTypes.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+template class wedgeFvPatchField;
+
+#define makeTypedef(type, Type, args...) \
+ typedef wedgeFvPatchField wedgeFvPatch##Type##Field;
+
+forAllVectorNTypes(makeTypedef)
+
+forAllTensorNTypes(makeTypedef)
+
+forAllDiagTensorNTypes(makeTypedef)
+
+forAllSphericalTensorNTypes(makeTypedef)
+
+#undef makeTypedef
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchVectorNFields.C b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchVectorNFields.C
new file mode 100644
index 000000000..d65e24086
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchVectorNFields.C
@@ -0,0 +1,68 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#include "fvPatchVectorNFields.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+#define makeFvPatchField(fvPatchTypeField) \
+ \
+defineNamedTemplateTypeNameAndDebug(fvPatchTypeField, 0); \
+template<> \
+debug::debugSwitch \
+fvPatchTypeField::disallowGenericFvPatchField \
+( \
+ "disallowGenericFvPatchField", \
+ 0 \
+); \
+defineTemplateRunTimeSelectionTable(fvPatchTypeField, patch); \
+defineTemplateRunTimeSelectionTable(fvPatchTypeField, patchMapper); \
+defineTemplateRunTimeSelectionTable(fvPatchTypeField, dictionary);
+
+
+#define doMakeFvPatchField(type, Type, args...) \
+ makeFvPatchField(fvPatch##Type##Field)
+
+forAllVectorNTypes(doMakeFvPatchField)
+
+forAllTensorNTypes(doMakeFvPatchField)
+
+forAllDiagTensorNTypes(doMakeFvPatchField)
+
+forAllSphericalTensorNTypes(doMakeFvPatchField)
+
+#undef doMakeFvPatchField
+#undef makeFvPatchField
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchVectorNFields.H b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchVectorNFields.H
new file mode 100644
index 000000000..b57d13159
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchVectorNFields.H
@@ -0,0 +1,37 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef fvPatchVectorNFields_H
+#define fvPatchVectorNFields_H
+
+#include "fvPatchVectorNFieldsFwd.H"
+#include "fvPatchField.H"
+#include "fvPatchFieldsFwd.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchVectorNFieldsFwd.H b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchVectorNFieldsFwd.H
new file mode 100644
index 000000000..a3be3f496
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchVectorNFieldsFwd.H
@@ -0,0 +1,61 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | foam-extend: Open Source CFD
+ \\ / O peration | Version: 3.2
+ \\ / A nd | Web: http://www.foam-extend.org
+ \\/ M anipulation | For copyright notice see file Copyright
+-------------------------------------------------------------------------------
+License
+ This file is part of foam-extend.
+
+ foam-extend 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.
+
+ foam-extend 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 foam-extend. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef fvPatchVectorNFieldsFwd_H
+#define fvPatchVectorNFieldsFwd_H
+
+#include "VectorNFieldTypes.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+template class fvPatchField;
+
+#define doMakeTypedef(type, Type, args...) \
+ typedef fvPatchField fvPatch##Type##Field;
+
+forAllVectorNTypes(doMakeTypedef)
+
+forAllTensorNTypes(doMakeTypedef)
+
+forAllDiagTensorNTypes(doMakeTypedef)
+
+forAllSphericalTensorNTypes(doMakeTypedef)
+
+#undef doMakeTypedef
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //