mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
fixedFluxPressure: avoid deltaCoeffs() during mapping as it causes problems with AMI
This commit is contained in:
@ -59,17 +59,17 @@ Foam::fixedFluxPressureFvPatchScalarField::fixedFluxPressureFvPatchScalarField
|
|||||||
gradient() = 0.0;
|
gradient() = 0.0;
|
||||||
gradient().map(ptf.gradient(), mapper);
|
gradient().map(ptf.gradient(), mapper);
|
||||||
|
|
||||||
// Unfortunately we cannot use the deltaCoeffs in a mapper constructor
|
// Evaluate the value field from the gradient if the internal field is valid
|
||||||
// since this triggers AMI construction which is a problem in decomposing
|
if (&iF && iF.size())
|
||||||
// cases (the individual processor does not make sense)
|
|
||||||
// So for now map the values
|
|
||||||
|
|
||||||
if (&iF)
|
|
||||||
{
|
{
|
||||||
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);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -161,7 +161,6 @@ void Foam::fvPatch::movePoints()
|
|||||||
const Foam::scalarField& Foam::fvPatch::deltaCoeffs() const
|
const Foam::scalarField& Foam::fvPatch::deltaCoeffs() const
|
||||||
{
|
{
|
||||||
return boundaryMesh().mesh().deltaCoeffs().boundaryField()[index()];
|
return boundaryMesh().mesh().deltaCoeffs().boundaryField()[index()];
|
||||||
//return boundaryMesh().mesh().nonOrthDeltaCoeffs().boundaryField()[index()];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user