Hello,
Yes, this was done to avoid truncation errors when computing dot products (it is part of the work to get no difference between serial and parallel...).
If you really need the proportion, you would have to do someting like what follows, where T1 and T2 are two BIEF_OBJ structures containing work arrays, like T3_01 and T3_02, depending on when you are in the subroutine, and provided that they are not used for something else.
IF(NCSIZE.GT.1) THEN
! computing the non assembled integral of test functions
! T2 actually not used in this call, it could be anything else
CALL VECTOR(T1,'=','MASBAS ',41,
& 1.D0,T2,T2,T2,T2,T2,T2,MESH3D,MSK,MASKEL)
! copying T1 on T2
CALL OS('X=Y ',X=T2,Y=T1)
! assembling the integrals in //
CALL PARCOM(T2,2,MESH)
!
! then for a point I you can replace MESH3%FAC%R(I) by T1%R(I)/T2%R(I)
! it is different but better than FAC because you really get the proportion of areas, while FAC is only 1/2, 1/3, etc.
! beware of dry zones, T2%R(I) could be zero...
!
ENDIF
With best regards,
Jean-Michel Hervouet