10
1
mirror of https://gitlab.com/scemama/QCaml.git synced 2024-12-22 12:23:31 +01:00

Charge and multiplicity in run_integrals

This commit is contained in:
Anthony Scemama 2020-05-19 22:41:25 +02:00
parent 7b9bb6aca6
commit 096e5fd454
2 changed files with 5393 additions and 229 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,16 +1,22 @@
let out_file : string option ref = ref None let out_file : string option ref = ref None
let basis_file : string option ref = ref None let basis_file : string option ref = ref None
let nuclei_file : string option ref = ref None let nuclei_file : string option ref = ref None
let charge : int option ref = ref None
let multiplicity : int option ref = ref None
let range_separation : float option ref = ref None let range_separation : float option ref = ref None
let speclist = [ let speclist = [
( "-b" , Arg.String (fun x -> basis_file := Some x), ( "-b" , Arg.String (fun x -> basis_file := Some x),
"File containing the atomic basis set") ; "File containing the atomic basis set") ;
( "-c" , Arg.Int (fun x -> charge := Some x),
"Total charge of the system") ;
( "-m" , Arg.Int (fun x -> multiplicity := Some x),
"Multiplicity of the system") ;
( "-x" , Arg.String (fun x -> nuclei_file := Some x), ( "-x" , Arg.String (fun x -> nuclei_file := Some x),
"File containing the nuclear coordinates") ; "File containing the nuclear coordinates") ;
( "-m" , Arg.Float (fun x -> range_separation := Some x), ( "-u" , Arg.Float (fun x -> range_separation := Some x),
"Value of mu, the range separation factor.") ; "Value of mu, the range separation factor") ;
] ]
let run () = let run () =
@ -23,10 +29,13 @@ let run () =
| None -> raise (Invalid_argument "Coordinate file should be specified with -x") | None -> raise (Invalid_argument "Coordinate file should be specified with -x")
| Some x -> x | Some x -> x
and range_separation = !range_separation and range_separation = !range_separation
and charge = !charge
and multiplicity = !multiplicity
in in
let s = let s =
Simulation.of_filenames ?range_separation ~nuclei:nuclei_file basis_file Simulation.of_filenames ?range_separation ?charge ?multiplicity
~nuclei:nuclei_file basis_file
in in
print_endline @@ Nuclei.to_string @@ Simulation.nuclei s; print_endline @@ Nuclei.to_string @@ Simulation.nuclei s;