OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
m17law.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"
#include "com01_c.inc"
#include "com08_c.inc"
#include "param_c.inc"
#include "scr14_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine m17law (pm, off, sig, eint, rho, rk, re, vorti, wxx, wyy, wzz, voln, mat, vis, d1, d2, d3, d4, d5, d6, nel, alogey, ssp, rho0, tmu, amu, amu2, psh, pc, espe, c1, c2, c3, c4, c5, c6, df, dpdm, jpor)

Function/Subroutine Documentation

◆ m17law()

subroutine m17law ( pm,
off,
sig,
eint,
rho,
rk,
re,
vorti,
wxx,
wyy,
wzz,
voln,
integer, dimension(*) mat,
vis,
d1,
d2,
d3,
d4,
d5,
d6,
integer nel,
alogey,
ssp,
rho0,
tmu,
amu,
amu2,
psh,
pc,
espe,
c1,
c2,
c3,
c4,
c5,
c6,
df,
dpdm,
integer, intent(in) jpor )

Definition at line 28 of file m17law.F.

39C-----------------------------------------------
40C I m p l i c i t T y p e s
41C-----------------------------------------------
42#include "implicit_f.inc"
43C-----------------------------------------------
44C G l o b a l P a r a m e t e r s
45C-----------------------------------------------
46#include "mvsiz_p.inc"
47C-----------------------------------------------
48C C o m m o n B l o c k s
49C-----------------------------------------------
50#include "com01_c.inc"
51#include "com08_c.inc"
52#include "param_c.inc"
53#include "scr14_c.inc"
54C-----------------------------------------------
55C D u m m y A r g u m e n t s
56C-----------------------------------------------
57 INTEGER, INTENT(IN) :: JPOR
58 INTEGER MAT(*),NEL
60 . pm(npropm,*), off(*), sig(nel,6), eint(*), rho(*), rk(*), re(*),
61 . vorti(*),wxx(*),wyy(*),wzz(*),voln(mvsiz),vis(*),
62 . d1(*), d2(*), d3(*), d4(*), d5(*), d6(*), alogey(*), ssp(*),
63 . rho0(*), tmu(*), amu(*), amu2(*), psh(*), pc(*), espe(*),
64 . c1(*), c2(*), c3(*), c4(*), c5(*), c6(*), df(*), dpdm(*)
65C-----------------------------------------------
66C L o c a l V a r i a b l e s
67C-----------------------------------------------
68 INTEGER I, MX
70 . vis2(mvsiz),
71 . dav(mvsiz),
72 . yp0, cmu, ax, e, a, xmu,
73 . xm, xk, xe, yplus, rk2t, fac,
74 . rho0_1, vis_1, pc_1, c1_1, c2_1,
75 . c3_1, c4_1, c5_1, c6_1, psh_1
76C-----------------------------------------------
77C
78 ! SAUVEGARDE VORTICITE SI ANIM
79 IF((anim_e(10)==1 .OR. anim_se(10)==1).AND. dt1/=0.)THEN
80C IF(ANIM_E(10)==1.AND. DT1/=0.)THEN
81 fac=four/dt1
82 IF(n2d==0)THEN
83 DO 5 i=1,nel
84 5 vorti(i)=fac*sqrt(wxx(i)**2+wyy(i)**2+wzz(i)**2)
85 ELSE
86 DO 6 i=1,nel
87 6 vorti(i)=fac*wzz(i)
88 ENDIF
89 ENDIF
90C
91 mx =mat(1)
92C
93 rho0_1=pm( 1,mx)
94 vis_1 =pm(24,mx)
95 pc_1 =pm(37,mx)
96 c1_1 =pm(31,mx)-pm(88,mx)
97 c2_1 =pm(32,mx)
98 c3_1 =pm(33,mx)
99 c4_1 =pm(34,mx)
100 c5_1 =pm(35,mx)
101 c6_1 =pm(36,mx)
102 psh_1 =pm(88,mx)
103C
104 DO 10 i=1,nel
105 rho0(i)=rho0_1
106 vis(i) =vis_1
107 pc(i) =pc_1
108 c1(i) =c1_1
109 c2(i) =c2_1
110 c3(i) =c3_1
111 c4(i) =c4_1
112 c5(i) =c5_1
113 c6(i) =c6_1
114 psh(i) =psh_1
115 10 CONTINUE
116C
117 mx =mat(1)
118 IF(jpor/=2)THEN
119 DO 20 i=1,nel
120 yp0=pm(51,mx)
121 cmu=pm(81,mx)
122 ax =pm(47,mx)
123 e =pm(48,mx)
124 a =pm(49,mx)
125 xmu =rho(i)*vis(i)
126 xm =rho(i)*voln(i)
127 xk =rk(i)/xm
128 xe = max(em15,re(i)/xm)
129 yplus =cmu*xk**2/(ax*xe*vis(i))
130 yplus = max(yplus,yp0)
131 alogey(i)= a * log(e*yplus)
132 vis(i) =xmu*ax*yplus/alogey(i)
133 tmu(i) =vis(i)-xmu
134 20 CONTINUE
135 ELSE
136 DO 21 i=1,nel
137 vis(i)=zero
138 tmu(i)=zero
139 21 CONTINUE
140 ENDIF
141C
142 DO 30 i=1,nel
143 vis2(i)=two*vis(i)
144 30 dav(i) =-(d1(i)+d2(i)+d3(i))*third
145C------------------------------
146C CONTRAINTES DEVIATORIQUES
147C------------------------------
148 DO 40 i=1,nel
149 sig(i,1)=vis2(i)*(d1(i)+dav(i))
150 sig(i,2)=vis2(i)*(d2(i)+dav(i))
151 sig(i,3)=vis2(i)*(d3(i)+dav(i))
152 sig(i,4)=vis(i) *d4(i)
153 sig(i,5)=vis(i) *d5(i)
154 40 sig(i,6)=vis(i) *d6(i)
155C
156 DO 50 i=1,nel
157 df(i) =rho0(i)/rho(i)
158 amu(i) =one/df(i)-one
159 amu2(i)= max(zero,amu(i))**2
160 50 espe(i)=df(i)*eint(i)/voln(i)
161C
162 DO 60 i=1,nel
163 rk2t=two*rk(i)/(three*voln(i))
164 dpdm(i) = dpdm(i)
165 . +(c5(i)+c6(i)*amu(i))*df(i)*df(i)*rk2t + rk2t*df(i)
166 60 CONTINUE
167C
168 DO 70 i=1,nel
169 70 ssp(i)=sqrt(abs(dpdm(i))/rho0(i))
170C
171 RETURN
#define my_real
Definition cppsort.cpp:32
#define max(a, b)
Definition macros.h:21