Commit d7d4a6e8 authored by Mark Olesen's avatar Mark Olesen
Browse files

Merge remote-tracking branch 'origin/develop' into develop

parents d2ccea05 f17e4868
......@@ -3,7 +3,7 @@
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2012-2016 OpenFOAM Foundation
\\/ M anipulation |
\\/ M anipulation | Copyright (C) 2018 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
......@@ -25,7 +25,10 @@ Class
Foam::tetDecomposer
Description
Decomposes polyMesh into tets.
Decomposes polyMesh into tets or pyramids.
Cells neighbouring decomposed cells are not decomposed themselves
so will be polyhedral.
SourceFiles
tetDecomposer.C
......@@ -36,7 +39,7 @@ SourceFiles
#define tetDecomposer_H
#include "DynamicList.H"
#include "bitSet.H"
#include "PackedBoolList.H"
#include "boolList.H"
#include "typeInfo.H"
#include "Enum.H"
......@@ -65,8 +68,8 @@ public:
{
FACE_CENTRE_TRIS, //- Faces decomposed into triangles
// using face-centre
FACE_DIAG_TRIS //- Faces decomposed into triangles diagonally
FACE_DIAG_TRIS, //- Faces decomposed into triangles diagonally
PYRAMID //- Faces not decomposed (generates pyramids)
};
static const Enum<decompositionType> decompositionTypeNames;
......@@ -155,7 +158,7 @@ public:
return cellToPoint_;
}
//- From face to tet point
//- From face to tet point (only for faceCentre)
const labelList& faceToPoint() const
{
return faceToPoint_;
......@@ -163,14 +166,16 @@ public:
//- Per face, per point (faceCentre) or triangle (faceDiag)
// the added tet on the owner side
// the added tet on the owner side. For non-face (pyramid)
// size 1.
const labelListList& faceOwnerCells() const
{
return faceOwnerCells_;
}
//- Per face, per point (faceCentre) or triangle (faceDiag)
// the added tet on the neighbour side
// the added tet on the neighbour side. For non-face (pyramid)
// size 1.
const labelListList& faceNeighbourCells() const
{
return faceNeighbourCells_;
......@@ -184,6 +189,7 @@ public:
void setRefinement
(
const decompositionType decomposeType,
const PackedBoolList& decomposeCell,
polyTopoChange& meshMod
);
......
......@@ -574,7 +574,8 @@ Foam::labelList Foam::localPointRegion::findDuplicateFaces
{
FatalErrorInFunction
<< "Face:" << bFacei + mesh.nInternalFaces()
<< " has local points:" << f
<< " has local points:" << f << " at:"
<< UIndirectList<point>(allPatch.localPoints(), f)
<< " which are in same order as face:"
<< otherFacei + mesh.nInternalFaces()
<< " with local points:" << otherF
......@@ -597,7 +598,8 @@ Foam::labelList Foam::localPointRegion::findDuplicateFaces
<< "This means that three or more faces share"
<< " the same points and this is illegal." << nl
<< "Face:" << meshFace0
<< " with local points:" << f
<< " with local points:" << f << " at:"
<< UIndirectList<point>(allPatch.localPoints(), f)
<< " which are in same order as face:"
<< meshFace1
<< " with local points:" << otherF
......
......@@ -3,7 +3,7 @@
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
\\/ M anipulation | Copyright (C) 2015-2017 OpenCFD Ltd.
\\/ M anipulation | Copyright (C) 2015-2018 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
......@@ -867,7 +867,7 @@ void Foam::surfaceIntersection::doCutEdges
maskFaces.append(pHit.index());
if (maskRegions[surf1[pHit.index()].region()])
if (maskRegions.test(surf1[pHit.index()].region()))
{
continue;
}
......
......@@ -67,11 +67,12 @@ void Foam::geomDecomp::checkDecompositionDirections
{
if (n_[dir] > 1 && meshDirs[dir] == -1)
{
FatalErrorInFunction << "Trying to decompose a 1/2D mesh"
WarningInFunction
<< "Trying to decompose a 1/2D mesh"
<< " into " << n_[dir]
<< " parts in direction "
<< Vector<label>::componentNames[dir]
<< exit(FatalError);
<< endl;
}
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment