diff --git a/src/operator.jl b/src/operator.jl index e0ae11c548d0839d86d2d0d60e517c5299b59e48..bc27855048bb3d71c7d11f744fda397f8bdc4655 100644 --- a/src/operator.jl +++ b/src/operator.jl @@ -177,8 +177,9 @@ function project_img(space::FeSpace, img) for jdim in 1:nrdims, ldofj in 1:nldofs gdofj = space.dofmap[jdim, ldofj, cell] - phij = SArray{Tuple{space.size...}}(qphi[:, jdim, ldofj, k]) - dphij = SArray{Tuple{space.size..., d}}(dqphi[:, :, jdim, ldofj, k] * delmapinv) + phij = SArray{Tuple{space.size...}}(view(qphi, :, jdim, ldofj, k)) + dphij = SArray{Tuple{space.size..., d}}( + SArray{Tuple{nrdims, d}}(view(dqphi, :, :, jdim, ldofj, k)) * delmapinv) lv = qw[k] * l(x, phij, dphij; opvalues...) * intel b[gdofj] += lv @@ -187,8 +188,9 @@ function project_img(space::FeSpace, img) for idim in 1:nrdims, ldofi in 1:nldofs gdofi = space.dofmap[idim, ldofi, cell] - phii = SArray{Tuple{space.size...}}(qphi[:, idim, ldofi, k]) - dphii = SArray{Tuple{space.size..., d}}(dqphi[:, :, idim, ldofi, k] * delmapinv) + phii = SArray{Tuple{space.size...}}(view(qphi, :, idim, ldofi, k)) + dphii = SArray{Tuple{space.size..., d}}( + SArray{Tuple{nrdims, d}}(view(dqphi, :, :, idim, ldofi, k)) * delmapinv) av = qw[k] * a(x, phii, dphii, phij, dphij; opvalues...) * intel push!(I, gdofi)