fixedFluxPressure: avoid deltaCoeffs() during mapping as it causes problems with AMI

This commit is contained in:
Henry
2013-09-13 13:11:49 +01:00
parent 1348eabe3b
commit 3d65213605
2 changed files with 9 additions and 10 deletions

View File

@ -59,17 +59,17 @@ Foam::fixedFluxPressureFvPatchScalarField::fixedFluxPressureFvPatchScalarField
gradient() = 0.0;
gradient().map(ptf.gradient(), mapper);
// Unfortunately we cannot use the deltaCoeffs in a mapper constructor
// since this triggers AMI construction which is a problem in decomposing
// cases (the individual processor does not make sense)
// So for now map the values
if (&iF)
// Evaluate the value field from the gradient if the internal field is valid
if (&iF && iF.size())
{
scalarField::operator=(patchInternalField());
scalarField::operator=
(
//patchInternalField() + gradient()/patch().deltaCoeffs()
// ***HGW Hack to avoid the construction of mesh.deltaCoeffs
// which fails for AMI patches for some mapping operations
patchInternalField() + gradient()*(patch().nf() & patch().delta())
);
}
map(ptf, mapper);
}

View File

@ -161,7 +161,6 @@ void Foam::fvPatch::movePoints()
const Foam::scalarField& Foam::fvPatch::deltaCoeffs() const
{
return boundaryMesh().mesh().deltaCoeffs().boundaryField()[index()];
//return boundaryMesh().mesh().nonOrthDeltaCoeffs().boundaryField()[index()];
}