OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
pfint3.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!|| pfint3 ../engine/source/elements/beam/pfint3.F
25!||--- called by ------------------------------------------------------
26!|| pforc3 ../engine/source/elements/beam/pforc3.F
27!||====================================================================
28 SUBROUTINE pfint3(FOR ,MOM ,GEO ,OFFG ,OFF,
29 . AL ,F1 ,F2 ,F3 ,M1 ,
30 . M2 ,M3 ,STI ,STIR ,NEL,
31 . PID ,F11 ,F12 ,F21 ,F22,
32 . F31 ,F32 ,M11 ,M12 ,M21,
33 . M22 ,M31 ,M32 )
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-----------------------------------------------
45#include "param_c.inc"
46C-----------------------------------------------
47C D u m m y A r g u m e n t s
48C-----------------------------------------------
49 INTEGER NEL,PID(MVSIZ)
50C REAL
51 my_real
52 . FOR(NEL,3),MOM(NEL,3),GEO(NPROPG,*),OFFG(*),OFF(*),AL(MVSIZ),
53 . F1(MVSIZ),F2(MVSIZ),F3(MVSIZ),M1(MVSIZ),M2(MVSIZ),M3(MVSIZ),
54 . sti(mvsiz), stir(mvsiz),
55 . f11(mvsiz), f12(mvsiz), f21(mvsiz),
56 . f22(mvsiz), f31(mvsiz), f32(mvsiz),
57 . m11(mvsiz), m12(mvsiz), m21(mvsiz),
58 . m22(mvsiz), m31(mvsiz), m32(mvsiz)
59C-----------------------------------------------
60C L o c a l V a r i a b l e s
61C-----------------------------------------------
62 INTEGER I, J, IG, IR1Y, IR1Z, IR2Y, IR2Z
63C REAL
64 my_real
65 . OFF_L
66C---------------------------------------------------
67 DO i=1,nel
68 f11(i)= -f1(i)
69 f21(i)= -f2(i)
70 f31(i)= -f3(i)
71C
72 f12(i)=-f11(i)
73 f22(i)=-f21(i)
74 f32(i)=-f31(i)
75 ENDDO
76C
77C CONTRIBUTION AU MOMENT DU CISAILLEMENT
78C
79 DO i=1,nel
80 m11(i)=-m1(i)
81 m21(i)=-m2(i)+half*al(i)*f3(i)
82 m31(i)=-m3(i)-half*al(i)*f2(i)
83C
84 m12(i)=-m11(i)
85 m22(i)=m2(i)+half*al(i)*f3(i)
86 m32(i)=m3(i)-half*al(i)*f2(i)
87 ENDDO
88C---------------------------------------------------
89C LIBERATION DES ROTATIONS
90C---------------------------------------------------
91 DO i=1,nel
92 ig=pid(i)
93 ir1y=nint(geo(8 ,ig))
94 ir1z=nint(geo(9 ,ig))
95 ir2y=nint(geo(10,ig))
96 ir2z=nint(geo(11,ig))
97 m21(i)=ir1y*m21(i)+(1-ir2y)*m22(i)
98 m22(i)=ir2y*m22(i)+(1-ir1y)*m21(i)
99 m31(i)=ir1z*m31(i)+(1-ir2z)*m32(i)
100 m32(i)=ir2z*m32(i)+(1-ir1z)*m31(i)
101 ENDDO
102C
103 off_l = zero
104 DO i=1,nel
105 IF (off(i) < one) offg(i) = off(i)
106 off_l = min(off_l,offg(i))
107 ENDDO
108 IF (off_l < zero) THEN
109 DO i=1,nel
110 IF (offg(i) < zero) THEN
111 f11(i)=zero
112 f21(i)=zero
113 f31(i)=zero
114 m11(i)=zero
115 m21(i)=zero
116 m31(i)=zero
117 f12(i)=zero
118 f22(i)=zero
119 f32(i)=zero
120 m12(i)=zero
121 m22(i)=zero
122 m32(i)=zero
123 sti(i)=zero
124 stir(i)=zero
125 ENDIF
126 ENDDO
127 ENDIF
128C---------------------------------------------------
129 RETURN
130 END
#define min(a, b)
Definition macros.h:20
subroutine pfint3(for, mom, geo, offg, off, al, f1, f2, f3, m1, m2, m3, sti, stir, nel, pid, f11, f12, f21, f22, f31, f32, m11, m12, m21, m22, m31, m32)
Definition pfint3.F:34