BoundaryIntegralEquations.jl
A simple package for solving Boundary Integral Equations using the (collocation) Boundary Element Method.
Install / Use
/learn @mipals/BoundaryIntegralEquations.jlREADME
BoundaryIntegralEquations.jl
| Documentation | Tests | CodeCov | Lifecycle | Aqua |
|:-----------------:|:---------:|:-----------:|:-------------:|:--------:|
||
|
|
|
|
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,offand2DMthrough 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.
Related Skills
node-connect
339.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.9kCommit, push, and open a PR
