46
47
48
50
51
52
53#include "implicit_f.inc"
54
55
56
57 INTEGER NSN,NMN,NOINT,NELTST,ITYPTST,IDEL2,I0,I2SIZE,PENFLAG,IROT,NIR
58 INTEGER IRECTM(4,*),NSV(*),MSR(*),IRTLM(*),WEIGHT(*),IADI2(4,*),
59 . NODNX_SMS(*),IPENA(*),MSEGTYP2(*)
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,*),csts_bis(2,*),t2fac_sms(*),
69 . fncontp(3,*),ftcontp(3,*)
70 TYPE (H3D_DATABASE) :: H3D_DATA
71
72
73
74#include "com01_c.inc"
75
76
77
78 INTEGER I,ISN,NI,I0BASE,NINDXC,NINDXP
79 INTEGER IADX(NSN),INDXC(NSN),INDXP(NSN)
80
81 indxc(1:nsn) = 0
82 indxp(1:nsn) = 0
83 iadx(1:nsn) = 0
84 nindxc = 0
85 nindxp = 0
86 i0base = i0
87 ni = 0
88
89 DO i=1,nsn
90 isn = abs(nsv(i))
91 IF (weight(isn) == 1) THEN
92 ni = ni+1
93 iadx(i) = ni
94 ENDIF
95
96 IF (ipena(i) == 0) THEN
97 nindxc = nindxc + 1
98 indxc(i) = i
99 ELSE
100 nindxp = nindxp + 1
101 indxp(i) = i
102 ENDIF
103 ENDDO
104
105 IF (nindxc > 0) THEN
106 i0 = i0base
108 1 nsn ,nmn ,a ,csts ,nsv ,
109 2 ms ,weight ,stifn ,mmas ,fskyi2 ,
110 3 iadi2 ,i0 ,nir ,i2size ,idel2 ,
111 4 smas ,irectm ,x ,v ,fsav ,
112 5 fncont ,irtlm ,indxc ,iadx ,h3d_data ,
113 6 in ,siner ,dpara ,msegtyp2 ,ar ,
114 7 stifr ,csts_bis ,t2fac_sms ,fncontp ,ftcontp )
115
116 IF (iroddl /= 0) THEN
117 i0 = i0base
119 1 nsn ,nmn ,ar ,irectm ,csts ,
120 2 msr ,nsv ,irtlm ,in ,ms ,
121 3 a ,x ,weight ,stifr ,fskyi2 ,
122 4 stifn ,iadi2 ,i0 ,nir ,i2size ,
123 5 idel2 ,smas ,siner ,miner ,adi ,
124 6 indxc ,iadx ,h3d_data ,msegtyp2 ,csts_bis )
125 ENDIF
126 ENDIF
127
128 IF (nindxp > 0) THEN
129 i0 = i0base
131 . x ,v ,vr ,a ,ar ,
132 . ms ,in ,stifn ,stifr ,weight ,
133 . nsv ,irtlm ,csts ,skew ,dl ,
134 . dr ,fini ,fsav ,fncont ,nsn ,
135 . i0 ,i2size ,iadi2 ,fskyi2 ,stfn_pen ,
136 . stfr_pen ,visc ,penflag ,irot ,noint ,
137 . nodnx_sms ,dmint2 ,dt2t ,neltst ,ityptst ,
138 . irectm ,indxp ,iadx ,h3d_data ,msegtyp2 ,
139 . fncontp ,ftcontp )
140
141 ENDIF
142 i0 = i0base + ni
143
144 RETURN
subroutine i2for27p_cin(nsn, nmn, a, crst, nsv, ms, weight, stifn, mmass, fskyi2, iadi2, i0, nir, i2size, idel2, smass, irect, x, v, fsav, fncont, irtl, indxc, iadx, h3d_data, in, siner, dpara, msegtyp2, ar, stifr, csts_bis, t2fac_sms, fncontp, ftcontp)
subroutine i2for27p_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, irotb, noint, nodnx_sms, dmint2, dt2t, neltst, ityptst, irect, indxp, iadx, h3d_data, msegtyp2, fncontp, ftcontp)
subroutine i2mom27p_cin(nsn, nmn, ar, irect, crst, msr, nsv, irtl, in, ms, a, x, weight, stifr, fskyi2, stifn, iadi2, i0, nir, i2size, idel2, smass, siner, miner, adi, indxc, iadx, h3d_data, msegtyp2, csts_bis)