36 1 NEL ,NPT ,MTN ,IMAT ,
39 4 EPSP ,BUFMAT ,NPF ,TF ,
40 5 EXX ,EXY ,EXZ ,KXX ,
41 6 KYY ,KZZ ,JTHE ,TEMPEL ,SIGY )
49#include "implicit_f.inc"
59 INTEGER NEL,MTN,IMAT,NPT,
60 INTEGER IPM(NPROPMI,*),PID(*),NPF(*),NGL(*)
62 . GEO(NPROPG,*),EPSP(*),BUFMAT(*),
64 . (NEL),EXY(NEL),EXZ(NEL),KXX(),KYY(NEL),KZZ(NEL)
65 my_real ,
INTENT(INOUT) :: tempel(nel)
66 my_real ,
INTENT(INOUT) :: sigy(nel,npt)
68 TYPE (ELBUF_STRUCT_),
TARGET :: ELBUF_STR
74 INTEGER I,K,J1,IADBUF,IPT,JPLA,NFUNC,IPY,IPZ,IPA,NUVAR,NVARTMP,
75 . ir,is,ii(3),ilayer,nuparam
77 . ypt(nel),zpt(nel),apt(nel),g(nel),e(nel),etse(nel),
78 . depsxx(nel),depsxy(nel),depsxz(nel),
79 . sigoxx(nel),sigoxy(nel),sigoxz(nel),
80 . signxx(nel),signxy(nel),signxz(nel),
82 my_real :: shfact,dfxx,dfxy,dfxz
83 my_real ,
DIMENSION(NEL) :: epsxx,epsxy,epsxz,dpla
85 TYPE(buf_lay_) ,
POINTER :: BUFLY
86 TYPE(L_BUFEL_) ,
POINTER :: LBUF
87 TYPE(G_BUFEL_) ,
POINTER :: GBUF
88 my_real,
DIMENSION(:) ,
POINTER :: uvar
89 INTEGER,
DIMENSION(:),
POINTER :: VARTMP
100 ifunc(i)=ipm(10+i,imat)
113 bufly => elbuf_str%BUFLY(ilayer)
114 lbuf => bufly%LBUF(ir,is,ipt)
115 gbuf => elbuf_str%GBUF
116 uvar => bufly%MAT(ir,is,ipt)%VAR
117 vartmp=> bufly%MAT(ir,is,ipt)%VARTMP
118 nuvar = bufly%NVAR_MAT
119 nvartmp= bufly%NVARTMP
123 ypt(i) = geo(ipy+ipt,pid(i))
124 zpt(i) = geo(ipz+ipt,pid(i))
125 apt(i) = geo(ipa+ipt,pid(i))
133 sigoxx(i) = lbuf%SIG(ii(1)+i)
134 sigoxy(i) = lbuf%SIG(ii(2)+i)
135 sigoxz(i) = lbuf%SIG(ii(3)+i)
136 sigy_ipt(i) = sigy(i,ipt)
140 depsxx(i) = exx(i) - ypt(i)*kzz(i) + zpt(i)*kyy(i)
141 depsxy(i) = exy(i) + zpt(i)*kxx(i)
142 depsxz(i) = exz(i) - ypt(i)*kxx(i)
143 depsxy(i) = depsxy(i) / shfact
144 depsxz(i) = depsxz(i) / shfact
147 IF (bufly%L_STRA > 0)
THEN
149 lbuf%STRA(ii(1)+i) = lbuf%STRA(ii(1)+i) + depsxx(i)
150 lbuf%STRA(ii(2)+i) = lbuf%STRA(ii(2)+i) + depsxy(i)
151 lbuf%STRA(ii(3)+i) = lbuf%STRA(ii(3)+i) + depsxz(i)
154 epsxx(i) = lbuf%STRA(ii(1)+i)
155 epsxy(i) = lbuf%STRA(ii(2)+i)
156 epsxz(i) = lbuf%STRA(ii(3)+i)
167 1 nel ,nuparam ,bufmat ,ipm ,imat ,
168 2 nuvar ,uvar ,depsxx ,depsxy ,depsxz ,
169 3 epsxx ,sigoxx ,sigoxy ,sigoxz ,
170 4 signxx ,signxy ,signxz ,dt1 ,
175 1 nel ,ifunc ,ipt ,npf ,tf ,
176 2 ngl ,tt ,dt1 ,bufmat ,ipm ,
177 3 imat ,e ,g ,off ,depsxx ,
178 4 depsxy ,depsxz ,sigoxx ,sigoxy ,sigoxz ,
179 5 signxx ,signxy ,signxz ,etse ,lbuf%PLA,
180 6 epsp ,nvartmp ,vartmp ,sigy_ipt)
184 1 nel ,nuparam ,bufmat ,ipm ,imat ,
185 2 off ,lbuf%PLA ,depsxx ,depsxy ,depsxz ,
186 3 sigoxx ,sigoxy ,sigoxz ,epsxx ,epsp ,
187 4 signxx ,signxy ,signxz ,etse ,nuvar ,
188 5 uvar ,ifunc ,nvartmp ,vartmp ,npf ,
189 6 tf ,nfunc ,sigy_ipt)
193 1 nel ,nuparam ,bufmat ,ipm ,imat ,
194 2 off ,depsxx ,depsxy ,depsxz ,
195 3 sigoxx ,sigoxy ,sigoxz ,epsxx ,epsxy ,
196 4 epsxz ,signxx ,signxy ,signxz ,etse ,
197 5 nuvar ,uvar ,jthe ,tempel ,lbuf%FRAC,
201 gbuf%MAXFRAC(i) =
max(gbuf%MAXFRAC(i) , lbuf%FRAC
202 gbuf%MAXEPS(ii(1)+i) =
max(gbuf%MAXEPS(ii(1)+i) , abs(epsxx(i)))
203 gbuf%MAXEPS(ii(2)+i) =
max
204 gbuf%MAXEPS(ii(3)+i) =
max(gbuf%MAXEPS(ii(3)+i) , abs(epsxz(i)))
213 lbuf%SIG(ii(1)+i) = signxx(i)
215 lbuf%SIG(ii(3)+i) = signxz(i)
216 sigy(i,ipt) = sigy_ipt(i)
subroutine sigeps36pi(nel, kfunc, ipt, npf, tf, ngl, time, timestep, uparam, ipm, imat, e, g, off, depsxx, depsxy, depsxz, sigoxx, sigoxy, sigoxz, signxx, signxy, signxz, etse, pla, epsp, nvartmp, vartmp, sigy)
subroutine sigeps44pi(nel, nuparam, uparam, ipm, imat, off, pla, depsxx, depsxy, depsxz, sigoxx, sigoxy, sigoxz, epst, epsp, signxx, signxy, signxz, etse, nuvar, uvar, ifunc, nvartmp, vartmp, npf, tf, nfunc, sigy)