@@ -140,6 +140,7 @@ function local_vdim_correction(
140
140
bdry_nodes;
141
141
green_multiplier:: Vector{<:Real} ,
142
142
interpolation_order = nothing ,
143
+ quadrature_order = nothing ,
143
144
maxdist = Inf ,
144
145
center = nothing ,
145
146
shift:: Val{SHIFT} = Val (false ),
@@ -168,6 +169,9 @@ function local_vdim_correction(
168
169
near_list = dict_near[E]
169
170
nq, ne = size (qtags)
170
171
@assert length (near_list) == ne
172
+ sizehint! (Is, ne * nq * nq)
173
+ sizehint! (Js, ne * nq * nq)
174
+ sizehint! (Vs, ne * nq * nq)
171
175
topo_neighs = 1
172
176
neighbors = Inti. topological_neighbors (mesh, topo_neighs)
173
177
for n in 1 : ne
@@ -179,6 +183,7 @@ function local_vdim_correction(
179
183
neighbors,
180
184
n,
181
185
interpolation_order,
186
+ quadrature_order,
182
187
p,
183
188
P,
184
189
γ₁P,
@@ -201,24 +206,9 @@ function local_vdim_correction(
201
206
wei = R * Linv
202
207
end
203
208
# correct each target near the current element
204
- push! (Is, repeat (near_list[n], inner = nq)... )
205
- push! (Js, repeat (jglob, outer = length (near_list[n]))... )
206
- push! (Vs, transpose (wei)... )
207
- if isdefined (Main, :Infiltrator )
208
- Main. infiltrate (@__MODULE__ , Base. @locals , @__FILE__ , @__LINE__ )
209
- end
210
- # for i in 1:length(near_list[n])
211
- # #for k in 1:nq
212
- # # push!(Is, near_list[n][i])
213
- # # push!(Js, jglob[k])
214
- # # push!(Vs, wei[i, k])
215
- # #end
216
- # for k in 1:nq
217
- # push!(Is, near_list[n][i])
218
- # push!(Js, jglob[k])
219
- # push!(Vs, wei[i, k])
220
- # end
221
- # end
209
+ append! (Is, repeat (near_list[n], inner = nq)... )
210
+ append! (Js, repeat (jglob, outer = length (near_list[n]))... )
211
+ append! (Vs, transpose (wei)... )
222
212
end
223
213
end
224
214
@debug """ Condition properties of vdim correction:
@@ -352,6 +342,7 @@ function _local_vdim_auxiliary_quantities(
352
342
neighbors,
353
343
el,
354
344
interpolation_order,
345
+ quadrature_order,
355
346
p,
356
347
P,
357
348
γ₁P,
@@ -387,9 +378,8 @@ function _local_vdim_auxiliary_quantities(
387
378
# build O(h) volume neighbors
388
379
els_idxs = [i[2 ] for i in collect (el_neighs)]
389
380
els_list = mesh. etype2els[Etype][els_idxs]
390
- qorder = Inti. Triangle_VR_interpolation_order_to_quadrature_order (interpolation_order)
391
- bdry_qorder = 2 * qorder
392
- Yvol = Inti. Quadrature (mesh, els_list; qorder)
381
+ bdry_qorder = 2 * quadrature_order
382
+ Yvol = Inti. Quadrature (mesh, els_list; qorder = quadrature_order)
393
383
if need_layer_corr
394
384
Ybdry = Inti. Quadrature (mesh, bords; qorder = bdry_qorder)
395
385
else
0 commit comments