mirror of
https://github.com/LCPQ/quantum_package
synced 2024-12-22 12:23:48 +01:00
Update the EZFIO.cfg with the new keyword
This commit is contained in:
parent
0342bc009e
commit
93eafd009d
2
ocaml/.gitignore
vendored
2
ocaml/.gitignore
vendored
@ -5,6 +5,7 @@ qptypes_generator.byte
|
||||
_build
|
||||
qp_basis_clean.native
|
||||
qp_create_ezfio_from_xyz.native
|
||||
qp_edit.native
|
||||
qp_print.native
|
||||
qp_run.native
|
||||
qp_set_ddci.native
|
||||
@ -32,6 +33,7 @@ test_molecule
|
||||
test_point3d
|
||||
qp_basis_clean
|
||||
qp_create_ezfio_from_xyz
|
||||
qp_edit
|
||||
qp_print
|
||||
qp_run
|
||||
qp_set_ddci
|
||||
|
@ -1,10 +1,10 @@
|
||||
[energy]
|
||||
type: double precision
|
||||
doc: "Calculated CAS-SD energy"
|
||||
interface: output
|
||||
interface: ezfio
|
||||
|
||||
[energy_pt2]
|
||||
type: double precision
|
||||
doc: "Calculated selected CAS-SD energy with PT2 correction"
|
||||
interface: output
|
||||
interface: ezfio
|
||||
|
||||
|
@ -1,10 +1,10 @@
|
||||
[energy]
|
||||
type: double precision
|
||||
doc: Calculated CISD_SC2 energy of ground_state
|
||||
interface: output
|
||||
interface: ezfio
|
||||
|
||||
[energy_pt2]
|
||||
type: double precision
|
||||
doc: Calculated CISD_SC2 energy+pt2 of ground_state
|
||||
interface: output
|
||||
interface: ezfio
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
[energy]
|
||||
type: double precision
|
||||
doc: "Calculated CAS-SD energy"
|
||||
interface: output
|
||||
interface: ezfio
|
@ -1,10 +1,10 @@
|
||||
[energy]
|
||||
type: double precision
|
||||
doc: Calculated Selected FCI energy
|
||||
interface: output
|
||||
interface: ezfio
|
||||
|
||||
[energy_pt2]
|
||||
type: double precision
|
||||
doc: Calculated FCI energy + PT2
|
||||
interface: output
|
||||
interface: ezfio
|
||||
|
||||
|
@ -1,22 +1,22 @@
|
||||
[thresh_scf]
|
||||
type: Threshold
|
||||
doc: Threshold on the convergence of the Hartree Fock energy
|
||||
interface: input
|
||||
interface: ezfio,provider,ocaml
|
||||
default: 1.e-10
|
||||
|
||||
[n_it_scf_max]
|
||||
type: Strictly_positive_int
|
||||
doc: Maximum number of SCF iterations
|
||||
interface: input
|
||||
interface: ezfio,provider,ocaml
|
||||
default: 200
|
||||
|
||||
[mo_guess_type]
|
||||
type: MO_guess
|
||||
doc: Initial MO guess. Can be [ Huckel | HCore ]
|
||||
interface: input
|
||||
interface: ezfio,provider,ocaml
|
||||
default: Huckel
|
||||
|
||||
[energy]
|
||||
type: double precision
|
||||
doc: Calculated HF energy
|
||||
interface: output
|
||||
interface: ezfio
|
||||
|
@ -1,4 +1,4 @@
|
||||
[energy]
|
||||
type: double precision
|
||||
doc: Calculated MRCC energy
|
||||
interface: output
|
||||
interface: ezfio
|
@ -1,19 +1,19 @@
|
||||
[do_pt2_end]
|
||||
type: logical
|
||||
doc: If true, compute the PT2 at the end of the selection
|
||||
interface: input
|
||||
interface: ezfio,provider,ocaml
|
||||
default: True
|
||||
|
||||
[PT2_max]
|
||||
type: PT2_energy
|
||||
doc: The selection process stops when the largest PT2 (for all the state) is lower
|
||||
than pt2_max in absolute value
|
||||
interface: input
|
||||
interface: ezfio,provider,ocaml
|
||||
default: 0.0001
|
||||
|
||||
[var_pt2_ratio]
|
||||
type: Normalized_float
|
||||
doc: The selection process stops when the energy ratio variational/(variational+PT2)
|
||||
is equal to var_pt2_ratio
|
||||
interface: input
|
||||
interface: ezfio,provider,ocaml
|
||||
default: 0.75
|
@ -1,5 +1,5 @@
|
||||
[z_one_point]
|
||||
type: double precision
|
||||
doc: z point on which the integrated delta rho is calculated
|
||||
interface: input
|
||||
interface: ezfio,provider,ocaml
|
||||
default: 3.9
|
@ -35,8 +35,13 @@ Format specification :
|
||||
Type:{str} | Is a fancy_type supported by the ocaml
|
||||
ezfio_name:{str} | Will be the name of the file for the ezfio
|
||||
(optional by default is the name of the provider)
|
||||
interface:{str} | The provider is a imput or a output
|
||||
default:{str} | The default value if interface == input:
|
||||
interface:{str} | The provider is string sepeared by "," who can containt
|
||||
ezfio (if you only whant the ezfiolib)
|
||||
provider (if you want the provider)
|
||||
ocaml (if you want the ocaml gestion)
|
||||
So for example:
|
||||
interface: provider,ezfio,ocaml
|
||||
default:{str} | The default value if 'ocam' in interface:
|
||||
size:{str} | the size information
|
||||
(like 1 or =sum(ao_num) or (ao_num,3) )
|
||||
|
||||
@ -46,13 +51,13 @@ Example of EZFIO.cfg:
|
||||
doc: Threshold on the convergence of the Hartree Fock energy
|
||||
type: Threshold
|
||||
default: 1.e-10
|
||||
interface: input
|
||||
interface: provider,ezfio,ocaml
|
||||
size: 1
|
||||
|
||||
[energy]
|
||||
type: double precision
|
||||
doc: Calculated HF energy
|
||||
interface: output
|
||||
interface: ezfio
|
||||
```
|
||||
"""
|
||||
from docopt import docopt
|
||||
@ -201,7 +206,7 @@ def get_dict_config_file(module_obj):
|
||||
- ezfio_dir : Will be the folder who containt the ezfio_name
|
||||
* /ezfio_dir/ezfio_name
|
||||
* equal to MODULE_lower name by default.
|
||||
- interface : The provider is a imput or a output
|
||||
- interface : The provider is lit of [provider,ezfio,ocaml]
|
||||
- default : The default value /!\ stored in a Type named type!
|
||||
if interface == input
|
||||
- size : Is the string read in ezfio.cgf who containt the size information
|
||||
@ -211,7 +216,6 @@ def get_dict_config_file(module_obj):
|
||||
# I n i t #
|
||||
# ~#~#~#~ #
|
||||
d = defaultdict(dict)
|
||||
l_info_required = ["doc", "interface"]
|
||||
l_info_optional = ["ezfio_dir", "ezfio_name", "size"]
|
||||
|
||||
# ~#~#~#~#~#~#~#~#~#~#~ #
|
||||
@ -238,8 +242,13 @@ def get_dict_config_file(module_obj):
|
||||
"ezfio_dir": module_obj.lower,
|
||||
"size": "1"}
|
||||
|
||||
# Check if type if avalaible
|
||||
type_ = config_file.get(section, "type")
|
||||
# Check if type is avalaible
|
||||
try:
|
||||
type_ = config_file.get(section, "type")
|
||||
except ConfigParser.NoOptionError:
|
||||
error("type", pvd, module_obj.path)
|
||||
sys.exit(1)
|
||||
|
||||
if type_ not in type_dict:
|
||||
print "{0} not avalaible. Choose in:".format(type_)
|
||||
print ", ".join(sorted([i for i in type_dict]))
|
||||
@ -248,12 +257,23 @@ def get_dict_config_file(module_obj):
|
||||
d[pvd]["type"] = type_dict[type_]
|
||||
|
||||
# Fill the dict with REQUIRED information
|
||||
for option in l_info_required:
|
||||
try:
|
||||
d[pvd][option] = config_file.get(section, option)
|
||||
except ConfigParser.NoOptionError:
|
||||
error(option, pvd, module_obj.path)
|
||||
try:
|
||||
d[pvd]["doc"] = config_file.get(section, "doc")
|
||||
except ConfigParser.NoOptionError:
|
||||
error("doc", pvd, module_obj.path)
|
||||
sys.exit(1)
|
||||
|
||||
try:
|
||||
interface = map(str.lower, config_file.get(section, "interface").split(","))
|
||||
except ConfigParser.NoOptionError:
|
||||
error("doc", pvd, module_obj.path)
|
||||
sys.exit(1)
|
||||
else:
|
||||
if not any(i in ["ezfio", "provider", "ocaml"] for i in interface):
|
||||
print "Bad keyword for interface for {0}".format(pvd)
|
||||
sys.exit(1)
|
||||
else:
|
||||
d[pvd]["interface"] = interface
|
||||
|
||||
# Fill the dict with OPTIONAL information
|
||||
for option in l_info_optional:
|
||||
@ -264,7 +284,7 @@ def get_dict_config_file(module_obj):
|
||||
d[pvd][option] = d_default[option]
|
||||
|
||||
# If interface is input we need a default value information
|
||||
if d[pvd]["interface"].lower() == "input":
|
||||
if "ocaml" in d[pvd]["interface"]:
|
||||
try:
|
||||
default_raw = config_file.get(section, "default")
|
||||
except ConfigParser.NoOptionError:
|
||||
@ -300,7 +320,7 @@ def create_ezfio_provider(dict_ezfio_cfg):
|
||||
|
||||
ez_p = EZFIO_Provider()
|
||||
for provider_name, dict_info in dict_ezfio_cfg.iteritems():
|
||||
if "input" in dict_info["interface"]:
|
||||
if "provider" in dict_info["interface"]:
|
||||
ez_p.set_type(dict_info['type'].fortran)
|
||||
ez_p.set_name(provider_name)
|
||||
ez_p.set_doc(dict_info['doc'])
|
||||
@ -492,7 +512,7 @@ def create_ocaml_input(dict_ezfio_cfg, module_lower):
|
||||
l_doc = []
|
||||
|
||||
for k, v in dict_ezfio_cfg.iteritems():
|
||||
if v['interface'] == "input":
|
||||
if "ocaml" in v['interface']:
|
||||
l_ezfio_name.append(v['ezfio_name'])
|
||||
l_type.append(v["type"])
|
||||
l_doc.append(v["doc"])
|
||||
|
@ -1,112 +1,112 @@
|
||||
[N_det_max]
|
||||
type: Det_number_max
|
||||
doc: Max number of determinants in the wave function
|
||||
interface: input
|
||||
interface: ezfio,provider,ocaml
|
||||
default: 10000
|
||||
|
||||
[N_det_max_property]
|
||||
type: Det_number_max
|
||||
doc: Max number of determinants in the wave function when you select for a given property
|
||||
interface: input
|
||||
interface: ezfio,provider,ocaml
|
||||
default: 10000
|
||||
|
||||
[N_det_max_jacobi]
|
||||
type: Det_number_max
|
||||
doc: Maximum number of determinants diagonalized by Jacobi
|
||||
interface: input
|
||||
interface: ezfio,provider,ocaml
|
||||
default: 1000
|
||||
|
||||
[N_states]
|
||||
type: States_number
|
||||
doc: Number of states to consider
|
||||
interface: input
|
||||
interface: ezfio,provider,ocaml
|
||||
default: 1
|
||||
|
||||
[read_wf]
|
||||
type: logical
|
||||
doc: If true, read the wave function from the EZFIO file
|
||||
interface: input
|
||||
interface: ezfio,provider,ocaml
|
||||
default: False
|
||||
|
||||
[only_single_double_dm]
|
||||
type: logical
|
||||
doc: If true, The One body DM is calculated with ignoring the Double<->Doubles extra diag elements
|
||||
interface: input
|
||||
interface: ezfio,provider,ocaml
|
||||
default: False
|
||||
|
||||
[s2_eig]
|
||||
type: logical
|
||||
doc: Force the wave function to be an eigenfunction of S^2
|
||||
interface: input
|
||||
interface: ezfio,provider,ocaml
|
||||
default: False
|
||||
|
||||
[threshold_generators]
|
||||
type: Threshold
|
||||
doc: Thresholds on generators (fraction of the norm)
|
||||
interface: input
|
||||
interface: ezfio,provider,ocaml
|
||||
default: 0.99
|
||||
|
||||
[threshold_selectors]
|
||||
type: Threshold
|
||||
doc: Thresholds on selectors (fraction of the norm)
|
||||
interface: input
|
||||
interface: ezfio,provider,ocaml
|
||||
default: 0.999
|
||||
|
||||
[n_states_diag]
|
||||
type: integer
|
||||
doc: n_states_diag
|
||||
interface: Ocaml
|
||||
interface: ezfio, provider
|
||||
|
||||
[n_int]
|
||||
interface: OCaml
|
||||
interface: ezfio, provider
|
||||
doc: n_int
|
||||
type: N_int_number
|
||||
|
||||
[bit_kind]
|
||||
interface: OCaml
|
||||
interface: ezfio, provider
|
||||
doc: bit_kind
|
||||
type: Bit_kind
|
||||
|
||||
[mo_label]
|
||||
interface: OCaml
|
||||
interface: ezfio, provider
|
||||
doc: o_label
|
||||
type: character*(64)
|
||||
|
||||
[n_det]
|
||||
interface: OCaml
|
||||
interface: ezfio, provider
|
||||
doc: n_det
|
||||
type: integer
|
||||
|
||||
[psi_coef]
|
||||
interface: OCaml
|
||||
interface: ezfio, provider
|
||||
doc: psi_coef
|
||||
type: double precision
|
||||
size: (determinants.n_det,determinants.n_states)
|
||||
|
||||
[psi_det]
|
||||
interface: OCaml
|
||||
interface: ezfio, provider
|
||||
doc: psi_det
|
||||
type: integer*8
|
||||
size: (determinants.n_int*determinants.bit_kind/8,2,determinants.n_det)
|
||||
|
||||
[det_num]
|
||||
interface: OCaml
|
||||
interface: ezfio, provider
|
||||
doc: det_num
|
||||
type: integer
|
||||
|
||||
[det_occ]
|
||||
interface: OCaml
|
||||
interface: ezfio, provider
|
||||
doc: det_occ
|
||||
type: integer
|
||||
size: (electrons.elec_alpha_num,determinants.det_num,2)
|
||||
|
||||
[det_coef]
|
||||
interface: OCaml
|
||||
interface: ezfio, provider
|
||||
doc: det_coef
|
||||
type: double precision
|
||||
size: (determinants.det_num)
|
||||
|
||||
[expected_s2]
|
||||
interface: OCaml
|
||||
interface: ezfio, provider
|
||||
doc: expcted_s2
|
||||
type: double precision
|
||||
|
@ -1,32 +1,32 @@
|
||||
[do_direct_integrals]
|
||||
type: logical
|
||||
doc: Compute integrals on the fly
|
||||
interface: input
|
||||
interface: ezfio,provider,ocaml
|
||||
default: False
|
||||
ezfio_name: direct
|
||||
|
||||
[disk_access_mo_integrals]
|
||||
type: Disk_access
|
||||
doc: Read/Write MO integrals from/to disk [ Write | Read | None ]
|
||||
interface: input
|
||||
interface: ezfio,provider,ocaml
|
||||
default: None
|
||||
|
||||
[disk_access_ao_integrals]
|
||||
type: Disk_access
|
||||
doc: Read/Write AO integrals from/to disk [ Write | Read | None ]
|
||||
interface: input
|
||||
interface: ezfio,provider,ocaml
|
||||
default: None
|
||||
|
||||
[ao_integrals_threshold]
|
||||
type: Threshold
|
||||
doc: If |<pq|rs>| < ao_integrals_threshold then <pq|rs> is zero
|
||||
interface: input
|
||||
interface: ezfio,provider,ocaml
|
||||
default: 1.e-15
|
||||
ezfio_name: threshold_ao
|
||||
|
||||
[mo_integrals_threshold]
|
||||
type: Threshold
|
||||
doc: If |<ij|kl>| < ao_integrals_threshold then <pq|rs> is zero
|
||||
interface: input
|
||||
interface: ezfio,provider,ocaml
|
||||
default: 1.e-15
|
||||
ezfio_name: threshold_mo
|
||||
|
@ -1,88 +1,88 @@
|
||||
[pseudo_klocmax]
|
||||
doc: test
|
||||
type:integer
|
||||
interface: input_without_default
|
||||
interface: ezfio,provider
|
||||
|
||||
[pseudo_n_k]
|
||||
doc: test
|
||||
type: integer
|
||||
interface: input_without_default
|
||||
interface: ezfio,provider
|
||||
size: (nuclei.nucl_num,pseudo.pseudo_klocmax)
|
||||
|
||||
[pseudo_v_k]
|
||||
doc: test
|
||||
type: double precision
|
||||
interface: input_without_default
|
||||
interface: ezfio,provider
|
||||
size: (nuclei.nucl_num,pseudo.pseudo_klocmax)
|
||||
|
||||
[pseudo_dz_k]
|
||||
doc: test
|
||||
type: double precision
|
||||
interface: input_without_default
|
||||
interface: ezfio,provider
|
||||
size: (nuclei.nucl_num,pseudo.pseudo_klocmax)
|
||||
|
||||
[pseudo_lmax]
|
||||
doc: test
|
||||
type:integer
|
||||
interface: input_without_default
|
||||
interface: ezfio,provider
|
||||
|
||||
[pseudo_kmax]
|
||||
doc: test
|
||||
type:integer
|
||||
interface: input_without_default
|
||||
interface: ezfio,provider
|
||||
|
||||
[pseudo_n_kl]
|
||||
doc: test
|
||||
type: integer
|
||||
interface: input_without_default
|
||||
interface: ezfio,provider
|
||||
size: (nuclei.nucl_num,pseudo.pseudo_kmax,0:pseudo.pseudo_lmax)
|
||||
|
||||
[pseudo_v_kl]
|
||||
doc: test
|
||||
type: double precision
|
||||
interface: input_without_default
|
||||
interface: ezfio,provider
|
||||
size: (nuclei.nucl_num,pseudo.pseudo_kmax,0:pseudo.pseudo_lmax)
|
||||
|
||||
[pseudo_dz_kl]
|
||||
doc: test
|
||||
type: double precision
|
||||
interface: input_without_default
|
||||
interface: ezfio,provider
|
||||
size: (nuclei.nucl_num,pseudo.pseudo_kmax,0:pseudo.pseudo_lmax)
|
||||
|
||||
[do_pseudo]
|
||||
type: logical
|
||||
doc: Using pseudo potential integral of not
|
||||
interface: input
|
||||
interface: ezfio,provider,ocaml
|
||||
default: False
|
||||
|
||||
[pseudo_grid_size]
|
||||
type: integer
|
||||
doc: Nb of points of the QMC grid
|
||||
interface: input
|
||||
interface: ezfio,provider,ocaml
|
||||
default: 1000
|
||||
|
||||
[pseudo_grid_rmax]
|
||||
type: double precision
|
||||
doc: R_maxof the QMC grid
|
||||
interface: input
|
||||
interface: ezfio,provider,ocaml
|
||||
default: 10.0
|
||||
|
||||
[ao_pseudo_grid]
|
||||
type: double precision
|
||||
doc: QMC grid
|
||||
interface: output
|
||||
interface: ezfio
|
||||
size: (ao_basis.ao_num,-pseudo.pseudo_lmax:pseudo.pseudo_lmax,0:pseudo.pseudo_lmax,nuclei.nucl_num,pseudo.pseudo_grid_size)
|
||||
|
||||
[mo_pseudo_grid]
|
||||
type: double precision
|
||||
doc: QMC grid
|
||||
interface: output
|
||||
interface: ezfio
|
||||
size: (ao_basis.ao_num,-pseudo.pseudo_lmax:pseudo.pseudo_lmax,0:pseudo.pseudo_lmax,nuclei.nucl_num,pseudo.pseudo_grid_size)
|
||||
|
||||
[pseudo_matrix]
|
||||
type: double precision
|
||||
doc: QMC grid
|
||||
interface: output
|
||||
interface: ezfio
|
||||
size: (aux_basis.aux_basis_num_sqrt,aux_basis.aux_basis_num_sqrt)
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user