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 103 of file i2vit10.F.

107C-----------------------------------------------
108C I m p l i c i t T y p e s
109C-----------------------------------------------
110#include "implicit_f.inc"
111C-----------------------------------------------
112C D u m m y A r g u m e n t s
113C-----------------------------------------------
114 INTEGER NSN,NMN,
115 . IRECT(4,*), MSR(*), NSV(*), IRTL(*),IRUPT(*),WEIGHT(*)
116C REAL
117 my_real
118 . a(3,*),v(3,*),ar(3,*),vr(3,*),x(3,*),ms(*),crst(2,*)
119C-----------------------------------------------
120C L o c a l V a r i a b l e s
121C-----------------------------------------------
122 INTEGER NIR, I, J, II,JJ,L,NN, ISK, ICOD
123C REAL
124 my_real
125 . h(4), ss, tt, amx, amy, amz, vmx, vmy, vmz,sp,sm,tp,tm,mas,
126 . fac, v1x2, v2x1, v2x3, v3x2, v3x1, v1x3,xc0,yc0,zc0
127C=======================================================================
128 nir=4
129C
130 DO ii=1,nsn
131 i = nsv(ii)
132 l = irtl(ii)
133C
134 IF(i > 0 .AND. irupt(ii) == 0) THEN
135 ss=crst(1,ii)
136 tt=crst(2,ii)
137 sp=one + ss
138 sm=one - ss
139 tp=fourth*(one + tt)
140 tm=fourth*(one - tt)
141 h(1)=tm*sm
142 h(2)=tm*sp
143 h(3)=tp*sp
144 h(4)=tp*sm
145C
146 xc0 = x(1,i)
147 yc0 = x(2,i)
148 zc0 = x(3,i)
149C
150 amx=zero
151 amy=zero
152 amz=zero
153 vmx=zero
154 vmy=zero
155 vmz=zero
156 DO jj=1,4
157 j=irect(jj,l)
158 amx=amx+ar(1,j)*h(jj)
159 amy=amy+ar(2,j)*h(jj)
160 amz=amz+ar(3,j)*h(jj)
161 vmx=vmx+vr(1,j)*h(jj)
162 vmy=vmy+vr(2,j)*h(jj)
163 vmz=vmz+vr(3,j)*h(jj)
164 xc0=xc0 - x(1,j) * h(jj)
165 yc0=yc0 - x(2,j) * h(jj)
166 zc0=zc0 - x(3,j) * h(jj)
167 ENDDO
168 ar(1,i)=amx
169 ar(2,i)=amy
170 ar(3,i)=amz
171 vr(1,i)=vmx
172 vr(2,i)=vmy
173 vr(3,i)=vmz
174 v1x2=vmx * yc0
175 v2x1=vmy * xc0
176 v2x3=vmy * zc0
177 v3x2=vmz * yc0
178 v3x1=vmz * xc0
179 v1x3=vmx * zc0
180
181 a(1,i)= a(1,i) + amy * zc0 - amz * yc0
182 . - half*(vmy*v2x1+vmz*v3x1)
183 a(2,i)= a(2,i) + amz * xc0 - amx * zc0
184 . - half*(vmz*v3x2+vmx*v1x2)
185 a(3,i)= a(3,i) + amx * yc0 - amy * xc0
186 . - half*(vmx*v1x3+vmy*v2x3)
187 v(1,i)= v(1,i) + v2x3 - v3x2
188 v(2,i)= v(2,i) + v3x1 - v1x3
189 v(3,i)= v(3,i) + v1x2 - v2x1
190 ENDIF
191 ENDDO
192C----
193 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,NN, ISK, ICOD
48C REAL
50 . h(4), ss, tt, amx, amy, amz, vmx, vmy, vmz,sp,sm,tp,tm,mas,
51 . fac, v1x2, v2x1, v2x3, v3x2, v3x1, v1x3,xc0,yc0,zc0
52C=======================================================================
53 nir=4
54C
55 DO ii=1,nsn
56 i = nsv(ii)
57 l = irtl(ii)
58C
59 IF(i > 0 .AND. irupt(ii) == 0) THEN
60 ss=crst(1,ii)
61 tt=crst(2,ii)
62 sp=one + ss
63 sm=one - ss
64 tp=fourth*(one + tt)
65 tm=fourth*(one - tt)
66 h(1)=tm*sm
67 h(2)=tm*sp
68 h(3)=tp*sp
69 h(4)=tp*sm
70 amx=zero
71 amy=zero
72 amz=zero
73 vmx=zero
74 vmy=zero
75 vmz=zero
76C
77 DO jj=1,nir
78 j=irect(jj,l)
79 amx=amx+a(1,j)*h(jj)
80 amy=amy+a(2,j)*h(jj)
81 amz=amz+a(3,j)*h(jj)
82 vmx=vmx+v(1,j)*h(jj)
83 vmy=vmy+v(2,j)*h(jj)
84 vmz=vmz+v(3,j)*h(jj)
85 ENDDO
86 a(1,i)=amx
87 a(2,i)=amy
88 a(3,i)=amz
89 v(1,i)=vmx
90 v(2,i)=vmy
91 v(3,i)=vmz
92C
93 ENDIF
94 ENDDO
95C----
96 RETURN