The TELEMAC-MASCARET system  trunk
parcom2_comp.f
Go to the documentation of this file.
1 ! ***********************
2  SUBROUTINE parcom2_comp
3 ! ***********************
4 !
5  &( x1 , x2 , x3 ,errx, npoin , nplan , icom , ian , mesh )
6 !
7 !***********************************************************************
8 ! BIEF V6P1 24/02/2016
9 !***********************************************************************
10 !
11 !brief COMPLEMENTS A VECTOR AND ERROR VECTOR AT THE INTERFACES BETWEEN
12 !+ SUB-DOMAINS.
13 !+
14 !+ X CAN BE A BLOCK OF VECTORS. IN THIS CASE, ALL THE
15 !+ VECTORS IN THE BLOCK ARE TREATED.
16 !
17 !note IMPORTANT : FROM RELEASE 5.9 ON, IDENTICAL VALUES ARE
18 !+ ENSURED AT INTERFACE POINTS SO THAT DIFFERENT
19 !+ PROCESSORS WILL ALWAYS MAKE THE SAME DECISION
20 !+ IN TESTS ON REAL NUMBERS.
21 !
22 !warning IF THE VECTORS HAVE A SECOND DIMENSION, IT IS
23 !+ IGNORED FOR THE TIME BEING
24 !
25 !history R.NHEILI (Univerte de Perpignan, DALI)
26 !+ 24/02/2016
27 !+ V7P3
28 !+
29 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
30 !| IAN |-->| NUMBER OF VECTORS TO BE CONDIDERED (1, 2 OR 3)
31 !| ICOM |-->| COMMUNICATION MODE
32 !| | | = 1 : VALUE WITH MAXIMUM ABSOLUTE VALUE TAKEN
33 !| | | = 2 : CONTRIBUTIONS ADDED
34 !| | | = 3 : MAXIMUM CONTRIBUTION RETAINED
35 !| | | = 4 : MINIMUM CONTRIBUTION RETAINED
36 !| MESH |-->| MESH STRUCTURE
37 !| NPLAN |-->| NUMBER OF PLANES IN THE 3D MESH OF PRISMS
38 !| NPOIN |-->| NUMBER OF POINTS
39 !| X1 |<->| VECTOR TO BE COMPLETED
40 !| X2 |<->| VECTOR TO BE COMPLETED
41 !| X3 |<->| VECTOR TO BE COMPLETED
42 !| ERRX |<->| ERRORS VECTOR TO BE COMPLETED
43 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
44 !
45  USE bief, ex_parcom2_comp => parcom2_comp
46 !
48  IMPLICIT NONE
49 !
50 !-----------------------------------------------------------------------
51 !
52  INTEGER, INTENT(IN) :: ICOM,NPOIN,NPLAN,IAN
53 !
54 ! STRUCTURES: VECTORS OR BLOCKS
55 !
56  TYPE(bief_mesh) , INTENT(INOUT) :: MESH
57  DOUBLE PRECISION, INTENT(INOUT) :: X1(npoin,nplan)
58  DOUBLE PRECISION, INTENT(INOUT) :: X2(npoin,nplan)
59  DOUBLE PRECISION, INTENT(INOUT) :: X3(npoin,nplan)
60  DOUBLE PRECISION, INTENT(INOUT) :: ERRX(*)
61 !
62 !-----------------------------------------------------------------------
63 !
64  CALL paraco_comp(x1,x2,x3,errx,npoin,icom,ian,nplan,
65  & mesh%NB_NEIGHB,mesh%NB_NEIGHB_PT%I,mesh%LIST_SEND%I,
66  & mesh%NH_COM%I,mesh%NH_COM%DIM1,mesh%BUF_SEND%R,
67  & mesh%BUF_RECV%R,mesh%BUF_SEND%DIM1,
68  & mesh%BUF_SEND_ERR%R,mesh%BUF_RECV_ERR%R)
69 !
70 !-----------------------------------------------------------------------
71 !
72  RETURN
73  END
74 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
subroutine parcom2_comp(X1, X2, X3, ERRX, NPOIN, NPLAN, ICOM, IAN, MESH)
Definition: parcom2_comp.f:7
subroutine paraco_comp(V1, V2, V3, ERRX, NPOIN, ICOM, IAN, NPLAN, NB_NEIGHB, NB_NEIGHB_PT, LIST_SEND, NH_COM, DIMNHCOM, BUF_SEND, BUF_RECV, DIMBUF, BUF_SEND_ERR, BUF_RECV_ERR)
Definition: paraco_comp.f:9
Definition: bief.f:3