mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
REVERT: Change parallel referral algorithm back to original
This commit is contained in:
@ -254,47 +254,85 @@ void Foam::DistributedDelaunayMesh<Triangulation>::findProcessorBoundaryCells
|
||||
/Pstream::nProcs()
|
||||
);
|
||||
|
||||
std::list<Cell_handle> infinite_cells;
|
||||
Triangulation::incident_cells
|
||||
(
|
||||
Triangulation::infinite_vertex(),
|
||||
std::back_inserter(infinite_cells)
|
||||
);
|
||||
|
||||
for
|
||||
(
|
||||
typename std::list<Cell_handle>::iterator vcit = infinite_cells.begin();
|
||||
vcit != infinite_cells.end();
|
||||
++vcit
|
||||
)
|
||||
{
|
||||
Cell_handle cit = *vcit;
|
||||
|
||||
// Index of infinite vertex in this cell.
|
||||
int i = cit->index(Triangulation::infinite_vertex());
|
||||
|
||||
Cell_handle c = cit->neighbor(i);
|
||||
|
||||
if (c->unassigned())
|
||||
{
|
||||
c->cellIndex() = this->getNewCellIndex();
|
||||
|
||||
if (checkProcBoundaryCell(c, circumsphereOverlaps))
|
||||
{
|
||||
cellToCheck.insert(c->cellIndex());
|
||||
}
|
||||
}
|
||||
}
|
||||
// std::list<Cell_handle> infinite_cells;
|
||||
// Triangulation::incident_cells
|
||||
// (
|
||||
// Triangulation::infinite_vertex(),
|
||||
// std::back_inserter(infinite_cells)
|
||||
// );
|
||||
//
|
||||
// for
|
||||
// (
|
||||
// typename std::list<Cell_handle>::iterator vcit
|
||||
// = infinite_cells.begin();
|
||||
// vcit != infinite_cells.end();
|
||||
// ++vcit
|
||||
// )
|
||||
// {
|
||||
// Cell_handle cit = *vcit;
|
||||
//
|
||||
// // Index of infinite vertex in this cell.
|
||||
// int i = cit->index(Triangulation::infinite_vertex());
|
||||
//
|
||||
// Cell_handle c = cit->neighbor(i);
|
||||
//
|
||||
// if (c->unassigned())
|
||||
// {
|
||||
// c->cellIndex() = this->getNewCellIndex();
|
||||
//
|
||||
// if (checkProcBoundaryCell(c, circumsphereOverlaps))
|
||||
// {
|
||||
// cellToCheck.insert(c->cellIndex());
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//
|
||||
// for
|
||||
// (
|
||||
// Finite_cells_iterator cit = Triangulation::finite_cells_begin();
|
||||
// cit != Triangulation::finite_cells_end();
|
||||
// ++cit
|
||||
// )
|
||||
// {
|
||||
// if (cit->parallelDualVertex())
|
||||
// {
|
||||
// if (cit->unassigned())
|
||||
// {
|
||||
// if (checkProcBoundaryCell(cit, circumsphereOverlaps))
|
||||
// {
|
||||
// cellToCheck.insert(cit->cellIndex());
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
for
|
||||
(
|
||||
Finite_cells_iterator cit = Triangulation::finite_cells_begin();
|
||||
cit != Triangulation::finite_cells_end();
|
||||
All_cells_iterator cit = Triangulation::all_cells_begin();
|
||||
cit != Triangulation::all_cells_end();
|
||||
++cit
|
||||
)
|
||||
{
|
||||
if (cit->parallelDualVertex())
|
||||
if (Triangulation::is_infinite(cit))
|
||||
{
|
||||
// Index of infinite vertex in this cell.
|
||||
int i = cit->index(Triangulation::infinite_vertex());
|
||||
|
||||
Cell_handle c = cit->neighbor(i);
|
||||
|
||||
if (c->unassigned())
|
||||
{
|
||||
c->cellIndex() = this->getNewCellIndex();
|
||||
|
||||
if (checkProcBoundaryCell(c, circumsphereOverlaps))
|
||||
{
|
||||
cellToCheck.insert(c->cellIndex());
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (cit->parallelDualVertex())
|
||||
{
|
||||
if (cit->unassigned())
|
||||
{
|
||||
|
||||
@ -1899,7 +1899,7 @@ void Foam::conformalVoronoiMesh::indexDualVertices
|
||||
|
||||
{
|
||||
// Snapping points far outside
|
||||
if (cit->boundaryDualVertex())
|
||||
if (cit->boundaryDualVertex() && !cit->parallelDualVertex())
|
||||
{
|
||||
pointFromPoint dual = cit->dual();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user