OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
sigeps46.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| sigeps46 ../engine/source/materials/mat/mat046/sigeps46.F
25!||--- called by ------------------------------------------------------
26!|| m46law ../engine/source/materials/mat/mat046/m46law.F
27!||--- uses -----------------------------------------------------
28!|| ale_mod ../common_source/modules/ale/ale_mod.F
29!||====================================================================
30 SUBROUTINE sigeps46 (
31 1 NEL ,NUPARAM,NUVAR ,
32 2 TIME ,TIMESTEP,UPARAM ,RHO0 ,RHO ,
33 3 VOLUME ,EINT ,
34 4 EPSPXX ,EPSPYY ,EPSPZZ ,EPSPXY ,EPSPYZ ,EPSPZX ,
35 5 DEPSXX ,DEPSYY ,DEPSZZ ,DEPSXY ,DEPSYZ ,DEPSZX ,
36 7 SIGOXX ,SIGOYY ,SIGOZZ ,SIGOXY ,SIGOYZ ,SIGOZX ,
37 8 SIGNXX ,SIGNYY ,SIGNZZ ,SIGNXY ,SIGNYZ ,SIGNZX ,
38 9 SIGVXX ,SIGVYY ,SIGVZZ ,SIGVXY ,SIGVYZ ,SIGVZX ,
39 A SOUNDSP,VISCMAX,UVAR ,OFF ,NGL , IPT ,
40 B IPM ,MAT ,WXX ,WYY,WZZ ,MTN ,DELTAX ,
41 C AIRE)
42C-----------------------------------------------
43C M o d u l e s
44C-----------------------------------------------
45 USE ale_mod
46C-----------------------------------------------
47C I m p l i c i t T y p e s
48C-----------------------------------------------
49#include "implicit_f.inc"
50#include "mvsiz_p.inc"
51#include "param_c.inc"
52#include "scr06_c.inc"
53#include "scr14_c.inc"
54#include "com01_c.inc"
55C-----------------------------------------------
56C I N P U T A r g u m e n t s
57C-----------------------------------------------
58 INTEGER NEL, NUPARAM, NUVAR,MAT(NEL),NGL(NEL),IPM(NPROPMI,*),IPT
59 my_real TIME,TIMESTEP,UPARAM(*),
60 . RHO(NEL),RHO0(NEL),VOLUME(NEL),EINT(NEL),
61 . EPSPXX(NEL),EPSPYY(NEL),EPSPZZ(NEL),
62 . EPSPXY(NEL),EPSPYZ(NEL),EPSPZX(NEL),
63 . DEPSXX(NEL),DEPSYY(NEL),DEPSZZ(NEL),
64 . DEPSXY(NEL),DEPSYZ(NEL),DEPSZX(NEL),
65 . SIGOXX(NEL),SIGOYY(NEL),SIGOZZ(NEL),
66 . SIGOXY(NEL),SIGOYZ(NEL),SIGOZX(NEL),
67 . DELTAX(NEL),AIRE(NEL)
68C-----------------------------------------------
69C O U T P U T A r g u m e n t s
70C-----------------------------------------------
71 my_real
72 . signxx(nel),signyy(nel),signzz(nel),
73 . signxy(nel),signyz(nel),signzx(nel),
74 . sigvxx(nel),sigvyy(nel),sigvzz(nel),
75 . sigvxy(nel),sigvyz(nel),sigvzx(nel),
76 . soundsp(nel),viscmax(nel)
77C-----------------------------------------------
78C I N P U T O U T P U T A r g u m e n t s
79C-----------------------------------------------
80 my_real uvar(nel,nuvar), off(nel),wxx(nel),wyy(nel),wzz(nel)
81C-----------------------------------------------
82C VARIABLES FOR FUNCTION INTERPOLATION
83C-----------------------------------------------
84 INTEGER MTN
85C-----------------------------------------------
86C L o c a l V a r i a b l e s
87C-----------------------------------------------
88 INTEGER I,J,ISGS,IADBUF,K
89 my_real
90 . VIS,C1,SMAG2,
91 . dav(mvsiz),dxx(mvsiz),dyy(mvsiz),dzz(mvsiz),
92 . dxy(mvsiz),dyz(mvsiz),dzx(mvsiz),ss(mvsiz),
93 . ca,vis2(mvsiz),vis2n,viscpression,
94 . vis1(mvsiz),delta(mvsiz),fac,kapa,e,c,vis1o,vis1n,y2p,ypm
95C-----------------------------------------------
96C S o u r c e L i n e s
97C-----------------------------------------------
98C CONSTANT
99C
100 ypm=onzep225
101 kapa=zep4187
102 e=ninep793
103C
104C INITIALIZATION
105C
106 IF(time==zero .AND. ale%GLOBAL%INCOMP==1)THEN
107 DO i=1,nel
108 sigoxx(i)=third*(sigoxx(i)+sigoyy(i)+sigozz(i))
109 sigoyy(i)=sigoxx(i)
110 sigozz(i)=sigoxx(i)
111 ENDDO
112 ENDIF
113C
114 IF(time==zero .AND. mtn==47)THEN
115 DO i=1,nel
116 uvar(i,1)=ypm
117 ENDDO
118 ENDIF
119C-----------------------------------------------
120C VISCOUS FLOW (L.E.S)
121C-----------------------------------------------
122 iadbuf = ipm(7,mat(1))-1
123 vis = uparam(iadbuf+1)
124 c1 = uparam(iadbuf+2)
125 isgs = int(uparam(iadbuf+3))
126 smag2= uparam(iadbuf+4)
127 ca = uparam(iadbuf+5)
128C
129C PRESSURE
130C
131 IF(ale%GLOBAL%INCOMP==1)THEN
132 DO i=1,nel
133 signxx(i)=sigoxx(i)+c1*(depsxx(i)+depsyy(i)+depszz(i))
134 signyy(i)=signxx(i)
135 signzz(i)=signxx(i)
136 signxy(i)=zero
137 signyz(i)=zero
138 signzx(i)=zero
139 soundsp(i) = sqrt(c1/rho(i))
140 ENDDO
141 ELSE
142 DO i=1,nel
143 signxx(i)=c1*(one -rho(i)/rho0(i))
144 signyy(i)=signxx(i)
145 signzz(i)=signxx(i)
146 signxy(i)=zero
147 signyz(i)=zero
148 signzx(i)=zero
149 soundsp(i) = sqrt(c1/rho(i))
150 ENDDO
151 ENDIF
152C
153C VISCOUS STRESS
154C TURBULENT VISCOSITY IN SUC CELL
155C
156 DO i=1,nel
157 dav(i)=third*(epspxx(i)+epspyy(i)+epspzz(i))
158 dxy(i)=half*epspxy(i)
159 dyz(i)=half*epspyz(i)
160 dzx(i)=half*epspzx(i)
161 ss(i)=sqrt(two*(epspxx(i)**2+epspyy(i)**2+epspzz(i)**2+dxy(i)**2+dyz(i)**2+dzx(i)**2))
162 dxx(i)=epspxx(i)-dav(i)
163 dyy(i)=epspyy(i)-dav(i)
164 dzz(i)=epspzz(i)-dav(i)
165 ENDDO
166
167 IF(mtn==46)THEN
168 IF(n2d==0)THEN
169 IF(isgs==3)THEN
170 DO i=1,nel
171 delta(i)=deltax(i)**2
172 ENDDO
173 ELSE
174 DO i=1,nel
175 delta(i)=volume(i)**two_third
176 ENDDO
177 ENDIF
178 ELSE
179 IF(isgs==3)THEN
180 DO i=1,nel
181 delta(i)=deltax(i)**2
182 ENDDO
183 ELSE
184 DO i=1,nel
185 delta(i)=aire(i)
186 ENDDO
187 ENDIF
188 ENDIF
189 DO i=1,nel
190 vis1(i)=vis+smag2*ss(i)*delta(i)
191 vis2(i)=ca*vis1(i)
192 uvar(i,1)=vis1(i)/vis
193 ENDDO
194 ELSE
195
196C BOUNDARY LAYER
197 DO i=1,nel
198 IF(isgs/=0)THEN
199 c=ss(i)*kapa*deltax(i)*deltax(i)/vis
200 y2p=uvar(i,1)
201
202C ITERATION FOR Y2+ ET EQUIVALENT VISCOSITY (SAME AS K-EPSILON WITH DOMAIN CLOSURE)
203
204 y2p=c/log(e*y2p)
205 y2p=max(y2p,ypm)
206 vis1n=kapa*y2p/log(e*y2p)
207 vis2n=zero
208 IF(isgs>=2)vis2n=kapa*y2p
209 uvar(i,1)=y2p
210 ELSE
211 vis1n=one
212 vis2n=zero
213 uvar(i,1)=one
214 ENDIF
215 vis1(i)=vis*vis1n
216 vis2(i)=vis*vis2n
217 ENDDO
218 ENDIF
219C
220 DO i=1,nel
221 vis1(i)=rho(i)*vis1(i)
222 vis2(i)=three*rho(i)*vis2(i)
223 viscpression=vis2(i)*dav(i)
224 viscmax(i) = vis1(i)+half*vis2(i)
225 vis1(i)=2.*vis1(i)
226 sigvxx(i)=vis1(i)*dxx(i)+viscpression
227 sigvyy(i)=vis1(i)*dyy(i)+viscpression
228 sigvzz(i)=vis1(i)*dzz(i)+viscpression
229 sigvxy(i)=vis1(i)*dxy(i)
230 sigvyz(i)=vis1(i)*dyz(i)
231 sigvzx(i)=vis1(i)*dzx(i)
232 ENDDO
233C
234C VORTICITY STORAGE
235C
236 IF((anim_e(10)==1 .OR. anim_se(10)==1) .AND. timestep/=0.)THEN
237 fac=four/timestep
238 IF(n2d==0)THEN
239 DO i=1,nel
240 uvar(i,2)=fac*sqrt(wxx(i)**2+wyy(i)**2+wzz(i)**2)
241 ENDDO
242 ELSE
243 DO i=1,nel
244 uvar(i,2)=fac*wzz(i)
245 ENDDO
246 ENDIF
247 ENDIF
248C
249 RETURN
250 END
#define max(a, b)
Definition macros.h:21
type(ale_) ale
Definition ale_mod.F:249
subroutine sigeps46(nel, nuparam, nuvar, time, timestep, uparam, rho0, rho, volume, eint, epspxx, epspyy, epspzz, epspxy, epspyz, epspzx, depsxx, depsyy, depszz, depsxy, depsyz, depszx, sigoxx, sigoyy, sigozz, sigoxy, sigoyz, sigozx, signxx, signyy, signzz, signxy, signyz, signzx, sigvxx, sigvyy, sigvzz, sigvxy, sigvyz, sigvzx, soundsp, viscmax, uvar, off, ngl, ipt, ipm, mat, wxx, wyy, wzz, mtn, deltax, aire)
Definition sigeps46.F:42