mirror of
https://github.com/LCPQ/quantum_package
synced 2024-10-20 14:58:19 +02:00
352 lines
7.2 KiB
ReStructuredText
352 lines
7.2 KiB
ReStructuredText
.. _nuclei:
|
|
|
|
.. program:: nuclei
|
|
|
|
.. default-role:: option
|
|
|
|
======
|
|
Nuclei
|
|
======
|
|
|
|
This module contains data relative to the nuclei (coordinates, charge,
|
|
nuclear repulsion energy, etc).
|
|
The coordinates are expressed in atomic units.
|
|
|
|
|
|
|
|
|
|
EZFIO parameters
|
|
----------------
|
|
|
|
.. option:: nucl_num
|
|
|
|
Number of nuclei
|
|
|
|
|
|
.. option:: nucl_label
|
|
|
|
Nuclear labels
|
|
|
|
|
|
.. option:: nucl_charge
|
|
|
|
Nuclear charges
|
|
|
|
|
|
.. option:: nucl_coord
|
|
|
|
Nuclear coordinates in the format (:, {x,y,z})
|
|
|
|
|
|
.. option:: disk_access_nuclear_repulsion
|
|
|
|
Read/Write Nuclear Repulsion from/to disk [ Write | Read | None ]
|
|
|
|
Default: None
|
|
|
|
.. option:: nuclear_repulsion
|
|
|
|
Nuclear repulsion (Computed automaticaly or Read in the |EZFIO|)
|
|
|
|
|
|
|
|
Providers
|
|
---------
|
|
|
|
|
|
.. c:var:: center_of_mass
|
|
|
|
.. code:: text
|
|
|
|
double precision, allocatable :: center_of_mass (3)
|
|
|
|
File: :file:`nuclei.irp.f`
|
|
|
|
Center of mass of the molecule
|
|
|
|
|
|
|
|
|
|
.. c:var:: element_mass
|
|
|
|
.. code:: text
|
|
|
|
character*(4), allocatable :: element_name (0:127)
|
|
double precision, allocatable :: element_mass (0:127)
|
|
|
|
File: :file:`nuclei.irp.f`
|
|
|
|
Array of the name of element, sorted by nuclear charge (integer)
|
|
|
|
|
|
|
|
|
|
.. c:var:: element_name
|
|
|
|
.. code:: text
|
|
|
|
character*(4), allocatable :: element_name (0:127)
|
|
double precision, allocatable :: element_mass (0:127)
|
|
|
|
File: :file:`nuclei.irp.f`
|
|
|
|
Array of the name of element, sorted by nuclear charge (integer)
|
|
|
|
|
|
|
|
|
|
.. c:var:: inertia_tensor
|
|
|
|
.. code:: text
|
|
|
|
double precision, allocatable :: inertia_tensor (3,3)
|
|
|
|
File: :file:`inertia.irp.f`
|
|
|
|
Inertia tensor
|
|
|
|
|
|
|
|
|
|
.. c:var:: inertia_tensor_eigenvalues
|
|
|
|
.. code:: text
|
|
|
|
double precision, allocatable :: inertia_tensor_eigenvectors (3,3)
|
|
double precision, allocatable :: inertia_tensor_eigenvalues (3)
|
|
|
|
File: :file:`inertia.irp.f`
|
|
|
|
Eigenvectors/eigenvalues of the inertia_tensor. Used to find normal orientation.
|
|
|
|
|
|
|
|
|
|
.. c:var:: inertia_tensor_eigenvectors
|
|
|
|
.. code:: text
|
|
|
|
double precision, allocatable :: inertia_tensor_eigenvectors (3,3)
|
|
double precision, allocatable :: inertia_tensor_eigenvalues (3)
|
|
|
|
File: :file:`inertia.irp.f`
|
|
|
|
Eigenvectors/eigenvalues of the inertia_tensor. Used to find normal orientation.
|
|
|
|
|
|
|
|
|
|
.. c:var:: nucl_coord
|
|
|
|
.. code:: text
|
|
|
|
double precision, allocatable :: nucl_coord (nucl_num,3)
|
|
|
|
File: :file:`nuclei.irp.f`
|
|
|
|
Nuclear coordinates in the format (:, {x,y,z})
|
|
|
|
|
|
|
|
|
|
.. c:var:: nucl_coord_transp
|
|
|
|
.. code:: text
|
|
|
|
double precision, allocatable :: nucl_coord_transp (3,nucl_num)
|
|
|
|
File: :file:`nuclei.irp.f`
|
|
|
|
Transposed array of nucl_coord
|
|
|
|
|
|
|
|
|
|
.. c:var:: nucl_dist
|
|
|
|
.. code:: text
|
|
|
|
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)
|
|
|
|
File: :file:`nuclei.irp.f`
|
|
|
|
nucl_dist : Nucleus-nucleus distances nucl_dist_2 : Nucleus-nucleus distances squared nucl_dist_vec : Nucleus-nucleus distances vectors
|
|
|
|
|
|
|
|
|
|
.. c:var:: nucl_dist_2
|
|
|
|
.. code:: text
|
|
|
|
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)
|
|
|
|
File: :file:`nuclei.irp.f`
|
|
|
|
nucl_dist : Nucleus-nucleus distances nucl_dist_2 : Nucleus-nucleus distances squared nucl_dist_vec : Nucleus-nucleus distances vectors
|
|
|
|
|
|
|
|
|
|
.. c:var:: nucl_dist_vec_x
|
|
|
|
.. code:: text
|
|
|
|
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)
|
|
|
|
File: :file:`nuclei.irp.f`
|
|
|
|
nucl_dist : Nucleus-nucleus distances nucl_dist_2 : Nucleus-nucleus distances squared nucl_dist_vec : Nucleus-nucleus distances vectors
|
|
|
|
|
|
|
|
|
|
.. c:var:: nucl_dist_vec_y
|
|
|
|
.. code:: text
|
|
|
|
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)
|
|
|
|
File: :file:`nuclei.irp.f`
|
|
|
|
nucl_dist : Nucleus-nucleus distances nucl_dist_2 : Nucleus-nucleus distances squared nucl_dist_vec : Nucleus-nucleus distances vectors
|
|
|
|
|
|
|
|
|
|
.. c:var:: nucl_dist_vec_z
|
|
|
|
.. code:: text
|
|
|
|
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)
|
|
|
|
File: :file:`nuclei.irp.f`
|
|
|
|
nucl_dist : Nucleus-nucleus distances nucl_dist_2 : Nucleus-nucleus distances squared nucl_dist_vec : Nucleus-nucleus distances vectors
|
|
|
|
|
|
|
|
|
|
.. c:var:: nuclear_repulsion
|
|
|
|
.. code:: text
|
|
|
|
double precision :: nuclear_repulsion
|
|
|
|
File: :file:`nuclei.irp.f`
|
|
|
|
Nuclear repulsion energy
|
|
|
|
|
|
|
|
|
|
.. c:var:: positive_charge_barycentre
|
|
|
|
.. code:: text
|
|
|
|
double precision, allocatable :: positive_charge_barycentre (3)
|
|
|
|
File: :file:`nuclei.irp.f`
|
|
|
|
Centroid of the positive charges
|
|
|
|
|
|
|
|
|
|
.. c:var:: slater_bragg_radii
|
|
|
|
.. code:: text
|
|
|
|
double precision, allocatable :: slater_bragg_radii (100)
|
|
|
|
File: :file:`atomic_radii.irp.f`
|
|
|
|
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)
|
|
|
|
|
|
|
|
|
|
.. c:var:: slater_bragg_radii_per_atom
|
|
|
|
.. code:: text
|
|
|
|
double precision, allocatable :: slater_bragg_radii_per_atom (nucl_num)
|
|
|
|
File: :file:`atomic_radii.irp.f`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: slater_bragg_radii_per_atom_ua
|
|
|
|
.. code:: text
|
|
|
|
double precision, allocatable :: slater_bragg_radii_per_atom_ua (nucl_num)
|
|
|
|
File: :file:`atomic_radii.irp.f`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: slater_bragg_radii_ua
|
|
|
|
.. code:: text
|
|
|
|
double precision, allocatable :: slater_bragg_radii_ua (100)
|
|
|
|
File: :file:`atomic_radii.irp.f`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: slater_bragg_type_inter_distance
|
|
|
|
.. code:: text
|
|
|
|
double precision, allocatable :: slater_bragg_type_inter_distance (nucl_num,nucl_num)
|
|
|
|
File: :file:`atomic_radii.irp.f`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: slater_bragg_type_inter_distance_ua
|
|
|
|
.. code:: text
|
|
|
|
double precision, allocatable :: slater_bragg_type_inter_distance_ua (nucl_num,nucl_num)
|
|
|
|
File: :file:`atomic_radii.irp.f`
|
|
|
|
|
|
|
|
|