OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
c_mad.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23C
24!||====================================================================
25!|| c_mad ../starter/source/restart/ddsplit/c_mad.F
26!||--- called by ------------------------------------------------------
27!|| ddsplit ../starter/source/restart/ddsplit/ddsplit.F
28!||--- calls -----------------------------------------------------
29!|| nlocal ../starter/source/spmd/node/ddtools.F
30!||====================================================================
31 SUBROUTINE c_mad(IEXMAD,NMADSH4_L,NMADSH3_L,NMADSOL_L,NMADNOD_L,
32 + MADCL_NMADNOD_L,CEP ,PROC)
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
121 END
subroutine c_mad(iexmad, nmadsh4_l, nmadsh3_l, nmadsol_l, nmadnod_l, madcl_nmadnod_l, cep, proc)
Definition c_mad.F:33