33
34
35
36
37
38
39#include "implicit_f.inc"
40
41
42
43#include "mvsiz_p.inc"
44
45
46
47#include "param_c.inc"
48#include "vect01_c.inc"
49#include "scr12_c.inc"
50
51
52
53 INTEGER NC(NIXT,*),IPART(*), MXT(*), NC1(*), NC2(*)
55 . x(3,*),geo(npropg,*),pm(npropm,*),ms(*),stifn(*),
56 . v(3,*),partsav(20,*),mst(*),stifint(*),stt(*),
area(*),
57 . x1(*), x2(*), y1(*), y2(*), z1(*), z2(*)
58
59
60
61 INTEGER I,IP,I1,I2,J,K
63 . xx,yy,zz,xy,yz,zx
65 . al(mvsiz),
66 . rho(mvsiz),ems(mvsiz),
67 . e,sti(mvsiz),dx,dy,dz
68
69
70 DO i=lft,llt
71 rho(i) =pm(89,mxt(i))
72 ENDDO
73
74
75
76 DO i=lft,llt
77 al(i)=sqrt((x2(i)-x1(i))**2
78 . +(y2(i)-y1(i))**2
79 . +(z2(i)-z1(i))**2)
80 ems(i)=rho(i)*al(i)*
area(i)*half
81 ENDDO
82
83
84
85
86 DO i=lft,llt
87 mst(i)=ems(i)
88 ENDDO
89
90
91
92
93 DO i=lft,llt
94 sti(i) = pm(20,mxt(i)) *
area(i) / al(i)
95 stifn(nc1(i))=stifn(nc1(i))+sti(i)
96 stifn(nc2(i))=stifn(nc2(i))+sti(i)
97 ENDDO
98 IF (i7stifs /= 0) THEN
99 DO i=lft,llt
100 stt(i)=sti(i)
101 ENDDO
102 ENDIF
103
104 DO i=lft,llt
105 i1 = nc1(i)
106 i2 = nc2(i)
107
108 ip=ipart(i)
109 partsav(1,ip)=partsav(1,ip) + two*ems(i)
110 partsav(2,ip)=partsav(2,ip) + ems(i)*(x(1,i1)+x(1,i2))
111 partsav(3,ip)=partsav(3,ip) + ems(i)*(x(2,i1)+x(2,i2))
112 partsav(4,ip)=partsav(4,ip) + ems(i)*(x(3,i1)+x(3,i2))
113 xx = (x(1,i1)*x(1,i1)+x(1,i2)*x(1,i2))
114 xy = (x(1,i1)*x(2,i1)+x(1,i2)*x(2,i2))
115 yy = (x(2,i1)*x(2,i1)+x(2,i2)*x(2,i2))
116 yz = (x(2,i1)*x(3,i1)+x(2,i2)*x(3,i2))
117 zz = (x(3,i1)*x(3,i1)+x(3,i2)*x(3,i2))
118 zx = (x(3,i1)*x(1,i1)+x(3,i2)*x(1,i2))
119 partsav(5,ip) =partsav(5,ip) + ems(i) * (yy+zz)
120 partsav(6,ip) =partsav(6,ip) + ems(i) * (zz+xx)
121 partsav(7,ip) =partsav(7,ip) + ems(i) * (xx+yy)
122 partsav(8,ip) =partsav(8,ip) - ems(i) * xy
123 partsav(9,ip) =partsav(9,ip) - ems(i) * yz
124 partsav(10,ip)=partsav(10,ip) - ems(i) * zx
125
126 partsav(11,ip)=partsav(11,ip) + ems(i)*(v(1,i1)+v(1,i2))
127 partsav(12,ip)=partsav(12,ip) + ems(i)*(v(2,i1)+v(2,i2))
128 partsav(13,ip)=partsav(13,ip) + ems(i)*(v(3,i1)+v(3,i2))
129 partsav(14,ip)=partsav(14,ip) + half * ems(i) *
130 . (v(1,i1)*v(1,i1)+v(2,i1)*v(2,i1)+v(3,i1)*v(3,i1)
131 . +v(1,i2)*v(1,i2)+v(2,i2)*v(2,i2)+v(3,i2)*v(3,i2))
132 ENDDO
133
134 RETURN
subroutine area(d1, x, x2, y, y2, eint, stif0)