Welcome, Guest
Username: Password: Remember me

TOPIC: Distributing volumes between segments in v7p1

Distributing volumes between segments in v7p1 8 years 3 months ago #23500

  • Alex Goater
  • Alex Goater's Avatar
Hi OpenTelemac Team,

We have found in v7p1r1 in Murd3d_pos that MESH3%FAC%R has been replaced by MESH3%IFAC%I. For some modifications we made to Murd3d_pos we used MESH3%FAC%R. What do you recommend is the best thing to do now that this is not available? We need the proportion (a real number between 0 and 1) rather than an integer.

Thanks,

Alex
The administrator has disabled public write access.

Distributing volumes between segments in v7p1 8 years 3 months ago #23544

  • jmhervouet
  • jmhervouet's Avatar
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
The administrator has disabled public write access.
Moderators: pham

The open TELEMAC-MASCARET template for Joomla!2.5, the HTML 4 version.