OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
r5cum3p.F File Reference
#include "implicit_f.inc"
#include "comlock.inc"
#include "mvsiz_p.inc"
#include "parit_c.inc"
#include "vectorize.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine r5cum3p (forx, fory, forz, xmom, ymom, zmom, sti, stir, fsky, fskyv, iadr, fx1, fx2, fy1, fy2, fz1, fz2, mx1, mx2, my1, my2, mz1, mz2, mom1y, mom1z, exx, eyx, ezx, exy, eyy, ezy, exz, eyz, ezz, al, nel, nft)

Function/Subroutine Documentation

◆ r5cum3p()

subroutine r5cum3p ( forx,
fory,
forz,
xmom,
ymom,
zmom,
sti,
stir,
fsky,
fskyv,
integer, dimension(3,*) iadr,
fx1,
fx2,
fy1,
fy2,
fz1,
fz2,
mx1,
mx2,
my1,
my2,
mz1,
mz2,
mom1y,
mom1z,
exx,
eyx,
ezx,
exy,
eyy,
ezy,
exz,
eyz,
ezz,
al,
integer, intent(in) nel,
integer, intent(in) nft )

Definition at line 28 of file r5cum3p.F.

39C-----------------------------------------------
40C I m p l i c i t T y p e s
41C-----------------------------------------------
42#include "implicit_f.inc"
43#include "comlock.inc"
44C-----------------------------------------------
45C G l o b a l P a r a m e t e r s
46C-----------------------------------------------
47#include "mvsiz_p.inc"
48C-----------------------------------------------
49C C o m m o n B l o c k s
50C-----------------------------------------------
51#include "parit_c.inc"
52C-----------------------------------------------
53C D u m m y A r g u m e n t s
54C-----------------------------------------------
55 INTEGER, INTENT(IN) :: NEL
56 INTEGER, INTENT(IN) :: NFT
57 INTEGER IADR(3,*)
58C REAL
60 . forx(*), fory(*), forz(*), xmom(*),
61 . ymom(*),zmom(*),sti(3,*),stir(3,*),fskyv(lsky,8),
62 . fsky(8,lsky),
63 . fx1(mvsiz),fy1(mvsiz),fz1(mvsiz),
64 . fx2(mvsiz),fy2(mvsiz),fz2(mvsiz),
65 . mx1(mvsiz),my1(mvsiz),mz1(mvsiz),
66 . mx2(mvsiz),my2(mvsiz),mz2(mvsiz),
67 . mom1y(mvsiz),mom1z(mvsiz),
68 . exx(mvsiz), eyx(mvsiz), ezx(mvsiz),
69 . exy(mvsiz), eyy(mvsiz), ezy(mvsiz),
70 . exz(mvsiz), eyz(mvsiz), ezz(mvsiz),al(mvsiz)
71C-----------------------------------------------
72C L o c a l V a r i a b l e s
73C-----------------------------------------------
74 INTEGER I, II, N, J
75CC REAL
77 . f11(mvsiz), f21(mvsiz), f31(mvsiz),
78 . m11(mvsiz), m21(mvsiz), m31(mvsiz),
79 . m12(mvsiz), m22(mvsiz), m32(mvsiz),
80 . ymom1, ymom2, zmom1, zmom2, ymom1p, zmom1p,
81 . ymom2p,zmom2p
82C-----------------------------------------------
83 DO i=1,nel
84 f11(i)=exx(i)*forx(i)+exy(i)*fory(i)+exz(i)*forz(i)
85 f21(i)=eyx(i)*forx(i)+eyy(i)*fory(i)+eyz(i)*forz(i)
86 f31(i)=ezx(i)*forx(i)+ezy(i)*fory(i)+ezz(i)*forz(i)
87 ENDDO
88C-------------------------
89C ASSEMBLE
90C-------------------------
91 IF (ivector == 1) THEN
92#include "vectorize.inc"
93 DO i=1,nel
94 ii = i+nft
95 n = iadr(1,ii)
96 fskyv(n,1)=f11(i)
97 fskyv(n,2)=f21(i)
98 fskyv(n,3)=f31(i)
99 fx1(i) = -f11(i)
100 fy1(i) = -f21(i)
101 fz1(i) = -f31(i)
102 fskyv(n,7)=sti(1,i)
103 n = iadr(2,ii)
104 fskyv(n,1)=-f11(i)
105 fskyv(n,2)=-f21(i)
106 fskyv(n,3)=-f31(i)
107 fx2(i) = f11(i)
108 fy2(i) = f21(i)
109 fz2(i) = f31(i)
110 fskyv(n,7)=sti(2,i)
111 ENDDO
112 ELSE
113 DO i=1,nel
114 ii = i+nft
115 n = iadr(1,ii)
116 fsky(1,n)=f11(i)
117 fsky(2,n)=f21(i)
118 fsky(3,n)=f31(i)
119 fx1(i) = -f11(i)
120 fy1(i) = -f21(i)
121 fz1(i) = -f31(i)
122 fsky(7,n)=sti(1,i)
123 n = iadr(2,ii)
124 fsky(1,n)=-f11(i)
125 fsky(2,n)=-f21(i)
126 fsky(3,n)=-f31(i)
127 fx2(i) = f11(i)
128 fy2(i) = f21(i)
129 fz2(i) = f31(i)
130 fsky(7,n)=sti(2,i)
131 ENDDO
132 ENDIF
133C-------------------------
134C MOMENTS
135C-------------------------
136 DO i=1,nel
137 ymom1 = ymom(i) - half*al(i)*forz(i)
138 zmom1 = zmom(i) + half*al(i)*fory(i)
139 mom1y(i) =-ymom1
140 mom1z(i) =-zmom1
141 m11(i)=exx(i)*xmom(i)+exy(i)*ymom1+exz(i)*zmom1
142 m21(i)=eyx(i)*xmom(i)+eyy(i)*ymom1+eyz(i)*zmom1
143 m31(i)=ezx(i)*xmom(i)+ezy(i)*ymom1+ezz(i)*zmom1
144C
145 ymom2 = ymom(i) + half*al(i)*forz(i)
146 zmom2 = zmom(i) - half*al(i)*fory(i)
147 m12(i)=exx(i)*xmom(i)+exy(i)*ymom2+exz(i)*zmom2
148 m22(i)=eyx(i)*xmom(i)+eyy(i)*ymom2+eyz(i)*zmom2
149 m32(i)=ezx(i)*xmom(i)+ezy(i)*ymom2+ezz(i)*zmom2
150 ENDDO
151C-------------------------
152C ASSEMBLE
153C-------------------------
154 IF (ivector == 1) THEN
155#include "vectorize.inc"
156 DO i=1,nel
157 ii = i+nft
158 n = iadr(1,ii)
159 fskyv(n,4)=m11(i)
160 fskyv(n,5)=m21(i)
161 fskyv(n,6)=m31(i)
162 mx1(i) = -m11(i)
163 my1(i) = -m21(i)
164 mz1(i) = -m31(i)
165 fskyv(n,8)=stir(1,i)
166 n = iadr(2,ii)
167 fskyv(n,4)=-m12(i)
168 fskyv(n,5)=-m22(i)
169 fskyv(n,6)=-m32(i)
170 mx2(i) = m12(i)
171 my2(i) = m22(i)
172 mz2(i) = m32(i)
173 fskyv(n,8)=stir(2,i)
174 ENDDO
175 ELSE
176 DO i=1,nel
177 ii = i+nft
178 n = iadr(1,ii)
179 fsky(4,n)=m11(i)
180 fsky(5,n)=m21(i)
181 fsky(6,n)=m31(i)
182 mx1(i) = -m11(i)
183 my1(i) = -m21(i)
184 mz1(i) = -m31(i)
185 fsky(8,n)=stir(1,i)
186 n = iadr(2,ii)
187 fsky(4,n)=-m12(i)
188 fsky(5,n)=-m22(i)
189 fsky(6,n)=-m32(i)
190 mx2(i) = m12(i)
191 my2(i) = m22(i)
192 mz2(i) = m32(i)
193 fsky(8,n)=stir(2,i)
194 ENDDO
195 ENDIF
196C---
197 RETURN
#define my_real
Definition cppsort.cpp:32