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

View File

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

View File

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

View File

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

View File

@ -139,8 +139,21 @@ public:
} }
// Is the Delaunay cell real, i.e. all vertices form part of the internal // Is the Delaunay cell real, i.e. any real vertex
// or boundary definition 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 inline int internalOrBoundaryDualVertex() const
{ {
return return