An advanced contour integration code for microlensing

VBBinaryLensing (or VBBL for short) is a C++ contour integration code for binary microlensing developed by Valerio Bozza. The algorithms behind this code are described in MNRAS 408 (2010) 2188. Please cite this paper if you make any scientific use of this code. The code is released under GNU Lesser General Public License.

Download VBBinaryLensing (v2.0.1, released 2018-02-05)

Older version (v1.2, released 2017-03-28) available here

The zip file contains NOTICE.txt. You are invited to read it for a quick start.
instructions.cpp contains working examples and documentation for all functions.
Instructions for use within Python environment are kindly provided by Markus Hundertmark.
The library contains functions for microlensing calculations in many variants: single lens, binary lens, extended source, limb darkened source, binary source, parallax, circular orbital motion, observations from satellite...
VBBinaryLensing adopts the Skowron & Gould algorithm for the root solving routine. The original code has been translated to C++ and incorporated in the library by Tyler M. Heintz and Ava R. Hoag, from Westminster College (USA). if the root solving routine has specific relevance for your work, you are encouraged to cite
the respective paper arXiv:1203.1034.

I wish to thank all the people who are contributing to testing the code with their extensive use and their suggestions: Etienne Bachelet, Sebastiano Calchi Novati, Giuseppe D'Ago, Tyler Heintz, Ava Hoag, Markus Hundertmark, Radek Poleski, Sedighe Sajadian, Rachel Street, Wei Zhu.

If you find any problems or have any questions, please contact Valerio Bozza