mirror of
https://github.com/LCPQ/quantum_package
synced 2025-01-03 18:16:12 +01:00
commit
7613488976
118
data/list_element.txt
Normal file
118
data/list_element.txt
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
1 H Hydrogen
|
||||||
|
2 He Helium
|
||||||
|
3 Li Lithium
|
||||||
|
4 Be Beryllium
|
||||||
|
5 B Boron
|
||||||
|
6 C Carbon
|
||||||
|
7 N Nitrogen
|
||||||
|
8 O Oxygen
|
||||||
|
9 F Fluorine
|
||||||
|
10 Ne Neon
|
||||||
|
11 Na Sodium
|
||||||
|
12 Mg Magnesium
|
||||||
|
13 Al Aluminum
|
||||||
|
14 Si Silicon
|
||||||
|
15 P Phosphorus
|
||||||
|
16 S Sulfur
|
||||||
|
17 Cl Chlorine
|
||||||
|
18 Ar Argon
|
||||||
|
19 K Potassium
|
||||||
|
20 Ca Calcium
|
||||||
|
21 Sc Scandium
|
||||||
|
22 Ti Titanium
|
||||||
|
23 V Vanadium
|
||||||
|
24 Cr Chromium
|
||||||
|
25 Mn Manganese
|
||||||
|
26 Fe Iron
|
||||||
|
27 Co Cobalt
|
||||||
|
28 Ni Nickel
|
||||||
|
29 Cu Copper
|
||||||
|
30 Zn Zinc
|
||||||
|
31 Ga Gallium
|
||||||
|
32 Ge Germanium
|
||||||
|
33 As Arsenic
|
||||||
|
34 Se Selenium
|
||||||
|
35 Br Bromine
|
||||||
|
36 Kr Krypton
|
||||||
|
37 Rb Rubidium
|
||||||
|
38 Sr Strontium
|
||||||
|
39 Y Yttrium
|
||||||
|
40 Zr Zirconium
|
||||||
|
41 Nb Niobium
|
||||||
|
42 Mo Molybdenum
|
||||||
|
43 Tc Technetium
|
||||||
|
44 Ru Ruthenium
|
||||||
|
45 Rh Rhodium
|
||||||
|
46 Pd Palladium
|
||||||
|
47 Ag Silver
|
||||||
|
48 Cd Cadmium
|
||||||
|
49 In Indium
|
||||||
|
50 Sn Tin
|
||||||
|
51 Sb Antimony
|
||||||
|
52 Te Tellurium
|
||||||
|
53 I Iodine
|
||||||
|
54 Xe Xenon
|
||||||
|
55 Cs Cesium
|
||||||
|
56 Ba Barium
|
||||||
|
57 La Lanthanum
|
||||||
|
58 Ce Cerium
|
||||||
|
59 Pr Praseodymium
|
||||||
|
60 Nd Neodymium
|
||||||
|
61 Pm Promethium
|
||||||
|
62 Sm Samarium
|
||||||
|
63 Eu Europium
|
||||||
|
64 Gd Gadolinium
|
||||||
|
65 Tb Terbium
|
||||||
|
66 Dy Dysprosium
|
||||||
|
67 Ho Holmium
|
||||||
|
68 Er Erbium
|
||||||
|
69 Tm Thulium
|
||||||
|
70 Yb Ytterbium
|
||||||
|
71 Lu Lutetium
|
||||||
|
72 Hf Hafnium
|
||||||
|
73 Ta Tantalum
|
||||||
|
74 W Tungsten
|
||||||
|
75 Re Rhenium
|
||||||
|
76 Os Osmium
|
||||||
|
77 Ir Iridium
|
||||||
|
78 Pt Platinum
|
||||||
|
79 Au Gold
|
||||||
|
80 Hg Mercury
|
||||||
|
81 Tl Thallium
|
||||||
|
82 Pb Lead
|
||||||
|
83 Bi Bismuth
|
||||||
|
84 Po Polonium
|
||||||
|
85 At Astatine
|
||||||
|
86 Rn Radon
|
||||||
|
87 Fr Francium
|
||||||
|
88 Ra Radium
|
||||||
|
89 Ac Actinium
|
||||||
|
90 Th Thorium
|
||||||
|
91 Pa Protactinium
|
||||||
|
92 U Uranium
|
||||||
|
93 Np Neptunium
|
||||||
|
94 Pu Plutonium
|
||||||
|
95 Am Americium
|
||||||
|
96 Cm Curium
|
||||||
|
97 Bk Berkelium
|
||||||
|
98 Cf Californium
|
||||||
|
99 Es Einsteinium
|
||||||
|
100 Fm Fermium
|
||||||
|
101 Md Mendelevium
|
||||||
|
102 No Nobelium
|
||||||
|
103 Lr Lawrencium
|
||||||
|
104 Rf Rutherfordium
|
||||||
|
105 Db Dubnium
|
||||||
|
106 Sg Seaborgium
|
||||||
|
107 Bh Bohrium
|
||||||
|
108 Hs Hassium
|
||||||
|
109 Mt Meitnerium
|
||||||
|
110 Ds Darmstadtium
|
||||||
|
111 Rg Roentgenium
|
||||||
|
112 Cn Copernicium
|
||||||
|
113 Uut Ununtrium
|
||||||
|
114 Fl Flerovium
|
||||||
|
115 Uup Ununpentium
|
||||||
|
116 Lv Livermorium
|
||||||
|
117 Uus Ununseptium
|
||||||
|
118 Uuo Ununoctium
|
@ -11,7 +11,8 @@ module Determinants_by_hand : sig
|
|||||||
psi_coef : Det_coef.t array;
|
psi_coef : Det_coef.t array;
|
||||||
psi_det : Determinant.t array;
|
psi_det : Determinant.t array;
|
||||||
} with sexp
|
} with sexp
|
||||||
val read : unit -> t option
|
val read : unit -> t
|
||||||
|
val read_maybe : unit -> t option
|
||||||
val write : t -> unit
|
val write : t -> unit
|
||||||
val to_string : t -> string
|
val to_string : t -> string
|
||||||
val to_rst : t -> Rst_string.t
|
val to_rst : t -> Rst_string.t
|
||||||
@ -210,13 +211,6 @@ end = struct
|
|||||||
|
|
||||||
let read () =
|
let read () =
|
||||||
if (Ezfio.has_mo_basis_mo_tot_num ()) then
|
if (Ezfio.has_mo_basis_mo_tot_num ()) then
|
||||||
let n_det =
|
|
||||||
read_n_det ()
|
|
||||||
in
|
|
||||||
if ( (Det_number.to_int n_det) > n_det_read_max ) then
|
|
||||||
None
|
|
||||||
else
|
|
||||||
Some
|
|
||||||
{ n_int = read_n_int () ;
|
{ n_int = read_n_int () ;
|
||||||
bit_kind = read_bit_kind () ;
|
bit_kind = read_bit_kind () ;
|
||||||
n_det = read_n_det () ;
|
n_det = read_n_det () ;
|
||||||
@ -224,6 +218,17 @@ end = struct
|
|||||||
psi_coef = read_psi_coef () ;
|
psi_coef = read_psi_coef () ;
|
||||||
psi_det = read_psi_det () ;
|
psi_det = read_psi_det () ;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
failwith "No molecular orbitals, so no determinants"
|
||||||
|
;;
|
||||||
|
|
||||||
|
let read_maybe () =
|
||||||
|
let n_det =
|
||||||
|
read_n_det ()
|
||||||
|
in
|
||||||
|
if ( (Det_number.to_int n_det) < n_det_read_max ) then
|
||||||
|
try Some (read ()) with
|
||||||
|
| Failure _ -> None
|
||||||
else
|
else
|
||||||
None
|
None
|
||||||
;;
|
;;
|
||||||
|
@ -36,7 +36,7 @@ let bind_socket ~socket_type ~socket ~address =
|
|||||||
| 0 -> failwith @@ Printf.sprintf
|
| 0 -> failwith @@ Printf.sprintf
|
||||||
"Unable to bind the %s socket : %s "
|
"Unable to bind the %s socket : %s "
|
||||||
socket_type address
|
socket_type address
|
||||||
| -1 -> ();
|
| -1 -> ()
|
||||||
| i ->
|
| i ->
|
||||||
try
|
try
|
||||||
ZMQ.Socket.bind socket address;
|
ZMQ.Socket.bind socket address;
|
||||||
|
@ -43,9 +43,7 @@ let psi_det () =
|
|||||||
failwith "Error reading EZFIO file";
|
failwith "Error reading EZFIO file";
|
||||||
Ezfio.set_file ezfio_filename;
|
Ezfio.set_file ezfio_filename;
|
||||||
let psi_det =
|
let psi_det =
|
||||||
match Input.Determinants_by_hand.read () with
|
Input.Determinants_by_hand.read ()
|
||||||
| Some psi_det -> psi_det
|
|
||||||
| _ -> failwith "Error reading the mo set"
|
|
||||||
in
|
in
|
||||||
Input.Determinants_by_hand.to_rst psi_det
|
Input.Determinants_by_hand.to_rst psi_det
|
||||||
|> Rst_string.to_string
|
|> Rst_string.to_string
|
||||||
@ -56,5 +54,5 @@ let psi_det () =
|
|||||||
let () =
|
let () =
|
||||||
basis ();
|
basis ();
|
||||||
mo ();
|
mo ();
|
||||||
psi_det ();
|
psi_det ()
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
open Core.Std
|
open Core.Std
|
||||||
|
|
||||||
let () =
|
let () =
|
||||||
Message.of_string "new_job tcp://127.0.0.1 inproc://ao_ints:12345 ao_integrals"
|
Message.of_string "new_job ao_integrals tcp://127.0.0.1 inproc://ao_ints:12345"
|
||||||
|> Message.to_string
|
|> Message.to_string
|
||||||
|> print_endline
|
|> print_endline
|
||||||
;
|
;
|
||||||
@ -37,7 +37,7 @@ let () =
|
|||||||
;
|
;
|
||||||
|
|
||||||
try
|
try
|
||||||
Message.of_string "new_job inproc://ao_ints tcp://127.0.0.1:12345 ao_integrals"
|
Message.of_string "new_job ao_integrals inproc://ao_ints tcp://127.0.0.1:12345"
|
||||||
|> Message.to_string
|
|> Message.to_string
|
||||||
|> print_endline
|
|> print_endline
|
||||||
;
|
;
|
||||||
|
@ -9,6 +9,7 @@ print "#QP -> QMCPACK"
|
|||||||
|
|
||||||
from ezfio import ezfio
|
from ezfio import ezfio
|
||||||
|
|
||||||
|
import os
|
||||||
import sys
|
import sys
|
||||||
ezfio_path = sys.argv[1]
|
ezfio_path = sys.argv[1]
|
||||||
|
|
||||||
@ -17,7 +18,15 @@ ezfio.set_file(ezfio_path)
|
|||||||
do_pseudo = ezfio.get_pseudo_do_pseudo()
|
do_pseudo = ezfio.get_pseudo_do_pseudo()
|
||||||
if do_pseudo:
|
if do_pseudo:
|
||||||
print "do_pseudo True"
|
print "do_pseudo True"
|
||||||
print "The charge of nucl will be decreasced for taking into acount the pseudo potentiel"
|
from qp_path import QP_ROOT
|
||||||
|
|
||||||
|
l_ele_path = os.path.join(QP_ROOT,"data","list_element.txt")
|
||||||
|
with open(l_ele_path, "r") as f:
|
||||||
|
data_raw = f.read()
|
||||||
|
|
||||||
|
l_element_raw = data_raw.split("\n")
|
||||||
|
l_element = [element_raw.split() for element_raw in l_element_raw]
|
||||||
|
d_z = dict((abr, z) for (z, abr, ele) in l_element)
|
||||||
else:
|
else:
|
||||||
print "do_pseudo False"
|
print "do_pseudo False"
|
||||||
|
|
||||||
@ -68,7 +77,10 @@ print "nucl_num", len(l_label)
|
|||||||
print "Atomic coord in Bohr"
|
print "Atomic coord in Bohr"
|
||||||
|
|
||||||
for i, t in enumerate(zip(l_label, l_charge, l_coord_str)):
|
for i, t in enumerate(zip(l_label, l_charge, l_coord_str)):
|
||||||
print list_to_string(t)
|
t_1 = d_z[t[0]] if do_pseudo else t[1]
|
||||||
|
|
||||||
|
t_new = [t[0],t_1,t[2]]
|
||||||
|
print list_to_string(t_new)
|
||||||
|
|
||||||
#
|
#
|
||||||
# Call externet process to get the sysmetry
|
# Call externet process to get the sysmetry
|
||||||
@ -79,7 +91,6 @@ process = subprocess.Popen(
|
|||||||
stdout=subprocess.PIPE)
|
stdout=subprocess.PIPE)
|
||||||
out, err = process.communicate()
|
out, err = process.communicate()
|
||||||
|
|
||||||
print len(out.split("\n\n\n"))
|
|
||||||
basis_raw, sym_raw, _ , det_raw, _ = out.split("\n\n\n")
|
basis_raw, sym_raw, _ , det_raw, _ = out.split("\n\n\n")
|
||||||
|
|
||||||
# _ __
|
# _ __
|
||||||
@ -310,8 +321,8 @@ if do_pseudo:
|
|||||||
if l_dump:
|
if l_dump:
|
||||||
l_str.append(l_dump)
|
l_str.append(l_dump)
|
||||||
|
|
||||||
str_ = "PARAMETERS FOR {0} ON ATOM {1} WITH ZCORE -1 AND LMAX {2} ARE"
|
str_ = "PARAMETERS FOR {0} ON ATOM {1} WITH ZCORE {2} AND LMAX {3} ARE"
|
||||||
print str_.format(a, i + 1, int(len(l_str) - 1))
|
print str_.format(a, i + 1, int(d_z[a])-int(l_charge[i]), int(len(l_str) - 1))
|
||||||
|
|
||||||
for i, l in enumerate(l_str):
|
for i, l in enumerate(l_str):
|
||||||
str_ = "FOR L= {0} COEFF N ZETA"
|
str_ = "FOR L= {0} COEFF N ZETA"
|
||||||
@ -319,7 +330,8 @@ if do_pseudo:
|
|||||||
for ii, ll in enumerate(l):
|
for ii, ll in enumerate(l):
|
||||||
print " ", ii + 1, ll
|
print " ", ii + 1, ll
|
||||||
|
|
||||||
str_ = "THE ECP RUN REMOVES -1 CORE ELECTRONS, AND THE SAME NUMBER OF PROTONS."
|
str_ = "THE ECP RUN REMOVES {0} CORE ELECTRONS, AND THE SAME NUMBER OF PROTONS."
|
||||||
|
print str_.format(sum([int(d_z[a])-int(l_charge[i]) for i,a in enumerate(l_label)]))
|
||||||
print "END_PSEUDO"
|
print "END_PSEUDO"
|
||||||
|
|
||||||
# _
|
# _
|
||||||
|
@ -14,6 +14,12 @@ program qmcpack
|
|||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
call ezfio_set_ao_basis_ao_coef(ao_coef)
|
call ezfio_set_ao_basis_ao_coef(ao_coef)
|
||||||
|
do j=1,mo_tot_num
|
||||||
|
do i=1,ao_num
|
||||||
|
mo_coef(i,j) *= 1.d0/ao_coef_normalization_factor(i)
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
call save_mos
|
||||||
call system('rm '//trim(ezfio_filename)//'/mo_basis/ao_md5')
|
call system('rm '//trim(ezfio_filename)//'/mo_basis/ao_md5')
|
||||||
call system('$QP_ROOT/src/qmcpack/qp_convert_qmcpack_to_ezfio.py '//trim(ezfio_filename))
|
call system('$QP_ROOT/src/qmcpack/qp_convert_qmcpack_to_ezfio.py '//trim(ezfio_filename))
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ let get s =
|
|||||||
| Ao_basis ->
|
| Ao_basis ->
|
||||||
f Ao_basis.(read, to_rst)
|
f Ao_basis.(read, to_rst)
|
||||||
| Determinants_by_hand ->
|
| Determinants_by_hand ->
|
||||||
f Determinants_by_hand.(read, to_rst)
|
f Determinants_by_hand.(read_maybe, to_rst)
|
||||||
{section_to_rst}
|
{section_to_rst}
|
||||||
end
|
end
|
||||||
with
|
with
|
||||||
|
@ -52,9 +52,6 @@ END_PROVIDER
|
|||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
ao_coef_normalization_factor(i) = 1.d0/sqrt(norm)
|
ao_coef_normalization_factor(i) = 1.d0/sqrt(norm)
|
||||||
do j=1,ao_prim_num(i)
|
|
||||||
ao_coef_normalized(i,j) = ao_coef_normalized(i,j) * ao_coef_normalization_factor(i)
|
|
||||||
enddo
|
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
END_PROVIDER
|
END_PROVIDER
|
||||||
|
Loading…
Reference in New Issue
Block a user