43 2 IXS ,IXC ,IXTG ,IXT ,
44 3 IXP ,WA ,NINT ,NTY ,
45 4 NOINT ,NRT ,NSN ,IRECT ,
46 5 NSV ,INACTI ,GAP ,IGAP ,
47 6 GAP_S ,GAP_M ,GAPMIN ,GAPINF ,
48 7 GAPMAX ,STFAC ,STF ,STFN ,
49 8 KNOD2ELS ,KNOD2ELC ,KNOD2ELTG ,NOD2ELS ,
50 9 NOD2ELC ,NOD2ELTG ,IGRSURF1 ,IFS2 ,
51 A IGRSURF2 ,INTTH ,IELES ,
52 B IELEC ,AREAS ,IPARTC ,IPARTTG ,
53 C THK ,THK_PART ,GAP_SH ,XANEW ,
54 D GAPSHMAX ,NBINFLG ,MBINFLG ,NLN ,
55 E NLG ,GAPSOL ,IXS10 ,IXS16 ,
56 F IXS20 ,ID,TITR ,IGEO ,PM_STACK ,
67#include "implicit_f.inc"
79 INTEGER NRT, NINT, NTY, NOINT,NSN,IGAP, NDDIM,
81 INTEGER IRECT(4,*), IXS(NIXS,*), IXC(NIXC,*),
82 . NSV(*), IXTG(NIXTG,*), IXT(NIXT,*), IXP(NIXP,*),
83 . KNOD2ELS(*), KNOD2ELC(*), KNOD2ELTG(*), NOD2ELS(*), NOD2ELC(*),
84 . NOD2ELTG(*),IELES(*),INTTH,IELEC(*),
85 . IPARTC(*), IPARTTG(*),NBINFLG(*),MBINFLG(*),NLG(*) ,
86 . IXS10(6,*), IXS16(*), IXS20(*), IGEO(NPROPGI,*),IWORKSH(3,*)
89 . STFAC, GAP,GAPMIN,GAPINF, GAPMAX,GAPSHMAX,GAPSOLIDMAX,GAPSOL
92 . X(3,*), STF(*), PM(NPROPM,*), GEO(NPROPG,*), STFN(*),
93 . MS(*),WA(*),GAP_S(*),GAP_M(*),GAP_SH(*),AREAS(*),
94 . THK(*),THK_PART(*),XANEW(3,*),PM_STACK(20,*)
96 CHARACTER(LEN=NCHARTITLE) :: TITR
97 TYPE (SURF_) :: IGRSURF1
98 TYPE (SURF_) :: IGRSURF2
102 INTEGER NDX, I, J, INRT, NELS,NELS2, MT, JJ, JJJ, ,
103 . MG, NUM, NPT, LL, L, NN, NELTG,N1,N2,N3,N4,IE,IP,NM1,
104 . igtyp,ipgmat,igmat,isubstack
107 . dxm, gapmx, gapmn,
area, vol, dx,gaps1,gaps2, gapm, ddx,
108 . gaptmp, gapscale,sx1,sy1,sz1,sx2,sy2,sz2,sx3,sy3,sz3,
109 . slsfac,gapinfs,gapinfm,gapsups,gapsupm,st
111 INTEGER BITUNSET,BITGET,BITSET
112 EXTERNAL bitunset,bitget,bitset
156 IF ( thk_part(ip) /= zero .AND. iintthick == 0)
THEN
158 ELSEIF ( thk(i) /= zero .AND. iintthick == 0)
THEN
160 ELSEIF(igtyp == 17 .OR. igtyp == 51 .OR.igtyp == 52)
THEN
165 wa(ixc(2,i))=
max(wa(ixc(2,i)),dx)
166 wa(ixc(3,i))=
max(wa(ixc(3,i)),dx)
167 wa(ixc(4,i))=
max(wa(ixc(4,i)),dx)
168 wa(ixc(5,i))=
max(wa(ixc(5,i)),dx)
174 IF ( thk_part(ip) /= zero .AND. iintthick == 0)
THEN
176 ELSEIF (thk(numelc+i)/=zero .AND. iintthick==0)
THEN
177 dx=half*thk(numelc+i)
178 ELSEIF(igtyp == 17 .OR. igtyp == 51 .OR. igtyp == 52)
THEN
179 dx=half*thk(numelc+i)
183 wa(ixtg(2,i))=
max(wa(ixtg(2,i)),dx)
184 wa(ixtg(3,i))=
max(wa(ixtg(3,i)),dx)
185 wa(ixtg(4,i))=
max(wa(ixtg(4,i)),dx)
189 dx=half*sqrt(geo(1,mg))
190 wa(ixt(2,i))=
max(wa(ixt(2,i)),dx)
191 wa(ixt(3,i))=
max(wa(ixt(3,i)),dx)
195 dx=0.5*sqrt(geo(1,mg))
196 wa(ixp(2,i))=
max(wa(ixp(2,i)),dx)
197 wa(ixp(3,i))=
max(wa(ixp(3,i)),dx)
200 gap_s(i)=gapscale * wa(nsv(i))
201 gaps1=
max(gaps1,gap_s(i))
209 DO j= knod2elc(nsv(i))+1,knod2elc(nsv(i)+1)
211 sx1 = x(1,ixc(4,ie)) - x(1,ixc
212 sy1 = x(2,ixc(4,ie)) - x(2,ixc(2,ie))
213 sz1 = x(3,ixc(4,ie)) - x(3,ixc(2,ie))
214 sx2 = x(1,ixc(5,ie)) - x
215 sy2 = x(2,ixc(5,ie)) - x(2,ixc(3,ie))
216 sz2 = x(3,ixc(5,ie)) - x(3,ixc(3,ie))
218 sy3 = sz1*sx2 - sx1*sz2
219 sz3 = sx1*sy2 - sy1*sx2
229 IF(slsfac >= zero)
THEN
234 IF ( thk_part(ip) /= zero .AND. iintthick == 0)
THEN
236 ELSEIF ( thk(i) /= zero .AND. iintthick == 0)
THEN
238 ELSEIF(igtyp == 17 .OR. igtyp == 51 .OR. igtyp == 52)
THEN
243 wa(ixc(2,i))=
max(wa(ixc(2,i)),dx)
244 wa(ixc(3,i))=
max(wa(ixc(3,i)),dx)
245 wa(ixc(4,i))=
max(wa(ixc(4,i)),dx)
246 wa(ixc(5,i))=
max(wa(ixc(5,i)),dx)
252 IF ( thk_part(ip) /= zero .AND. iintthick == 0)
THEN
254 ELSEIF (thk(numelc+i)/=zero .AND. iintthick==0)
THEN
255 dx=half*thk(numelc+i)
256 ELSEIF(igtyp == 17 .OR. igtyp == 51 .OR. igtyp == 52)
THEN
257 dx=half*thk(numelc+i)
261 wa(ixtg(2,i))=
max(wa(ixtg(2,i)),dx)
262 wa(ixtg(3,i))=
max(wa(ixtg(3,i)),dx)
263 wa(ixtg(4,i))=
max(wa(ixtg(4,i)),dx)
267 dx=half*sqrt(geo(1,mg))
268 wa(ixt(2,i))=
max(wa(ixt(2,i)),dx)
269 wa(ixt(3,i))=
max(wa(ixt(3,i)),dx)
273 dx=0.5*sqrt(geo(1,mg))
274 wa(ixp(2,i))=
max(wa(ixp(2,i)),dx)
275 wa(ixp(3,i))=
max(wa(ixp(3,i)),dx)
294 IF(intth > 0 ) ieles(i) = 0
301 CALL i4gmx3(x,irect,inrt,gapmx)
305 CALL i20nelts(x ,irect(1,inrt),ixs ,nint,nels ,
306 . inrt ,
area ,noint,0 ,igrsurf1%ELTYP,
309 CALL i20nelts(x ,irect(1,inrt),ixs ,nint,nels ,
310 . inrt-nm1 ,
area ,noint,0 ,igrsurf2%ELTYP,
323 stf(i)=slsfac*
area*
area*pm(100,mt)/vol
327 . msgtype=msgwarning,
328 . anmode=aninfo_blind_2,
337 . msgtype=msgwarning,
338 . anmode=aninfo_blind_2,
348 gapsolidmax =
min(gapsolidmax,vol/(
area*four))
349 gapmn=
min(gapmn,half*gap_sh(i))
351 tag(irect(1,inrt)) = 1
352 tag(irect(2,inrt)) = 1
353 tag(irect(3,inrt)) = 1
354 tag(irect(4,inrt)) = 1
360 mbinflg(i)=bitset(mbinflg(i),8)
364 CALL ineltc(nelc ,neltg ,inrt ,igrsurf1%ELTYP,igrsurf1%ELEM)
366 CALL ineltc(nelc ,neltg ,inrt-nm1,igrsurf2%ELTYP,igrsurf2%ELEM)
373 IF ( thk_part(ip) /= zero .AND. iintthick == 0)
THEN
374 dx=thk_part(ip)*gapscale
375 ELSEIF(thk(numelc+neltg)/=zero.AND.iintthick==0)
THEN
376 dx=thk(numelc+neltg)*gapscale
377 ELSEIF(igtyp == 17 .OR. igtyp == 51 .OR. igtyp == 52)
THEN
378 dx=thk(numelc+neltg)*gapscale
380 dx=geo(1,mg)*gapscale
383 gaps2=
max(gaps2,gapm)
384 gapmn =
min(gapmn,dx)
389 IF(igtyp == 11 .AND. igmat > 0)
THEN
390 IF ( thk(numelc+neltg) /=zero.AND.iintthick==0)
THEN
391 stf(i)=slsfac*thk(numelc+neltg)*geo(ipgmat + 2 ,mg)
393 stf(i)=slsfac*geo(1,mg)*geo(ipgmat + 2 ,mg)
395 ELSEIF(igtyp == 52 .OR.
396 . ((igtyp == 17 .OR. igtyp == 51) .AND. igmat > 0))
THEN
397 isubstack = iworksh(3,numelc+neltg)
398 st=pm_stack(2,isubstack)
399 stf(i)=slsfac*thk(numelc+neltg)*st
401 IF ( thk(numelc+neltg) /=zero.AND.iintthick==0)
THEN
402 stf(i)=slsfac*thk(numelc+neltg)*pm(20,mt)
403 ELSEIF(igtyp == 17 .OR. igtyp == 51)
THEN
404 stf(i)=slsfac*thk(numelc+neltg)*pm(20,mt)
406 stf(i)=slsfac*geo(1,mg)*pm(20,mt)
412 . msgtype=msgwarning,
413 . anmode=aninfo_blind_2,
416 . i2=ixtg(nixtg,neltg),
422 . msgtype=msgwarning,
423 . anmode=aninfo_blind_2,
426 . i2=ixtg(nixtg,neltg),
431 IF(igap/=0) gap_m(i)=gapm
432 mbinflg(i)=bitset(mbinflg(i),3)
440 IF ( thk_part(ip) /= zero .AND. iintthick == 0)
THEN
441 dx=thk_part(ip)*gapscale
442 ELSEIF ( thk(nelc) /= zero .AND. iintthick == 0)
THEN
443 dx=thk(nelc)*gapscale
444 ELSEIF(igtyp == 17 .OR. igtyp == 51 .OR. igtyp == 52)
THEN
445 dx=thk(nelc)*gapscale
447 dx=geo(1,mg)*gapscale
450 gaps2=
max(gaps2,gapm)
451 gapmn =
min(gapmn,dx)
455 IF(igtyp == 11 .AND. igmat > 0)
THEN
456 IF ( thk(nelc) /= zero .AND. iintthick == 0)
THEN
457 stf(i)=slsfac*thk(nelc)*geo(ipgmat + 2 ,mg)
459 stf(i)=slsfac*geo(1,mg)*geo(ipgmat + 2 ,mg)
461 ELSEIF(igtyp==52 .OR.
462 . ((igtyp == 17 .OR. igtyp == 51) .AND. igmat > 0))
THEN
463 isubstack = iworksh(3,nelc)
464 st=pm_stack(2,isubstack)
465 stf(i)=slsfac*thk(nelc)*st
467 IF ( thk(nelc) /= zero .AND. iintthick == 0)
THEN
468 stf(i)=slsfac*thk(nelc)*pm(20,mt)
469 ELSEIF(igtyp == 17)
THEN
470 stf(i)=slsfac*thk(nelc)*pm(20,mt)
472 stf(i)=slsfac*geo(1,mg)*pm(20,mt)
478 . msgtype=msgwarning,
479 . anmode=aninfo_blind_2,
488 . msgtype=msgwarning,
489 . anmode=aninfo_blind_2,
497 IF(igap/=0) gap_m(i)=gapm
498 mbinflg(i)=bitset(mbinflg(i),4)
508 CALL insol3(x,irect,ixs,nint,nels,inrt,
509 .
area,noint,knod2els ,nod2els ,0,ixs10,
514 IF(intth > 0 ) ieles(i) = nels
523 stf(i)=slsfac*
area*
area*pm(100,mt)/vol
527 . msgtype=msgwarning,
528 . anmode=aninfo_blind_2,
537 . msgtype=msgwarning,
538 . anmode=aninfo_blind_2,
548 gapsolidmax =
min(gapsolidmax,vol/(
area*four))
549 gapmn=
min(gapmn,half*gap_sh(i))
551 tag(irect(1,inrt)) = 1
552 tag(irect(2,inrt)) = 1
553 tag(irect(3,inrt)) = 1
554 tag(irect(4,inrt)) = 1
560 mbinflg(i)=bitset(mbinflg(i),8)
565 CALL incoq3(irect,ixc ,ixtg ,nint ,nelc
567 . knod2eltg ,nod2elc ,nod2eltg
568 . pm_stack , iworksh)
575 IF ( thk_part(ip) /= zero .AND. iintthick == 0)
THEN
576 dx=thk_part(ip)*gapscale
577 ELSEIF ( thk(numelc+neltg) /= zero .AND. iintthick == 0)
THEN
578 dx=thk(numelc+neltg)*gapscale
579 ELSEIF(igtyp ==17)
THEN
580 dx=thk(numelc+neltg)*gapscale
582 dx=geo(1,mg)*gapscale
591 IF(igtyp == 11 .AND. igmat > 0)
THEN
592 IF ( thk(numelc+neltg) /= zero .AND. iintthick == 0)
THEN
593 stf(i)=slsfac*thk(numelc+neltg)*geo(ipgmat + 2 ,mg)
595 stf(i)=slsfac*geo(1,mg)*geo(ipgmat + 2 ,mg)
597 ELSEIF(igtyp==52 .OR.
598 . ((igtyp == 17 .OR. igtyp == 51) .AND. igmat > 0))
THEN
599 isubstack = iworksh(3,numelc+neltg)
600 st=pm_stack(2,isubstack)
601 stf(i)=slsfac*thk(numelc+neltg)*st
603 IF ( thk(numelc+neltg) /= zero .AND. iintthick == 0)
THEN
604 stf(i)=slsfac*thk(numelc+neltg)*pm(20,mt)
605 ELSEIF(igtyp == 17)
THEN
606 stf(i)=slsfac*thk(numelc+neltg)*pm(20,mt)
608 stf(i)=slsfac*geo(1,mg)*pm(20,mt)
614 . msgtype=msgwarning,
615 . anmode=aninfo_blind_2,
618 . i2=ixtg(nixtg,neltg),
624 . msgtype=msgwarning,
625 . anmode=aninfo_blind_2,
633 IF(igap/=0) gap_m(i)=gapm
640 IF ( thk_part(ip) /= zero .AND. iintthick == 0)
THEN
641 dx=thk_part(ip)*gapscale
642 ELSEIF ( thk(nelc) /= zero .AND. iintthick == 0)
THEN
643 dx=thk(nelc)*gapscale
644 ELSEIF(igtyp ==17)
THEN
645 dx=thk(nelc)*gapscale
647 dx=geo(1,mg)*gapscale
650 gaps2=
max(gaps2,gapm)
651 gapmn =
min(gapmn,dx)
656 IF(igtyp == 11 .AND. igmat > 0)
THEN
657 IF ( thk(nelc) /= zero .AND. iintthick == 0)
THEN
658 stf(i)=slsfac*thk(nelc)*geo(ipgmat + 2 ,mg)
660 stf(i)=slsfac*geo(1,mg)*geo(ipgmat + 2 ,mg)
662 ELSEIF(igtyp==52 .OR.
663 . ((igtyp == 17 .OR. igtyp == 51) .AND. igmat > 0))
THEN
664 isubstack = iworksh(3,nelc)
665 st=pm_stack(2,isubstack)
666 stf(i)=slsfac*thk(nelc)*st
668 IF ( thk(nelc) /= zero .AND. iintthick == 0)
THEN
669 stf(i)=slsfac*thk(nelc)*pm(20,mt)
670 ELSEIF(igtyp ==17)
THEN
671 stf(i)=slsfac*thk(nelc)*pm(20,mt)
673 stf(i)=slsfac*geo(1,mg)*pm(20,mt)
679 . msgtype=msgwarning,
680 . anmode=aninfo_blind_2,
689 . msgtype=msgwarning,
690 . anmode=aninfo_blind_2,
698 IF(igap/=0) gap_m(i)=gapm
699 mbinflg(i)=bitset(mbinflg(i),4)
702 IF(nels+nelc+neltg==0)
THEN
708 . anmode=aninfo_blind_2,
716 . anmode=aninfo_blind_2,
733 gap =
min(half*gapmx,gap)
740 IF(inacti/=7.AND.gap>0.5*gapmx)
THEN
743 . msgtype=msgwarning,
744 . anmode=aninfo_blind_2,
757 gapmin =
min(half*gapmx,gapmin)
760 gapmin =
min(gapmn,em01 * gapmx)
767 gap =
max(gaps1+gaps2,gapmin)
769 IF(inacti/=7.AND.gap>half*gapmx)
THEN
772 . msgtype=msgwarning,
773 . anmode=aninfo_blind_2,
791 IF(gap_m(i) == zero)
THEN
792 gap_sh(i) =
min(gapsolidmax,gap_sh(i))
793 gap_sh(i) =
max(gapsol,gap_sh(i))
795 gap_m(i)=gap_m(i)+two*gap_sh(i)
811 gapinfs =
min(gapinfs,gap_s(i))
812 gapsups =
max(gapsups,gap_s(i))
816 gapinfm =
min(gapinfm,gap_m(i))
817 gapsupm =
max(gapsupm,gap_m(i))
818 gapshmax =
max(gapshmax,gap_sh(i))
820 gapinf=
max(gapinfs+gapinfm,gapmin)
821 gap =
min(gapsups+gapsupm,gapmax)
825 IF(tag(nlg(i)) == 1)nbinflg(i)=bitunset(nbinflg(i),7)
829 1300
FORMAT(2x,
'GAP MIN = ',1pg20.13)
848 1 X ,IXLIN ,STF ,IXS ,PM ,
849 2 GEO ,NRT ,IXC ,NINTR ,SLSFAC,
850 3 NTY ,GAPMAX,NOINT ,GAP_SM,
851 4 MS ,IXTG ,IXT ,IXP ,IXR ,
852 5 IGAP ,GAPMIN,GAP0 ,GAPINF,NSNE ,
853 6 IPARTC,IPARTTG,THK ,THK_PART,IXS10,
854 7 ID ,TITR ,KXX ,IXX ,IGEO,
855 8 NOD2EL1D,KNOD2EL1D,KNOD2ELS,KNOD2ELC,KNOD2ELTG,
856 9 NOD2ELS,NOD2ELC,NOD2ELTG ,LELX ,PM_STACK,IWORKSH)
865#include "implicit_f.inc"
869#include "units_c.inc"
870#include "param_c.inc"
871#include "com04_c.inc"
872#include "scr08_c.inc"
873#include "scr23_c.inc"
877 INTEGER NRT, NINTR, NTY, NOINT,IGAP,NSNE
880 . SLSFAC, GAPMAX,GAPMIN,GAP0
881 INTEGER IXLIN(2,*), IXS(NIXS,*), IXC(NIXC,*),
882 . IXTG(NIXTG,*),IXT(NIXT,*),IXP(NIXP,*),IXR(NIXR,*),
883 . IPARTC(*), IPARTTG(*),(*),KXX(NIXX,*),IXX(*),
885 . knod2els(*), knod2elc(*), knod2eltg(*),
886 . nod2els(*), nod2elc(*), nod2eltg(*),
887 . nod2el1d(*),knod2el1d(*),iworksh(3,*)
890 . x(3,*), stf(*), pm(npropm,*), geo(npropg,*),
891 . ms(*),gap_sm(*),xl2, gapinf,thk(*),thk_part(*),lelx(*),
894 CHARACTER(LEN=NCHARTITLE) :: TITR
898 INTEGER , I, INRT, NELS, MT, JJ, JJJ, NELC, J,
899 . MG, NUM, NPT, LL, L, NN, NELTG,NELT,NELP,NELR,
900 . IGTYP, I1, I2,IP,NELX,IPGMAT,,ISUBSTACK
903 . dxm, gapmx, gapmn,
area, vol, dx,gap1,gaps1,gaptmp,
924 CALL i11gmx3(x,ixlin,inrt,gapmx,xl2)
928 CALL i11sol(x,ixlin,ixs,nintr,nels,inrt,
929 .
area,noint,knod2els,nod2els,ixs10)
941 stf(i)=slsfac*vol*pm(100,mt)/xl2
949 . msgtype=msgwarning,
950 . anmode=aninfo_blind_2,
961 . msgtype=msgwarning,
962 . anmode=aninfo_blind_2,
974 CALL i11coq(ixlin,ixc ,ixtg,nintr,nelc ,
975 . neltg,inrt,geo,pm,thk,igeo,
976 . knod2elc,knod2eltg,nod2elc,nod2eltg,
977 . pm_stack, iworksh )
984 IF(igtyp == 17 .OR. igtyp == 51 .OR. igtyp ==52)
985 . dx = thk(numelc + neltg)
987 gaps1=
max(gaps1,gap_sm(i))
988 gapmn =
min(gapmn,dx)
994 IF(igtyp == 11 .AND. igmat > 0)
THEN
995 stf(i)=slsfac*dx*geo(ipgmat + 2 ,mg)
996 ELSEIF(igtyp==52 .OR.
997 . ((igtyp == 17 .OR. igtyp == 51 ) .AND. igmat > 0))
THEN
998 isubstack = iworksh(3,neltg + numelc)
999 stf(i)=slsfac*dx*pm_stack(2,isubstack)
1001 stf(i)=slsfac*dx*pm(20,mt)
1007 . msgtype=msgwarning,
1008 . anmode=aninfo_blind_2,
1011 . i2=ixtg(nixtg,neltg),
1019 . msgtype=msgwarning,
1020 . anmode=aninfo_blind_2,
1023 . i2=ixtg(nixtg,neltg),
1028 ELSEIF(nelc/=0)
THEN
1034 IF(igtyp == 17 .OR. igtyp == 51 .OR. igtyp ==52)
1037 gaps1=
max(gaps1,gap_sm(i))
1038 gapmn =
min(gapmn,dx)
1043 IF(igtyp == 11 .AND. igmat > 0)
THEN
1044 stf(i)=slsfac*dx*geo(ipgmat + 2 ,mg)
1045 ELSEIF(igtyp ==52 .OR.
1046 . ((igtyp == 17 .OR. igtyp == 51) .AND. igmat > 0))
THEN
1047 isubstack = iworksh(3,nelc)
1048 stf(i)=slsfac*dx*pm_stack(2,isubstack)
1050 stf(i)=slsfac*dx*pm(20,mt)
1056 . msgtype=msgwarning,
1057 . anmode=aninfo_blind_2,
1060 . i2=ixc(nixc,nelc),
1068 . msgtype=msgwarning,
1069 . anmode=aninfo_blind_2,
1072 . i2=ixc(nixc,nelc),
1081 CALL i11fil(ixlin,ixt,ixp,ixr,nintr,nelt ,
1082 . nelp,nelr,nelx,inrt,nod2el1d,
1083 . knod2el1d,kxx,ixx)
1090 IF(igtyp == 17 .OR. igtyp == 51 .OR. igtyp == 52 )
1091 . dx = sqrt(thk(numelc + nelt))
1092 gap_sm(i)=
max(gap_sm(i),half*dx)
1093 gaps1=
max(gaps1,gap_sm(i))
1094 gapmn =
min(gapmn,dx)
1099 IF(igtyp == 11 .AND. igmat > 0)
THEN
1100 stf(i)=slsfac*dx*geo(ipgmat + 2 ,mg)
1101 ELSEIF((igtyp == 17 .OR. igtyp == 17) .AND. igmat > 0)
THEN
1102 isubstack = iworksh(3,numelc + nelt)
1103 stf(i)=slsfac*dx*pm_stack(2,isubstack)
1105 stf(i)=slsfac*dx*pm(20,mt)
1111 . msgtype=msgwarning,
1112 . anmode=aninfo_blind_2,
1115 . i2=ixt(nixt,nelt),
1123 . msgtype=msgwarning,
1124 . anmode=aninfo_blind_2,
1127 . i2=ixt(nixt,nelt),
1132 ELSEIF(nelp/=0)
THEN
1137 gap_sm(i)=
max(gap_sm(i),half*dx)
1138 gaps1=
max(gaps1,gap_sm(i))
1139 gapmn =
min(gapmn,dx)
1143 stf(i)=slsfac*dx*pm(20,mt)
1148 . msgtype=msgwarning,
1149 . anmode=aninfo_blind_2,
1152 . i2=ixp(nixp,nelp),
1159 CALL ANCMSG(MSGID=96,
1160 . MSGTYPE=MSGWARNING,
1161 . ANMODE=ANINFO_BLIND_2,
1164 . I2=IXP(NIXP,NELP),
1169 ELSEIF(NELR/=0) THEN
1174 IGTYP=NINT(GEO(12,MG))
1175.OR.
IF(IGTYP==4IGTYP==12)THEN
1176 STF(I)=SLSFAC*GEO(2,MG)
1177.OR.
ELSEIF(IGTYP==8IGTYP==13)THEN
1178 STF(I)=SLSFAC*MAX(GEO(3,MG),GEO(10,MG),GEO(15,MG))
1179 ELSEIF(IGTYP == 23)THEN
1180 STF(I)=SLSFAC*MAX(PM(191,MT),PM(192,MT),PM(193,MT))
1181 ELSEIF(IGTYP==25)THEN
1182 STF(I)=SLSFAC*GEO(10,MG)
1183 ELSEIF(IGTYP>=29)THEN
1184 STF(I)=SLSFAC*GEO(3,MG)
1186 WRITE(6,'(a)
') 'internal error 987
'
1193 CALL ANCMSG(MSGID=95,
1194 . MSGTYPE=MSGWARNING,
1195 . ANMODE=ANINFO_BLIND_2,
1198 . I2=IXR(NIXR,NELR),
1205 CALL ANCMSG(MSGID=96,
1206 . MSGTYPE=MSGWARNING,
1207 . ANMODE=ANINFO_BLIND_2,
1210 . I2=IXR(NIXR,NELR),
1215 ELSEIF(NELX/=0) THEN
1219 STF(I)=SLSFAC*GET_U_GEO(4,MG)*(KXX(3,NELX)-1)/LELX(NELX)
1222 CALL ANCMSG(MSGID=95,
1223 . MSGTYPE=MSGWARNING,
1224 . ANMODE=ANINFO_BLIND_2,
1227 . I2=KXX(NIXX,NELX),
1232 CALL ANCMSG(MSGID=96,
1233 . MSGTYPE=MSGWARNING,
1234 . ANMODE=ANINFO_BLIND_2,
1237 . I2=KXX(NIXX,NELX),
1244 IF(NELS+NELC+NELTG+NELT+NELP+NELR+NUMELX==0.)THEN
1247 CALL ANCMSG(MSGID=481,
1249 . ANMODE=ANINFO_BLIND_2,
1255 CALL ANCMSG(MSGID=482,
1257 . ANMODE=ANINFO_BLIND_2,
1277 GAP1 = MIN(HALF*GAPMX,DXM/NDX)
1281 IF(NINTR<0)WRITE(IOUT,1300)HALF*(GAPMIN+GAP1)
1284 IF(NINTR<0) GAP1 = HALF*(GAPMIN+GAP1)
1288 IF(GAP1>HALF*GAPMX)THEN
1292 CALL ANCMSG(MSGID=94,
1293 . MSGTYPE=MSGWARNING,
1294 . ANMODE=ANINFO_BLIND_2,
1308 GAP1 = MIN(HALF*GAPMX,GAPMN)
1312 IF(NINTR<0)WRITE(IOUT,1300)HALF*(GAPMIN+GAP1)
1319 GAPMIN = HALF*(GAPMIN+GAP1)
1320 GAPMAX = MAX(GAPMAX+GAPS1,GAPMIN)
1323 IF(GAPMAX>HALF*GAPMX)THEN
1325 CALL ANCMSG(MSGID=94,
1326 . MSGTYPE=MSGWARNING,
1327 . ANMODE=ANINFO_BLIND_2,
1347 GAPINF=GAPMAX/TWO ! remultiplie par 2 dans i20ini3
1350 GAPINF = MIN(GAPINF,GAP_SM(I))
1355 1300 FORMAT(2X,'computed gap =
',1PG20.13)
subroutine i20sti3(pm, geo, x, ms, ixs, ixc, ixtg, ixt, ixp, wa, nint, nty, noint, nrt, nsn, irect, nsv, inacti, gap, igap, gap_s, gap_m, gapmin, gapinf, gapmax, stfac, stf, stfn, knod2els, knod2elc, knod2eltg, nod2els, nod2elc, nod2eltg, igrsurf1, ifs2, igrsurf2, intth, ieles, ielec, areas, ipartc, iparttg, thk, thk_part, gap_sh, xanew, gapshmax, nbinflg, mbinflg, nln, nlg, gapsol, ixs10, ixs16, ixs20, id, titr, igeo, pm_stack, iworksh)