OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i2vit10.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| i2vit10 ../engine/source/interfaces/interf/i2vit10.F
25!||--- called by ------------------------------------------------------
26!|| intti2v ../engine/source/interfaces/interf/intti2v.F
27!||====================================================================
28 SUBROUTINE i2vit10(
29 1 NSN ,NMN ,MS ,V ,A ,
30 2 AR ,VR ,X ,IRECT ,NSV ,
31 3 MSR ,IRTL ,CRST ,IRUPT ,WEIGHT )
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
49 my_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
97 END
98!||====================================================================
99!|| i2rot10 ../engine/source/interfaces/interf/i2vit10.F
100!||--- called by ------------------------------------------------------
101!|| intti2v ../engine/source/interfaces/interf/intti2v.F
102!||====================================================================
103 SUBROUTINE i2rot10(
104 1 NSN ,NMN ,MS ,V ,A ,
105 2 AR ,VR ,X ,IRECT ,NSV ,
106 3 MSR ,IRTL ,CRST ,IRUPT ,WEIGHT )
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
194 END
#define my_real
Definition cppsort.cpp:32
subroutine i2vit10(nsn, nmn, ms, v, a, ar, vr, x, irect, nsv, msr, irtl, crst, irupt, weight)
Definition i2vit10.F:32
subroutine i2rot10(nsn, nmn, ms, v, a, ar, vr, x, irect, nsv, msr, irtl, crst, irupt, weight)
Definition i2vit10.F:107