BUG: Influence referring must refer tets with only pair slave real vertices.

This commit is contained in:
graham
2011-06-22 17:27:16 +01:00
parent 6def59d23f
commit bfb9e4bf33
5 changed files with 23 additions and 12 deletions

View File

@ -1305,7 +1305,7 @@ bool Foam::conformalVoronoiMesh::distributeBackground()
IOobject::NO_WRITE
),
bMesh,
dimensionedScalar("weight", dimless, 1e-3),
dimensionedScalar("weight", dimless, 1e-2),
zeroGradientFvPatchScalarField::typeName
);
@ -1358,7 +1358,7 @@ bool Foam::conformalVoronoiMesh::distributeBackground()
cellWeights.internalField()[cI] = max
(
cellVertices[cI].size(),
1e-3
1e-2
);
}

View File

@ -61,9 +61,7 @@ void Foam::conformalVoronoiMesh::calcDualMesh
cit->filterCount() = 0;
}
PackedBoolList boundaryPts;
boundaryPts.reserve(number_of_cells());
PackedBoolList boundaryPts(number_of_cells(), false);
indexDualVertices(points, boundaryPts);
@ -1723,10 +1721,10 @@ void Foam::conformalVoronoiMesh::indexDualVertices
pts.setSize(number_of_cells());
boundaryPts.clear();
boundaryPts.setSize(number_of_cells(), false);
boundaryPts = false;
for
(
Delaunay::Finite_cells_iterator cit = finite_cells_begin();

View File

@ -978,8 +978,8 @@ void Foam::conformalVoronoiMesh::buildParallelInterfaceInfluence
// it.
// The Delaunay cells to assess have to be real, i.e. all vertices form
// part of the internal or boundary definition
if (cit->internalOrBoundaryDualVertex())
// part of the internal or any part of the boundary definition
if (cit->real())
{
Foam::point cc(topoint(dual(cit)));

View File

@ -408,7 +408,7 @@ void Foam::conformalVoronoiMesh::writeMesh
mesh.addFvPatches(patches);
// Info<< "ADDPATCHES NOT IN PARALLEL" << endl;
// mesh.addPatches(patches, false);
// mesh.addFvPatches(patches, false);
if (!mesh.write())
{

View File

@ -139,8 +139,21 @@ public:
}
// Is the Delaunay cell real, i.e. all vertices form part of the internal
// or boundary definition
// Is the Delaunay cell real, i.e. any real vertex
inline int real() const
{
return
(
this->vertex(0)->real()
|| this->vertex(1)->real()
|| this->vertex(2)->real()
|| this->vertex(3)->real()
);
}
// Is the Delaunay cell part of the final dual mesj, i.e. any vertex form
// part of the internal or boundary definition
inline int internalOrBoundaryDualVertex() const
{
return