https://github.com/cmuenger/beast.jl

Boundary Element Analysis and Simulation Toolkit

https://github.com/cmuenger/beast.jl

Science Score: 10.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.1%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Boundary Element Analysis and Simulation Toolkit

Basic Info
  • Host: GitHub
  • Owner: cmuenger
  • License: other
  • Language: Julia
  • Default Branch: master
  • Size: 2.68 MB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 82
  • Releases: 0
Fork of krcools/BEAST.jl
Created almost 6 years ago · Last pushed about 1 year ago
Metadata Files
Readme License

README.md

Docs-stable 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:

```julia 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 ...

```

                

Owner

  • Login: cmuenger
  • Kind: user

GitHub Events

Total
  • Push event: 8
Last Year
  • Push event: 8

Dependencies

.github/workflows/CI.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • codecov/codecov-action v1 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite