Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
130 changes: 93 additions & 37 deletions .basedpyright/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -5747,6 +5747,30 @@
"lineCount": 1
}
},
{
"code": "reportAny",
"range": {
"startColumn": 12,
"endColumn": 24,
"lineCount": 1
}
},
{
"code": "reportAny",
"range": {
"startColumn": 34,
"endColumn": 51,
"lineCount": 1
}
},
{
"code": "reportAny",
"range": {
"startColumn": 65,
"endColumn": 77,
"lineCount": 1
}
},
{
"code": "reportAny",
"range": {
Expand All @@ -5767,7 +5791,7 @@
"code": "reportAny",
"range": {
"startColumn": 28,
"endColumn": 72,
"endColumn": 40,
"lineCount": 1
}
},
Expand Down Expand Up @@ -34461,11 +34485,43 @@
"lineCount": 1
}
},
{
"code": "reportAny",
"range": {
"startColumn": 12,
"endColumn": 24,
"lineCount": 1
}
},
{
"code": "reportAny",
"range": {
"startColumn": 12,
"endColumn": 24,
"lineCount": 1
}
},
{
"code": "reportAny",
"range": {
"startColumn": 34,
"endColumn": 46,
"lineCount": 1
}
},
{
"code": "reportAny",
"range": {
"startColumn": 60,
"endColumn": 72,
"lineCount": 1
}
},
{
"code": "reportAny",
"range": {
"startColumn": 28,
"endColumn": 84,
"endColumn": 40,
"lineCount": 1
}
},
Expand All @@ -34481,7 +34537,7 @@
"code": "reportAny",
"range": {
"startColumn": 28,
"endColumn": 71,
"endColumn": 40,
"lineCount": 1
}
},
Expand Down Expand Up @@ -35229,11 +35285,43 @@
"lineCount": 1
}
},
{
"code": "reportAny",
"range": {
"startColumn": 12,
"endColumn": 24,
"lineCount": 1
}
},
{
"code": "reportAny",
"range": {
"startColumn": 12,
"endColumn": 24,
"lineCount": 1
}
},
{
"code": "reportAny",
"range": {
"startColumn": 34,
"endColumn": 46,
"lineCount": 1
}
},
{
"code": "reportAny",
"range": {
"startColumn": 60,
"endColumn": 72,
"lineCount": 1
}
},
{
"code": "reportAny",
"range": {
"startColumn": 28,
"endColumn": 84,
"endColumn": 40,
"lineCount": 1
}
},
Expand All @@ -35249,7 +35337,7 @@
"code": "reportAny",
"range": {
"startColumn": 28,
"endColumn": 71,
"endColumn": 40,
"lineCount": 1
}
},
Expand Down Expand Up @@ -44517,38 +44605,6 @@
"lineCount": 1
}
},
{
"code": "reportUnknownVariableType",
"range": {
"startColumn": 12,
"endColumn": 18,
"lineCount": 1
}
},
{
"code": "reportOptionalSubscript",
"range": {
"startColumn": 21,
"endColumn": 48,
"lineCount": 1
}
},
{
"code": "reportUnknownMemberType",
"range": {
"startColumn": 49,
"endColumn": 70,
"lineCount": 1
}
},
{
"code": "reportUnknownArgumentType",
"range": {
"startColumn": 49,
"endColumn": 55,
"lineCount": 1
}
},
{
"code": "reportUnknownMemberType",
"range": {
Expand Down
13 changes: 9 additions & 4 deletions pytential/qbx/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
DefaultExpansionFactory as DefaultExpansionFactoryBase,
ExpansionFactoryBase,
)
from sumpy.expansion.local import LocalExpansionBase
from sumpy.expansion.local import LineTaylorLocalExpansion, LocalExpansionBase

from pytential.qbx.refinement import QBXRefinementMode, QBXRefinementNeededError
from pytential.qbx.target_assoc import QBXTargetAssociationFailedError
Expand Down Expand Up @@ -798,7 +798,6 @@ def exec_compute_potential_insn_fmm(self,

@memoize_method
def get_expansion_for_qbx_direct_eval(self, base_kernel, target_kernels):
from sumpy.expansion.local import LineTaylorLocalExpansion
from sumpy.kernel import TargetDerivativeRemover

# line Taylor cannot support target derivatives
Expand Down Expand Up @@ -957,14 +956,20 @@ def _flat_centers(dofdesc, qbx_forced_limit):

for (target_name, qbx_forced_limit), outputs in self_outputs.items():
flat_target_nodes = _flat_nodes(target_name)
flat_centers = _flat_centers(target_name, qbx_forced_limit)
lpot_kwargs = flat_kernel_args.copy()

if isinstance(lpot_applier.expansion, LineTaylorLocalExpansion):
lpot_kwargs["expansion_vec"] = (
actx.thaw(flat_target_nodes) - actx.thaw(flat_centers))

output_for_each_kernel = lpot_applier(actx,
targets=flat_target_nodes,
sources=flat_source_nodes,
centers=_flat_centers(target_name, qbx_forced_limit),
centers=flat_centers,
strengths=flat_strengths,
expansion_radii=_flat_expansion_radii(target_name),
**flat_kernel_args)
**lpot_kwargs)

for i, o in outputs:
result = output_for_each_kernel[o.target_kernel_index]
Expand Down
27 changes: 21 additions & 6 deletions pytential/symbolic/matrix.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@
EvaluationRewriter as EvaluationRewriterBase,
)
from pytools import memoize_method
from sumpy.expansion.local import LineTaylorLocalExpansion


if TYPE_CHECKING:
Expand Down Expand Up @@ -497,12 +498,19 @@ def map_int_g(self, expr):
kernel_args = _get_layer_potential_args(
actx, self.places, expr, context=self.context)

target_nodes = flatten(target_discr.nodes(), actx, leaf_class=DOFArray)
center_nodes = flatten(centers, actx, leaf_class=DOFArray)
mat_kwargs = kernel_args.copy()
if isinstance(local_expn, LineTaylorLocalExpansion):
mat_kwargs["expansion_vec"] = (
actx.thaw(target_nodes) - actx.thaw(center_nodes))

mat, = mat_gen(actx,
targets=flatten(target_discr.nodes(), actx, leaf_class=DOFArray),
targets=target_nodes,
sources=flatten(source_discr.nodes(), actx, leaf_class=DOFArray),
centers=flatten(centers, actx, leaf_class=DOFArray),
centers=center_nodes,
expansion_radii=flatten(radii, actx),
**kernel_args)
**mat_kwargs)
mat = actx.to_numpy(mat)

if self.weighted:
Expand Down Expand Up @@ -710,14 +718,21 @@ def map_int_g(self, expr):
kernel_args = _get_layer_potential_args(
actx, self.places, expr, context=self.context)

target_nodes = flatten(target_discr.nodes(), actx, leaf_class=DOFArray)
center_nodes = flatten(centers, actx, leaf_class=DOFArray)
mat_kwargs = kernel_args.copy()
if isinstance(local_expn, LineTaylorLocalExpansion):
mat_kwargs["expansion_vec"] = (
actx.thaw(target_nodes) - actx.thaw(center_nodes))

mat, = mat_gen(actx,
targets=flatten(target_discr.nodes(), actx, leaf_class=DOFArray),
targets=target_nodes,
sources=flatten(source_discr.nodes(), actx, leaf_class=DOFArray),
centers=flatten(centers, actx, leaf_class=DOFArray),
centers=center_nodes,
expansion_radii=flatten(radii, actx),
tgtindices=tgtindices,
srcindices=srcindices,
**kernel_args)
**mat_kwargs)

if self.weighted:
waa = flatten(
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@ git+https://github.com/inducer/boxtree.git#egg=boxtree
git+https://github.com/inducer/arraycontext.git#egg=arraycontext
git+https://github.com/inducer/gmsh_interop/#egg=gmsh_interop
git+https://github.com/inducer/meshmode.git#egg=meshmode
git+https://github.com/inducer/sumpy.git#egg=sumpy
git+https://github.com/inducer/sumpy.git@refs/pull/233/head#egg=sumpy
git+https://github.com/inducer/pyfmmlib.git#egg=pyfmmlib
Loading