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 505 (2021) 126MNRAS 479 (2018) 5157 and MNRAS 408 (2010) 2188. Please cite these papers if you make any scientific use of this code. The code is released under GNU Lesser General Public License.

Download VBBinaryLensing (v3.6, released 2023-05-29)

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, orbital motion, observations from satellite.
Astrometric centroids have been added in collaboration with Elahe Khalouei.
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.

A GitHub version of the same code is available at https://github.com/valboz/VBBinaryLensing, thanks to Etienne Bachelet, Fran Bartolic and Markus Hundertmark.

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

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