OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
c_mad.F File Reference
#include "implicit_f.inc"
#include "com04_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine c_mad (iexmad, nmadsh4_l, nmadsh3_l, nmadsol_l, nmadnod_l, madcl_nmadnod_l, cep, proc)

Function/Subroutine Documentation

◆ c_mad()

subroutine c_mad ( integer, dimension(*) iexmad,
integer nmadsh4_l,
integer nmadsh3_l,
integer nmadsol_l,
integer nmadnod_l,
integer madcl_nmadnod_l,
integer, dimension(*) cep,
integer proc )

Definition at line 31 of file c_mad.F.

33C-----------------------------------------------
34C M o d u l e s
35C-----------------------------------------------
36
37C-----------------------------------------------
38C I m p l i c i t T y p e s
39C-----------------------------------------------
40#include "implicit_f.inc"
41C-----------------------------------------------
42C C o m m o n B l o c k s
43C-----------------------------------------------
44#include "com04_c.inc"
45C-----------------------------------------------
46C D u m m y A r g u m e n t s
47C-----------------------------------------------
48 INTEGER PROC, NMADSH4_L, NMADSH3_L, NMADSOL_L, NMADNOD_L,
49 . MADCL_NMADNOD_L,IEXMAD(*),CEP(*)
50C-----------------------------------------------
51C F u n c t i o n
52C-----------------------------------------------
53 INTEGER NLOCAL
54 EXTERNAL nlocal
55C-----------------------------------------------
56C L o c a l V a r i a b l e s
57C-----------------------------------------------
58 INTEGER I, IDEB, K, ESHIFT, P
59C
60C Couplage etendu
61C
62 IF(nexmad/=0) THEN
63C
64C ELEM shell4
65C
66 ideb = 1 + 7*nconx + nmadprt
67 eshift = numels+numelq
68 DO i = 1, nmadsh4
69 k = iexmad(ideb+i-1)
70 IF(cep(k+eshift)==proc) THEN
71 nmadsh4_l = nmadsh4_l+1
72 END IF
73 END DO
74C
75C Elem shell3
76C
77 ideb = ideb + nmadsh4
78 eshift = numels+numelq+numelc+numelt+numelp+numelr
79 DO i = 1, nmadsh3
80 k = iexmad(ideb+i-1)
81 IF(cep(k+eshift)==proc) THEN
82 nmadsh3_l = nmadsh3_l+1
83 END IF
84 END DO
85C
86C Elem solides
87C
88 ideb = ideb + nmadsh3
89 eshift = 0
90 DO i = 1, nmadsol
91 k = iexmad(ideb+i-1)
92 IF(cep(k+eshift)==proc) THEN
93 nmadsol_l = nmadsol_l+1
94 END IF
95 END DO
96C
97C Noeuds
98C
99 ideb = ideb + nmadsol
100 DO i = 1, nmadnod
101 k = iexmad(ideb+i-1)
102 IF(nlocal(k,proc+1)==1) THEN
103 DO p = 1, proc
104 IF(nlocal(k,p)==1) GOTO 100
105 END DO
106 nmadnod_l = nmadnod_l+1
107 END IF
108 100 CONTINUE
109 END DO
110C
111 madcl_nmadnod_l=0
112 DO i = 1, nmadnod
113 k = iexmad(ideb+i-1)
114 IF(nlocal(k,proc+1)==1) THEN
115 madcl_nmadnod_l = madcl_nmadnod_l + 1
116 END IF
117 END DO
118 END IF
119C
120 RETURN
integer function nlocal(n, p)
Definition ddtools.F:349