ENH: When overridding cell centres, change face centre to midpoint.

This commit is contained in:
graham
2010-12-02 18:04:03 +00:00
parent 7335b82d52
commit aa26d6703f

View File

@ -203,6 +203,31 @@ void Foam::primitiveMesh::overrideCellCentres
calcCellCentresAndVols();
*cellCentresPtr_ = newCellCtrs;
// Set internal face centres to the midpoint of the cell-centre delta vector
if (debug)
{
Pout<< "void Foam::primitiveMesh::overrideCellCentres"
<< "(const vectorField& newCellCtrs) const : "
<< "overriding internal face centres." << endl;
}
deleteDemandDrivenData(faceCentresPtr_);
deleteDemandDrivenData(faceAreasPtr_);
calcFaceCentresAndAreas();
vectorField& fCtrs = *faceCentresPtr_;
const vectorField& C = cellCentres();
const labelUList& owner = faceOwner();
const labelUList& neighbour = faceNeighbour();
forAll(neighbour, faceI)
{
fCtrs[faceI] = 0.5*(C[neighbour[faceI]] + C[owner[faceI]]);
}
}