46 . NPROPM ,NPROPG ,SNPC ,STF ,
47 . NEL ,NPT ,IMAT ,IPROP ,JTHE ,
48 . TEMPEL ,NGL ,PM ,GEO ,
49 . OFF ,EPSD ,NPF ,TF ,
50 . DPLA ,EINT ,TIME ,IOUT ,ISTDO ,
51 . AL ,ISMSTR ,EXX ,EXY ,EXZ ,
52 . KXX ,KYY ,KZZ ,DTIME ,
53 . NTABLE ,TABLE ,SIGY )
59 USE fail_visual_ib_mod
61 USE fail_inievo_ib_mod
66#include "implicit_f.inc"
74 INTEGER ,
INTENT(IN) :: NEL
75 INTEGER ,
INTENT(IN) :: IMAT
76 INTEGER ,
INTENT(IN) :: IPROP
77 INTEGER ,
INTENT(IN) :: NPT
78 INTEGER ,
INTENT(IN) :: JTHE
79 INTEGER ,
INTENT(IN) :: NUMMAT
80 INTEGER ,
INTENT(IN) :: NUMGEO
81 INTEGER ,
INTENT(IN) :: NPROPM
82 INTEGER ,
INTENT(IN) :: NPROPG
83 INTEGER ,
INTENT(IN) :: SNPC
84 INTEGER ,
INTENT(IN) :: STF
85 INTEGER ,
INTENT(IN) :: NTABLE
86 TYPE(ttable),
DIMENSION(NTABLE),
INTENT(INOUT) :: TABLE
87 INTEGER ,
INTENT(IN) :: IOUT
88 INTEGER ,
INTENT(IN) :: ISTDO
89 INTEGER ,
INTENT(IN) :: ISMSTR
90 INTEGER ,
DIMENSION(SNPC) ,
INTENT(IN) :: NPF
91 INTEGER ,
DIMENSION(NEL) ,
INTENT(IN) :: NGL
93 my_real ,
DIMENSION(NPROPM ,NUMMAT) ,
INTENT(IN) :: pm
94 my_real ,
DIMENSION(NPROPG ,NUMGEO) ,
INTENT(IN) :: geo
95 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: epsd
96 my_real ,
DIMENSION(NEL) ,
INTENT(IN)
97 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: tempel
98 my_real ,
DIMENSION(STF) ,
INTENT(IN)
99 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: exx,exy,exz,kxx,kyy,kzz
100 my_real ,
DIMENSION(NEL,NPT) ,
INTENT(IN) :: dpla
101 my_real ,
DIMENSION(NEL,2) ,
INTENT(IN) :: eint
102 my_real ,
DIMENSION(NEL)INTENT(INOUT) :: off
104 my_real ,
DIMENSION(NEL,NPT) ,
INTENT(IN) :: sigy
106 TYPE (ELBUF_STRUCT_) ,
INTENT(INOUT) :: ELBUF_STR
107 TYPE (FAIL_PARAM_) ,
INTENT(IN) ::
112 INTEGER :: I,IFL,IPT,NFUNC,IPY,IPZ,IPA,NVARF,,IRUPT
114 INTEGER ,
DIMENSION(NEL) :: COUNT
116 my_real ,
DIMENSION(NEL) :: shfact,epsxx,epsxy,epsxz,
117 . signxx,signxy,signxz,ypt,zpt,apt,tstar,depsxx,depsxy,depsxz
118 my_real ,
DIMENSION(NEL) :: dpla_ipt,pla_ipt,sigy_ipt
121 TYPE(l_bufel_) ,
POINTER :: LBUF
122 TYPE(buf_fail_),
POINTER :: FBUF
123 my_real,
DIMENSION(:),
POINTER :: uvarf,dfmax,tdel
124 INTEGER,
DIMENSION(:),
POINTER :: FOFF
140 nparam = fail%NUPARAM
146 lbuf => elbuf_str%BUFLY(1)%LBUF(1,1,ipt)
147 fbuf => elbuf_str%BUFLY(1)%FAIL(1,1,ipt)
148 uvarf => fbuf%FLOC(ifl)%VAR
149 nvarf = fbuf%FLOC(ifl
150 irupt = fbuf%FLOC(ifl)%ILAWF
151 dfmax => fbuf%FLOC(ifl)%DAMMX
152 tdel => fbuf%FLOC(ifl)%TDEL
153 foff => fbuf%FLOC(ifl)%OFF
154 pla_ipt = elbuf_str%BUFLY(1)%LBUF(1,1,ipt)%PLA
155 dpla_ipt = dpla(:,ipt)
156 sigy_ipt = sigy(:,ipt)
161 ypt(i) = geo(ipy+ipt,iprop)
162 zpt(i) = geo(ipz+ipt,iprop)
163 apt(i) = geo(ipa+ipt,iprop)
167 signxx(i) = lbuf%SIG(ii(1)+i)
168 signxy(i) = lbuf%SIG(ii(2)+i)
169 signxz(i) = lbuf%SIG(ii(3)+i)
173 epsxx(i) = lbuf%STRA(ii(
175 epsxz(i) = lbuf%STRA(ii(3)+i)
179 depsxx(i) = exx(i) - ypt(i)*kzz(i) + zpt(i)*kyy(i)
180 depsxy(i) = exy(i) + zpt(i)*kxx(i)
181 depsxz(i) = exz(i) - ypt(i)*kxx(i)
182 depsxy(i) = depsxy(i) / shfact(i)
183 depsxz(i) = depsxz(i) / shfact(i)
197 tstar(i) =
max(zero,(tempel(i)-t0)/(tm-t0))
203 . nel ,ngl ,ipt ,nparam ,fail%UPARAM,
204 . time ,tstar ,signxx ,signxy ,signxz ,
205 . dpla_ipt ,epsd ,off ,foff ,dfmax ,
206 . tdel ,iout ,istdo ,elbuf_str%GBUF%UELR ,npt)
213 tstar(i) =
max(zero,(tempel(i)-t0)/(tm-t0))
220 . nel ,ngl ,nparam ,fail%UPARAM
222 . tdel ,iout ,istdo ,fail%IFUNC ,
223 . epsxx ,al ,tstar ,lbuf%DMGSCL ,
224 . snpc ,npf ,stf ,uvarf ,nvarf,
225 . tf ,ipt ,foff ,ismstr ,elbuf_str%GBUF%UELR ,npt)
229 . nel ,ngl ,nparam ,fail%UPARAM ,
230 . time ,epsd ,off ,dfmax,
231 . tdel ,iout ,istdo ,fail%IFUNC ,
232 . lbuf%DMGSCL,uvarf ,nvarf ,
235 . signxx ,signxy ,signxz ,
236 . depsxx ,depsxy ,depsxz ,elbuf_str%GBUF%UELR ,npt)
241 . nel ,ngl ,nparam ,fail%UPARAM,
242 . time ,off ,dfmax ,tdel ,
243 . iout ,istdo ,nfunc ,fail%IFUNC,lbuf%DMGSCL,
244 . uvarf ,nvarf ,snpc ,npf ,
245 . stf ,tf ,ipt ,foff ,
246 . signxx ,signxy ,signxz ,dpla_ipt ,al,elbuf_str%GBUF%UELR ,npt)
252 . nel ,ngl ,nparam ,fail%UPARAM ,
253 . time ,dpla_ipt ,off ,dfmax,
254 . tdel ,iout ,istdo ,epsxx ,
255 . ipt ,signxx ,signxy ,signxz ,
256 . nvarf ,uvarf ,foff ,elbuf_str%GBUF%UELR ,npt)
261 . nel ,ngl ,nparam ,fail%UPARAM,
264 . signxx ,signxy ,signxz ,
265 . epsxx ,epsxy ,epsxz ,
267 . uvarf ,ismstr ,dtime , ipt)
271 . nel ,fail%NUPARAM ,fbuf%FLOC(ifl)%NVAR ,fail%NFUNC,
273 . time ,dtime ,fail%UPARAM ,ipt ,
274 . ngl ,elbuf_str%GBUF%DT,epsd ,fbuf%FLOC(ifl)%VAR,
279 . fbuf%FLOC(ifl)%DAMMX , al, table,
281 . fail%TABLE , fbuf%FLOC(ifl)%LF_DAMMX, fail%NIPARAM ,fail%IPARAM,
282 . snpc ,stf ,ntable, foff,elbuf_str%GBUF%UELR ,npt, tdel
289 . nel ,fail%NUPARAM ,fbuf%FLOC(ifl)%NVAR ,
290 . table ,fail%NTABLE ,fail%TABLE ,time ,fail%UPARAM ,
291 . ngl ,al ,dpla_ipt ,epsd , fbuf%FLOC(ifl)%VAR,
292 . signxx ,signxy ,signxz ,
293 . pla_ipt ,sigy_ipt ,foff ,fbuf%FLOC(ifl)%DAMMX ,
294 . tdel ,lbuf%DMGSCL ,elbuf_str%GBUF%UELR ,ipt ,npt,
295 . fbuf%FLOC(ifl)%DAMINI ,
302 . nel ,fail%NUPARAM ,fbuf%FLOC(ifl)%NVAR ,fail%NFUNC ,fail%IFUNC ,
303 . npf ,table ,tf ,time ,fail%UPARAM ,
304 . ngl ,al ,dpla_ipt ,epsd ,fbuf%FLOC(ifl)%VAR,
305 . signxx ,signxy ,signxz ,
306 . tempel ,off ,fbuf%FLOC(ifl)%DAMMX ,tdel ,lbuf%DMGSCL,
307 . ipt, npt, foff, fail%NTABLE ,fail%TABLE,
308 . elbuf_str%GBUF%UELR,
311 IF (foff(i) == 0) count(i) = count(i) + 1
subroutine main_beam18(elbuf_str, nel, npt, mtn, imat, pid, ngl, pm, ipm, geo, off, for, mom, eint, al, epsd, bufmat, npf, tf, exx, exy, exz, kxx, kyy, kzz, f1, f2, f3, m1, m2, m3, jthe, tempel, ifail, sbufmat, snpc, stf, nummat, numgeo, iout, istdo, npropmi, npropm, npropg, time, dtime, idel7nok, isigi, imconv, ismstr, mat_param, ntable, table)