32 1 JFT ,JLT ,NFT ,NEL ,NPT ,
33 2 ISTRAIN ,SIGSH ,NUMEL ,IX ,NIX ,
34 3 NSIGSH ,NUMSH ,PTSH ,IR ,IS ,
45#include "implicit_f.inc"
53 INTEGER JFT,JLT,NUMEL,NIX,NFT,NPT,ISTRAIN,IR,IS,NLAY,NSIGSH,
55 INTEGER IX(NIX,*),PTSH(*)
58 TYPE(elbuf_struct_),
TARGET :: ELBUF_STR
62 INTEGER I,J,II,JJ,KK,N,NPTI,NU,NIP,NUVAR,NVARS,NPG,IPT,
63 . IPT_ALL,IT,ILAY,NPTT,L_SIGB
64 TYPE(L_BUFEL_) ,
POINTER :: LBUF
65 TYPE(BUF_LAY_) ,
POINTER :: BUFLY
66 my_real,
DIMENSION(:),
POINTER :: uvar,siga,sigb,sigc
69 IF (abs(isigi) /=3 .AND. abs(isigi)/=4 .AND. abs(isigi)/=5)
THEN
72 IF(n == ix(nix,ii))
THEN
80 IF(n == ix(nix,jj))
GOTO 70
91 nip = nint(sigsh(nvshell + 2,ii))
92 npg = nint(sigsh(nvshell + 3,ii))
93 nvars= nint(sigsh(nvshell + 4,ii))
94 nuvar = elbuf_str%BUFLY(1)%NVAR_MAT
96 IF (elbuf_str%BUFLY(1)%ILAW == 36)
THEN
97 l_sigb = elbuf_str%BUFLY(1)%L_SIGB
98 IF (nvars > 3 .and. nip > 0 .and. l_sigb > 0)
THEN
101 bufly => elbuf_str%BUFLY(ilay)
103 nuvar = bufly%NVAR_MAT
105 sigb => bufly%LBUF(ir,is,it)%SIGB
109 sigb(jj) = sigsh(nvshell + 4 + (ipt -1)*nvars + j ,ii)
112 ipt_all = ipt_all + nptt
116 ELSE IF (elbuf_str%BUFLY(1)%ILAW == 78)
THEN
117 l_sigb = elbuf_str%BUFLY(1)%L_SIGB
118 nuvar = elbuf_str%BUFLY(1)%NVAR_MAT
121 bufly => elbuf_str%BUFLY(ilay)
125 uvar => bufly%MAT(ir,is,it)%VAR
126 siga => bufly%LBUF(ir,is,it)%SIGA
127 sigb => bufly%LBUF(ir,is,it)%SIGB
128 sigc => bufly%LBUF(ir,is,it)%SIGC
129 kk = nvshell + 4 + (ipt-1)*nvars
132 uvar(jj) = sigsh(kk + nu,ii)
137 siga(jj) = sigsh(kk + j ,ii)
141 sigb(jj) = sigsh(kk + l_sigb + j ,ii)
145 sigc(jj) = sigsh(kk + l_sigb*2 + j ,ii)
148 ipt_all = ipt_all + nptt
151 ELSE IF (elbuf_str%BUFLY(1)%ILAW == 87)
THEN
152 l_sigb = elbuf_str%BUFLY(1)%L_SIGB
153 nuvar = elbuf_str%BUFLY(1)%NVAR_MAT
156 bufly => elbuf_str%BUFLY(ilay)
160 uvar => bufly%MAT(ir,is,it)%VAR
161 sigb => bufly%LBUF(ir,is,it)%SIGB
162 kk = nvshell + 4 + (ipt-1)*nvars
166 uvar(jj) = sigsh(kk + nu,ii)
171 sigb(jj) = sigsh(kk + j ,ii)
174 ipt_all = ipt_all + nptt
177 ELSE IF (elbuf_str%BUFLY(1)%ILAW == 112)
THEN
180 nptt = elbuf_str%BUFLY(ilay)%NPTT
183 kk = nvshell + 4 + (ipt-1)*nvars
186 elbuf_str%BUFLY(ilay)%LBUF(ir,is,it)%PLA(jj) = sigsh(kk + j,ii
189 ipt_all = ipt_all + nptt
192 ELSE IF (npg <= 1)
THEN
194 uvar => elbuf_str%BUFLY(1)%MAT(ir,is,1)%VAR
195 DO nu = 1,
min(nvars,nuvar)
196 uvar((nu -1)*nel + i) = sigsh(nvshell + 4 + nu, ii)
201 nptt = elbuf_str%BUFLY(ilay)%NPTT
202 nuvar = elbuf_str%BUFLY(ilay)%NVAR_MAT
205 uvar => elbuf_str%BUFLY(ilay)%MAT(ir,is,it)%VAR
206 DO nu = 1,
min(nvars,nuvar)
207 uvar((nu -1)*nel + i) =
208 . sigsh(nvshell + 4 + nu + (ipt -1)*nvars , ii)
211 ipt_all = ipt_all + nptt
subroutine cuserini(elbuf_str, jft, jlt, nft, nel, npt, istrain, sigsh, numel, ix, nix, nsigsh, numsh, ptsh, ir, is, nlay)