36
37
38
39#include "implicit_f.inc"
40
41
42
43#include "mvsiz_p.inc"
44
45
46
47
48
49
50 INTEGER, INTENT(IN) :: NEL
51 INTEGER NC1(MVSIZ),NC2(MVSIZ),NC3(MVSIZ)
53 . m(3,*),stir(*),stifr(*),
54 . mx1(mvsiz),my1(mvsiz),mz1(mvsiz),
55 . mx2(mvsiz),my2(mvsiz),mz2(mvsiz),
56 . e1x(mvsiz),e1y(mvsiz),e1z(mvsiz),
57 . e2x(mvsiz),e2y(mvsiz),e2z(mvsiz),
58 . e3x(mvsiz),e3y(mvsiz),e3z(mvsiz),
59 . m11(mvsiz),m12(mvsiz),m21(mvsiz),
60 . m22(mvsiz),m31(mvsiz),m32(mvsiz)
61
62
63
64 INTEGER I, J
66 . g11(mvsiz),g21(mvsiz),g31(mvsiz),
67 . g12(mvsiz),g22(mvsiz),g32(mvsiz)
68
69 DO i=1,nel
70 g11(i)=m11(i)
71 g21(i)=m21(i)
72 g31(i)=m31(i)
73 g12(i)=m12(i)
74 g22(i)=m22(i)
75 g32(i)=m32(i)
76 ENDDO
77
78 DO i=1,nel
79 m11(i)=e1x(i)*g11(i)+e2x(i)*g21(i)+e3x(i)*g31(i)
80 m21(i)=e1y(i)*g11(i)+e2y(i)*g21(i)+e3y(i)*g31(i)
81 m31(i)=e1z(i)*g11(i)+e2z(i)*g21(i)+e3z(i)*g31(i)
82 m12(i)=e1x(i)*g12(i)+e2x(i)*g22(i)+e3x(i)*g32(i)
83 m22(i)=e1y(i)*g12(i)+e2y(i)*g22(i)+e3y(i)*g32(i)
84 m32(i)=e1z(i)*g12(i)+e2z(i)*g22(i)+e3z(i)*g32(i)
85 ENDDO
86
87
88
89 DO i=1,nel
90 m(1,nc1(i))=m(1,nc1(i))-m11(i)
91 m(2,nc1(i))=m(2,nc1(i))-m21(i)
92 m(3,nc1(i))=m(3,nc1(i))-m31(i)
93 mx1(i) = m11(i)
94 my1(i) = m21(i)
95 mz1(i) = m31(i)
96 stifr(nc1(i))=stifr(nc1(i))+stir(i)
97
98 m(1,nc2(i))=m(1,nc2(i))-m12(i)
99 m(2,nc2(i))=m(2,nc2(i))-m22(i)
100 m(3,nc2(i))=m(3,nc2(i))-m32(i)
101 mx2(i) = m12(i)
102 my2(i) = m22(i)
103 mz2(i) = m32(i)
104 stifr(nc2(i))=stifr(nc2(i))+stir(i)
105 ENDDO
106
107 RETURN