atom_set Derived Type

type, public :: atom_set

contains atom information


Components

Type Visibility Attributes Name Initial
integer, public :: i_nuc
real(kind=long), public :: x
real(kind=long), public :: y
real(kind=long), public :: z
integer, public :: charge
real(kind=long), public :: fcharge
real(kind=long), public :: sigma
character(len=6), public :: label
integer, public :: n_r
integer, public :: n_ang
integer, public :: lmax_ang
real(kind=long), public :: rmax
real(kind=long), public :: mapping_l
real(kind=long), public, allocatable :: y_lm(:,:)
type(grid), public :: radial
type(angular_grid), public :: angular
integer, public :: n_nao
real(kind=long), public, allocatable :: u_ao(:,:)
real(kind=long), public, allocatable :: d2_ao(:,:)
real(kind=long), public, allocatable :: dao_dr(:,:)
integer, public, allocatable :: n_ao(:)
integer, public, allocatable :: l_ao(:)
integer, public :: n_orb
integer, public, allocatable :: config(:,:)

atomic configuration config(i,1) -> quantum number n config(i,2) -> quantum number l config(i,3) -> occupation number

character(len=80), public :: nao_name

the basis name printed out Basis functions to be read in read_molecule_param() -------------------- We employ NAO (Numerical Atomic Orbital) as basis functions for molecular calculations. N_nao_table(:,:) : specifying # of NAO functions per l and each atom (0:MAX_lmax,1:N_nuc) where MAX_lmax = max. of lmax for all atoms Remember that 2s1p means two s orbitals and one p orbital, so # of basis functions becomes 5!!! N_basis : total # of basis functions, considering l

EXAMPLE of basis_string 2s1p at i-th atom: two s orbitals and one p orbitals (px, py, pz) N_nao = 3; N_basis = 21 + 13 = 5 N_nao_table(l=0,i) = 2; N_nao_table(l=1,i) = 1 5s3p1d at i-th atom: 5 s orbitals, 3 p orbitals, and 1 d orbital N_nao = 9; N_basis = 51 + 33 + 1*5 = 19 N_nao_table(0:2,i) = ( 5 3 1 )

EXAMPLE of the NAO basis function file: 200 1.0 50.0 # N_AG, L_AG, rmax_AG 2 5 # lmax and how many NAOs for given l ... (5 lines with 200 NAO values at 200 radial grid points for l=0) ... (5 lines with 200 NAO values at 200 radial grid points for l=1) ... (5 lines with 200 NAO values at 200 radial grid points for l=2) EOF

integer, public, allocatable :: n_nao_table(:)
character(len=512), public :: hole_string
character(len=512), public :: conf_string
character(len=512), public :: nao_file_nuc
character(len=512), public :: auger_file_nuc
character(len=512), public :: tdipole_file_nuc
integer, public :: sym_op_pair(8)

symmetry operations pairs contains for every defined symmetry operation (i=1..8) the atom index to which the specific atom is translated under the symmetry operation i ( or -1 if symmetry operation does change the molecule ). Symmetry operations are: 1 E : identity 2 C2X : 180 degree rotation around X axis 3 C2Y : 180 degree rotation around Y axis 4 C2Z : 180 degree rotation around Z axis 5 i : inversion 6 SIGXY: reflection on XY plane 7 SIGXZ: reflection on XZ plane 8 SIGYZ: reflection on YZ plane