OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
tfcum3.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!|| tfcum3 ../engine/source/elements/truss/tfcum3.F
25!||--- called by ------------------------------------------------------
26!|| tforc3 ../engine/source/elements/truss/tforc3.F
27!||====================================================================
28 SUBROUTINE tfcum3(
29 1 F, FOR, STIFN, STI,
30 2 FX1, FX2, FY1, FY2,
31 3 FZ1, FZ2, OFFG, OFF,
32 4 NC1, NC2, EX, EY,
33 5 EZ, NEL)
34C-----------------------------------------------
35C I m p l i c i t T y p e s
36C-----------------------------------------------
37#include "implicit_f.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-----------------------------------------------
45C-----------------------------------------------
46C D u m m y A r g u m e n t s
47C-----------------------------------------------
48 INTEGER, INTENT(IN) :: NEL
49 INTEGER NC1(MVSIZ),NC2(MVSIZ)
50 my_real
51 . F(3,*),FOR(*),STIFN(*),STI(*),
52 . FX1(MVSIZ),FY1(MVSIZ),FZ1(MVSIZ),
53 . fx2(mvsiz),fy2(mvsiz),fz2(mvsiz),
54 . offg(mvsiz),off(mvsiz),ex(mvsiz),ey(mvsiz),ez(mvsiz)
55C-----------------------------------------------
56C L o c a l V a r i a b l e s
57C-----------------------------------------------
58 INTEGER I,J
59 my_real
60 . F11(MVSIZ),F21(MVSIZ),F31(MVSIZ),OFF_L
61C-----------------------------------------------
62 DO I=1,nel
63 f11(i)=ex(i)*for(i)
64 f21(i)=ey(i)*for(i)
65 f31(i)=ez(i)*for(i)
66 ENDDO
67c
68 off_l=zero
69 DO i=1,nel
70 IF (off(i) < one) offg(i) = off(i)
71 off_l = min(off_l,offg(i))
72 ENDDO
73c
74 IF (off_l < zero) THEN
75 DO i=1,nel
76 IF (offg(i) < zero) THEN
77 f11(i)=zero
78 f21(i)=zero
79 f31(i)=zero
80 sti(i)=zero
81 ENDIF
82 ENDDO
83 ENDIF
84C-------------------------
85C ASSEMBLE
86C-------------------------
87 DO i=1,nel
88 f(1,nc1(i))=f(1,nc1(i))+f11(i)
89 f(2,nc1(i))=f(2,nc1(i))+f21(i)
90 f(3,nc1(i))=f(3,nc1(i))+f31(i)
91 fx1(i) = -f11(i)
92 fy1(i) = -f21(i)
93 fz1(i) = -f31(i)
94c
95 f(1,nc2(i))=f(1,nc2(i))-f11(i)
96 f(2,nc2(i))=f(2,nc2(i))-f21(i)
97 f(3,nc2(i))=f(3,nc2(i))-f31(i)
98 fx2(i) = f11(i)
99 fy2(i) = f21(i)
100 fz2(i) = f31(i)
101c
102 stifn(nc1(i)) = stifn(nc1(i))+sti(i)
103 stifn(nc2(i)) = stifn(nc2(i))+sti(i)
104 ENDDO
105C-----------------------------------------------
106 RETURN
107 END
108
109
#define min(a, b)
Definition macros.h:20
subroutine tfcum3(f, for, stifn, sti, fx1, fx2, fy1, fy2, fz1, fz2, offg, off, nc1, nc2, ex, ey, ez, nel)
Definition tfcum3.F:34