OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
r4cum3.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!|| r4cum3 ../engine/source/elements/spring/r4cum3.F
25!||--- called by ------------------------------------------------------
26!|| r23law113 ../engine/source/elements/spring/r23law113.F
27!|| r23law114 ../engine/source/elements/spring/r23law114.f
28!|| rforc3 ../engine/source/elements/spring/rforc3.F
29!||====================================================================
30 SUBROUTINE r4cum3(
31 1 F, FORX, FORY, FORZ,
32 2 XM, XMOM, YMOM, ZMOM,
33 3 STI, STIR, STIFN, STIFR,
34 4 FX1, FX2, FY1, FY2,
35 5 FZ1, FZ2, MX1, MX2,
36 6 MY1, MY2, MZ1, MZ2,
37 7 AL, EXX, EYX, EZX,
38 8 EXY, EYY, EZY, EXZ,
39 9 EYZ, EZZ, NC1, NC2,
40 A NEL)
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
58 my_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
73 my_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
142 END
subroutine r23law114(python, elbuf_str, jft, jlt, nel, mtn, igeo, geo, ipm, ixr, x, table, xdp, f, npf, tf, skew, flg_kj2, vr, ar, v, dt2t, neltst, ityptst, stifn, stifr, ms, in, fsky, iadr, sensor_tab, offset, anim, partsav, ipartr, tani, fr_wave, bufmat, bufgeo, pm, rby, fx1, fx2, fy1, fy2, fz1, fz2, mx1, mx2, my1, my2, mz1, mz2, gresav, grth, igrth, msrt, dmelrt, flag_slipring_update, flag_retractor_update, h3d_data, jsms, igre, nft, nsensor, stf, sanin, iresp, snpc)
Definition r23law114.F:63
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)
Definition r4cum3.F:41