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;