ROSEBEM
For some theory look here.
BoundaryIntegralEquations.compute_taylor_integrals! — Functioncompute_taylor_integrals!Approximates the integral of freens3d!, greens3d! and freens3dk0! multiplied by the shapefunction over single shape_function, defined by coordinates.
BoundaryIntegralEquations.taylor_assemble! — Functiontaylor_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 theF-matrix.Grom: Contains the derivatives of theG-matrix.C: Contains the integral free term.
BoundaryIntegralEquations.apply_taylor_expansion — Methodapply_taylor_expansion(Abasis,k,k0)Assembling the Taylor series expansion with expansion wavenumber k0 at a new wavenumber k and derivative matrices defined in Abasis.
BoundaryIntegralEquations.apply_taylor_expansion — Methodapply_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
BoundaryIntegralEquations.arnoldi_basis — Methodarnoldi_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.
BoundaryIntegralEquations.scattering_krylov_basis — Methodscattering_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 inklist.qlist: The number of Krylov vectors used at each wavenumber inklist.