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

Go to the source code of this file.

Functions/Subroutines

subroutine sigeps01g (jft, jlt, g, thk, off, gs, a1, a2, nu, thk0, nel, f_def, ismstr, depsxx, depsyy, depsxy, depsyz, depszx, depbxx, depbyy, depbxy, sigoxx, sigoyy, sigoxy, sigoyz, sigozx, momoxx, momoyy, momoxy, signxx, signyy, signxy, signyz, signzx, momnxx, momnyy, momnxy)

Function/Subroutine Documentation

◆ sigeps01g()

subroutine sigeps01g ( integer jft,
integer jlt,
g,
thk,
off,
gs,
a1,
a2,
nu,
thk0,
integer nel,
f_def,
integer ismstr,
depsxx,
depsyy,
depsxy,
depsyz,
depszx,
depbxx,
depbyy,
depbxy,
sigoxx,
sigoyy,
sigoxy,
sigoyz,
sigozx,
momoxx,
momoyy,
momoxy,
signxx,
signyy,
signxy,
signyz,
signzx,
momnxx,
momnyy,
momnxy )

Definition at line 28 of file sigeps01g.F.

36C-----------------------------------------------
37C I m p l i c i t T y p e s
38C-----------------------------------------------
39#include "implicit_f.inc"
40C-----------------------------------------------
41C G l o b a l P a r a m e t e r s
42C-----------------------------------------------
43#include "mvsiz_p.inc"
44C-----------------------------------------------
45C D u m m y A r g u m e n t s
46C-----------------------------------------------
47 INTEGER JFT,JLT,NEL,ISMSTR
48C REAL
50 . off(*),gs(*)
52 . nu(mvsiz),g(mvsiz),a1(mvsiz),a2(mvsiz),f_def(mvsiz,8),
53 . depsxx(nel),depsyy(nel),depsxy(nel),
54 . depbxx(nel),depbyy(nel),depbxy(nel),
55 . depsyz(nel),depszx(nel),
56 . sigoxx(nel),sigoyy(nel),sigoxy(nel),
57 . sigoyz(nel),sigozx(nel),
58 . momoxx(nel),momoyy(nel),momoxy(nel)
59C-----------------------------------------------
60C O U T P U T A R G U M E N T S
61C-----------------------------------------------
63 . thk(*),
64 . signxx(nel),signyy(nel),signxy(nel),
65 . momnxx(nel),momnyy(nel),momnxy(nel),
66 . signyz(nel),signzx(nel),
67 . sigvxx(nel),sigvyy(nel)
68C-----------------------------------------------
69C L o c a l V a r i a b l e s
70C-----------------------------------------------
71 INTEGER I,MX,J
72C REAL
74 . dtinv,amu,fact,visc
76 . b1(mvsiz),b2(mvsiz),thk0(mvsiz),
77 . b3(mvsiz),degmb(mvsiz),degfx(mvsiz),
78 . thk08,ezz(mvsiz)
80 . eigv(mvsiz,3,2),trav(mvsiz),rootv(mvsiz),
81 . eh1(mvsiz),eh2(mvsiz),eb1(mvsiz),eb2(mvsiz),dezz(mvsiz),
82 . epsxx(mvsiz),epsyy(mvsiz),epsxy (mvsiz),
83 . for1(mvsiz),for2(mvsiz),mom1(mvsiz),mom2(mvsiz)
84c . TAN_A,TAN_A2,SIN2_A(MVSIZ),COS2_A(MVSIZ),SINCOS_A(MVSIZ),ANG
85C-----------------------------------------------
86!---
87 IF (ismstr == 10) THEN
88C---------[F]=[F_DEF]+[1]; [B]=[F][F]^t strain----
89 DO i=jft,jlt
90 epsxx(i)=f_def(i,1)*(two+f_def(i,1))+
91 . f_def(i,3)*f_def(i,3) + one
92 epsyy(i)=f_def(i,2)*(two+f_def(i,2))+
93 . f_def(i,4)*f_def(i,4) + one
94c EPSZZ(I)=MFZZ(I)*(TWO+MFZZ(I))+
95c . MFZX(I)*MFZX(I)+MFZY(I)*MFZY(I)
96 epsxy(i)=f_def(i,3)+f_def(i,4)+f_def(i,1)*f_def(i,4)+
97 . f_def(i,3)*f_def(i,2)
98 ENDDO
99C principal stretch (def gradient eigenvalues)
100 DO i=jft,jlt
101 trav(i) = epsxx(i)+epsyy(i)
102 rootv(i) = sqrt((epsxx(i)-epsyy(i))*(epsxx(i)-epsyy(i))
103 . + epsxy(i)*epsxy(i)*four)
104 eb1(i) = half*(trav(i)+rootv(i))
105 eb2(i) = half*(trav(i)-rootv(i))
106 eh1(i) = half*log(eb1(i))
107 eh2(i) = half*log(eb2(i))
108 for1(i)=a1(i)*eh1(i)+a2(i)*eh2(i)
109 for2(i)=a1(i)*eh2(i)+a2(i)*eh1(i)
110 ENDDO
111C rot matrix (eigenvectors), ROOTV= 2R
112 DO i=jft,jlt
113 IF (abs(eb2(i)-eb1(i)) < em15) THEN
114 eigv(i,1,1)=one
115 eigv(i,2,1)=zero
116 eigv(i,3,1)=zero
117 eigv(i,1,2)=zero
118 eigv(i,2,2)=one
119 eigv(i,3,2)=zero
120 ELSE
121 eigv(i,1,1) = (epsxx(i)-eb2(i)) / rootv(i)
122 eigv(i,2,1) = (epsyy(i)-eb2(i)) / rootv(i)
123 eigv(i,3,1) = (epsxy(i)) / rootv(i)
124 eigv(i,1,2) = (eb1(i)-epsxx(i)) / rootv(i)
125 eigv(i,2,2) = (eb1(i)-epsyy(i)) / rootv(i)
126 eigv(i,3,2) =-(epsxy(i)) / rootv(i)
127 ENDIF
128 ENDDO
129 ENDIF ! IF (ISMSTR == 10) THEN
130!---
131C
132 DO i=jft,jlt
133 thk08 = thk0(i)*one_over_12
134 b1(i) = a1(i)*thk08
135 b2(i) = a2(i)*thk08
136 b3(i) = g(i) *thk08
137 ENDDO
138C
139 IF (ismstr /= 10) THEN
140 DO i=jft,jlt
141 signxx(i)=sigoxx(i)+a1(i)*depsxx(i)+a2(i)*depsyy(i)
142 signyy(i)=sigoyy(i)+a2(i)*depsxx(i)+a1(i)*depsyy(i)
143 signxy(i)=sigoxy(i)+g(i) *depsxy(i)
144 signyz(i)=sigoyz(i)+gs(i)*depsyz(i)
145 signzx(i)=sigozx(i)+gs(i)*depszx(i)
146C
147 momnxx(i)=momoxx(i)+b1(i)*depbxx(i)+b2(i)*depbyy(i)
148 momnyy(i)=momoyy(i)+b1(i)*depbyy(i)+b2(i)*depbxx(i)
149 momnxy(i)=momoxy(i)+b3(i)*depbxy(i)
150 ENDDO
151 ELSE ! ISMSTR = 10
152 DO i=jft,jlt
153 signxx(i) = eigv(i,1,1)*for1(i) + eigv(i,1,2)*for2(i)
154 signyy(i) = eigv(i,2,1)*for1(i) + eigv(i,2,2)*for2(i)
155 signxy(i) = eigv(i,3,1)*for1(i) + eigv(i,3,2)*for2(i)
156 signyz(i) = sigoyz(i)+ gs(i)*depsyz(i)
157 signzx(i) = sigozx(i)+ gs(i)*depszx(i)
158 ENDDO
159C-----curveture
160C---------[F]=[F_DEF]+[1]; [B]=[F][F]^t strain-----
161 DO i=jft,jlt
162 epsxx(i)=f_def(i,6)*(two+f_def(i,6))+
163 . f_def(i,8)*f_def(i,8) +one
164 epsyy(i)=f_def(i,7)*(two+f_def(i,7))+
165 . f_def(i,5)*f_def(i,5) +one
166 epsxy(i)=f_def(i,8)+f_def(i,5)+f_def(i,6)*f_def(i,5)+
167 . f_def(i,8)*f_def(i,7)
168 ENDDO
169C principal stretch (def gradient eigenvalues)
170 DO i=jft,jlt
171 trav(i) = epsxx(i)+epsyy(i)
172 rootv(i) = sqrt((epsxx(i)-epsyy(i))*(epsxx(i)-epsyy(i))
173 . + epsxy(i)*epsxy(i)*four)
174 eb1(i) = half*(trav(i)+rootv(i))
175 eb2(i) = half*(trav(i)-rootv(i))
176 eh1(i) = half*log(eb1(i))
177 eh2(i) = half*log(eb2(i))
178 mom1(i)=b1(i)*eh1(i)+b2(i)*eh2(i)
179 mom2(i)=b1(i)*eh2(i)+b2(i)*eh1(i)
180 ENDDO
181C rot matrix (eigenvectors)
182 DO i=jft,jlt
183 IF (abs(eb2(i)-eb1(i)) < em15) THEN
184 eigv(i,1,1)=one
185 eigv(i,2,1)=zero
186 eigv(i,3,1)=zero
187 eigv(i,1,2)=zero
188 eigv(i,2,2)=one
189 eigv(i,3,2)=zero
190 ELSE
191 eigv(i,1,1) = (epsxx(i)-eb2(i)) / rootv(i)
192 eigv(i,2,1) = (epsyy(i)-eb2(i)) / rootv(i)
193 eigv(i,3,1) = (epsxy(i)) / rootv(i)
194 eigv(i,1,2) = (eb1(i)-epsxx(i)) / rootv(i)
195 eigv(i,2,2) = (eb1(i)-epsyy(i)) / rootv(i)
196 eigv(i,3,2) =-(epsxy(i)) / rootv(i)
197 ENDIF
198 ENDDO
199 DO i=jft,jlt
200 momnxx(i) = eigv(i,1,1)*mom1(i) + eigv(i,1,2)*mom2(i)
201 momnyy(i) = eigv(i,2,1)*mom1(i) + eigv(i,2,2)*mom2(i)
202 momnxy(i) = eigv(i,3,1)*mom1(i) + eigv(i,3,2)*mom2(i)
203 ENDDO
204 ENDIF ! IF (ISMSTR /= 10) THEN
205C
206 DO i=jft,jlt
207 ezz(i) = -nu(i) * (depsxx(i)+depsyy(i)) / (one-nu(i))
208 thk(i) = thk(i) * (one + ezz(i) * off(i))
209 ENDDO
210C
211 RETURN
#define my_real
Definition cppsort.cpp:32