OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i2vit10.F File Reference
#include "implicit_f.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine i2vit10 (nsn, nmn, ms, v, a, ar, vr, x, irect, nsv, msr, irtl, crst, irupt, weight)
subroutine i2rot10 (nsn, nmn, ms, v, a, ar, vr, x, irect, nsv, msr, irtl, crst, irupt, weight)

Function/Subroutine Documentation

◆ i2rot10()

subroutine i2rot10 ( integer nsn,
integer nmn,
ms,
v,
a,
ar,
vr,
x,
integer, dimension(4,*) irect,
integer, dimension(*) nsv,
integer, dimension(*) msr,
integer, dimension(*) irtl,
crst,
integer, dimension(*) irupt,
integer, dimension(*) weight )

Definition at line 102 of file i2vit10.F.

106C-----------------------------------------------
107C I m p l i c i t T y p e s
108C-----------------------------------------------
109#include "implicit_f.inc"
110C-----------------------------------------------
111C D u m m y A r g u m e n t s
112C-----------------------------------------------
113 INTEGER NSN,NMN,
114 . IRECT(4,*), MSR(*), NSV(*), IRTL(*),IRUPT(*),WEIGHT(*)
115C REAL
116 my_real
117 . a(3,*),v(3,*),ar(3,*),vr(3,*),x(3,*),ms(*),crst(2,*)
118C-----------------------------------------------
119C L o c a l V a r i a b l e s
120C-----------------------------------------------
121 INTEGER NIR, I, J, II, JJ, L
122C REAL
123 my_real
124 . h(4), ss, tt, amx, amy, amz, vmx, vmy, vmz,sp,sm,tp,tm,
125 . v1x2, v2x1, v2x3, v3x2, v3x1, v1x3,xc0,yc0,zc0
126C=======================================================================
127 nir=4
128C
129 DO ii=1,nsn
130 i = nsv(ii)
131 l = irtl(ii)
132C
133 IF(i > 0 .AND. irupt(ii) == 0) THEN
134 ss=crst(1,ii)
135 tt=crst(2,ii)
136 sp=one + ss
137 sm=one - ss
138 tp=fourth*(one + tt)
139 tm=fourth*(one - tt)
140 h(1)=tm*sm
141 h(2)=tm*sp
142 h(3)=tp*sp
143 h(4)=tp*sm
144C
145 xc0 = x(1,i)
146 yc0 = x(2,i)
147 zc0 = x(3,i)
148C
149 amx=zero
150 amy=zero
151 amz=zero
152 vmx=zero
153 vmy=zero
154 vmz=zero
155 DO jj=1,4
156 j=irect(jj,l)
157 amx=amx+ar(1,j)*h(jj)
158 amy=amy+ar(2,j)*h(jj)
159 amz=amz+ar(3,j)*h(jj)
160 vmx=vmx+vr(1,j)*h(jj)
161 vmy=vmy+vr(2,j)*h(jj)
162 vmz=vmz+vr(3,j)*h(jj)
163 xc0=xc0 - x(1,j) * h(jj)
164 yc0=yc0 - x(2,j) * h(jj)
165 zc0=zc0 - x(3,j) * h(jj)
166 ENDDO
167 ar(1,i)=amx
168 ar(2,i)=amy
169 ar(3,i)=amz
170 vr(1,i)=vmx
171 vr(2,i)=vmy
172 vr(3,i)=vmz
173 v1x2=vmx * yc0
174 v2x1=vmy * xc0
175 v2x3=vmy * zc0
176 v3x2=vmz * yc0
177 v3x1=vmz * xc0
178 v1x3=vmx * zc0
179
180 a(1,i)= a(1,i) + amy * zc0 - amz * yc0
181 . - half*(vmy*v2x1+vmz*v3x1)
182 a(2,i)= a(2,i) + amz * xc0 - amx * zc0
183 . - half*(vmz*v3x2+vmx*v1x2)
184 a(3,i)= a(3,i) + amx * yc0 - amy * xc0
185 . - half*(vmx*v1x3+vmy*v2x3)
186 v(1,i)= v(1,i) + v2x3 - v3x2
187 v(2,i)= v(2,i) + v3x1 - v1x3
188 v(3,i)= v(3,i) + v1x2 - v2x1
189 ENDIF
190 ENDDO
191C----
192 RETURN
#define my_real
Definition cppsort.cpp:32

◆ i2vit10()

subroutine i2vit10 ( integer nsn,
integer nmn,
ms,
v,
a,
ar,
vr,
x,
integer, dimension(4,*) irect,
integer, dimension(*) nsv,
integer, dimension(*) msr,
integer, dimension(*) irtl,
crst,
integer, dimension(*) irupt,
integer, dimension(*) weight )

Definition at line 28 of file i2vit10.F.

32C-----------------------------------------------
33C I m p l i c i t T y p e s
34C-----------------------------------------------
35#include "implicit_f.inc"
36C-----------------------------------------------
37C D u m m y A r g u m e n t s
38C-----------------------------------------------
39 INTEGER NSN,NMN,
40 . IRECT(4,*), MSR(*), NSV(*), IRTL(*),IRUPT(*),WEIGHT(*)
41C REAL
43 . a(3,*),v(3,*),ar(3,*),vr(3,*),x(3,*),ms(*),crst(2,*)
44C-----------------------------------------------
45C L o c a l V a r i a b l e s
46C-----------------------------------------------
47 INTEGER NIR, I, J, II, JJ, L
48C REAL
50 . h(4), ss, tt, amx, amy, amz, vmx, vmy, vmz,sp,sm,tp,tm
51C=======================================================================
52 nir=4
53C
54 DO ii=1,nsn
55 i = nsv(ii)
56 l = irtl(ii)
57C
58 IF(i > 0 .AND. irupt(ii) == 0) THEN
59 ss=crst(1,ii)
60 tt=crst(2,ii)
61 sp=one + ss
62 sm=one - ss
63 tp=fourth*(one + tt)
64 tm=fourth*(one - tt)
65 h(1)=tm*sm
66 h(2)=tm*sp
67 h(3)=tp*sp
68 h(4)=tp*sm
69 amx=zero
70 amy=zero
71 amz=zero
72 vmx=zero
73 vmy=zero
74 vmz=zero
75C
76 DO jj=1,nir
77 j=irect(jj,l)
78 amx=amx+a(1,j)*h(jj)
79 amy=amy+a(2,j)*h(jj)
80 amz=amz+a(3,j)*h(jj)
81 vmx=vmx+v(1,j)*h(jj)
82 vmy=vmy+v(2,j)*h(jj)
83 vmz=vmz+v(3,j)*h(jj)
84 ENDDO
85 a(1,i)=amx
86 a(2,i)=amy
87 a(3,i)=amz
88 v(1,i)=vmx
89 v(2,i)=vmy
90 v(3,i)=vmz
91C
92 ENDIF
93 ENDDO
94C----
95 RETURN