OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
pfcum3p.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!|| pfcum3p ../engine/source/elements/beam/pfcum3p.F
25!||--- called by ------------------------------------------------------
26!|| pforc3 ../engine/source/elements/beam/pforc3.F
27!||====================================================================
28 SUBROUTINE pfcum3p(
29 1 STI, FSKY, FSKYV, IADP,
30 2 FX1, FX2, FY1, FY2,
31 3 FZ1, FZ2, NC1, NC2,
32 4 NC3, E1X, E1Y, E1Z,
33 5 E2X, E2Y, E2Z, E3X,
34 6 E3Y, E3Z, F11, F12,
35 7 F21, F22, F31, F32,
36 8 FPHI, FTHESKY, NEL, NFT,
37 9 JTHE)
38C-----------------------------------------------
39C I m p l i c i t T y p e s
40C-----------------------------------------------
41#include "implicit_f.inc"
42#include "comlock.inc"
43C-----------------------------------------------
44C G l o b a l P a r a m e t e r s
45C-----------------------------------------------
46#include "mvsiz_p.inc"
47C-----------------------------------------------
48C C o m m o n B l o c k s
49C-----------------------------------------------
50#include "parit_c.inc"
51C-----------------------------------------------
52C D u m m y A r g u m e n t s
53C-----------------------------------------------
54 INTEGER, INTENT(IN) :: NEL
55 INTEGER, INTENT(IN) :: NFT
56 INTEGER, INTENT(IN) :: JTHE
57 INTEGER NC1(MVSIZ), NC2(MVSIZ), NC3(MVSIZ)
58 my_real
59 . FSKYV(LSKY,8),FSKY(8,LSKY),STI(*),
60 . FX1(MVSIZ),FY1(MVSIZ),FZ1(MVSIZ),
61 . FX2(MVSIZ),FY2(MVSIZ),FZ2(MVSIZ),
62 . E1X(MVSIZ),E1Y(MVSIZ),E1Z(MVSIZ),
63 . e2x(mvsiz),e2y(mvsiz),e2z(mvsiz),
64 . e3x(mvsiz),e3y(mvsiz),e3z(mvsiz),
65 . f11(mvsiz),f12(mvsiz),f21(mvsiz),
66 . f22(mvsiz),f31(mvsiz),f32(mvsiz),
67 . fphi(mvsiz,2),fthesky(*)
68 INTEGER IADP(2,*)
69C-----------------------------------------------
70C L o c a l V a r i a b l e s
71C-----------------------------------------------
72 INTEGER I, II, K
73 my_real
74 . G11(MVSIZ),G12(MVSIZ),G21(MVSIZ),
75 . G22(MVSIZ),G31(MVSIZ),G32(MVSIZ)
76C-----------------------------------------------
77 DO i=1,nel
78 g11(i)=f11(i)
79 g21(i)=f21(i)
80 g31(i)=f31(i)
81 g12(i)=f12(i)
82 g22(i)=f22(i)
83 g32(i)=f32(i)
84 ENDDO
85C
86 DO i=1,nel
87 f11(i)=e1x(i)*g11(i)+e2x(i)*g21(i)+e3x(i)*g31(i)
88 f21(i)=e1y(i)*g11(i)+e2y(i)*g21(i)+e3y(i)*g31(i)
89 f31(i)=e1z(i)*g11(i)+e2z(i)*g21(i)+e3z(i)*g31(i)
90 f12(i)=e1x(i)*g12(i)+e2x(i)*g22(i)+e3x(i)*g32(i)
91 f22(i)=e1y(i)*g12(i)+e2y(i)*g22(i)+e3y(i)*g32(i)
92 f32(i)=e1z(i)*g12(i)+e2z(i)*g22(i)+e3z(i)*g32(i)
93 ENDDO
94C-------------------------
95C ASSEMBLE
96C-------------------------
97 IF (ivector==1) THEN
98#include "vectorize.inc"
99 DO i=1,nel
100 ii = i +nft
101 k = iadp(1,ii)
102 fskyv(k,1)=-f11(i)
103 fskyv(k,2)=-f21(i)
104 fskyv(k,3)=-f31(i)
105 fx1(i) = f11(i)
106 fy1(i) = f21(i)
107 fz1(i) = f31(i)
108 fskyv(k,7)=sti(i)
109 k = iadp(2,ii)
110 fskyv(k,1)=-f12(i)
111 fskyv(k,2)=-f22(i)
112 fskyv(k,3)=-f32(i)
113 fx2(i) = f12(i)
114 fy2(i) = f22(i)
115 fz2(i) = f32(i)
116 fskyv(k,7)=sti(i)
117 ENDDO
118 ELSE
119 IF(jthe > 0) THEN
120 DO i=1,nel
121 ii = i +nft
122 k = iadp(1,ii)
123 fsky(1,k)=-f11(i)
124 fsky(2,k)=-f21(i)
125 fsky(3,k)=-f31(i)
126 fx1(i) = f11(i)
127 fy1(i) = f21(i)
128 fz1(i) = f31(i)
129 fsky(7,k)=sti(i)
130 fthesky(k) = fphi(i,1)
131 k = iadp(2,ii)
132 fsky(1,k)=-f12(i)
133 fsky(2,k)=-f22(i)
134 fsky(3,k)=-f32(i)
135 fx2(i) = f12(i)
136 fy2(i) = f22(i)
137 fz2(i) = f32(i)
138 fsky(7,k)=sti(i)
139 fthesky(k) = fphi(i,2)
140 ENDDO
141 ELSE
142 DO i=1,nel
143 ii = i +nft
144 k = iadp(1,ii)
145 fsky(1,k)=-f11(i)
146 fsky(2,k)=-f21(i)
147 fsky(3,k)=-f31(i)
148 fx1(i) = f11(i)
149 fy1(i) = f21(i)
150 fz1(i) = f31(i)
151 fsky(7,k)=sti(i)
152 k = iadp(2,ii)
153 fsky(1,k)=-f12(i)
154 fsky(2,k)=-f22(i)
155 fsky(3,k)=-f32(i)
156 fx2(i) = f12(i)
157 fy2(i) = f22(i)
158 fz2(i) = f32(i)
159 fsky(7,k)=sti(i)
160 ENDDO
161
162 ENDIF
163 ENDIF
164C-------------------------
165 RETURN
166 END
subroutine pfcum3p(sti, fsky, fskyv, iadp, fx1, fx2, fy1, fy2, fz1, fz2, nc1, nc2, nc3, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, f11, f12, f21, f22, f31, f32, fphi, fthesky, nel, nft, jthe)
Definition pfcum3p.F:38