Procedure | Location | Procedure Type | Description |
---|---|---|---|
active_space_occs | operations | Subroutine | returns a list of occupations, constructed from N_occ by redistributing electrons wihtin the orbitals given in active_space_MO |
adapt_wf_nr_basis | wavefunction | Subroutine | in case the number of basis functions has changed dynamically due to out-projection of high overlap matrix eigenvalues we here adapt the wavefunction object, so that we can smoothly continue the calculation |
add_electrostatic_interaction | gaussian | Subroutine | this is for the direct SCF GTO calculation adds all electrostatic interaction matrix elements to the one-electron Hamiltonian H |
add_process | process | Subroutine | add one process to S - S%value(k): rate or cross section - S%E_eV(k): transition energy in eV, rounded to nearest integer - S%N_process is increased by one. - S%tag is given by P, V, A, F, 2 (two-photon abs.), 3 (three-photon), ... |
angdelta | anglib | Function | calculate the function delta as defined in varshalovich et al. for use in 6-j symbol: |
associated_legendre_p | legendre | Function | Function to compute the associated Legendre function of x with order l & m ref) Numerical Recipes in Fortran, pp 246-248 |
associated_legendre_p_array | legendre | Subroutine | this function calculates all associated Legendre polynomials for every l,m < lmax and return them in an array adapted from the numerical recipes implementation |
atomic_density_population_analysis | population | Subroutine | population analysis based on the grid points |
auto_active_space | operations | Subroutine | from an occupation occ and a new, LC1, and old, LC2, orbital set plus given basis set overlap matrix S12 return the orbital indices that are involved in the changes/rotations of orbitals Ncore is the number of core orbitals |
averaged_occs | averaging | Subroutine | subroutine averaged_occs: returns an array of occupations that describe the occupation patterns which are averaged, using the averaging scheme given in F%av_occ(:) and the occupation N_occ(:) |
bfgs_hessian | secondorder_scf | Subroutine | Broyden-Fletcher-Goldfarb-Shanno (BFGS) method to approximate the inverse hessian by previous step and this step gradient and previous step gradient, and previous estimated hessian |
binom | anglib | Function | calculates binomial |
bond_distance | molecular_grid | Function | calculated distances between atoms (employing periodic boundary conditions) |
bondorder_analysis | population | Subroutine | Calculates bond-order btw atoms. -diagonal elements- should be ignored (in practice they are juat the Mulliken charges) revised 13.09.2016 by Ludger: Bond order is See e.g. INTERNATIONAL JOURNAL OF QUANTUM CHEMISTRY, VOL. XXVI, I S 1-154 ( 1984) |
braket | basis_func | Function | braket(): where i, j indicate i-th and j-th basis function braket_Laplacian(): |
c_f_string | stdio | Subroutine | converts a c_char pointer array cStrPtr to a fortran string fStr |
calc_cimatrix | mcscf | Subroutine | calculates the configuration interaction matrix |
calc_cimatrix_diagonal | mcscf | Subroutine | calculates the configuration interaction matrix (only diagonal elements) |
calc_cimatrix_matrix_multp | mcscf | Subroutine | calculates the matrix-matrix product of the CI matrix with coefficients |
calc_cimatrix_vector_multp | mcscf | Subroutine | calculates the product of the CI matrix with a coefficient vector |
calc_elastic_scattering | scattering | Subroutine | calculates the absolute square Fourier transform of the electron density on a cartesian reciprocal grid |
calc_fluorescence_rates | fluorescence | Subroutine | calculated fluorescence rates between MOs based on independent el. approximation (i.e. based on orbital energies) |
calc_fluorescence_rates_ci | fluorescence | Subroutine | calculated fluorescence rates based on configuration interaction calculation print the configurations in the initial state basis (without projection) |
calc_fluorescence_rates_spin | fluorescence | Subroutine | calculated fluorescence rates between MOs based on independent el. approximation (i.e. based on orbital energies) but resolves individual spin configurations |
calc_fluorescence_rates_spin_avg | fluorescence | Subroutine | calculated fluorescence rates between MOs based on independent el. approximation (i.e. based on orbital energies) but resolves individual spin configurations and considers averaging over configurations |
calc_os | absorption | Subroutine | calculates the oscillator strength based on orbital energies |
calc_oscillator_strength_ci | absorption | Subroutine | calculates the oscillator strenght employing a CI calculation make natural orbitals |
calc_oscillator_strength_cis | absorption | Subroutine | calculates the oscillator strenght based on CIS energies |
calc_trans_dipole_moment_bf | basis_func | Subroutine | calculates the transition dipole matrix elements between basisfunctions and stores them in tdipole_bf( mu, nu, p) |
calc_waller_hartree_scattering | scattering | Subroutine | calculates inelastic scattering in the Waller_Hartree approximation |
calcaugerrates | augerrates | Subroutine | calculates Auger-Meitner decay transitions based on orbital energy differences |
calcaugerrates_ci | augerrates | Subroutine | calculates Auger-Meitner decay transitions based on configuration interaction calculation |
calcaugerrates_spin | augerrates | Subroutine | calculates Auger-Meitner decay transitions based on orbital energy differences resolving individual spin configurations |
calcaugerrates_spin_avg | augerrates | Subroutine | calculates Auger-Meitner decay transitions based on orbital energy differences resolving individual spin configurations and considering averaging over configuration |
calculate_1contracted_teints_direct | gaussian | Subroutine | returns two-electron integrals, where the first index has been contracted with LCAO orbital coefficients LC |
calculate_cis_gradient_gto | gradient | Subroutine | this subroutine calculates CIS gradient |
calculate_dedr | nuclear_derivatives | Subroutine | calculate_dEdR : MAIN routine Jnuc_want(Nwant) : iNuc indices of your need ret(3,Nwant) : contains dE/dR vectors |
calculate_dipole_gaussian_basis_set | gaussian | Subroutine | calculates dipole matrix elements |
calculate_energy_gradient | gradient | Subroutine | a wrapper for calculate_dEdR defined in nuclear_derivatives.f90 |
calculate_energy_gradient_gto | gradient | Subroutine | calculates the RHF/ ROHF / HFS gradient when GTO are used |
calculate_entropy | finitetemp | Function | function returns the electronic entropy - |
calculate_f_inactive | mcscf | Subroutine | return the inactive Fock matrix i.e. from the inactive orbital's density matrix |
calculate_f_inactive_direct | mcscf | Subroutine | return the inactive Fock matrix i.e. from the inactive orbital's density matrix in a direct-SCF context (without pre-calculated teints) |
calculate_hkin_gaussian_basis_set | gaussian | Subroutine | calculates the kinetic energy matrix |
calculate_hole_energies_efield | gradient | Subroutine | calculates Koopmann's hole energies in the presence of an electric field |
calculate_hole_energies_gradients_nacs | gradient | Subroutine | calculates the Koopmann's Theorem gradient assuming that an excited state energy gradient is |
calculate_koopmann_energy_gradient | gradient | Subroutine | this subroutine calculated the Koopmann's Theorem gradient assuming that an ionized state energy gradient is or and anionic state energy is it even calculates gradient for excited states assuming that which ignores mutual interaction between orbital a and i |
calculate_legendre | legendre | Subroutine | Calculate the value of the Legendre polynomial and its derivative input : n = the order of poly., x = the point to be calculated results : p = P_n(x), dp = P'_n(x) |
calculate_orbital_gradient_gto | gradient | Subroutine | calculates the gradients of orbital energies |
calculate_overlap_gaussian_basis_set | gaussian | Subroutine | computes the overlap matrix |
calculate_photoionization_cs | photoionization | Subroutine | calculates photoionization cross sections based on orbital energies |
calculate_photoionization_cs_ci | photoionization | Subroutine | computes photoionizatio cross sections employing configuration interaction calculations |
calculate_photoionization_cs_spin | photoionization | Subroutine | calculates photoionization cross sections based on orbital energies resolving individual spin configurations |
calculate_photoionization_cs_spin_avg | photoionization | Subroutine | calculates photoionization cross sections based on orbital energies resolving individual spin configurations and averaging over configurations |
calculate_teints_gaussian_basis_set | gaussian | Subroutine | computes all two-electron integrals |
calculate_vcoul_gaussian_basis_set | gaussian | Subroutine | calculates the external potential energy matrix |
calculate_vext_gaussian_basis_set | gaussian | Subroutine | computes the interaction matrix elements of the electrons with nuclei potential |
calculate_weight_grid3d | molecular_grid | Subroutine | calculate all integration weights on Grid3D and |
check_mem_current | stdio | Interface | |
check_mem_peak | stdio | Interface | |
check_normalized | eigen_lapack | Interface | Check if w.f. is normalized = 1 if k = k' = 0 if k /= k' with the matrix form wf' wf = I for a real matrix wf^T wf = I for a complex matrix |
check_time | stdio | Subroutine | Use this procedure when you want a check point. But, for initilization, you must put this without counter at the very begining of your program. ex) check_time() ... check_time( c, t ) print *, job_time( c ) |
checkpoint | stdio | Subroutine | checkpoint(): more convenient procedure than check_time() An array time(0:) is a table containing all checkpoint times - time(0) : reference time stamp - time(1) : elapsed time for the first checkpoint - time(2) : elapsed time for the second checkpoint - ... ex) call init_checkpoint( time ) : initialize a time array ... (do some calculations) ... call checkpoint( time ) : make a checkpoint with the time array |
ci_procedure | mcscf | Subroutine | performs CI calculations |
cis_densitymatrix | cis | Function | calculates different types of cis density matrix for stateindex state state: state index 1...n typ (optional argument): 'F' for full density matrix 'P' for particle density matrix 'H' for hole density matrix 'T' for transition-density matrix |
cis_procedure | cis | Subroutine | calculates cis states |
cistate2occ | xmolecule_interface | Subroutine | returns the dominant configuration of the CI state with state index state |
cleb | anglib | Function | calculate a clebsch-gordan coefficient arguments are integer and twice the true value. |
compare_det | spin_coupling | Subroutine | compares two determinants specified by determinant path left_det(1:Nopen) right_det(1:Nopen) and occupation left_occ(:) and right_occ(:), respectively. only_left(1:M) and only_right(1:M) returns the orbital indices of electrons that are only present in left and right determinant only_left_spin(1:M) and only_right_spin(1:M) the respective spin of the electrons coef_sign returns the sign produced by flips to bring the determinants into best congruence. The array length M can be arbitrarily. When the number of electrons only present in one determinant exceeds M comparison is quit and coef_sign=0 is returned |
compute_impact_ionization_ddcs | impact_ionization | Subroutine | Computes impact ionization doubly differential cross section (DDCS) and cross section integrated over outgoing energy (DCS) Output total and angle-resolved DCS Write a file "DDCS_DATA.dat" containing the DDCS data for post processing The DDCS_DATA.dat file is organised in data blocks separated by a blank line: First block (First line) : N_theta, N_phi Second block (N_theta lines) : List of theta values (rad) Third block (N_phi lines) : List of phi values (rad) Last block (Last line) : N_trans Block 4 to 3+N_trans (1 + N_phi x N_theta lines )contains the DDCS data for all possible transitions. First line contains : indexes of initial and final MO, transition energy (Ha), coresponding outgoing energy (Ha) The next N_phi x N_theta lines contain (loop over phi then theta) : DDCS(theta,phi), DDCS(theta,phi)*dOmega |
compute_impact_ionization_wh | impact_ionization | Subroutine | Computes impact ionization cross sections (DCS) based on the Waller Hartree approximation. Output total and angle-resolved DCS. |
construct_angular_grid | angular | Subroutine | angular grid |
construct_atom_set | atom_in_mol | Subroutine | constructs atom set |
construct_basis | basis_func | Subroutine | construct (or reconstruct) B from A and G all necessary informations are obtained from - A : atomic orbitals of individual atoms - G : molecular grids |
construct_csf_array | mcscf | Subroutine | construcst an array of CSF types for a given set of occupation configurations, spin multiplicity, and irreducible represention |
construct_fock_matrix | hartreefock | Subroutine | This function constructs the RHF Fock Matrix assumes that density matrix is symmetric |
construct_fock_matrix2 | hartreefock | Subroutine | returns RHF Fock matrix |
construct_fock_matrix_direct | gaussian | Subroutine | This procedure constructs the RHF Fock Matrix assumes that density matrix is symmetric |
construct_gaussian_basis_set | gaussian | Subroutine | constructs Gaussian basis set |
construct_grid | gps | Subroutine | general function to generate grids grid_type= LGL, LG, or FGH mapping_type= linear or algebraic(reciprocal) This function does 1) set parameters of N and grid_type 2) allocate memory for r, rp, D1, D2, and so on 2) make computational grids 3) make real grids by means of a mapping function 4) construct D1 and D2 |
construct_grid3d | molecular_grid | Subroutine | creates the molecular Grid G |
construct_h0_matrix | scf | Subroutine | calculates the H0 matrix for given basis B: hkin+v_ext contribution |
construct_j_matrix | hartreefock | Subroutine | This function constructs the J Matrix |
construct_k_matrix | hartreefock | Subroutine | construct the K matrix |
construct_m_matrix | hartreefock | Subroutine | this subroutine returns the matrix it expects to find the MO-space twoelectron integrals in F%teint |
construct_moo_matrix | hartreefock | Subroutine | this subroutine returns the matrix it expects to find the MO-space twoelectron integrals in F%teint |
construct_moo_matrix2 | hartreefock | Subroutine | this subroutine returns the matrix it doesn't need transformed integrals |
construct_mov_matrix | hartreefock | Subroutine | this subroutine returns the matrix it expects to find the MO-space twoelectron integrals in F%teint |
construct_mov_matrix2 | hartreefock | Subroutine | this subroutine returns the matrix idea: employ a density difference and screen low contributions |
construct_overlap2minimalbasis | wavefunction | Subroutine | prepares the overlap matrix of the current molecular orbitals to a minimal orbital set based on numerical atomic orbitals |
construct_rohf_fock_matrix | hartreefock | Subroutine | returns ROHF Fock matrix for high spin half filled open shell variant=1 (default) Roothan variant=2 Davidson variant=3 Guest & Saunders |
construct_rohf_fock_matrix2 | hartreefock | Subroutine | returns ROHF Fock matrix for high spin half filled open shell alternative ROHF Fock matrix routine |
construct_uhf_fock_matrix | hartreefock | Subroutine | constructs UHF Fock Matrix |
construct_uhf_fock_matrix_direct | gaussian | Subroutine | construct the UHF Fock Matrix assumes that density matrix is symmetric |
construct_wf_data | wavefunction | Subroutine | create WF_data from P, A, G, and B |
constructumatrixtable | spin_coupling | Subroutine | make a table of coupling matrices for a set of transpositions of a set of maximal NopenMax un-paired electrons |
contraction_icab2cdab | hartreefock | Subroutine | contracts a packed storage teints set with dimension n along the first coordinate with coefficients LC |
contraction_ijab2icab | hartreefock | Subroutine | contracts a packed storage teints set with dimension n along the first coordinate with coefficients LC |
contraction_ijka2ijba | hartreefock | Subroutine | contracts a packed storage teints set with dimension n along the first coordinate with coefficients LC |
contraction_ijkl2ijka | hartreefock | Subroutine | contracts a packed storage teints set with dimension n along the first coordinate with coefficients LC |
convert_to_lowercase | stdio | Subroutine | convert string into lowercase |
convert_to_uppercase | stdio | Subroutine | convert string into uppercase |
create_process | process | Function | creates process structure |
csfdet | spin_coupling | Function | returns the coefficient for determinant specified by determinant path P in csf specified by path T |
csfstring | spin_coupling | Function | returns printable string for a given spin configuration |
density | operations | Function | computes electronic density on the grid density: where is a basis function |
density_matrix | operations | Subroutine | computes the density matrix |
density_matrix_alpha | hartreefock | Subroutine | spin-alpha density matrix where alpha is the majority spin population |
density_matrix_beta | hartreefock | Subroutine | spin-beta density matrix where alpha is the majority spin population |
density_matrix_closed | hartreefock | Subroutine | closed shell part density matrix |
density_matrix_open | hartreefock | Subroutine | open shell part of the density matrix |
detstring | spin_coupling | Function | returns a readable string for printing out determinant specified by occupation and determinant path det |
diis | neweffpot | Subroutine | Direct inversion of iterative subspace [DIIS] procedure Implement Eqs. (1)-(4) Pulay J. Comp. Chem. 3. 556 (1982) Feb.25.2015 : K.H : (1) Half of operation (w.r. i and j ) can be skipped using symmetry. (2) You do not need full matrix multiplication (dimension=B%N_basis) since we just need the trace this amounts to ~10 sec gain per iteration for 180 atom (660basis) calculations |
diis_unrestricted | neweffpot | Subroutine | Feb.25.2015 : K.H : (1) Half of operation (w.r. i and j ) can be skipped using symmetry. (2) You do not need full matrix multiplication (dimension=B%N_basis) since we just need the trace this amounts to ~10 sec gain per iteration for 180 atom (660basis) calculations |
dominant_subshell_mo | population | Subroutine | for a given MO return the dominant atomic subshell |
dump_atom_set | atom_in_mol | Subroutine | prints atom set information |
dump_parameters | read_param | Subroutine | print all parameters |
dump_twoel | hartreefock | Subroutine | print all two-electron integrals |
error_message | stdio | Subroutine | show error message and stop the program |
exchange_gradient | gradient | Subroutine | computes the gradient of the exchange potential part for HFS |
factorial | anglib | Function | calculated factorial |
factorial2 | sph_harmonics | Function | factorial(n,m) = m! / n! for n < m = 1 otherwise thus, factorial(1,2) = 2; factorial(2,1) = 1 |
fermi_occupation | finitetemp | Subroutine | this subroutine return calculates the chemical potential such that we have sum(F%N_occ) electrons at temperature P%T_eV with orbital energies F%CE fractional occupations are saved in F%f_occ. by Ludger Inhester 26/11/2014 Kota Hanasaki : revision 1406 to adapt to low temperature 01/12/2014 Kota Hanasaki : revision 1413 fix initial guess Mar 2017 Ludger Inhester : cleaned up code, restricted it to obitals F%Ncore+1, choose better variable names if improvement is smaller than this, increase trial step v = TWO* sum( fermi( F%CE(:),T_AU, mu ) ) - Ne Convergence Check... |
fidelity | operations | Function | computes the overlaps to reference orbitals squared |
filter_ras_occs | operations | Subroutine | filters set of occupation numbers to meet ras restrictions |
filter_sym_occs | operations | Subroutine | filters set of occupation numbers to meet symmetry restrictions |
find_neighboring_atoms | molecular_grid | Subroutine | count how many neighboring atoms for each atom and find the bond distances |
find_optimal_deltad | operations | Subroutine | This subroutines returns a set of coefficients for 'optimal' representing the current Density matrix F%D as a linear combination of the saved density matrices in the F%Dsave array F%D(:,:) = sum_i coef(i) * F%Dsave(:,:,i) + deltaD(:,:) 'optimal' means that the rest is small in that sense that it has minimal number of nonzero elements. To achieve this, we use unconstrained Newton minimizer to minimize the function |
fix_orbitals_on_nuclei | localization | Subroutine | find the best permutation of orbitals specified in MO_index such that sum(gross_pop(MO_index(:),nuc_index(:))) is maximized |
footnote | stdio | Subroutine | prints footnote |
fragment_analysis | population | Subroutine | analysis possible fragments based on bond order values |
functional_c | functional_xc | Function | correlation functional |
functional_c | functional_xc | Interface | correlation functional |
functional_x | functional_xc | Function | exchange functional |
gaussian_cphf_iteration | gaussian_cphf | Subroutine | this subroutine performs a coupled perturbed hartree fock calculation see details in Gerrat & Mills, JCP 49 1719 |
gen_oh | ../../lebedev-laikov.f | Subroutine | |
general_active_space_occs | operations | Subroutine | returns a list of occupations in occs that distributes Nelectot electrons in Norbtot orbitals where the occupations comply with the general active space definitions provides by the list of gass: gass(i)%orbitals(:) is a list defining an orbital subset gass(i)%nmin the minimum number of electrons in this orbital subset gass(i)%nmax the maximum number of electrons in this orbital subset |
get_atomic_number | atom | Function | returns atomic number of a given element |
get_atomic_species | atom | Subroutine | returns charge and mass of a given element |
get_combinations | operations | Subroutine | returns the list of combinations k out of 1..n in lexicographical order |
get_complement_combinations | operations | Subroutine | given a list of combinations k out of n this subroutine returns the complement combinations |
get_eigenvalues | eigen_lapack | Interface | returns eigenvalues of square matrices |
get_eigenvalues_symmetry | eigen_lapack | Subroutine | computes eigenvalues of square matrices under consideration that there a extra symmetries |
get_input | stdio | Subroutine | if filename2 is specified, override reading of command line options. instead only read from filename2 |
get_some_eigenvalues_davpack | eigen_lapack | Subroutine | get some eigenvalues and eigenvectors using davpack |
get_some_ev_of_real_sym | eigen_lapack | Subroutine | Solve the eigenvalue problem of H(N,N) real symmetric matrix using dsyevx - matrix: real, H(N,N) - eigenvalues: real, E(num) - eigenvectors: real, Z(N,num) - num: number of eigenvectors and eigenvalues with lowest eigenvalues - epsilon: (optional) absolute tolerance Eigenvalues are stored in E(N) |
getucyclematrixfromtable | spin_coupling | Subroutine | returns the coupling matrix for translocation mu-<nu using the previously prepared table UT |
getumatrixfromtable | spin_coupling | Subroutine | returns the coupling matrix for translocation mu-<nu using the previously prepared table UT |
grad_sph_harmonic_y_real | sph_harmonics | Function | gradient of real sph harmonic |
grad_sum | gradient | Function | sum the gradients along coordinates x,y,z |
gross_population_analysis | population | Subroutine | gross orbital population analysis |
groundstate_occ | operations | Function | returns ground state occupation numbers |
h0_gradient | gaussian | Subroutine | computes gradient of h0 $omp parallel shared(atm, bas, env, first_bf_of_shell) private(sh1,sh2,atom,atom1,atom2,shls,ret1,n1,n2,data1,m1,m2,i,j,factor,my_env,mu) default(none) reduction(+:v,t) $omp do $omp end do $omp end parallel |
has_hole | averaging | Function | function has_hole: P: Parameter structure N_occ: occ array oi: orbital index returns TRUE if there might be a statistical chance for a hole in orbital oi otherwise FALSE |
index_packed | packed_index | Interface | index for the upper triangular matrix in a packed storage scheme SEE: http://www.netlib.org/lapack/lug/node123.html optimization: use precalculated array sq_half(i)= |
index_to_occ | elec_config | Subroutine | maps occupation pattern to index |
init_checkpoint | stdio | Subroutine | |
init_index_packed | packed_index | Subroutine | initialize index_packed: precompute index values |
init_time | stdio | Subroutine | print out CPU_time, current time, and hostname With PGI compiler, CPU_time gives real time instead of CPU time. What can I do for it? Huh? USAGE) call init_time() ... call footnote() |
initial_density | operations | Function | prepares an initial electron density F%rho based on atomic electron densities |
initial_density_matrix | operations | Function | this is the equivalent to initial_density but returns a density matrix instead of a grid density |
integral | molecular_grid | Function | integral on the grid |
integral_a | operations | Function | integral on atomic grid |
integral_double_center | molecular_grid | Function | double center grid integral |
integral_single_center | molecular_grid | Function | single center grid integral |
is_equivalent | averaging | Function | function is_equivalent: N_occ: occ array part: orbital index hole: orbital index returns TRUE if orbital part and orbital hole are equivalent otherwise FALSE |
is_equivalent_occ | averaging | Function | returns true if occ1 and occ2 are equivalent through averaging |
is_occupied | averaging | Function | function is_occupied: P: Parameter structure N_occ: occ array oi: orbital index returns TRUE if there might be a statistical chance for occupancy in orbital oi otherwise FALSE |
is_pair_occupied | averaging | Function | function is_pair_occupied: P: Parameter structure N_occ: occ array oi: orbital index oj: orbital index returns TRUE if there is a statistical chance that orbital oi and oj are both occupied otherwise FALSE |
jk_gradient | gaussian | Subroutine | computes derivatives of J and K |
job_time | stdio | Interface | returns job time |
ld0006 | ../../lebedev-laikov.f | Subroutine | |
ld0014 | ../../lebedev-laikov.f | Subroutine | |
ld0026 | ../../lebedev-laikov.f | Subroutine | |
ld0038 | ../../lebedev-laikov.f | Subroutine | |
ld0050 | ../../lebedev-laikov.f | Subroutine | |
ld0074 | ../../lebedev-laikov.f | Subroutine | |
ld0086 | ../../lebedev-laikov.f | Subroutine | |
ld0110 | ../../lebedev-laikov.f | Subroutine | |
ld0146 | ../../lebedev-laikov.f | Subroutine | |
ld0170 | ../../lebedev-laikov.f | Subroutine | |
ld0194 | ../../lebedev-laikov.f | Subroutine | |
ld0230 | ../../lebedev-laikov.f | Subroutine | |
ld0266 | ../../lebedev-laikov.f | Subroutine | |
ld0302 | ../../lebedev-laikov.f | Subroutine | |
ld0350 | ../../lebedev-laikov.f | Subroutine | |
ld0434 | ../../lebedev-laikov.f | Subroutine | |
ld0590 | ../../lebedev-laikov.f | Subroutine | |
ld0770 | ../../lebedev-laikov.f | Subroutine | |
ld0974 | ../../lebedev-laikov.f | Subroutine | |
ld1202 | ../../lebedev-laikov.f | Subroutine | |
ld1454 | ../../lebedev-laikov.f | Subroutine | |
ld1730 | ../../lebedev-laikov.f | Subroutine | |
ld2030 | ../../lebedev-laikov.f | Subroutine | |
ld2354 | ../../lebedev-laikov.f | Subroutine | |
ld2702 | ../../lebedev-laikov.f | Subroutine | |
ld3074 | ../../lebedev-laikov.f | Subroutine | |
ld3470 | ../../lebedev-laikov.f | Subroutine | |
ld3890 | ../../lebedev-laikov.f | Subroutine | |
ld4334 | ../../lebedev-laikov.f | Subroutine | |
ld4802 | ../../lebedev-laikov.f | Subroutine | |
ld5294 | ../../lebedev-laikov.f | Subroutine | |
ld5810 | ../../lebedev-laikov.f | Subroutine | |
legendre_dp | legendre | Function | Function to calculate 1st derivative of the Legendre f. of x with order n |
legendre_p | legendre | Function | Function to calculate the Legendre function of x with order n |
linear_create | interpolate | Function | creates linear interpolation structure |
linear_interpolate | interpolate | Function | linearly interpolate |
localize_orbitals | localization | Subroutine | localizes orbitals in MO_index array |
loewdin_population | population | Subroutine | loewdin population analysis |
loewdin_population_analysis | population | Subroutine | loewdin population analysis |
long_range_energies | operations | Function | returns long range interaction energies |
lu_decompose | matrix | Function | Carry out LU-decomposition for A and put the decomposed matrix into M implementation of Crout's method with partial pivoting. |
lu_determinant | matrix | Function | returns the determinant value of LU-decomposed matrix M |
lu_inverse | matrix | Function | Return the inverse matrix of LU-decomposed matrix M using F solve(M, b) |
lu_matrix_purge | matrix | Subroutine | purges LU_matrix structure |
lu_solve | matrix | Function | Solve a linear equation for b with LU-decomposed matrix M Return the solution for b as a new vector x b : row vector, not column vector, that is, just 1D array of n |
make_soscf_step | secondorder_scf | Subroutine | |
makecycleuij | spin_coupling | Subroutine | computes coupling matrix for transposition uj->ui oj is moved down to position oi |
matrix_determinant | matrix | Function | returns the determinant of square matrix A slightly redundant to LU_determiant but allows also to return zero as a determinant |
mattrace | matrix | Function | returns the trace of matrix A |
mattraceproduct | matrix | Function | computes the trace of the matrix A * B first dimension of A has to match second dimension of B second dimension of A has to match first dimension of B |
mcscf_procedure | mcscf | Subroutine | MCSCF procedure |
merge_argsort | mergesort | Interface | returns the indices that sorts the array |
merge_argsort_double | mergesort | Subroutine | arg sorts integer array A |
merge_argsort_int | mergesort | Subroutine | arg sorts integer array A |
merge_sort | mergesort | Interface | sorts array argument |
merge_sort_int | mergesort | Subroutine | sorts integer array A |
mulliken_population | population | Subroutine | mulliken population analysis |
mulliken_population_analysis | population | Subroutine | Mulliken atomic population analysis Ref) Mulliken, JCP 23, 1833 (1955) |
ninej | anglib | Function | |
nopen2csfs | spin_coupling | Subroutine | routine calculates the genealogical pathes for all configuration state functions for given multiplicity multp with Nopen open shells. pathes are returned in arrays csfs(1:Nopen, :) example pathes for multp=2 and Nopen=3 there are two spin configurations: 1,2,1 means spin configuration '//\' 1,0,1 means spin configuration '/\/' |
nopen2dets | spin_coupling | Subroutine | routine calculates the genealogical pathes for all high spin determinants for given multiplicity multp with Nopen open shells. pathes are returned in arrays dets(1:Nopen,:) example pathes for multp=2 and Nopen=3 1,2,1 means spin up up down 1,0,1 means spin up down up -1,0,1 means spin down up up |
nuclear_repulsion_energy | operations | Function | nuclear repulsion energy |
nuclear_repulsion_energy_crystal | operations | Function | nuclear_repulsion_energy_crystal() for the crystalline case |
nuclear_repulsion_gradient | operations | Function | nuclear repulsion gradient |
num_csf | spin_coupling | Function | returns the number of possible spin configurations |
obtain_grid_position | molecular_grid | Function | |
obtain_nuclear_position | molecular_grid | Function | |
occ2cistate | xmolecule_interface | Subroutine | randomly selects a CI states according to overlap with given occupation |
occ_broadening | finitetemp | Subroutine | washes out fractional occupation number for orbitals with simialr energy |
occ_overlap2 | mcscf | Subroutine | calculates squared overlaps of a configuration occ with orbital coefficients LC1 (averaged over spin) to a set of configurations occs with orbital coefficients LC2 |
occ_overlap2_highspin_core | operations | Subroutine | returns overlap square between configurations in occ to configurations in occs with different molecular orbitals and basis sets considering only high-spin configurations |
occ_process | process | Function | returns the final occupation numbers for a specific |
occ_space | operations | Function | returns 0 for unoccupied MO 1 for singly occupied MO 2 for doubly occupied MO 2+i for orbital in average_occ_MO subspace i=1,...n if the orbitals are partially occupied |
occ_to_index | elec_config | Subroutine | maps index to occupation pattern |
one_electron_gradient | gaussian | Subroutine | returns the gradient resulting from one-electron contributions (h0) |
one_particle_dm | spin_coupling | Subroutine | returns the one-particle density matrix |
one_particle_dm_ci2 | mcscf | Subroutine | computes the one-particle density matrix |
operator(.m.) | matrix | Interface | Operators for efficient matrix multiplication with LAPACK, but better readibility. (It is assumed that the dimensionality fits.) |
operator(.mt.) | matrix | Interface | multiply two real square matrices, the second is transposed A(B*T)= A .mt. B |
operator(.sub.) | matrix | Interface | substract two real square matrices element wise A-B = A .sub. B This functionality is provided by f90. Element wise, arrays (of same dimensionality) can be added, substracted, multiplied and divided. sub_real_matrix_matrix is not a LAPACK feature. (Michael) |
operator(.tm.) | matrix | Interface | multiply two real square matrices, the first is transposed (A*T)B= A .tm. B |
orthonormalizeorbitals | basis_func | Subroutine | Do a Gram-Schmidt orthogonalization for the coefficients given by C according to the metric given by the overlap matrix B%S, i.e. such that < C(:,i) S(:,:) C(:,j) > = delta_i,j B are the basis set parameters |
overlap_csfs | mcscf | Subroutine | calculated overlaps of configuration state functions for different orbital sets |
overlap_energy_gradient | gaussian | Subroutine | computes derivative of overlap matrix with respect to geometry |
overlap_energy_gradient_rohf | gaussian | Subroutine | computes the gradient due to basis overlap |
overlap_energy_gradient_uhf | gaussian | Subroutine | computes the gradient due to basis overlap |
overlap_gradient | gaussian | Subroutine | compute gradient of overlap matrix |
overlap_operator_csfs | mcscf | Subroutine | calculated overlaps of configuration state functions for different orbital sets |
parse_int_array | stdio | Function | parses an integer array |
parse_option | stdio | Interface | |
parse_real_array | stdio | Function | parses a float array |
parse_string_array | stdio | Function | parses a string array |
place_ag_on_grid3d | molecular_grid | Subroutine | |
potential_c | functional_xc | Interface | correlation potential |
potential_ext | operations | Function | Nuc-elec potential |
potential_j | operations | Function | calculating the direct Coulomb potential a.k.a. Hartree potential or classical electron-electron repulsion potential |
potential_j_a | operations | Function | Calculating Coulomb potential on the atomic grid |
potential_j_mc | operations | Function | Yajiang's original implementation for the direct Coulomb potential - potential_J_MC() - potential_J_A_R() - integral_A() - potential_J_A() |
potential_x | functional_xc | Function | exchange potential |
potential_xc | functional_xc | Function | General XC functionals potential_x or functional_x( P, G, rho ) potential_c or functional_c( P, G, rho_a, rho_b ) |
precalculate_twoel | hartreefock | Subroutine | precalculate all 2el matrix elements |
precalculate_twoel_gto | basis_func | Subroutine | subroutine to precalculate all 2el matrix elements |
prepare_independent_pairs | secondorder_scf | Subroutine | fills the structure indep_mo_pairs containing pairs of mos forming independent SCF optimization parameters |
prepare_initial_guess | scf | Subroutine | prepares the initial guess |
print_atomic_quantity | operations | Subroutine | print spherically averaged quantity (potential or density) for each atom with and without multicenter decomposition |
print_calc_info | basis_func | Subroutine | print grid parameters and basis function (numerical atomic orbital) info it is supposed to be in read_param.f90, but it requires A(:) and G wait a minute... even it doesn't contain F!!! why should it be here? it has beend moved to basis_func |
print_density_of_states | wavefunction | Subroutine | print out density of states (DOS) |
print_gto_info | gaussian | Subroutine | prints info on Gaussian basis set |
print_matrix | matrix | Subroutine | Print arbitrary N*M matrix |
print_orbitals | scf | Subroutine | |
print_parameters | read_param | Subroutine | print all parameters |
print_process | process | Subroutine | |
print_projection_info | wavefunction | Subroutine | print projection information |
prodoverlap | operations | Function | Calculate the product of all occupied orbital projections |
prodoverlapunrestricted | operations | Function | Calculate the product of all occupied orbital projections |
purge_angular_grid | angular | Subroutine | purges angular grid |
purge_arg | stdio | Subroutine | |
purge_atom_set | atom_in_mol | Subroutine | deallocates array of atom_sets |
purge_basis | basis_func | Subroutine | deallocate basis structure |
purge_csf_array | mcscf | Subroutine | deallocates and purges array of csf structures |
purge_grid | gps | Subroutine | |
purge_grid3d | molecular_grid | Subroutine | |
purge_linear | interpolate | Subroutine | removes linear interpolation structure |
purge_parameters | read_param | Subroutine | purge parameters |
purge_process | process | Subroutine | purges process data |
purge_spline | interpolate | Subroutine | removes spline interpolation structure |
purge_umatrixtable | spin_coupling | Subroutine | deallocates Umatrixtable structure |
purge_wf_data | wavefunction | Subroutine | purges Wave function data |
put_basis_function | read_param | Subroutine | counts the number of shells for the basis functions |
put_minimal_basis_set | read_param | Subroutine | places minimal nao functions and counts the shells |
random_gaussian | wavefunction | Function | |
read_basis | rwfile | Subroutine | reads molecular grid data from file |
read_parameters | read_param | Subroutine | read all parameters added 31.Mar.2015: minimize print-outs for dynamical calc |
read_wf | rwfile | Subroutine | reads LCAO coefficients from file |
realangularintegral | angularintegration | Function | This function computes the double angular integral (real spherical harmonics) |
realgauntcoef | angularintegration | Function | real Gaunt coefficient |
reconstruct_grid3d | molecular_grid | Subroutine | |
reorder_rstrct | mcscf | Subroutine | it just reorders the eigenvectors such that C is most similar to a diagonal matrix |
rinv_gradient | gaussian | Subroutine | calculates where R is given by pos(1:3) and has atom index 'at' |
rinv_gradient_int | gaussian | Subroutine | calculates where R_ is given by pos(1:3) |
rotate_av_orbitals | operations | Subroutine | rotates the orbitals F%LC inside the av_occ(:)%MO subspace such that they best overlap with the orbitals in the av_occ(:)%MO subspace in Cref |
rotate_orbitals | secondorder_scf | Subroutine | rotates orbital pairs by given angle theta |
s_two_particle_dm | spin_coupling | Subroutine | symmetrized two particle density matrix |
save_basis | rwfile | Subroutine | writes molecular grid data to file |
save_wf | rwfile | Subroutine | write LCAO coefficients to file |
scf_procedure | scf | Subroutine | main SCF prodedure if( .NOT. (P%yes_soscf .and. iter>3 .and. ( iSOSCF>0 .or. F%d_rho < P%SOSCF_start(2) )) ) then << this is wrong : we have to check if SOSCF is actually started (see return value of soscf_driver) if( allocated(F%apply_looser_threshold) )then; if( F%apply_looser_threshold(j,i) .and. iter>=acceptable_convergenceAt_old(j,i)-1 .and. iter<acceptable_convergenceAt_old(j,i)+6 )then; write(*,'(a,i4,2f12.6,a,2es12.4,a,2i2)')"#SCF:apply_lower check convergence around expected point:",iter, dE, F%d_rho,"/",eTHR,dTHR,":",j,i endif; endif --- minimal print option for MC --- |
shakeup_analysis | photoionization | Subroutine | performs an analysis of shakeup transitions based on mutual overlap of molecular orbitals |
show_input | stdio | Subroutine | |
single_excitation_occs | operations | Subroutine | returns a list of occupations, constructed from N_occ by exciting one electron |
single_excitation_occs2 | operations | Subroutine | returns a list of occupations, constructed from N_occ by exciting one electron |
sixj | anglib | Function | |
solve_axb | matrix | Subroutine | solves AxB=D for D |
sph_harmonics_complex | sph_harmonics | Interface | complex spherical harmonics |
sph_harmonics_real | sph_harmonics | Function | calculate real spherical harmonics: this is closely connected to sph_harmonics_prefactor() in molecular_grid.f90 sph_harmonics_real( l, m, theta, phi ) := G%Y_lm_prefactor(lm) * (2l+1) / 4pi * associated_Legendre_P( l, |m|, cos(theta) ) * [ ... ] [ ... ] = 1 for m = 0 = cos( |m| * phi ) for m > 0 = sin( |m| * phi ) for m < 0 |
spin_center_analysis | population | Subroutine | performs analysis of the spin center |
spin_string | spin_coupling | Subroutine | returns a determinant given in genealogical path as alpha and beta strings plus sign |
spline_create | interpolate | Subroutine | creates spline interpolation structure |
spline_interpolate | interpolate | Interface | spline interpolation |
spline_reuse | interpolate | Subroutine | reuse spline structure and fill it with new values |
stability_analysis | scf | Subroutine | performs stability analysis by inspecting numerical derivatives of the Fock matrix |
stat_factor_not_occupied | averaging | Function | return the statistical factor that orbital oi is not occupied basically 1 - f_occ/2 |
stat_factor_occupied | averaging | Function | return the statistical factor that orbital oi is occupied basically f_occ/2 |
stat_factor_pair_occupied | averaging | Function | function stat_factor_pair_occupied P: Parameter structure N_occ: occ array oi: orbital index oj: orbital index returns the statistical factor that a spin-orbital pair oi, oj is occupied |
stat_factor_part_hole_pair | averaging | Function | function stat_factor_part_hole_pair P: Parameter structure N_occ: occ array oi: orbital index for particle oj: orbital index for hole returns the statistical factor that a spin-orbital pair oi, oj has an electron in oi and a hole in oj Notes that : stat_factor_part_hole_pair(oi,oj) = stat_factor_occupied(oi) - stat_factor_pair_occupied(oi,oj) |
subshell_name | atom_in_mol | Function | subshell_name: return 1s, 2s, 2p, ... according to (n,l) |
sum_equivalent_configuration | process | Subroutine | sum up process data over equivalent configurations |
testlibcint | gaussian | Subroutine | make some simple tests for the library it checks that the correct order of p basis functions is used |
timestamp | stdio | Function | |
trans_dens_csf | mcscf | Subroutine | calculates the transition density between two csfs |
transform_twoel | hartreefock | Subroutine | transform all 2el matrix elements into MO space |
transform_twoel_allactive | hartreefock | Subroutine | transform all active 2el matrix elements into MO space |
transform_twoel_three_core_one_virtual | hartreefock | Subroutine | transform all 2el matrix elements into MO space only those where two electrons are member of the array core and two electrons are in the array virtual (as required for CIS) |
transform_twoel_two_active | hartreefock | Subroutine | transform 2el matrix elements into MO space only those where two electrons are member of the array active |
transform_twoel_two_core | hartreefock | Subroutine | transform 2el matrix elements into MO space only those of type (cc|ij) and (ci|cj) where two electrons are member of the array core |
transform_twoel_two_core_two_virtual | hartreefock | Subroutine | subroutine to transform all 2el matrix elements into MO space where two electrons are member of the array core and two electrons are in the array virtual (as required for CIS) |
translation_in_crystal | molecular_grid | Subroutine | |
translation_in_crystal_fuzzy | molecular_grid | Function | |
two_electron_gradient | gaussian | Subroutine | returns the gradient resulting from two-electron contributions |
two_electron_gradient_rohf | gaussian | Subroutine | returns the gradient resulting from two-electron contributions for ROHF |
twoel_allactive_from_two_active | hartreefock | Subroutine | obtain all-active twoelectrons from transformed two-active two-electron integrals |
update_atom_set_with_displacement | atom_in_mol | Subroutine | update Atom_set with displacement |
update_atom_set_with_nao | atom_in_mol | Subroutine | update Atom_set with new NAOs it rereads the NAO files assigned in A(:). |
update_grid3d_with_displacement | molecular_grid | Subroutine | update Grid3D with displacement use this subroutine if only molecular geometry in A has been changed. note that A should be already updated with update_Atom_set_with_displacement() in atom_in_mol.f90. |
write_cube_file | cubefile | Subroutine | write_density_cube_file(P,A,B,G,F, filename) |
write_molden_file | molden | Subroutine | !! This routine writes a molden file containing the basis set definition and the linear combination of orbitals !! |
write_t | xmolecule | Subroutine | |
xmolecule_ci_energies | xmolecule_interface | Subroutine | get CI state energies |
xmolecule_ci_overlaps | xmolecule_interface | Subroutine | calculated CI state overlaps |
xmolecule_cis_energies | xmolecule_interface | Subroutine | returns CIS excitation energies |
xmolecule_excitation_energies | xmolecule_interface | Subroutine | returns excitation energies based on MO energies |
xmolecule_get_ao_labels | xmolecule_interface | Subroutine | return atomic orbital labels |
xmolecule_get_atomlabels | xmolecule_interface | Subroutine | returns atom labels |
xmolecule_get_auger_ci | xmolecule_interface | Subroutine | return auger decay rates based on configuration interation |
xmolecule_get_bondorder | xmolecule_interface | Subroutine | returns bond order analysis |
xmolecule_get_cis_gradient | xmolecule_interface | Subroutine | compute the CIS gradient |
xmolecule_get_cis_gradient_nacs | xmolecule_interface | Subroutine | compute CIS gradients and nacs |
xmolecule_get_cis_loewdinpop | xmolecule_interface | Subroutine | returns Loewdin population for CIS |
xmolecule_get_cis_mullikenpop | xmolecule_interface | Subroutine | returns mulliken population for CIS |
xmolecule_get_cis_oscillator_strength | xmolecule_interface | Subroutine | returns cis oscillator strengths |
xmolecule_get_cis_transdens | xmolecule_interface | Subroutine | compute the cis state transition density |
xmolecule_get_energy | xmolecule_interface | Subroutine | returns energy |
xmolecule_get_fluorescencerates | xmolecule_interface | Subroutine | returns fluorescence rates |
xmolecule_get_geom | xmolecule_interface | Subroutine | returns geometry |
xmolecule_get_gradient | xmolecule_interface | Subroutine | compute the HFS, HF, or ROHF gradient |
xmolecule_get_loewdincharge | xmolecule_interface | Subroutine | returns loewdin charges |
xmolecule_get_mass | xmolecule_interface | Subroutine | returns atomic masses |
xmolecule_get_mo_coef | xmolecule_interface | Subroutine | return LCAO coefficients |
xmolecule_get_mullikencharge | xmolecule_interface | Subroutine | returns mulliken charges |
xmolecule_get_nao_conf | xmolecule_interface | Subroutine | returns numerical atomic orbital configuration string |
xmolecule_get_occ | xmolecule_interface | Subroutine | returns occupation numbers |
xmolecule_get_oscillator_strength | xmolecule_interface | Subroutine | returns oscillator strength |
xmolecule_get_overlapmatrix | xmolecule_interface | Subroutine | return overlap matrix |
xmolecule_get_population | xmolecule_interface | Subroutine | compute orbital population analysis |
xmolecule_get_process | xmolecule_interface | Subroutine | compute process data |
xmolecule_hole_occs_energies_efield | xmolecule_interface | Subroutine | returns for hole configurations energies and occupation patterns in the presence of electric field based on Koopmann's theorem |
xmolecule_hole_occs_energies_gradients_nacs | xmolecule_interface | Subroutine | returns for hole configurations energies, occupation patterns, gradients and nacs in the presence of electric field based on Koopmann's theorem |
xmolecule_init | xmolecule_interface | Subroutine | initializes calculations performs the first electronic structure calculation |
xmolecule_orbital_energies | xmolecule_interface | Subroutine | returns orbital energies |
xmolecule_part_occs_energies_gradients_nacs | xmolecule_interface | Subroutine | returns for particle configurations energies, occupation patterns, gradients and nacs in the presence of electric field based on Koopmann's theorem |
xmolecule_purge | xmolecule_interface | Subroutine | clears all the allocated data purges Xdata structure |
xmolecule_read_chkpt | xmolecule_interface | Subroutine | reads chkpt file |
xmolecule_set_calculate_ci_overlap | xmolecule_interface | Subroutine | triggers calculation of CI overlap |
xmolecule_set_ci_state | xmolecule_interface | Subroutine | set CI state index |
xmolecule_set_geom | xmolecule_interface | Subroutine | sets geometry |
xmolecule_set_irrep | xmolecule_interface | Subroutine | set irreducible representation |
xmolecule_set_mo_coef | xmolecule_interface | Subroutine | set LCAO coefficients |
xmolecule_set_multp | xmolecule_interface | Subroutine | set spin multiplicity |
xmolecule_set_occ | xmolecule_interface | Subroutine | sets occupation numbers |
xmolecule_setup | xmolecule_interface | Subroutine | sets up the xmol object reads in the input parameters and prepares for the calculation |
xmolecule_write_chkpt | xmolecule_interface | Subroutine | writes chkpt file |
xmolecule_write_density_cube | xmolecule_interface | Subroutine | writes density cube file |
xmolecule_write_mo_cube | xmolecule_interface | Subroutine | writes mo cub file |
xmolecule_write_molden | xmolecule_interface | Subroutine | writes molden file |
xyz_to_sph | sph_harmonics | Subroutine | translates x,y,z into r, theta, phi |