35 is_data_associated_to_cell,
40 Overwrite this one for the particular filter.
42 We create an empty result array. Then we run over the input sequence
43 of cell_data. Per element, we check if a cell_data to the right within
44 this input sequence overlaps.
46 List operations are very expensive in Python. I therefore implement a
47 two-pass strategy, where I first sort the patches according to their
48 size. Actually, I sort them according to their inverted size, i.e.
49 big entries come first.
53 "Build up auxiliary data structures over "
60 if len(cell_data) > 10000:
64 total_number_of_cells_per_patch = dof * dof
66 total_number_of_cells_per_patch *= dof
72 for k
in range(0, total_number_of_cells_per_patch):
74 p.values[k * unknowns : k * unknowns + unknowns]
78 "Returned array size has to equal output cardinality"
80 new_cell_values += new_data
81 new_patch =
Patch(p.offset, p.size, new_cell_values, p.subdomain_number)
82 result_cell_data.append(new_patch)
89 is_data_associated_to_cell,