OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
m46law.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"
#include "param_c.inc"
#include "com04_c.inc"
#include "com08_c.inc"
#include "scr06_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine m46law (lft, llt, nft, mtn, pm, off, sig, eint, rho, qold, vol, uvar, bufmat, stifn, mat, ngl, nuvar, dt2t, neltst, rho0, ityptst, offg, jlag, geo, pid, ssp, aire, voln, vd2, deltax, vis, d1, d2, d3, pnew, psh, q, ssp_eq, wxx, wyy, wzz, ipm, mssa, dmels, dvol, sold1, sold2, sold3, sold4, sold5, sold6, conde, vol_avg, dtel, g_dt, nel, d4, d5, d6, rhoref, rhosp, ismstr, ity, jsms, jtur, jthe, npg, svis, glob_therm)

Function/Subroutine Documentation

◆ m46law()

subroutine m46law ( integer lft,
integer llt,
integer nft,
integer mtn,
pm,
off,
sig,
eint,
rho,
qold,
vol,
uvar,
bufmat,
stifn,
integer, dimension(mvsiz) mat,
integer, dimension(mvsiz) ngl,
integer nuvar,
dt2t,
integer neltst,
rho0,
integer ityptst,
offg,
integer jlag,
geo,
integer, dimension(mvsiz) pid,
ssp,
aire,
voln,
vd2,
deltax,
vis,
d1,
d2,
d3,
pnew,
psh,
q,
ssp_eq,
wxx,
wyy,
wzz,
integer, dimension(npropmi,nummat) ipm,
mssa,
dmels,
dvol,
sold1,
sold2,
sold3,
sold4,
sold5,
sold6,
conde,
vol_avg,
dtel,
integer g_dt,
integer nel,
d4,
d5,
d6,
rhoref,
rhosp,
integer, intent(in) ismstr,
integer, intent(in) ity,
integer, intent(in) jsms,
integer, intent(in) jtur,
integer, intent(in) jthe,
integer, intent(in) npg,
intent(inout) svis,
type (glob_therm_), intent(inout) glob_therm )

Definition at line 34 of file m46law.F.

52C-----------------------------------------------
53C I m p l i c i t T y p e s
54C-----------------------------------------------
55 USE ale_mod
56 use glob_therm_mod
57C-----------------------------------------------
58C I m p l i c i t T y p e s
59C-----------------------------------------------
60#include "implicit_f.inc"
61C-----------------------------------------------
62C G l o b a l P a r a m e t e r s
63C-----------------------------------------------
64#include "mvsiz_p.inc"
65C-----------------------------------------------
66C C o m m o n B l o c k s
67C-----------------------------------------------
68#include "param_c.inc"
69#include "com04_c.inc"
70#include "com08_c.inc"
71#include "scr06_c.inc"
72C-----------------------------------------------
73C D u m m y A r g u m e n t s
74C-----------------------------------------------
75 INTEGER, INTENT(IN) :: ISMSTR
76 INTEGER, INTENT(IN) :: ITY
77 INTEGER, INTENT(IN) :: JSMS
78 INTEGER, INTENT(IN) :: JTUR
79 INTEGER, INTENT(IN) :: JTHE,NPG
80 INTEGER LFT,LLT,NFT,MTN, NUVAR,MAT(MVSIZ),NGL(MVSIZ),PID(MVSIZ),IPM(NPROPMI,NUMMAT),G_DT,NEL
81 INTEGER NELTST, ITYPTST,JLAG
82 my_real dt2t
83 my_real pm(npropm,nummat),off(*), sig(nel,6), eint(*),
84 . rho(*),qold(*), vol(*), uvar(*), bufmat(*),
85 . offg(*),stifn(*),geo(*) ,ssp(*) ,
86 . aire(*) ,voln(*) ,vd2(*) ,deltax(*) ,vis(*) , d1(*) ,
87 . d2(*) ,d3(*) ,pnew(*) ,psh(*) ,q(*) ,ssp_eq(*) ,
88 . wxx(mvsiz), wyy(mvsiz), wzz(mvsiz),rho0(mvsiz),
89 . mssa(*), dmels(*),sold1(*) ,sold2(*) ,sold3(*) ,
90 . sold4(*) ,sold5(*) ,sold6(*), dvol(mvsiz),conde(*),
91 . vol_avg(*),dtel(*),d4(mvsiz),d5(mvsiz),d6(mvsiz),
92 . rhoref(*) ,rhosp(*)
93 my_real, DIMENSION(MVSIZ,6), INTENT(INOUT) :: svis
94 type (glob_therm_) ,intent(inout) :: glob_therm
95C-----------------------------------------------
96C L o c a l V a r i a b l e s
97C-----------------------------------------------
98 my_real
99 . e1,e2,e3,e4,e5,e6,p2,bid1,bid2,bid3,c1(mvsiz),
100 . ep1(mvsiz),ep2(mvsiz),ep3(mvsiz),ep4(mvsiz),ep5(mvsiz),ep6(mvsiz),
101 . s1(mvsiz) ,s2(mvsiz) ,s3(mvsiz) ,s4(mvsiz) ,s5(mvsiz) ,s6(mvsiz),
102 . de1(mvsiz),de2(mvsiz),de3(mvsiz),de4(mvsiz),de5(mvsiz),de6(mvsiz),
103 . sv1(mvsiz),sv2(mvsiz),sv3(mvsiz),sv4(mvsiz),sv5(mvsiz),sv6(mvsiz),
104 . so1(mvsiz),so2(mvsiz),so3(mvsiz),so4(mvsiz),so5(mvsiz),so6(mvsiz)
105 INTEGER NPAR,IADBUF,I,IBID,MX
106 my_real facq0
107C-----------------------------------------------
108C S o u r c e L i n e s
109C-----------------------------------------------
110 mx = mat(1)
111 npar = ipm(9,mx)
112 iadbuf = ipm(7,mx)
113 facq0 = one
114
115C
116 DO i=lft,llt
117 vis(i) = zero
118 ep1(i) = d1(i)*off(i)
119 ep2(i) = d2(i)*off(i)
120 ep3(i) = d3(i)*off(i)
121 ep4(i) = d4(i)*off(i)
122 ep5(i) = d5(i)*off(i)
123 ep6(i) = d6(i)*off(i)
124 de1(i) = ep1(i)*dt1
125 de2(i) = ep2(i)*dt1
126 de3(i) = ep3(i)*dt1
127 de4(i) = ep4(i)*dt1
128 de5(i) = ep5(i)*dt1
129 de6(i) = ep6(i)*dt1
130 ENDDO
131 DO i=lft,llt
132 so1(i) = sig(i,1)
133 so2(i) = sig(i,2)
134 so3(i) = sig(i,3)
135 so4(i) = sig(i,4)
136 so5(i) = sig(i,5)
137 so6(i) = sig(i,6)
138 ENDDO
139C
140 CALL sigeps46(llt ,npar,nuvar,
141 . tt,dt1,bufmat,
142 . rho0,rho ,voln,eint,
143 . ep1 ,ep2 ,ep3 ,ep4 ,ep5 ,ep6 ,
144 . de1 ,de2 ,de3 ,de4 ,de5 ,de6 ,
145 . so1 ,so2 ,so3 ,so4 ,so5 ,so6 ,
146 . s1 ,s2 ,s3 ,s4 ,s5 ,s6 ,
147 . sv1 ,sv2 ,sv3 ,sv4 ,sv5 ,sv6 ,
148 . ssp ,vis ,uvar,off ,ngl ,0 ,
149 . ipm ,mat ,wxx,wyy,wzz,mtn,deltax,
150 . aire)
151 DO i=lft,llt
152 sig(i,1) = s1(i)*off(i)
153 sig(i,2) = s2(i)*off(i)
154 sig(i,3) = s3(i)*off(i)
155 sig(i,4) = s4(i)*off(i)
156 sig(i,5) = s5(i)*off(i)
157 sig(i,6) = s6(i)*off(i)
158 svis(i,1)= sv1(i)*off(i)
159 svis(i,2)= sv2(i)*off(i)
160 svis(i,3)= sv3(i)*off(i)
161 svis(i,4)= sv4(i)*off(i)
162 svis(i,5)= sv5(i)*off(i)
163 svis(i,6)= sv6(i)*off(i)
164 ENDDO
165C-------------------------------------------
166C BULK VISCOSITY AND TIME STEP COMPUTATION
167C THIS SUBROUTINE RETURN THE NEW BULK VISCOSITY Q
168C-----------------------
169 CALL mqviscb(
170 1 pm, off, rho, bid1,
171 2 bid2, ssp, bid3, stifn,
172 3 dt2t, neltst, ityptst, aire,
173 4 offg, geo, pid, voln,
174 5 vd2, deltax, vis, d1,
175 6 d2, d3, pnew, psh,
176 7 mat, ngl, q, ssp_eq,
177 8 vol, mssa, dmels, ibid,
178 9 facq0, conde, dtel, g_dt,
179 a ipm, rhoref, rhosp, nel,
180 b ity, ismstr, jtur, jthe,
181 c jsms, npg , glob_therm)
182C
183 DO i=lft,llt
184 p2 = -(sold1(i)+sig(i,1)+sold2(i)+sig(i,2)+sold3(i)+sig(i,3))/three
185 eint(i)=eint(i)-(q(i)+qold(i)+p2)*dvol(i)*half
186 qold(i)=q(i)
187 ENDDO
188 IF(ale%GLOBAL%INCOMP==0 .OR. jlag==1)THEN
189 DO i=lft,llt
190 e1=d1(i)*svis(i,1)
191 e2=d2(i)*svis(i,2)
192 e3=d3(i)*svis(i,3)
193 e4=d4(i)*svis(i,4)
194 e5=d5(i)*svis(i,5)
195 e6=d6(i)*svis(i,6)
196 eint(i)=eint(i)+(e1+e2+e3+e4+e5+e6)*vol_avg(i)*dt1
197 ENDDO
198 ENDIF
199 DO i=lft,llt
200 eint(i)=eint(i)/vol(i)
201 ENDDO
202
203C In case of quasi incompressible flow ALE & EULER, Enrgie is not convected.
204C no cumulation of viscous terms
205c IF(INCOMP==1.AND. JLAG==0)THEN
206c DO I=LFT,LLT
207c E1=D1(I)*(SOLD1(I)+SIG(1,I))
208c E2=D2(I)*(SOLD2(I)+SIG(2,I))
209c E3=D3(I)*(SOLD3(I)+SIG(3,I))
210c E4=D4(I)*(SOLD4(I)+SIG(4,I))
211c E5=D5(I)*(SOLD5(I)+SIG(5,I))
212c E6=D6(I)*(SOLD6(I)+SIG(6,I))
213c EINT(I)=EINT(I)+(E1+E2+E3+E4+E5+E6)*(VOLN(I)-0.5*DVOL(I))*DT1*0.5
214c EINT(I)=EINT(I)/VOL(I)
215c QOLD(I)=Q(I)
216c ENDDO
217c RETURN
218c ENDIF
219cC
220c DO I=LFT,LLT
221c E1=D1(I)*(SOLD1(I)+SIG(1,I))
222c E2=D2(I)*(SOLD2(I)+SIG(2,I))
223c E3=D3(I)*(SOLD3(I)+SIG(3,I))
224c E4=D4(I)*(SOLD4(I)+SIG(4,I))
225c E5=D5(I)*(SOLD5(I)+SIG(5,I))
226c E6=D6(I)*(SOLD6(I)+SIG(6,I))
227c EINT(I)=EINT(I)-(Q(I)+QOLD(I))*DVOL(I)*0.5+(E1+E2+E3+E4+E5+E6)*(VOLN(I)-0.5*DVOL(I))*DT1*0.5
228c EINT(I)=EINT(I)/VOL(I)
229c QOLD(I)=Q(I)
230c ENDDO
231
232C------------------------------------------
233 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine dtel(ssp, pm, geo, pid, mat, rho0, vis, deltax, aire, vol, dtx)
Definition dtel.F:46
subroutine mqviscb(pm, off, rho, rk, temp, ssp, re, sti, dt2t, neltst, ityptst, aire, offg, geo, pid, vol, vd2, deltax, vis, d1, d2, d3, pnew, psh, mat, ngl, qvis, ssp_eq, vol0, mssa, dmels, igeo, facq0, conde, dtel, g_dt, ipm, rhoref, rhosp, nel, ity, ismstr, jtur, jthe, jsms, npg, glob_therm)
Definition mqviscb.F:56
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