50
51
52
54
55
56
57#include "implicit_f.inc"
58
59
60
61#include "mvsiz_p.inc"
62
63
64
65 INTEGER, INTENT(IN) :: NEL
66 INTEGER, INTENT(IN) :: MTN
67 INTEGER, INTENT(IN) :: JALE
68 INTEGER, INTENT(IN) :: JEUL
70 . voln(*),deltax(*),
71 . x1(*), x2(*), x3(*), x4(*), x5(*), x6(*), x7(*), x8(*),
72 . y1(*), y2(*), y3(*), y4(*), y5(*), y6(*), y7(*), y8(*),
73 . z1(*), z2(*), z3(*), z4(*), z5(*), z6(*), z7(*), z8(*),
74 . n1x(*), n2x(*), n3x(*), n4x(*), n5x(*), n6x(*),
75 . n1y(*), n2y(*), n3y(*), n4y(*), n5y(*), n6y(*),
76 . n1z(*), n2z(*), n3z(*), n4z(*), n5z(*), n6z(*)
77
78
79
80#include "scr17_c.inc"
81
82
83
84 INTEGER I, NFAC
85 my_real xioff(mvsiz), aream(mvsiz), atest(mvsiz),
area(mvsiz,6)
86
87 DO i=1,nel
88 xioff(i) = one
89 aream(i) = em20
90 ENDDO
91
92 IF((
ale%GLOBAL%ICAA==1 .OR.
ale%GLOBAL%ISFINT>=2) .AND. jale+jeul/=0)
THEN
94 1 n1x, n2x, n3x, n4x,
95 2 n5x, n6x, n1y, n2y,
96 3 n3y, n4y, n5y, n6y,
97 4 n1z, n2z, n3z, n4z,
98 5 n5z, n6z, x1, x2,
99 6 x3, x4, x5, x6,
100 7 x7, x8, y1, y2,
101 8 y3, y4, y5, y6,
102 9 y7, y8, z1, z2,
103 a z3, z4, z5, z6,
104 b z7, z8, aream, nel)
105 DO i=1,nel
106 deltax(i)=two*voln(i)*xioff(i)/sqrt(aream(i))
107 ENDDO
108 ELSE
110 1 x1, x2, x3, x4,
111 2 y1, y2, y3, y4,
112 3 z1, z2, z3, z4,
113 4 1,
area, aream, nel)
115 1 x5, x6, x7, x8,
116 2 y5, y6, y7, y8,
117 3 z5, z6, z7, z8,
118 4 2,
area, aream, nel)
120 1 x1, x2, x6, x5,
121 2 y1, y2, y6, y5,
122 3 z1, z2, z6, z5,
123 4 3,
area, aream, nel)
125 1 x2, x3, x7, x6,
126 2 y2, y3, y7, y6,
127 3 z2, z3, z7, z6,
128 4 4,
area, aream, nel)
130 1 x3, x4, x8, x7,
131 2 y3, y4, y8, y7,
132 3 z3, z4, z8, z7,
133 4 5,
area, aream, nel)
135 1 x4, x1, x5, x8,
136 2 y4, y1, y5, y8,
137 3 z4, z1, z5, z8,
138 4 6,
area, aream, nel)
139 IF (idts6>0) THEN
141 1 x1, x2, x3, x4,
142 2 x5, x6, x7, x8,
143 3 y1, y2, y3, y4,
144 4 y5, y6, y7, y8,
145 5 z1, z2, z3, z4,
146 6 z5, z6, z7, z8,
147 7
area, aream, voln, nel)
148 ENDIF
149 IF(mtn==5.OR.mtn==41)THEN
150 DO i=1,nel
151 atest(i)=em4*aream(i)
152 ENDDO
153 DO i=1,nel
154 nfac=0
155 IF(
area(i,1)<atest(i)) nfac=nfac+1
156 IF(
area(i,2)<atest(i)) nfac=nfac+1
157 IF(
area(i,3)<atest(i)) nfac=nfac+1
158 IF(
area(i,4)<atest(i)) nfac=nfac+1
159 IF(
area(i,5)<atest(i)) nfac=nfac+1
160 IF(
area(i,6)<atest(i)) nfac=nfac+1
161 IF(nfac>=3) xioff(i)=ep03
162 ENDDO
163 END IF
164 DO i=1,nel
165 deltax(i)=four*voln(i)*xioff(i)/sqrt(aream(i))
166 ENDDO
167 ENDIF
168
169 RETURN
subroutine area(d1, x, x2, y, y2, eint, stif0)
subroutine sldege(x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, area, aream, volg, nel)
subroutine slena(n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, aream, nel)
subroutine slen(x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, j, area, aream)