Skip to content

Nearly singular quadrature for line integrals in 2D and 3D

License

Notifications You must be signed in to change notification settings

ludvigak/linequad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

linequad

Nearly singular quadrature for line integrals in 2D and 3D, using the "singularity swap" method.

This repository accompanies the paper "Accurate quadrature of nearly singular line integrals in two and three dimensions by singularity swapping" by L. af Klinteberg and A. Barnett (BIT, 2019). It contains complete Matlab implementations of the algorithms for 2D and 3D line quadrature. Provided are also C implementations for all computational steps of the 3D line quadrature. These are linked to Matlab via MEX, but can also be compiled into a library.

The 3D code has the most mature interface, in the form of line3_near_weights.

Getting started

To initialize the required submodules, run git submodule update --init --recursive.

In the matlab directory, open Matlab and run:

make % To build the MEX code (gcc required)

init % To setup the paths for running things (must be done every session)

Then run one of the examples (while still in the matlab directory):

  • The programs in matlab/examples demo the basics of the 3D line quadrature.
  • The programs in matlab/examples-paper can be used to reproduce all the results (2D and 3D) shown in the paper.

About

Nearly singular quadrature for line integrals in 2D and 3D

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages