Giter Club home page Giter Club logo

bie3d's Introduction

BIE3D: MATLAB tools for boundary integral equations on surfaces in 3D

This contains some research codes for high-order accurate 3D Nystrom BIE for scalar elliptic PDEs with constant coefficients inside or outside of a surface. In more detail, it has: global double periodic trapezoid rule and quad-panel based surface quadratures for kernels that have on-surface weak singularities no more singular than 1/r. For the torus and its modulation via a general smooth radius function it has on-surface quadratures only for uniform arbitrary-order quad patches, for the Laplace (an elliptic BVP) and wave-equation (hyperbolic BVP) kernels. For smooth deformations of the sphere, it has global QFS quadratures for the Laplace kernel, built on global spectral interpolations. It also hosts an old self-contained doubly-periodic Laplace dipole summation code.

Author: Alex Barnett

Contributions: Tom Hagstrom - f90 modules for interpolation from time grid.

Version: 20230317 (tested on MATLAB R2022a)

cruller with panel quadrature and on-surface singular scheme

Dependencies

MATLAB. Codes have not been tested on MATLAB versions prior to R2012a.

For timedomainwaveeqn:

  • Fortran compiler to build Hagstrom time interpolation and MEX interface.
  • Some driver scripts need you to have the MATLAB/Octave tool memorygraph
  • Optionally: fsparse from stenglib, compiled with make('openmp',true), for fast multithreaded sparse matrix assembly.

Installation

Download using git or as a zip (see green button above).

Open MATLAB in the top level (BIE3D) directory, and run bie3dsetup to add all needed directories to your path.

Test by running testall which currently tests Laplace quadratures on a torus, and should produce lots of error outputs close to machine precision, convergent sequences of numbers, and some plots, taking around 30-60 secs total.

Directories

kernels : Laplace evaluation, including on-surface (self-eval)
surfaces : smooth surface generators
singquad : special surface quadratures for weakly singular kernels
utils : general numerical and plot utilities
test : test codes (other than built-in self-tests)
timedomainwaveeqn : time-domain integral-equations for acoustics codes (see movie)
doublyperiodic : an old self-contained code for doubly-periodic Laplace dipoles in 3D

bie3d's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.