As implemented here:
|
if len(args) == 1: |
|
vec, = args |
|
dd = dof_desc.DOFDesc("vol", dof_desc.DISCR_TAG_BASE) |
|
elif len(args) == 2: |
|
dd, vec = args |
|
else: |
|
raise TypeError("invalid number of arguments") |
|
|
|
dd = dof_desc.as_dofdesc(dd) |
|
|
|
from grudge.op import _apply_mass_operator |
|
|
|
ones = dcoll.discr_from_dd(dd).zeros(vec.array_context) + 1.0 |
|
return elementwise_sum( |
|
dcoll, dd, vec * _apply_mass_operator(dcoll, dd, dd, ones) |
|
) |
It always falls into the mass-matrix logic, which is valid for nodal-interpolatory grids, but not quadrature grids.
cc @thomasgibson
As implemented here:
grudge/grudge/reductions.py
Lines 455 to 470 in f3d986b
It always falls into the mass-matrix logic, which is valid for nodal-interpolatory grids, but not quadrature grids.
cc @thomasgibson