Boundary Element Analysis and Simulation Toolkit
This package contains common basis functions and assembly routines for the implementation of boundary element methods. Examples are included for the 2D and 3D Helmholtz equations and for the 3D Maxwell equations.
Support for the space-time Galerkin based solution of time domain integral equations is in place for the 3D Helmholtz and Maxwell equations.
BEAST is done by entering the package manager (enter
] at the julia REPL) and issuing:
To run the examples, the following steps are required in addition:
pkg> add CompScienceMeshes # For the creation of scatterer geometries pkg> add Plots # For visualising the results pkg> add GR # Other Plots compatible back-ends can be chosen
Examples can be run by:
julia>using BEAST julia>d = dirname(pathof(BEAST)) julia>include(joinpath(d,"../examples/efie.jl"))
To solve scattering of a time harmonic electromagnetic plane wave by a perfectly conducting sphere:
using CompScienceMeshes, BEAST Γ = readmesh(joinpath(dirname(pathof(BEAST)),"../examples/sphere2.in")) X = raviartthomas(Γ) t = Maxwell3D.singlelayer(wavenumber=1.0) E = Maxwell3D.planewave(direction=ẑ, polarization=x̂, wavenumber=1.0) e = (n × E) × n @hilbertspace j @hilbertspace k efie = @discretise t[k,j]==e[k] j∈X k∈X u = gmres(efie)
1 day ago