OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
rdtime33.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"
#include "scr02_c.inc"
#include "sms_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine rdtime33 (jft, jlt, dt2t, neltst, ityptst, ixr, eint, sti, stir, off, xkm, xkr, xcm, xcr, umas, uiner, fx, fy, fz, xmom, ymom, zmom, rot1, rot2, msrt, dmelrt, nuvar, uvar, jntyp, jsms)

Function/Subroutine Documentation

◆ rdtime33()

subroutine rdtime33 ( integer jft,
integer jlt,
dt2t,
integer neltst,
integer ityptst,
integer, dimension(nixr,*) ixr,
eint,
sti,
stir,
off,
xkm,
xkr,
xcm,
xcr,
umas,
uiner,
fx,
fy,
fz,
xmom,
ymom,
zmom,
rot1,
rot2,
msrt,
dmelrt,
integer nuvar,
uvar,
integer jntyp,
integer, intent(in) jsms )

Definition at line 30 of file rdtime33.F.

39 use element_mod , only : nixr
40C-----------------------------------------------
41C I m p l i c i t T y p e s
42C-----------------------------------------------
43#include "implicit_f.inc"
44C-----------------------------------------------
45C G l o b a l P a r a m e t e r s
46C-----------------------------------------------
47#include "mvsiz_p.inc"
48C-----------------------------------------------
49C C o m m o n B l o c k s
50C-----------------------------------------------
51#include "scr02_c.inc"
52#include "sms_c.inc"
53C-----------------------------------------------
54C D u m m y A r g u m e n t s
55C-----------------------------------------------
56 INTEGER, INTENT(IN) :: JSMS
57 INTEGER JFT, JLT, IXR(NIXR,*), NELTST, ITYPTST,
58 . NUVAR,JNTYP
59 my_real dt2t, sti(3,*), stir(3,*), off(*), eint(*) ,
60 . xkm(*),xkr(*),xcm(*),xcr(*),umas(*),uiner(*),
61 . fx(*), fy(*), fz(*), xmom(*), ymom(*),zmom(*),
62 . rot1(*), rot2(*), msrt(*), dmelrt(*),
63 . uvar(nuvar,*)
64C-----------------------------------------------
65C L o c a l V a r i a b l e s
66C-----------------------------------------------
67 INTEGER I
68C REAL
69 my_real
70 . dt(jlt-jft+1), dta, dtb, mx2,
71 . ms, in
72C=======================================================================
73C nodal time step
74C--------------------------------------------
75 IF((idtmins/=2).AND.(jntyp==33)) nodadt = 1
76C
77 DO i=jft,jlt
78 sti(1,i) = xkm(i)
79 stir(1,i) = xkr(i)
80 sti(2,i) = sti(1,i)
81 stir(2,i) = stir(1,i)
82
83C-------- Harmonic mass --------------
84 ms = (uvar(34,i)*uvar(35,i))/max(em20,uvar(34,i)+uvar(35,i))
85 in = (uvar(36,i)*uvar(37,i))/max(em20,uvar(36,i)+uvar(37,i))
86
87C-------- Node 1--------------
88 IF (ms>em15)
89 . sti(1,i) = ((xcm(i)+sqrt(xcm(i)**2+xkm(i)*ms))**2)/ms
90 IF (in>em15)
91 . stir(1,i) = ((xcr(i)+sqrt(xcr(i)**2+xkr(i)*in))**2)/in
92
93C-------- Node 2--------------
94 sti(2,i) = sti(1,i)
95 stir(2,i) = stir(1,i)
96
97 ENDDO
98C
99 IF(idtmins==2.AND.jsms/=0)THEN
100C
101 dta=dtmins/dtfacs
102 dtb=dta*dta
103 DO i=jft,jlt
104 IF(off(i)<=zero) cycle
105 xkm(i) = max(em15,xkm(i))
106 dmelrt(i)=max(dmelrt(i),
107 . xcm(i)*dta+half*xkm(i)*dtb-half*msrt(i))
108C
109C MX2 = 2*(Mn+2*DeltaM)
110 mx2 =msrt(i)+two*dmelrt(i)
111 dt(i)=dtfacs*
112 . mx2 /max(em15,sqrt(xcm(i)*xcm(i)+mx2*xkm(i))+xcm(i))
113 dt(i)=dtmins
114 ENDDO
115C
116 DO i=jft,jlt
117 IF(off(i)<=zero) cycle
118 IF(dt(i)<dt2t) THEN
119 dt2t=dt(i)
120 neltst =ixr(nixr,i)
121 ityptst=6
122 ENDIF
123 ENDDO
124C
125 ENDIF
126C-----------------------------------------------
127 RETURN
#define my_real
Definition cppsort.cpp:32
#define max(a, b)
Definition macros.h:21