OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
m1lawp.F File Reference
#include "implicit_f.inc"
#include "param_c.inc"
#include "com08_c.inc"
#include "impl1_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine m1lawp (pm, for, mom, geo, off, exx, exy, exz, kxx, kyy, kzz, al, f1, f2, f3, m1, m2, m3, nel, mat, pid)

Function/Subroutine Documentation

◆ m1lawp()

subroutine m1lawp ( pm,
for,
mom,
geo,
off,
exx,
exy,
exz,
kxx,
kyy,
kzz,
al,
f1,
f2,
f3,
m1,
m2,
m3,
integer nel,
integer, dimension(nel) mat,
integer, dimension(nel) pid )

Definition at line 28 of file m1lawp.F.

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
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
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
#define my_real
Definition cppsort.cpp:32
for(i8=*sizetab-1;i8 >=0;i8--)