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

Go to the source code of this file.

Functions/Subroutines

subroutine sigeps34 (nel, nuparam, nuvar, nfunc, ifunc, npf, tf, time, timestep, uparam, rho0, rho, volume, eint, epspxx, epspyy, epspzz, epspxy, epspyz, epspzx, depsxx, depsyy, depszz, depsxy, depsyz, depszx, epsxx, epsyy, epszz, epsxy, epsyz, epszx, sigoxx, sigoyy, sigozz, sigoxy, sigoyz, sigozx, signxx, signyy, signzz, signxy, signyz, signzx, sigvxx, sigvyy, sigvzz, sigvxy, sigvyz, sigvzx, soundsp, viscmax, uvar, off)

Function/Subroutine Documentation

◆ sigeps34()

subroutine sigeps34 ( integer nel,
integer nuparam,
integer nuvar,
integer nfunc,
integer, dimension(nfunc) ifunc,
integer, dimension(*) npf,
tf,
time,
timestep,
uparam,
rho0,
rho,
volume,
eint,
epspxx,
epspyy,
epspzz,
epspxy,
epspyz,
epspzx,
depsxx,
depsyy,
depszz,
depsxy,
depsyz,
depszx,
epsxx,
epsyy,
epszz,
epsxy,
epsyz,
epszx,
sigoxx,
sigoyy,
sigozz,
sigoxy,
sigoyz,
sigozx,
signxx,
signyy,
signzz,
signxy,
signyz,
signzx,
sigvxx,
sigvyy,
sigvzz,
sigvxy,
sigvyz,
sigvzx,
soundsp,
viscmax,
uvar,
off )

Definition at line 29 of file sigeps34.F.

40C-----------------------------------------------
41C I m p l i c i t T y p e s
42C-----------------------------------------------
43#include "implicit_f.inc"
44C----------------------------------------------------------------
45C I N P U T A R G U M E N T S
46C----------------------------------------------------------------
47 INTEGER NEL, NUPARAM, NUVAR
49 . time , timestep , uparam(nuparam),
50 . rho(nel), rho0(nel), volume(nel), eint(nel),
51 . epspxx(nel), epspyy(nel), epspzz(nel),
52 . epspxy(nel), epspyz(nel), epspzx(nel),
53 . depsxx(nel), depsyy(nel), depszz(nel),
54 . depsxy(nel), depsyz(nel), depszx(nel),
55 . epsxx(nel), epsyy(nel), epszz(nel),
56 . epsxy(nel), epsyz(nel), epszx(nel),
57 . sigoxx(nel), sigoyy(nel), sigozz(nel),
58 . sigoxy(nel), sigoyz(nel), sigozx(nel)
59C----------------------------------------------------------------
60C O U T P U T A R G U M E N T S
61C----------------------------------------------------------------
63 . signxx(nel), signyy(nel), signzz(nel),
64 . signxy(nel), signyz(nel), signzx(nel),
65 . sigvxx(nel), sigvyy(nel), sigvzz(nel),
66 . sigvxy(nel), sigvyz(nel), sigvzx(nel),
67 . soundsp(nel), viscmax(nel)
68C----------------------------------------------------------------
69C I N P U T O U T P U T A R G U M E N T S
70C----------------------------------------------------------------
71 my_real uvar(nel,nuvar), off(nel)
72C----------------------------------------------------------------
73C VARIABLES FOR FUNCTION INTERPOLATION
74C----------------------------------------------------------------
75 INTEGER NPF(*), NFUNC, IFUNC(NFUNC)
76 my_real tf(*)
77C----------------------------------------------------------------
78C L O C A L V A R I B L E S
79C----------------------------------------------------------------
80 INTEGER :: I
81 my_real :: bulk,bulk3,g_ins,g_inf,ge,ge2,gv,gv2,c1,c2,beta,p0,phi,
82 . gama0,dp_drho
83 my_real ,DIMENSION(NEL) :: gama,dpdgama,dp,
84 . depsm,epspm,em,depsvxx,depsvyy,depsvzz,depsvxy,depsvyz,depsvzx,
85 . dexx,deyy,dezz,dexy,deyz,dezx,depsdxx,depsdyy,depsdzz,
86 . depsdxy,depsdyz,depsdzx,ddexx,ddeyy,ddezz,ddexy,ddeyz,ddezx
87C=======================================================================
88 bulk = uparam(1)
89 g_ins = uparam(2) ! instant shear modulus
90 g_inf = uparam(3) ! long term shear modulus
91 beta = uparam(4)
92 p0 = uparam(5)
93 phi = uparam(6)
94 gama0 = uparam(7)
95c
96 ge = g_inf ! elastic part of shear modulus
97 gv = g_ins-g_inf ! viscous part of shear modulus
98 ge2 = ge * two
99 gv2 = gv * two
100 c1 = one - exp(-beta*timestep)
101 c2 =-c1 / beta
102 bulk3 = bulk*three
103c
104 DO i=1,nel
105 gama(i) = rho0(i)/rho(i) - one + gama0
106 dpdgama(i)=-p0*(one-phi) / (one+gama(i)-phi)
107 depsm(i) = third *(depsxx(i)+depsyy(i)+depszz(i))
108 epspm(i) = third *(epspxx(i)+epspyy(i)+epspzz(i))
109 em(i) = third *(epsxx(i) +epsyy(i) +epszz(i) )
110 END DO
111c
112c Deviators of strain, strain increment and strain rate
113c
114 DO i=1,nel
115 dexx(i) = epsxx(i)-em(i)
116 deyy(i) = epsyy(i)-em(i)
117 dezz(i) = epszz(i)-em(i)
118 dexy(i) = epsxy(i)
119 deyz(i) = epsyz(i)
120 dezx(i) = epszx(i)
121c
122 ddexx(i) = depsxx(i)-depsm(i)
123 ddeyy(i) = depsyy(i)-depsm(i)
124 ddezz(i) = depszz(i)-depsm(i)
125 ddexy(i) = depsxy(i)
126 ddeyz(i) = depsyz(i)
127 ddezx(i) = depszx(i)
128c
129 depsdxx(i) = epspxx(i)-epspm(i)
130 depsdyy(i) = epspyy(i)-epspm(i)
131 depsdzz(i) = epspzz(i)-epspm(i)
132 depsdxy(i) = epspxy(i)
133 depsdyz(i) = epspyz(i)
134 depsdzx(i) = epspzx(i)
135 END DO
136
137 DO i=1,nel
138 depsvxx(i) = c1*(dexx(i)-uvar(i,1)) + c2*depsdxx(i)
139 depsvyy(i) = c1*(deyy(i)-uvar(i,2)) + c2*depsdyy(i)
140 depsvzz(i) = c1*(dezz(i)-uvar(i,3)) + c2*depsdzz(i)
141 depsvxy(i) = c1*(dexy(i)-uvar(i,4)) + c2*depsdxy(i)
142 depsvyz(i) = c1*(deyz(i)-uvar(i,5)) + c2*depsdyz(i)
143 depsvzx(i) = c1*(dezx(i)-uvar(i,6)) + c2*depsdzx(i)
144 END DO
145
146 dp(1:nel) = (bulk3 - dpdgama(1:nel)) * depsm(1:nel)
147
148 DO i=1,nel
149 signxx(i) = sigoxx(i) + ge2*ddexx(i) - gv2*depsvxx(i) + dp(i)
150 signyy(i) = sigoyy(i) + ge2*ddeyy(i) - gv2*depsvyy(i) + dp(i)
151 signzz(i) = sigozz(i) + ge2*ddezz(i) - gv2*depsvzz(i) + dp(i)
152 signxy(i) = sigoxy(i) + ge *ddexy(i) - gv *depsvxy(i)
153 signyz(i) = sigoyz(i) + ge *ddeyz(i) - gv *depsvyz(i)
154 signzx(i) = sigozx(i) + ge *ddezx(i) - gv *depsvzx(i)
155 END DO
156c
157 dp_drho = four_over_3*g_ins + bulk
158 soundsp(1:nel) = sqrt(dp_drho / rho0(1:nel))
159c
160 DO i=1,nel
161 uvar(i,1) = uvar(i,1) + depsvxx(i) + ddexx(i)
162 uvar(i,2) = uvar(i,2) + depsvyy(i) + ddeyy(i)
163 uvar(i,3) = uvar(i,3) + depsvzz(i) + ddezz(i)
164 uvar(i,4) = uvar(i,4) + depsvxy(i) + ddexy(i)
165 uvar(i,5) = uvar(i,5) + depsvyz(i) + ddeyz(i)
166 uvar(i,6) = uvar(i,6) + depsvzx(i) + ddezx(i)
167 END DO
168c-----------
169 RETURN
#define my_real
Definition cppsort.cpp:32