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

Go to the source code of this file.

Functions/Subroutines

subroutine i2sms27 (jlt, ix1, ix2, ix3, ix4, nsvg, h, stif, noint, dmint2, nodnx_sms, vis, stifm, dti)

Function/Subroutine Documentation

◆ i2sms27()

subroutine i2sms27 ( integer jlt,
integer, dimension(mvsiz) ix1,
integer, dimension(mvsiz) ix2,
integer, dimension(mvsiz) ix3,
integer, dimension(mvsiz) ix4,
integer, dimension(mvsiz) nsvg,
h,
stif,
integer noint,
dmint2,
integer, dimension(*) nodnx_sms,
vis,
stifm,
dti )

Definition at line 31 of file i2sms27.F.

34C-----------------------------------------------
35C M o d u l e s
36C-----------------------------------------------
37 USE message_mod
38C-----------------------------------------------
39C I m p l i c i t T y p e s
40C-----------------------------------------------
41#include "implicit_f.inc"
42#include "comlock.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 "sms_c.inc"
51C-----------------------------------------------
52C D u m m y A r g u m e n t s
53C-----------------------------------------------
54 INTEGER JLT, NOINT,
55 . IX1(MVSIZ),IX2(MVSIZ),IX3(MVSIZ),IX4(MVSIZ),NSVG(MVSIZ),
56 . NODNX_SMS(*)
58 . h(4,mvsiz), stif(mvsiz), vis(mvsiz), stifm(mvsiz),
59 . dmint2(4,*), dti
60C-----------------------------------------------
61C L o c a l V a r i a b l e s
62C-----------------------------------------------
63 INTEGER I, IG, NISKYL1, NISKYL, NN
65 . mas, dts, masm, fac
66C
67 DO i=1,jlt
68 dmint2(1,i)=zero
69 dmint2(2,i)=zero
70 dmint2(3,i)=zero
71 dmint2(4,i)=zero
72C
73 IF(nsvg(i)<=0) cycle
74 IF((idtmins_int==0.AND.nodnx_sms(nsvg(i))+
75 . nodnx_sms(ix1(i))+
76 . nodnx_sms(ix2(i))+
77 . nodnx_sms(ix3(i))+
78 . nodnx_sms(ix4(i))==0) .OR.
79 . stif(i)==zero) THEN
80 cycle
81 END IF
82C
83 IF(idtmins_int==0.AND.nodnx_sms(nsvg(i))+
84 . nodnx_sms(ix1(i))+
85 . nodnx_sms(ix2(i))+
86 . nodnx_sms(ix3(i))+
87 . nodnx_sms(ix4(i))/=0)THEN
88 dts = dtmins/dtfacs
89 dti=min(dti,dtmins)
90 ELSE
91 dts = dtmins_int/dtfacs_int
92 dti=min(dti,dtmins_int)
93 END IF
94C
95 mas = half * dts * ( dts * stif(i) + vis(i) )
96 masm= abs(stifm(i))*mas
97C
98 dmint2(1,i)=abs(h(1,i))*mas+masm
99 dmint2(2,i)=abs(h(2,i))*mas+masm
100 dmint2(3,i)=abs(h(3,i))*mas+masm
101 IF(ix4(i)/=ix3(i)) dmint2(4,i)=abs(h(4,i))*mas+masm
102 ENDDO
103C
104 RETURN
#define my_real
Definition cppsort.cpp:32
#define min(a, b)
Definition macros.h:20