OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
sigeps32c.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 sigeps32c (jft, jlt, pm, thk, off, dir, ipt, imat, nel, dt1c, gs, epsd, thklyl, ipla, dpla, depsxx, depsyy, depsxy, depsyz, depszx, sigoxx, sigoyy, sigoxy, sigoyz, sigozx, signxx, signyy, signxy, signyz, signzx, pla, ngl, hardm, inloc, dplanl, seqh, loff, et)

Function/Subroutine Documentation

◆ sigeps32c()

subroutine sigeps32c ( integer jft,
integer jlt,
pm,
thk,
off,
dir,
integer ipt,
integer imat,
integer nel,
dt1c,
gs,
epsd,
thklyl,
integer ipla,
dpla,
depsxx,
depsyy,
depsxy,
depsyz,
depszx,
sigoxx,
sigoyy,
sigoxy,
sigoyz,
sigozx,
signxx,
signyy,
signxy,
signyz,
signzx,
pla,
integer, dimension(*) ngl,
hardm,
integer inloc,
dplanl,
seqh,
intent(in) loff,
intent(inout) et )

Definition at line 31 of file sigeps32c.F.

40C-----------------------------------------------
41C I m p l i c i t T y p e s
42C-----------------------------------------------
43#include "implicit_f.inc"
44C-----------------------------------------------
45C G l o b a l P a r a m e t e r s
46C-----------------------------------------------
47#include "mvsiz_p.inc"
48C-----------------------------------------------
49C C o m m o n B l o c k s
50C-----------------------------------------------
51#include "param_c.inc"
52C-----------------------------------------------
53C D u m m y A r g u m e n t s
54C-----------------------------------------------
55 INTEGER JFT,JLT,IPLA,NEL,IMAT,IPT,INLOC
56 INTEGER NGL(*)
57C REAL
59 . pm(npropm,*),thk(*),off(*),dir(nel,2),dt1c(*),
60 . gs(*),dpla(*),epsd(*),hardm(*)
62 . depsxx(mvsiz),depsyy(mvsiz),depsxy(mvsiz),depsyz(mvsiz),
63 . depszx(mvsiz),sigoxx(nel),sigoyy(nel),sigoxy(nel),
64 . sigoyz(nel),sigozx(nel),signxx(nel),signyy(nel),signxy(nel),
65 . signyz(nel),signzx(nel),pla(nel),thklyl(nel),dplanl(nel),
66 . seqh(nel)
67 my_real, DIMENSION(NEL), INTENT(IN) :: loff
68 my_real, DIMENSION(NEL), INTENT(INOUT) :: et
69C-----------------------------------------------
70C L o c a l V a r i a b l e s
71C-----------------------------------------------
72 INTEGER I,J
74 . nu,ezz(mvsiz),young,normxx,normyy,
75 . a01,a02,a03,yld,ymax,cm,ce,cn,ca,
76 . d11,d22,d12,sxx,syy,sxy,p,q,s11,s22,
77 . s12,a,b,c,seq,dseq_da,dseq_db,dseq_dc,
78 . da_ds11,da_ds22,da_ds12,db_ds11,db_ds22,
79 . db_dq,dc_dq,dq_dsxx,dq_dsyy,ds11_dsxx,
80 . ds11_dsyy,ds22_dsxx,ds22_dsyy,dsxx_dsigx,
81 . dsxx_dsigy,dsyy_dsigx,dsyy_dsigy,dsxy_dsigx,
82 . dsxy_dsigy,a12
83C-----------------------------------------------
84!
85 young = pm(20,imat)
86 nu = pm(21,imat)
87 a01 = pm(45,imat)
88 a02 = pm(46,imat)
89 a03 = pm(47,imat)
90 a12 = pm(48,imat)
91 ca = pm(38,imat)
92 ce = pm(39,imat)
93 cn = pm(40,imat)
94 ymax = pm(42,imat)
95 cm = pm(43,imat)
96!
97 ezz(1:mvsiz) = zero
98C----------------------------
99C ELASTIC STRESSES
100C----------------------------
101 CALL m32elas(jft ,jlt ,pm ,imat ,gs ,
102 . sigoxx ,sigoyy ,sigoxy ,sigoyz ,sigozx ,
103 . signxx ,signyy ,signxy ,signyz ,signzx ,
104 . depsxx ,depsyy ,depsxy ,depsyz ,depszx ,
105 . nel )
106C------------------------------------------
107C PLASTIC RETURN MAPPING
108C------------------------------------------
109 CALL m32plas(jft ,jlt ,pm ,off ,pla ,
110 . imat ,dir ,ezz ,ipla ,dt1c ,
111 . dpla ,epsd ,nel ,ngl ,hardm ,
112 . signxx ,signyy ,signxy ,signyz ,signzx ,
113 . depsxx ,depsyy ,depsxy ,depsyz ,depszx )
114C----------------------------------------------------------
115C HILL EQUIVALENT STRESS OUTPUT AND THICKNESS VARIATION
116C----------------------------------------------------------
117 DO i = jft,jlt
118 d11 = dir(i,1)*dir(i,1)
119 d22 = dir(i,2)*dir(i,2)
120 d12 = dir(i,1)*dir(i,2)
121 sxx = d11*signxx(i) + d22*signyy(i) + two*d12*signxy(i)
122 syy = d22*signxx(i) + d11*signyy(i) - two*d12*signxy(i)
123 sxy = d12*(signyy(i) - signxx(i)) + ( d11 - d22 )*signxy(i)
124 p = -(sxx+syy) * third
125 q = (one - (nu/(one - nu)))*p
126 s11 = sxx+q
127 s22 = syy+q
128 s12 = sxy
129 a = a01*s11*s11 + a02*s22*s22 - a03*s11*s22 + a12*s12*s12
130 b = -q*(a01*s11 + a02*s22 - half*a03*(s11+s22))
131 c = (a01+a02-a03)*q*q
132 seqh(i) = sqrt(a+b+b+c)
133 ! Coefficient for hourglass
134 IF (dpla(i) > zero) THEN
135 et(i) = hardm(i) / (hardm(i) + young)
136 ELSE
137 et(i) = one
138 ENDIF
139 ! Non-local
140 IF (inloc > 0) THEN
141 IF (loff(i) == one) THEN
142 seq = max(sqrt(a+b+b+c),em20)
143 dseq_da = one/(two*seq)
144 dseq_db = one/(seq)
145 dseq_dc = one/(two*seq)
146 da_ds11 = two*a01*s11 - a03*s22
147 da_ds22 = two*a02*s22 - a03*s11
148 da_ds12 = two*a12*s12
149 db_ds11 = (half*a03-a01)*q
150 db_ds22 = (half*a03-a02)*q
151 db_dq = -(a01*s11 + a02*s22 - half*a03*(s11+s22))
152 dc_dq = two*(a01+a02-a03)*q
153 dq_dsxx = -third*(one - (nu/(one - nu)))
154 dq_dsyy = -third*(one - (nu/(one - nu)))
155 ds11_dsxx = one + dq_dsxx
156 ds11_dsyy = dq_dsyy
157 ds22_dsxx = dq_dsxx
158 ds22_dsyy = one + dq_dsyy
159 dsxx_dsigx = d11
160 dsxx_dsigy = d22
161 dsyy_dsigx = d22
162 dsyy_dsigy = d11
163 dsxy_dsigx = -d12
164 dsxy_dsigy = d12
165 normxx = dseq_da*(
166 . da_ds11*(ds11_dsxx*dsxx_dsigx + ds11_dsyy*dsyy_dsigx) +
167 . da_ds22*(ds22_dsxx*dsxx_dsigx + ds22_dsyy*dsyy_dsigx) +
168 . da_ds12*dsxy_dsigx ) +
169 . dseq_db*(
170 . db_ds11*(ds11_dsxx*dsxx_dsigx + ds11_dsyy*dsyy_dsigx) +
171 . db_ds22*(ds22_dsxx*dsxx_dsigx + ds22_dsyy*dsyy_dsigx) +
172 . db_dq*(dq_dsxx*dsxx_dsigx + dq_dsyy*dsyy_dsigx)) +
173 . dseq_dc*(
174 . dc_dq*(dq_dsxx*dsxx_dsigx + dq_dsyy*dsyy_dsigx))
175 normyy = dseq_da*(
176 . da_ds11*(ds11_dsxx*dsxx_dsigy + ds11_dsyy*dsyy_dsigy) +
177 . da_ds22*(ds22_dsxx*dsxx_dsigy + ds22_dsyy*dsyy_dsigy) +
178 . da_ds12*dsxy_dsigy ) +
179 . dseq_db*(
180 . db_ds11*(ds11_dsxx*dsxx_dsigy + ds11_dsyy*dsyy_dsigy) +
181 . db_ds22*(ds22_dsxx*dsxx_dsigy + ds22_dsyy*dsyy_dsigy) +
182 . db_dq*(dq_dsxx*dsxx_dsigy + dq_dsyy*dsyy_dsigy)) +
183 . dseq_dc*(
184 . dc_dq*(dq_dsxx*dsxx_dsigy + dq_dsyy*dsyy_dsigy))
185 ezz(i) = max(dplanl(i),zero)*(normxx + normyy)
186 ezz(i) = -nu*((signxx(i)-sigoxx(i)+signyy(i)-sigoyy(i))/young) - ezz(i)
187 ENDIF
188 ! Local
189 ELSE
190 ezz(i) = -(depsxx(i)+depsyy(i))*(nu/(one-nu)) + ezz(i)
191 ENDIF
192 thk(i) = thk(i) + ezz(i)*thklyl(i)*off(i)
193 ENDDO
194!-----------
195 RETURN
196!-----------
#define my_real
Definition cppsort.cpp:32
subroutine ymax(idn, fac, npc, pld, stiffmin, stiffmax, stiffini, stiffavg)
Definition law100_upd.F:272
subroutine m32elas(jft, jlt, pm, imat, gs, sigoxx, sigoyy, sigoxy, sigoyz, sigozx, signxx, signyy, signxy, signyz, signzx, depsxx, depsyy, depsxy, depsyz, depszx, nel)
Definition m32elas.F:33
subroutine m32plas(jft, jlt, pm, off, epseq, imat, dir, ezz, ipla, dt1c, dpla1, epspd, nel, ngl, hardm, signxx, signyy, signxy, signyz, signzx, depsxx, depsyy, depsxy, depsyz, depszx)
Definition m32plas.F:35
#define max(a, b)
Definition macros.h:21