CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Bugs (
-   -   Possible bug in fvMatrix residual member (

luca April 14, 2011 03:46

Possible bug in fvMatrix residual member
1 Attachment(s)

supposing that the fvMatrix.residual() member give us the residual of the matrix in the form R = Ax - B, I've noticed a strange behavior.

In some way .residual() member applied to fvMatrix<vector> modifies the extra diagonal elements of the matrix:

the operator .H() returns different results for fvMatrix<vector> before and after calling the fvMatrix.residual() member.

Attached you find a simple code to reproduce the "phenomena" , you can run it under tutorial directory of the scalarTransportFoam solver

Tested on 1.7.x version yesterday update

Attachment 7260

Thanks in advance

luca June 6, 2011 04:35


I was wondering why after two months nobody of the developers reply to this post..
Anyway for the guys that need residual() functions works properly I figure out the error:

Change in file fvMatrixSolve.C the line 192 with:

tmp<Field<Type> > tres(new Field<Type>(source_));

in this way there is no more modification of the source term (that was the problem).




you have to patch only the 1.7 official release

l_r_mcglashan June 6, 2011 05:12

If you think there's a bug then post it here (as mentioned in the sticky thread in this forum):

All times are GMT -4. The time now is 16:12.