def get_inverse_mass_matrix(self, grp, dtype): import modepy as mp matrix = mp.inverse_mass_matrix(grp.basis_obj().functions, grp.unit_nodes) actx = self._setup_actx return actx.freeze(actx.from_numpy(matrix))
def get_ref_inv_mass_mat(grp): from modepy import inverse_mass_matrix basis = grp.basis_obj() return actx.freeze( actx.from_numpy( np.asarray(inverse_mass_matrix(basis.functions, grp.unit_nodes), order="C")))
def matrix(in_element_group, out_element_group): assert in_element_group == out_element_group import modepy as mp basis = in_element_group.basis_obj() return mp.inverse_mass_matrix(basis.functions, in_element_group.unit_nodes)
def matrix(in_element_group, out_element_group): assert in_element_group == out_element_group import modepy as mp return mp.inverse_mass_matrix( in_element_group.basis(), in_element_group.unit_nodes)
def get_inverse_mass_matrix(self, grp, dtype): import modepy as mp matrix = mp.inverse_mass_matrix(grp.basis(), grp.unit_nodes) with cl.CommandQueue(self.cl_context) as queue: return (cla.to_device(queue, matrix).with_queue(None))