OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
sigeps37.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!|| sigeps37 ../starter/source/materials/mat/mat037/sigeps37.F
25!||--- called by ------------------------------------------------------
26!|| mulaw ../starter/source/materials/mat_share/mulaw.F
27!||--- calls -----------------------------------------------------
28!|| finter ../starter/source/tools/curve/finter.F
29!||====================================================================
30 SUBROUTINE sigeps37(
31 1 NEL , NUPARAM, NUVAR , NFUNC , IFUNC , NPF ,
32 2 TF , 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 6 EPSXX , EPSYY , EPSZZ , EPSXY , EPSYZ , EPSZX ,
37 7 SIGOXX , SIGOYY , SIGOZZ , SIGOXY, SIGOYZ, SIGOZX,
38 8 SIGNXX , SIGNYY , SIGNZZ , SIGNXY, SIGNYZ, SIGNZX,
39 9 SIGVXX , SIGVYY , SIGVZZ , SIGVXY, SIGVYZ, SIGVZX,
40 A SOUNDSP, VISCMAX, UVAR , OFF )
41C-----------------------------------------------
42C D e s c r i p t i o n
43C-----------------------------------------------
44C This subroutines aim is to compute initial sound speed
45C-----------------------------------------------
46C I M P L I C I T T Y P E S
47C-----------------------------------------------
48#include "implicit_f.inc"
49C----------------------------------------------------------------
50C I N P U T A R G U M E N T S
51C----------------------------------------------------------------
52 INTEGER NEL, NUPARAM, NUVAR
53
54 my_real
55 . TIME , TIMESTEP , UPARAM(NUPARAM),
56 . RHO (NEL), RHO0 (NEL), VOLUME(NEL), EINT(NEL),
57 . EPSPXX(NEL), EPSPYY(NEL), EPSPZZ(NEL),
58 . EPSPXY(NEL), EPSPYZ(NEL), EPSPZX(NEL),
59 . DEPSXX(NEL), DEPSYY(NEL), DEPSZZ(NEL),
60 . DEPSXY(NEL), DEPSYZ(NEL), DEPSZX(NEL),
61 . EPSXX (NEL), EPSYY (NEL), EPSZZ (NEL),
62 . epsxy(nel), epsyz(nel), epszx(nel),
63 . sigoxx(nel), sigoyy(nel), sigozz(nel),
64 . sigoxy(nel), sigoyz(nel), sigozx(nel)
65C----------------------------------------------------------------
66C O U T P U T A R G U M E N T S
67C----------------------------------------------------------------
68 my_real
69 . signxx(nel), signyy(nel), signzz(nel),
70 . signxy(nel), signyz(nel), signzx(nel),
71 . sigvxx(nel), sigvyy(nel), sigvzz(nel),
72 . sigvxy(nel), sigvyz(nel), sigvzx(nel),
73 . soundsp(nel), viscmax(nel)
74C----------------------------------------------------------------
75C I N P U T O U T P U T A R G U M E N T S
76C----------------------------------------------------------------
77 my_real uvar(nel,nuvar), off(nel)
78C----------------------------------------------------------------
79C VARIABLES FOR FUNCTION INTERPOLATION
80C----------------------------------------------------------------
81 INTEGER NPF(*), NFUNC, IFUNC(NFUNC)
82 my_real
83 . FINTER,TF(*)
84 EXTERNAL FINTER
85C----------------------------------------------------------------
86C L O C A L V A R I B L E S
87C----------------------------------------------------------------
88 INTEGER :: I
89 my_real :: C1,GAM,PMIN,P0,RHO10,RHO20,A1,P,MU1P1,MU2P1,RHO1,RHO2,A
90
91
92C----------------------------------------------------------------
93 DO i=1,nel
94 c1 = uparam(4)
95 gam = uparam(5)
96 pmin = uparam(8)
97 p0 = uparam(9)
98 rho10 = uparam(11)
99 rho20 = uparam(12)
100 a1 = uparam(10)
101 p = -p0
102 rho(i) = rho10 * a1 + (one-a1)*rho20
103 IF(gam*c1>=em30)THEN !if Liquid and gas correctly defined
104 mu1p1 = one !(P/C1+ONE)
105 mu2p1 = one !( ONE+P/P0)**(ONE/GAM)
106 rho1 = rho10*mu1p1
107 rho2 = rho20*mu2p1
108 a = (rho(i)-rho2)/(rho1-rho2)
109 soundsp(i) = a*sqrt(c1/rho1) + (one-a) * sqrt(gam*p0/rho2)
110 ENDIF
111
112 ENDDO
113
114
115 RETURN
116
117 END
subroutine sigeps37(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)
Definition sigeps37.F:41