From b5ee17ca3eee6284e55e5a2e4414c7bb0eb50a09 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Thu, 1 Feb 2018 19:10:20 +0100 Subject: [PATCH] Boys --- Utils/Util.ml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Utils/Util.ml b/Utils/Util.ml index cecca3c..c19b4fc 100644 --- a/Utils/Util.ml +++ b/Utils/Util.ml @@ -6,7 +6,7 @@ let factmax = 150 (** Generalized Boys function. Uses GSL's incomplete Gamma function. maxm : Maximum total angular momentum *) -let boys_function ~maxm t = +let rec boys_function ~maxm t = match maxm with | 0 -> begin @@ -33,7 +33,12 @@ let boys_function ~maxm t = let (dm, f) = factor.(i-1) in factor.(i) <- (dm +. 1., f *. t_inv); done; - Array.map (fun (dm, f) -> (incomplete_gamma dm t ) *. 0.5 *. f) factor + Array.map (fun (dm, f) -> + if dm = 0.5 then + (boys_function ~maxm:0 t).(0) + else + (incomplete_gamma dm t ) *. 0.5 *. f + ) factor end