The TELEMAC-MASCARET system  trunk
p_dot.f
Go to the documentation of this file.
1 ! *******************************
2  DOUBLE PRECISION FUNCTION p_dot
3 ! *******************************
4 !
5  &(npoin,x,y,ifac)
6 !
7 !***********************************************************************
8 ! BIEF V7P1
9 !***********************************************************************
10 !
11 !brief SCALAR PRODUCT OF VECTORS X AND Y (SIZE NPOIN)
12 !+ TAKING PARALLELISM INTO ACCOUNT.
13 !
14 !history REINHARD HINKELMANN (HANNOVER UNI.)
15 !+
16 !+
17 !+
18 !
19 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
20 !+ 13/07/2010
21 !+ V6P0
22 !+ Translation of French comments within the FORTRAN sources into
23 !+ English comments
24 !
25 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
26 !+ 21/08/2010
27 !+ V6P0
28 !+ Creation of DOXYGEN tags for automated documentation and
29 !+ cross-referencing of the FORTRAN sources
30 !
31 !history J-M HERVOUET (EDF LAB, LNHE)
32 !+ 10/06/2015
33 !+ V7P1
34 !+ Moving from double precision FAC to integer IFAC.
35 !
36 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37 !| FAC |-->| FAC=1/(NUMBER OF NEIGHBOURING SUB-DOMAINS)
38 !| NPOIN |-->| SIZE OF X AND Y
39 !| X |-->| VECTOR
40 !| Y |-->| VECTOR
41 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42 !
43  USE bief, ex_p_dot => p_dot
44 !
46  IMPLICIT NONE
47 !
48 !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
49 !
50  INTEGER, INTENT(IN) :: NPOIN
51 !
52  DOUBLE PRECISION, INTENT(IN) :: X(npoin),Y(npoin)
53  INTEGER, INTENT(IN) :: IFAC(npoin)
54 !
55 !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
56 !
57  INTEGER I
58 !
59 !-----------------------------------------------------------------------
60 !
61  p_dot = 0.d0
62 !
63  DO i = 1 , npoin
64  p_dot = p_dot + x(i) * y(i) * ifac(i)
65  ENDDO
66 !
67 !-----------------------------------------------------------------------
68 !
69  RETURN
70  END
71 
double precision function p_dot(NPOIN, X, Y, IFAC)
Definition: p_dot.f:7
Definition: bief.f:3