OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
m1lawp.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!|| m1lawp ../engine/source/materials/mat/mat001/m1lawp.F
25!||--- called by ------------------------------------------------------
26!|| main_beam3 ../engine/source/elements/beam/main_beam3.F
27!||====================================================================
28 SUBROUTINE m1lawp(
29 1 PM ,FOR ,MOM ,GEO ,
30 2 OFF ,EXX ,EXY ,EXZ ,KXX,
31 3 KYY ,KZZ ,AL ,F1 ,F2 ,
32 4 F3 ,M1 ,M2 ,M3 ,NEL,
33 5 MAT ,PID )
34C-----------------------------------------------
35C I m p l i c i t T y p e s
36C-----------------------------------------------
37#include "implicit_f.inc"
38C-----------------------------------------------
39C C o m m o n B l o c k s
40C-----------------------------------------------
41#include "param_c.inc"
42#include "com08_c.inc"
43#include "impl1_c.inc"
44C-----------------------------------------------
45C D u m m y A r g u m e n t s
46C-----------------------------------------------
47 INTEGER NEL,MAT(NEL),PID(NEL)
48C REAL
49 my_real
50 . PM(NPROPM,*), FOR(NEL,3), MOM(NEL,3), GEO(NPROPG,*),
51 . OFF(*),A1(NEL),
52 . al(nel),exx(nel),
53 . exy(nel),exz(nel),kxx(nel),kyy(nel),kzz(nel),
54 . f1(nel), f2(nel), f3(nel),
55 . m1(nel), m2(nel), m3(nel)
56C-----------------------------------------------
57C L o c a l V a r i a b l e s
58C-----------------------------------------------
59 INTEGER I, J
60C REAL
61 my_real
62 . YM(NEL),SHF(NEL),B1(NEL),B2(NEL),B3(NEL),
63 . DEGMB(NEL), DEGFX(NEL),
64 . sh(nel), yma2(nel), sh10(nel),
65 . sh20(nel), sh0(nel), sh1(nel), sh2(nel),
66 . dmpm(nel),dmpf(nel),rho(nel),g(nel)
67C-----------------------------------------------
68 IF (impl_s == 0 .OR. idyna > 0) THEN
69 DO i=1,nel
70 dmpm(i)=geo(16,pid(i))*al(i)
71 dmpf(i)=geo(17,pid(i))*al(i)
72 ENDDO
73 ELSE
74 DO i=1,nel
75 dmpm(i)=zero
76 dmpf(i)=zero
77 ENDDO
78 ENDIF
79C
80 DO i=1,nel
81 rho(i) =pm( 1,mat(i))
82 g(i) =pm(22,mat(i))
83 ym(i) =pm(20,mat(i)) !YM = E/l
84 a1(i) =geo(1,pid(i)) !A1 = A
85 b1(i) =geo(2,pid(i))
86 b2(i) =geo(18,pid(i))
87 b3(i) =geo(4,pid(i)) !B3 = Ix/l
88 shf(i) =geo(37,pid(i))
89 ENDDO
90C-----------------------------
91C
92C CISSAILLEMENT TRANSVERSAL CALCULE AVEC K1=12EI/L**2 K2=5/6GA
93C
94 DO i=1,nel
95 sh(i)=five_over_6*g(i)*a1(i)
96 yma2(i)=twelve*ym(i)/al(i)**2
97 sh10(i)=yma2(i)*b1(i)
98 sh20(i)=yma2(i)*b2(i)
99 sh0(i)=(one-shf(i))*sh(i)
100 sh1(i)=sh0(i)*sh10(i)/(sh(i)+sh10(i)) + shf(i)*sh10(i)
101 sh2(i)=sh0(i)*sh20(i)/(sh(i)+sh20(i)) + shf(i)*sh20(i)
102C
103 for(i,1)=for(i,1)+ exx(i)*a1(i)*ym(i)
104 for(i,2)=for(i,2)+ exy(i)*sh2(i)
105 for(i,3)=for(i,3)+ exz(i)*sh1(i)
106 mom(i,1)=mom(i,1)+ kxx(i)*g(i)*b3(i)
107 mom(i,2)=mom(i,2)+ kyy(i)*ym(i)*b1(i)
108 mom(i,3)=mom(i,3)+ kzz(i)*ym(i)*b2(i)
109C
110 for(i,1)=for(i,1)*off(i)
111 for(i,2)=for(i,2)*off(i)
112 for(i,3)=for(i,3)*off(i)
113 mom(i,1)=mom(i,1)*off(i)
114 mom(i,2)=mom(i,2)*off(i)
115 mom(i,3)=mom(i,3)*off(i)
116 ENDDO
117C
118 DO i=1,nel
119 f1(i) = for(i,1)
120 f2(i) = for(i,2)
121 f3(i) = for(i,3)
122 m1(i) = mom(i,1)
123 m2(i) = mom(i,2)
124 m3(i) = mom(i,3)
125 ENDDO
126C-----------------------------------------------
127 RETURN
128 END
subroutine m1lawp(pm, for, mom, geo, off, exx, exy, exz, kxx, kyy, kzz, al, f1, f2, f3, m1, m2, m3, nel, mat, pid)
Definition m1lawp.F:34