OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
r4cum3p.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 r4cum3p (forx, fory, forz, xmom, ymom, zmom, sti, stir, fsky, fskyv, iadr, fx1, fx2, fy1, fy2, fz1, fz2, mx1, mx2, my1, my2, mz1, mz2, exx, eyx, ezx, exy, eyy, ezy, exz, eyz, ezz, al, nel, nft)

Function/Subroutine Documentation

◆ r4cum3p()

subroutine r4cum3p ( 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,
exx,
eyx,
ezx,
exy,
eyy,
ezy,
exz,
eyz,
ezz,
al,
integer, intent(in) nel,
integer, intent(in) nft )

Definition at line 30 of file r4cum3p.F.

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