40 1 X ,IRECT,NSV ,NSEG ,IRTL,
41 2 NMN ,NRTM ,MWA ,NSN ,XYZM ,
42 3 NOINT ,MSR ,ST ,DMIN ,TZINF05,
43 4 IGNORE,THK ,KNOD2ELS,KNOD2ELC,KNOD2ELTG,
44 5 NOD2ELS,NOD2ELC,NOD2ELTG,
45 6 NINT ,IXC ,IXTG ,THK_PART,IPARTC ,
46 7 GEO ,IXS ,IXS10 ,PM ,IXS16 ,
47 8 IXS20 ,IPARTTG ,ID ,TITR ,IGEO ,
49 1 IX1 ,IX2 ,IX3,IX4 ,NSVG ,
50 2 PROV_N ,PROV_E ,N11,N12 ,N13 ,
51 3 X1 ,X2 ,X3 ,X4 ,STIF ,
52 4 Y1 ,Y2 ,Y3 ,Y4 ,Z1 ,
53 5 Z2 ,Z3 ,Z4 ,XI ,YI ,
54 6 ZI ,X0 ,Y0 ,Z0 ,NX1 ,
55 7 NY1 ,NZ1 ,NX2,NY2 ,NZ2 ,
56 8 NX3 ,NY3 ,NZ3,NX4 ,NY4 ,
57 9 NZ4 ,P1 ,P2 ,P3 ,P4 ,
58 1 LB1 ,LB2 ,LB3,LB4 ,LC1 ,
59 2 LC2 ,LC3 ,LC4,S ,T ,
73#include "implicit_f.inc"
84#include "vect07_c.inc"
88 INTEGER NMN, NRTM, , NOINT, IGNORE, NINT,ILEV
89 INTEGER IRECT(4,*),NSV(*),NSEG(*),MWA(*)
90 INTEGER MSR(*),IRTL(*),MAXSIZ,KNOD2ELS(*), KNOD2ELC(*),
91 . KNOD2ELTG(*), NOD2ELS(*), NOD2ELC(*), NOD2ELTG(*),
92 . IXC(NIXC,*),IXTG(NIXTG,*),IPARTC(*),
93 . IXS(NIXS,*)(*), IXS20(*),IPARTTG(*),(*),
97 . X(3,*),XYZM(6,*),ST(*),DMIN(*),,THK(*),THK_PART(*),
98 . GEO(NPROPG,*),PM(*),PM_STACK(*)
100 CHARACTER(LEN=NCHARTITLE) :: TITR
101 INTEGER,
DIMENSION(MVSIZ),
INTENT(INOUT) :: PROV_N,PROV_E,NSVG
102 INTEGER,
DIMENSION(MVSIZ),
INTENT(INOUT) :: IX1,IX2,,IX4
103 my_real,
DIMENSION(MVSIZ),
INTENT(IN)
104DIMENSION(MVSIZ),
INTENT(INOUT) :: X1,X2,X3,X4
105 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: ,Y2,Y3,Y4
106 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: Z1,Z2,Z3,Z4
107 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: XI,YI,
108 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: X0
109DIMENSION(MVSIZ),
INTENT(IN) :: nx1,ny1,nz1
110 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: nx2,ny2,nz2
111 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: nx3,ny3,nz3
112 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: nx4,ny4,nz4
113 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: p1,p2,p3,p4
114 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: lb1,lb2,lb3,lb4
115 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :
116 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: stif
117 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: s,t
121 INTEGER I, J, L, N1, N2, N3, , I_AMAX,I_MEM
122 INTEGER I_ADD, ADESTK, NB_NC, NB_EC, ADNSTK,IEL,N
123 INTEGER IP1, IP2, IP21, IP22, IP31,J_STOK,I_BID,NB_N_B,IS,IAD,
124 . mg,ip,nels,nelc,neltg,jj,jjj,iflag
127 . dx1,dy1,dz1,dx3,dy3,dz3,dx4,dy4,dz4,dx6,dy6,dz6,
128 . dd1,dd2,dd3,dd4,dd,xmin,ymin,zmin,maxbox,minbox
129 . bid,tzinfmin,thksecnd,thkmain,
area,vol,gapv(mvsiz),dsearch
137 IF (ignore >= 2)
THEN
148 dx1=(x(1,n1)-x(1,n3))
149 dy1=(x(2,n1)-x(2,n3))
150 dz1=(x(3,n1)-x(3,n3))
151 dd=
max(dd,sqrt(dx1**2+dy1**2+dz1**2))
153 dx3=(x(1,n2)-x(1,n4))
154 dy3=(x(2,n2)-x(2,n4))
155 dz3=(x(3,n2)-x(3,n4))
156 dd=
max(dd,sqrt(dx1**2+dy1**2+dz1**2))
161 DO iad = knod2elc(is)+1,knod2elc(is+1)
165 IF ( thk_part(ip) /= zero)
THEN
166 thksecnd =
max(thksecnd,thk_part(ip))
167 ELSEIF ( thk(iel) /= zero)
THEN
168 thksecnd =
max(thksecnd,thk(iel))
170 thksecnd =
max(thksecnd,geo(1,mg))
174 DO iad = knod2eltg(is)+1,knod2eltg(is+1)
178 IF ( thk_part(ip) /= zero)
THEN
179 thksecnd =
max(thksecnd,thk_part(ip))
180 ELSEIF ( thk(iel) /= zero)
THEN
181 thksecnd =
max(thksecnd,thk(iel))
183 thksecnd =
max(thksecnd,geo(1,mg))
191 CALL insol3(x,irect,ixs,nint,nels,i,
192 .
area,noint,knod2els ,nod2els ,0 ,ixs10,
194 CALL incoq3(irect,ixc ,ixtg ,nint ,nelc ,
195 . neltg,i,geo ,pm ,knod2elc ,
196 . knod2eltg ,nod2elc ,nod2eltg,thk,2,igeo ,
197 . pm_stack , iworksh)
201 IF ( thk_part(ip) /= zero)
THEN
202 thkmain =
max(thkmain,thk_part(ip))
203 ELSEIF ( thk(nelc) /= zero)
THEN
204 thkmain =
max(thkmain,thk(nelc))
206 thkmain =
max(thkmain,geo(1,mg))
208 ELSEIF (neltg /= 0)
THEN
211 IF ( thk_part(ip) /= zero)
THEN
212 thkmain =
max(thkmain,thk_part(ip))
213 ELSEIF ( thk(numelc+neltg) /= zero)
THEN
214 thkmain =
max(thkmain,thk(numelc+neltg))
216 thkmain =
max(thkmain,geo(1,mg))
218 ELSEIF(nels/=0 .AND. nels <= numels8 .AND. ignore == 2)
THEN
227 thkmain =
max(thkmain,vol/
area)
232 . tzinf05 =
max(zep05*dd,0.6*(thkmain+thksecnd))
245 dx1=(x(1,n1)-x(1,n2))
246 dy1=(x(2,n1)-x(2,n2))
247 dz1=(x(3,n1)-x(3,n2))
248 dd1=(dx1**2+dy1**2+dz1**2)
250 dx3=(x(1,n1)-x(1,n4))
252 dz3=(x(3,n1)-x(3,n4))
253 dd2=(dx3**2+dy3**2+dz3**2)
255 dx4=(x(1,n3)-x(1,n2))
256 dy4=(x(2,n3)-x(2,n2))
257 dz4=(x(3,n3)-x(3,n2))
258 dd3=(dx4**2+dy4**2+dz4**2)
260 dx6=(x(1,n4)-x(1,n3))
261 dy6=(x(2,n4)-x(2,n3))
262 dz6=(x(3,n4)-x(3,n3))
263 dd4=(dx6**2+dy6**2+dz6**2)
264 dd=dd+ (dd1+dd2+dd3+dd4)
267 dd = sqrt(dd/nrtm/four)
268 IF(tzinf05==zero)tzinf05 = dd
271 tzinfmin = tzinf05*em01
285 xmin=
min(xmin,x(1,j))
286 ymin=
min(ymin,x(2,j))
287 zmin=
min(zmin,x(3,j))
288 xmax=
max(xmax,x(1,j))
290 zmax=
max(zmax,x(3,j))
300 xmin=
min(xmin,x(1,j))
301 ymin=
min(ymin,x(2,j))
302 zmin=
min(zmin,x(3,j))
303 xmax=
max(xmax,x(1,j))
305 zmax=
max(zmax,x(3,j))
337 maxsiz =
max(numnod,nrtm+100)
387 1 mwa(ip1),mwa(ip2),mwa(ip21),mwa(ip22),mwa(ip31+2*(i_add-2)),
388 2 irect ,x ,nb_nc ,nb_ec ,xyzm,
389 3 i_add ,nsv ,i_amax ,xmax ,
ymax,
390 4 zmax ,3*maxsiz,i_mem ,nb_n_b ,nsn ,
391 5 noint ,tzinf05 ,maxbox ,minbox ,j_stok,
392 6 irtl ,st ,dmin ,ignore ,thk ,
393 7 knod2els,knod2elc,knod2eltg,nod2els ,nod2elc,
394 8 nod2eltg,nint ,ixc ,
395 9 ixtg ,thk_part ,ipartc ,geo ,ixs ,
396 a ixs10 ,pm ,ixs16 ,ixs20 ,iparttg,
397 b id ,titr ,igeo ,dsearch ,pm_stack ,
399 d ix1 ,ix2 ,ix3,ix4 ,nsvg ,
400 1 prov_n ,prov_e ,n11,n12 ,n13 ,
401 2 x1 ,x2 ,x3 ,x4 ,stif ,
402 3 y1 ,y2 ,y3 ,y4 ,z1 ,
403 4 z2 ,z3 ,z4 ,xi ,yi ,
404 5 zi ,x0 ,y0 ,z0 ,nx1 ,
405 6 ny1 ,nz1 ,nx2,ny2 ,nz2 ,
406 7 nx3 ,ny3 ,nz3,nx4 ,ny4 ,
407 8 nz4 ,p1 ,p2 ,p3 ,p4 ,
408 9 lb1 ,lb2 ,lb3,lb4 ,lc1 ,
409 1 lc2 ,lc3 ,lc4,s ,t ,
418 ELSE IF(i_mem==2)
THEN
419 tzinf05 = three_over_4*tzinf05
424 IF( tzinf05<tzinfmin )
THEN
433 IF(i_add/=0)
GO TO 200
439 CALL i2cor3(x ,irect ,nsv ,prov_e ,prov_n,
440 . bid ,bid ,gapv ,0 ,tzinf05,
441 . bid ,bid ,0 ,nint ,ixc ,
442 4 ixtg ,thk_part,ipartc,geo , noint,
443 5 ixs ,ixs10 ,pm ,thk ,knod2els,
444 6 knod2elc,knod2eltg,nod2els,nod2elc,nod2eltg,
445 7 ignore,ixs16 ,ixs20 ,iparttg,igeo,dsearch ,
446 8 pm_stack , iworksh ,ix1 ,ix2 ,
447 5 ix3 ,ix4 ,nsvg,x1 ,x2 ,
448 6 x3 ,x4 ,y1 ,y2 ,y3 ,
449 7 y4 ,z1 ,z2 ,z3 ,z4 ,
450 8 xi ,yi ,zi ,stif ,iflag )
454 CALL i2dst3_27(gapv,prov_e ,prov_n,tzinf05,irtl,st,dmin,ignore,
455 . thk ,knod2els,knod2elc,knod2eltg,nod2els,
456 . nod2elc,nod2eltg,x,irect,
457 . nint,ixc ,ixtg ,thk_part,ipartc
458 . noint,ixs,ixs10,pm,ix3,
459 1 ix4,x1 ,x2 ,x3 ,x4 ,
461 2 z2 ,z3 ,z4 ,xi ,yi ,
462 3 zi ,x0 ,y0 ,z0 ,nx1,
463 4 ny1,nz1,nx2,ny2,nz2,
464 5 nx3,ny3,nz3,nx4,ny4,
465 6 nz4,p1 ,p2 ,p3 ,p4 ,
466 7 lb1,lb2,lb3,lb4,lc1,
469 CALL i2dst3(gapv,prov_e ,prov_n,tzinf05,irtl,st,dmin,ignore,
470 . thk ,knod2els,knod2elc,knod2eltg,nod2els,
471 . nod2elc,nod2eltg,x,irect,
472 . nint,ixc ,ixtg ,thk_part,ipartc,geo,
473 . noint,ixs,ixs10,pm,ix3,
475 1 y1 ,y2 ,y3 ,y4 ,z1 ,
476 2 z2 ,z3 ,z4 ,xi ,yi ,
477 3 zi ,x0 ,y0 ,z0 ,nx1,
478 4 ny1,nz1,nx2,ny2,nz2,
479 5 nx3,ny3,nz3,nx4,ny4,
480 6 nz4,p1 ,p2 ,p3 ,p4 ,
481 7 lb1,lb2,lb3,lb4,lc1,
subroutine i2buc1(x, irect, nsv, nseg, irtl, nmn, nrtm, mwa, nsn, xyzm, noint, msr, st, dmin, tzinf05, ignore, thk, knod2els, knod2elc, knod2eltg, nod2els, nod2elc, nod2eltg, nint, ixc, ixtg, thk_part, ipartc, geo, ixs, ixs10, pm, ixs16, ixs20, iparttg, id, titr, igeo, pm_stack, iworksh, ix1, ix2, ix3, ix4, nsvg, prov_n, prov_e, n11, n12, n13, x1, x2, x3, x4, stif, 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, s, t, ilev)
subroutine i2cor3(x, irect, nsv, cand_e, cand_n, stf, stfn, gapv, igap, gap, gap_s, gap_m, istf, nint, ixc, ixtg, thk_part, ipartc, geo, noint, ixs, ixs10, pm, thk, knod2els, knod2elc, knod2eltg, nod2els, nod2elc, nod2eltg, ignore, ixs16, ixs20, iparttg, igeo, dsearch, pm_stack, iworksh, ix1, ix2, ix3, ix4, nsvg, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xi, yi, zi, stif, iflag)
subroutine i2dst3(gapv, cand_e, cand_n, tzinf, irtl, st, dmin, ignore, thk, knod2els, knod2elc, knod2eltg, nod2els, nod2elc, nod2eltg, x, irect, nint, ixc, ixtg, thk_part, ipartc, geo, noint, ixs, ixs10, pm, 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, s, t)
subroutine i2dst3_27(gapv, cand_e, cand_n, tzinf, irtl, st, dmin, ignore, thk, knod2els, knod2elc, knod2eltg, nod2els, nod2elc, nod2eltg, x, irect, nint, ixc, ixtg, thk_part, ipartc, geo, noint, ixs, ixs10, pm, 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, s, t)
subroutine i2tri(bpe, pe, bpn, pn, add, irect, x, nb_nc, nb_ec, xyzm, i_add, nsv, i_amax, xmax, ymax, zmax, maxsiz, i_mem, nb_n_b, nsn, noint, tzinf, maxbox, minbox, j_stok, irtl, st, dmin, ignore, thk, knod2els, knod2elc, knod2eltg, nod2els, nod2elc, nod2eltg, nint, ixc, ixtg, thk_part, ipartc, geo, ixs, ixs10, pm, ixs16, ixs20, iparttg, id, titr, igeo, dsearch, pm_stack, iworksh, ix1, ix2, ix3, ix4, nsvg, prov_n, prov_e, n11, n12, n13, x1, x2, x3, x4, stif, 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, s, t, ilev)