Skip to content
Snippets Groups Projects
Commit d04c51a6 authored by mattijs's avatar mattijs Committed by Mark OLESEN
Browse files

BUG: faMesh: processors without faMesh. See #1090.

pointNormals calculation gets triggered through processorfvPatches
so on processors that don't have these bypass this. This leads
to the global reduction hanging.
parent cc7cadcf
No related branches found
No related tags found
No related merge requests found
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2018 OpenCFD Ltd. \\ / A nd | Copyright (C) 2018-2019 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
| Copyright (C) 2016-2017 Wikki Ltd | Copyright (C) 2016-2017 Wikki Ltd
...@@ -173,6 +173,12 @@ Foam::faBoundaryMesh::faBoundaryMesh ...@@ -173,6 +173,12 @@ Foam::faBoundaryMesh::faBoundaryMesh
void Foam::faBoundaryMesh::calcGeometry() void Foam::faBoundaryMesh::calcGeometry()
{ {
// processorFaPatch geometry triggers calculation of pointNormals.
// This uses parallel comms and hence will not be trigggered
// on processors that do not have a processorFaPatch so instead
// force construction.
(void)mesh_.pointAreaNormals();
forAll(*this, patchi) forAll(*this, patchi)
{ {
operator[](patchi).initGeometry(); operator[](patchi).initGeometry();
...@@ -377,6 +383,12 @@ bool Foam::faBoundaryMesh::checkDefinition(const bool report) const ...@@ -377,6 +383,12 @@ bool Foam::faBoundaryMesh::checkDefinition(const bool report) const
void Foam::faBoundaryMesh::movePoints(const pointField& p) void Foam::faBoundaryMesh::movePoints(const pointField& p)
{ {
// processorFaPatch geometry triggers calculation of pointNormals.
// This uses parallel comms and hence will not be trigggered
// on processors that do not have a processorFaPatch so instead
// force construction.
(void)mesh_.pointAreaNormals();
faPatchList& patches = *this; faPatchList& patches = *this;
forAll(patches, patchi) forAll(patches, patchi)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment