OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
sigeps91gpinch.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"
#include "param_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine sigeps91gpinch (jft, jlt, nuvar, uparam, rho0, thk, thk0, nel, ssp, area, depsxx, depsyy, depszz, depsxy, depsyz, depszx, depbxx, depbyy, depbxy, deppxz, deppyz, sigoxx, sigoyy, sigozz, sigoxy, sigoyz, sigozx, momoxx, momoyy, momoxy, momopxz, momopyz, signxx, signyy, signzz, signxy, signyz, signzx, momnxx, momnyy, momnxy, momnpxz, momnpyz, time, uvar, dt_inv, viscmx, aldt, vol0, ipm, mat, pla, degmb, degfx, ngl, ezzavg, areapinch)

Function/Subroutine Documentation

◆ sigeps91gpinch()

subroutine sigeps91gpinch ( integer jft,
integer jlt,
integer nuvar,
uparam,
rho0,
thk,
thk0,
integer nel,
ssp,
area,
depsxx,
depsyy,
depszz,
depsxy,
depsyz,
depszx,
depbxx,
depbyy,
depbxy,
deppxz,
deppyz,
sigoxx,
sigoyy,
sigozz,
sigoxy,
sigoyz,
sigozx,
momoxx,
momoyy,
momoxy,
momopxz,
momopyz,
signxx,
signyy,
signzz,
signxy,
signyz,
signzx,
momnxx,
momnyy,
momnxy,
momnpxz,
momnpyz,
time,
uvar,
dt_inv,
viscmx,
aldt,
vol0,
integer, dimension(npropmi,*) ipm,
integer, dimension(nel) mat,
pla,
degmb,
degfx,
integer, dimension(*) ngl,
ezzavg,
areapinch )

Definition at line 28 of file sigeps91gpinch.F.

46C-----------------------------------------------
47C I m p l i c i t T y p e s
48C-----------------------------------------------
49#include "implicit_f.inc"
50C-----------------------------------------------
51C G l o b a l P a r a m e t e r s
52C-----------------------------------------------
53#include "mvsiz_p.inc"
54C-----------------------------------------------
55C C o m m o n B l o c k s
56C-----------------------------------------------
57#include "param_c.inc"
58C-----------------------------------------------
59C I N P U T A R G U M E N T S
60C-----------------------------------------------
61 INTEGER JFT,JLT,NEL,ISMSTR,NUVAR, IPM(NPROPMI,*),MAT(NEL),NGL(*)
62C REAL
64 . uparam(*),uvar(nel,nuvar)
66 . time
68 . depsxx(nel),depsyy(nel),depszz(nel),
69 . depsxy(nel),depsyz(nel),depszx(nel),
70 . depbxx(nel),depbyy(nel),depbxy(nel),
71 . deppxz(nel),deppyz(nel),
72 . sigoxx(nel),sigoyy(nel),sigozz(nel),
73 . sigoxy(nel),sigoyz(nel),sigozx(nel),
74 . momoxx(nel),momoyy(nel),momoxy(nel),
75 . momopxz(nel),momopyz(nel),
76 . area(nel),thk(nel),thk0(nel),rho0(nel),dt_inv(nel),aldt(mvsiz),
77 . vol0(mvsiz),pla(nel),degmb(mvsiz),degfx(mvsiz),ezzavg(mvsiz),
78 . areapinch(mvsiz)
79C-----------------------------------------------
80C O U T P U T A R G U M E N T S
81C-----------------------------------------------
83 . signxx(nel),signyy(nel),signzz(nel),
84 . signxy(nel),signyz(nel),signzx(nel),
85 . momnxx(nel),momnyy(nel),momnxy(nel),
86 . momnpxz(nel),momnpyz(nel),
87 . ssp(nel),rho(nel)
88C-----------------------------------------------
89C L o c a l V a r i a b l e s
90C-----------------------------------------------
91 INTEGER I,MX,J,IADBUF
92C REAL
94 . pa1,pa2,pa3,pa4,pa5,
95 . e,nu,g,gs,sigy,hm,sigy0,
96 . ms,fs,d1,d2,d3,c1,c2,c3,
97 . aaa,bbb,ccc,p,bulk
99 . vol(mvsiz),spheps(mvsiz),
100 . devdepsxx(mvsiz),devdepsyy(mvsiz),devdepszz(mvsiz),
101 . devdepsxy(mvsiz),devdepsyz(mvsiz),devdepsxz(mvsiz),
102 . b1(mvsiz),b2(mvsiz),b3(mvsiz),b4(mvsiz),b5(mvsiz),
103 . thk08(mvsiz),viscmx(mvsiz),thkx(mvsiz),mu(mvsiz),
104 . svonm(mvsiz),crit(mvsiz),sphsig(mvsiz),magdev(mvsiz),invmagdev(mvsiz),
105 . devsxx(mvsiz),devsyy(mvsiz),devszz(mvsiz),
106 . devsxy(mvsiz),devsyz(mvsiz),devszx(mvsiz),
107 . n1(mvsiz),n2(mvsiz),n3(mvsiz),n4(mvsiz),n5(mvsiz),n6(mvsiz),
108 . rr(mvsiz),unsyeq(mvsiz),hh(mvsiz),etse(mvsiz),
109 . degsh_loc(mvsiz),degmb_loc(mvsiz),degfx_loc(mvsiz),dwelm(mvsiz),
110 . dwelf(mvsiz),dwpla(mvsiz),dpla(mvsiz),
111 . sdevxx(mvsiz),sdevyy(mvsiz),sdevzz(mvsiz),
112 . signdevxx(mvsiz),signdevyy(mvsiz),signdevzz(mvsiz),pnew(mvsiz),ptrial(mvsiz),
113 . pold(mvsiz),sigodevxx(mvsiz),sigodevyy(mvsiz),sigodevzz(mvsiz),dd(mvsiz)
114C-----------------------------------------------
115C
116C initialize
117 IF (time == zero) THEN
118 DO i=1,nel
119 uvar(i,1) = areapinch(i)*thk(i)
120 uvar(i,2) = thk(i)
121 ENDDO
122 ENDIF
123C retrieve material parameters from the buffer
124 mx = mat(1)
125 iadbuf = ipm(7,mx)
126 e = uparam(iadbuf)
127 nu = uparam(iadbuf+1)
128 sigy0 = uparam(iadbuf+2)
129 hm = uparam(iadbuf+3)
130 g = half*e/(one+nu)
131 gs = 5.d0/6.d0*g
132 bulk = e/(three*(one-two*nu))
133C other derived material parameters
134 pa1 = e*(one-nu)/(one+nu)/(one-two*nu)
135 pa2 = e*nu/(one+nu)/(one-two*nu)
136 pa3 = g
137 pa4 = (one+nu)*(one-two*nu)/(one-nu**2)/(one-nu)*pa1
138 pa5 = (one+nu)*(one-two*nu)/(one-nu**2)*pa2
139C C1/C2/C3 are PM(28:30) [ref:sigeps02g]
140 c1 = one/e
141 c2 = -nu*c1
142 c3 = one/g
143C
144 DO i=1,nel
145 thk08(i)= thk0(i)*one_over_12
146 b1(i) = pa1*thk08(i)
147 b2(i) = pa2*thk08(i)
148 b3(i) = pa3*thk08(i)
149 b4(i) = pa4*thk08(i)
150 b5(i) = pa5*thk08(i)
151 ENDDO
152C
153 DO i=1,nel
154C THKX(I) = UVAR(I,2)*(1+HALF*DEPSZZ(I))/(1-HALF*DEPSZZ(I))
155 thkx(i) = uvar(i,2)*(1+half*ezzavg(i))/(1-half*ezzavg(i))
156
157 uvar(i,2) = thkx(i)
158 vol(i) = areapinch(i)*thkx(i)
159 rho(i) = uvar(i,1)*rho0(i)/vol(i)
160 mu(i) = rho(i)/rho0(i)-one
161 pnew(i) = bulk*mu(i)
162C print*, NGL(I),PNEW(I)
163 ENDDO
164
165
166 DO i=jft,jlt
167C energy of transverse shear + pinching
168 degsh_loc(i) = sigoyz(i)*depsyz(i)+sigozx(i)*depszx(i)
169C energy of only in plane components, xx,yy,xy
170 degmb_loc(i) = degmb(i) - degsh_loc(i)
171C bending energy
172 degfx_loc(i) = degfx(i)
173C calculate old pressure and old derivatoric stress
174 pold(i) = -third*(sigoxx(i)+sigoyy(i)+sigozz(i))
175 sigodevxx(i) = sigoxx(i)+pold(i)
176 sigodevyy(i) = sigoyy(i)+pold(i)
177 sigodevzz(i) = sigozz(i)+pold(i)
178C calculate change in spherical strain = DD
179 dd(i) = third*(depsxx(i)+depsyy(i)+depszz(i))
180C update trial deviatoric stress to calculate trial deviatoric stress
181 signdevxx(i)=sigodevxx(i)+two*g*(depsxx(i)-dd(i))
182 signdevyy(i)=sigodevyy(i)+two*g*(depsyy(i)-dd(i))
183 signdevzz(i)=sigodevzz(i)+two*g*(depszz(i)-dd(i))
184C shear stresses
185 signxy(i)=sigoxy(i)+g*depsxy(i)
186 signyz(i)=sigoyz(i)+gs*(depsyz(i)+zero*deppyz(i))
187 signzx(i)=sigozx(i)+gs*(depszx(i)+zero*deppxz(i))
188C moments
189 momnxx(i)=momoxx(i)+b4(i)*depbxx(i)+b5(i)*depbyy(i)
190 momnyy(i)=momoyy(i)+b5(i)*depbxx(i)+b4(i)*depbyy(i)
191 momnxy(i)=momoxy(i)+b3(i)*depbxy(i)
192 momnpxz(i)=momopxz(i)+b3(i)*deppxz(i)
193 momnpyz(i)=momopyz(i)+b3(i)*deppyz(i)
194C Sound speed like solids
195 ssp(i) = sqrt(pa1/rho0(i))
196
197
198
199
200
201
202 ENDDO
203C calculate equivalent stress 2D
204 DO i=jft,jlt
205 ms = momnxx(i)+momnyy(i)
206C theory manual (global plasticity algorithm)
207 unsyeq(i) = one/
208 . sqrt(max(sixteen*(ms*ms + three*(momnxy(i)*momnxy(i) - momnxx(i)*momnyy(i)))
209 . +three*half*(signdevxx(i)**2+signdevyy(i)**2+signdevzz(i)**2+two*signxy(i)**2),em20))
210 sigy = sigy0 + hm*pla(i)
211 rr(i) = min(one,sigy*unsyeq(i))
212 ENDDO
213C
214 DO i=jft,jlt
215 IF (rr(i) < one) THEN
216 hh(i) = zero
217 etse(i) = zero
218 ENDIF
219 ENDDO
220C energies calculation
221 DO i=jft,jlt
222C
223 signxx(i) = signdevxx(i)*rr(i)-pnew(i)
224 signyy(i) = signdevyy(i)*rr(i)-pnew(i)
225 signxy(i) = signxy(i)*rr(i)
226 signzz(i) = signdevzz(i)*rr(i)-pnew(i)
227C
228 d1 = signxx(i)-sigoxx(i)
229 d2 = signyy(i)-sigoyy(i)
230 d3 = signzz(i)-sigozz(i)
231C
232 dwelm(i) = (signxx(i)+sigoxx(i))*(c1*d1+c2*d2+c2*d3)+
233 . (signyy(i)+sigoyy(i))*(c2*d1+c1*d2+c2*d3)+
234 . (signzz(i)+sigozz(i))*(c2*d1+c2*d2+c1*d3)+
235 . (signxy(i)+sigoxy(i))*(c3*(signxy(i)-sigoxy(i)))
236 degmb_loc(i) = degmb_loc(i)+signxx(i)*depsxx(i)+signyy(i)*depsyy(i)
237 . +signzz(i)*depszz(i)
238 . +signxy(i)*depsxy(i)
239!
240 momnxx(i) = momnxx(i)*rr(i)
241 momnyy(i) = momnyy(i)*rr(i)
242 momnxy(i) = momnxy(i)*rr(i)
243 d1 = momnxx(i)-momoxx(i)
244 d2 = momnyy(i)-momoyy(i)
245 dwelf(i) = twelve*(
246 . (momnxx(i)+momoxx(i))*(c1*d1+c2*d2)
247 . +(momnyy(i)+momoyy(i))*(c2*d1+c1*d2)
248 . +(momnxy(i)+momoxy(i))*(c3*(momnxy(i)-momoxy(i))) )
249 degfx_loc(i) = degfx_loc(i)+ momnxx(i)*depbxx(i)+momnyy(i)*depbyy(i)
250 . +momnxy(i)*depbxy(i)
251
252 ENDDO
253C delta of plastic work
254 DO i=jft,jlt
255 dwpla(i) = degmb_loc(i)+degfx_loc(i)*thk0(i)-dwelm(i)-dwelf(i)
256 ENDDO
257C equivalent plastic strain
258 DO i=jft,jlt
259 dpla(i) = max(zero,half*dwpla(i)/sigy)
260 pla(i) = pla(i) + dpla(i)
261 ENDDO
262 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine area(d1, x, x2, y, y2, eint, stif0)
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21