Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
686 commits
Select commit Hold shift + click to select a range
3b70b4c
bug fix test file
jayprakashdav Mar 12, 2024
2a5ad7c
removed local from test_rt2
krcools Mar 13, 2024
0f98466
Merge pull request #120 from jayprakashdav/higher-order-basis-funs
krcools Mar 13, 2024
9718cb8
Merge pull request #121 from djukic14/bugfix/gamma_wavenumber_handler
krcools Mar 15, 2024
30d9e35
correct push forward for curl conformgin fields
krcools Mar 18, 2024
ff98f28
fixup: return correct scalartype for static operators
sbadrian Mar 24, 2024
4390322
Correct momintegration on mixed dual-primal test and trial combinations
sbadrian Mar 24, 2024
c1b2fee
Fix linear combinations of TD operators
krcools Apr 3, 2024
fac1722
Added support for LagrangeRefSpace{T, 1, 4, 4}
bmergl Apr 8, 2024
330cad0
Added 3D strace formulation
bmergl Apr 8, 2024
15122a3
Add Lippmann-Schwinger VIE
bmergl Apr 8, 2024
aa4460d
Allow interpolatory dual piecewise constant basis functions
sbadrian Mar 25, 2024
b914087
Add unit test for mixed discretizations
sbadrian Mar 25, 2024
88bf3c6
Add interpolation support for Helmholtz RHS
sbadrian Apr 11, 2024
17ca764
Reactivate RKCQ in Julia 1.9.x
TimHRO Jan 18, 2024
aac6fbb
Add 2nd derivative of Gaussian + inverse Fourier transform
TimHRO Jan 18, 2024
3e08f1e
RKCQ leverages modern ConvolutionOperators interface
TimHRO Mar 22, 2024
ce8e271
Add unit test for Runge-Kutta Convolution Quadrature
TimHRO Apr 11, 2024
d9d0d18
Merge pull request #125 from sbadrian/feature/enable_mixed_Helmholtz_…
krcools Apr 12, 2024
f9c2122
Merge pull request #124 from sbadrian/bugfix/gamma_0
krcools Apr 12, 2024
a81adcf
Merge pull request #127 from sbadrian/feature/interpolation_helmholtz…
krcools Apr 12, 2024
9cfe74e
Merge pull request #126 from bmergl/feature/lsvie_4
krcools Apr 12, 2024
a7c2b35
update doc manifest
krcools Apr 14, 2024
da42f0c
Merge branch 'master' of https://github.com/krcools/BEAST.jl
krcools Apr 14, 2024
43f9c3f
Add windows for CI
krcools Apr 15, 2024
8652804
Merge pull request #128 from TimHRO/feature/reactivate_irk_efie
krcools Apr 15, 2024
0e27df5
remove win from CI (too slow), relax error bounds hh3d
krcools Apr 15, 2024
e10b9c4
Merge branch 'master' of https://github.com/krcools/BEAST.jl
krcools Apr 15, 2024
b70ac18
test_tdefie_irk uses a prebuilt mesh
krcools Apr 15, 2024
ba09d4f
mesh for test_hh3d_nearfield prebuilt
krcools Apr 15, 2024
281ec5f
Update README.md
krcools Apr 16, 2024
2c20358
Set version to 2.3.0
krcools Apr 16, 2024
3ce9f99
Merge branch 'master' of https://github.com/krcools/BEAST.jl
krcools Apr 16, 2024
809ff69
Update Project.toml
krcools Apr 16, 2024
5b645d9
scalartype for scalar plane wave
Apr 22, 2024
3f01a72
Merge with upstream
Apr 22, 2024
ac693d5
Merge with upstream v2
Apr 22, 2024
85ee3a6
bug fix VIEIntegrand
bmergl Apr 30, 2024
a9fb114
Merge pull request #130 from bmergl/bugfix/VIEIntegrand
krcools May 2, 2024
7d6707e
CompatHelper: bump compat for CompScienceMeshes to 0.7, (keep existin…
May 10, 2024
f095821
integralop quadstrat for non conforming meshes
krcools May 10, 2024
8cf240e
Merge branch 'master' of https://github.com/krcools/BEAST.jl
krcools May 10, 2024
e7164c4
set version to 2.4.0
krcools May 10, 2024
e939dd8
bring point coincidence checking in line with SSQ.jl
krcools May 13, 2024
8398e18
add examples meshes
krcools May 13, 2024
05ff0ff
Merge remote-tracking branch 'upstream/compathelper/new_version/2024-…
azuccott May 15, 2024
9f8be68
Merge remote-tracking branch 'upstream/compathelper/new_version/2024-…
azuccott May 15, 2024
0971a46
Merge remote-tracking branch 'upstream/compathelper/new_version/2024-…
azuccott May 15, 2024
a75e2d0
minor modifications
azuccott May 15, 2024
800f451
removed tests in nonconforming qrules that rurned out too sensitive
krcools May 21, 2024
7050132
gmsh independent nonconf meshes
krcools May 22, 2024
2b91fcd
Merge branch 'master' of https://github.com/krcools/BEAST.jl
krcools May 22, 2024
6b15a13
Change assembly of BilForm
paresula Jun 6, 2024
9d2f90b
partial work
krcools Jun 11, 2024
80a3ba2
support for quadrilateral meshes
krcools Jun 12, 2024
7329595
set version to 2.5.0
krcools Jun 12, 2024
d204aac
Building new structure for all analytical ints
azuccott Jun 13, 2024
c2d4539
Update analyticalints.jl
azuccott Jun 17, 2024
be8a5a4
convenience function for RTquad construction
krcools Jun 19, 2024
3d39480
pullback of quadrature points implemented
PaulOlyslager Jun 21, 2024
383e640
edit mistake in permutation
PaulOlyslager Jun 21, 2024
b4b2979
adding general chart independent method, to also cover quadrilateral …
PaulOlyslager Jun 22, 2024
0caed85
consolidation quadstrats - tests pass
krcools Jun 28, 2024
4577125
dispatch on refined meshes all via quadstrat
krcools Jun 28, 2024
fada046
update BlockArrays compat entry
krcools Jun 28, 2024
ded227e
Merge branch 'master' into pr/paresula/134-1
krcools Jun 28, 2024
6c6d8fe
update with upstream
krcools Jun 28, 2024
8b22ac9
Merge pull request #134 from paresula:bugfix/assembly_BilForm
krcools Jun 28, 2024
a6faf5f
Merge branch 'master' into pr/PaulOlyslager/136
krcools Jun 28, 2024
b3c31cf
type stable reparametrisation of Sauter-Schwab integrals
krcools Jul 3, 2024
c6e5853
Merge pull request #136 from PaulOlyslager/pullbackquadpoints
krcools Jul 3, 2024
82f03a7
CompatHelper: bump compat for TestItems to 1, (keep existing compat)
Jul 8, 2024
eddd2d6
Extend docstrings to functions related to basis
sbadrian Jul 6, 2024
1078fdd
Add baseline concept of FEMFunctions
sbadrian Jul 6, 2024
1d71ae8
Fix the tail issue of the identity operator in TD-MFIE
lvchien Aug 19, 2024
7f75ba9
Add LaplaceDomainOperator
lvchien Aug 19, 2024
6c4a947
Merge pull request #138 from krcools/compathelper/new_version/2024-07…
krcools Aug 23, 2024
92770b1
PulledBackIntegrand supports mixed Chart types
krcools Sep 9, 2024
b6d11f5
Merge branch 'master' of https://github.com/krcools/BEAST.jl
krcools Sep 9, 2024
52258b4
fix test to next treatment of tails
krcools Sep 9, 2024
d763724
Merge pull request #141 from lvchien/master
krcools Sep 9, 2024
fafaf2f
Merge branch 'master' into pr/sbadrian/139
krcools Sep 9, 2024
390ebe1
tests in testitem to fix naming conflict
krcools Sep 9, 2024
7275611
Merge pull request #139 from sbadrian/feature/femfunction_2
krcools Sep 9, 2024
9d8c892
require CSM 0.8.2
krcools Sep 10, 2024
0ebfc70
scalar higher order basis plus superficial tests
krcools Sep 13, 2024
1a5a16d
div-conf push forward
krcools Sep 13, 2024
592026c
bug from eval for LagrangeHO
krcools Sep 16, 2024
278265e
Merge branch 'compathelper/new_version/2024-07-08-00-43-22-510-030709…
azuccott Sep 16, 2024
49e78ec
debugged computation of curl for HO Lag space
krcools Sep 23, 2024
4ec23cf
continuous higher order scalar spaces
krcools Sep 27, 2024
b12990b
numfunctions now requires both the refspace and refdomain
krcools Oct 1, 2024
eb7589d
self-interpolation verified
krcools Oct 2, 2024
1813773
divergence tested and efie seems to work
krcools Oct 7, 2024
3837d91
divergence tested and efie seems to work
krcools Oct 7, 2024
696619f
Merge branch 'feat/highorderbases' of https://github.com/krcools/BEAS…
krcools Oct 7, 2024
e5146ac
Merge remote-tracking branch 'upstream/master'
azuccott Oct 9, 2024
68804cb
Update runtests.jl
azuccott Oct 9, 2024
97f4c1d
Cleaning master branch
azuccott Oct 9, 2024
68aa02f
fixed type instability in GWP eval
krcools Oct 9, 2024
7537d70
Update quadstrats.jl
azuccott Oct 9, 2024
5b52e37
methods for assembly (Id,GWP,GWP) added
krcools Oct 10, 2024
67496e0
rank on Sparse issues fixed
krcools Oct 10, 2024
fca8afe
support to take the divergence of GWP space
krcools Oct 11, 2024
bac6a5c
adhere to 1.6 parsing rules
krcools Oct 11, 2024
1f8fc18
more parsing issues on 1.6
krcools Oct 11, 2024
e0c2904
Merge pull request #142 from krcools/feat/highorderbases
krcools Oct 11, 2024
1e09437
Merge remote-tracking branch 'upstream/master'
azuccott Oct 15, 2024
1a5769d
Use MVector for GWP local value storage
krcools Oct 17, 2024
2d74d9c
Merge branch 'feat/highorderbases'
krcools Oct 17, 2024
d1682a4
add help to numfunctions to make docbuilding work
krcools Oct 17, 2024
e2e6618
clean is true in docs/make.jl
krcools Oct 17, 2024
4ff2c9e
Update README.md
krcools Oct 17, 2024
677a354
include reusable workspace in gwprefspace to avoid allocs
krcools Oct 22, 2024
612065a
Merge branch 'master' of https://github.com/krcools/BEAST.jl
krcools Oct 22, 2024
3d3f095
efie convergence examples
krcools Oct 23, 2024
031669f
nonconf quadrules use correct signature momintegrals
krcools Oct 24, 2024
95789fa
VIE bugfix
bmergl Oct 24, 2024
3029def
Added scalartype for TD-Helmholtz. Added single thread dispatch for T…
Oct 30, 2024
89fc2ad
Merge remote-tracking branch 'upstream/master'
Oct 30, 2024
d7eb907
Merge remote-tracking branch 'upstream/master'
azuccott Nov 6, 2024
33e4411
adjoint of GMRESSolver fixed
krcools Nov 7, 2024
291a8e3
Merge branch 'master' of https://github.com/krcools/BEAST.jl
krcools Nov 7, 2024
a504816
add convergence study to examples
krcools Nov 7, 2024
77584d8
Merge branch 'master' of github.com:krcools/BEAST.jl
krcools Nov 7, 2024
d3747ca
Type Stable Re-Parameterization of SingleNumQStrat
Nov 11, 2024
58bed94
Merge remote-tracking branch 'upstream/master'
azuccott Nov 12, 2024
4d485d1
Update builddual.jl
azuccott Nov 12, 2024
d234b22
Update builddual.jl
azuccott Nov 12, 2024
f387b8a
Update Project.toml
azuccott Nov 12, 2024
4fa214f
Update ncrossbdmlocal.jl
azuccott Nov 13, 2024
809e480
perms of curl conf spaces not needed
azuccott Nov 13, 2024
1059232
space correction
azuccott Nov 13, 2024
87e7773
nonconformingtouchrule no longer checks on conformity of local mesh r…
krcools Dec 2, 2024
96e45a4
Merge branch 'master' of https://github.com/krcools/BEAST.jl
krcools Dec 2, 2024
0f03d18
add discontinuous pairing example
krcools Dec 4, 2024
a27aa3f
Merge pull request #148 from surzks/SingleNumQStratcommit3
krcools Dec 4, 2024
f7bfc75
Adding some higher order functionality and single thread support for …
Dec 6, 2024
38e0207
discontinuous_pairing example
krcools Dec 20, 2024
12d987d
Merge branch 'master' of https://github.com/krcools/BEAST.jl
krcools Dec 20, 2024
263926d
some tests got unborken by update in WiltonInts
krcools Dec 20, 2024
e7e801a
Merge pull request #151 from azuccott/master
krcools Dec 20, 2024
0f4fa41
unbreak tests in tdmwdbl
krcools Dec 20, 2024
ff570e4
Merge pull request #146 from bmergl/vie_fix
krcools Dec 20, 2024
d396992
using a given Matrix as discretisation now works for any AbstractMatrix
krcools Jan 15, 2025
b9ce810
Merge branch 'master' of https://github.com/krcools/BEAST.jl
krcools Jan 15, 2025
ce20e02
Lowest supported julia is current LTS 1.10
krcools Jan 16, 2025
84d7e91
Fix consistency in 2nd order Lagrange basis
Feb 6, 2025
218855a
Add specialized integral operator for doublelayer loop-loop
Feb 6, 2025
58638d9
fixing interpolation for first order
PaulOlyslager Feb 7, 2025
615fba7
new structure for docs
HoBeZwe Nov 7, 2024
7723c1a
update README
HoBeZwe Nov 7, 2024
b6ceec6
add information + improve on structure
HoBeZwe Nov 12, 2024
b00ffeb
interim deploy config to host on fork and feature branch
HoBeZwe Nov 12, 2024
eb90bb8
add some more details & structure
HoBeZwe Nov 12, 2024
07f2878
update README
HoBeZwe Nov 13, 2024
e13d432
revert changes to build docs from master branch again
HoBeZwe Feb 8, 2025
6c1e925
Merge pull request #154 from HoBeZwe/feature/docs
krcools Feb 10, 2025
fdd5d73
quadstrat is either a function or qs object
krcools Feb 20, 2025
7a75c86
quadstrat can be passed as a function
krcools Feb 21, 2025
1b2f669
quadstrat as function works for linear combos
krcools Feb 25, 2025
41511b4
add docs for quadstrat and variational forms
krcools Feb 28, 2025
7d01d41
Calderon for PMCHWT added to docs
krcools Feb 28, 2025
e854d13
efie on graded mesh example
krcools Mar 3, 2025
9b6f0dc
test pass but TD quadstrat mechanic not working
krcools Mar 12, 2025
788ea75
tdpmchwt can be assembled again
krcools Mar 12, 2025
4416a18
tdexc quadstrat refactored and tested
krcools Mar 18, 2025
75d743f
refactored exciation code and added docs
krcools Mar 19, 2025
d37954d
assemble of localop containing empty blocks
krcools Mar 21, 2025
9696421
strace method for incident scalar fields taking a single arg
krcools Mar 27, 2025
da4811d
Update CI.yml
krcools Mar 27, 2025
a27fb5e
fixed path to sphere45
krcools Mar 27, 2025
2db698d
Merge branch 'master' of https://github.com/krcools/BEAST.jl
krcools Mar 27, 2025
e434500
broken asset path fixed in localop
krcools Mar 27, 2025
6cd6e5a
fixed broken asset path in numspacenumtimeqstrat.jl
krcools Mar 27, 2025
3af507e
Increase min support version CSM in compat
krcools Mar 28, 2025
f7e7f1e
test use the mesh generator for which they were designed
krcools Mar 31, 2025
05d7f19
Update CI.yml
krcools Mar 31, 2025
62e516f
Update CI.yml
krcools Mar 31, 2025
8dc730d
docs can show facecurrents
krcools Apr 1, 2025
e7180a6
Merge branch 'master' of https://github.com/krcools/BEAST.jl
krcools Apr 1, 2025
9d36385
remove docs/Manifest.toml
krcools Apr 1, 2025
24186dc
integralop can deal with zero sized blocks
krcools Apr 1, 2025
d298ac8
tutorial in how to implement new quadstrat
krcools Apr 5, 2025
b177f9f
fix some errors in quadrule.md
krcools Apr 5, 2025
b52bd3e
set version to 2.6.0
krcools Apr 8, 2025
4793f6e
Update TagBot.yml
krcools Apr 8, 2025
cee796f
Update README.md
krcools Apr 8, 2025
f15e45f
Update TagBot.yml
krcools Apr 11, 2025
a67e27e
Update README.md
krcools Apr 11, 2025
f02f99f
less verbose
krcools Apr 14, 2025
51f8e0d
Remove some more output
krcools Apr 15, 2025
7c9e980
Merge branch 'master' of https://github.com/krcools/BEAST.jl
krcools Apr 15, 2025
c63c16c
increased use of testitems
krcools Apr 15, 2025
ab8c195
Mysterious test failure fixed by removing test_hh3dexc from inclusion…
krcools Apr 16, 2025
2171fa7
Assembly into sparse for finite range integral ops
krcools Apr 16, 2025
0a0144c
Merge pull request #155 from krcools/feat/quasilocalops
krcools Apr 16, 2025
c41693d
allow custom nominator in lossy single layer
krcools Apr 17, 2025
49d8a19
Print compression rate when assembling quasilocalop
krcools Apr 24, 2025
5769703
multiples of quasi local ops use sparse storage
krcools Apr 24, 2025
0271123
quasilocalops assembly uses bloated octree to increase sparsity
krcools Apr 28, 2025
2795dc9
Align 2D-Helmholtz code and introduce 1D-SauterSchwab
sbadrian Jul 25, 2024
ae9cbe9
fix type issue in Octree construction
krcools Apr 28, 2025
a77dbc9
Merge pull request #153 from PaulOlyslager/fix-first-order-interpolation
krcools Apr 28, 2025
e65f402
Merge pull request #157 from sbadrian/feature/refactor_helmholtz2d_5
krcools Apr 28, 2025
9f4bfc5
chechdocs=:none
krcools Apr 28, 2025
ef9f4d4
set version to 2.7.0
krcools Apr 28, 2025
66c05ea
single colorbar in bilinear.md
krcools May 1, 2025
6c8dd38
docs example custom operator
krcools May 6, 2025
7ba6085
small fixes itsolvers and higher-order lagrange basis
May 7, 2025
a562a45
low frequency double layer and planewave
May 7, 2025
5aa36e6
resolve merge conflicts after fetching upstream
May 9, 2025
da9ae90
tutorial pages generated by Literate
krcools May 9, 2025
d99d2e2
CompatHelper: bump compat for SauterSchwab3D to 0.2, (keep existing c…
May 10, 2025
d92bebb
localop assembly returns sparse
krcools May 12, 2025
ee99c7b
quadstrat is passed down to assemble! after multi-thread work balancing
krcools May 15, 2025
626c667
be explicit about meshcuboid generator in tests
krcools May 28, 2025
b4e1d1a
update global MT example
krcools Jun 12, 2025
2c23560
Fix TD defaultquadrature for linear combinations
Jun 16, 2025
035c806
Merge remote-tracking branch 'upstream/master'
Jun 16, 2025
e5b5c58
grid functions allow selection by hilbertvector
krcools Jun 16, 2025
07a2faa
Merge pull request #159 from krcools/compathelper/new_version/2025-05…
krcools Jun 16, 2025
a0f7039
Merge pull request #161 from cmuenger/master
krcools Jun 17, 2025
52a9a77
reset SauterSchwab compat entry to 0.1 for now
krcools Jun 17, 2025
e6bf7ba
update SauterSchwab3D
bmergl Jun 19, 2025
b24b740
update CompScienceMeshes
bmergl Jun 19, 2025
819aa5e
VIE Rework
bmergl Jun 19, 2025
7ac210c
Add VIE tests
bmergl Jun 19, 2025
79b5c95
Merge pull request #163 from bmergl/vie_rework
krcools Jun 21, 2025
13dbd14
depend on BlockArrays v1
krcools Jun 21, 2025
ce7675a
fix typo in integralop
krcools Jun 22, 2025
4ee5c03
workaround for assembly of td bilinear forms
krcools Jun 22, 2025
94a858b
ibc examples
krcools Jul 23, 2025
f0c67fe
Merge branch 'master' of github.com:krcools/BEAST.jl
krcools Jul 23, 2025
9993418
restructure examples
krcools Jul 23, 2025
ed419e3
set version to 2.7.1
krcools Jul 23, 2025
6b8d68f
extend and union added to space interface
krcools Jul 29, 2025
2ca07c1
increase CSM compat entry to 0.10
krcools Jul 30, 2025
69be765
added single trace pmchwt example using makeitso
krcools Jul 31, 2025
3c7ad78
Krylov.jl GMRES now supported
krcools Aug 5, 2025
e56bd10
add calderon pmchwt example
krcools Aug 5, 2025
c92a219
GMRES from Krylov.jl wrapped as LinearMap
krcools Aug 5, 2025
f1cac06
add test for neumann bcs
krcools Aug 8, 2025
b225068
Set version to 2.7.2
krcools Aug 11, 2025
ed92fad
Align Helmholtz2D with Helmholtz3D code
sbadrian May 6, 2025
e4ce1c7
2D-Helmholtz: Add TangentTrace, ẑ x support, and Mie integration test
sbadrian Aug 21, 2025
0936a15
Refactor hh2d near
sbadrian Aug 28, 2025
4a9685e
Minus sign error
sbadrian Sep 1, 2025
d2a4aa6
Bugfix in RHS
sbadrian Sep 1, 2025
77ba027
Adding HH2DMonopole Curl
surzks Sep 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
47 changes: 47 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: CI
on:
pull_request:
branches:
- master
push:
branches:
- master
tags: '*'
jobs:
test:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
version:
- '1.10' # Replace this with the minimum Julia version that your package supports. E.g. if your package requires Julia 1.5 or higher, change this to '1.5'.
- '1' # Leave this line unchanged. '1' will automatically expand to the latest stable 1.x release of Julia.
os:
- ubuntu-latest
arch:
- x64
steps:
- uses: actions/checkout@v2
- uses: julia-actions/setup-julia@v1
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: actions/cache@v4
env:
cache-name: cache-artifacts
with:
path: ~/.julia/artifacts
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
restore-keys: |
${{ runner.os }}-test-${{ env.cache-name }}-
${{ runner.os }}-test-
${{ runner.os }}-
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-runtest@v1
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/codecov-action@v4
with:
files: lcov.info
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false
29 changes: 29 additions & 0 deletions .github/workflows/Documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Documentation

on:
push:
branches:
- master # update to match your development branch (master, main, dev, trunk, ...)
tags: '*'
pull_request:
branches:
- master

jobs:
build:
permissions:
contents: write
statuses: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v1
with:
version: '1'
- name: Install dependencies
run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
- name: Build and deploy
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # If authenticating with GitHub Actions token
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} # If authenticating with SSH deploy key
run: julia --project=docs/ docs/make.jl
21 changes: 19 additions & 2 deletions .github/workflows/TagBot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,22 @@ on:
types:
- created
workflow_dispatch:
inputs:
lookback:
default: "3"
permissions:
actions: read
checks: read
contents: write
deployments: read
issues: read
discussions: read
packages: read
pages: read
pull-requests: read
repository-projects: read
security-events: read
statuses: read
jobs:
TagBot:
if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot'
Expand All @@ -12,5 +28,6 @@ jobs:
- uses: JuliaRegistries/TagBot@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
ssh: ${{ secrets.DOCUMENTER_KEY }}

# Edit the following line to reflect the actual name of the GitHub Secret containing your private key
ssh: ${{ secrets.DOCUMENTER_SSH_KEY }}
# ssh: ${{ secrets.NAME_OF_MY_SSH_PRIVATE_KEY_SECRET }}
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,9 @@ docs/site/
temp/
dev/
profile/
Manifest.toml
/envs/
/Manifest.toml
/test/Manifest.toml
/docs/Manifest.toml
/examples/Manifest.toml
data/
13 changes: 0 additions & 13 deletions .travis.yml

This file was deleted.

11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Changelog

# New in 2.7.2

- GMRES from Krylov.jl wrapped as a LinearMap
- Function `union` for a vector of spaces of the same type and defined on the same mesh returns a space containing the union of the functions in the input spaces.
- Function `extend` computes the extension by zero of functions defined on a submesh. Currently works only when the corresponding cellls in the submesh and supermesh are ordered identically (oriented identically is not sufficient).

## New in 2.7.0

- PR #157: Improved support for 2D Helmholtz problems
68 changes: 40 additions & 28 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,51 +1,63 @@
name = "BEAST"
uuid = "bb4162c7-ba94-5a20-af32-d8ec4428bdd1"
version = "1.3.0"
version = "2.7.2"

[deps]
AbstractTrees = "1520ce14-60c1-5f80-bbc7-55ef81b5835c"
BlockArrays = "8e7c35d0-a365-5155-bbbb-fb81a777f24e"
CollisionDetection = "2b5bf9a6-f3f8-5352-af9c-82bb4af718d8"
Combinatorics = "861a8166-3701-5b0c-9a16-15d98fcdc6aa"
CompScienceMeshes = "3e66a162-7b8c-5da0-b8f8-124ecd2c3ae1"
Compat = "34da2185-b29b-5c13-b0c7-acf172513d20"
ConvolutionOperators = "15927181-a1bb-497c-b745-8dbf505c019d"
Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b"
ExtendableSparse = "95c220a8-a1cf-11e9-0c77-dbfce5f500b3"
FFTW = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341"
FastGaussQuadrature = "442a2c76-b920-505d-bb47-c5924d526838"
FillArrays = "1a297f60-69ca-5386-bcde-b61e274b549b"
Infiltrator = "5903a43b-9cc3-4c30-8d17-598619ec4e9b"
InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
IterativeSolvers = "42fd0dbc-a981-5370-80f2-aaf504508153"
Krylov = "ba0b0d4f-ebba-5204-a429-3ac8c609bfb7"
LiftedMaps = "d22a30c1-52ac-4762-a8c9-5838452405e0"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
LinearMaps = "7a12625a-238d-50fd-b39a-03d52299707e"
NestedUnitRanges = "032820ab-dc03-4b49-91f4-7d58d4da98b3"
Requires = "ae029012-a4dd-5104-9daa-d747884805df"
SauterSchwab3D = "0a13313b-1c00-422e-8263-562364ed9544"
SauterSchwabQuadrature = "535c7bfe-2023-5c1d-b712-654ef9d93a38"
SharedArrays = "1a1011a3-84de-559e-8e89-a11a2f7dc383"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
SparseMatrixDicts = "5cb6c4b0-9b79-11e8-24c9-f9621d252589"
SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b"
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
Suppressor = "fd094767-a336-5f1f-9728-57cf17d0bbfb"
TestItems = "1c621080-faea-4a02-84b6-bbd5e436b8fe"
WiltonInts84 = "a3e2863e-c0ee-5ff6-a523-307a4cdc8724"

[compat]
BlockArrays = "^0.10, ^0.11, ^0.12, ^0.13, ^0.14, 0.15"
CollisionDetection = "^0.1"
Combinatorics = "^0.7, ^1"
CompScienceMeshes = "^0.2.8"
Compat = "^2, ^3"
FFTW = "^0.2.3, ^1"
FastGaussQuadrature = "^0.3, ^0.4"
FillArrays = "0.11"
IterativeSolvers = "^0.9"
SauterSchwabQuadrature = "^2.1.1, 2.1"
SparseMatrixDicts = "0.2"
SpecialFunctions = "^0.7, ^0.8, ^0.9, ^0.10, ^1"
StaticArrays = "^0.8.3, ^0.9, ^0.10, ^0.11, ^0.12, ^1"
WiltonInts84 = "^0.2"
julia = "^1.3"

[extras]
DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab"
Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[targets]
test = ["Pkg", "DelimitedFiles", "LinearAlgebra", "SparseArrays", "Test", "Distributed"]
AbstractTrees = "0.4.4"
BlockArrays = "1"
CollisionDetection = "0.1.7"
Combinatorics = "0.7, 1"
CompScienceMeshes = "0.10"
Compat = "2, 3, 4"
ConvolutionOperators = "0.4"
ExtendableSparse = "1.4"
FFTW = "0.2.3, 1"
FastGaussQuadrature = "0.3, 0.4, 0.5, 1"
FillArrays = "0.11, 0.12, 0.13, 1"
Infiltrator = "1.8.2"
IterativeSolvers = "0.9"
Krylov = "0.10.1"
LiftedMaps = "0.5.1"
LinearMaps = "3.7 - 3.9, 3.11.2"
NestedUnitRanges = "0.2.2"
Requires = "1"
SauterSchwab3D = "0.2"
SauterSchwabQuadrature = "2.4.0"
SpecialFunctions = "0.7, 0.8, 0.9, 0.10, 1, 2"
StaticArrays = "0.8.3, 0.9, 0.10, 0.11, 0.12, 1"
Suppressor = "0.2.8"
TestItems = "0.1.1, 1"
WiltonInts84 = "0.2.8"
julia = "1.10"
90 changes: 40 additions & 50 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,72 +1,62 @@
# BEAST

Boundary Element Analysis and Simulation Toolkit
<picture>
<source media="(prefers-color-scheme: dark)" srcset="docs/src/assets/logo_README_white.svg" height="170">
<source media="(prefers-color-scheme: light)" srcset="docs/src/assets/logo_README.svg" height="170">
<img alt="" src="" height="170">
</picture>

[![Build Status](https://travis-ci.org/krcools/BEAST.jl.svg?branch=master)](https://travis-ci.org/krcools/BEAST.jl)

[![Docs-stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://krcools.github.io/BEAST.jl/stable/)
[![MIT license](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/krcools/BEAST.jl/blob/master/LICENSE)
[![CI](https://github.com/krcools/BEAST.jl/actions/workflows/CI.yml/badge.svg)](https://github.com/krcools/BEAST.jl/actions/workflows/CI.yml)
[![codecov.io](http://codecov.io/github/krcools/BEAST.jl/coverage.svg?branch=master)](http://codecov.io/github/krcools/BEAST.jl?branch=master)
[![Documentation](https://img.shields.io/badge/docs-latest-blue.svg)](https://krcools.github.io/BEAST.jl/latest/)
[![DOI](https://zenodo.org/badge/87720391.svg)](https://zenodo.org/badge/latestdoi/87720391)


## Introduction

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

Support for the space-time Galerkin based solution of time domain integral equations is in
place for the 3D Helmholtz and Maxwell equations.
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.

## Installation

Installing `BEAST` is done by entering the package manager (enter `]` at the julia REPL) and issuing:
## Documentation

```
pkg>add BEAST
```
- Documentation for the [latest stable version](https://krcools.github.io/BEAST.jl/stable/).
- Documentation for the [development version](https://krcools.github.io/BEAST.jl/dev/).

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"))
```

## Hello World

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

```julia
using CompScienceMeshes, BEAST
using CompScienceMeshes
using BEAST

Γ = readmesh(joinpath(dirname(pathof(BEAST)),"../examples/sphere2.in"))
X = raviartthomas(Γ)
# --- basis functions
Γ = meshsphere(1.0, 2.5) # triangulate sphere of radius one
RT = raviartthomas(Γ) # define basis functions

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

@hilbertspace j
@hilbertspace k
efie = @discretise t[k,j]==e[k] j∈X k∈X
u = gmres(efie)
```
![](output.png)
# --- compute the RHS and system matrix
e = assemble(𝑒, RT) # assemble RHS
T = assemble(𝑇, RT, RT) # assemble system matrix

## Features
# --- solve
u = T \ -e

- General framework allowing to easily add support for more kernels, finite element spaces, and excitations.
- Assembly routines that take in symbolic representations of the defining bilinear form. Support for block systems and finite element spaces defined in terms of direct products or tensor products of atomic spaces.
- LU and iterative solution of the resulting system.
- Computation of secondary quantities of interest such as the near field and the limiting far field.
- Support for space-time Galerkin and convolution quadrature approaches to the solution of time domain boundary integral equations.
- Implementation of Lagrange zeroth and first order space, Raviart-Thomas, Brezzi-Douglas-Marini, and Buffa-Christianssen vector elemenents.
# ... post processing ...
```
<p align="center">
<img src="docs/src/assets/currentREADME.png" height="240">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<img src="docs/src/assets/currentRealREADME.png" height="240">
</p>
5 changes: 0 additions & 5 deletions TODO.md

This file was deleted.

10 changes: 10 additions & 0 deletions docs/Project.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[deps]
BEAST = "bb4162c7-ba94-5a20-af32-d8ec4428bdd1"
CompScienceMeshes = "3e66a162-7b8c-5da0-b8f8-124ecd2c3ae1"
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
DocumenterCitations = "daee34ce-89f3-4625-b898-19384cb65244"
Krylov = "ba0b0d4f-ebba-5204-a429-3ac8c609bfb7"
Literate = "98b081ad-f1c9-55d3-8b20-4c87d4299306"
PlotlyBase = "a03496cd-edff-5a9b-9e67-9cda94a718b5"
PlotlyDocumenter = "9b90f1cd-2639-4507-8b17-2fbe371ceceb"
TypeTree = "04da0e3b-1cad-4b2c-a963-fc1602baf1af"
Loading
Loading