19 research outputs found

    Efficient computation and applications of the CalderĂłn projector

    Get PDF
    The boundary element method (BEM) is a numerical method for the solution of partial differential equations through the discretisation of associated boundary integral equations.BEM formulations are commonly derived from properties of the Calderón projector, a blocked operator containing four commonly used boundary integral operators. In this thesis, we look in detail at the Calderón projector, derive and analyse a novel use of it to impose a range of boundary conditions, and look at how it can be efficiently computed. Throughout, we present computations made using the open-source software library Bempp, many features of which have been developed as part of this PhD. We derive a method for weakly imposing boundary conditions on BEM, inspired by Nitsche’s method for finite element methods. Formulations for Laplace problems with Dirichlet, Neumann, Robin, and mixed boudary conditions are derived and analysed. For Robin and mixed boundary conditions, the resulting formulations are simpler than standard BEM formulations, and convergence at a similar rate to standard methods is observed. As a more advanced application of this method, we derive a BEM formulation for Laplace’s equation with Signorini contact conditions. Using the weak imposition framework allows us to naturally impose this more complex boundary condition; the ability to do this is a significant advantage of this work. These formulations are derived and analysed, and numerical results are presented. Using properties of the Calderón projector, methods of operator preconditioning for BEM can be derived. These formulations involve the product of boundary operators. We present the details of a discrete operator algebra that allows the easy calculation of these products on the discrete level. This operator algebra allows for the easy implementation of various formulations of Helmholtz and Maxwell problems, including regularised combined field formulations that are immune to ill-conditioning near eigenvalues that are an issue for other formulations. We conclude this thesis by looking at weakly imposing Dirichlet and mixed Dirichlet–Neumann boundary condition on the Helmholtz equation. The theory for Laplace problems is extended to apply to Helmholtz problems, and an application to wave scattering from multiple scatterers is presented

    Weak imposition of Signorini boundary conditions on the boundary element method

    Get PDF
    We derive and analyse a boundary element formulation for boundary conditions involving inequalities. In particular, we focus on Signorini contact conditions. The Calder\'on projector is used for the system matrix and boundary conditions are weakly imposed using a particular variational boundary operator designed using techniques from augmented Lagrangian methods. We present a complete numerical a priori error analysis and present some numerical examples to illustrate the theory

    Bempp-cl: A fast Python based just-in-time compiling boundary element library

    Get PDF
    Summary The boundary element method (BEM) is a numerical method for approximating the solution of certain types of partial differential equations (PDEs) in homogeneous bounded or unbounded domains. The method finds an approximation by discretising a boundary integral equation that can be derived from the PDE. The mathematical background of BEM is covered in, for example, Steinbach (2008) or McLean (2000). Typical applications of BEM include electrostatic problems, and acoustic and electromagnetic scattering. Bempp-cl is an open-source boundary element method library that can be used to assemble all the standard integral kernels for Laplace, Helmholtz, modified Helmholtz, and Maxwell problems. The library has a user-friendly Python interface that allows the user to use BEM to solve a variety of problems, including problems in electrostatics, acoustics and electromagnetics. Bempp-cl began life as BEM++, and was a Python library with a C++ computational core. The ++ slowly changed into pp as functionality gradually moved from C++ to Python with only a few core routines remaining in C++. Bempp-cl is the culmination of efforts to fully move to Python, and is an almost complete rewrite of Bempp. For each of the applications mentioned above, the boundary element method involves approximating the solution of a partial differential equation (Laplace’s equation, the Helmholtz equation, and Maxwell’s equations respectively) by writing the problem in boundary integral form, then discretising. For example, we could calculate the scattered field due to an electromagnetic wave colliding with a series of screens by solving ∇ x ∇ x E - k2E = 0; v x E = 0 on the screens; where E is the sum of a scattered field Es and an incident field Einc, and ïżœ is the direction normal to the screen. (Additionally, we must impose the Silver–MĂŒller radiation condition to ensure that the problem has a unique solution.) This problem is solved, and the full method is derived, in one of the tutorials available on the Bempp website (Betcke & Scroggs, 2020a). The solution to this problem is shown below

    Boundary element methods for Helmholtz problems with weakly imposed boundary conditions

    Full text link
    We consider boundary element methods where the Calder\'on projector is used for the system matrix and boundary conditions are weakly imposed using a particular variational boundary operator designed using techniques from augmented Lagrangian methods. Regardless of the boundary conditions, both the primal trace variable and the flux are approximated. We focus on the imposition of Dirichlet and mixed Dirichlet--Neumann conditions on the Helmholtz equation, and extend the analysis of the Laplace problem from the paper \emph{Boundary element methods with weakly imposed boundary conditions} to this case. The theory is illustrated by a series of numerical examples.Comment: 27 page

    Boundary element methods for Helmholtz problems with weakly imposed boundary conditions

    No full text
    We consider boundary element methods where the CalderĂłn projector is used for the system matrix and boundary conditions are weakly imposed using a particular variational boundary operator designed using techniques from augmented Lagrangian methods. Regardless of the boundary conditions, both the primal trace variable and the flux are approximated. We focus on the imposition of Dirichlet conditions on the Helmholtz equation, and extend the analysis of the Laplace problem from \emph{Boundary element methods with weakly imposed boundary conditions} to this case. The theory is illustrated by a series of numerical examples

    Weak Imposition of Signorini Boundary Conditions on the Boundary Element Method

    No full text

    Coupling finite and boundary element methods to solve the Poisson–Boltzmann equation for electrostatics in molecular solvation

    No full text
    The Poisson–Boltzmann equation is widely used to model electrostatics in molecular systems. Available software packages solve it using finite difference, finite element, and boundary element methods, where the latter is attractive due to the accurate representation of the molecular surface and partial charges, and exact enforcement of the boundary conditions at infinity. However, the boundary element method is limited to linear equations and piecewise constant variations of the material properties. In this work, we present a scheme that couples finite and boundary elements for the linearised Poisson–Boltzmann equation, where the finite element method is applied in a confined solute region and the boundary element method in the external solvent region. As a proof‐of‐concept exercise, we use the simplest methods available: Johnson–NĂ©dĂ©lec coupling with mass matrix and diagonal preconditioning, implemented using the Bempp‐cl and FEniCSx libraries via their Python interfaces. We showcase our implementation by computing the polar component of the solvation free energy of a set of molecules using a constant and a Gaussian‐varying permittivity. As validation, we compare against well‐established finite difference solvers for an extensive binding energy data set, and with the finite difference code APBS (to 0.5%) for Gaussian permittivities. We also show scaling results from protein G B1 (955 atoms) up to immunoglobulin G (20,148 atoms). For small problems, the coupled method was efficient, outperforming a purely boundary integral approach. For Gaussian‐varying permittivities, which are beyond the applicability of boundary elements alone, we were able to run medium to large‐sized problems on a single workstation. The development of better preconditioning techniques and the use of distributed memory parallelism for larger systems remains an area for future work. We hope this work will serve as inspiration for future developments that consider space‐varying field parameters, and mixed linear‐nonlinear schemes for molecular electrostatics with implicit solvent models
    corecore