41
42
43
44
45
46
47#include "implicit_f.inc"
48
49
50
51 INTEGER, INTENT(IN) :: NEL
52 INTEGER
54 . x1(*), x2(*), x3(*), x4(*), x5(*), x6(*), x7(*), x8(*),
55 . y1(*), y2(*), y3(*), y4(*), y5(*), y6(*), y7(*), y8(*),
56 . z1(*), z2
57 . n1x(*), n2x(*), n3x(*), n4x(*), n5x(*), n6x(*),
58 . n1y(*), n2y(*), n3y(*), n4y(*), n5y(*), n6y(*),
59 . n1z(*), n2z(*), n3z(*), n4z(*), n5z(*), n6z(*),
60 . aream(*)
61
62
63
64
65
66
67 INTEGER I
68
71
72 DO i=1,nel
73 n1x(i)=(y3(i)-y1(i))*(z2(i)-z4(i)) - (z3(i)-z1(i))*(y2(i)-y4(i))
74 n1y(i)=(z3(i)-z1(i))*(x2(i)-x4(i)) - (x3(i)-x1(i))*(z2(i)-z4(i))
75 n1z(i)=(x3(i)-x1(i))*(y2(i)-y4(i)) - (y3(i)-y1(i))*(x2(i)-x4(i))
76 area(1)=n1x(i)**2+n1y(i)**2+n1z(i)**2
77
78 n2x(i)=(y7(i)-y4(i))*(z3(i)-z8(i)) - (z7(i)-z4(i))*(y3(i)-y8(i))
79 n2y(i)=(z7(i)-z4(i))*(x3(i)-x8(i)) - (x7(i)-x4(i))*(z3(i)-z8(i))
80 n2z(i)=(x7(i)-x4(i))*(y3(i)-y8(i)) - (y7(i)-y4(i))*(x3(i)-x8(i))
82
83 n3x(i)=(y6(i)-y8(i))*(z7(i)-z5(i)) - (z6(i)-z8(i))*(y7(i)-y5(i))
84 n3y(i)=(z6(i)-z8(i))*(x7(i)-x5(i)) - (x6(i)-x8(i))*(z7(i)-z5(i))
85 n3z(i)=(x6(i)-x8(i))*(y7(i)-y5(i)) - (y6(i)-y8(i))*(x7(i)-x5(i))
86 area(3)=n3x(i)**2+n3y(i)**2+n3z(i)**2
87
88 n4x(i)=(y2(i)-y5(i))*(z6(i)-z1(i)) - (z2(i)-z5(i))*(y6(i)-y1(i))
89 n4y(i)=(z2(i)-z5(i))*(x6(i)-x1(i)) - (x2(i)-x5(i))*(z6(i)-z1(i))
90 n4z(i)=(x2(i)-x5(i))*(y6(i)-y1(i)) - (y2(i)-y5(i))*(x6(i)-x1(i))
91 area(4)=n4x(i)**2+n4y(i)**2+n4z(i)**2
92
93 n5x(i)=(y7(i)-y2(i))*(z6(i)-z3(i)) - (z7(i)-z2(i))*(y6(i)-y3(i))
94 n5y(i)=(z7(i)-z2(i))*(x6(i)-x3(i)) - (x7(i)-x2(i))*(z6(i)-z3(i))
95 n5z(i)=(x7(i)-x2(i))*(y6(i)-y3(i)) - (y7(i)-y2(i))*(x6(i)-x3(i))
96 area(5)=n5x(i)**2+n5y(i)**2+n5z(i)**2
97
98 n6x(i)=(y8(i)-y1(i))*(z4(i)-z5(i)) - (z8(i)-z1(i))*(y4(i)-y5(i))
99 n6y(i)=(z8(i)-z1(i))*(x4(i)-x5(i)) - (x8(i)-x1(i))*(z4(i)-z5(i))
100 n6z(i)=(x8(i)-x1(i))*(y4(i)-y5(i)) - (y8(i)-y1(i))*(x4(i)-x5(i))
101 area(6)=n6x(i)**2+n6y(i)**2+n6z(i)**2
103 ENDDO
104 RETURN
subroutine area(d1, x, x2, y, y2, eint, stif0)