diff --git a/meshmode/discretization/__init__.py b/meshmode/discretization/__init__.py index 56cae0d98155b2de336597aff56393e2cde3d6bd..1a0ab65234e3f7cd5ad4110eb50305bc8d600636 100644 --- a/meshmode/discretization/__init__.py +++ b/meshmode/discretization/__init__.py @@ -583,9 +583,8 @@ class Discretization: NameHint(name_hint))) result = make_obj_array([ - _DOFArray(None, tuple([ - actx.freeze(resample_mesh_nodes(grp, iaxis)) for grp in self.groups - ])) + _DOFArray(None, tuple(actx.freeze(resample_mesh_nodes(grp, iaxis)) + for grp in self.groups)) for iaxis in range(self.ambient_dim)]) if cached: self._cached_nodes = result diff --git a/meshmode/dof_array.py b/meshmode/dof_array.py index 8eebd2529c70e69f216113def0069c9bffcd0f50..205c0b5c75b287640a26c28d1ff2e867e3ff45f4 100644 --- a/meshmode/dof_array.py +++ b/meshmode/dof_array.py @@ -399,7 +399,8 @@ def _deserialize_dof_container( else: return type(template)( template.array_context, - data=tuple([v for _i, v in iterable])) + # NOTE: tuple([]) is faster, and this is a cost-sensitive code path. + data=tuple([v for _i, v in iterable])) # noqa: C409 @with_array_context.register(DOFArray) diff --git a/meshmode/interop/firedrake/mesh.py b/meshmode/interop/firedrake/mesh.py index e97f3a631ab1e70e5de192156bfc30b7df9b9a0e..f1830b04b22ccc554732771ee274f1445d1393bd 100644 --- a/meshmode/interop/firedrake/mesh.py +++ b/meshmode/interop/firedrake/mesh.py @@ -259,10 +259,8 @@ def _get_firedrake_facial_adjacency_groups(fdrake_mesh_topology, # ) # and meshmode's facet ordering: obtained from a simplex element group import modepy as mp - mm_face_vertex_indices = tuple([ - face.volume_vertex_indices - for face in mp.faces_for_shape(mp.Simplex(top.cell_dimension())) - ]) + mm_face_vertex_indices = tuple(face.volume_vertex_indices + for face in mp.faces_for_shape(mp.Simplex(top.cell_dimension()))) # map firedrake local face number to meshmode local face number fd_loc_fac_nr_to_mm = {} diff --git a/meshmode/mesh/__init__.py b/meshmode/mesh/__init__.py index 7e04fb0c559f626dbe754aa2a9f576c6701e3013..97a0315c65ca818512cc328b955cb2a28aa4c3cf 100644 --- a/meshmode/mesh/__init__.py +++ b/meshmode/mesh/__init__.py @@ -354,7 +354,7 @@ class _ModepyElementGroup(MeshElementGroup): @memoize_method def face_vertex_indices(self) -> tuple[tuple[int, ...], ...]: - return tuple([face.volume_vertex_indices for face in self._modepy_faces]) + return tuple(face.volume_vertex_indices for face in self._modepy_faces) @memoize_method def vertex_unit_coordinates(self) -> np.ndarray: @@ -1052,9 +1052,7 @@ def make_mesh( facial_adjacency_groups, element_id_dtype, face_id_dtype) - facial_adjacency_groups = tuple([ - tuple(grps) for grps in facial_adjacency_groups - ]) + facial_adjacency_groups = tuple(tuple(grps) for grps in facial_adjacency_groups) mesh = Mesh( groups=tuple(groups), diff --git a/meshmode/mesh/processing.py b/meshmode/mesh/processing.py index 7edbcf7175c9f84ab68d39fac495c84852267ecd..2a96744a20092af23240c4475377563feec4e4ec 100644 --- a/meshmode/mesh/processing.py +++ b/meshmode/mesh/processing.py @@ -1380,9 +1380,8 @@ def glue_mesh_boundaries( return mesh.copy( nodal_adjacency=False, - _facial_adjacency_groups=tuple([ - tuple(fagrps) for fagrps in facial_adjacency_groups - ]), + _facial_adjacency_groups=tuple( + tuple(fagrps) for fagrps in facial_adjacency_groups), ) # }}} @@ -1526,9 +1525,10 @@ def affine_map( return mesh.copy( vertices=vertices, groups=tuple(new_groups), - _facial_adjacency_groups=tuple([ - tuple(fagrps) for fagrps in facial_adjacency_groups - ]) if facial_adjacency_groups is not None else None, + _facial_adjacency_groups=tuple( + tuple(fagrps) + for fagrps in facial_adjacency_groups) + if facial_adjacency_groups is not None else None, is_conforming=mesh.is_conforming) @@ -1602,10 +1602,8 @@ def make_mesh_grid( from pytools import wandering_element size = bmax - bmin - offset = tuple([ - np.array(e_i) * (size[i] + 0.25 * size[i]) - for i, e_i in enumerate(wandering_element(mesh.ambient_dim)) - ]) + offset = tuple(np.array(e_i) * (size[i] + 0.25 * size[i]) + for i, e_i in enumerate(wandering_element(mesh.ambient_dim))) if len(offset) != mesh.ambient_dim: raise ValueError("must provide an offset per dimension") diff --git a/meshmode/mesh/refinement/tessellate.py b/meshmode/mesh/refinement/tessellate.py index 64ecc572a47133f69f20c42c87d5fdbc2d27fd2b..2f4b3a20e60bad08c90d1efc173e8b6b7e4bd75e 100644 --- a/meshmode/mesh/refinement/tessellate.py +++ b/meshmode/mesh/refinement/tessellate.py @@ -247,9 +247,7 @@ def _get_group_tessellation_info_modepy(meg: _ModepyElementGroup): from pytools import add_tuples space = mp.space_for_shape(shape, 1) assert type(space) == type(meg._modepy_space) # noqa: E721 - orig_vertices = tuple([ - add_tuples(vt, vt) for vt in mp.node_tuples_for_space(space) - ]) + orig_vertices = tuple(add_tuples(vt, vt) for vt in mp.node_tuples_for_space(space)) orig_vertex_indices = [ref_vertices_to_index[vt] for vt in orig_vertices] midpoints = _get_ref_midpoints(shape, ref_vertices) diff --git a/meshmode/mesh/visualization.py b/meshmode/mesh/visualization.py index 4f9d184f91962545c3bea0a747c5b2de6c515c8c..42ee7fdc34d9f61ce3cf41bc96e8080764a48041 100644 --- a/meshmode/mesh/visualization.py +++ b/meshmode/mesh/visualization.py @@ -421,12 +421,10 @@ def visualize_mesh_vertex_resampling_error( from meshmode.dof_array import DOFArray from meshmode.mesh import _mesh_group_node_vertex_error - error = DOFArray(actx, tuple([ - actx.from_numpy( + error = DOFArray(actx, tuple(actx.from_numpy( np.sqrt(np.sum(_mesh_group_node_vertex_error(mesh, mgrp)**2, axis=0)) ) - for mgrp in mesh.groups - ])) + for mgrp in mesh.groups)) # }}} diff --git a/pyproject.toml b/pyproject.toml index 3d477fadb632452425ab39c6f05a74b68835a025..ae4a9d763fbae4eed19214b18a91850991f91aa5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -94,7 +94,6 @@ extend-select = [ "W", # pycodestyle ] extend-ignore = [ - "C409", # remove comprehension within tuple call "C90", # McCabe complexity "E226", # missing whitespace around arithmetic operator "E241", # multiple spaces after comma