break sliced fields initialisation loop (constructor calls correctbc, calls evaluate on coupledFvPatchFields, uses weights which ultimately use mesh.C() which is being constructed.

This commit is contained in:
mattijs
2008-05-09 13:24:48 +01:00
parent e1c0220c1b
commit 6244dc8957

View File

@ -162,11 +162,15 @@ void surfaceInterpolation::makeWeights() const
// Set local references to mesh data
const surfaceVectorField& Cf = mesh_.Cf();
const volVectorField& C = mesh_.C();
// (note that we should not use fvMesh sliced fields at this point yet
// since this causes a loop when generating weighting factors in
// coupledFvPatchField evaluation phase)
const unallocLabelList& owner = mesh_.owner();
const unallocLabelList& neighbour = mesh_.neighbour();
const surfaceVectorField& Sf = mesh_.Sf();
const vectorField& Cf = mesh_.faceCentres();
const vectorField& C = mesh_.cellCentres();
const vectorField& Sf = mesh_.faceAreas();
// ... and reference to the internal field of the weighting factors
scalarField& w = weightingFactors.internalField();