ROSEBEM

For some theory look here.

BoundaryIntegralEquations.taylor_assemble!Function
taylor_assemble!(mesh::Mesh3d,k,in_sources,shape_function::Triangular;
                        M=0,fOn=true,gOn=true,cOn=true,m=3,n=3,progress=true,U=I)

Return:

  • From: Contains the derivatives of the F-matrix.
  • Grom: Contains the derivatives of the G-matrix.
  • C: Contains the integral free term.
source
BoundaryIntegralEquations.apply_taylor_expansionMethod
apply_taylor_expansion(Abasis,bbasis,k,k0)

Assembling the Taylor series expansion with expansion wavenumber k0 at a new wavenumber k and derivative matrices defined in Abasis and right-hand side defiend by bbasis. \newline Returns the system matrix and right-hand side, Arom*x = brom

source
BoundaryIntegralEquations.arnoldi_basisMethod
arnoldi_basis(A,b,q)

Computes the first q Krylov vectors of the linear system A*x=b using the Arnodli method. Returns a matrix V whose columsn are equal to the Krylov vectors.

source
BoundaryIntegralEquations.scattering_krylov_basisMethod
scattering_krylov_basis(mesh,klist;eps=1-4,n_gauss=3,verbose=true,P₀=1,progress=true)

Computes a reduced basis for the scattering of an incident wave. The basis is defined by computing the solution at the wavenumbers defined in klist. The number of basis vectors at each wavenumber is chosen to be equal number of iterations of the gmres algorithm. Returns:

  • U: The reduced basis matrix.
  • solutions: Colums equal to the solution at each wavenumbers in klist.
  • qlist: The number of Krylov vectors used at each wavenumber in klist.
source