36
37
38
39#include "implicit_f.inc"
40#include "comlock.inc"
41
42
43
44#include "mvsiz_p.inc"
45
46
47
48
49
50
51 INTEGER, INTENT(IN) :: NEL
52 INTEGER, INTENT(IN) :: ISMSTR
53
55 . ksi,eta,zeta,wi,
56 . ajp1(*),ajp2(*),ajp3(*),
57 . ajp4(*),ajp5(*),ajp6(*),
58 . ajp7(*),ajp8(*),ajp9(*),
59 . aji1(mvsiz), aji2(mvsiz), aji3(mvsiz),
60 . aji4(mvsiz), aji5(mvsiz), aji6(mvsiz),
61 . aji7(mvsiz), aji8(mvsiz), aji9(mvsiz),
62 . jac_i(10,mvsiz)
63 DOUBLE PRECISION
64 . VOLDP(MVSIZ)
65
66
67
68 INTEGER I, J ,ICOR
69
70
72 . det(mvsiz) ,dett(mvsiz) ,
73 . aj1(mvsiz),aj2(mvsiz),aj3(mvsiz),
74 . aj4(mvsiz),aj5(mvsiz),aj6(mvsiz),
75 . aj7(mvsiz),aj8(mvsiz),aj9(mvsiz),
76 . jac_59_68(mvsiz), jac_67_49(mvsiz), jac_48_57(mvsiz),
77 . jac_38_29(mvsiz), jac_19_37(mvsiz), jac_27_18(mvsiz),
78 . jac_26_35(mvsiz), jac_34_16(mvsiz), jac_15_24(mvsiz),
79 . aj12(mvsiz), aj45(mvsiz), aj78(mvsiz)
80 DOUBLE PRECISION
81 . DETDP
82
83 IF (ismstr==11) THEN
84 aj1(1:nel)=ajp1(1:nel)
85 aj2(1:nel)=ajp2(1:nel)
86 aj3(1:nel)=ajp3(1:nel)
87 aj4(1:nel)=ajp4(1:nel)
88 aj5(1:nel)=ajp5(1:nel)
89 aj6(1:nel)=ajp6(1:nel)
90 aj7(1:nel)=ajp7(1:nel)
91 aj8(1:nel)=ajp8(1:nel)
92 aj9(1:nel)=ajp9(1:nel)
93
94
95
96 DO i=1,nel
97 jac_59_68(i)=aj5(i)*aj9(i)-aj6(i)*aj8(i)
98 jac_67_49(i)=aj6(i)*aj7(i)-aj4(i)*aj9(i)
99 jac_38_29(i)=(-aj2(i)*aj9(i)+aj3(i)*aj8(i))
100 jac_19_37(i)=( aj1(i)*aj9(i)-aj3(i)*aj7(i))
101 jac_27_18(i)=(-aj1(i)*aj8(i)+aj2(i)*aj7(i))
102 jac_26_35(i)=( aj2(i)*aj6(i)-aj3(i)*aj5(i))
103 jac_34_16(i)=(-aj1(i)*aj6(i)+aj3(i)*aj4(i))
104 jac_15_24(i)=( aj1(i)*aj5(i)-aj2(i)*aj4(i))
105 jac_48_57(i)=aj4(i)*aj8(i)-aj5(i)*aj7(i
106 ENDDO
107
108 DO i=1,nel
109 detdp=one_over_512*(aj1(i)*jac_59_68(i)+aj2(i)*jac_67_49(i)+aj3(i)*jac_48_57(i))
110 det(i) = detdp
111 voldp(i)= wi*detdp
112 dett(i)=one_over_512/det(i)
113 ENDDO
114
115 DO i=1,nel
116 aji1(i)=dett(i)*jac_59_68(i)
117 aji4(i)=dett(i)*jac_67_49(i)
118 aji7(i)=dett(i)*jac_48_57(i)
119 aji2(i)=dett(i)*jac_38_29(i)
120 aji5(i)=dett(i)*jac_19_37(i)
121 aji8(i)=dett(i)*jac_27_18(i)
122 aji3(i)=dett(i)*jac_26_35(i)
123 aji6(i)=dett(i)*jac_34_16(i)
124 aji9(i)=dett(i)*jac_15_24(i)
125 ENDDO
126
127
128
129
130
131 ELSE
132 DO i=1,nel
133 aji1(i)=jac_i(1,i)
134 aji4(i)=jac_i(4,i)
135 aji7(i)=jac_i(7,i)
136 aji2(i)=jac_i(2,i)
137 aji5(i)=jac_i(5,i)
138 aji8(i)=jac_i(8,i)
139 aji3(i)=jac_i(3,i)
140 aji6(i)=jac_i(6,i)
141 aji9(i)=jac_i(9,i)
142 voldp(i) =jac_i(10,i)
143 END DO
144 END IF
145
146 RETURN