This could avoid the forced (and possibly un-needed) modal-to-nodal conversion at the end of the connection:
|
return DOFArray( |
|
actx, |
|
data=tuple( |
|
actx.einsum("ij,ej->ei", |
|
vandermonde_matrix(grp), |
|
c_i, |
|
arg_names=("vdm", "coeffs"), |
|
tagged=(FirstAxisIsElementsTag(),)) |
|
for grp, c_i in zip(self.to_discr.groups, coefficients) |
|
) |
|
) |
I think this is easy to do since it receives a connection as input. It just needs to check whether the output side of the connection is modal, and if so, skip the extra conversion to nodal.
I noticed this while reviewing #192.
cc @alexfikl @thomasgibson
This could avoid the forced (and possibly un-needed) modal-to-nodal conversion at the end of the connection:
meshmode/meshmode/discretization/connection/projection.py
Lines 219 to 229 in cdcc7f5
I think this is easy to do since it receives a connection as input. It just needs to check whether the output side of the connection is modal, and if so, skip the extra conversion to nodal.
I noticed this while reviewing #192.
cc @alexfikl @thomasgibson