Skip to content

Commit e411f8c

Browse files
committed
Modernize
- Enable TC lint - Enable isort - Some typing work
1 parent 71a138f commit e411f8c

73 files changed

Lines changed: 1653 additions & 858 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

doc/conf.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from importlib import metadata
22
from urllib.request import urlopen
33

4+
45
_conf_url = \
56
"https://raw.githubusercontent.com/inducer/sphinxconfig/main/sphinxconfig.py"
67
with urlopen(_conf_url) as _inf:
@@ -39,4 +40,43 @@
3940
["py:class", r"TypeAliasForwardRef"],
4041
["py:class", r"arraycontext.typing._UserDefinedArrayContainer"],
4142
["py:class", r"arraycontext.typing._UserDefinedArithArrayContainer"],
43+
["py:class", r"T"],
4244
]
45+
46+
47+
sphinxconfig_missing_reference_aliases = {
48+
# numpy
49+
"NDArray": "obj:numpy.typing.NDArray",
50+
# pytools
51+
"ObjectArrayND": "obj:pytools.obj_array.ObjectArrayND",
52+
# pyopencl
53+
"WaitList": "obj:pyopencl.WaitList",
54+
# pymbolic
55+
"Variable": "class:pymbolic.primitives.Variable",
56+
"Expression": "obj:pymbolic.typing.Expression",
57+
"ArithmeticExpression": "obj:pymbolic.ArithmeticExpression",
58+
"MultiVector": "obj:pymbolic.geometric_algebra.MultiVector",
59+
# arraycontext
60+
"ScalarLike": "obj:arraycontext.ScalarLike",
61+
"ArrayOrContainerOrScalar": "obj:arraycontext.ArrayOrContainerOrScalar",
62+
"PyOpenCLArrayContext": "class:arraycontext.PyOpenCLArrayContext",
63+
# modepy
64+
"mp.Shape": "class:modepy.Shape",
65+
# meshmode
66+
"Discretization": "class:meshmode.discretization.Discretization",
67+
"DOFArray": "class:meshmode.dof_array.DOFArray",
68+
# sumpy
69+
"Kernel": "class:sumpy.kernel.Kernel",
70+
"P2PBase": "class:sumpy.p2p.P2PBase",
71+
"ExpansionFactoryBase": "class:sumpy.expansion.ExpansionFactoryBase",
72+
# pytential
73+
"sym.IntG": "class:pytential.symbolic.primitives.IntG",
74+
"sym.DOFDescriptor": "class:pytential.symbolic.dof_desc.DOFDescriptor",
75+
"Operand": "obj:pytential.symbolic.primitives.Operand",
76+
"QBXForcedLimit": "obj:pytential.symbolic.primitives.QBXForcedLimit",
77+
"TargetOrDiscretization": "obj:pytential.target.TargetOrDiscretization",
78+
}
79+
80+
81+
def setup(app):
82+
app.connect("missing-reference", process_autodoc_missing_reference) # noqa: F821

examples/cost.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,13 @@
2626
"""Calibrates a cost model and reports on the accuracy."""
2727

2828
import numpy as np
29-
import pyopencl as cl
3029

30+
import pyopencl as cl
3131
from meshmode.array_context import PyOpenCLArrayContext
32+
from pytools import one
3233

33-
from pytential import sym, bind
34+
from pytential import bind, sym
3435
from pytential.qbx.cost import QBXCostModel
35-
from pytools import one
3636

3737

3838
# {{{ global params
@@ -57,9 +57,9 @@
5757
def starfish_lpot_source(actx, n_arms):
5858
from meshmode.discretization import Discretization
5959
from meshmode.discretization.poly_element import (
60-
InterpolatoryQuadratureSimplexGroupFactory)
61-
62-
from meshmode.mesh.generation import make_curve_mesh, NArmedStarfish
60+
InterpolatoryQuadratureSimplexGroupFactory,
61+
)
62+
from meshmode.mesh.generation import NArmedStarfish, make_curve_mesh
6363

6464
mesh = make_curve_mesh(
6565
NArmedStarfish(n_arms, 0.8),

examples/fmm-error.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
import numpy as np
22

33
from meshmode.array_context import PyOpenCLArrayContext
4-
from meshmode.mesh.generation import ( # noqa
5-
make_curve_mesh, starfish, ellipse, drop)
6-
4+
from meshmode.mesh.generation import drop, ellipse, make_curve_mesh, starfish # noqa
5+
from sumpy.kernel import HelmholtzKernel, LaplaceKernel
76
from sumpy.visualization import FieldPlotter
8-
from sumpy.kernel import LaplaceKernel, HelmholtzKernel
97

108

119
def main():
@@ -34,10 +32,12 @@ def main():
3432
np.linspace(0, 1, nelements+1),
3533
target_order)
3634

37-
from pytential.qbx import QBXLayerPotentialSource
3835
from meshmode.discretization import Discretization
39-
from meshmode.discretization.poly_element import \
40-
InterpolatoryQuadratureSimplexGroupFactory
36+
from meshmode.discretization.poly_element import (
37+
InterpolatoryQuadratureSimplexGroupFactory,
38+
)
39+
40+
from pytential.qbx import QBXLayerPotentialSource
4141

4242
pre_density_discr = Discretization(
4343
actx, mesh,

examples/helmholtz-dirichlet.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@
33

44
from meshmode.array_context import PyOpenCLArrayContext
55
from meshmode.discretization import Discretization
6-
from meshmode.discretization.poly_element import \
7-
InterpolatoryQuadratureSimplexGroupFactory
6+
from meshmode.discretization.poly_element import (
7+
InterpolatoryQuadratureSimplexGroupFactory,
8+
)
89

910
from pytential import bind, sym
1011
from pytential.target import PointsTarget
1112

13+
1214
# {{{ set some constants for use below
1315

1416
nelements = 20
@@ -31,9 +33,10 @@ def main(mesh_name="ellipse", visualize=False):
3133
queue = cl.CommandQueue(cl_ctx)
3234
actx = PyOpenCLArrayContext(queue)
3335

34-
from meshmode.mesh.generation import ellipse, make_curve_mesh
3536
from functools import partial
3637

38+
from meshmode.mesh.generation import ellipse, make_curve_mesh
39+
3740
if mesh_name == "ellipse":
3841
mesh = make_curve_mesh(
3942
partial(ellipse, 1),
@@ -71,8 +74,7 @@ def main(mesh_name="ellipse", visualize=False):
7174
actx, mesh,
7275
InterpolatoryQuadratureSimplexGroupFactory(bdry_quad_order))
7376

74-
from pytential.qbx import (
75-
QBXLayerPotentialSource, QBXTargetAssociationFailedError)
77+
from pytential.qbx import QBXLayerPotentialSource, QBXTargetAssociationFailedError
7678
qbx = QBXLayerPotentialSource(
7779
pre_density_discr, fine_order=bdry_ovsmp_quad_order, qbx_order=qbx_order,
7880
fmm_order=fmm_order
@@ -92,7 +94,7 @@ def main(mesh_name="ellipse", visualize=False):
9294

9395
# {{{ describe bvp
9496

95-
from sumpy.kernel import LaplaceKernel, HelmholtzKernel
97+
from sumpy.kernel import HelmholtzKernel, LaplaceKernel
9698
kernel = HelmholtzKernel(2)
9799

98100
sigma_sym = sym.var("sigma")

examples/laplace-dirichlet-3d.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22

33
from meshmode.array_context import PyOpenCLArrayContext
44
from meshmode.discretization import Discretization
5-
from meshmode.discretization.poly_element import \
6-
InterpolatoryQuadratureSimplexGroupFactory
5+
from meshmode.discretization.poly_element import (
6+
InterpolatoryQuadratureSimplexGroupFactory,
7+
)
78

89
from pytential import bind, sym
910
from pytential.target import PointsTarget
1011

12+
1113
# {{{ set some constants for use below
1214

1315
nelements = 20
@@ -64,8 +66,7 @@ def main(mesh_name="torus", visualize=False):
6466
actx, mesh,
6567
InterpolatoryQuadratureSimplexGroupFactory(bdry_quad_order))
6668

67-
from pytential.qbx import (
68-
QBXLayerPotentialSource, QBXTargetAssociationFailedError)
69+
from pytential.qbx import QBXLayerPotentialSource, QBXTargetAssociationFailedError
6970
qbx = QBXLayerPotentialSource(
7071
pre_density_discr, fine_order=bdry_ovsmp_quad_order, qbx_order=qbx_order,
7172
fmm_order=fmm_order,

examples/laplace-dirichlet-simple.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22

33
from meshmode.array_context import PyOpenCLArrayContext
44
from meshmode.discretization import Discretization
5-
from meshmode.discretization.poly_element import \
6-
InterpolatoryQuadratureSimplexGroupFactory
5+
from meshmode.discretization.poly_element import (
6+
InterpolatoryQuadratureSimplexGroupFactory,
7+
)
78

89
from pytential import bind, sym
910
from pytential.target import PointsTarget
1011

12+
1113
# {{{ set some constants for use below
1214

1315
nelements = 20
@@ -30,9 +32,10 @@ def main(mesh_name="starfish", visualize=False):
3032
queue = cl.CommandQueue(cl_ctx)
3133
actx = PyOpenCLArrayContext(queue)
3234

33-
from meshmode.mesh.generation import ellipse, make_curve_mesh, starfish
3435
from functools import partial
3536

37+
from meshmode.mesh.generation import ellipse, make_curve_mesh, starfish
38+
3639
if mesh_name == "ellipse":
3740
mesh = make_curve_mesh(
3841
partial(ellipse, 1),

examples/layerpot-3d.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import numpy as np
22

33
from meshmode.array_context import PyOpenCLArrayContext
4-
4+
from sumpy.kernel import HelmholtzKernel, LaplaceKernel, one_kernel_2d # noqa
55
from sumpy.visualization import FieldPlotter
6-
from sumpy.kernel import one_kernel_2d, LaplaceKernel, HelmholtzKernel # noqa
76

87
from pytential import bind, sym
98

9+
1010
target_order = 5
1111
qbx_order = 3
1212
mode_nr = 4
@@ -32,7 +32,7 @@ def main(mesh_name="ellipsoid"):
3232
else:
3333
raise ValueError("unknown mesh name: %s" % mesh_name)
3434

35-
from meshmode.mesh.io import generate_gmsh, FileSource
35+
from meshmode.mesh.io import FileSource, generate_gmsh
3636
mesh = generate_gmsh(
3737
FileSource(cad_file_name), 2, order=2,
3838
other_options=["-string", "Mesh.CharacteristicLengthMax = %g;" % h],
@@ -49,10 +49,12 @@ def main(mesh_name="ellipsoid"):
4949

5050
logger.info("%d elements", mesh.nelements)
5151

52-
from pytential.qbx import QBXLayerPotentialSource
5352
from meshmode.discretization import Discretization
54-
from meshmode.discretization.poly_element import \
55-
InterpolatoryQuadratureSimplexGroupFactory
53+
from meshmode.discretization.poly_element import (
54+
InterpolatoryQuadratureSimplexGroupFactory,
55+
)
56+
57+
from pytential.qbx import QBXLayerPotentialSource
5658

5759
density_discr = Discretization(
5860
actx, mesh, InterpolatoryQuadratureSimplexGroupFactory(target_order))

examples/layerpot.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import numpy as np
22

33
from meshmode.array_context import PyOpenCLArrayContext
4+
from meshmode.mesh.generation import drop, ellipse, starfish # noqa: F401
5+
from sumpy.kernel import HelmholtzKernel, LaplaceKernel, one_kernel_2d # noqa: F401
46
from sumpy.visualization import FieldPlotter
5-
from sumpy.kernel import one_kernel_2d, LaplaceKernel, HelmholtzKernel # noqa: F401
67

78
from pytential import bind, sym
89

9-
from meshmode.mesh.generation import starfish, ellipse, drop # noqa: F401
1010

1111
target_order = 16
1212
qbx_order = 3
@@ -31,10 +31,12 @@ def main(curve_fn=starfish, visualize=True):
3131
np.linspace(0, 1, nelements+1),
3232
target_order)
3333

34-
from pytential.qbx import QBXLayerPotentialSource
3534
from meshmode.discretization import Discretization
36-
from meshmode.discretization.poly_element import \
37-
InterpolatoryQuadratureSimplexGroupFactory
35+
from meshmode.discretization.poly_element import (
36+
InterpolatoryQuadratureSimplexGroupFactory,
37+
)
38+
39+
from pytential.qbx import QBXLayerPotentialSource
3840

3941
pre_density_discr = Discretization(
4042
actx, mesh, InterpolatoryQuadratureSimplexGroupFactory(target_order))

examples/scaling-study.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22

33
from meshmode.array_context import PyOpenCLArrayContext
44
from meshmode.discretization import Discretization
5-
from meshmode.discretization.poly_element import \
6-
InterpolatoryQuadratureSimplexGroupFactory
5+
from meshmode.discretization.poly_element import (
6+
InterpolatoryQuadratureSimplexGroupFactory,
7+
)
78

89
from pytential import bind, sym
910
from pytential.target import PointsTarget
1011

12+
1113
# {{{ set some constants for use below
1214

1315
nelements = 20
@@ -22,9 +24,10 @@
2224

2325

2426
def make_mesh(nx, ny, visualize=False):
25-
from meshmode.mesh.generation import ellipse, make_curve_mesh
2627
from functools import partial
2728

29+
from meshmode.mesh.generation import ellipse, make_curve_mesh
30+
2831
base_mesh = make_curve_mesh(
2932
partial(ellipse, 1),
3033
np.linspace(0, 1, nelements+1),
@@ -66,8 +69,7 @@ def timing_run(nx, ny, visualize=False):
6669
actx, mesh,
6770
InterpolatoryQuadratureSimplexGroupFactory(bdry_quad_order))
6871

69-
from pytential.qbx import (
70-
QBXLayerPotentialSource, QBXTargetAssociationFailedError)
72+
from pytential.qbx import QBXLayerPotentialSource, QBXTargetAssociationFailedError
7173
qbx = QBXLayerPotentialSource(
7274
density_discr, fine_order=bdry_ovsmp_quad_order, qbx_order=qbx_order,
7375
fmm_order=fmm_order

0 commit comments

Comments
 (0)