41 SUBROUTINE insol3(X ,IRECT,IXS ,NINT ,NEL ,I ,
42 . AREA ,NOINT,KNOD2ELS ,NOD2ELS ,IR ,IXS10,
44 use element_mod ,
only :nixs
48#include "implicit_f.inc"
56 INTEGER NINT, NEL, I, NOINT,IR
59 INTEGER IRECT(4,*), IXS(NIXS,*), KNOD2ELS(*), NOD2ELS(*),
60 . IXS10(6,*), IXS16(8,*), IXS20(12,*)
66 INTEGER IY(4), N, JJ, II, K, NN, KK, IC, IAD,
70 my_real :: xx1(4), xx2(4),xx3(4),xs1,ys1,zs1,xc,yc,zc
78 IF(irect(1,i)>numnod)
RETURN
80 IF (nint<0) nuser = noint
81 DO 230 iad=knod2els(irect(1,i))+1,knod2els(irect(1,i)+1)
87 IF(ixs(k+1,n)==ii)
GOTO 210
91 ELSEIF(n <= numels8+numels10)
THEN
95 IF(ixs(k+1,n)==ii)
GOTO 220
98 IF(ixs10(k,n-numels8)==ii)
GOTO 220
102 ELSEIF(n <= numels8+numels10+numels20)
THEN
106 IF(ixs(k+1,n)==ii)
GOTO 222
109 IF(ixs20(k,n-numels8-numels10)==ii)
GOTO 222
113 ELSEIF(n <= numels8+numels10+numels20+numels16)
THEN
117 IF(ixs(k+1,n)==ii)
GOTO 224
120 IF(ixs16(k,n-numels8-numels10-numels20)==ii)
GOTO 224
129 IF (nuser>nuserm)
THEN
134 IF (nuserm==-1)
RETURN
147 xs1=xs1+fourth*x(1,nn)
148 ys1=ys1+fourth*x(2,nn)
149 100 zs1=zs1+fourth*x(3,nn)
166 dds=n1*(xc-xs1)+n2*(yc-ys1)+n3*(zc-zs1)
168 IF(iy(3)==iy(4))
THEN
173 120 irect(kk,i)=iy(4-kk+1)
187!||--- uses -----------------------------------------------------
190 SUBROUTINE insol3d(X ,IRECT ,IXS ,NINT ,NEL,I ,
191 . AREA ,NOINT ,KNOD2ELS,NOD2ELS,IR ,
192 . IXS10,IXS16,IXS20 ,TAGELEMS,INDEXE,
193 . NINV ,IELEM_M ,ELEM_LINKED_TO_SEGMENT,PRINT_ERROR,
194 . NIN25,NTY , FLAG_ELEM_INTER25 )
199 use element_mod ,
only : nixs
203#include "implicit_f.inc"
207#include "com04_c.inc"
208#include "scr03_c.inc"
212 INTEGER NINT, NEL, I, NOINT,IR,NINV
215 INTEGER IRECT(4,*), IXS(NIXS,*), KNOD2ELS(*), NOD2ELS(*),
216 . IXS10(6,*), IXS16(8,*), IXS20(12,*)
217 INTEGER ,
INTENT(INOUT) :: TAGELEMS(NUMELS),INDEXE(NUMELS)
220 INTEGER ,
INTENT(INOUT) :: IELEM_M(2)
221 INTEGER,
DIMENSION(NUMELS),
INTENT(INOUT) :: ELEM_LINKED_TO_SEGMENT
222 LOGICAL,
INTENT(INOUT) :: PRINT_ERROR
223 INTEGER,
INTENT(IN) :: NIN25, NTY
224 INTEGER,
INTENT(IN) :: FLAG_ELEM_INTER25(NINTER25,NUMELS)
228 INTEGER IY(4), N, JJ, II, K, NN, KK, IC, IAD,
229 . nuser, nuserm, nindexe, iels
235 my_real :: xx1(4),xx2(4),xx3(4),xs1,ys1,zs1
242 print_error = .false.
244 IF(irect(1,i)>numnod)
RETURN
248 DO 230 iad=knod2els(irect(1,i))+1,knod2els(irect(1,i)+
254 IF(ixs(k+1,n)==ii)
GOTO 210
259 IF(tagelems(n)==0)
THEN
262 nindexe = nindexe + 1
264 elem_linked_to_segment(ic) = n
265 IF (nuser>nuserm)
THEN
270 ELSEIF(n <= numels8+numels10)
THEN
274 IF(ixs(k+1,n)==ii)
GOTO 220
277 IF(ixs10(k,n-numels8)==ii)
GOTO 220
282 IF(tagelems(n)==0)
THEN
285 nindexe = nindexe + 1
287 elem_linked_to_segment(ic) = n
288 IF (nuser>nuserm)
THEN
293 ELSEIF(n <= numels8+numels10+numels20)
THEN
297 IF(ixs(k+1,n)==ii)
GOTO 222
300 IF(ixs20(k,n-numels8-numels10)==ii)
GOTO 222
305 IF(tagelems(n)==0)
THEN
308 nindexe = nindexe + 1
310 elem_linked_to_segment(ic) = n
311 IF (nuser>nuserm)
THEN
316 ELSEIF(n <= numels8+numels10+numels20+numels16)
THEN
320 IF(ixs(k+1,n)==ii)
GOTO 224
323 IF(ixs16(k,n-numels8-numels10-numels20)==ii)
GOTO 224
328 IF(tagelems(n)==0)
THEN
331 nindexe = nindexe + 1
333 elem_linked_to_segment(ic) = n
334 IF (nuser>nuserm)
THEN
349 IF (nuserm==-1)
RETURN
354 ielem_m(1:2) = elem_linked_to_segment(1:2)
355 IF(ielem_m(1)/= nel)
THEN
357 ielem_m(1) = ielem_m(2)
361 IF(flag_elem_inter25(nin25,ielem_m(1)) ==1.AND.flag_elem_inter25
THEN
364 ELSEIF(flag_elem_inter25(nin25,ielem_m(1)) ==0.AND.flag_elem_inter25(nin25,ielem_m(2)) ==1)
THEN
367 ielem_m(1) = ielem_m(2)
369 ELSEIF(flag_elem_inter25(nin25,ielem_m(1)) ==0.AND.flag_elem_inter25
THEN
376 ielem_m(1:2) = elem_linked_to_segment(1:2)
379 elem_id = ixs(11,elem_linked_to_segment(ijk))
381 . msgtype=msgwarning,
382 . anmode=aninfo_blind_1,
399 xs1=xs1+fourth*x(1,nn)
400 ys1=ys1+fourth*x(2,nn)
401 100 zs1=zs1+fourth*x(3,nn)
420 dds=n1*(xc-xs1)+n2*(yc-ys1)+n3*(zc-zs1)
423 IF(iy(3)==iy(4))
THEN
428 120 irect(kk,i)=iy(4-kk+1)
433 IF(ipri>=10.AND.nint>0)
435 . msgtype=msgwarning,
436 . anmode=aninfo_blind_1,
440 IF(ipri>=10.AND.nint< 0)
442 . msgtype=msgwarning,
443 . anmode=aninfo_blind_1,
463 . AREA,NOINT,IADD,INVC,NF,ITAB,
464 . KNOD2ELS,NOD2ELS,NTY,ID,TITR)
470 use element_mod ,
only : nixs
474#include "implicit_f.inc"
478#include "com04_c.inc"
482 INTEGER NINT, NEL, I, NOINT, ITAB(*), KNOD2ELS(*), NOD2ELS(*)
485 INTEGER IRECT(4,*), IXS(NIXS,*), IADD(*), INVC(*),NF,NTY
489 CHARACTER(LEN=NCHARTITLE) :: TITR
493 INTEGER IY(4), N, JJ, II, K, NN, KK, IC, IAD,
494 . nuser, nuserm,ip(8),con(8),ibid,msegtyp(numels10)
497 my_real :: xx1(4), xx2(4),xx3(4),xs1,ys1,zs1,xc,yc,zc
502 DATA CON/1,2,3,4,5,6,7,8/
508 IF(irect(1,i)>numnod)
RETURN
510 DO 230 iad=iadd(irect(1,i)),iadd(irect(1,i)+1)-1
515 IF(n>numelc+numeltg.AND.n<=numelc+numeltg+numels)
THEN
520 IF(ixs(k+1,n)==ii)
THEN
530 IF (nuser>nuserm)
THEN
536 IF (nuserm==-1)
RETURN
537 IF(nel>numels8.AND.nel<=numels8+numels10)
THEN
542 1 ixs(1,nel),ixs(1,numels+1),
543 2 irect(1,i),noint,nel-numels8,itab,
544 3 knod2els,nod2els,nty,ibid,msegtyp,
551 IF(nint>0)
CALL ancmsg(msgid=1245,
553 . anmode=aninfo_blind,
556 IF(nint<0)
CALL ancmsg(msgid=1246,
558 . anmode=aninfo_blind,
576 xs1=xs1+fourth*x(1,nn)
577 ys1=ys1+fourth*x(2,nn)
578 100 zs1=zs1+fourth*x(3,nn)
580 CALL norma1(n1,n2,n3,area,xx1,xx2,xx3)
593 dds=n1*(xc-xs1)+n2*(yc-ys1)+n3*(zc-zs1)
595 IF(iy(3)==iy(4))
THEN
600 120 irect(kk,i)=iy(4-kk+1)
subroutine area(d1, x, x2, y, y2, eint, stif0)
subroutine i1chk3(x, irect, ixs, nrt, ixc, nint, nsn, nsv, noint, ixtg, geo, pm, knod2els, knod2elc, knod2eltg, nod2els, nod2elc, nod2eltg, igrsurf, thk, nty, ixs10, ixs16, ixs20, id, titr, igeo, pm_stack, iworksh)
subroutine i12sol3(x, irect, ixs, nint, nel, i, area, noint, iadd, invc, nf, itab, knod2els, nod2els, nty, id, titr)
subroutine insol3d(x, irect, ixs, nint, nel, i, area, noint, knod2els, nod2els, ir, ixs10, ixs16, ixs20, tagelems, indexe, ninv, ielem_m, elem_linked_to_segment, print_error, nin25, nty, flag_elem_inter25)
subroutine insol3(x, irect, ixs, nint, nel, i, area, noint, knod2els, nod2els, ir, ixs10, ixs16, ixs20)
subroutine insolt10(ixs, ixs10, irect, noint, nrtm, itab, knod2els, nod2els, nty, nsv, msegtyp, id, titr)
integer, parameter nchartitle
subroutine norma1(n1, n2, n3, area, xx1, xx2, xx3)
subroutine norma1d(n1, n2, n3, area, xx1, xx2, xx3)
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)