nuclei
This module contains data relative to the nuclei (coordinates, charge, nuclear repulsion energy, etc). The coordinates are expressed in atomic units.
EZFIO parameters
- nucl_num
Number of nuclei
- nucl_label
Nuclear labels
- nucl_charge
Nuclear charges
- nucl_coord
Nuclear coordinates in the format (:, {x,y,z})
- io_nuclear_repulsion
Read/Write Nuclear Repulsion from/to disk [ Write | Read | None ]
Default: None
- is_periodic
If true, the calculation uses periodic boundary conditions
Default: false
- n_pts_charge
Number of point charges to be added to the potential
Default: 0
- pts_charge_z
Charge associated to each point charge
- pts_charge_coord
Coordinate of each point charge.
- point_charges
If
true, point charges (see nuclei/write_pt_charges.py) are added to the one-electron potentialDefault: False
Providers
- center_of_mass
File :
nuclei/nuclei.irp.fdouble precision, allocatable :: center_of_mass (3)
Center of mass of the molecule
Needs:
element_namenucl_charge
nucl_coord
nucl_num
Needed by:
inertia_tensor
- element_mass
File :
nuclei/nuclei.irp.fcharacter*(4), allocatable :: element_name (0:127) double precision, allocatable :: element_mass (0:127)
Array of the name of element, sorted by nuclear charge (integer)
Needs:
mpi_master
Needed by:
center_of_mass
inertia_tensor
- element_name
File :
nuclei/nuclei.irp.fcharacter*(4), allocatable :: element_name (0:127) double precision, allocatable :: element_mass (0:127)
Array of the name of element, sorted by nuclear charge (integer)
Needs:
mpi_master
Needed by:
center_of_mass
inertia_tensor
- inertia_tensor
File :
nuclei/inertia.irp.fdouble precision, allocatable :: inertia_tensor (3,3)
Inertia tensor
Needs:
center_of_masselement_name
nucl_chargenucl_coord
nucl_num
Needed by:
inertia_tensor_eigenvectors
- inertia_tensor_eigenvalues
File :
nuclei/inertia.irp.fdouble precision, allocatable :: inertia_tensor_eigenvectors (3,3) double precision, allocatable :: inertia_tensor_eigenvalues (3)
Eigenvectors/eigenvalues of the inertia_tensor. Used to find normal orientation.
Needs:
inertia_tensor
- inertia_tensor_eigenvectors
File :
nuclei/inertia.irp.fdouble precision, allocatable :: inertia_tensor_eigenvectors (3,3) double precision, allocatable :: inertia_tensor_eigenvalues (3)
Eigenvectors/eigenvalues of the inertia_tensor. Used to find normal orientation.
Needs:
inertia_tensor
- n_pts_charge
File :
nuclei/point_charges.irp.finteger :: n_pts_charge
Number of point charges to be added to the potential
Needs:
ezfio_filename
mpi_master
output_wall_time_0
Needed by:
ao_integrals_pt_chrgpt_chrg_interaction
pt_chrg_nuclei_interactionpts_charge_coord
pts_charge_z
- nucl_coord
File :
nuclei/nuclei.irp.fdouble precision, allocatable :: nucl_coord (nucl_num,3)
Nuclear coordinates in the format (:, {x,y,z})
Needs:
ezfio_filenamempi_master
nucl_chargenucl_label
nucl_numoutput_wall_time_0
Needed by:
ao_2e_cgtos_schwartzao_coef_norm_cgtosao_deriv2_cgtos_xao_deriv2_xao_deriv_1_xao_dipole_xao_integrals_n_eao_integrals_n_e_cgtosao_integrals_n_e_per_atomao_integrals_pt_chrgao_overlap
ao_overlap_absao_overlap_cgtosao_pseudo_integrals_localao_pseudo_integrals_non_localao_spread_xao_two_e_integral_alphaao_two_e_integral_erf_schwartzao_two_e_integral_schwartzao_two_e_integrals_erf_in_mapao_two_e_integrals_in_map
center_of_masscholesky_ao_numinertia_tensormulti_s_deriv_1multi_s_dipole_momentnucl_coord_transpnucl_dist_2nuclear_repulsionpt_chrg_nuclei_interactionz_dipole_moment
- nucl_coord_transp
File :
nuclei/nuclei.irp.fdouble precision, allocatable :: nucl_coord_transp (3,nucl_num)
Transposed array of nucl_coord
Needs:
nucl_coord
nucl_num
- nucl_dist
File :
nuclei/nuclei.irp.fdouble precision, allocatable :: nucl_dist_2 (nucl_num,nucl_num) double precision, allocatable :: nucl_dist_vec_x (nucl_num,nucl_num) double precision, allocatable :: nucl_dist_vec_y (nucl_num,nucl_num) double precision, allocatable :: nucl_dist_vec_z (nucl_num,nucl_num) double precision, allocatable :: nucl_dist (nucl_num,nucl_num)
nucl_dist : Nucleus-nucleus distances nucl_dist_2 : Nucleus-nucleus distances squared nucl_dist_vec : Nucleus-nucleus distances vectors
Needs:
nucl_coord
nucl_num
Needed by:
nucl_dist_inv
- nucl_dist_2
File :
nuclei/nuclei.irp.fdouble precision, allocatable :: nucl_dist_2 (nucl_num,nucl_num) double precision, allocatable :: nucl_dist_vec_x (nucl_num,nucl_num) double precision, allocatable :: nucl_dist_vec_y (nucl_num,nucl_num) double precision, allocatable :: nucl_dist_vec_z (nucl_num,nucl_num) double precision, allocatable :: nucl_dist (nucl_num,nucl_num)
nucl_dist : Nucleus-nucleus distances nucl_dist_2 : Nucleus-nucleus distances squared nucl_dist_vec : Nucleus-nucleus distances vectors
Needs:
nucl_coord
nucl_num
Needed by:
nucl_dist_inv
- nucl_dist_inv
File :
nuclei/nuclei.irp.fdouble precision, allocatable :: nucl_dist_inv (nucl_num,nucl_num)
Inverse of the distance between nucleus I and nucleus J
Needs:
nucl_dist_2
nucl_num
- nucl_dist_vec_x
File :
nuclei/nuclei.irp.fdouble precision, allocatable :: nucl_dist_2 (nucl_num,nucl_num) double precision, allocatable :: nucl_dist_vec_x (nucl_num,nucl_num) double precision, allocatable :: nucl_dist_vec_y (nucl_num,nucl_num) double precision, allocatable :: nucl_dist_vec_z (nucl_num,nucl_num) double precision, allocatable :: nucl_dist (nucl_num,nucl_num)
nucl_dist : Nucleus-nucleus distances nucl_dist_2 : Nucleus-nucleus distances squared nucl_dist_vec : Nucleus-nucleus distances vectors
Needs:
nucl_coord
nucl_num
Needed by:
nucl_dist_inv
- nucl_dist_vec_y
File :
nuclei/nuclei.irp.fdouble precision, allocatable :: nucl_dist_2 (nucl_num,nucl_num) double precision, allocatable :: nucl_dist_vec_x (nucl_num,nucl_num) double precision, allocatable :: nucl_dist_vec_y (nucl_num,nucl_num) double precision, allocatable :: nucl_dist_vec_z (nucl_num,nucl_num) double precision, allocatable :: nucl_dist (nucl_num,nucl_num)
nucl_dist : Nucleus-nucleus distances nucl_dist_2 : Nucleus-nucleus distances squared nucl_dist_vec : Nucleus-nucleus distances vectors
Needs:
nucl_coord
nucl_num
Needed by:
nucl_dist_inv
- nucl_dist_vec_z
File :
nuclei/nuclei.irp.fdouble precision, allocatable :: nucl_dist_2 (nucl_num,nucl_num) double precision, allocatable :: nucl_dist_vec_x (nucl_num,nucl_num) double precision, allocatable :: nucl_dist_vec_y (nucl_num,nucl_num) double precision, allocatable :: nucl_dist_vec_z (nucl_num,nucl_num) double precision, allocatable :: nucl_dist (nucl_num,nucl_num)
nucl_dist : Nucleus-nucleus distances nucl_dist_2 : Nucleus-nucleus distances squared nucl_dist_vec : Nucleus-nucleus distances vectors
Needs:
nucl_coord
nucl_num
Needed by:
nucl_dist_inv
- nuclear_repulsion
File :
nuclei/nuclei.irp.fdouble precision :: nuclear_repulsion
Nuclear repulsion energy
Needs:
io_nuclear_repulsionmpi_masternucl_charge
nucl_coordnucl_numoutput_wall_time_0
point_chargespt_chrg_nuclei_interaction
Needed by:
ci_energyci_energy_no_diagcore_energy
core_energy_erfetwohf_energy
psi_energy_with_nucl_reppt2_e0_denominatorscf_energy
- pt_chrg_interaction
File :
nuclei/point_charges.irp.fdouble precision :: pt_chrg_interaction
Interaction between the point charges
Needs:
n_pts_charge
pts_charge_coord
pts_charge_z
Needed by:
pt_chrg_nuclei_interaction
- pt_chrg_nuclei_interaction
File :
nuclei/point_charges.irp.fdouble precision :: pt_chrg_nuclei_interaction
repulsion between the point charges and the nuclei
Needs:
n_pts_chargenucl_chargenucl_coord
nucl_numpoint_chargespt_chrg_interaction
pts_charge_coordpts_charge_z
Needed by:
nuclear_repulsion
- pts_charge_coord
File :
nuclei/point_charges.irp.fdouble precision, allocatable :: pts_charge_coord (n_pts_charge,3)
Coordinates of each point charge.
Needs:
ezfio_filename
mpi_master
n_pts_charge
Needed by:
ao_integrals_pt_chrg
pt_chrg_interaction
pt_chrg_nuclei_interaction
- pts_charge_z
File :
nuclei/point_charges.irp.fdouble precision, allocatable :: pts_charge_z (n_pts_charge)
Charge associated to each point charge.
Needs:
ezfio_filename
mpi_master
n_pts_charge
Needed by:
ao_integrals_pt_chrg
pt_chrg_interaction
pt_chrg_nuclei_interaction
- slater_bragg_radii
File :
nuclei/atomic_radii.irp.fdouble precision, allocatable :: slater_bragg_radii (0:100)
atomic radii in Angstrom defined in table I of JCP 41, 3199 (1964) Slater execpt for the Hydrogen atom where we took the value of Becke (1988, JCP)
Needed by:
slater_bragg_radii_per_atom
slater_bragg_radii_ua
- slater_bragg_radii_per_atom
File :
nuclei/atomic_radii.irp.fdouble precision, allocatable :: slater_bragg_radii_per_atom (nucl_num)
Needs:
nucl_charge
nucl_num
slater_bragg_radii
Needed by:
slater_bragg_type_inter_distance
- slater_bragg_radii_per_atom_ua
File :
nuclei/atomic_radii.irp.fdouble precision, allocatable :: slater_bragg_radii_per_atom_ua (nucl_num)
Needs:
nucl_charge
nucl_num
slater_bragg_radii_ua
Needed by:
slater_bragg_type_inter_distance_ua
- slater_bragg_radii_ua
File :
nuclei/atomic_radii.irp.fdouble precision, allocatable :: slater_bragg_radii_ua (0:100)
Needs:
slater_bragg_radii
Needed by:
slater_bragg_radii_per_atom_ua
- slater_bragg_type_inter_distance
File :
nuclei/atomic_radii.irp.fdouble precision, allocatable :: slater_bragg_type_inter_distance (nucl_num,nucl_num)
Needs:
nucl_num
slater_bragg_radii_per_atom
- slater_bragg_type_inter_distance_ua
File :
nuclei/atomic_radii.irp.fdouble precision, allocatable :: slater_bragg_type_inter_distance_ua (nucl_num,nucl_num)
Needs:
nucl_num
slater_bragg_radii_per_atom_ua