38 1 IXP ,IPARG ,PM ,GEO ,
39 2 EADD ,ND ,DD_IAD ,IDX ,
40 3 INUM ,INDEX ,CEP ,IPARTP ,
41 4 ITR1 ,IGRSURF,IGRBEAM ,IGEO ,
42 5 IPM ,IPOUOFF,TAGPRT_SMS ,
43 6 NOD2EL1D,PRINT_FLAG,ITAGPRLD_BEAM,
44 7 PRELOAD_A,NPRELOAD_A,IBEAM_VECTOR,RBEAM_VECTOR,XNUM)
71#include "implicit_f.inc"
80#include "vect01_c.inc"
87 INTEGER ITR1(*),IXP(6,*),IPARG(NPARG,*),EADD(*),IPARTP(*),
88 . DD_IAD(NSPMD+1,*),(*),INUM(9,*),INDEX(*),
89 . IPM(NPROPMI,*),IPOUOFF(*),
90 . (*),NOD2EL1D(*),IGEO(NPROPGI,*)
91 INTEGER,
INTENT(IN) ::
92 INTEGER,
INTENT(IN) :: NPRELOAD_A
93 INTEGER ,
INTENT(INOUT),
DIMENSION(NUMELP) :: ITAGPRLD_BEAM
94 INTEGER ,
INTENT(INOUT) :: IBEAM_VECTOR(NUMELP)
96 . PM(NPROPM,*), GEO(NPROPG,*)
97 ,
INTENT(INOUT) :: RBEAM_VECTOR(3,NUMELP)
98 my_real ,
INTENT(INOUT) :: xnum(3,numelp)
99 TYPE(matparam_struct_) ,
DIMENSION(NUMMAT),
INTENT(IN) :: MAT_PARAM
101 TYPE (GROUP_) ,
DIMENSION(NGRBEAM) :: IGRBEAM
102 TYPE (SURF_) ,
DIMENSION(NSURF) :: IGRSURF
103 TYPE(PREL1D_) ,
DIMENSION(NPRELOAD_A) :: PRELOAD_A
107 INTEGER NGR1, NG, ISSN, MLN, I, NE1, N, NFIX,
108 . mid, pid, nel_prec, ii, p, nel,nb,nip,igtyp,
110 . itag(2*numelt+2*numelp+3*numelr),
111 . ngp(nspmd+1),ipartr2r,nuvar,ie,id1,iprld
113 CHARACTER(LEN=NCHARTITLE)::TITR,TITR1
122 CALL zeroin(1,nd*(nspmd+1),dd_iad(1,nspgroup+1))
128 dd_iad(p,nspgroup+n) = 0
133 nel = eadd(n+1)-eadd(n)
136 inum(1,i)=ipartp(nft+i)
137 inum(2,i)=ixp(1,nft+i)
138 inum(3,i)=ixp(2,nft+i)
139 inum(4,i)=ixp(3,nft+i)
140 inum(5,i)=ixp(4,nft+i
141 inum(6,i)=ixp(5,nft+i)
142 inum(7,i)=ixp(6,nft+i)
143 inum(8,i)=ipouoff(nft+i)
144 inum(9,i)=ibeam_vector(nft+i)
149 CALL my_orders( mode, work, cep(nft+1), index, nel , 1)
151 ipartp(i+nft)=inum(1,index(i))
152 ixp(1,i+nft)=inum(2,index(i))
153 ixp(2,i+nft)=inum(3,index(i))
154 ixp(3,i+nft)=inum(4,index(i))
155 ixp(4,i+nft)=inum(5,index(i))
157 ixp(6,i+nft)=inum(7,index(i))
158 ipouoff(nft+i)=inum(8,index(i))
159 ibeam_vector(nft+i)=inum(9,index(i))
160 rbeam_vector(1:3,nft+i)=xnum(1:3,index(i))
161 itr1(nft+index(i)) = nft+i
165 inum(8,i) = itagprld_beam(nft+i)
168 itagprld_beam(nft+i) = inum(8,index(i))
171 p = cep(nft+index(1))
174 IF (cep(nft+index(i))/=p)
THEN
175 dd_iad(p+1,nspgroup+n) = nb
182 dd_iad(p+1,nspgroup+n) = nb
184 dd_iad(p,nspgroup+n) = dd_iad(p,nspgroup+n)
185 . + dd_iad(p-1,nspgroup+n)
188 dd_iad(p,nspgroup+n) = dd_iad(p-1,nspgroup+n)+1
190 dd_iad(1,nspgroup+n) = 1
195 index(i) = cep(nft+index(i))
198 cep(nft+i) = index(i)
208 IF(igrsurf(i)%ELTYP(j) == 5)
209 . igrsurf(i)%ELEM(j) = itr1(igrsurf(i)%ELEM(j))
216 nn=igrbeam(i)%NENTITY
218 igrbeam(i)%ENTITY(j) = itr1(igrbeam(i)%ENTITY(j))
225 DO i=1,2*numelt+2*numelp+3*numelr
226 IF(nod2el1d(i) /= 0 .AND. numelt < nod2el1d(i)
227 . .AND. nod2el1d(i) <= numelt+numelp)
THEN
228 IF(itag(nod2el1d(i)) == 0)
THEN
229 nod2el1d(i)=itr1(nod2el1d(i)-numelt)
230 nod2el1d(i)=nod2el1d(i)+numelt
231 itag(nod2el1d(i)) = 1
245 nel = dd_iad(p+1,nspgroup+n)-dd_iad(p,nspgroup+n)
247 nel_prec = dd_iad(p,nspgroup+n)-dd_iad(1,nspgroup+n)
249 ng = (nel-1)/nvsiz + 1
258 IF (nsubdom>0) ipartr2r =
tag_mat(mid)
260 IF(geo(5,pid)/=zero)issn=1
263 IF (igtyp == 18) nip = igeo(3,pid)
264 CALL zeroin(1,nparg,iparg(1,ngroup))
265 iprld = itagprld_beam(ii)
267 ne1 =
min( nvsiz, nel + nel_prec - nft)
269 jthe = nint(pm(71,mid))
272 IF(igtyp == 3 .AND. mln == 34 )
THEN
275 CALL fretitl2(titr1,igeo(npropgi-ltitr+1,pid),ltitr)
276 CALL fretitl2(titr,ipm(npropmi-ltitr+1,mid),ltitr)
290 nuvar =
max(nuvar,ipm
292 iparg(46,ngroup) = nuvar
294 iparg(1,ngroup) = mln
295 iparg(2,ngroup) = ne1
296 iparg(3,ngroup) = eadd(n)-1 + nft
297 iparg(4,ngroup) = lbufel+1
300 iparg(6,ngroup) = nip
301 iparg(9,ngroup) = nint(geo(3,pid))
302 iparg(13,ngroup) = jthe
303 iparg(38,ngroup) = igtyp
305 iparg(32,ngroup)= p-1
307 IF (nsubdom>0) iparg(77,ngroup
310 IF(ipm(218,mid) > 0 .AND. mln /= 0 .AND. mln /=13)
THEN
314 IF (mat_param(mid)%NFAIL > 0)
THEN
318 iparg(62,ngroup) = pid
320 iparg(72,ngroup)= iprld
323 iparg(73,ngroup)= preload_a(iprld)%fun_id
324 iparg(74,ngroup)= preload_a(iprld)%sens_id
330 IF(tagprt_sms(ipartp(ii))/=0)jsms=1
335 iparg(52,ngroup)=jsms
345 ngp(nspmd+1)=ngp(nspmd+1)+ngp(p)
346 dd_iad(p,nspgroup+n)=ngp(p)
348 dd_iad(nspmd+1,nspgroup+n)=ngp(nspmd+1)
352 nspgroup = nspgroup + nd
354 IF(print_flag>6)
THEN
356 WRITE(iout,1001)(n,iparg(1,n),iparg(2,n),iparg(3,n)+1,
361 + /6x,
'3D - BEAM ELEMENT GROUPS'/
362 + 6x,
'-------------------------'/
363 +
' GROUP MATERIAL ELEMENT FIRST ELEMENT'/
364 +
' LAW NUMBER ELEMENT TYPE'/)
365 1001
FORMAT(5(1x,i10))
subroutine pgrtails(mat_param, ixp, iparg, pm, geo, eadd, nd, dd_iad, idx, inum, index, cep, ipartp, itr1, igrsurf, igrbeam, igeo, ipm, ipouoff, tagprt_sms, nod2el1d, print_flag, itagprld_beam, preload_a, npreload_a, ibeam_vector, rbeam_vector, xnum)
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)