Use Householder inverse for reconstruct

This commit is contained in:
Hrvoje Jasak 2015-08-20 13:53:03 +01:00
parent eb2dcad003
commit bf0316a4a7

View file

@ -68,8 +68,8 @@ reconstruct
IOobject::NO_READ,
IOobject::NO_WRITE
),
inv(surfaceSum(sqr(mesh.Sf())/mesh.magSf()))
& surfaceSum((mesh.Sf()/mesh.magSf())*ssf),
mesh,
ssf.dimensions()/dimArea,
zeroGradientFvPatchField<GradType>::typeName
)
);
@ -87,9 +87,14 @@ reconstruct
GeometricField<GradType, fvPatchField, volMesh> fluxTimesNormal =
surfaceSum((mesh.Sf()/mesh.magSf())*ssf);
// Note: hinv inverse must be used to stabilise the inverse on bad meshes
// HJ, 19/Aug/2015
reconField.internalField() =
(
inv(surfaceSum(sqr(mesh.Sf())/mesh.magSf())().internalField())
hinv
(
surfaceSum(sqr(mesh.Sf())/mesh.magSf())().internalField()
)
& fluxTimesNormal.internalField()
);