Skip to content

Commit 0ff1e89

Browse files
committed
Add Elasticity/Stokes using biharmonic/Laplace kernels
1 parent fcdbf7c commit 0ff1e89

File tree

13 files changed

+2597
-464
lines changed

13 files changed

+2597
-464
lines changed

doc/conf.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@
8080
# sumpy
8181
"ExpansionBase": "class:sumpy.expansion.ExpansionBase",
8282
"ExpansionFactoryBase": "class:sumpy.expansion.ExpansionFactoryBase",
83+
"ExpressionKernel": "class:sumpy.kernel.ExpressionKernel",
8384
"Kernel": "class:sumpy.kernel.Kernel",
8485
"P2PBase": "class:sumpy.p2p.P2PBase",
8586
# pytential
@@ -91,6 +92,7 @@
9192
"KernelArgumentMapping": "obj:pytential.symbolic.primitives.KernelArgumentMapping",
9293
"Operand": "obj:pytential.symbolic.primitives.Operand",
9394
"QBXForcedLimit": "obj:pytential.symbolic.primitives.QBXForcedLimit",
95+
"VectorExpression": "obj:pytential.symbolic.elasticity.VectorExpression",
9496
"TargetOrDiscretization": "obj:pytential.target.TargetOrDiscretization",
9597
"pytential.symbolic.dof_desc.DOFDescriptorLike":
9698
"data:pytential.symbolic.dof_desc.DOFDescriptorLike",

doc/symbolic.rst

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,11 @@ Maxwell's equations
3838

3939
.. automodule:: pytential.symbolic.pde.maxwell
4040

41+
Elasticity equations
42+
^^^^^^^^^^^^^^^^^^^^
43+
44+
.. automodule:: pytential.symbolic.elasticity
45+
4146
Stokes' equations
4247
^^^^^^^^^^^^^^^^^
4348

@@ -48,6 +53,11 @@ Scalar Beltrami equations
4853

4954
.. automodule:: pytential.symbolic.pde.beltrami
5055

56+
Rewriting expressions with layer potentials
57+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
58+
59+
.. automodule:: pytential.symbolic.pde.system_utils
60+
5161
Internal affairs
5262
----------------
5363

@@ -62,3 +72,10 @@ How a symbolic operator gets executed
6272
.. automodule:: pytential.symbolic.execution
6373

6474
.. automodule:: pytential.symbolic.compiler
75+
76+
Rewriting expressions with ``IntG``\ s internals
77+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
78+
79+
.. automethod:: pytential.symbolic.pde.system_utils.convert_target_transformation_to_source
80+
.. automethod:: pytential.symbolic.pde.system_utils.rewrite_int_g_using_base_kernel
81+

pyproject.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,8 @@ extend-ignore-re = [
145145

146146
[tool.typos.default.extend-words]
147147
"nd" = "nd"
148+
# short for multi-indices
149+
mis = "mis"
148150

149151
[tool.basedpyright]
150152
reportImplicitStringConcatenation = "none"

pytential/qbx/__init__.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1047,9 +1047,12 @@ def get_flat_strengths_from_densities(
10471047
places,
10481048
sym.weights_and_area_elements(places.ambient_dim, dofdesc=dofdesc),
10491049
)(actx)
1050+
1051+
from numbers import Number
1052+
10501053
density_dofarrays = [evaluate(density) for density in densities]
10511054
for i, ary in enumerate(density_dofarrays):
1052-
if not isinstance(ary, DOFArray):
1055+
if not isinstance(ary, DOFArray | Number):
10531056
raise ValueError(
10541057
f"DOFArray expected for density '{densities[i]}', "
10551058
f"{type(ary)} received instead")

0 commit comments

Comments
 (0)