Skip to content
/ ccf Public

code to calculate the critical curves and caustics of micro-lensing star fields

Notifications You must be signed in to change notification settings

weisluke/ccf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cc_finder

cc_finder is a parallelized code that finds the critical curves and caustics of micro-lensing star fields using the parametric representation of the critical curves from Witt (A&A, Vol. 236, p. 311, 1990). The code is written using NVIDIA's CUDA computing platform. Instead of a sequential method of finding the initial roots for phi=0 as described in Witt 1990 and Witt, Kayser, and Refsdal (A&A, Vol. 268, p. 501, 1993), we use a parallelized implementation of the Aberth-Ehrlich method, a cubically convergent algorithm that allows for simultaneous approximations of the roots of a polynomial (https://en.wikipedia.org/wiki/Aberth_method). The paper that inspired this work, which provides more detailed explanations of the mathematical and computational methods, is: Kahina Ghidouche, Abderrahmane Sider, Raphael Couturier, Christophe Guyeux. Efficient high degree polynomial root finding using GPU. Journal of Computational Science, 2017, 18, pp. 46 - 56.

Once initial roots are found for phi=pi, further roots for varying phase 0<=phi<=2*pi are found in parallel as well, simultaneously traversing pi -> 2*pi and pi -> 0. We directly use all the stars in a field, avoiding complex Taylor expansions as described in WKR 1993. It is possible that further speedups could be gained through such approximations.

Values for kappa_tot, shear, theta_star, kappa_star, num_stars, star input file, num_phi (number of steps to use for phi from 0->2pi), num_branches, random seed, output file type (.bin or .txt), and output filename prefix, can all be input through the command line.

About

code to calculate the critical curves and caustics of micro-lensing star fields

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published