39
41 use element_mod , only : nixc
42
43
44
45#include "implicit_f.inc"
46
47
48
49#include "mvsiz_p.inc"
50
51
52
53#include "com08_c.inc"
54
55
56
57 INTEGER JFT,JLT,ILEV
58 INTEGER NGL(MVSIZ),IXC(NIXC,*),MAT(MVSIZ),PID(MVSIZ),
59 . IEL_CRK(*),IADC_CRK(4,*),NFT
60
62 . offg(*),off(*),sigy(*),
63 . vl1(mvsiz,3),vl2(mvsiz,3),vl3(mvsiz,3),vl4(mvsiz,3),
64 . vrl1(mvsiz,3),vrl2(mvsiz,3),vrl3(mvsiz,3),vrl4(mvsiz,3),dt1c(*),thke(*),
65 . x1(mvsiz),x2(mvsiz),x3(mvsiz),x4(mvsiz),y1(mvsiz),
66 . y2(mvsiz),y3(mvsiz),y4(mvsiz),z1(mvsiz),z2(mvsiz),
67 . z3(mvsiz),z4(mvsiz),thk0(mvsiz)
68
69
70
71 INTEGER I,ELCRK,IADC1,IADC2,IADC3,IADC4
72
74 . off_l
75
76
77
78 DO i=jft,jlt
79 elcrk = iel_crk(i+nft)
80 iadc1 = iadc_crk(1,elcrk)
81 iadc2 = iadc_crk(2,elcrk)
82 iadc3 = iadc_crk(3,elcrk)
83 iadc4 = iadc_crk(4,elcrk)
84
85
86
87
88 x1(i) =
crkavx(ilev)%X(1,iadc1)
89 y1(i) =
crkavx(ilev)%X(2,iadc1)
90 z1(i) =
crkavx(ilev)%X(3,iadc1)
91
92 x2(i) =
crkavx(ilev)%X(1,iadc2)
93 y2(i) =
crkavx(ilev)%X(2,iadc2)
94 z2(i) =
crkavx(ilev)%X(3,iadc2)
95
96 x3(i) =
crkavx(ilev)%X(1,iadc3)
97 y3(i) =
crkavx(ilev)%X(2,iadc3)
98 z3(i) =
crkavx(ilev)%X(3,iadc3)
99
100 x4(i) =
crkavx(ilev)%X(1,iadc4)
101 y4(i) =
crkavx(ilev)%X(2,iadc4)
102 z4(i) =
crkavx(ilev)%X(3,iadc4)
103
104
105
106
107 vl1(i,1) =
crkavx(ilev)%V(1,iadc1)
108 vl1(i,2) =
crkavx(ilev)%V(2,iadc1)
109 vl1(i,3) =
crkavx(ilev)%V(3,iadc1)
110 vrl1(i,1) =
crkavx(ilev)%VR(1,iadc1)
111 vrl1(i,2) =
crkavx(ilev)%VR(2,iadc1)
112 vrl1(i,3) =
crkavx(ilev)%VR(3,iadc1)
113
114 vl2(i,1) =
crkavx(ilev)%V(1,iadc2)
115 vl2(i,2) =
crkavx(ilev)%V(2,iadc2)
116 vl2(i,3) =
crkavx(ilev)%V(3,iadc2)
117 vrl2(i,1) =
crkavx(ilev)%VR(1,iadc2)
118 vrl2(i,2) =
crkavx(ilev)%VR(2,iadc2)
119 vrl2(i,3) =
crkavx(ilev)%VR(3,iadc2)
120
121 vl3(i,1) =
crkavx(ilev)%V(1,iadc3)
122 vl3(i,2) =
crkavx(ilev)%V(2,iadc3)
123 vl3(i,3) =
crkavx(ilev)%V(3,iadc3)
124 vrl3(i,1) =
crkavx(ilev)%VR(1,iadc3)
125 vrl3(i,2) =
crkavx(ilev)%VR(2,iadc3)
126 vrl3(i,3) =
crkavx(ilev)%VR(3,iadc3)
127
128 vl4(i,1) =
crkavx(ilev)%V(1,iadc4)
129 vl4(i,2) =
crkavx(ilev)%V(2,iadc4)
130 vl4(i,3) =
crkavx(ilev)%V(3,iadc4)
131 vrl4(i,1) =
crkavx(ilev)%VR(1,iadc4)
132 vrl4(i,2) =
crkavx(ilev)%VR(2,iadc4)
133 vrl4(i,3) =
crkavx(ilev)%VR(3,iadc4)
134 END DO
135
136 DO i=jft,jlt
137 mat(i)=ixc(1,i)
138 ngl(i)=ixc(7,i)
139 pid(i)=ixc(6,i)
140 thk0(i) = thke(i)
141 END DO
142
143 off_l = zero
144 DO i=jft,jlt
145 dt1c(i) = dt1
146 off(i) =
min(one,abs(offg(i)))
147 off_l =
min(off_l,offg(i))
148 sigy(i) = 1.e30
149 ENDDO
150
151 IF(off_l<zero)THEN
152 DO i=jft,jlt
153 IF(offg(i)<zero)THEN
154 vl1(i,1)=zero
155 vl1(i,2)=zero
156 vl1(i,3)=zero
157 vl2(i,1)=zero
158 vl2(i,2)=zero
159 vl2(i,3)=zero
160 vl3(i,1)=zero
161 vl3(i,2)=zero
162 vl3(i,3)=zero
163 vl4(i,1)=zero
164 vl4(i,2)=zero
165 vl4(i,3)=zero
166 vrl1(i,1)=zero
167 vrl1(i,2)=zero
168 vrl1(i,3)=zero
169 vrl2(i,1)=zero
170 vrl2(i,2)=zero
171 vrl2(i,3)=zero
172 vrl3(i,1)=zero
173 vrl3(i,2)=zero
174 vrl3(i,3)=zero
175 vrl4(i,1)=zero
176 vrl4(i,2)=zero
177 vrl4(i,3)=zero
178 ENDIF
179 ENDDO
180 ENDIF
181
182 RETURN
type(xfem_avx_), dimension(:), allocatable crkavx