OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
dtel.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!|| dtel ../starter/source/materials/time_step/dtel.F
25!||--- called by ------------------------------------------------------
26!|| dt105law ../starter/source/materials/time_step/dt105law.F
27!|| dt10law ../starter/source/materials/time_step/dt10law.F
28!|| dt14law ../starter/source/materials/time_step/dt14law.F
29!|| dt15law ../starter/source/materials/time_step/dt15law.F
30!|| dt16law ../starter/source/materials/time_step/dt16law.F
31!|| dt1law ../starter/source/materials/time_step/dt1law.F
32!|| dt21law ../starter/source/materials/time_step/dt21law.F
33!|| dt25law ../starter/source/materials/time_step/dt25law.F
34!|| dt34law ../starter/source/materials/time_step/dt34law.F
35!|| dt37law ../starter/source/materials/time_step/dt37law.F
36!|| dt38law ../starter/source/materials/time_step/dt138aw.F
37!|| dt3law ../starter/source/materials/time_step/dt3law.F
38!|| dt42law ../starter/source/materials/time_step/dt42law.F
39!|| dt51law ../starter/source/materials/time_step/dt51law.F
40!|| dt5law ../starter/source/materials/time_step/dt5law.F
41!|| dt6law ../starter/source/materials/time_step/dt6law.F
42!||====================================================================
43 SUBROUTINE dtel(SSP,PM,GEO,PID,MAT,
44 . RHO0, VIS,
45 . DELTAX, AIRE, VOL, DTX)
46C------------------------
47C CALCUL DT ELEMENT
48C-----------------------------------------------
49C I m p l i c i t T y p e s
50C-----------------------------------------------
51#include "implicit_f.inc"
52C-----------------------------------------------
53C G l o b a l P a r a m e t e r s
54C-----------------------------------------------
55#include "mvsiz_p.inc"
56C-----------------------------------------------
57C C o m m o n B l o c k s
58C-----------------------------------------------
59#include "com01_c.inc"
60#include "vect01_c.inc"
61#include "param_c.inc"
62C-----------------------------------------------
63C D u m m y A r g u m e n t s
64C-----------------------------------------------
66 . ssp(*), pm(npropm,*),geo(npropg,*),
67 . rho0(*), vis(*), deltax(*), aire(*), vol(*), dtx(*)
68 INTEGER PID(*),MAT(*)
69C-----------------------------------------------
70C L o c a l V a r i a b l e s
71C-----------------------------------------------
72 INTEGER I
73C REAL
75 . cx(mvsiz), qx(mvsiz), al(mvsiz)
77 . qa, qb, cns1, cns2
78C-----------------------------------------------
79C=======================================================================
80 DO i=lft,llt
81 cx(i)=ssp(i)
82 al(i)=vol(i)** third
83 IF(n2d>0) al(i)=sqrt(aire(i))
84 ENDDO
85C
86 DO i=lft,llt
87 qa =geo(14,pid(i))
88 qb =geo(15,pid(i))
89 cns1=geo(16,pid(i))
90 cns2=geo(17,pid(i))*ssp(i)*al(i)*rho0(i)
91 qx(i)= (qb+cns1)*ssp(i)
92 . +(two*vis(i)+cns2)/(rho0(i)*max(em20,deltax(i)))
93 ENDDO
94C
95 DO i=lft,llt
96 dtx(i)=deltax(i)/
97 . max(em20,qx(i)+sqrt(qx(i)*qx(i)+cx(i)*cx(i)))
98 END DO
99C-----------
100 RETURN
101 END
102!||====================================================================
103!|| dt70el ../starter/source/materials/time_step/dtel.F
104!||--- called by ------------------------------------------------------
105!|| dt70law ../starter/source/materials/time_step/dt70law.F
106!||====================================================================
107 SUBROUTINE dt70el(SSP,PM,GEO,PID,MAT,
108 . RHO0, VIS,
109 . DELTAX, AIRE, VOL, DTX,IGEO)
110C------------------------
111C CALCUL DT ELEMENT
112C-----------------------------------------------
113C I m p l i c i t T y p e s
114C-----------------------------------------------
115#include "implicit_f.inc"
116C-----------------------------------------------
117C G l o b a l P a r a m e t e r s
118C-----------------------------------------------
119#include "mvsiz_p.inc"
120C-----------------------------------------------
121C C o m m o n B l o c k s
122C-----------------------------------------------
123#include "com01_c.inc"
124#include "vect01_c.inc"
125#include "param_c.inc"
126C-----------------------------------------------
127C D u m m y A r g u m e n t s
128C-----------------------------------------------
129 my_real
130 . ssp(*), pm(npropm,*),geo(npropg,*),
131 . rho0(*), vis(*), deltax(*), aire(*), vol(*), dtx(*)
132 INTEGER PID(*),MAT(*),IGEO(NPROPGI,*)
133C-----------------------------------------------
134C L o c a l V a r i a b l e s
135C-----------------------------------------------
136 INTEGER I
137C REAL
138 my_real
139 . CX(MVSIZ), QX(MVSIZ), AL(MVSIZ)
140 my_real
141 . qa, qb, cns1, cns2,facq
142C-----------------------------------------------
143C=======================================================================
144 facq = one
145!! qa=qb=zero by default for law70
146 IF(igeo(31,pid(1)) == 1) facq = zero
147 DO i=lft,llt
148 cx(i)=ssp(i)
149 al(i)=vol(i)** third
150 IF(n2d>0) al(i)=sqrt(aire(i))
151 ENDDO
152C
153 DO i=lft,llt
154 qa =facq*geo(14,pid(i))
155 qb =facq*geo(15,pid(i))
156 cns1=geo(16,pid(i))
157 cns2=geo(17,pid(i))*ssp(i)*al(i)*rho0(i)
158 qx(i)= (qb+cns1)*ssp(i)
159 . +(two*vis(i)+cns2)/(rho0(i)*max(em20,deltax(i)))
160 ENDDO
161C
162 DO i=lft,llt
163 dtx(i)=deltax(i)/
164 . max(em20,qx(i)+sqrt(qx(i)*qx(i)+cx(i)*cx(i)))
165 END DO
166C-----------
167 RETURN
168 END
#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 dt70el(ssp, pm, geo, pid, mat, rho0, vis, deltax, aire, vol, dtx, igeo)
Definition dtel.F:110
#define max(a, b)
Definition macros.h:21