OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
dt6law.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!|| dt6law ../starter/source/materials/time_step/dt6law.F
25!||--- called by ------------------------------------------------------
26!|| dtmain ../starter/source/materials/time_step/dtmain.F
27!||--- calls -----------------------------------------------------
28!|| dtel ../starter/source/materials/time_step/dtel.F
29!|| dtsph ../starter/source/materials/time_step/dtsph.F
30!||====================================================================
31 SUBROUTINE dt6law(PM,EINT,RK,RE,GEO,PID,MAT, DELTAX, AIRE, VOL, DTX)
32C
33C CALCULATION OF ELEMENTARY DT FOR NEWTONIAN FLUID
34C
35C-----------------------------------------------
36C I m p l i c i t T y p e s
37C-----------------------------------------------
38#include "implicit_f.inc"
39C-----------------------------------------------
40C G l o b a l P a r a m e t e r s
41C-----------------------------------------------
42#include "mvsiz_p.inc"
43C-----------------------------------------------
44C C o m m o n B l o c k s
45C-----------------------------------------------
46#include "vect01_c.inc"
47#include "param_c.inc"
48C-----------------------------------------------
49C D u m m y A r g u m e n t s
50C-----------------------------------------------
51 my_real :: pm(npropm,*), eint(*), rk(*), re(*),geo(npropg,*), deltax(*), aire(*), vol(*), dtx(*)
52 INTEGER PID(*),MAT(*)
53C-----------------------------------------------
54C L o c a l V a r i a b l e s
55C-----------------------------------------------
56 INTEGER :: I, MX
57 my_real :: rho0(mvsiz), vis(mvsiz), bulk(mvsiz),dpdm(mvsiz), espe(mvsiz), ssp(mvsiz), tmu(mvsiz), psh(mvsiz)
58C-----------------------------------------------
59 DO i=lft,llt
60 mx = mat(i)
61 rho0(i)=pm( 1,mx)
62 vis(i) =pm(24,mx)*rho0(i)
63 bulk(i) = pm(32,mx) ! reference bulk modulus
64 tmu(i) =pm(81,mx)
65 vis(i) = zero
66 END DO
67
68 IF(jtur/=0)THEN
69 DO i=lft,llt
70 tmu(i)=tmu(i)*rk(i)*rk(i) / max(em15,re(i))
71 vis(i)=vis(i)+tmu(i)
72 END DO
73 ENDIF
74
75 DO i=lft,llt
76 espe(i)=eint(i)
77 END DO
78
79 DO i=lft,llt
80 ! More precise estimator is to call EOSMAIN to compute BULK modulus updated for each element
81 ssp(i)=sqrt(bulk(i)/rho0(i)) ! G=0 with law6
82 END DO
83
84 IF(jsph==0)THEN
85 CALL dtel(ssp,pm,geo,pid,mat, rho0, vis, deltax, aire, vol, dtx)
86 ELSE
87 CALL dtsph(ssp,pm,geo,pid,mat, rho0, vis, deltax, vol, dtx)
88 ENDIF
89C-----------
90 RETURN
91 END
#define my_real
Definition cppsort.cpp:32
subroutine dt6law(pm, eint, rk, re, geo, pid, mat, deltax, aire, vol, dtx)
Definition dt6law.F:32
subroutine dtel(ssp, pm, geo, pid, mat, rho0, vis, deltax, aire, vol, dtx)
Definition dtel.F:46
subroutine dtsph(ssp, pm, geo, pid, mat, rho0, vis, deltax, vol, dtx)
Definition dtsph.F:44
#define max(a, b)
Definition macros.h:21