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
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 DOUBLE PRECISION
80 . DETDP
81
82 IF (ismstr==11) THEN
83 aj1(1:nel)=ajp1(1:nel)
84 aj2(1:nel)=ajp2(1:nel)
85 aj3(1:nel)=ajp3(1:nel)
86 aj4(1:nel)=ajp4(1:nel)
87 aj5(1:nel)=ajp5(1:nel)
88 aj6(1:nel)=ajp6(1:nel)
89 aj7(1:nel)=ajp7(1:nel)
90 aj8(1:nel)=ajp8(1:nel)
91 aj9(1:nel)=ajp9(1:nel)
92
93
94
95 DO i=1,nel
96 jac_59_68(i)=aj5(i)*aj9(i)-aj6(i)*aj8(i)
97 jac_67_49(i)=aj6(i)*aj7(i)-aj4(i)*aj9(i)
98 jac_38_29(i)=(-aj2(i)*aj9(i)+aj3(i)*aj8(i))
99 jac_19_37(i)=( aj1(i)*aj9(i)-aj3(i)*aj7(i))
100 jac_27_18(i)=(-aj1(i)*aj8(i)+aj2(i)*aj7(i))
101 jac_26_35(i)=( aj2(i)*aj6(i)-aj3(i)*aj5(i))
102 jac_34_16(i)=(-aj1(i)*aj6(i)+aj3(i)*aj4(i))
103 jac_15_24(i)=( aj1(i)*aj5(i)-aj2(i)*aj4(i))
104 jac_48_57(i)=aj4(i)*aj8(i)-aj5(i)*aj7(i)
105 ENDDO
106
107 DO i=1,nel
108 detdp=one_over_512*(aj1(i)*jac_59_68(i)+aj2(i)*jac_67_49(i)+aj3(i)*jac_48_57(i))
109 det(i) = detdp
110 voldp(i)= wi*detdp
111 dett(i)=one_over_512/det(i)
112 ENDDO
113
114 DO i=1,nel
115 aji1(i)=dett(i)*jac_59_68(i)
116 aji4(i)=dett(i)*jac_67_49(i)
117 aji7(i)=dett(i)*jac_48_57(i)
118 aji2(i)=dett(i)*jac_38_29(i)
119 aji5(i)=dett(i)*jac_19_37(i)
120 aji8(i)=dett(i)*jac_27_18(i)
121 aji3(i)=dett(i)*jac_26_35(i)
122 aji6(i)=dett(i)*jac_34_16(i)
123 aji9(i)=dett(i)*jac_15_24(i)
124 ENDDO
125
126
127
128
129
130 ELSE
131 DO i=1,nel
132 aji1(i)=jac_i(1,i)
133 aji4(i)=jac_i(4,i)
134 aji7(i)=jac_i(7,i)
135 aji2(i)=jac_i(2,i)
136 aji5(i)=jac_i(5,i)
137 aji8(i)=jac_i(8,i)
138 aji3(i)=jac_i(3,i)
139 aji6(i)=jac_i(6,i)
140 aji9(i)=jac_i(9,i)
141 voldp(i) =jac_i(10,i)
142 END DO
143 END IF
144
145 RETURN