46
47
48
50
51
52
53#include "implicit_f.inc"
54
55
56
57 INTEGER NSN,NMN,NOINT,,ITYPTST,IDEL2,I0,I2SIZE,PENFLAG,IROT,NIR
58 INTEGER IRECTM(4,*),NSV(*),MSR(*),IRTLM(*),WEIGHT(*),IADI2(4,*),
59 . NODNX_SMS(*),IPENA(*)
61 . visc,dt2t
63 . x(3,*),v(3,*),a(3,*),vr(3,*),ar(3,*),ms(*),in(*),fini(6,4,*),
64 . dl(3,4,*),dr(3,4,*),stifn(*),stifr(*),stfn_pen(*),stfr_pen(*),
65 . fsav(*),fncont(3,*),dmint2(4,*),
66 . csts(2,*),smas(*),mmas(*),siner(*),miner(*),adi(*),skew(9,*),
67 . fskyi2(i2size,*),
68 . dpara(7,*),dmast,adm(*),nmas(*),fncontp(3,*) ,ftcontp(3,*)
69 TYPE (H3D_DATABASE) :: H3D_DATA
70
71
72
73 INTEGER I,ISN,NI,I0BASE,NINDXC,NINDXP
74 INTEGER IADX(NSN),INDXC(NSN),INDXP(NSN)
75
76 indxc(1:nsn) = 0
77 indxp(1:nsn) = 0
78 iadx(1:nsn) = 0
79 nindxc = 0
80 nindxp = 0
81 i0base = i0
82 ni = 0
83
84 DO i=1,nsn
85 isn = abs(nsv(i))
86 IF (weight(isn) == 1) THEN
87 ni = ni+1
88 iadx(i) = ni
89 ENDIF
90
91 IF (ipena(i) == 0) THEN
92 nindxc = nindxc + 1
93 indxc(i) = i
94 ELSE
95 nindxp = nindxp + 1
96 indxp(i) = i
97 ENDIF
98 ENDDO
99
100 IF (nindxc > 0) THEN
101 i0 = i0base
103 1 nsn ,nmn ,a ,irectm ,dpara ,
104 2 msr ,nsv ,irtlm ,ms ,weight ,
105 3 ar ,in ,x ,stifn ,stifr ,
106 4 fskyi2 ,iadi2 ,fsav ,dmast ,adm ,
107 5 mmas ,i0 ,nir ,i2size ,idel2 ,
108 6 smas ,siner ,csts ,fncont ,indxc ,
109 7 iadx ,h3d_data,fncontp,ftcontp)
110
111 ENDIF
112
113 IF (nindxp > 0) THEN
114 i0 = i0base
116 . x ,v ,vr ,a ,ar ,
117 . ms ,in ,stifn ,stifr ,weight ,
118 . nsv ,irtlm ,csts ,skew ,dl ,
119 . dr ,fini ,fsav ,fncont ,nsn ,
120 . i0 ,i2size ,iadi2 ,fskyi2 ,stfn_pen ,
121 . stfr_pen ,visc ,penflag ,irot ,noint ,
122 . nodnx_sms ,dmint2 ,dt2t ,neltst ,ityptst ,
123 . irectm ,indxp ,iadx ,
124 . h3d_data ,fncontp ,ftcontp)
125
126 ENDIF
127 i0 = i0base + ni
128
129 RETURN
subroutine i2for28p_cin(nsn, nmn, a, irect, dpara, msr, nsv, irtl, ms, weight, ar, in, x, stifn, stifr, fskyi2, iadi2, fsav, dmast, adm, mmass, i0, nir, i2size, idel2, smass, siner, crst, fncont, indxc, iadx, h3d_data, fncontp, ftcontp)
subroutine i2for28p_pen(x, v, vr, a, ar, ms, in, stifn, stifr, weight, nsv, irtl, crst, skew, dx, dr, fini, fsav, fncont, nsn, i0, i2size, iadi2, fskyi2, stfn, stfr, visc, penflag, irot, noint, nodnx_sms, dmint2, dt2t, neltst, ityptst, irect, indxp, iadx, h3d_data, fncontp, ftcontp)