Skip to content

mipals/BoundaryIntegralEquations.jl

Repository files navigation

BoundaryIntegralEquations.jl

Documentation Tests CodeCov Lifecycle Aqua
Build Status Coverage Aqua QA

BoundaryIntegralEquations.jl provides the basic building blocks required for implementing Boundary Element Methods (BEMs). Currently, it supplies the discretization of the Kirchhoff–Helmholtz integral equation found in acoustical applications.

$$\zeta(\mathbf{x})p(\mathbf{x}) + \int_\Gamma \frac{\partial G(\mathbf{x}, \mathbf{y})}{\partial \mathbf{n}(\mathbf{y})}p(\mathbf{y})\ \mathrm{d}S_\mathbf{y} - \mathrm{i} \rho_0 c k \int_\Gamma G(\mathbf{x},\mathbf{y})v_\mathbf{n}(\mathbf{y})\ \mathrm{d}S_\mathbf{y} = 0.$$

where

$$G(\mathbf{x},\mathbf{y}) = \frac{\exp\left(\mathrm{i}k\|\mathbf{x} - \mathbf{y}\|_2\right)}{4\pi\|\mathbf{x} - \mathbf{y}\|_2},$$

is the Green's function of the Helmholtz operator, $k$ is the wavenumber, $\rho_0$ is the ambient density and $c$ is the speed of sound.

The package supplies support for acceleration methods such as e.g. the Fast Multipole Method (FMM) and Hierarchical matrices. For the FMM the package utilizes the Flatiron Institute Fast Multipole Libraries (2D, 3D) whereas for Hierarchical matrices it uses the HMatrices.jl package.

Installation

The package can be installed directly from GitHub

using Pkg
Pkg.add(url="https://github.com/mipals/BoundaryIntegralEquations.jl")

Mesh formats

  • COMSOLs .mphtxt files (including entity description)
  • obj, stl, ply, off and 2DM through MeshIO.jl.

Similar Packages

  • BEAST.jl: Boundary Element Analysis and Simulation Toolkit. A general toolkit, with a focus on electromagnetics. Limitations with respect to element orders and only supplies Galerkin assembly.
  • NESSie.jl: Nonlocal Electrostatics in Structured Solvents. A specialized package written specifically for Nonlocal protein eletrostatics.

About

A simple package for solving Boundary Integral Equations using the (collocation) Boundary Element Method.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages