42
43
44
45
46
47
48
49
53 use element_mod , only :nixs
54
55
56
57#include "implicit_f.inc"
58
59
60
61#include "com04_c.inc"
62#include "param_c.inc"
63
64
65
66 INTEGER NRT, NINT, NSN, NOINT,ISU
67 INTEGER IRECT(4,*), IXS(NIXS,*),
68 . NSV(*), IELE(*),
69 . KNOD2ELS(*), NOD2ELS(*),
70 . IXS10(*), IXS16(*), IXS20(*)
72 INTEGER ID
73 CHARACTER(LEN=NCHARTITLE) :: TITR
74 TYPE (SURF_) , DIMENSION(NSURF) :: IGRSURF
75
76
77
78 INTEGER I, INRT, NELS, J, IG, IL
80
81
82
83
84 DO i=1,nrt
85 stf(i)=zero
86 inrt=i
87
88 IF (isu > 0) THEN
89 CALL inelts(x ,irect ,ixs ,nint ,nels ,
90 . inrt ,
area ,noint ,0 ,igrsurf(isu)%ELTYP,
91 . igrsurf(isu)%ELEM)
92 IF(nels/=0) THEN
93 iele(i) = nels
94 cycle
95 END IF
96 ENDIF
97
98
99 CALL insol3(x,irect,ixs,nint,nels,inrt,
100 .
area,noint,knod2els ,nod2els ,0 ,ixs10,
101 . ixs16,ixs20)
102 IF(nels/=0) THEN
103 iele(i) = nels
104 ELSE
105 IF(nint>0) THEN
106 CALL ancmsg(msgid=92,msgtype=msgwarning,anmode=aninfo_blind_2,i1=
id,c1=titr,i2=i)
107 ENDIF
108 IF(nint<0) THEN
109 CALL ancmsg(msgid=93,msgtype=msgwarning,anmode=aninfo_blind_2,i1=
id,c1=titr,i2=i)
110 ENDIF
111 ENDIF
112
113 ENDDO
114
115
116 DO i=1,nrt
117 DO j=1,4
118 ig=irect(j,i)
120 irect(j,i)=il
121 ENDDO
122 ENDDO
123
124 RETURN
subroutine area(d1, x, x2, y, y2, eint, stif0)
subroutine inelts(x, irect, ixs, nint, nel, i, area, noint, ir, surf_eltyp, surf_elem)
subroutine insol3(x, irect, ixs, nint, nel, i, area, noint, knod2els, nod2els, ir, ixs10, ixs16, ixs20)
subroutine local_index(il, ig, nodes, n)
integer, parameter nchartitle
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)