The TELEMAC-MASCARET system  trunk
as3_1111_s.f
Go to the documentation of this file.
1 ! *********************
2  SUBROUTINE as3_1111_s
3 ! *********************
4 !
5  &(xm,nseg1,xmt,nelmax,nelem,eltseg1,eltseg2,eltseg3)
6 !
7 !***********************************************************************
8 ! BIEF V6P1 21/08/2010
9 !***********************************************************************
10 !
11 !brief ASSEMBLES MATRICES EXTRA-DIAGONAL TERMS
12 !+ IN THE CASE OF EDGE-BASED STORAGE.
13 !+
14 !+ CASE OF LINEAR-LINEAR ELEMENT
15 !+ AND SYMMETRICAL MATRIX.
16 !
17 !history J-M HERVOUET (LNH)
18 !+ 30/06/99
19 !+ V5P1
20 !+
21 !
22 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
23 !+ 13/07/2010
24 !+ V6P0
25 !+ Translation of French comments within the FORTRAN sources into
26 !+ English comments
27 !
28 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
29 !+ 21/08/2010
30 !+ V6P0
31 !+ Creation of DOXYGEN tags for automated documentation and
32 !+ cross-referencing of the FORTRAN sources
33 !
34 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
35 !| ELTSEG1 |-->| FIRST SEGMENT OF A TRIANGLE
36 !| ELTSEG2 |-->| SECOND SEGMENT OF A TRIANGLE
37 !| ELTSEG3 |-->| THIRD SEGMENT OF A TRIANGLE
38 !| NELEM |-->| NUMBER OF ELEMENTS IN THE MESH
39 !| NELMAX |-->| FIRST DIMENSION OF IKLE AND W.
40 !| NSEG1 |-->| NUMBER OF SEGMENTS (HERE JOINING LINEAR POINTS)
41 !| XM |<--| ASSEMBLED OFF-DIAGONAL TERMS XA12,23,31
42 !| XMT |-->| ELEMENT BY ELEMENT STORAGE OF MATRIX
43 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
44 !
46  IMPLICIT NONE
47 !
48 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
49 !
50  INTEGER , INTENT(IN) :: NELMAX,NELEM,NSEG1
51  INTEGER , INTENT(IN) :: ELTSEG1(nelmax)
52  INTEGER , INTENT(IN) :: ELTSEG2(nelmax)
53  INTEGER , INTENT(IN) :: ELTSEG3(nelmax)
54  DOUBLE PRECISION, INTENT(INOUT) :: XMT(nelmax,*)
55  DOUBLE PRECISION, INTENT(INOUT) :: XM(nseg1)
56 !
57 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
58 !
59  INTEGER ISEG,IELEM
60 !
61 !-----------------------------------------------------------------------
62 !
63 ! INITIALISES
64 !
65  DO iseg = 1 , nseg1
66  xm(iseg) = 0.d0
67  ENDDO
68 !
69 ! ASSEMBLES
70 !
71  DO ielem = 1,nelem
72  xm(eltseg1(ielem)) = xm(eltseg1(ielem)) + xmt(ielem,1)
73  xm(eltseg2(ielem)) = xm(eltseg2(ielem)) + xmt(ielem,3)
74  xm(eltseg3(ielem)) = xm(eltseg3(ielem)) + xmt(ielem,2)
75  ENDDO
76 !
77 !-----------------------------------------------------------------------
78 !
79  RETURN
80  END
subroutine as3_1111_s(XM, NSEG1, XMT, NELMAX, NELEM, ELTSEG1, ELTSEG2, ELTSEG3)
Definition: as3_1111_s.f:7