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

Go to the source code of this file.

Functions/Subroutines

subroutine r4cum3 (f, forx, fory, forz, xm, xmom, ymom, zmom, sti, stir, stifn, stifr, fx1, fx2, fy1, fy2, fz1, fz2, mx1, mx2, my1, my2, mz1, mz2, al, exx, eyx, ezx, exy, eyy, ezy, exz, eyz, ezz, nc1, nc2, nel)

Function/Subroutine Documentation

◆ r4cum3()

subroutine r4cum3 ( f,
forx,
fory,
forz,
xm,
xmom,
ymom,
zmom,
sti,
stir,
stifn,
stifr,
fx1,
fx2,
fy1,
fy2,
fz1,
fz2,
mx1,
mx2,
my1,
my2,
mz1,
mz2,
al,
exx,
eyx,
ezx,
exy,
eyy,
ezy,
exz,
eyz,
ezz,
integer, dimension(*) nc1,
integer, dimension(*) nc2,
integer, intent(in) nel )

Definition at line 30 of file r4cum3.F.

41C-----------------------------------------------
42C I m p l i c i t T y p e s
43C-----------------------------------------------
44#include "implicit_f.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-----------------------------------------------
52C-----------------------------------------------
53C D u m m y A r g u m e n t s
54C-----------------------------------------------
55 INTEGER, INTENT(IN) :: NEL
56 INTEGER NC1(*),NC2(*)
57C REAL
59 . f(3,*), forx(*), fory(*), forz(*), xm(3,*), xmom(*),
60 . ymom(*), zmom(*), sti(3,*),stir(3,*),stifn(*),stifr(*),
61 . fx1(mvsiz),fy1(mvsiz),fz1(mvsiz),
62 . fx2(mvsiz),fy2(mvsiz),fz2(mvsiz),
63 . mx1(mvsiz),my1(mvsiz),mz1(mvsiz),
64 . mx2(mvsiz),my2(mvsiz),mz2(mvsiz),
65 . exx(mvsiz), eyx(mvsiz), ezx(mvsiz),
66 . exy(mvsiz), eyy(mvsiz), ezy(mvsiz),
67 . exz(mvsiz), eyz(mvsiz), ezz(mvsiz),al(mvsiz)
68C-----------------------------------------------
69C L o c a l V a r i a b l e s
70C-----------------------------------------------
71 INTEGER I, J
72C REAL
74 . f11(mvsiz), f21(mvsiz), f31(mvsiz),
75 . m11(mvsiz), m21(mvsiz), m31(mvsiz),
76 . m12(mvsiz), m22(mvsiz), m32(mvsiz),
77 . ymom1, ymom2, zmom1, zmom2, ymom1p, zmom1p,
78 . ymom2p,zmom2p
79C-----------------------------------------------
80 DO i=1,nel
81 f11(i)=exx(i)*forx(i)+exy(i)*fory(i)+exz(i)*forz(i)
82 f21(i)=eyx(i)*forx(i)+eyy(i)*fory(i)+eyz(i)*forz(i)
83 f31(i)=ezx(i)*forx(i)+ezy(i)*fory(i)+ezz(i)*forz(i)
84 ENDDO
85C-------------------------
86C ASSEMBLE
87C-------------------------
88 DO i=1,nel
89 f(1,nc1(i))=f(1,nc1(i))+f11(i)
90 f(2,nc1(i))=f(2,nc1(i))+f21(i)
91 f(3,nc1(i))=f(3,nc1(i))+f31(i)
92 fx1(i) = -f11(i)
93 fy1(i) = -f21(i)
94 fz1(i) = -f31(i)
95 stifn(nc1(i))=stifn(nc1(i))+sti(1,i)
96C
97 f(1,nc2(i))=f(1,nc2(i))-f11(i)
98 f(2,nc2(i))=f(2,nc2(i))-f21(i)
99 f(3,nc2(i))=f(3,nc2(i))-f31(i)
100 fx2(i) = f11(i)
101 fy2(i) = f21(i)
102 fz2(i) = f31(i)
103 stifn(nc2(i))=stifn(nc2(i))+sti(2,i)
104 ENDDO
105C-------------------------
106C MOMENTS
107C-------------------------
108 DO i=1,nel
109 ymom1 = ymom(i) - half*al(i)*forz(i)
110 zmom1 = zmom(i) + half*al(i)*fory(i)
111 m11(i)=exx(i)*xmom(i)+exy(i)*ymom1+exz(i)*zmom1
112 m21(i)=eyx(i)*xmom(i)+eyy(i)*ymom1+eyz(i)*zmom1
113 m31(i)=ezx(i)*xmom(i)+ezy(i)*ymom1+ezz(i)*zmom1
114 ymom2 = ymom(i) + half*al(i)*forz(i)
115 zmom2 = zmom(i) - half*al(i)*fory(i)
116 m12(i)=exx(i)*xmom(i)+exy(i)*ymom2+exz(i)*zmom2
117 m22(i)=eyx(i)*xmom(i)+eyy(i)*ymom2+eyz(i)*zmom2
118 m32(i)=ezx(i)*xmom(i)+ezy(i)*ymom2+ezz(i)*zmom2
119 ENDDO
120C-------------------------
121C ASSEMBLE
122C-------------------------
123 DO i=1,nel
124 xm(1,nc1(i))=xm(1,nc1(i))+m11(i)
125 xm(2,nc1(i))=xm(2,nc1(i))+m21(i)
126 xm(3,nc1(i))=xm(3,nc1(i))+m31(i)
127 mx1(i) = -m11(i)
128 my1(i) = -m21(i)
129 mz1(i) = -m31(i)
130 stifr(nc1(i))=stifr(nc1(i))+stir(1,i)
131C
132 xm(1,nc2(i))=xm(1,nc2(i))-m12(i)
133 xm(2,nc2(i))=xm(2,nc2(i))-m22(i)
134 xm(3,nc2(i))=xm(3,nc2(i))-m32(i)
135 mx2(i) = m12(i)
136 my2(i) = m22(i)
137 mz2(i) = m32(i)
138 stifr(nc2(i))=stifr(nc2(i))+stir(2,i)
139 ENDDO
140C---
141 RETURN
#define my_real
Definition cppsort.cpp:32