Skip to content
forked from krcools/BEAST.jl

Boundary Element Analysis and Simulation Toolkit

License

Notifications You must be signed in to change notification settings

lvchien/BEAST.jl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Docs-stable Docs-dev MIT license CI codecov.io DOI

Introduction

This Julia package, the boundary element analysis and simulation toolkit (BEAST), provides routines to convert integral and differential equations to linear systems of equations via the boundary element method (BEM) and the finite element method (FEM). To this end, the (Petrov-) Galerkin method is employed.

Currently, the focus is on equations encountered in classical electromagnetism, where frequency and time domain equations are covered. Several operators, basis functions, and geometry representations are implemented.

Documentation

Hello World

To solve scattering of a time-harmonic electromagnetic plane wave by a perfectly conducting sphere:

using CompScienceMeshes
using BEAST

# --- basis functions
Γ  = meshsphere(1.0, 2.5)   # triangulate sphere of radius one
RT = raviartthomas(Γ)       # define basis functions

# --- operators & excitation
𝑇 = Maxwell3D.singlelayer(wavenumber=2.0)                             # integral operator
𝐸 = Maxwell3D.planewave(direction=x̂, polarization=ẑ, wavenumber=2.0)  # excitation
𝑒 = (n × 𝐸) × n # tangential part

# --- compute the RHS and system matrix
e = assemble(𝑒, RT)         # assemble RHS
T = assemble(𝑇, RT, RT)     # assemble system matrix

# --- solve
u = T \ -e

# ... post processing ...

                

About

Boundary Element Analysis and Simulation Toolkit

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Julia 100.0%