OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
sigeps01c.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 sigeps01c (jft, jlt, nel, imat, gs, sigoxx, sigoyy, sigoxy, sigoyz, sigozx, signxx, signyy, signxy, signyz, signzx, depsxx, depsyy, depsxy, depsyz, depszx, thk, thklyl, off, pm, ismstr, epsxx, epsyy, epsxy)

Function/Subroutine Documentation

◆ sigeps01c()

subroutine sigeps01c ( integer jft,
integer jlt,
integer nel,
integer imat,
gs,
sigoxx,
sigoyy,
sigoxy,
sigoyz,
sigozx,
signxx,
signyy,
signxy,
signyz,
signzx,
depsxx,
depsyy,
depsxy,
depsyz,
depszx,
thk,
thklyl,
off,
pm,
integer ismstr,
epsxx,
epsyy,
epsxy )

Definition at line 28 of file sigeps01c.F.

34C-----------------------------------------------
35C I m p l i c i t T y p e s
36C-----------------------------------------------
37#include "implicit_f.inc"
38C-----------------------------------------------
39C G l o b a l P a r a m e t e r s
40C-----------------------------------------------
41#include "mvsiz_p.inc"
42C-----------------------------------------------
43C C o m m o n B l o c k s
44C-----------------------------------------------
45#include "param_c.inc"
46C-----------------------------------------------
47C D u m m y A r g u m e n t s
48C-----------------------------------------------
49 INTEGER JFT,JLT,NPT,NEL,IMAT,ISMSTR
50C REAL
52 . thk(*),gs(*), thklyl(nel),off(*),pm(npropm,*),
53 . sigoxx(nel),sigoyy(nel),sigoxy(nel),sigoyz(nel),sigozx(nel),
54 . signxx(nel),signyy(nel),signxy(nel),signyz(nel),signzx(nel),
55 . depsxx(mvsiz),depsyy(mvsiz),depsxy(mvsiz),depsyz(mvsiz),
56 . depszx(mvsiz),epsxx(mvsiz),epsyy(mvsiz),epsxy(mvsiz)
57C-----------------------------------------------
58C L o c a l V a r i a b l e s
59C-----------------------------------------------
60 INTEGER I
61C REAL
63 . ezz(mvsiz),nu,g,a1,a2
65 . eigv(mvsiz,3,2),trav(mvsiz),rootv(mvsiz),
66 . eh1(mvsiz),eh2(mvsiz),eb1(mvsiz),eb2(mvsiz),
67 . for1(mvsiz),for2(mvsiz)
68C-----------------------------------------------
69 nu = pm(21,imat)
70 g = pm(22,imat)
71 a1 = pm(24,imat)
72 a2 = pm(25,imat)
73!
74 DO i=jft,jlt
75 signxx(i)=sigoxx(i)
76 signyy(i)=sigoyy(i)
77 signxy(i)=sigoxy(i)
78 signyz(i)=sigoyz(i)
79 signzx(i)=sigozx(i)
80 ENDDO
81!---
82 IF (ismstr == 10) THEN
83 DO i=jft,jlt
84 epsxx(i) = epsxx(i) + one
85 epsyy(i) = epsyy(i) + one
86 epsxy(i) = half * epsxy(i)
87 ENDDO
88C principal stretch (def gradient eigenvalues)
89 DO i=jft,jlt
90 trav(i) = epsxx(i)+epsyy(i)
91 rootv(i) = sqrt((epsxx(i)-epsyy(i))*(epsxx(i)-epsyy(i))
92 . + epsxy(i)*epsxy(i)*four)
93 eb1(i) = half*(trav(i)+rootv(i))
94 eb2(i) = half*(trav(i)-rootv(i))
95 eh1(i) = half*log(eb1(i))
96 eh2(i) = half*log(eb2(i))
97 for1(i)= a1*eh1(i)+a2*eh2(i)
98 for2(i)= a1*eh2(i)+a2*eh1(i)
99 ENDDO
100C rot matrix (eigenvectors), ROOTV= 2R
101 DO i=jft,jlt
102 IF (abs(eb2(i)-eb1(i)) < em15) THEN
103 eigv(i,1,1)=one
104 eigv(i,2,1)=zero
105 eigv(i,3,1)=zero
106 eigv(i,1,2)=zero
107 eigv(i,2,2)=one
108 eigv(i,3,2)=zero
109 ELSE
110 eigv(i,1,1) = (epsxx(i)-eb2(i)) / rootv(i)
111 eigv(i,2,1) = (epsyy(i)-eb2(i)) / rootv(i)
112 eigv(i,3,1) = (epsxy(i)) / rootv(i)
113 eigv(i,1,2) = (eb1(i)-epsxx(i)) / rootv(i)
114 eigv(i,2,2) = (eb1(i)-epsyy(i)) / rootv(i)
115 eigv(i,3,2) =-(epsxy(i)) / rootv(i)
116 ENDIF
117 ENDDO
118 ENDIF ! IF (ISMSTR == 10) THEN
119!---
120!---------------------------
121! CONTRAINTES ELASTIQUES
122!---------------------------
123 IF (ismstr /= 10) THEN
124 DO i=jft,jlt
125 signxx(i) = signxx(i)+a1*depsxx(i)+a2*depsyy(i)
126 signyy(i) = signyy(i)+a2*depsxx(i)+a1*depsyy(i)
127 signxy(i) = signxy(i)+ g*depsxy(i)
128 signyz(i) = signyz(i)+gs(i)*depsyz(i)
129 signzx(i) = signzx(i)+gs(i)*depszx(i)
130 ENDDO
131 ELSE ! ISMSTR = 10
132 DO i=jft,jlt
133 signxx(i) = eigv(i,1,1)*for1(i) + eigv(i,1,2)*for2(i)
134 signyy(i) = eigv(i,2,1)*for1(i) + eigv(i,2,2)*for2(i)
135 signxy(i) = eigv(i,3,1)*for1(i) + eigv(i,3,2)*for2(i)
136 signyz(i) = sigoyz(i)+ gs(i)*depsyz(i)
137 signzx(i) = sigozx(i)+ gs(i)*depszx(i)
138 ENDDO
139 ENDIF ! IF (ISMSTR /= 10)
140!---
141 DO i=jft,jlt
142 ezz(i) = -nu * (depsxx(i) + depsyy(i)) / (one-nu)
143 thk(i) = thk(i) + ezz(i) * thklyl(i)*off(i)
144 ENDDO
145!---
146 RETURN
#define my_real
Definition cppsort.cpp:32