OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i7buc_vox1.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!|| i7buc_vox1 ../starter/source/interfaces/inter3d1/i7buc_vox1.F
25!||--- called by ------------------------------------------------------
26!|| inint3 ../starter/source/interfaces/inter3d1/inint3.F
27!||--- calls -----------------------------------------------------
28!|| ancmsg ../starter/source/output/message/message.F
29!|| i7trivox1 ../starter/source/interfaces/inter3d1/i7trivox1.F
30!||--- uses -----------------------------------------------------
31!|| front_mod ../starter/share/modules1/front_mod.F
32!|| message_mod ../starter/share/message_module/message_mod.F
33!|| tri7box ../starter/share/modules1/tri7box.F
34!||====================================================================
35 SUBROUTINE i7buc_vox1(
36 1 X ,IRECT,NSV ,BUMULT,NSEG ,
37 2 NMN ,NRTM ,MWA ,NSN ,
38 3 GAP ,XYZM ,NOINT ,I_STOK ,
39 4 DIST ,TZINF,MSR ,
40 5 STF ,STFN ,MULTIMP,ISTF ,IDDLEVEL,
41 6 ITAB ,GAP_S,GAP_M ,IGAP ,GAPMIN ,
42 7 GAPMAX,INACTI,GAP_S_L,GAP_M_L,I_MEM ,
43 8 NCONT ,ICURV ,BGAPSMX,ID, TITR,
44 9 DRAD ,INTERCEP,NIN,
45 1 IREMNODE,FLAGREMNODE,KREMNODE,REMNODE,
46 2 DGAPLOAD,npari,ipari,intbuf_tab,IS_USED_WITH_LAW151)
47C============================================================================
48C M o d u l e s
49C-----------------------------------------------
50 USE message_mod
51 USE tri7box
52 USE front_mod
54 use intbufdef_mod
55C-----------------------------------------------
56C I m p l i c i t T y p e s
57C-----------------------------------------------
58#include "implicit_f.inc"
59C-----------------------------------------------
60C G l o b a l P a r a m e t e r s
61C-----------------------------------------------
62#include "mvsiz_p.inc"
63C-----------------------------------------------
64C C o m m o n B l o c k s
65C-----------------------------------------------
66#include "units_c.inc"
67#include "com01_c.inc"
68#include "com04_c.inc"
69#include "vect07_c.inc"
70#include "scr06_c.inc"
71C-----------------------------------------------
72C D u m m y A r g u m e n t s
73C-----------------------------------------------
74 INTEGER NMN, NRTM, NSN, NOINT,I_STOK,MULTIMP,ISTF,IGAP,
75 . INACTI,I_MEM,NIN,IREMNODE,FLAGREMNODE
76 INTEGER IRECT(4,*),NSV(*),NSEG(*),MWA(*)
77 INTEGER MSR(*),IDDLEVEL
78 INTEGER ITAB(*),NCONT,ICURV,KREMNODE(*),REMNODE(*)
79 my_real
80 . STF(*),STFN(*),X(3,*),XYZM(6,2),GAP_S(*),GAP_M(*),
81 . DIST,BUMULT,GAP,TZINF,GAPMIN,GAPMAX,
82 . GAP_S_L(*),GAP_M_L(*),BGAPSMX, DRAD
83 my_real , INTENT(IN) :: DGAPLOAD
84 INTEGER ID
85 CHARACTER(LEN=NCHARTITLE) :: TITR
86 TYPE(INTERSURFP) :: INTERCEP(3,NINTER)
87 integer, intent(in) :: npari
88 integer, dimension(npari), intent(inout) :: ipari !< interface data
89 type(intbuf_struct_), intent(inout) :: intbuf_tab !< interface data
90 LOGICAL,INTENT(IN) :: IS_USED_WITH_LAW151
91C-----------------------------------------------
92C L o c a l V a r i a b l e s
93C-----------------------------------------------
94 INTEGER NRTM_L
95 INTEGER, DIMENSION(:), ALLOCATABLE :: INDEX
96 INTEGER NBX,NBY,NBZ
97 INTEGER (KIND=8) :: NBX8,NBY8,NBZ8,RES8,LVOXEL8
98 INTEGER I, J, K, I_ADD, L, LOC_PROC, N, ISZNSNR,
99 . n1, n2, n3, n4, ncontact,i_bid,i_stok_old,
100 . ix1,iy1,iz1,ix2,iy2,iz2,ix,iy,iz
101 my_real
102 . marge, aaa,tzinf_st,marge_st
103 my_real
104 . dx1,dy1,dz1,
105 . dx3,dy3,dz3,
106 . dx4,dy4,dz4,
107 . dx6,dy6,dz6,
108 . dd1,dd2,dd3,dd4,dd,dd0,xmin,ymin,zmin,
109 . xmax_m,ymax_m,zmax_m,xmin_m,ymin_m,zmin_m,
110 . xmax_s,ymax_s,zmax_s,xmin_s,ymin_s,zmin_s,
111 . xmax,ymax,zmax,xxx,yyy,zzz,
112 . xminb, yminb, zminb, xmaxb, ymaxb, zmaxb,
113 . mean_x, mean_y, mean_z, dev_x, dev_y, dev_z,
114 . gapv(mvsiz),c_max,
115 . tstart,tstop,
116 . xmine,ymine,zmine,xmaxe,ymaxe,zmaxe,
117 . xx1,xx2,xx3,xx4,yy1,yy2,yy3,yy4,zz1,zz2,zz3,zz4
118 my_real, DIMENSION(:), ALLOCATABLE :: curv_max
119 INTEGER, DIMENSION(:),ALLOCATABLE :: IIX,IIY,IIZ,LOCAL_NEXT_NOD
120
121 LOGICAL :: TYPE18
122 INTEGER (KIND=8) :: IONE,IHUNDRED !< Integer constants in INTEGER 8 for comparisions
123C-----------------------------------------------
124C S o u r c e L i n e s
125C-----------------------------------------------
126 IONE=1 !< Constant init
127 ihundred=100 !< Constant init
128
129 ALLOCATE( index(nrtm) )
130 ALLOCATE( curv_max(nrtm) )
131 ALLOCATE(local_next_nod(nsn))
132 ALLOCATE(iix(nsn))
133 ALLOCATE(iiy(nsn))
134 ALLOCATE(iiz(nsn))
135 type18=.false.
136 IF(inacti==7)type18=.true.
137
138 mwa(1:numnod+numfakenodigeo) = 0
139 ncontact = multimp * ncont
140 c_max = zero
141 IF(icurv/=0)THEN
142 DO i=1,nrtm
143 xxx=max(x(1,irect(1,i)),x(1,irect(2,i)),
144 . x(1,irect(3,i)),x(1,irect(4,i)))
145 . -min(x(1,irect(1,i)),x(1,irect(2,i)),
146 . x(1,irect(3,i)),x(1,irect(4,i)))
147 yyy=max(x(2,irect(1,i)),x(2,irect(2,i)),
148 . x(2,irect(3,i)),x(2,irect(4,i)))
149 . -min(x(2,irect(1,i)),x(2,irect(2,i)),
150 . x(2,irect(3,i)),x(2,irect(4,i)))
151 zzz=max(x(3,irect(1,i)),x(3,irect(2,i)),
152 . x(3,irect(3,i)),x(3,irect(4,i)))
153 . -min(x(3,irect(1,i)),x(3,irect(2,i)),
154 . x(3,irect(3,i)),x(3,irect(4,i)))
155 curv_max(i) = half * max(xxx,yyy,zzz)
156 c_max = max(c_max,curv_max(i))
157 ENDDO
158 ELSE
159 DO i=1,nrtm
160 curv_max(i)=zero
161 ENDDO
162 ENDIF
163C-----
164 dd=zero
165 DO 10 l=1,nrtm
166C CONNECIVITES ELEMENT
167 n1=irect(1,l)
168 n2=irect(2,l)
169 n3=irect(3,l)
170 n4=irect(4,l)
171C LONGUEUR COTE 1
172 dx1=(x(1,n1)-x(1,n2))
173 dy1=(x(2,n1)-x(2,n2))
174 dz1=(x(3,n1)-x(3,n2))
175 dd1=sqrt(dx1**2+dy1**2+dz1**2)
176C LONGUEUR COTE 2
177 dx3=(x(1,n1)-x(1,n4))
178 dy3=(x(2,n1)-x(2,n4))
179 dz3=(x(3,n1)-x(3,n4))
180 dd2=sqrt(dx3**2+dy3**2+dz3**2)
181C LONGUEUR COTE 3
182 dx4=(x(1,n3)-x(1,n2))
183 dy4=(x(2,n3)-x(2,n2))
184 dz4=(x(3,n3)-x(3,n2))
185 dd3=sqrt(dx4**2+dy4**2+dz4**2)
186C LONGUEUR COTE 4
187 dx6=(x(1,n4)-x(1,n3))
188 dy6=(x(2,n4)-x(2,n3))
189 dz6=(x(3,n4)-x(3,n3))
190 dd4=sqrt(dx6**2+dy6**2+dz6**2)
191 dd=dd+ (dd1+dd2+dd3+dd4)
192 10 CONTINUE
193 dd0=dd/nrtm/four
194 dd =dd0
195C DD = MAX(DD0,ONEP251*GAP)
196C DD = MAX(DD ,ONEP251*DRAD)
197C remove this additional test which breaks igap performance
198C in case this factor is needed, then needs to compute mean gap instead
199C
200C MARGE : marge engine dependante du BUMULT en input (ajustable pour performance)
201 marge = bumult*dd
202 tzinf = marge + max(gap+dgapload,drad)
203C MARGE_ST : marge independante du BUMULT en input necessaire pour trouver les pene initiales de maniere parith/on
204 marge_st = bmul0*dd
205C 1er passage avec marge x2 pour trouver plus de candidats (revient a prendre bmul0=0.4 au lieu de 0.2)
206C IF(IDDLEVEL==0) MARGE_ST = 2*MARGE_ST
207 IF(iddlevel==0) marge_st = marge
208 tzinf_st = marge_st + max(gap+dgapload,drad)
209C MIS A ZERO POUR FAIRE SEARCH COMPLET CYCLE 0 ENGINE
210 dist = zero
211C TEST TO BY-PASS SECOND SEARCH
212C IF(IDDLEVEL==1 .AND. MARGE >= MARGE_ST) GOTO 999 !
213C----- BORNES DU DOMAINE
214 xmax_m=-ep30
215 ymax_m=-ep30
216 zmax_m=-ep30
217 xmin_m=ep30
218 ymin_m=ep30
219 zmin_m=ep30
220 100 CONTINUE
221 i_stok = 0
222 i_mem = 0
223C Loop over the domain to improve sorting performance
224 DO loc_proc=1,nspmd
225 nrtm_l=0
226 DO i=1,nrtm
227 IF(intercep(1,nin)%P(i)==loc_proc)THEN
228 nrtm_l=nrtm_l+1
229 index(nrtm_l)=i
230 END IF
231 END DO
232C
233c print *,NOINT,'***************start loop:',
234c . LOC_PROC,NSPMD,NRTM,NRTM_L
235 IF(nrtm_l == 0)cycle
236 mean_x=zero
237 mean_y=zero
238 mean_z=zero
239 DO k=1,nrtm_l
240 i = index(k)
241 j=irect(1,i)
242 xmax_m= max(xmax_m,x(1,j))
243 ymax_m= max(ymax_m,x(2,j))
244 zmax_m= max(zmax_m,x(3,j))
245 xmin_m= min(xmin_m,x(1,j))
246 ymin_m= min(ymin_m,x(2,j))
247 zmin_m= min(zmin_m,x(3,j))
248 mean_x=mean_x+x(1,j)
249 mean_y=mean_y+x(2,j)
250 mean_z=mean_z+x(3,j)
251 j=irect(2,i)
252 xmax_m= max(xmax_m,x(1,j))
253 ymax_m= max(ymax_m,x(2,j))
254 zmax_m= max(zmax_m,x(3,j))
255 xmin_m= min(xmin_m,x(1,j))
256 ymin_m= min(ymin_m,x(2,j))
257 zmin_m= min(zmin_m,x(3,j))
258 mean_x=mean_x+x(1,j)
259 mean_y=mean_y+x(2,j)
260 mean_z=mean_z+x(3,j)
261 j=irect(3,i)
262 xmax_m= max(xmax_m,x(1,j))
263 ymax_m= max(ymax_m,x(2,j))
264 zmax_m= max(zmax_m,x(3,j))
265 xmin_m= min(xmin_m,x(1,j))
266 ymin_m= min(ymin_m,x(2,j))
267 zmin_m= min(zmin_m,x(3,j))
268 mean_x=mean_x+x(1,j)
269 mean_y=mean_y+x(2,j)
270 mean_z=mean_z+x(3,j)
271 j=irect(4,i)
272 xmax_m= max(xmax_m,x(1,j))
273 ymax_m= max(ymax_m,x(2,j))
274 zmax_m= max(zmax_m,x(3,j))
275 xmin_m= min(xmin_m,x(1,j))
276 ymin_m= min(ymin_m,x(2,j))
277 zmin_m= min(zmin_m,x(3,j))
278 mean_x=mean_x+x(1,j)
279 mean_y=mean_y+x(2,j)
280 mean_z=mean_z+x(3,j)
281 END DO
282
283C MIN/MAX DOMAINE
284 xmin=xmin_m-tzinf_st
285 ymin=ymin_m-tzinf_st
286 zmin=zmin_m-tzinf_st
287 xmax=xmax_m+tzinf_st
288 ymax=ymax_m+tzinf_st
289 zmax=zmax_m+tzinf_st
290c print*,'bornes min:',XMIN,YMIN,ZMIN
291c print*,'bornes max:',XMAX,YMAX,ZMAX
292
293 mean_x=mean_x/max((4*nrtm_l),1)
294 mean_y=mean_y/max((4*nrtm_l),1)
295 mean_z=mean_z/max((4*nrtm_l),1)
296C STD DEVIATION & CRVOXEL
297 dev_x=zero
298 dev_y=zero
299 dev_z=zero
300 crvoxel(0:lrvoxel,0:lrvoxel)=0
301 nbx = lrvoxel
302 nby = lrvoxel
303 nbz = lrvoxel
304 DO k=1,nrtm_l
305 i = index(k)
306 n1 = irect(1,i)
307 n2 = irect(2,i)
308 n3 = irect(3,i)
309 n4 = irect(4,i)
310 xx1=x(1,n1)
311 xx2=x(1,n2)
312 xx3=x(1,n3)
313 xx4=x(1,n4)
314 xmaxe=max(xx1,xx2,xx3,xx4)
315 xmine=min(xx1,xx2,xx3,xx4)
316 dev_x=dev_x+(xx1-mean_x)**2+(xx2-mean_x)**2
317 . +(xx3-mean_x)**2+(xx4-mean_x)**2
318 yy1=x(2,n1)
319 yy2=x(2,n2)
320 yy3=x(2,n3)
321 yy4=x(2,n4)
322 ymaxe=max(yy1,yy2,yy3,yy4)
323 ymine=min(yy1,yy2,yy3,yy4)
324 dev_y=dev_y+(yy1-mean_y)**2+(yy2-mean_y)**2
325 . +(yy3-mean_y)**2+(yy4-mean_y)**2
326 zz1=x(3,n1)
327 zz2=x(3,n2)
328 zz3=x(3,n3)
329 zz4=x(3,n4)
330 zmaxe=max(zz1,zz2,zz3,zz4)
331 zmine=min(zz1,zz2,zz3,zz4)
332 dev_z=dev_z+(zz1-mean_z)**2+(zz2-mean_z)**2
333 . +(zz3-mean_z)**2+(zz4-mean_z)**2
334
335C indice des voxels occupes par la facette
336
337 ix1=int(nbx*(xmine-tzinf_st-xmin)/(xmax-xmin))
338 iy1=int(nby*(ymine-tzinf_st-ymin)/(ymax-ymin))
339 iz1=int(nbz*(zmine-tzinf_st-zmin)/(zmax-zmin))
340 ix1=max(0,min(nbx,ix1))
341 iy1=max(0,min(nby,iy1))
342 iz1=max(0,min(nbz,iz1))
343 ix2=int(nbx*(xmaxe+tzinf_st-xmin)/(xmax-xmin))
344 iy2=int(nby*(ymaxe+tzinf_st-ymin)/(ymax-ymin))
345 iz2=int(nbz*(zmaxe+tzinf_st-zmin)/(zmax-zmin))
346 ix2=max(0,min(nbx,ix2))
347 iy2=max(0,min(nby,iy2))
348 iz2=max(0,min(nbz,iz2))
349
350 DO iz = iz1, iz2
351 DO iy = iy1, iy2
352 DO ix = ix1, ix2
353 crvoxel(iy,iz)=ibset(crvoxel(iy,iz),ix)
354 END DO
355 END DO
356 END DO
357
358 END DO
359 dev_x=sqrt(dev_x/max(4*nrtm_l,1))
360 dev_y=sqrt(dev_y/max(4*nrtm_l,1))
361 dev_z=sqrt(dev_z/max(4*nrtm_l,1))
362C we keep all in +/- 2 sigma => 95% of the population for normal law distribution
363 xminb=max(mean_x-2*dev_x,xmin)
364 yminb=max(mean_y-2*dev_y,ymin)
365 zminb=max(mean_z-2*dev_z,zmin)
366 xmaxb=min(mean_x+2*dev_x,xmax)
367 ymaxb=min(mean_y+2*dev_y,ymax)
368 zmaxb=min(mean_z+2*dev_z,zmax)
369C Test cas particulier 2D
370 IF(abs(xminb-xmaxb) < em10)THEN
371 xminb=xmin
372 xmaxb=xmax
373 END IF
374 IF(abs(yminb-ymaxb) < em10)THEN
375 yminb=ymin
376 ymaxb=ymax
377 END IF
378 IF(abs(zminb-zmaxb) < em10)THEN
379 zminb=zmin
380 zmaxb=zmax
381 END IF
382
383 xyzm(1,1) = xmin
384 xyzm(2,1) = ymin
385 xyzm(3,1) = zmin
386 xyzm(4,1) = xmax
387 xyzm(5,1) = ymax
388 xyzm(6,1) = zmax
389 xyzm(1,2) = xminb
390 xyzm(2,2) = yminb
391 xyzm(3,2) = zminb
392 xyzm(4,2) = xmaxb
393 xyzm(5,2) = ymaxb
394 xyzm(6,2) = zmaxb
395C
396 aaa = sqrt(nmn /
397 . ((xmaxb-xminb)*(ymaxb-yminb)
398 . +(ymaxb-yminb)*(zmaxb-zminb)
399 . +(zmaxb-zminb)*(xmaxb-xminb)))
400 aaa = 0.75*aaa
401
402 nbx = nint(aaa*(xmaxb-xminb))
403 nby = nint(aaa*(ymaxb-yminb))
404 nbz = nint(aaa*(zmaxb-zminb))
405 nbx = max(nbx,1)
406 nby = max(nby,1)
407 nbz = max(nbz,1)
408
409 nbx8=nbx
410 nby8=nby
411 nbz8=nbz
412 res8=(nbx8+2)*(nby8+2)*(nbz8+2)
413 lvoxel8 = lvoxel
414
415 IF(res8 > lvoxel8) THEN
416 aaa = lvoxel
417 aaa = aaa/((nbx8+2)*(nby8+2)*(nbz8+2))
418 aaa = aaa**(third)
419 nbx = int((nbx+2)*aaa)-2
420 nby = int((nby+2)*aaa)-2
421 nbz = int((nbz+2)*aaa)-2
422 nbx = max(nbx,1)
423 nby = max(nby,1)
424 nbz = max(nbz,1)
425 ENDIF
426
427 nbx8=nbx
428 nby8=nby
429 nbz8=nbz
430 res8=(nbx8+2)*(nby8+2)*(nbz8+2)
431
432 IF(res8 > lvoxel8) THEN
433 nbx = min(ihundred,max(nbx8,ione))
434 nby = min(ihundred,max(nby8,ione))
435 nbz = min(ihundred,max(nbz8,ione))
436 ENDIF
437
438C initialisation complete de VOXEL
439 DO i=inivoxel,(nbx+2)*(nby+2)*(nbz+2)
440 voxel1(i)=0
441 ENDDO
442 inivoxel = max(inivoxel,(nbx+2)*(nby+2)*(nbz+2)+1)
443C------------------
444 200 CONTINUE
445C------------------
446!$OMP PARALLEL
447 CALL i7trivox1(
448 1 nsn ,i_mem ,irect ,x ,stf ,
449 2 stfn ,xyzm ,nsv ,
450 3 ncontact ,noint ,tzinf_st ,gap_s_l ,gap_m_l ,
451 4 voxel1 ,nbx ,nby ,nbz ,nrtm_l ,
452 5 igap ,gap ,gap_s ,gap_m ,gapmin ,
453 6 gapmax ,marge_st,curv_max ,bgapsmx ,istf ,
454 7 i_stok ,nin,
455 8 id ,titr ,drad ,index ,
456 9 iremnode,flagremnode,kremnode,remnode,
457 1 dgapload,ipari,intbuf_tab,
458 2 iix,iiy,iiz,local_next_nod,nrtm,is_used_with_law151 )
459!$OMP END PARALLEL
460C------------------
461
462 IF (i_mem == 2)THEN
463 RETURN
464 ENDIF
465C I_MEM = 1 ==> PAS ASSEZ DE MEMOIRE PILE
466C I_MEM = 2 ==> PAS ASSEZ DE MEMOIRE CANDIDATS
467 IF(i_mem==1)THEN
468 i_mem = 0
469 GO TO 100
470 ELSE IF(i_mem==2) THEN
471 marge_st = three_over_4*marge_st
472 tzinf_st = marge_st + max(gap,drad)
473 i_mem = 0
474 IF(marge_st<em03) THEN
475 CALL ancmsg(msgid=83,
476 . msgtype=msgerror,
477 . anmode=aninfo,
478 . i1=id,
479 . c1=titr)
480 ENDIF
481 GO TO 100
482 ENDIF
483C---------------------------------
484 END DO ! end loop over NSPMD domains
485
486 IF(.NOT.type18)THEN
487 IF(nsn/=0)THEN
488 WRITE(iout,*)' POSSIBLE IMPACT NUMBER:',i_stok,' (<=',
489 . 1+(i_stok-1)/nsn,'*NSN)'
490
491C
492 ELSE
493 CALL ancmsg(msgid=552,
494 . msgtype=msgwarning,
495 . anmode=aninfo_blind_2,
496 . i1=id,
497 . c1=titr)
498 ENDIF
499 endif!(.NOT.TYPE18)
500C
501 DEALLOCATE( index )
502 DEALLOCATE( curv_max )
503 DEALLOCATE(local_next_nod)
504 DEALLOCATE(iix)
505 DEALLOCATE(iiy)
506 DEALLOCATE(iiz)
507 RETURN
508 END
subroutine i7buc_vox1(x, irect, nsv, bumult, nseg, nmn, nrtm, mwa, nsn, gap, xyzm, noint, i_stok, dist, tzinf, msr, stf, stfn, multimp, istf, iddlevel, itab, gap_s, gap_m, igap, gapmin, gapmax, inacti, gap_s_l, gap_m_l, i_mem, ncont, icurv, bgapsmx, id, titr, drad, intercep, nin, iremnode, flagremnode, kremnode, remnode, dgapload, npari, ipari, intbuf_tab, is_used_with_law151)
Definition i7buc_vox1.F:47
subroutine i7trivox1(nsn, i_mem, irect, x, stf, stfn, xyzm, nsv, mulnsn, noint, tzinf, gap_s_l, gap_m_l, voxel, nbx, nby, nbz, nrtm_l, igap, gap, gap_s, gap_m, gapmin, gapmax, marge, curv_max, bgapsmx, istf, i_stok, nin, id, titr, drad, index, iremnode, flagremnode, kremnode, remnode, dgapload, ipari, intbuf_tab, iix, iiy, iiz, local_next_nod, nrtm, is_used_with_law151)
Definition i7trivox1.F:48
subroutine ymax(idn, fac, npc, pld, stiffmin, stiffmax, stiffini, stiffavg)
Definition law100_upd.F:272
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21
integer, parameter nchartitle
integer, dimension(lvoxel) voxel1
Definition tri7box.F:53
integer inivoxel
Definition tri7box.F:53
integer, dimension(0:lrvoxel, 0:lrvoxel) crvoxel
Definition tri7box.F:56
integer lvoxel
Definition tri7box.F:51
integer lrvoxel
Definition tri7box.F:54
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:889