The TELEMAC-MASCARET system
trunk
sources
utils
bief
bief_dim2_ext.f
Go to the documentation of this file.
1
! ******************************
2
INTEGER
FUNCTION
bief_dim2_ext
3
! ******************************
4
!
5
&(ielm1,ielm2,sto,typext,mesh)
6
!
7
!***********************************************************************
8
! BIEF V6P1 21/08/2010
9
!***********************************************************************
10
!
11
!brief GIVES THE SECOND DIMENSION OF A MATRICE'S EXTRA-DIAGONAL
12
!+ TERMS.
13
!
14
!history J-M HERVOUET (LNH)
15
!+ 12/12/94
16
!+ V5P1
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
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32
!| IELM1 |-->| TYPE OF LINE ELEMENT
33
!| IELM2 |-->| TYPE OF COLUMN ELEMENT
34
!| MESH |-->| MESH STRUCTURE
35
!| STO |-->| TYPE OF STORAGE
36
!| TYPEXT |-->| TYPE OF OFF-DIAGONAL TERMS
37
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
38
!
39
USE
bief
, ex_bief_dim2_ext =>
bief_dim2_ext
40
!
41
USE
declarations_special
42
IMPLICIT NONE
43
!
44
!+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
45
!
46
INTEGER
,
INTENT(IN)
:: IELM1,IELM2,STO
47
CHARACTER(LEN=1)
,
INTENT(IN)
:: TYPEXT
48
TYPE
(bief_mesh) ,
INTENT(IN)
:: MESH
49
!
50
!+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
51
!
52
INTEGER
NDIM
53
!
54
!-----------------------------------------------------------------------
55
!
56
IF
(typext.EQ.
'0'
)
THEN
57
!
58
bief_dim2_ext
= 1
59
!
60
ELSEIF
(sto.EQ.1)
THEN
61
!
62
! NDIM IS HERE THE SECOND DIMENSION OF VECTOR
63
ndim =
bief_nbpel
(ielm1,mesh)*
bief_nbpel
(ielm2,mesh)
64
& - min(
bief_nbpel
(ielm1,mesh),
bief_nbpel
(ielm2,mesh))
65
! SYMMETRICAL MATRIX
66
IF
(ielm1.EQ.ielm2.AND.typext.EQ.
'S'
)
THEN
67
ndim = ndim / 2
68
ENDIF
69
bief_dim2_ext
= ndim
70
!
71
ELSEIF
(sto.EQ.3)
THEN
72
!
73
! ASSEMBLED EBE STORAGE OR EDGE BASED
74
bief_dim2_ext
= 1
75
!
76
ELSE
77
!
78
WRITE
(
lu
,101) sto
79
101
FORMAT
(1x,
'BIEF_DIM2_EXT : UNKNOWN TYPE OF STORAGE: '
,1i6)
80
CALL
plante(1)
81
stop
82
!
83
ENDIF
84
!
85
!-----------------------------------------------------------------------
86
!
87
RETURN
88
END
declarations_special
Definition:
declarations_special.F:3
bief_nbpel
integer function bief_nbpel(IELM, MESH)
Definition:
bief_nbpel.f:7
bief_dim2_ext
integer function bief_dim2_ext(IELM1, IELM2, STO, TYPEXT, MESH)
Definition:
bief_dim2_ext.f:7
declarations_special::lu
integer lu
Definition:
declarations_special.F:45
bief
Definition:
bief.f:3