OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
m17law.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!|| m17law ../engine/source/materials/mat/mat017/m17law.F
25!||--- called by ------------------------------------------------------
26!|| mmain ../engine/source/materials/mat_share/mmain.F90
27!||====================================================================
28 SUBROUTINE m17law(
29 1 PM, OFF, SIG, EINT,
30 2 RHO, RK, RE, VORTI,
31 3 WXX, WYY, WZZ, VOLN,
32 4 MAT, VIS, D1, D2,
33 5 D3, D4, D5, D6,
34 6 NEL, ALOGEY, SSP, RHO0,
35 7 TMU, AMU, AMU2, PSH,
36 8 PC, ESPE, C1, C2,
37 9 C3, C4, C5, C6,
38 A DF, DPDM, JPOR)
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
59 my_real
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
69 my_real
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
172 END
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)
Definition m17law.F:39
#define max(a, b)
Definition macros.h:21