LP2D tools for applying layer potentials to densities on curves in 2D This links against the FMMLIB2D library of Greengard-Gimbutas 2011 to compute the self-interation of 2D Helmholtz SLP and DLP on potentials and normal derivatives on a single smooth closed curve. The curve is specified by equally-spaced quadrature nodes in the curve parametrization, the normals at the nodes, and the parametric speed at the nodes. The main content here is applying Alpert corrections in an efficient manner for the S, D, D^T operators. (The codes also apply them to the T operator, but this would only be meaningful when the difference of T_1-T_2 is taken at two wavenumbers.) The code also allows for the interaction of nearest-neighbor copies of the curve to be included, useful for periodic grating scattering problems. Thanks to Mike O'Neil and Zydrunas Gimbutas for pieces of their code. (C) Alex Barnett 2011-2012. Codes in this directory: lpclosedcurve.f - main library (fortran 90) lpevalselfcc_dr.f - example fortran driver, tests curve self-evaluation using interior GRF (S & D operators) lp2d.mw - MWrap headers to create the MATLAB MEX interfaces: lpevalselfcc.m : MATLAB interface to lpevalselfcc testkernel.m : for debugging dummy.m : ditto lp2d.mexglx : the resulting MEX executable testlpevalselfcc.m - example MATLAB driver for lpevalselfcc, tests GRF testlpevalselfcc_mpspack.m - MATLAB driver testing lpevalselfcc against MPSpack (needs MPSpack, obviously) makefile - compiles library and fortran driver into ./lp2d makefile.mwrap - calls MWrap (must be in your path) to make MATLAB MEX interfaces README - this file INSTALL - installation instructions History: 10/17/12: adjusted library locations and docs for FMMLIB2D rather than HFMM2D 3/24/11: added check QP-nei-copies-summing in lpevalselfcc_dr.f 3/19/11: working version completed.