OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
r3cum3p.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!|| r3cum3p ../engine/source/elements/spring/r3cum3p.F
25!||--- called by ------------------------------------------------------
26!|| rforc3 ../engine/source/elements/spring/rforc3.F
27!||====================================================================
28 SUBROUTINE r3cum3p(
29 1 FOR, STI, FSKY, FSKYV,
30 2 IADR, DF, EX, EY,
31 3 EZ, EX2, EY2, EZ2,
32 4 NEL, NFT)
33C-----------------------------------------------
34C I m p l i c i t T y p e s
35C-----------------------------------------------
36#include "implicit_f.inc"
37#include "comlock.inc"
38C-----------------------------------------------
39C G l o b a l P a r a m e t e r s
40C-----------------------------------------------
41#include "mvsiz_p.inc"
42C-----------------------------------------------
43C C o m m o n B l o c k s
44C-----------------------------------------------
45#include "parit_c.inc"
46C-----------------------------------------------
47C D u m m y A r g u m e n t s
48C-----------------------------------------------
49 INTEGER, INTENT(IN) :: NEL
50 INTEGER, INTENT(IN) :: NFT
51C REAL
52 my_real
53 . for(*), sti(3,*),fskyv(lsky,8),df(*),
54 . fsky(8,lsky),ex(mvsiz),ey(mvsiz),ez(mvsiz),
55 . ex2(mvsiz),ey2(mvsiz),ez2(mvsiz)
56 INTEGER IADR(3,*)
57C-----------------------------------------------
58C L o c a l V a r i a b l e s
59C-----------------------------------------------
60 INTEGER I, II, N, J
61 my_real
62 . F11(MVSIZ), F21(MVSIZ), F31(MVSIZ)
63C-----------------------------------------------
64C-------------------------
65C ASSEMBLE
66C-------------------------
67 DO i=1,nel
68 f11(i)=ex(i)*(for(i)+df(i))
69 f21(i)=ey(i)*(for(i)+df(i))
70 f31(i)=ez(i)*(for(i)+df(i))
71 ENDDO
72C
73 IF (ivector == 1) THEN
74#include "vectorize.inc"
75 DO i=1,nel
76 ii = i+nft
77 n = iadr(1,ii)
78 fskyv(n,1)=f11(i)
79 fskyv(n,2)=f21(i)
80 fskyv(n,3)=f31(i)
81 fskyv(n,7)=sti(1,i)
82 n = iadr(2,ii)
83 fskyv(n,1)=-f11(i)
84 fskyv(n,2)=-f21(i)
85 fskyv(n,3)=-f31(i)
86 fskyv(n,7)=two*sti(2,i)
87 ENDDO
88 ELSE
89 DO i=1,nel
90 ii = i+nft
91 n = iadr(1,ii)
92 fsky(1,n)=f11(i)
93 fsky(2,n)=f21(i)
94 fsky(3,n)=f31(i)
95 fsky(7,n)=sti(1,i)
96 n = iadr(2,ii)
97 fsky(1,n)=-f11(i)
98 fsky(2,n)=-f21(i)
99 fsky(3,n)=-f31(i)
100 fsky(7,n)=two*sti(2,i)
101 ENDDO
102 ENDIF
103C
104 DO i=1,nel
105 f11(i)=ex2(i)*(for(i)-df(i))
106 f21(i)=ey2(i)*(for(i)-df(i))
107 f31(i)=ez2(i)*(for(i)-df(i))
108 ENDDO
109C
110 IF (ivector == 1) THEN
111#include "vectorize.inc"
112 DO i=1,nel
113C
114 ii = i+nft
115 n = iadr(2,ii)
116 fskyv(n,1)=fskyv(n,1)-f11(i)
117 fskyv(n,2)=fskyv(n,2)-f21(i)
118 fskyv(n,3)=fskyv(n,3)-f31(i)
119 n = iadr(3,ii)
120 fskyv(n,1)=f11(i)
121 fskyv(n,2)=f21(i)
122 fskyv(n,3)=f31(i)
123 fskyv(n,7)=sti(3,i)
124 ENDDO
125 ELSE
126 DO i=1,nel
127 ii = i+nft
128 n = iadr(2,ii)
129 fsky(1,n)=fsky(1,n)-f11(i)
130 fsky(2,n)=fsky(2,n)-f21(i)
131 fsky(3,n)=fsky(3,n)-f31(i)
132 n = iadr(3,ii)
133 fsky(1,n)=f11(i)
134 fsky(2,n)=f21(i)
135 fsky(3,n)=f31(i)
136 fsky(7,n)=sti(3,i)
137 ENDDO
138 ENDIF
139C---
140 RETURN
141 END
for(i8=*sizetab-1;i8 >=0;i8--)
subroutine r3cum3p(for, sti, fsky, fskyv, iadr, df, ex, ey, ez, ex2, ey2, ez2, nel, nft)
Definition r3cum3p.F:33