From e3b4986dc250686a3ee389f241e76dc9dc4332e1 Mon Sep 17 00:00:00 2001 From: Alexandru Fikl <alexfikl@gmail.com> Date: Fri, 12 Jul 2024 17:06:08 +0300 Subject: [PATCH] ruff: fix isort issues --- examples/from_firedrake.py | 7 ++- examples/plot-connectivity.py | 8 +++- examples/simple-dg.py | 21 ++++++--- examples/to_firedrake.py | 17 +++++-- meshmode/array_context.py | 11 +++-- meshmode/discretization/__init__.py | 8 +++- .../discretization/connection/__init__.py | 31 +++++++++---- meshmode/discretization/connection/chained.py | 11 +++-- meshmode/discretization/connection/direct.py | 18 ++++++-- meshmode/discretization/connection/face.py | 12 +++-- meshmode/discretization/connection/modal.py | 9 ++-- .../connection/opposite_face.py | 8 +++- .../discretization/connection/projection.py | 18 +++++--- .../discretization/connection/refinement.py | 4 +- .../discretization/connection/same_mesh.py | 7 ++- meshmode/discretization/poly_element.py | 12 +++-- meshmode/discretization/visualization.py | 40 ++++++++++++----- meshmode/distributed.py | 3 +- meshmode/dof_array.py | 22 +++++++--- meshmode/interop/firedrake/__init__.py | 10 +++-- meshmode/interop/firedrake/connection.py | 12 +++-- meshmode/interop/firedrake/mesh.py | 18 +++++--- meshmode/interop/nodal_dg.py | 3 +- meshmode/mesh/__init__.py | 19 ++++++-- meshmode/mesh/generation.py | 6 +-- meshmode/mesh/io.py | 19 ++++++-- meshmode/mesh/processing.py | 26 +++++++++-- meshmode/mesh/refinement/no_adjacency.py | 6 ++- meshmode/mesh/refinement/utils.py | 6 ++- meshmode/mesh/visualization.py | 18 ++++++-- test/test_array.py | 10 +++-- test/test_chained.py | 24 +++++----- test/test_connection.py | 10 +++-- test/test_discretization.py | 3 +- test/test_firedrake_interop.py | 28 +++++++++--- test/test_mesh.py | 20 ++++++--- test/test_meshmode.py | 44 ++++++++++++++----- test/test_modal.py | 14 ++++-- test/test_partition.py | 15 ++++--- test/test_refinement.py | 7 ++- test/test_visualization.py | 8 +++- 41 files changed, 428 insertions(+), 165 deletions(-) diff --git a/examples/from_firedrake.py b/examples/from_firedrake.py index 55419b48..e6e39ea1 100644 --- a/examples/from_firedrake.py +++ b/examples/from_firedrake.py @@ -39,7 +39,12 @@ def main(visualize=True): return 0 from firedrake import ( - Function, FunctionSpace, SpatialCoordinate, UnitSquareMesh, cos) + Function, + FunctionSpace, + SpatialCoordinate, + UnitSquareMesh, + cos, + ) from meshmode.interop.firedrake import build_connection_from_firedrake diff --git a/examples/plot-connectivity.py b/examples/plot-connectivity.py index c4a4fc31..ce27d5db 100644 --- a/examples/plot-connectivity.py +++ b/examples/plot-connectivity.py @@ -14,7 +14,10 @@ def main(): actx = PyOpenCLArrayContext(queue) from meshmode.mesh.generation import ( # noqa: F401 - generate_icosahedron, generate_sphere, generate_torus) + generate_icosahedron, + generate_sphere, + generate_torus, + ) #mesh = generate_sphere(1, order=order) mesh = generate_icosahedron(1, order=order) @@ -22,7 +25,8 @@ def main(): from meshmode.discretization import Discretization from meshmode.discretization.poly_element import ( - PolynomialWarpAndBlend3DRestrictingGroupFactory) + PolynomialWarpAndBlend3DRestrictingGroupFactory, + ) discr = Discretization( actx, mesh, PolynomialWarpAndBlend3DRestrictingGroupFactory(order)) diff --git a/examples/simple-dg.py b/examples/simple-dg.py index a0eda7a4..42fc87de 100644 --- a/examples/simple-dg.py +++ b/examples/simple-dg.py @@ -29,8 +29,11 @@ import numpy.linalg as la # noqa import pyopencl as cl import pyopencl.array as cla # noqa from arraycontext import ( - ArrayContainer, dataclass_array_container, map_array_container, - with_container_arithmetic) + ArrayContainer, + dataclass_array_container, + map_array_container, + with_container_arithmetic, +) from pytools import log_process, memoize_method from pytools.obj_array import flat_obj_array, make_obj_array @@ -71,7 +74,8 @@ class DGDiscretization: from meshmode.discretization import Discretization from meshmode.discretization.poly_element import ( - PolynomialWarpAndBlend2DRestrictingGroupFactory) + PolynomialWarpAndBlend2DRestrictingGroupFactory, + ) self.group_factory = PolynomialWarpAndBlend2DRestrictingGroupFactory( order=order) self.volume_discr = Discretization(actx, mesh, self.group_factory) @@ -100,7 +104,9 @@ class DGDiscretization: @memoize_method def interior_faces_connection(self): from meshmode.discretization.connection import ( - FACE_RESTR_INTERIOR, make_face_restriction) + FACE_RESTR_INTERIOR, + make_face_restriction, + ) return make_face_restriction( self.volume_discr._setup_actx, self.volume_discr, @@ -118,7 +124,9 @@ class DGDiscretization: @memoize_method def all_faces_connection(self): from meshmode.discretization.connection import ( - FACE_RESTR_ALL, make_face_restriction) + FACE_RESTR_ALL, + make_face_restriction, + ) return make_face_restriction( self.volume_discr._setup_actx, self.volume_discr, @@ -128,8 +136,7 @@ class DGDiscretization: @memoize_method def get_to_all_face_embedding(self, where): - from meshmode.discretization.connection import ( - make_face_to_all_faces_embedding) + from meshmode.discretization.connection import make_face_to_all_faces_embedding faces_conn = self.get_connection("vol", where) return make_face_to_all_faces_embedding( diff --git a/examples/to_firedrake.py b/examples/to_firedrake.py index d8ca8dc3..cb15bccb 100644 --- a/examples/to_firedrake.py +++ b/examples/to_firedrake.py @@ -65,7 +65,8 @@ def main(): from meshmode.discretization import Discretization from meshmode.discretization.poly_element import ( - InterpolatoryQuadratureSimplexGroupFactory) + InterpolatoryQuadratureSimplexGroupFactory, + ) group_factory = InterpolatoryQuadratureSimplexGroupFactory(order=order) discr = Discretization(actx, mesh, group_factory) @@ -92,8 +93,18 @@ def main(): # set up dirichlet laplace problem in fd and solve from firedrake import ( - Constant, DirichletBC, Function, FunctionSpace, TestFunction, TrialFunction, - dx, grad, inner, project, solve) + Constant, + DirichletBC, + Function, + FunctionSpace, + TestFunction, + TrialFunction, + dx, + grad, + inner, + project, + solve, + ) # because it's easier to write down the variational problem, # we're going to project from our "DG" space diff --git a/meshmode/array_context.py b/meshmode/array_context.py index 731fd060..8b749e8d 100644 --- a/meshmode/array_context.py +++ b/meshmode/array_context.py @@ -30,10 +30,13 @@ from warnings import warn from arraycontext import ( PyOpenCLArrayContext as PyOpenCLArrayContextBase, - PytatoPyOpenCLArrayContext as PytatoPyOpenCLArrayContextBase) + PytatoPyOpenCLArrayContext as PytatoPyOpenCLArrayContextBase, +) from arraycontext.pytest import ( _PytestPyOpenCLArrayContextFactoryWithClass, - _PytestPytatoPyOpenCLArrayContextFactory, register_pytest_array_context_factory) + _PytestPytatoPyOpenCLArrayContextFactory, + register_pytest_array_context_factory, +) def thaw(actx, ary): @@ -157,7 +160,9 @@ def _transform_loopy_inner(t_unit): # {{{ element/dof iname tag from meshmode.transform_metadata import ( - ConcurrentDOFInameTag, ConcurrentElementInameTag) + ConcurrentDOFInameTag, + ConcurrentElementInameTag, + ) el_inames = [iname.name for iname in default_ep.inames.values() if ConcurrentElementInameTag() in iname.tags] diff --git a/meshmode/discretization/__init__.py b/meshmode/discretization/__init__.py index ba8df8dd..db1b8f47 100644 --- a/meshmode/discretization/__init__.py +++ b/meshmode/discretization/__init__.py @@ -38,8 +38,12 @@ from pytools.obj_array import make_obj_array from meshmode.dof_array import DOFArray as _DOFArray from meshmode.mesh import Mesh as _Mesh, MeshElementGroup as _MeshElementGroup from meshmode.transform_metadata import ( - ConcurrentDOFInameTag, ConcurrentElementInameTag, DiscretizationDOFAxisTag, - DiscretizationElementAxisTag, FirstAxisIsElementsTag) + ConcurrentDOFInameTag, + ConcurrentElementInameTag, + DiscretizationDOFAxisTag, + DiscretizationElementAxisTag, + FirstAxisIsElementsTag, +) __doc__ = """ diff --git a/meshmode/discretization/connection/__init__.py b/meshmode/discretization/connection/__init__.py index 00fa51ea..2d08e574 100644 --- a/meshmode/discretization/connection/__init__.py +++ b/meshmode/discretization/connection/__init__.py @@ -28,20 +28,33 @@ import logging from arraycontext import ArrayContext from meshmode.discretization.connection.chained import ( - ChainedDiscretizationConnection, flatten_chained_connection) + ChainedDiscretizationConnection, + flatten_chained_connection, +) from meshmode.discretization.connection.direct import ( - DirectDiscretizationConnection, DiscretizationConnection, - DiscretizationConnectionElementGroup, IdentityDiscretizationConnection, - InterpolationBatch) + DirectDiscretizationConnection, + DiscretizationConnection, + DiscretizationConnectionElementGroup, + IdentityDiscretizationConnection, + InterpolationBatch, +) from meshmode.discretization.connection.face import ( - FACE_RESTR_ALL, FACE_RESTR_INTERIOR, make_face_restriction, - make_face_to_all_faces_embedding) + FACE_RESTR_ALL, + FACE_RESTR_INTERIOR, + make_face_restriction, + make_face_to_all_faces_embedding, +) from meshmode.discretization.connection.modal import ( - ModalToNodalDiscretizationConnection, NodalToModalDiscretizationConnection) + ModalToNodalDiscretizationConnection, + NodalToModalDiscretizationConnection, +) from meshmode.discretization.connection.opposite_face import ( - make_opposite_face_connection, make_partition_connection) + make_opposite_face_connection, + make_partition_connection, +) from meshmode.discretization.connection.projection import ( - L2ProjectionInverseDiscretizationConnection) + L2ProjectionInverseDiscretizationConnection, +) from meshmode.discretization.connection.refinement import make_refinement_connection from meshmode.discretization.connection.same_mesh import make_same_mesh_connection diff --git a/meshmode/discretization/connection/chained.py b/meshmode/discretization/connection/chained.py index 79dea7cb..51ef4f24 100644 --- a/meshmode/discretization/connection/chained.py +++ b/meshmode/discretization/connection/chained.py @@ -196,8 +196,11 @@ def flatten_chained_connection(actx, connection): :class:`~meshmode.discretization.connection.DirectDiscretizationConnection`. """ from meshmode.discretization.connection import ( - DirectDiscretizationConnection, DiscretizationConnectionElementGroup, - IdentityDiscretizationConnection, make_same_mesh_connection) + DirectDiscretizationConnection, + DiscretizationConnectionElementGroup, + IdentityDiscretizationConnection, + make_same_mesh_connection, + ) if not hasattr(connection, "connections"): return connection @@ -283,7 +286,9 @@ def make_full_resample_matrix(actx, connection): `(connection.from_discr.ndofs, connection.to_discr.ndofs)`. """ from meshmode.discretization.connection.direct import ( - DirectDiscretizationConnection, make_direct_full_resample_matrix) + DirectDiscretizationConnection, + make_direct_full_resample_matrix, + ) if isinstance(connection, DirectDiscretizationConnection): return make_direct_full_resample_matrix(actx, connection) diff --git a/meshmode/discretization/connection/direct.py b/meshmode/discretization/connection/direct.py index d466c0d5..ffc3d153 100644 --- a/meshmode/discretization/connection/direct.py +++ b/meshmode/discretization/connection/direct.py @@ -28,16 +28,26 @@ import numpy as np import loopy as lp from arraycontext import ( - ArrayContext, ArrayOrContainerT, ArrayT, NotAnArrayContainerError, - deserialize_container, make_loopy_program, serialize_container, tag_axes) + ArrayContext, + ArrayOrContainerT, + ArrayT, + NotAnArrayContainerError, + deserialize_container, + make_loopy_program, + serialize_container, + tag_axes, +) from arraycontext.metadata import NameHint from pytools import keyed_memoize_method, memoize_in, memoize_method from meshmode.discretization import Discretization, ElementGroupBase from meshmode.dof_array import DOFArray from meshmode.transform_metadata import ( - ConcurrentDOFInameTag, ConcurrentElementInameTag, DiscretizationDOFAxisTag, - DiscretizationElementAxisTag) + ConcurrentDOFInameTag, + ConcurrentElementInameTag, + DiscretizationDOFAxisTag, + DiscretizationElementAxisTag, +) def _reshape_and_preserve_tags( diff --git a/meshmode/discretization/connection/face.py b/meshmode/discretization/connection/face.py index 875c3d8d..c446e261 100644 --- a/meshmode/discretization/connection/face.py +++ b/meshmode/discretization/connection/face.py @@ -67,8 +67,10 @@ class _ConnectionBatchData: def _build_boundary_connection(actx, vol_discr, bdry_discr, connection_data, per_face_groups): from meshmode.discretization.connection.direct import ( - DirectDiscretizationConnection, DiscretizationConnectionElementGroup, - InterpolationBatch) + DirectDiscretizationConnection, + DiscretizationConnectionElementGroup, + InterpolationBatch, + ) ibdry_grp = 0 batches = [] @@ -408,8 +410,10 @@ def make_face_to_all_faces_embedding(actx, faces_connection, all_faces_discr, "same number of groups") from meshmode.discretization.connection import ( - DirectDiscretizationConnection, DiscretizationConnectionElementGroup, - InterpolationBatch) + DirectDiscretizationConnection, + DiscretizationConnectionElementGroup, + InterpolationBatch, + ) i_faces_grp = 0 diff --git a/meshmode/discretization/connection/modal.py b/meshmode/discretization/connection/modal.py index 3897f883..3b4f80e3 100644 --- a/meshmode/discretization/connection/modal.py +++ b/meshmode/discretization/connection/modal.py @@ -28,14 +28,17 @@ import numpy.linalg as la import modepy as mp from arraycontext import ( - NotAnArrayContainerError, deserialize_container, serialize_container, tag_axes) + NotAnArrayContainerError, + deserialize_container, + serialize_container, + tag_axes, +) from pytools import keyed_memoize_in from meshmode.discretization import InterpolatoryElementGroupBase from meshmode.discretization.connection.direct import DiscretizationConnection from meshmode.discretization.poly_element import QuadratureSimplexElementGroup -from meshmode.transform_metadata import ( - DiscretizationDOFAxisTag, FirstAxisIsElementsTag) +from meshmode.transform_metadata import DiscretizationDOFAxisTag, FirstAxisIsElementsTag class NodalToModalDiscretizationConnection(DiscretizationConnection): diff --git a/meshmode/discretization/connection/opposite_face.py b/meshmode/discretization/connection/opposite_face.py index 5d248a70..7e4455a3 100644 --- a/meshmode/discretization/connection/opposite_face.py +++ b/meshmode/discretization/connection/opposite_face.py @@ -511,7 +511,9 @@ def make_opposite_face_connection(actx, volume_to_bdry_conn): groups[i_tgt_grp].extend(batches) from meshmode.discretization.connection import ( - DirectDiscretizationConnection, DiscretizationConnectionElementGroup) + DirectDiscretizationConnection, + DiscretizationConnectionElementGroup, + ) return DirectDiscretizationConnection( from_discr=bdry_discr, to_discr=bdry_discr, @@ -546,7 +548,9 @@ def make_partition_connection(actx, *, local_bdry_conn, """ from meshmode.discretization.connection import ( - DirectDiscretizationConnection, DiscretizationConnectionElementGroup) + DirectDiscretizationConnection, + DiscretizationConnectionElementGroup, + ) from meshmode.mesh.processing import find_group_indices local_vol_mesh = local_bdry_conn.from_discr.mesh diff --git a/meshmode/discretization/connection/projection.py b/meshmode/discretization/connection/projection.py index 5c13d8da..efa143ac 100644 --- a/meshmode/discretization/connection/projection.py +++ b/meshmode/discretization/connection/projection.py @@ -24,14 +24,18 @@ import numpy as np import loopy as lp from arraycontext import ( - NotAnArrayContainerError, deserialize_container, make_loopy_program, - serialize_container) + NotAnArrayContainerError, + deserialize_container, + make_loopy_program, + serialize_container, +) from pytools import keyed_memoize_in, keyed_memoize_method, memoize_in -from meshmode.discretization.connection.chained import ( - ChainedDiscretizationConnection) +from meshmode.discretization.connection.chained import ChainedDiscretizationConnection from meshmode.discretization.connection.direct import ( - DirectDiscretizationConnection, DiscretizationConnection) + DirectDiscretizationConnection, + DiscretizationConnection, +) from meshmode.transform_metadata import FirstAxisIsElementsTag @@ -185,7 +189,9 @@ class L2ProjectionInverseDiscretizationConnection(DiscretizationConnection): name="conn_projection_knl" ) from meshmode.transform_metadata import ( - ConcurrentDOFInameTag, ConcurrentElementInameTag) + ConcurrentDOFInameTag, + ConcurrentElementInameTag, + ) return lp.tag_inames(t_unit, { "iel_init": ConcurrentElementInameTag(), "idof_init": ConcurrentDOFInameTag(), diff --git a/meshmode/discretization/connection/refinement.py b/meshmode/discretization/connection/refinement.py index f6252e32..f3cf63ce 100644 --- a/meshmode/discretization/connection/refinement.py +++ b/meshmode/discretization/connection/refinement.py @@ -129,7 +129,9 @@ def make_refinement_connection(actx, refiner, coarse_discr, group_factory): for discretizing the fine mesh. """ from meshmode.discretization.connection import ( - DirectDiscretizationConnection, DiscretizationConnectionElementGroup) + DirectDiscretizationConnection, + DiscretizationConnectionElementGroup, + ) coarse_mesh = refiner.get_previous_mesh() fine_mesh = refiner.get_current_mesh() diff --git a/meshmode/discretization/connection/same_mesh.py b/meshmode/discretization/connection/same_mesh.py index 9cf2b24b..2b88aa4e 100644 --- a/meshmode/discretization/connection/same_mesh.py +++ b/meshmode/discretization/connection/same_mesh.py @@ -29,8 +29,11 @@ from meshmode.transform_metadata import DiscretizationElementAxisTag def make_same_mesh_connection(actx, to_discr, from_discr): from meshmode.discretization.connection.direct import ( - DirectDiscretizationConnection, DiscretizationConnectionElementGroup, - IdentityDiscretizationConnection, InterpolationBatch) + DirectDiscretizationConnection, + DiscretizationConnectionElementGroup, + IdentityDiscretizationConnection, + InterpolationBatch, + ) if from_discr.mesh is not to_discr.mesh: raise ValueError("from_discr and to_discr must be based on " diff --git a/meshmode/discretization/poly_element.py b/meshmode/discretization/poly_element.py index 7860de5a..2d020bbb 100644 --- a/meshmode/discretization/poly_element.py +++ b/meshmode/discretization/poly_element.py @@ -34,12 +34,18 @@ from modepy import Basis from pytools import memoize_method, memoize_on_first_arg from meshmode.discretization import ( - ElementGroupBase, ElementGroupFactory, InterpolatoryElementGroupBase, - ModalElementGroupBase, NodalElementGroupBase, NoninterpolatoryElementGroupError) + ElementGroupBase, + ElementGroupFactory, + InterpolatoryElementGroupBase, + ModalElementGroupBase, + NodalElementGroupBase, + NoninterpolatoryElementGroupError, +) from meshmode.mesh import ( MeshElementGroup as _MeshElementGroup, SimplexElementGroup as _MeshSimplexElementGroup, - TensorProductElementGroup as _MeshTensorProductElementGroup) + TensorProductElementGroup as _MeshTensorProductElementGroup, +) __doc__ = """ diff --git a/meshmode/discretization/visualization.py b/meshmode/discretization/visualization.py index c446fceb..4d556409 100644 --- a/meshmode/discretization/visualization.py +++ b/meshmode/discretization/visualization.py @@ -63,7 +63,10 @@ def separate_by_real_and_imag(names_and_fields, real_only): if isinstance(field, np.ndarray) and field.dtype.char == "O": assert len(field.shape) == 1 from pytools.obj_array import ( - obj_array_imag_copy, obj_array_real_copy, obj_array_vectorize) + obj_array_imag_copy, + obj_array_real_copy, + obj_array_vectorize, + ) if field[0].dtype.kind == "c": if real_only: @@ -430,7 +433,8 @@ class VTKLagrangeConnectivity(VTKConnectivity): if isinstance(grp.mesh_el_group, SimplexElementGroup): from pyvisfile.vtk.vtk_ordering import ( vtk_lagrange_simplex_node_tuples, - vtk_lagrange_simplex_node_tuples_to_permutation) + vtk_lagrange_simplex_node_tuples_to_permutation, + ) node_tuples = vtk_lagrange_simplex_node_tuples( grp.dim, grp.order, vtk_version=vtk_version) @@ -443,7 +447,8 @@ class VTKLagrangeConnectivity(VTKConnectivity): elif isinstance(grp.mesh_el_group, TensorProductElementGroup): from pyvisfile.vtk.vtk_ordering import ( vtk_lagrange_quad_node_tuples, - vtk_lagrange_quad_node_tuples_to_permutation) + vtk_lagrange_quad_node_tuples_to_permutation, + ) node_tuples = vtk_lagrange_quad_node_tuples( grp.dim, grp.order, vtk_version=vtk_version) @@ -743,8 +748,12 @@ class Visualizer: use_high_order = False from pyvisfile.vtk import ( - VF_LIST_OF_COMPONENTS, AppendedDataXMLGenerator, DataArray, - ParallelXMLGenerator, UnstructuredGrid) + VF_LIST_OF_COMPONENTS, + AppendedDataXMLGenerator, + DataArray, + ParallelXMLGenerator, + UnstructuredGrid, + ) nodes = self._vis_nodes_numpy() @@ -1123,7 +1132,11 @@ class Visualizer: # Paraview. from pyvisfile.xdmf import ( - DataArray, GeometryType, Information, XdmfUnstructuredGrid) + DataArray, + GeometryType, + Information, + XdmfUnstructuredGrid, + ) if self.vis_discr.ambient_dim == 2: geometry_type = GeometryType.XY @@ -1202,6 +1215,7 @@ class Visualizer: def show_scalar_in_matplotlib_3d(self, field, **kwargs): import matplotlib.pyplot as plt + # This import also registers the 3D projection. import mpl_toolkits.mplot3d.art3d as art3d @@ -1294,10 +1308,12 @@ def make_visualizer(actx, discr, vis_order=None, else: if force_equidistant: from meshmode.discretization.poly_element import ( - InterpolatoryEquidistantGroupFactory as VisGroupFactory) + InterpolatoryEquidistantGroupFactory as VisGroupFactory, + ) else: from meshmode.discretization.poly_element import ( - InterpolatoryEdgeClusteredGroupFactory as VisGroupFactory) + InterpolatoryEdgeClusteredGroupFactory as VisGroupFactory, + ) vis_discr = discr.copy(actx=actx, group_factory=VisGroupFactory(vis_order)) @@ -1356,8 +1372,12 @@ def write_nodal_adjacency_vtk_file(file_name, mesh, compressor=None, overwrite=False): from pyvisfile.vtk import ( - VF_LIST_OF_COMPONENTS, VTK_LINE, AppendedDataXMLGenerator, DataArray, - UnstructuredGrid) + VF_LIST_OF_COMPONENTS, + VTK_LINE, + AppendedDataXMLGenerator, + DataArray, + UnstructuredGrid, + ) centroids = np.empty( (mesh.ambient_dim, mesh.nelements), diff --git a/meshmode/distributed.py b/meshmode/distributed.py index 18402bf4..df9e1de2 100644 --- a/meshmode/distributed.py +++ b/meshmode/distributed.py @@ -45,8 +45,7 @@ from arraycontext import ArrayContext from meshmode.discretization import ElementGroupFactory from meshmode.discretization.connection import DirectDiscretizationConnection -from meshmode.mesh import ( - InteriorAdjacencyGroup, InterPartAdjacencyGroup, Mesh, PartID) +from meshmode.mesh import InteriorAdjacencyGroup, InterPartAdjacencyGroup, Mesh, PartID # This file needs to be importable without mpi4py. So don't be tempted to add diff --git a/meshmode/dof_array.py b/meshmode/dof_array.py index f72a4d04..72184e40 100644 --- a/meshmode/dof_array.py +++ b/meshmode/dof_array.py @@ -35,15 +35,23 @@ import numpy as np import loopy as lp from arraycontext import ( - Array, ArrayContext, ArrayOrContainerT, NotAnArrayContainerError, - deserialize_container, make_loopy_program, mapped_over_array_containers, - multimapped_over_array_containers, rec_map_array_container, - rec_multimap_array_container, serialize_container, with_array_context, - with_container_arithmetic) + Array, + ArrayContext, + ArrayOrContainerT, + NotAnArrayContainerError, + deserialize_container, + make_loopy_program, + mapped_over_array_containers, + multimapped_over_array_containers, + rec_map_array_container, + rec_multimap_array_container, + serialize_container, + with_array_context, + with_container_arithmetic, +) from pytools import MovedFunctionDeprecationWrapper, memoize_in, single_valued -from meshmode.transform_metadata import ( - ConcurrentDOFInameTag, ConcurrentElementInameTag) +from meshmode.transform_metadata import ConcurrentDOFInameTag, ConcurrentElementInameTag __doc__ = """ diff --git a/meshmode/interop/firedrake/__init__.py b/meshmode/interop/firedrake/__init__.py index eaf96581..ab34373a 100644 --- a/meshmode/interop/firedrake/__init__.py +++ b/meshmode/interop/firedrake/__init__.py @@ -22,10 +22,14 @@ THE SOFTWARE. from meshmode.interop.firedrake.connection import ( - FiredrakeConnection, build_connection_from_firedrake, - build_connection_to_firedrake) + FiredrakeConnection, + build_connection_from_firedrake, + build_connection_to_firedrake, +) from meshmode.interop.firedrake.mesh import ( - export_mesh_to_firedrake, import_firedrake_mesh) + export_mesh_to_firedrake, + import_firedrake_mesh, +) __all__ = ["build_connection_from_firedrake", "build_connection_to_firedrake", diff --git a/meshmode/interop/firedrake/connection.py b/meshmode/interop/firedrake/connection.py index 98b7892f..d11ab07d 100644 --- a/meshmode/interop/firedrake/connection.py +++ b/meshmode/interop/firedrake/connection.py @@ -34,11 +34,17 @@ from pytools import memoize_method from meshmode.discretization import Discretization, InterpolatoryElementGroupBase from meshmode.discretization.poly_element import ( - ElementGroupFactory, default_simplex_group_factory) + ElementGroupFactory, + default_simplex_group_factory, +) from meshmode.interop.firedrake.mesh import ( - export_mesh_to_firedrake, import_firedrake_mesh) + export_mesh_to_firedrake, + import_firedrake_mesh, +) from meshmode.interop.firedrake.reference_cell import ( - get_affine_reference_simplex_mapping, get_finat_element_unit_nodes) + get_affine_reference_simplex_mapping, + get_finat_element_unit_nodes, +) from meshmode.mesh.processing import get_simplex_element_flip_matrix diff --git a/meshmode/interop/firedrake/mesh.py b/meshmode/interop/firedrake/mesh.py index 736c30a4..ada0fff5 100644 --- a/meshmode/interop/firedrake/mesh.py +++ b/meshmode/interop/firedrake/mesh.py @@ -29,10 +29,19 @@ from modepy import PN, Simplex, basis_for_space, resampling_matrix from pytools import ProcessLogger from meshmode.interop.firedrake.reference_cell import ( - get_affine_reference_simplex_mapping, get_finat_element_unit_nodes) + get_affine_reference_simplex_mapping, + get_finat_element_unit_nodes, +) from meshmode.mesh import ( - BTAG_ALL, BTAG_INDUCED_BOUNDARY, BoundaryAdjacencyGroup, InteriorAdjacencyGroup, - Mesh, NodalAdjacency, SimplexElementGroup, make_mesh) + BTAG_ALL, + BTAG_INDUCED_BOUNDARY, + BoundaryAdjacencyGroup, + InteriorAdjacencyGroup, + Mesh, + NodalAdjacency, + SimplexElementGroup, + make_mesh, +) __doc__ = """ @@ -435,8 +444,7 @@ def _get_firedrake_orientations(fdrake_mesh, unflipped_group, vertices, if gdim == tdim: # If the co-dimension is 0, :mod:`meshmode` has a convenient # function to compute cell orientations - from meshmode.mesh.processing import ( - find_volume_mesh_element_group_orientation) + from meshmode.mesh.processing import find_volume_mesh_element_group_orientation orient = find_volume_mesh_element_group_orientation(vertices, unflipped_group) diff --git a/meshmode/interop/nodal_dg.py b/meshmode/interop/nodal_dg.py index 5afc6270..0891443d 100644 --- a/meshmode/interop/nodal_dg.py +++ b/meshmode/interop/nodal_dg.py @@ -158,7 +158,8 @@ class NodalDGContext: from meshmode.discretization import Discretization from meshmode.discretization.poly_element import ( - PolynomialGivenNodesGroupFactory) + PolynomialGivenNodesGroupFactory, + ) return Discretization(actx, mesh, PolynomialGivenNodesGroupFactory(order, unit_nodes)) diff --git a/meshmode/mesh/__init__.py b/meshmode/mesh/__init__.py index 3c2d16df..eb4f6e7a 100644 --- a/meshmode/mesh/__init__.py +++ b/meshmode/mesh/__init__.py @@ -23,8 +23,17 @@ THE SOFTWARE. from abc import ABC, abstractmethod from dataclasses import InitVar, dataclass, field, replace from typing import ( - Any, ClassVar, Hashable, Iterable, Literal, Optional, Sequence, Tuple, Type, - Union) + Any, + ClassVar, + Hashable, + Iterable, + Literal, + Optional, + Sequence, + Tuple, + Type, + Union, +) from warnings import warn import numpy as np @@ -775,8 +784,10 @@ def check_mesh_consistency( some fashion. """ from meshmode import ( - InconsistentAdjacencyError, InconsistentArrayDTypeError, - InconsistentMeshError) + InconsistentAdjacencyError, + InconsistentArrayDTypeError, + InconsistentMeshError, + ) if node_vertex_consistency_tolerance is not False: _test_node_vertex_consistency(mesh, tol=node_vertex_consistency_tolerance) diff --git a/meshmode/mesh/generation.py b/meshmode/mesh/generation.py index 82486724..b9e207c4 100644 --- a/meshmode/mesh/generation.py +++ b/meshmode/mesh/generation.py @@ -1390,8 +1390,7 @@ def generate_box_mesh( if any(periodic): from meshmode import AffineMap - from meshmode.mesh.processing import ( - BoundaryPairMapping, glue_mesh_boundaries) + from meshmode.mesh.processing import BoundaryPairMapping, glue_mesh_boundaries bdry_pair_mappings_and_tols = [] for idim in range(dim): if periodic[idim]: @@ -1591,8 +1590,7 @@ def generate_annular_cylinder_slice_mesh( from meshmode.mesh.tools import AffineMap aff_map = AffineMap(matrix, center - matrix @ center) - from meshmode.mesh.processing import ( - BoundaryPairMapping, glue_mesh_boundaries) + from meshmode.mesh.processing import BoundaryPairMapping, glue_mesh_boundaries periodic_mesh = glue_mesh_boundaries( mesh, bdry_pair_mappings_and_tols=[ (BoundaryPairMapping("-theta", "+theta", aff_map), 1e-12)]) diff --git a/meshmode/mesh/io.py b/meshmode/mesh/io.py index 84c0c863..77dc1836 100644 --- a/meshmode/mesh/io.py +++ b/meshmode/mesh/io.py @@ -23,8 +23,14 @@ THE SOFTWARE. import numpy as np from gmsh_interop.reader import ( # noqa: F401 - FileSource, GmshMeshReceiverBase, GmshSimplexElementBase, - GmshTensorProductElementBase, LiteralSource, ScriptSource, ScriptWithFilesSource) + FileSource, + GmshMeshReceiverBase, + GmshSimplexElementBase, + GmshTensorProductElementBase, + LiteralSource, + ScriptSource, + ScriptWithFilesSource, +) from meshmode.mesh import Mesh @@ -152,7 +158,10 @@ class GmshMeshReceiver(GmshMeshReceiverBase): # }}} from meshmode.mesh import ( - SimplexElementGroup, TensorProductElementGroup, make_mesh) + SimplexElementGroup, + TensorProductElementGroup, + make_mesh, + ) bulk_el_types = set() @@ -404,7 +413,9 @@ def from_vertices_and_simplices( raise ValueError("can only fix orientation of volume meshes") from meshmode.mesh.processing import ( - find_volume_mesh_element_group_orientation, flip_element_group) + find_volume_mesh_element_group_orientation, + flip_element_group, + ) orient = find_volume_mesh_element_group_orientation(vertices, grp) grp = flip_element_group(vertices, grp, orient < 0) diff --git a/meshmode/mesh/processing.py b/meshmode/mesh/processing.py index c28877da..45ab7557 100644 --- a/meshmode/mesh/processing.py +++ b/meshmode/mesh/processing.py @@ -25,7 +25,16 @@ THE SOFTWARE. from dataclasses import dataclass, replace from functools import reduce from typing import ( - Callable, Dict, List, Literal, Mapping, Optional, Sequence, Tuple, Union) + Callable, + Dict, + List, + Literal, + Mapping, + Optional, + Sequence, + Tuple, + Union, +) import numpy as np import numpy.linalg as la @@ -33,9 +42,18 @@ import numpy.linalg as la import modepy as mp from meshmode.mesh import ( - BTAG_PARTITION, BoundaryAdjacencyGroup, FacialAdjacencyGroup, - InteriorAdjacencyGroup, InterPartAdjacencyGroup, Mesh, MeshElementGroup, PartID, - TensorProductElementGroup, _FaceIDs, make_mesh) + BTAG_PARTITION, + BoundaryAdjacencyGroup, + FacialAdjacencyGroup, + InteriorAdjacencyGroup, + InterPartAdjacencyGroup, + Mesh, + MeshElementGroup, + PartID, + TensorProductElementGroup, + _FaceIDs, + make_mesh, +) from meshmode.mesh.tools import AffineMap, find_point_permutation diff --git a/meshmode/mesh/refinement/no_adjacency.py b/meshmode/mesh/refinement/no_adjacency.py index 537090db..66be8744 100644 --- a/meshmode/mesh/refinement/no_adjacency.py +++ b/meshmode/mesh/refinement/no_adjacency.py @@ -88,8 +88,10 @@ class RefinerWithoutAdjacency(Refiner): inew_vertex = mesh.nvertices from meshmode.mesh.refinement.tessellate import ( - get_group_midpoints, get_group_tessellated_nodes, - get_group_tessellation_info) + get_group_midpoints, + get_group_tessellated_nodes, + get_group_tessellation_info, + ) for base_element_nr, grp in zip(mesh.base_element_nrs, mesh.groups): el_tess_info = get_group_tessellation_info(grp) diff --git a/meshmode/mesh/refinement/utils.py b/meshmode/mesh/refinement/utils.py index 9188be45..ce90d9a5 100644 --- a/meshmode/mesh/refinement/utils.py +++ b/meshmode/mesh/refinement/utils.py @@ -30,7 +30,11 @@ from typing import Optional import numpy as np from meshmode.mesh import ( - Mesh, MeshElementGroup, SimplexElementGroup, TensorProductElementGroup) + Mesh, + MeshElementGroup, + SimplexElementGroup, + TensorProductElementGroup, +) logger = logging.getLogger(__name__) diff --git a/meshmode/mesh/visualization.py b/meshmode/mesh/visualization.py index 6f32de7d..49091c9f 100644 --- a/meshmode/mesh/visualization.py +++ b/meshmode/mesh/visualization.py @@ -212,8 +212,16 @@ def write_vertex_vtk_file( overwrite: bool = False) -> None: # {{{ create cell_types from pyvisfile.vtk import ( - VF_LIST_OF_COMPONENTS, VTK_HEXAHEDRON, VTK_LINE, VTK_QUAD, VTK_TETRA, - VTK_TRIANGLE, AppendedDataXMLGenerator, DataArray, UnstructuredGrid) + VF_LIST_OF_COMPONENTS, + VTK_HEXAHEDRON, + VTK_LINE, + VTK_QUAD, + VTK_TETRA, + VTK_TRIANGLE, + AppendedDataXMLGenerator, + DataArray, + UnstructuredGrid, + ) from meshmode.mesh import SimplexElementGroup, TensorProductElementGroup @@ -342,7 +350,8 @@ def vtk_visualize_mesh( from meshmode.discretization import Discretization from meshmode.discretization.poly_element import ( - InterpolatoryEdgeClusteredGroupFactory) + InterpolatoryEdgeClusteredGroupFactory, + ) discr = Discretization(actx, mesh, InterpolatoryEdgeClusteredGroupFactory(order)) from meshmode.discretization.visualization import make_visualizer @@ -422,7 +431,8 @@ def visualize_mesh_vertex_resampling_error( from meshmode.discretization import Discretization from meshmode.discretization.poly_element import ( - InterpolatoryEdgeClusteredGroupFactory) + InterpolatoryEdgeClusteredGroupFactory, + ) discr = Discretization(actx, mesh, InterpolatoryEdgeClusteredGroupFactory(1)) from meshmode.discretization.visualization import make_visualizer diff --git a/test/test_array.py b/test/test_array.py index a2908a61..7a44226f 100644 --- a/test/test_array.py +++ b/test/test_array.py @@ -27,14 +27,18 @@ import numpy as np import pytest from arraycontext import ( - dataclass_array_container, pytest_generate_tests_for_array_contexts, - with_container_arithmetic) + dataclass_array_container, + pytest_generate_tests_for_array_contexts, + with_container_arithmetic, +) from pytools.obj_array import make_obj_array from pytools.tag import Tag from meshmode import _acf # noqa: F401 from meshmode.array_context import ( - PytestPyOpenCLArrayContextFactory, PytestPytatoPyOpenCLArrayContextFactory) + PytestPyOpenCLArrayContextFactory, + PytestPytatoPyOpenCLArrayContextFactory, +) from meshmode.discretization import Discretization from meshmode.discretization.poly_element import default_simplex_group_factory from meshmode.dof_array import DOFArray, array_context_for_pickling, flat_norm diff --git a/test/test_chained.py b/test/test_chained.py index 9ee486f3..b00356c8 100644 --- a/test/test_chained.py +++ b/test/test_chained.py @@ -58,8 +58,7 @@ def create_discretization(actx, ndim, else: raise ValueError(f"unknown mesh name: {mesh_name}") elif ndim == 3: - from meshmode.mesh.generation import ( - generate_torus, generate_warped_rect_mesh) + from meshmode.mesh.generation import generate_torus, generate_warped_rect_mesh if mesh_name is None: mesh_name = "torus" @@ -78,7 +77,8 @@ def create_discretization(actx, ndim, # create discretization from meshmode.discretization import Discretization from meshmode.discretization.poly_element import ( - InterpolatoryQuadratureSimplexGroupFactory) + InterpolatoryQuadratureSimplexGroupFactory, + ) discr = Discretization(actx, mesh, InterpolatoryQuadratureSimplexGroupFactory(order)) @@ -88,7 +88,8 @@ def create_discretization(actx, ndim, def create_refined_connection(actx, discr, threshold=0.3): from meshmode.discretization.connection import make_refinement_connection from meshmode.discretization.poly_element import ( - InterpolatoryQuadratureSimplexGroupFactory) + InterpolatoryQuadratureSimplexGroupFactory, + ) from meshmode.mesh.refinement import RefinerWithoutAdjacency flags = np.random.rand(discr.mesh.nelements) < threshold @@ -103,10 +104,10 @@ def create_refined_connection(actx, discr, threshold=0.3): def create_face_connection(actx, discr): - from meshmode.discretization.connection import ( - FACE_RESTR_ALL, make_face_restriction) + from meshmode.discretization.connection import FACE_RESTR_ALL, make_face_restriction from meshmode.discretization.poly_element import ( - InterpolatoryQuadratureSimplexGroupFactory) + InterpolatoryQuadratureSimplexGroupFactory, + ) discr_order = discr.groups[0].order connection = make_face_restriction(actx, discr, @@ -120,8 +121,7 @@ def create_face_connection(actx, discr): @pytest.mark.skip(reason="implementation detail") @pytest.mark.parametrize("ndim", [2, 3]) def test_chained_batch_table(actx_factory, ndim, visualize=False): - from meshmode.discretization.connection.chained import ( - _build_element_lookup_table) + from meshmode.discretization.connection.chained import _build_element_lookup_table actx = actx_factory() @@ -360,11 +360,11 @@ def test_reversed_chained_connection(actx_factory, ndim, mesh_name): conn.to_discr, threshold=threshold) connections.append(conn) - from meshmode.discretization.connection import ( - ChainedDiscretizationConnection) + from meshmode.discretization.connection import ChainedDiscretizationConnection chained = ChainedDiscretizationConnection(connections) from meshmode.discretization.connection import ( - L2ProjectionInverseDiscretizationConnection) + L2ProjectionInverseDiscretizationConnection, + ) reverse = L2ProjectionInverseDiscretizationConnection(chained) # create test vector diff --git a/test/test_connection.py b/test/test_connection.py index dbbd5d2a..08ee8a4e 100644 --- a/test/test_connection.py +++ b/test/test_connection.py @@ -34,9 +34,11 @@ from meshmode.discretization import Discretization from meshmode.discretization.connection import FACE_RESTR_ALL from meshmode.discretization.poly_element import ( LegendreGaussLobattoTensorProductGroupFactory, - PolynomialEquidistantSimplexGroupFactory, PolynomialRecursiveNodesGroupFactory, + PolynomialEquidistantSimplexGroupFactory, + PolynomialRecursiveNodesGroupFactory, PolynomialWarpAndBlend2DRestrictingGroupFactory, - PolynomialWarpAndBlend3DRestrictingGroupFactory) + PolynomialWarpAndBlend3DRestrictingGroupFactory, +) from meshmode.mesh import SimplexElementGroup, TensorProductElementGroup @@ -76,7 +78,9 @@ def test_bdry_restriction_is_permutation(actx_factory, group_factory, dim, order vol_discr = Discretization(actx, mesh, group_factory(order)) from meshmode.discretization.connection import ( - make_face_restriction, make_opposite_face_connection) + make_face_restriction, + make_opposite_face_connection, + ) bdry_connection = make_face_restriction( actx, vol_discr, group_factory(order), FACE_RESTR_ALL) diff --git a/test/test_discretization.py b/test/test_discretization.py index 3422fa3e..8c4361c3 100644 --- a/test/test_discretization.py +++ b/test/test_discretization.py @@ -29,7 +29,8 @@ from meshmode import _acf # noqa: F401 from meshmode.array_context import PytestPyOpenCLArrayContextFactory from meshmode.discretization import Discretization from meshmode.discretization.poly_element import ( - InterpolatoryQuadratureSimplexGroupFactory) + InterpolatoryQuadratureSimplexGroupFactory, +) pytest_generate_tests = pytest_generate_tests_for_array_contexts( diff --git a/test/test_firedrake_interop.py b/test/test_firedrake_interop.py index d32419b1..14bbe594 100644 --- a/test/test_firedrake_interop.py +++ b/test/test_firedrake_interop.py @@ -31,11 +31,14 @@ from meshmode import _acf # noqa: F401 from meshmode.array_context import PytestPyOpenCLArrayContextFactory from meshmode.discretization import Discretization from meshmode.discretization.poly_element import ( - InterpolatoryQuadratureSimplexGroupFactory) + InterpolatoryQuadratureSimplexGroupFactory, +) from meshmode.dof_array import DOFArray from meshmode.interop.firedrake import ( - build_connection_from_firedrake, build_connection_to_firedrake, - import_firedrake_mesh) + build_connection_from_firedrake, + build_connection_to_firedrake, + import_firedrake_mesh, +) from meshmode.mesh import BTAG_ALL, BTAG_INDUCED_BOUNDARY, Mesh, check_bc_coverage @@ -84,8 +87,14 @@ def make_mm_mesh(name: str) -> Mesh: def make_firedrake_mesh(name: str): from firedrake import ( - Function, Mesh, SpatialCoordinate, UnitCubeMesh, UnitIntervalMesh, - UnitSquareMesh, VectorFunctionSpace) + Function, + Mesh, + SpatialCoordinate, + UnitCubeMesh, + UnitIntervalMesh, + UnitSquareMesh, + VectorFunctionSpace, + ) if name == "FiredrakeUnitIntervalMesh": return UnitIntervalMesh(100) @@ -601,8 +610,13 @@ def test_from_fd_idempotency(actx_factory, actx = actx_factory() from firedrake import ( - Function, FunctionSpace, SpatialCoordinate, TensorFunctionSpace, - VectorFunctionSpace, as_tensor) + Function, + FunctionSpace, + SpatialCoordinate, + TensorFunctionSpace, + VectorFunctionSpace, + as_tensor, + ) # Make a function space and a function with unique values at each node fdrake_mesh = make_firedrake_mesh(fdrake_mesh) diff --git a/test/test_mesh.py b/test/test_mesh.py index 23172b6e..9f733464 100644 --- a/test/test_mesh.py +++ b/test/test_mesh.py @@ -40,10 +40,16 @@ import meshmode.mesh.processing as mproc from meshmode import _acf # noqa: F401 from meshmode.array_context import PytestPyOpenCLArrayContextFactory from meshmode.discretization.poly_element import ( - LegendreGaussLobattoTensorProductGroupFactory, default_simplex_group_factory) + LegendreGaussLobattoTensorProductGroupFactory, + default_simplex_group_factory, +) from meshmode.mesh import ( - BoundaryAdjacencyGroup, InteriorAdjacencyGroup, SimplexElementGroup, - TensorProductElementGroup, make_mesh) + BoundaryAdjacencyGroup, + InteriorAdjacencyGroup, + SimplexElementGroup, + TensorProductElementGroup, + make_mesh, +) from meshmode.mesh.tools import AffineMap @@ -888,7 +894,10 @@ def test_box_boundary_tags(dim, nelem, mesh_type, group_cls, visualize=False): pytest.skip("mesh type not supported on tensor product elements") from meshmode.mesh import ( - check_bc_coverage, is_boundary_tag_empty, mesh_has_boundary) + check_bc_coverage, + is_boundary_tag_empty, + mesh_has_boundary, + ) if dim == 1: a = (0,) @@ -1244,8 +1253,7 @@ def test_node_vertex_consistency_check(actx_factory): from meshmode.discretization import Discretization group_factory = default_simplex_group_factory(1, 1) vol_discr = Discretization(actx, vol_mesh, group_factory) - from meshmode.discretization.connection import ( - FACE_RESTR_ALL, make_face_restriction) + from meshmode.discretization.connection import FACE_RESTR_ALL, make_face_restriction make_face_restriction( actx, vol_discr, group_factory, FACE_RESTR_ALL, per_face_groups=False) diff --git a/test/test_meshmode.py b/test/test_meshmode.py index 5be44eec..ff2fe521 100644 --- a/test/test_meshmode.py +++ b/test/test_meshmode.py @@ -33,18 +33,28 @@ from arraycontext import flatten, pytest_generate_tests_for_array_contexts import meshmode.mesh.generation as mgen from meshmode import _acf # noqa: F401 from meshmode.array_context import ( - PytestPyOpenCLArrayContextFactory, PytestPytatoPyOpenCLArrayContextFactory) + PytestPyOpenCLArrayContextFactory, + PytestPytatoPyOpenCLArrayContextFactory, +) from meshmode.discretization.connection import FACE_RESTR_ALL, FACE_RESTR_INTERIOR from meshmode.discretization.poly_element import ( InterpolatoryQuadratureSimplexGroupFactory, LegendreGaussLobattoTensorProductGroupFactory, - PolynomialEquidistantSimplexGroupFactory, PolynomialRecursiveNodesGroupFactory, + PolynomialEquidistantSimplexGroupFactory, + PolynomialRecursiveNodesGroupFactory, PolynomialWarpAndBlend2DRestrictingGroupFactory, - PolynomialWarpAndBlend3DRestrictingGroupFactory, default_simplex_group_factory) + PolynomialWarpAndBlend3DRestrictingGroupFactory, + default_simplex_group_factory, +) from meshmode.dof_array import flat_norm from meshmode.mesh import ( - BTAG_ALL, Mesh, MeshElementGroup, SimplexElementGroup, TensorProductElementGroup, - make_mesh) + BTAG_ALL, + Mesh, + MeshElementGroup, + SimplexElementGroup, + TensorProductElementGroup, + make_mesh, +) logger = logging.getLogger(__name__) @@ -114,7 +124,9 @@ def test_boundary_interpolation(actx_factory, group_factory, boundary_tag, from meshmode.discretization import Discretization from meshmode.discretization.connection import ( - check_connection, make_face_restriction) + check_connection, + make_face_restriction, + ) eoc_rec = EOCRecorder() order = 4 @@ -179,7 +191,8 @@ def test_boundary_interpolation(actx_factory, group_factory, boundary_tag, if mesh_name == "blob" and dim == 2 and mesh.nelements < 500: from meshmode.discretization.connection.direct import ( - make_direct_full_resample_matrix) + make_direct_full_resample_matrix, + ) mat = actx.to_numpy( make_direct_full_resample_matrix(actx, bdry_connection)) bdry_f_2_by_mat = mat.dot(actx.to_numpy(flatten(vol_f, actx))) @@ -233,7 +246,10 @@ def test_all_faces_interpolation(actx_factory, group_factory, from meshmode.discretization import Discretization from meshmode.discretization.connection import ( - check_connection, make_face_restriction, make_face_to_all_faces_embedding) + check_connection, + make_face_restriction, + make_face_to_all_faces_embedding, + ) eoc_rec = EOCRecorder() order = 4 @@ -359,7 +375,10 @@ def test_opposite_face_interpolation(actx_factory, group_factory, from meshmode.discretization import Discretization from meshmode.discretization.connection import ( - check_connection, make_face_restriction, make_opposite_face_connection) + check_connection, + make_face_restriction, + make_opposite_face_connection, + ) eoc_rec = EOCRecorder() order = 5 @@ -954,8 +973,11 @@ def test_mesh_multiple_groups(actx_factory, ambient_dim, visualize=False): # check face restrictions from meshmode.discretization.connection import ( - check_connection, make_face_restriction, make_face_to_all_faces_embedding, - make_opposite_face_connection) + check_connection, + make_face_restriction, + make_face_to_all_faces_embedding, + make_opposite_face_connection, + ) for boundary_tag in [BTAG_ALL, FACE_RESTR_INTERIOR, FACE_RESTR_ALL]: conn = make_face_restriction(actx, discr, group_factory=grp_factory, diff --git a/test/test_modal.py b/test/test_modal.py index 4289f02e..c5e39f19 100644 --- a/test/test_modal.py +++ b/test/test_modal.py @@ -33,14 +33,20 @@ from meshmode import _acf # noqa: F401 from meshmode.array_context import PytestPyOpenCLArrayContextFactory from meshmode.discretization import Discretization from meshmode.discretization.connection.modal import ( - ModalToNodalDiscretizationConnection, NodalToModalDiscretizationConnection) + ModalToNodalDiscretizationConnection, + NodalToModalDiscretizationConnection, +) from meshmode.discretization.poly_element import ( InterpolatoryQuadratureSimplexGroupFactory, - LegendreGaussLobattoTensorProductGroupFactory, ModalSimplexGroupFactory, - ModalTensorProductGroupFactory, PolynomialEquidistantSimplexGroupFactory, + LegendreGaussLobattoTensorProductGroupFactory, + ModalSimplexGroupFactory, + ModalTensorProductGroupFactory, + PolynomialEquidistantSimplexGroupFactory, PolynomialRecursiveNodesGroupFactory, PolynomialWarpAndBlend2DRestrictingGroupFactory, - PolynomialWarpAndBlend3DRestrictingGroupFactory, QuadratureSimplexGroupFactory) + PolynomialWarpAndBlend3DRestrictingGroupFactory, + QuadratureSimplexGroupFactory, +) from meshmode.dof_array import DOFArray, flat_norm from meshmode.mesh import SimplexElementGroup, TensorProductElementGroup diff --git a/test/test_partition.py b/test/test_partition.py index 142853c3..f26cf098 100644 --- a/test/test_partition.py +++ b/test/test_partition.py @@ -37,8 +37,11 @@ from meshmode.array_context import PytestPyOpenCLArrayContextFactory from meshmode.discretization.poly_element import default_simplex_group_factory from meshmode.dof_array import flat_norm from meshmode.mesh import ( - BTAG_ALL, BoundaryAdjacencyGroup, InteriorAdjacencyGroup, - InterPartAdjacencyGroup) + BTAG_ALL, + BoundaryAdjacencyGroup, + InteriorAdjacencyGroup, + InterPartAdjacencyGroup, +) logger = logging.getLogger(__name__) @@ -114,7 +117,10 @@ def test_partition_interpolation(actx_factory, dim, mesh_pars, for part_mesh in part_meshes.values()] from meshmode.discretization.connection import ( - check_connection, make_face_restriction, make_partition_connection) + check_connection, + make_face_restriction, + make_partition_connection, + ) from meshmode.mesh import BTAG_PARTITION for i_local_part, i_remote_part in connected_parts: @@ -367,8 +373,7 @@ def count_tags(mesh, tag): def _test_mpi_boundary_swap(dim, order, num_groups): from mpi4py import MPI - from meshmode.distributed import ( - MPIBoundaryCommSetupHelper, membership_list_to_map) + from meshmode.distributed import MPIBoundaryCommSetupHelper, membership_list_to_map from meshmode.mesh.processing import partition_mesh mpi_comm = MPI.COMM_WORLD diff --git a/test/test_refinement.py b/test/test_refinement.py index e262a69f..f265d8c3 100644 --- a/test/test_refinement.py +++ b/test/test_refinement.py @@ -38,7 +38,8 @@ from meshmode.discretization.poly_element import ( LegendreGaussLobattoTensorProductGroupFactory, PolynomialEquidistantSimplexGroupFactory, PolynomialWarpAndBlend2DRestrictingGroupFactory, - PolynomialWarpAndBlend3DRestrictingGroupFactory) + PolynomialWarpAndBlend3DRestrictingGroupFactory, +) from meshmode.dof_array import flat_norm from meshmode.mesh import SimplexElementGroup, TensorProductElementGroup from meshmode.mesh.refinement import RefinerWithoutAdjacency @@ -143,7 +144,9 @@ def test_refinement_connection( from meshmode.discretization import Discretization from meshmode.discretization.connection import ( - check_connection, make_refinement_connection) + check_connection, + make_refinement_connection, + ) eoc_rec = EOCRecorder() for mesh_par in mesh_pars: diff --git a/test/test_visualization.py b/test/test_visualization.py index 0d7a435f..547a4013 100644 --- a/test/test_visualization.py +++ b/test/test_visualization.py @@ -36,7 +36,9 @@ from meshmode import _acf # noqa: F401 from meshmode.array_context import PytestPyOpenCLArrayContextFactory from meshmode.discretization.poly_element import ( InterpolatoryQuadratureSimplexGroupFactory, - LegendreGaussLobattoTensorProductGroupFactory, default_simplex_group_factory) + LegendreGaussLobattoTensorProductGroupFactory, + default_simplex_group_factory, +) from meshmode.mesh import SimplexElementGroup, TensorProductElementGroup @@ -323,7 +325,9 @@ def test_vtk_overwrite(actx_factory): InterpolatoryQuadratureSimplexGroupFactory(target_order)) from meshmode.discretization.visualization import ( - make_visualizer, write_nodal_adjacency_vtk_file) + make_visualizer, + write_nodal_adjacency_vtk_file, + ) from meshmode.mesh.visualization import write_vertex_vtk_file vis = make_visualizer(actx, discr, 1) -- GitLab