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