34 SUBROUTINE cndt3(JFT ,JLT ,OFF ,DT2T ,AMU ,
35 1 NELTST,ITYPTST ,STI ,STIR ,OFFG,
36 2 SSP ,VISCMX ,RHO ,VOL0 ,THK0,THK02,
37 3 A1 ,ALDT ,ALPE ,NGL ,ISMSTR,
38 4 IOFC ,NNE ,AREA ,G ,SHF ,
39 5 MSC ,DMELC ,JSMS ,PTG ,IGTYP ,
40 6 IGMAT ,A11R ,G_DT ,DTEL ,MTN ,
41 7 PM ,IMAT ,NEL ,ZOFFSET)
45#include "implicit_f.inc"
66 INTEGER JFT, JLT,NELTST,ITYPTST,ISMSTR,IOFC,NNE, JSMS,
67 INTEGER NGL(*),IGMAT,G_DT,MTN,IMAT
68 INTEGER ,
INTENT(IN) :: NEL
70 my_real (*),STI(*),STIR(*),OFFG(*),SSP(*),AMU(*),
71 . ALDT(*), ALPE(*), A1(*), THK0(*),THK02(*),
72 . VOL0(*), VISCMX(*), RHO(*),DT2T, AREA(*), G(*), SHF(*),
73 . msc(*), dmelc(*), ptg(3,*),a11r(*),
dtel(mvsiz)
74 my_real,
DIMENSION(NPROPM,NUMMAT) ,
INTENT(IN):: pm
75 my_real,
DIMENSION(NEL) ,
INTENT(IN) :: zoffset
79 INTEGER INDXOF(MVSIZ),
80 . I, J, II, NINDX,IDT,ITYEL
81 my_real dt(mvsiz),fac,mas,divm,mmin ,iz
84 viscmx(i) =
max(viscmx(i), amu(i))
85 viscmx(i) = sqrt(one + viscmx(i)*viscmx(i)) - viscmx(i)
86 aldt(i) = aldt(i) * viscmx(i) / sqrt(alpe(i))
94 . ((igtyp == 11 .OR. igtyp == 17 .OR. igtyp == 51)
95 . .AND. igmat > 0 ))
THEN
97 IF (mtn == 58 .or. mtn == 158)
CALL cssp2a11(pm ,imat ,ssp ,a1 ,jlt )
103 IF (off(i)==zero)
THEN
107 sti(i) = half*vol0(i) * a1(i) / aldt(i)**2
109 . ((igtyp == 11 .OR. igtyp == 17 .OR. igtyp == 51)
110 . .AND. igmat > 0 ))
THEN
111 fac = half*vol0(i)/ aldt(i)**2
112 stir(i) =fac * a11r(i)*(thk02(i)*one_over_12 + zoffset(i)*zoffset(i))
113 . + fac * a1(i) *area(i)*one_over_12
115 stir(i) = sti(i) * (thk02(i)+area(i)) *one_over_12
116 . + sti(i)*zoffset(i)*zoffset(i)
124 IF(offg(i) < zero .OR. off(i) == zero) cycle
129 dmelc(i)=
max(dmelc(i),
130 . (dtmins/dtfacs)**2 * sti(i) - two*msc(i))
132 . sqrt((two*msc(i)+dmelc(i))/
max(em20,sti(i)))
141 IF(offg(i) < zero .OR. off(i) == zero) cycle
143 mmin=msc(i)*
min(ptg(1,i),ptg(2,i),ptg(3,i))
148 dmelc(i)=
max(dmelc(i),
149 . (dtmins/dtfacs)**2 * sti(i) - two*mmin)
151 . sqrt((two*mmin+dmelc(i))/
max(em20,sti(i)))
160 ELSEIF(nodadt/=0)
THEN
162 . ((igtyp == 11 .OR. igtyp == 17 .OR. igtyp == 51)
163 . .AND. igmat > 0 ))
THEN
165 IF (off(i)==zero)
THEN
169 sti(i) = half*vol0(i) * a1(i) / aldt(i)**2
170 fac = half*vol0(i)/ aldt(i)**2
171 stir(i) = fac*a11r(i)*(thk02(i)*one_over_12 + zoffset(i)*zoffset(i))
172 . + fac *a1(i)*area(i)*one_over_12
181 sti(i) = half*vol0(i) * a1(i) / aldt(i)**2
182 stir(i) = sti(i) * (thk02(i)+area(i)) *one_over_12
183 . + sti(i)*zoffset(i)*zoffset(i)
190 dt(i)=dtfac1(ityel)*aldt(i)/ssp(i)
194 dtel(i)=aldt(i)/ssp(i)
197 IF((nodadt/=0.OR.idtmins==2).AND.idtmin(ityel)==0)
RETURN
199 IF(idtmin(ityel)>=1)
THEN
202 IF(dt(i)<=dtmin1(ityel).AND.
203 . off(i)>=one.AND.offg(i)/=two.AND.offg(i)>=zero)
THEN
210 IF(idtmin(ityel)==1)
THEN
212 IF(nindx>iofc) mstop = 2
214 DO 100 j=iofc+1,nindx
217 WRITE(iout,1000) nne,ngl(i)
218 WRITE(istdo,1000) nne,ngl(i)
219#include "lockoff.inc"
221 ELSEIF(idtmin(ityel)==2)
THEN
222 IF(nindx>iofc) idel7nok = 1
223 DO 125 j=iofc+1,nindx
227 WRITE(iout,1200) nne,ngl(i)
228 WRITE(istdo,1300) nne,ngl(i),tt
229#include "lockoff.inc"
232 ELSEIF(idtmin(ityel)==3.AND.ismstr==2)
THEN
233 DO 140 j=iofc+1,nindx
237 WRITE(iout,1400) nne,ngl(i)
238 WRITE(istdo,1400) nne,ngl(i)
239#include "lockoff.inc"
242 ELSEIF(idtmin(ityel)==5)
THEN
243 IF(nindx>iofc) mstop = 2
244 DO 160 j=iofc+1,nindx
247 WRITE(iout,1000) nne,ngl(i)
248 WRITE(istdo,1000) nne,ngl(i)
249#include "lockoff.inc"
255 1000
FORMAT(1x,
'--MINIMUM TIME STEP ',i1,
'N SHELL ELEMENT NUMBER ',i10)
256 1200
FORMAT(1x,
'--DELETE ',i1,
'N SHELL ELEMENT NUMBER ',i10)
257 1300
FORMAT(1x,
'--DELETE ',i1
',N SHELL ELEMENT:',i10,
' AT TIME:',g11.4)
258 1400
FORMAT(1x,
'--CONSTANT TIME STEP ',i1,
'N SHELL ELEMENT NUMBER',i10)
260 IF(nodadt/=0.OR.(idtmins==2.AND.jsms/=0))
RETURN
265 IF(offg(i)>zero.AND.off(i)/=zero.AND.dt(i)<dt2t) idt=1
270 IF(offg(i)>zero.AND.off(i)/=zero.AND.dt(i)<dt2t)
THEN
282 sti(i) = half*vol0(i) * a1(i)* off(i) / divm
subroutine cndt3(jft, jlt, off, dt2t, amu, neltst, ityptst, sti, stir, offg, ssp, viscmx, rho, vol0, thk0, thk02, a1, aldt, alpe, ngl, ismstr, iofc, nne, area, g, shf, msc, dmelc, jsms, ptg, igtyp, igmat, a11r, g_dt, dtel, mtn, pm, imat, nel, zoffset)