From d98efdbcb30a7783dcd294ef7385f78c7e7f4d09 Mon Sep 17 00:00:00 2001 From: Henry Weller Date: Tue, 3 Mar 2020 09:07:15 +0000 Subject: [PATCH] SlicedGeometricField: Include empty patches in the splice function for consistency with slicing. --- .../SlicedGeometricField.C | 34 ++++++++++++++----- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/src/OpenFOAM/fields/GeometricFields/SlicedGeometricField/SlicedGeometricField.C b/src/OpenFOAM/fields/GeometricFields/SlicedGeometricField/SlicedGeometricField.C index 936dc96fa2..56050d4cd5 100644 --- a/src/OpenFOAM/fields/GeometricFields/SlicedGeometricField/SlicedGeometricField.C +++ b/src/OpenFOAM/fields/GeometricFields/SlicedGeometricField/SlicedGeometricField.C @@ -416,9 +416,9 @@ splice() const label completeSize = GeoMesh::size(mesh); - forAll(mesh.boundary(), patchi) + forAll(mesh.boundaryMesh(), patchi) { - completeSize += mesh.boundary()[patchi].size(); + completeSize += mesh.boundaryMesh()[patchi].size(); } tmp> tCompleteField(new Field(completeSize)); @@ -429,16 +429,32 @@ splice() const label start = GeoMesh::size(mesh); - forAll(mesh.boundary(), patchi) + forAll(mesh.boundaryMesh(), patchi) { - typename Field::subField + if ( - completeField, - mesh.boundary()[patchi].size(), - start - ) = this->boundaryField()[patchi]; + mesh.boundary()[patchi].size() + == mesh.boundaryMesh()[patchi].size() + ) + { + typename Field::subField + ( + completeField, + mesh.boundary()[patchi].size(), + start + ) = this->boundaryField()[patchi]; + } + else + { + typename Field::subField + ( + completeField, + mesh.boundaryMesh()[patchi].size(), + start + ) = Zero; + } - start += mesh.boundary()[patchi].size(); + start += mesh.boundaryMesh()[patchi].size(); } return tCompleteField;