Skip to content

Very-high-level interface

geom = GeometryCollection(
    "vol": meshmode.discretization.Discretization(...),
    "bdry": pytential.QBXLayerPotentialSource(...),
    )
f = sym.Variable("f", "vol")
bc = sym.Variable("f", "bdry")
sigma = sym.Variable("sigma", "bdry")

kernel = sumpy.LaplaceKernel(3)

u_sym = (
    sym.IntG(kernel, f, source="vol", target="vol")
    + sym.D(kernel,sym.IterativeInverse(
        0.5*sigma + sym.D(kernel, sigma),
        rhs=bc - sym.IntG(kernel, f, source="vol", target="bdry")),
        variable_name="sigma"))

u = bind(geom, u_sym)(queue, f=..., bc=....)
Edited by Andreas Klöckner