OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i20sms2.F File Reference
#include "implicit_f.inc"
#include "comlock.inc"
#include "mvsiz_p.inc"
#include "parit_c.inc"
#include "task_c.inc"
#include "sms_c.inc"
#include "lockon.inc"
#include "lockoff.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine i20sms2e (jlt, cs_loc, n1, n2, m1, m2, hs1, hs2, hm1, hm2, stif, nin, noint, mskyi_sms, iskyi_sms, nsms, k1, k2, k3, k4, c1, c2, c3, c4, nrts)

Function/Subroutine Documentation

◆ i20sms2e()

subroutine i20sms2e ( integer jlt,
integer, dimension(*) cs_loc,
integer, dimension(mvsiz) n1,
integer, dimension(mvsiz) n2,
integer, dimension(mvsiz) m1,
integer, dimension(mvsiz) m2,
hs1,
hs2,
hm1,
hm2,
stif,
integer nin,
integer noint,
mskyi_sms,
integer, dimension(lskyi_sms,*) iskyi_sms,
integer, dimension(*) nsms,
k1,
k2,
k3,
k4,
c1,
c2,
c3,
c4,
integer nrts )

Definition at line 34 of file i20sms2.F.

39C-----------------------------------------------
40C M o d u l e s
41C-----------------------------------------------
42 USE tri7box
43 USE message_mod
44C-----------------------------------------------
45C I m p l i c i t T y p e s
46C-----------------------------------------------
47#include "implicit_f.inc"
48#include "comlock.inc"
49C-----------------------------------------------
50C G l o b a l P a r a m e t e r s
51C-----------------------------------------------
52#include "mvsiz_p.inc"
53C-----------------------------------------------
54C C o m m o n B l o c k s
55C-----------------------------------------------
56#include "parit_c.inc"
57#include "task_c.inc"
58#include "sms_c.inc"
59C-----------------------------------------------
60C D u m m y A r g u m e n t s
61C-----------------------------------------------
62 INTEGER JLT, NIN, NOINT, CS_LOC(*),
63 . N1(MVSIZ), N2(MVSIZ), M1(MVSIZ), M2(MVSIZ),
64 . NSMS(*), ISKYI_SMS(LSKYI_SMS,*), NRTS
66 . hs1(mvsiz),hs2(mvsiz),hm1(mvsiz),hm2(mvsiz),stif(mvsiz),
67 . mskyi_sms(*), k1(mvsiz), k2(mvsiz), k3(mvsiz), k4(mvsiz),
68 . c1(mvsiz), c2(mvsiz), c3(mvsiz), c4(mvsiz)
69C-----------------------------------------------
70C L o c a l V a r i a b l e s
71C-----------------------------------------------
72 INTEGER I, IG, NISKYL1, NISKYL, NN
74 . mas1, mas2, mas3, mas4, dts
75C
76C
77 niskyl1 = 0
78 DO i=1,jlt
79 IF(nsms(i)==0.OR.stif(i)==zero) cycle
80 IF (hm1(i)/=zero) niskyl1 = niskyl1 + 2
81 IF (hm2(i)/=zero) niskyl1 = niskyl1 + 2
82 ENDDO
83#include "lockon.inc"
84 niskyl = nisky_sms
85 nisky_sms = nisky_sms + niskyl1
86#include "lockoff.inc"
87C
88 IF (niskyl+niskyl1 > lskyi_sms) THEN
89 CALL ancmsg(msgid=26,anmode=aninfo)
90 CALL arret(2)
91 ENDIF
92C
93 DO i=1,jlt
94 IF(nsms(i)==0.OR.stif(i)==zero) cycle
95C
96 IF(nsms(i)>0)THEN
97 dts = dtmins/dtfacs
98 ELSE
99 dts = dtmins_int/dtfacs_int
100 END IF
101C
102 mas1= half * dts * ( dts * k1(i) + c1(i) )
103 mas2= half * dts * ( dts * k2(i) + c2(i) )
104 mas3= half * dts * ( dts * k3(i) + c3(i) )
105 mas4= half * dts * ( dts * k4(i) + c4(i) )
106C
107 IF(cs_loc(i)<=nrts) THEN
108 IF(hm1(i)/=zero)THEN
109 niskyl=niskyl+1
110 mskyi_sms(niskyl)=max(mas1,mas3)
111 iskyi_sms(niskyl,1)=n1(i)
112 iskyi_sms(niskyl,2)=m1(i)
113 iskyi_sms(niskyl,3)=ispmd+1
114 niskyl=niskyl+1
115 mskyi_sms(niskyl)=max(mas2,mas3)
116 iskyi_sms(niskyl,1)=n2(i)
117 iskyi_sms(niskyl,2)=m1(i)
118 iskyi_sms(niskyl,3)=ispmd+1
119 END IF
120 IF(hm2(i)/=zero)THEN
121 niskyl=niskyl+1
122 mskyi_sms(niskyl)=max(mas1,mas4)
123 iskyi_sms(niskyl,1)=n1(i)
124 iskyi_sms(niskyl,2)=m2(i)
125 iskyi_sms(niskyl,3)=ispmd+1
126 niskyl=niskyl+1
127 mskyi_sms(niskyl)=max(mas2,mas4)
128 iskyi_sms(niskyl,1)=n2(i)
129 iskyi_sms(niskyl,2)=m2(i)
130 iskyi_sms(niskyl,3)=ispmd+1
131 END IF
132 ELSE
133 IF(hm1(i)/=zero)THEN
134 niskyl=niskyl+1
135 mskyi_sms(niskyl)=max(mas1,mas3)
136 iskyi_sms(niskyl,1)=nodamsfie(nin)%P(n1(i))
137 iskyi_sms(niskyl,2)=m1(i)
138 iskyi_sms(niskyl,3)=procamsfie(nin)%P(n1(i))
139 niskyl=niskyl+1
140 mskyi_sms(niskyl)=max(mas2,mas3)
141 iskyi_sms(niskyl,1)=nodamsfie(nin)%P(n2(i))
142 iskyi_sms(niskyl,2)=m1(i)
143 iskyi_sms(niskyl,3)=procamsfie(nin)%P(n2(i))
144 END IF
145 IF(hm2(i)/=zero)THEN
146 niskyl=niskyl+1
147 mskyi_sms(niskyl)=max(mas1,mas4)
148 iskyi_sms(niskyl,1)=nodamsfie(nin)%P(n1(i))
149 iskyi_sms(niskyl,2)=m2(i)
150 iskyi_sms(niskyl,3)=procamsfie(nin)%P(n1(i))
151 niskyl=niskyl+1
152 mskyi_sms(niskyl)=max(mas2,mas4)
153 iskyi_sms(niskyl,1)=nodamsfie(nin)%P(n2(i))
154 iskyi_sms(niskyl,2)=m2(i)
155 iskyi_sms(niskyl,3)=procamsfie(nin)%P(n2(i))
156 END IF
157 END IF
158 ENDDO
159C
160 RETURN
#define my_real
Definition cppsort.cpp:32
#define max(a, b)
Definition macros.h:21
type(int_pointer), dimension(:), allocatable procamsfie
Definition tri7box.F:440
type(int_pointer), dimension(:), allocatable nodamsfie
Definition tri7box.F:440
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
Definition message.F:889
subroutine arret(nn)
Definition arret.F:87