45
46
47
48#include "implicit_f.inc"
49
50
51
52#include "mvsiz_p.inc"
53
54
55
56
57
58
59 INTEGER, INTENT(IN) :: NEL
60 INTEGER IXS(NIXS,*), IDEGE(*)
62 . volg(*),lat(*),
63 . x1(*), x2(*), x3(*), x4(*), x5(*), x6(*), x7(*), x8(*),
64 . y1(*), y2(*), y3(*), y4(*), y5(*), y6(*), y7(*), y8(*),
65 . z1(*), z2(*), z3(*), z4(*), z5(*), z6(*), z7(*), z8(*)
66
67
68
69
70 INTEGER ,IT
72 . aream(mvsiz), atax,fac,v_g
73
76
77 DO i=1,nel
78
80 aream(i) =em20
81
83 fac=one_over_9
84 ELSEIF (
idege(i)>1)
THEN
85 fac=fourth
86 ELSE
87 fac=one
88 END IF
89 it = 0
90 CALL idege8(x1(i),x2(i),x3(i),x4(i),y1(i),y2(i),y3(i),y4(i),
91 . z1(i),z2(i),z3(i),z4(i),aream(i),fac,it)
92 CALL idege8(x5(i),x6(i),x7(i),x8(i),y5(i),y6(i),y7(i),y8(i),
93 . z5(i),z6(i),z7(i),z8(i),aream(i),fac,it)
94 CALL idege8(x1(i),x2(i),x6(i),x5(i),y1(i),y2(i),y6(i),y5(i),
95 . z1(i),z2(i),z6(i),z5(i),aream(i),fac,it)
96 CALL idege8(x2(i),x3(i),x7(i),x6(i),y2(i),y3(i),y7(i),y6(i),
97 . z2(i),z3(i),z7(i),z6(i),aream(i),fac,it)
98 CALL idege8(x3(i),x4(i),x8(i),x7(i),y3(i),y4(i),y8(i),y7(i),
99 . z3(i),z4(i),z8(i),z7(i),aream(i),fac,it)
100 CALL idege8(x4(i),x1(i),x5(i),x8(i),y4(i),y1(i),y5(i),y8(i),
101 . z4(i),z1(i),z5(i),z8(i),aream(i),fac,it)
102
103 IF (it ==0 ) aream(i)=fac*aream(i)
104 IF (
idege(i)>3 )
THEN
105 aream(i)=aream(i)*fac
107 . x1(i), x2(i), x3(i), x4(i), x5(i), x6(i), x7(i), x8(i),
108 . y1(i), y2(i), y3(i), y4(i), y5(i), y6(i), y7(i), y8(i),
109 . z1(i), z2(i), z3(i), z4(i), z5(i), z6(i), z7(i), z8(i))
110 ELSE
111 v_g=volg(i)
112 END IF
113 lat(i) = four*v_g/sqrt(aream(i))
114
115 ENDIF
116 ENDDO
117
118 RETURN
subroutine degenes8(ixs, idege, nel)
subroutine deges4v(det, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8)
subroutine idege8(x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, amax, fac, it)
subroutine idege(x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, a, amax, fac, it4, it, indx, n_indx)