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})

disk_access_nuclear_repulsion

Read/Write Nuclear Repulsion from/to disk [ Write | Read | None ]

Default: None

nuclear_repulsion

Nuclear repulsion (Computed automaticaly or Read in the EZFIO)

Providers

center_of_mass

File : nuclei/nuclei.irp.f

double precision, allocatable   :: center_of_mass       (3)

Center of mass of the molecule

Needs:

  • nucl_num

Needed by:

element_mass

File : nuclei/nuclei.irp.f

character*(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:

Needed by:

element_name

File : nuclei/nuclei.irp.f

character*(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:

Needed by:

inertia_tensor

File : nuclei/inertia.irp.f

double precision, allocatable   :: inertia_tensor       (3,3)

Inertia tensor

Needs:

  • nucl_num

Needed by:

inertia_tensor_eigenvalues

File : nuclei/inertia.irp.f

double 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_eigenvectors

File : nuclei/inertia.irp.f

double 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:

nucl_coord

File : nuclei/nuclei.irp.f

double precision, allocatable   :: nucl_coord   (nucl_num,3)

Nuclear coordinates in the format (:, {x,y,z})

Needs:

  • nucl_charge
  • nucl_label

Needed by:

nucl_coord_transp

File : nuclei/nuclei.irp.f

double precision, allocatable   :: nucl_coord_transp    (3,nucl_num)

Transposed array of nucl_coord

Needs:

  • nucl_num
nucl_dist

File : nuclei/nuclei.irp.f

double 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_num

Needed by:

nucl_dist_2

File : nuclei/nuclei.irp.f

double 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_num

Needed by:

nucl_dist_inv

File : nuclei/nuclei.irp.f

double precision, allocatable   :: nucl_dist_inv        (nucl_num,nucl_num)

Inverse of the distance between nucleus I and nucleus J

Needs:

  • nucl_num
nucl_dist_vec_x

File : nuclei/nuclei.irp.f

double 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_num

Needed by:

nucl_dist_vec_y

File : nuclei/nuclei.irp.f

double 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_num

Needed by:

nucl_dist_vec_z

File : nuclei/nuclei.irp.f

double 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_num

Needed by:

nuclear_repulsion

File : nuclei/nuclei.irp.f

double precision        :: nuclear_repulsion

Nuclear repulsion energy

Needs:

Needed by:

slater_bragg_radii

File : nuclei/atomic_radii.irp.f

double precision, allocatable   :: slater_bragg_radii   (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

File : nuclei/atomic_radii.irp.f

double precision, allocatable   :: slater_bragg_radii_per_atom  (nucl_num)

Needs:

  • nucl_charge
  • nucl_num

Needed by:

slater_bragg_radii_per_atom_ua

File : nuclei/atomic_radii.irp.f

double precision, allocatable   :: slater_bragg_radii_per_atom_ua       (nucl_num)

Needs:

  • nucl_charge
  • nucl_num

Needed by:

slater_bragg_radii_ua

File : nuclei/atomic_radii.irp.f

double precision, allocatable   :: slater_bragg_radii_ua        (100)

Needs:

Needed by:

slater_bragg_type_inter_distance

File : nuclei/atomic_radii.irp.f

double precision, allocatable   :: slater_bragg_type_inter_distance     (nucl_num,nucl_num)

Needs:

  • nucl_num
slater_bragg_type_inter_distance_ua

File : nuclei/atomic_radii.irp.f

double precision, allocatable   :: slater_bragg_type_inter_distance_ua  (nucl_num,nucl_num)

Needs:

  • nucl_num