OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i23tri.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/.
23!||====================================================================
24!|| i23tri ../starter/source/interfaces/inter3d1/i23tri.F
25!||--- called by ------------------------------------------------------
26!|| i23buc1 ../starter/source/interfaces/inter3d1/i23buc3.F
27!||--- calls -----------------------------------------------------
28!|| ancmsg ../starter/source/output/message/message.F
29!|| i23cor3t ../starter/source/interfaces/inter3d1/i23cor3t.F
30!|| i7cmp3 ../starter/source/interfaces/inter3d1/i7cmp3.F
31!|| i7dst3 ../starter/source/interfaces/inter3d1/i7dst3.F
32!|| i7dstk ../starter/source/interfaces/inter3d1/i7dstk.F
33!|| i7pen3 ../starter/source/interfaces/inter3d1/i7pen3.F
34!||--- uses -----------------------------------------------------
35!|| message_mod ../starter/share/message_module/message_mod.F
36!||====================================================================
37 SUBROUTINE i23tri(
38 1 BPE ,PE ,BPN ,PN ,ADD ,
39 2 IRECT ,X ,NB_NC ,NB_EC ,XYZM ,
40 3 I_ADD ,NSV ,I_AMAX,XMAX ,YMAX ,
41 4 ZMAX ,MAXSIZ,I_STOK,I_MEM ,NB_N_B,
42 5 CAND_N ,CAND_E,NSN ,NOINT ,TZINF ,
43 6 MAXBOX ,MINBOX,J_STOK,MSR ,
44 7 MULTIMP,ITAB ,GAP ,GAP_S ,IGAP ,
45 8 GAPMIN,GAPMAX,MARGE ,ID ,TITR ,
46 9 GAP_M ,PROV_N,PROV_E ,IX1,IX2,
47 1 IX3 ,IX4 ,NSVG ,X1 ,X2 ,
48 2 X3 ,X4 ,Y1 ,Y2 ,Y3 ,
49 3 Y4 ,Z1 ,Z2 ,Z3 ,Z4 ,
50 4 XI ,YI ,ZI ,X0 ,Y0 ,
51 5 Z0 ,NX1 ,NY1 ,NZ1,NX2,
52 6 NY2 ,NZ2 ,NX3 ,NY3,NZ3,
53 7 NX4 ,NY4 ,NZ4 ,P1 ,P2 ,
54 8 P3 ,P4 ,LB1 ,LB2,LB3,
55 9 LB4 ,LC1 ,LC2 ,LC3,LC4,
56 1 N11 ,N21 ,N31 ,PENE)
57 USE message_mod
59C-----------------------------------------------
60C I m p l i c i t T y p e s
61C-----------------------------------------------
62#include "implicit_f.inc"
63C-----------------------------------------------
64C G l o b a l P a r a m e t e r s
65C-----------------------------------------------
66#include "mvsiz_p.inc"
67C-----------------------------------------------
68C C o m m o n B l o c k s
69C-----------------------------------------------
70#include "com01_c.inc"
71#include "com04_c.inc"
72#include "param_c.inc"
73#include "vect07_c.inc"
74C-----------------------------------------------
75C D u m m y A r g u m e n t s
76C-----------------------------------------------
77 INTEGER NB_NC,NB_EC,I_ADD,MAXSIZ,I_STOK,J_STOK,I_MEM
78 INTEGER I_BID, I_AMAX,NB_N_B, NOINT, NSN,MULTIMP, IGAP
79 INTEGER ADD(2,0:*),IRECT(4,*),BPE(*),PE(*),BPN(*),PN(*)
80 INTEGER NSV(*),CAND_N(*),CAND_E(*), ITAB(*), MSR(*)
81C REAL
82 my_real
83 . X(3,*),XYZM(6,*),TZINF,
84 . MAXBOX,MINBOX, XMAX, YMAX, ZMAX,
85 . GAP, GAP_S(*), GAP_M(*),
86 . GAPMIN, GAPMAX, MARGE, GAPSMX, BGAPSMX
87 INTEGER ID
88 CHARACTER(LEN=NCHARTITLE) :: TITR
89 INTEGER, DIMENSION(MVSIZ), INTENT(INOUT) ::PROV_N,PROV_E
90 INTEGER, DIMENSION(MVSIZ), INTENT(INOUT) :: IX1,IX2,IX3,IX4,NSVG
91 my_real, DIMENSION(MVSIZ), INTENT(INOUT) :: X1,X2,X3,X4
92 my_real, DIMENSION(MVSIZ), INTENT(INOUT) :: Y1,Y2,Y3,Y4
93 my_real, DIMENSION(MVSIZ), INTENT(INOUT) :: Z1,Z2,Z3,Z4
94 my_real, DIMENSION(MVSIZ), INTENT(INOUT) :: XI,YI,ZI
95 my_real, DIMENSION(MVSIZ), INTENT(INOUT) :: X0,Y0,Z0
96 my_real, DIMENSION(MVSIZ), INTENT(INOUT) :: n11,n21,n31,pene
97 my_real, DIMENSION(MVSIZ), INTENT(INOUT) :: nx1,ny1,nz1
98 my_real, DIMENSION(MVSIZ), INTENT(INOUT) :: nx2,ny2,nz2
99 my_real, DIMENSION(MVSIZ), INTENT(INOUT) :: nx3,ny3,nz3
100 my_real, DIMENSION(MVSIZ), INTENT(INOUT) :: nx4,ny4,nz4
101 my_real, DIMENSION(MVSIZ), INTENT(INOUT) :: p1,p2,p3,p4
102 my_real, DIMENSION(MVSIZ), INTENT(INOUT) :: lb1,lb2,lb3,lb4
103 my_real, DIMENSION(MVSIZ), INTENT(INOUT) :: lc1,lc2,lc3,lc4
104C-----------------------------------------------
105C L o c a l V a r i a b l e s
106C-----------------------------------------------
107 INTEGER NB_NCN, NB_ECN, ADDNN, ADDNE, I, J
108 INTEGER INF,SUP,DIR,N1,N2,N3,N4,NN,NE
109C REAL
110 my_real
111 . dx,dy,dz,dsup,seuil,xmx,xmn,
112 . gapv(mvsiz)
113C-----------------------------------------------
114C Role of the routine:
115C ===================
116C Classifies the elements of BPE and the nodes of BPN into two zones
117C > or < to a boundary determined here and outputs everything
118C Into bpe, hpe, and bpn, hpn
119C-----------------------------------------------
120C D u m m y A r g u m e n t s
121C
122C NOM DESCRIPTION E/S
123C
124C BPE ARRAY OF FACETTES TO SORT E/S
125C And the result on the max side
126C PE ARRAY OF FACETTES S
127C RESULTAT COTE MIN
128C BPN SORTED NODES ARRAY E/S
129C And the result on the max side
130C PN NODES ARRAY S
131C RESULTAT COTE MIN
132C ADD(2,*) ARRAY OF ADRESSES E/S
133C 1.......ADRESSES NODES C 2.......ADRESSES ELEMENTS
134C ZYZM(6,*) ARRAY OF XYZMIN E/S
135C 1.......XMIN BOITE
136C 2.......YMIN BOITE
137C 3.......ZMIN BOITE
138C 4.......XMAX BOITE
139C 5.......YMAX BOITE
140C 6.......ZMAX BOITE
141C IRECT(4,*) ARRAY OF CONEC FACETTES E
142C X(3,*) COORDONNEES NODALES E
143C NB_NC NUMBER OF CANDIDATE NODES E/S
144C NB_EC NUMBER OF CANDIDATE ELEMENTS E/S
145C i_add position in the input/output address table
146C NSV NOS SYSTEMES DES NODES E
147C Xmax larger abcisse existing e
148C XMAX largest order.existing E
149C Xmax larger existing side E
150C MAXSIZ TAILLE MEMOIRE MAX POSSIBLE E
151C i_stok storage level of the pairs
152C CANDIDATES impact E/S
153C CAND_N boites resultats nodes C CAND_E adresses des boites resultat elements
154C multimp*nsn current maximum allowed size for the
155C COUPLES NODES,ELT CANDIDATES
156C NOINT INTERFACE USER NUMBER
157C TZINF TAILLE ZONE INFLUENCE
158C MAXBOX TAILLE MAX BUCKET
159C MINBOX TAILLE MIN BUCKET
160C=======================================================================
161C
162C
163C 1- TEST ARRET = BOITE VIDE
164C BOITE TROP PETITE
165C BOITE NE CONTENANT QU'ONE NODE C No More Memory Available
166C
167C-----------------------------------------------------------
168C
169C IF(MEMX>ADD(2,1)+NB_EC)THEN
170C WRITE(ISTDO,*)' *******MEM MAX=',MEMX
171C MEMX=-1
172C ELSEIF(MEMX/=-1)THEN
173C MEMX=ADD(2,1)+NB_EC
174C ENDIF
175C--------------------test on empty boxes--------------
176C
177 IF(nb_ec==0.OR.nb_nc==0) THEN
178C write(6,*)" BOITE VIDE"
179C the bottoms of the stacks must be copied into the corresponding bas_de_pile
180C before descending again into the neighboring branch
181 CALL i7dstk(i_add,nb_nc,nb_ec,add,bpn,pn,bpe,pe)
182 RETURN
183 ENDIF
184C
185C-------------------test on end of branch / memory exceeded------------
186C
187 dx = xyzm(4,i_add) - xyzm(1,i_add)
188 dy = xyzm(5,i_add) - xyzm(2,i_add)
189 dz = xyzm(6,i_add) - xyzm(3,i_add)
190 dsup= max(dx,dy,dz)
191C
192 IF(add(2,1)+nb_ec>=maxsiz) THEN
193C no more space in the stack of elements, boxes too small
194 IF ( nb_n_b == numnod) THEN
195C WRITE(IOUT,*)'***ERROR INFINITE LOOP DETECTED '
196C WRITE(ISTDO,*)'***ERROR INFINITE LOOP DETECTED '
197C CALL ARRET(2)
198 IF (istamping == 1) THEN
199 CALL ancmsg(msgid=775,
200 . msgtype=msgerror,
201 . anmode=aninfo,
202 . i1=id,
203 . c1=titr)
204 ELSE
205 CALL ancmsg(msgid=685,
206 . msgtype=msgerror,
207 . anmode=aninfo,
208 . i1=id,
209 . c1=titr)
210 ENDIF
211 ENDIF
212 i_mem = 1
213 RETURN
214 ENDIF
215 IF(dsup<minbox.OR.
216 . nb_nc<=nb_n_b.AND.dsup<maxbox.OR.
217 . nb_nc<=nb_n_b.AND.nb_ec==1) THEN
218C
219C write(6,*)" NOUVELLE BOITE "
220C 1- storage of the candidate node(s) and the corresponding elements
221C remove the unnecessary ones
222 DO 20 i=1,nb_ec
223 ne = bpe(i)
224 n1=irect(1,ne)
225 n2=irect(2,ne)
226 n3=irect(3,ne)
227 n4=irect(4,ne)
228 DO 20 j=1,nb_nc
229 nn=nsv(bpn(j))
230 IF(nn/=n1.AND.nn/=n2.AND.nn/=n3.AND.nn/=n4) THEN
231 j_stok = j_stok + 1
232 prov_n(j_stok) = bpn(j)
233 prov_e(j_stok) = ne
234 IF(j_stok==nvsiz) THEN
235 lft = 1
236 llt = nvsiz
237 nft = 0
238 j_stok = 0
239 CALL i23cor3t(x ,irect,nsv ,prov_e ,prov_n,
240 2 gapv ,igap ,gap ,gap_s,gapmin ,
241 3 gapmax,msr ,gap_m ,ix1 ,ix2 ,
242 4 ix3 ,ix4 ,nsvg ,x1 ,x2 ,
243 5 x3 ,x4 ,y1 ,y2 ,y3 ,
244 6 y4 ,z1 ,z2 ,z3 ,z4 ,
245 7 xi ,yi ,zi )
246 CALL i7dst3(ix3,ix4,x1 ,x2 ,x3 ,
247 1 x4 ,y1 ,y2 ,y3 ,y4 ,
248 2 z1 ,z2 ,z3 ,z4 ,xi ,
249 3 yi ,zi ,x0 ,y0 ,z0 ,
250 4 nx1,ny1,nz1,nx2,ny2,
251 5 nz2,nx3,ny3,nz3,nx4,
252 6 ny4,nz4,p1 ,p2 ,p3 ,
253 7 p4 ,lb1,lb2,lb3,lb4,
254 8 lc1,lc2,lc3,lc4,llt)
255 CALL i7pen3(marge,gapv,n11,n21,n31,
256 1 pene ,nx1 ,ny1,nz1,nx2,
257 2 ny2 ,nz2 ,nx3,ny3,nz3,
258 3 nx4 ,ny4 ,nz4,p1 ,p2 ,
259 4 p3 ,p4,llt)
260 IF(i_stok+nvsiz<multimp*nsn) THEN
261 CALL i7cmp3(i_stok,cand_e ,cand_n,1,pene,
262 1 prov_n,prov_e)
263 ELSE
264 i_bid = 0
265 CALL i7cmp3(i_bid,cand_e,cand_n,0,pene,
266 1 prov_n,prov_e)
267 IF(i_stok+i_bid<multimp*nsn) THEN
268 CALL i7cmp3(i_stok,cand_e,cand_n,1,pene,
269 1 prov_n,prov_e)
270 ELSE
271 i_mem = 2
272C WRITE(IOUT,*)' **INFO: INTERFACE NB:',NOINT
273C WRITE(IOUT,*)' TOO MANY POSSIBLE IMPACTS'
274C WRITE(IOUT,*)' SIZE OF INFLUENCE ZONE IS'
275C WRITE(IOUT,*)' MULTIPLIED BY 0.75'
276 CALL ancmsg(msgid=103,
277 . msgtype=msgwarning,
278 . anmode=aninfo_blind_2,
279 . i1=id,
280 . c1=titr)
281 RETURN
282 ENDIF
283 ENDIF
284 ENDIF
285C write(6,*)"Node candidat",BPN(J)
286C write(6,*)"Element candidat",NE
287 ENDIF
288 20 CONTINUE
289C the bottoms of the stacks must be copied into the corresponding bas_de_pile
290C before descending again into the neighboring branch
291 CALL i7dstk(i_add,nb_nc,nb_ec,add,bpn,pn,bpe,pe)
292 RETURN
293 ENDIF
294C
295C-----------------------------------------------------------
296C
297C
298C 2- sorting phase on the median according to the largest direction
299C
300C
301C-----------------------------------------------------------
302C
303C
304C 1- DETERMINER LA DIRECTION A DIVISER X,Y OU Z
305C
306 dir = 1
307 IF(dy==dsup) THEN
308 dir = 2
309 ELSE IF(dz==dsup) THEN
310 dir = 3
311 ENDIF
312 seuil =(xyzm(dir+3,i_add)+xyzm(dir,i_add))/2
313C
314C 2- DIVISER LES NODES EN TWO ZONES
315C
316 nb_ncn= 0
317 addnn= add(1,1)
318 inf = 0
319 sup = 0
320 IF(igap==0)THEN
321 DO i=1,nb_nc
322 IF(x(dir,nsv(bpn(i)))<seuil) THEN
323C store in the bottom of the bp stack
324 addnn = addnn + 1
325 pn(addnn) = bpn(i)
326 inf = 1
327 ELSE
328 nb_ncn = nb_ncn + 1
329 bpn(nb_ncn) = bpn(i)
330C ON STOCKE EN ECRASANT PROGRESSIVEMENT BPN
331 sup = 1
332 ENDIF
333 END DO
334 ELSE
335 gapsmx = zero
336 bgapsmx = zero
337 DO i=1,nb_nc
338 IF(x(dir,nsv(bpn(i)))<seuil) THEN
339C store in the bottom of the bp stack
340 addnn = addnn + 1
341 pn(addnn) = bpn(i)
342 gapsmx = max(gapsmx,gap_s(bpn(i)))
343 inf = 1
344 ELSE
345C ON STOCKE EN ECRASANT PROGRESSIVEMENT BPN
346 nb_ncn = nb_ncn + 1
347 bpn(nb_ncn) = bpn(i)
348 bgapsmx = max(bgapsmx,gap_s(bpn(i)))
349 sup = 1
350 ENDIF
351 END DO
352 END IF
353CC
354CC 3- DIVISER LES ELEMENTS
355CC
356C NB_ECN= 0
357C ADDNE= ADD(2,1)
358C SEUILI = SEUIL-TZINF
359C SEUILS = SEUIL+TZINF
360C DO 85 I=1,NB_EC
361C INF = 0
362C SUP = 0
363C DO 80 J=1,4
364C IP = IRECT(J,BPE(I))
365C IF(X(DIR,IP)<SEUILS) THEN
366C INF = 1
367C IF(SUP==1) GOTO 81
368C ENDIF
369C IF(X(DIR,IP)>=SEUILI) THEN
370C SUP = 1
371C IF(INF==1) GOTO 81
372C ENDIF
373C 80 CONTINUE
374C
375C 81 CONTINUE
376C IF(INF==1) THEN
377C store in the bottom of the bp stack
378C ADDNE = ADDNE + 1
379C PE(ADDNE) = BPE(I)
380C ENDIF
381C IF(SUP==1) THEN
382C ON STOCKE EN ECRASANT PROGRESSIVEMENT BPE
383C NB_ECN = NB_ECN + 1
384C BPE(NB_ECN) = BPE(I)
385C ENDIF
386C 85 CONTINUE
387C
388C 3- divide the elements
389C
390C 2 LIGNES PROV FOR TEST
391C INF = 1
392C SUP = 1
393C
394 nb_ecn= 0
395 addne= add(2,1)
396 IF(igap==0)THEN
397 DO i=1,nb_ec
398 xmx=max(x(dir,irect(1,bpe(i))),x(dir,irect(2,bpe(i))),
399 . x(dir,irect(3,bpe(i))),x(dir,irect(4,bpe(i))))
400 . + tzinf
401 xmn=min(x(dir,irect(1,bpe(i))),x(dir,irect(2,bpe(i))),
402 . x(dir,irect(3,bpe(i))),x(dir,irect(4,bpe(i))))
403 . - tzinf
404 IF(xmn<seuil.AND.inf==1) THEN
405C store in the bottom of the bp stack
406 addne = addne + 1
407 pe(addne) = bpe(i)
408 ENDIF
409 IF(xmx>=seuil.AND.sup==1) THEN
410C ON STOCKE EN ECRASANT PROGRESSIVEMENT BPE
411 nb_ecn = nb_ecn + 1
412 bpe(nb_ecn) = bpe(i)
413 ENDIF
414 ENDDO
415 ELSE
416 DO i=1,nb_ec
417 xmn=min(x(dir,irect(1,bpe(i))),x(dir,irect(2,bpe(i))),
418 . x(dir,irect(3,bpe(i))),x(dir,irect(4,bpe(i))))
419 - -sqrt(three)*min(max(gapsmx+gap_m(bpe(i)),gapmin),gapmax)
420 - -marge
421 IF(xmn<seuil.AND.inf==1) THEN
422C store in the bottom of the bp stack
423 addne = addne + 1
424 pe(addne) = bpe(i)
425 ENDIF
426 xmx=max(x(dir,irect(1,bpe(i))),x(dir,irect(2,bpe(i))),
427 . x(dir,irect(3,bpe(i))),x(dir,irect(4,bpe(i))))
428 + +sqrt(three)*min(max(bgapsmx+gap_m(bpe(i)),gapmin),gapmax)
429 + +marge
430 IF(xmx>=seuil.AND.sup==1) THEN
431C ON STOCKE EN ECRASANT PROGRESSIVEMENT BPE
432 nb_ecn = nb_ecn + 1
433 bpe(nb_ecn) = bpe(i)
434 ENDIF
435 ENDDO
436 END IF
437C
438C 4- REMPLIR LES TABLEAUX D'ADRESSES
439C
440 add(1,2) = addnn
441 add(2,2) = addne
442C-----fill the min of the next box and the max of the current one
443C (i.e. threshold is a max for the current one)
444C We're going to go down and so we define a new box
445C fill the max of the new box
446C initialises in i7buc1 a 1.E30 comme ca on recupere
447C either xmax or the max of the box
448 xyzm(1,i_add+1) = xyzm(1,i_add)
449 xyzm(2,i_add+1) = xyzm(2,i_add)
450 xyzm(3,i_add+1) = xyzm(3,i_add)
451 xyzm(4,i_add+1) = xyzm(4,i_add)
452 xyzm(5,i_add+1) = xyzm(5,i_add)
453 xyzm(6,i_add+1) = xyzm(6,i_add)
454 xyzm(dir,i_add+1) = seuil
455 xyzm(dir+3,i_add) = seuil
456C
457 nb_nc = nb_ncn
458 nb_ec = nb_ecn
459C increment the descent level before exiting
460 i_add = i_add + 1
461 IF(i_add>=1000) THEN
462C TROP NIVEAUX PILE ON VAS LES PRENDRE PLUS GRANDES...
463 IF ( nb_n_b == numnod) THEN
464C WRITE(IOUT,*)'***COMPUTATION STOPPED WHILE INFINITELY LOOPING'
465C WRITE(ISTDO,*)'***COMPUTATION STOPPED WHILE INFINITELY LOOPING'
466C CALL ARRET(2)
467 IF (istamping == 1) THEN
468 CALL ancmsg(msgid=775,
469 . msgtype=msgerror,
470 . anmode=aninfo,
471 . i1=id,
472 . c1=titr)
473 ELSE
474 CALL ancmsg(msgid=685,
475 . msgtype=msgerror,
476 . anmode=aninfo,
477 . i1=id,
478 . c1=titr)
479 ENDIF
480 ENDIF
481 i_mem = 1
482 RETURN
483 ENDIF
484C
485C this return is only reached when ok = 0
486 RETURN
487 END
subroutine i23tri(bpe, pe, bpn, pn, add, irect, x, nb_nc, nb_ec, xyzm, i_add, nsv, i_amax, xmax, ymax, zmax, maxsiz, i_stok, i_mem, nb_n_b, cand_n, cand_e, nsn, noint, tzinf, maxbox, minbox, j_stok, msr, multimp, itab, gap, gap_s, igap, gapmin, gapmax, marge, id, titr, gap_m, prov_n, prov_e, ix1, ix2, ix3, ix4, nsvg, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xi, yi, zi, x0, y0, z0, nx1, ny1, nz1, nx2, ny2, nz2, nx3, ny3, nz3, nx4, ny4, nz4, p1, p2, p3, p4, lb1, lb2, lb3, lb4, lc1, lc2, lc3, lc4, n11, n21, n31, pene)
Definition i23tri.F:57
subroutine i7cmp3(i_stok, cand_e, cand_n, iflag, pene, prov_n, prov_e)
Definition i7cmp3.F:82
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21
initmumps id
integer, parameter nchartitle
subroutine i23cor3t(x, irect, nsv, cand_e, cand_n, gapv, igap, gap, gap_s, gapmin, gapmax, msr, gap_m, ix1, ix2, ix3, ix4, nsvg, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xi, yi, zi)
Definition i23cor3t.F:36
subroutine i7dst3(ix3, ix4, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xi, yi, zi, x0, y0, z0, nx1, ny1, nz1, nx2, ny2, nz2, nx3, ny3, nz3, nx4, ny4, nz4, p1, p2, p3, p4, lb1, lb2, lb3, lb4, lc1, lc2, lc3, lc4, last)
Definition i7dst3.F:46
subroutine i7dstk(i_add, nb_nc, nb_ec, add, bpn, pn, bpe, pe)
Definition i7dstk.F:33
subroutine i7pen3(marge, gapv, n1, n2, n3, pene, nx1, ny1, nz1, nx2, ny2, nz2, nx3, ny3, nz3, nx4, ny4, nz4, p1, p2, p3, p4, last)
Definition i7pen3.F:43
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
Definition message.F:895