The TELEMAC-MASCARET system
trunk
sources
utils
bief
mt01aa.f
Go to the documentation of this file.
1
! *****************
2
SUBROUTINE
mt01aa
3
! *****************
4
!
5
&( a11 , a12 , a13 ,
6
& a22 , a23 ,
7
& a33 ,
8
& xmul,surfac,nelem,nelmax)
9
!
10
!***********************************************************************
11
! BIEF V6P1 21/08/2010
12
!***********************************************************************
13
!
14
!brief BUILDS THE MASS MATRIX FOR P1 TRIANGLES.
15
!code
16
!+ COMPUTES THE COEFFICIENTS OF THE FOLLOWING MATRIX:
17
!+
18
!+ /
19
!+ A = XMUL / (P *P )*J(X,Y) DXDY
20
!+ I J /S I J
21
!+
22
!+ BY ELEMENTARY CELL
23
!+
24
!+ J(X,Y): JACOBIAN OF THE ISOPARAMETRIC TRANSFORMATION
25
!
26
!warning THE JACOBIAN MUST BE POSITIVE
27
!
28
!history J-M HERVOUET (LNH) ; F LEPEINTRE (LNH)
29
!+ 28/11/94
30
!+ V5P1
31
!+
32
!
33
!history N.DURAND (HRW), S.E.BOURBAN (HRW)
34
!+ 13/07/2010
35
!+ V6P0
36
!+ Translation of French comments within the FORTRAN sources into
37
!+ English comments
38
!
39
!history N.DURAND (HRW), S.E.BOURBAN (HRW)
40
!+ 21/08/2010
41
!+ V6P0
42
!+ Creation of DOXYGEN tags for automated documentation and
43
!+ cross-referencing of the FORTRAN sources
44
!
45
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
46
!| A11 |<--| ELEMENTS OF MATRIX
47
!| A12 |<--| ELEMENTS OF MATRIX
48
!| A13 |<--| ELEMENTS OF MATRIX
49
!| A22 |<--| ELEMENTS OF MATRIX
50
!| A23 |<--| ELEMENTS OF MATRIX
51
!| A33 |<--| ELEMENTS OF MATRIX
52
!| NELEM |-->| NUMBER OF ELEMENTS
53
!| NELMAX |-->| MAXIMUM NUMBER OF ELEMENTS
54
!| SURFAC |-->| AREA OF TRIANGLES
55
!| XMUL |-->| MULTIPLICATION FACTOR
56
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
57
!
58
USE
bief
, ex_mt01aa =>
mt01aa
59
!
60
USE
declarations_special
61
IMPLICIT NONE
62
!
63
!+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
64
!
65
INTEGER
,
INTENT(IN)
:: NELEM,NELMAX
66
!
67
DOUBLE PRECISION
,
INTENT(INOUT)
:: A11(*),A12(*),A13(*)
68
DOUBLE PRECISION
,
INTENT(INOUT)
:: A22(*),A23(*)
69
DOUBLE PRECISION
,
INTENT(INOUT)
:: A33(*)
70
!
71
DOUBLE PRECISION
,
INTENT(IN)
:: XMUL
72
DOUBLE PRECISION
,
INTENT(IN)
:: SURFAC(nelmax)
73
!
74
!+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
75
!
76
! DECLARATIONS SPECIFIC TO THIS SUBROUTINE
77
!
78
INTEGER
IELEM
79
DOUBLE PRECISION
SUR12,DET
80
!
81
!=======================================================================
82
!
83
sur12 = xmul/12.d0
84
!
85
!-----------------------------------------------------------------------
86
!
87
! LOOP ON THE ELEMENTS
88
!
89
DO
ielem = 1 , nelem
90
!
91
det = surfac(ielem) * sur12
92
!
93
! ELEMENTS OFF THE DIAGONAL
94
!
95
a12(ielem) = det
96
a13(ielem) = det
97
a23(ielem) = det
98
!
99
! DIAGONAL TERMS
100
!
101
a11(ielem) = det + det
102
a22(ielem) = det + det
103
a33(ielem) = det + det
104
!
105
! END OF THE LOOP ON THE ELEMENTS
106
!
107
ENDDO
! IELEM
108
!
109
!-----------------------------------------------------------------------
110
!
111
RETURN
112
END
declarations_special
Definition:
declarations_special.F:3
mt01aa
subroutine mt01aa(A11, A12, A13, A22, A23, A33, XMUL, SURFAC, NELEM, NELMAX)
Definition:
mt01aa.f:10
bief
Definition:
bief.f:3