Included documentation

This commit is contained in:
Anthony Scemama 2019-01-25 14:54:22 +01:00
parent 24d9745056
commit f830999041
83 changed files with 2983 additions and 1455 deletions

9
TODO
View File

@ -1,10 +1,5 @@
# qpsh
* reconnaitre les executables en vert en mode qpsh
* qp set_file ls: cannot access '*/': No such file or directory
Problem with EMSL
* Faire que le slave de Hartree-fock est le calcul des integrales AO en parallele
# Web/doc
@ -60,6 +55,6 @@ Parler dans le papier de rPT2
# Toto
Re-design de qp command
S^2 en simple precision dans davidson?
Doc: plugins et qp_plugins
Ajouter les symetries dans devel

View File

@ -19,5 +19,8 @@ auto:
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
clone:
git clone git@github.com:QuantumPackage/qp2.git --branch=documentation build

View File

@ -1,3 +1,7 @@
ifndef QP_ROOT
$(error "QP_ROOT is not defined. Source quantum_package.rc")
endif
default:
./auto_generate.py
make -C ../ html

View File

@ -59,7 +59,8 @@ def generate_modules(abs_module, entities):
try:
b = subroutines[b]
except KeyError:
print("Error: The program %s in %s does not have the same name as the file"%
print("Error: The program %s in %s does not have the same name as the file, \
or you did not run ninja at the root."%
(b, abs_module))
sys.exit(1)
rst += [" * :ref:`%s`"%(b["name"])]

View File

@ -20,7 +20,7 @@
# -- Project information -----------------------------------------------------
project = 'Quantum Package'
copyright = '2018, A. Scemama, E. Giner'
copyright = '2019, A. Scemama, E. Giner'
author = 'A. Scemama, E. Giner'
# The short X.Y version
@ -86,7 +86,10 @@ pygments_style = None
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
#import sphinx_rtd_theme
html_theme = 'sphinx_rtd_theme'
#html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
#html_baseurl = 'doc/'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the

View File

@ -462,6 +462,11 @@ Subroutines / functions
File : :file:`ao_two_e_erf_ints/map_integrals_erf.irp.f`
.. code:: fortran
subroutine clear_ao_erf_map
Frees the memory of the |AO| map
Needs:
@ -833,6 +838,11 @@ Subroutines / functions
File : :file:`ao_two_e_erf_ints/routines_save_integrals_erf.irp.f`
.. code:: fortran
subroutine save_erf_two_e_integrals_ao
Needs:
@ -865,6 +875,11 @@ Subroutines / functions
File : :file:`ao_two_e_erf_ints/routines_save_integrals_erf.irp.f`
.. code:: fortran
subroutine save_erf_two_e_ints_ao_into_ints_ao
Needs:

View File

@ -727,6 +727,11 @@ Subroutines / functions
File : :file:`ao_two_e_ints/map_integrals.irp.f`
.. code:: fortran
subroutine clear_ao_map
Frees the memory of the AO map
Needs:

View File

@ -259,6 +259,7 @@ Providers
:columns: 3
* :c:data:`final_grid_points`
* :c:data:`n_points_final_grid`
.. c:var:: final_weight_at_r_vector
@ -346,7 +347,6 @@ Providers
:columns: 3
* :c:data:`final_grid_points`
* :c:data:`n_points_final_grid`
* :c:data:`one_e_dm_alpha_in_r`
* :c:data:`weight_at_r`
@ -524,7 +524,7 @@ Providers
.. hlist::
:columns: 3
* :c:data:`grid_points_per_atom`
* :c:data:`final_weight_at_r`
* :c:data:`n_points_radial_grid`
* :c:data:`nucl_num`
@ -772,6 +772,11 @@ Subroutines / functions
File : :file:`becke_numerical_grid/example.irp.f`
.. code:: fortran
subroutine example_becke_numerical_grid
subroutine that illustrates the main features available in becke_numerical_grid
Needs:

File diff suppressed because it is too large Load Diff

View File

@ -158,6 +158,28 @@ Providers
* :c:data:`pt2_e0_denominator`
.. c:var:: nthreads_pt2
File : :file:`cipsi/environment.irp.f`
.. code:: fortran
integer :: nthreads_pt2
Number of threads for Davidson
Needs:
.. hlist::
:columns: 3
* :c:data:`mpi_master`
* :c:data:`nproc`
.. c:function:: pt2_collector:
@ -285,8 +307,8 @@ Providers
.. hlist::
:columns: 3
* :c:data:`core_bitmask`
* :c:data:`elec_num`
* :c:data:`n_core_orb`
* :c:data:`n_det_generators`
* :c:data:`n_det_selectors`
* :c:data:`n_states`
@ -429,8 +451,8 @@ Providers
.. hlist::
:columns: 3
* :c:data:`core_bitmask`
* :c:data:`elec_num`
* :c:data:`n_core_orb`
* :c:data:`n_det_generators`
* :c:data:`n_det_selectors`
* :c:data:`n_states`
@ -811,6 +833,7 @@ Subroutines / functions
* :c:data:`n_states`
* :c:data:`n_int`
* :c:data:`psi_det_hii`
* :c:data:`do_only_1h1p`
* :c:data:`h0_type`
* :c:data:`psi_det_generators`
@ -1097,6 +1120,11 @@ Subroutines / functions
File : :file:`cipsi/slave_cipsi.irp.f`
.. code:: fortran
subroutine provide_everything
Needs:
@ -1354,6 +1382,11 @@ Subroutines / functions
File : :file:`cipsi/cipsi.irp.f`
.. code:: fortran
subroutine run_cipsi
Selected Full Configuration Interaction with deterministic selection and
stochastic PT2.
@ -1413,10 +1446,10 @@ Subroutines / functions
.. hlist::
:columns: 3
* :c:data:`ci_electronic_energy`
* :c:data:`ci_electronic_energy`
* :c:data:`ci_electronic_energy`
* :c:data:`ci_energy`
* :c:data:`ci_electronic_energy`
* :c:data:`n_det`
* :c:data:`psi_occ_pattern`
* :c:data:`c0_weight`
@ -1425,7 +1458,6 @@ Subroutines / functions
* :c:data:`psi_det`
* :c:data:`psi_det_size`
* :c:data:`psi_det_sorted_bit`
* :c:data:`psi_energy`
* :c:data:`psi_occ_pattern`
* :c:data:`pt2_stoch_istate`
* :c:data:`state_average_weight`
@ -1539,6 +1571,11 @@ Subroutines / functions
File : :file:`cipsi/slave_cipsi.irp.f`
.. code:: fortran
subroutine run_slave_cipsi
Helper program for distributed parallelism
Needs:
@ -1573,8 +1610,7 @@ Subroutines / functions
:columns: 3
* :c:data:`distributed_davidson`
* :c:data:`psi_energy`
* :c:data:`psi_energy`
* :c:data:`pt2_e0_denominator`
* :c:data:`pt2_stoch_istate`
* :c:data:`read_wf`
* :c:data:`state_average_weight`
@ -1586,6 +1622,11 @@ Subroutines / functions
File : :file:`cipsi/slave_cipsi.irp.f`
.. code:: fortran
subroutine run_slave_main
Needs:
@ -1600,15 +1641,13 @@ Subroutines / functions
* :c:data:`pt2_stoch_istate`
* :c:data:`n_states`
* :c:data:`n_det`
* :c:data:`threshold_generators`
* :c:data:`pt2_e0_denominator`
* :c:data:`n_det_selectors`
* :c:data:`n_det_generators`
* :c:data:`psi_energy`
* :c:data:`psi_det`
* :c:data:`n_states_diag`
* :c:data:`zmq_context`
* :c:data:`psi_energy`
* :c:data:`threshold_generators`
Called by:
@ -1637,8 +1676,7 @@ Subroutines / functions
.. hlist::
:columns: 3
* :c:data:`psi_energy`
* :c:data:`psi_energy`
* :c:data:`pt2_e0_denominator`
* :c:data:`pt2_stoch_istate`
* :c:data:`state_average_weight`
* :c:data:`threshold_generators`
@ -1649,6 +1687,11 @@ Subroutines / functions
File : :file:`cipsi/stochastic_cipsi.irp.f`
.. code:: fortran
subroutine run_stochastic_cipsi
Selected Full Configuration Interaction with Stochastic selection and PT2.
Needs:
@ -1706,10 +1749,10 @@ Subroutines / functions
.. hlist::
:columns: 3
* :c:data:`ci_electronic_energy`
* :c:data:`ci_electronic_energy`
* :c:data:`ci_electronic_energy`
* :c:data:`ci_energy`
* :c:data:`ci_electronic_energy`
* :c:data:`n_det`
* :c:data:`psi_occ_pattern`
* :c:data:`c0_weight`
@ -1718,7 +1761,6 @@ Subroutines / functions
* :c:data:`psi_det`
* :c:data:`psi_det_size`
* :c:data:`psi_det_sorted_bit`
* :c:data:`psi_energy`
* :c:data:`psi_occ_pattern`
* :c:data:`pt2_stoch_istate`
* :c:data:`state_average_weight`
@ -1790,12 +1832,13 @@ Subroutines / functions
* :c:data:`n_states`
* :c:data:`n_det`
* :c:data:`psi_bilinear_matrix_transp_values`
* :c:data:`psi_bilinear_matrix_values`
* :c:data:`elec_alpha_num`
* :c:data:`n_det_selectors`
* :c:data:`psi_bilinear_matrix_transp_values`
* :c:data:`psi_bilinear_matrix_values`
* :c:data:`n_int`
* :c:data:`psi_det_generators`
* :c:data:`psi_bilinear_matrix_values`
* :c:data:`psi_det_alpha_unique`
* :c:data:`psi_det_sorted`
* :c:data:`psi_det_sorted`
@ -2061,11 +2104,11 @@ Subroutines / functions
* :c:data:`psi_selectors`
* :c:data:`psi_bilinear_matrix_values`
* :c:data:`psi_det_alpha_unique`
* :c:data:`pt2_e0_denominator`
* :c:data:`pt2_n_teeth`
* :c:data:`psi_selectors_coef_transp`
* :c:data:`n_det`
* :c:data:`s2_eig`
* :c:data:`n_det_selectors`
* :c:data:`pt2_j`
* :c:data:`mo_two_e_integrals_in_map`
* :c:data:`psi_bilinear_matrix_transp_values`
@ -2074,7 +2117,7 @@ Subroutines / functions
* :c:data:`nthreads_pt2`
* :c:data:`psi_bilinear_matrix_values`
* :c:data:`mo_one_e_integrals`
* :c:data:`pt2_e0_denominator`
* :c:data:`elec_alpha_num`
* :c:data:`nproc`
* :c:data:`psi_bilinear_matrix_columns_loc`
* :c:data:`threshold_generators`

View File

@ -50,9 +50,9 @@ EZFIO parameters
.. option:: disk_based_davidson
If |true|, disk space is used to store the vectors
If |true|, a memory-mapped file may be used to store the W and S2 vectors if not enough RAM is available
Default: False
Default: True
.. option:: distributed_davidson
@ -79,51 +79,7 @@ Providers
double precision, allocatable :: ci_electronic_energy (N_states_diag)
double precision, allocatable :: ci_eigenvectors (N_det,N_states_diag)
double precision, allocatable :: ci_eigenvectors_s2 (N_states_diag)
Eigenvectors/values of the |CI| matrix
Needs:
.. hlist::
:columns: 3
* :c:data:`diag_algorithm`
* :c:data:`dressing_column_h`
* :c:data:`expected_s2`
* :c:data:`h_matrix_all_dets`
* :c:data:`mo_two_e_integrals_in_map`
* :c:data:`n_det`
* :c:data:`n_int`
* :c:data:`n_states`
* :c:data:`n_states_diag`
* :c:data:`nthreads_davidson`
* :c:data:`psi_coef`
* :c:data:`psi_det`
* :c:data:`s2_eig`
* :c:data:`s2_matrix_all_dets`
* :c:data:`s_z`
* :c:data:`threshold_davidson`
Needed by:
.. hlist::
:columns: 3
* :c:data:`ci_energy`
.. c:var:: ci_eigenvectors_s2
File : :file:`davidson/diagonalize_ci.irp.f`
.. code:: fortran
double precision, allocatable :: ci_electronic_energy (N_states_diag)
double precision, allocatable :: ci_eigenvectors (N_det,N_states_diag)
double precision, allocatable :: ci_eigenvectors_s2 (N_states_diag)
double precision, allocatable :: ci_s2 (N_states_diag)
Eigenvectors/values of the |CI| matrix
@ -167,7 +123,7 @@ Providers
double precision, allocatable :: ci_electronic_energy (N_states_diag)
double precision, allocatable :: ci_eigenvectors (N_det,N_states_diag)
double precision, allocatable :: ci_eigenvectors_s2 (N_states_diag)
double precision, allocatable :: ci_s2 (N_states_diag)
Eigenvectors/values of the |CI| matrix
@ -229,6 +185,50 @@ Providers
.. c:var:: ci_s2
File : :file:`davidson/diagonalize_ci.irp.f`
.. code:: fortran
double precision, allocatable :: ci_electronic_energy (N_states_diag)
double precision, allocatable :: ci_eigenvectors (N_det,N_states_diag)
double precision, allocatable :: ci_s2 (N_states_diag)
Eigenvectors/values of the |CI| matrix
Needs:
.. hlist::
:columns: 3
* :c:data:`diag_algorithm`
* :c:data:`dressing_column_h`
* :c:data:`expected_s2`
* :c:data:`h_matrix_all_dets`
* :c:data:`mo_two_e_integrals_in_map`
* :c:data:`n_det`
* :c:data:`n_int`
* :c:data:`n_states`
* :c:data:`n_states_diag`
* :c:data:`nthreads_davidson`
* :c:data:`psi_coef`
* :c:data:`psi_det`
* :c:data:`s2_eig`
* :c:data:`s2_matrix_all_dets`
* :c:data:`s_z`
* :c:data:`threshold_davidson`
Needed by:
.. hlist::
:columns: 3
* :c:data:`ci_energy`
.. c:var:: davidson_criterion
@ -535,7 +535,7 @@ Subroutines / functions
.. code:: fortran
subroutine davidson_diag_hjj_sjj(dets_in,u_in,H_jj,s2_out,energies,dim_in,sze,N_st,N_st_diag,Nint,dressing_state,converged)
subroutine davidson_diag_hjj_sjj(dets_in,u_in,H_jj,s2_out,energies,dim_in,sze,N_st,N_st_diag_in,Nint,dressing_state,converged)
Davidson diagonalization with specific diagonal elements of the H matrix
@ -555,7 +555,7 @@ Subroutines / functions
N_st : Number of eigenstates
N_st_diag : Number of states in which H is diagonalized. Assumed > sze
N_st_diag_in : Number of states in which H is diagonalized. Assumed > sze
Initial guess vectors are not necessarily orthonormal
@ -564,26 +564,29 @@ Subroutines / functions
.. hlist::
:columns: 3
* :c:data:`davidson_sze_max`
* :c:data:`psi_bilinear_matrix_order_reverse`
* :c:data:`psi_bilinear_matrix_values`
* :c:data:`nthreads_davidson`
* :c:data:`psi_coef`
* :c:data:`dressed_column_idx`
* :c:data:`expected_s2`
* :c:data:`distributed_davidson`
* :c:data:`s_z`
* :c:data:`psi_det_beta_unique`
* :c:data:`qp_max_mem`
* :c:data:`psi_bilinear_matrix_order_reverse`
* :c:data:`nuclear_repulsion`
* :c:data:`n_det`
* :c:data:`nthreads_davidson`
* :c:data:`dressing_column_h`
* :c:data:`only_expected_s2`
* :c:data:`psi_bilinear_matrix_values`
* :c:data:`n_int`
* :c:data:`nproc`
* :c:data:`ezfio_work_dir`
* :c:data:`davidson_sze_max`
* :c:data:`state_following`
* :c:data:`psi_det_alpha_unique`
* :c:data:`psi_coef`
* :c:data:`nuclear_repulsion`
* :c:data:`nproc`
* :c:data:`qp_max_mem`
* :c:data:`disk_based_davidson`
* :c:data:`s2_eig`
* :c:data:`psi_det_beta_unique`
* :c:data:`only_expected_s2`
* :c:data:`distributed_davidson`
* :c:data:`n_states`
* :c:data:`n_int`
Called by:
@ -597,6 +600,7 @@ Subroutines / functions
.. hlist::
:columns: 3
* :c:func:`c_f_pointer`
* :c:func:`check_mem`
* :c:func:`cpu_time`
* :c:func:`davidson_converged`
@ -605,10 +609,13 @@ Subroutines / functions
* :c:func:`h_s2_u_0_nstates_openmp`
* :c:func:`h_s2_u_0_nstates_zmq`
* :c:func:`lapack_diag`
* :c:func:`mmap`
* :c:func:`munmap`
* :c:func:`normalize`
* :c:func:`ortho_qr`
* :c:func:`random_number`
* :c:func:`resident_memory`
* :c:func:`sgemm`
* :c:func:`wall_time`
* :c:func:`write_double`
* :c:func:`write_int`
@ -619,6 +626,7 @@ Subroutines / functions
.. hlist::
:columns: 3
* :c:data:`n_states_diag`
* :c:data:`nthreads_davidson`
@ -674,6 +682,7 @@ Subroutines / functions
.. hlist::
:columns: 3
* :c:data:`n_states_diag`
* :c:data:`nthreads_davidson`
@ -769,6 +778,7 @@ Subroutines / functions
* :c:func:`davidson_slave_work`
* :c:func:`end_zmq_push_socket`
* :c:func:`end_zmq_to_qp_run_socket`
* :c:func:`sleep`
.. c:function:: davidson_slave_inproc:
@ -872,6 +882,11 @@ Subroutines / functions
File : :file:`davidson/diagonalize_ci.irp.f`
.. code:: fortran
subroutine diagonalize_CI
Replace the coefficients of the |CI| states by the coefficients of the
eigenstates of the |CI| matrix.
@ -885,7 +900,6 @@ Subroutines / functions
* :c:data:`n_states`
* :c:data:`n_det`
* :c:data:`ci_electronic_energy`
* :c:data:`psi_energy`
* :c:data:`ci_energy`
* :c:data:`ci_electronic_energy`
@ -903,12 +917,11 @@ Subroutines / functions
.. hlist::
:columns: 3
* :c:data:`ci_electronic_energy`
* :c:data:`ci_electronic_energy`
* :c:data:`ci_electronic_energy`
* :c:data:`ci_energy`
* :c:data:`ci_electronic_energy`
* :c:data:`psi_coef`
* :c:data:`psi_energy`
.. c:function:: h_s2_u_0_nstates_openmp:
@ -1314,6 +1327,13 @@ Subroutines / functions
* :c:func:`new_parallel_job`
* :c:func:`omp_set_nested`
Touches:
.. hlist::
:columns: 3
* :c:data:`n_states_diag`
.. c:function:: h_s2_u_0_two_e_nstates_openmp:
@ -1690,6 +1710,13 @@ Subroutines / functions
* :c:func:`h_s2_u_0_nstates_openmp`
* :c:func:`h_s2_u_0_nstates_zmq`
Touches:
.. hlist::
:columns: 3
* :c:data:`n_states_diag`
.. c:function:: u_0_h_u_0_two_e:

View File

@ -726,33 +726,6 @@ Providers
.. c:var:: mo_energy_expval
File : :file:`determinants/mo_energy_expval.irp.f`
.. code:: fortran
double precision, allocatable :: mo_energy_expval (N_states,mo_num,2,2)
Third index is spin.
Fourth index is 1:creation, 2:annihilation
Needs:
.. hlist::
:columns: 3
* :c:data:`mo_num`
* :c:data:`n_det`
* :c:data:`n_int`
* :c:data:`n_states`
* :c:data:`psi_coef`
* :c:data:`psi_det`
.. c:var:: n_det
@ -794,7 +767,6 @@ Providers
* :c:data:`h_apply_buffer_allocated`
* :c:data:`h_matrix_all_dets`
* :c:data:`max_degree_exc`
* :c:data:`mo_energy_expval`
* :c:data:`n_det_generators`
* :c:data:`n_det_selectors`
* :c:data:`one_e_dm_mo_alpha`
@ -2180,7 +2152,6 @@ Providers
* :c:data:`c0_weight`
* :c:data:`ci_electronic_energy`
* :c:data:`dressed_column_idx`
* :c:data:`mo_energy_expval`
* :c:data:`psi_average_norm_contrib`
* :c:data:`psi_bilinear_matrix_values`
* :c:data:`psi_cas`
@ -2386,7 +2357,6 @@ Providers
* :c:data:`diagonal_h_matrix_on_psi_det`
* :c:data:`h_matrix_all_dets`
* :c:data:`max_degree_exc`
* :c:data:`mo_energy_expval`
* :c:data:`one_e_dm_mo_alpha`
* :c:data:`psi_bilinear_matrix_values`
* :c:data:`psi_cas`
@ -3802,41 +3772,6 @@ Subroutines / functions
* :c:func:`get_d1`
.. c:function:: au0_h_au0:
File : :file:`determinants/mo_energy_expval.irp.f`
.. code:: fortran
subroutine au0_h_au0(energies,psi_in,psi_in_coef,ndet,dim_psi_coef)
Needs:
.. hlist::
:columns: 3
* :c:data:`n_states`
* :c:data:`n_int`
Called by:
.. hlist::
:columns: 3
* :c:data:`mo_energy_expval`
Calls:
.. hlist::
:columns: 3
* :c:func:`diag_h_mat_elem_au0_h_au0`
* :c:func:`i_h_j`
.. c:function:: bitstring_to_list_ab:
@ -3867,6 +3802,7 @@ Subroutines / functions
* :c:data:`fock_operator_closed_shell_ref_bitmask`
* :c:data:`fock_wee_closed_shell`
* :c:func:`get_mono_excitation_from_fock`
* :c:func:`get_occupation_from_dets`
* :c:func:`i_h_j`
* :c:func:`i_h_j_s2`
* :c:func:`i_h_j_two_e`
@ -3974,6 +3910,11 @@ Subroutines / functions
File : :file:`determinants/h_apply.irp.f`
.. code:: fortran
subroutine copy_H_apply_buffer_to_wf
Copies the H_apply buffer to psi_coef.
After calling this subroutine, N_det, psi_det and psi_coef need to be touched
@ -4074,9 +4015,7 @@ Subroutines / functions
* :c:func:`perturb_buffer_epstein_nesbet`
* :c:func:`perturb_buffer_epstein_nesbet_2x2`
* :c:func:`perturb_buffer_epstein_nesbet_2x2_no_ci_diag`
* :c:func:`perturb_buffer_h_core`
* :c:func:`perturb_buffer_moller_plesset`
* :c:func:`perturb_buffer_moller_plesset_general`
* :c:func:`perturb_buffer_qdpt`
Calls:
@ -4107,17 +4046,13 @@ Subroutines / functions
* :c:func:`perturb_buffer_by_mono_epstein_nesbet`
* :c:func:`perturb_buffer_by_mono_epstein_nesbet_2x2`
* :c:func:`perturb_buffer_by_mono_epstein_nesbet_2x2_no_ci_diag`
* :c:func:`perturb_buffer_by_mono_h_core`
* :c:func:`perturb_buffer_by_mono_moller_plesset`
* :c:func:`perturb_buffer_by_mono_moller_plesset_general`
* :c:func:`perturb_buffer_by_mono_qdpt`
* :c:func:`perturb_buffer_dummy`
* :c:func:`perturb_buffer_epstein_nesbet`
* :c:func:`perturb_buffer_epstein_nesbet_2x2`
* :c:func:`perturb_buffer_epstein_nesbet_2x2_no_ci_diag`
* :c:func:`perturb_buffer_h_core`
* :c:func:`perturb_buffer_moller_plesset`
* :c:func:`perturb_buffer_moller_plesset_general`
* :c:func:`perturb_buffer_qdpt`
@ -4141,17 +4076,13 @@ Subroutines / functions
* :c:func:`perturb_buffer_by_mono_epstein_nesbet`
* :c:func:`perturb_buffer_by_mono_epstein_nesbet_2x2`
* :c:func:`perturb_buffer_by_mono_epstein_nesbet_2x2_no_ci_diag`
* :c:func:`perturb_buffer_by_mono_h_core`
* :c:func:`perturb_buffer_by_mono_moller_plesset`
* :c:func:`perturb_buffer_by_mono_moller_plesset_general`
* :c:func:`perturb_buffer_by_mono_qdpt`
* :c:func:`perturb_buffer_dummy`
* :c:func:`perturb_buffer_epstein_nesbet`
* :c:func:`perturb_buffer_epstein_nesbet_2x2`
* :c:func:`perturb_buffer_epstein_nesbet_2x2_no_ci_diag`
* :c:func:`perturb_buffer_h_core`
* :c:func:`perturb_buffer_moller_plesset`
* :c:func:`perturb_buffer_moller_plesset_general`
* :c:func:`perturb_buffer_qdpt`
@ -4228,9 +4159,7 @@ Subroutines / functions
* :c:func:`diag_h_mat_elem_fock`
* :c:func:`example_determinants`
* :c:func:`pt2_h_core`
* :c:func:`pt2_moller_plesset`
* :c:func:`pt2_moller_plesset_general`
.. c:function:: decode_exc_spin:
@ -4345,42 +4274,6 @@ Subroutines / functions
* :c:func:`bitstring_to_list_ab`
.. c:function:: diag_h_mat_elem_au0_h_au0:
File : :file:`determinants/mo_energy_expval.irp.f`
.. code:: fortran
subroutine diag_H_mat_elem_au0_h_au0(det_in,Nint,hii)
Computes $\langle i|H|i \rangle$ for any determinant $|i\rangle$.
Used for wave functions with an additional electron.
Needs:
.. hlist::
:columns: 3
* :c:data:`mo_two_e_integrals_jj`
* :c:data:`mo_one_e_integrals`
Called by:
.. hlist::
:columns: 3
* :c:func:`au0_h_au0`
Calls:
.. hlist::
:columns: 3
* :c:func:`bitstring_to_list`
.. c:function:: diag_h_mat_elem_fock:
@ -4522,6 +4415,11 @@ Subroutines / functions
File : :file:`determinants/example.irp.f`
.. code:: fortran
subroutine example_determinants
subroutine that illustrates the main features available in determinants
Needs:
@ -4553,6 +4451,11 @@ Subroutines / functions
File : :file:`determinants/example.irp.f`
.. code:: fortran
subroutine example_determinants_psi_det
subroutine that illustrates the main features available in determinants using the psi_det/psi_coef
Needs:
@ -4699,6 +4602,11 @@ Subroutines / functions
File : :file:`determinants/spindeterminants.irp.f`
.. code:: fortran
subroutine generate_all_alpha_beta_det_products
Creates a wave function from all possible $\alpha \times \beta$ determinants
Needs:
@ -5313,9 +5221,7 @@ Subroutines / functions
* :c:func:`example_determinants`
* :c:func:`get_phase`
* :c:func:`pt2_h_core`
* :c:func:`pt2_moller_plesset`
* :c:func:`pt2_moller_plesset_general`
Calls:
@ -5358,7 +5264,6 @@ Subroutines / functions
* :c:data:`max_degree_exc`
* :c:data:`psi_non_cas`
* :c:func:`pt2_qdpt`
* :c:func:`repeat_all_e_corr`
.. c:function:: get_excitation_degree_spin:
@ -5645,6 +5550,37 @@ Subroutines / functions
* :c:data:`one_e_dm_mo_alpha`
.. c:function:: get_occupation_from_dets:
File : :file:`determinants/density_matrix.irp.f`
.. code:: fortran
subroutine get_occupation_from_dets(istate,occupation)
Returns the average occupation of the MOs
Needs:
.. hlist::
:columns: 3
* :c:data:`psi_coef`
* :c:data:`psi_det`
* :c:data:`n_int`
* :c:data:`n_det`
* :c:data:`mo_num`
Calls:
.. hlist::
:columns: 3
* :c:func:`bitstring_to_list_ab`
.. c:function:: get_phase:
@ -5774,9 +5710,7 @@ Subroutines / functions
* :c:func:`perturb_buffer_epstein_nesbet`
* :c:func:`perturb_buffer_epstein_nesbet_2x2`
* :c:func:`perturb_buffer_epstein_nesbet_2x2_no_ci_diag`
* :c:func:`perturb_buffer_h_core`
* :c:func:`perturb_buffer_moller_plesset`
* :c:func:`perturb_buffer_moller_plesset_general`
* :c:func:`perturb_buffer_qdpt`
Calls:
@ -5814,7 +5748,6 @@ Subroutines / functions
.. hlist::
:columns: 3
* :c:func:`au0_h_au0`
* :c:data:`coef_hf_selector`
* :c:func:`example_determinants`
* :c:func:`get_d0`
@ -6191,7 +6124,6 @@ Subroutines / functions
* :c:func:`pt2_dummy`
* :c:func:`pt2_epstein_nesbet`
* :c:func:`pt2_moller_plesset`
* :c:func:`pt2_moller_plesset_general`
* :c:func:`pt2_qdpt`
Calls:
@ -6333,6 +6265,11 @@ Subroutines / functions
File : :file:`determinants/occ_pattern.irp.f`
.. code:: fortran
subroutine make_s2_eigenfunction
Needs:
@ -6652,6 +6589,11 @@ Subroutines / functions
File : :file:`determinants/example.irp.f`
.. code:: fortran
subroutine routine_example_psi_det
subroutine that illustrates the main features available in determinants using many determinants
Needs:
@ -6750,6 +6692,11 @@ Subroutines / functions
File : :file:`determinants/density_matrix.irp.f`
.. code:: fortran
subroutine save_natural_mos
Save natural orbitals, obtained by diagonalization of the one-body density matrix in
the |MO| basis
@ -6781,6 +6728,11 @@ Subroutines / functions
File : :file:`determinants/determinants.irp.f`
.. code:: fortran
subroutine save_ref_determinant
Needs:
@ -6810,6 +6762,11 @@ Subroutines / functions
File : :file:`determinants/determinants.irp.f`
.. code:: fortran
subroutine save_wavefunction
Save the wave function into the |EZFIO| file
Needs:
@ -6957,6 +6914,11 @@ Subroutines / functions
File : :file:`determinants/determinants.irp.f`
.. code:: fortran
subroutine save_wavefunction_unsorted
Save the wave function into the |EZFIO| file
Needs:
@ -6983,6 +6945,11 @@ Subroutines / functions
File : :file:`determinants/density_matrix.irp.f`
.. code:: fortran
subroutine set_natural_mos
Set natural orbitals, obtained by diagonalization of the one-body density matrix
in the |MO| basis
@ -7247,6 +7214,11 @@ Subroutines / functions
File : :file:`determinants/spindeterminants.irp.f`
.. code:: fortran
subroutine write_spindeterminants
Needs:

View File

@ -138,6 +138,7 @@ Providers
* :c:data:`pt2_iterations`
* :c:data:`pt2_max`
* :c:data:`pt2_relative_error`
* :c:data:`qp_stop_filename`
* :c:data:`read_wf`
* :c:data:`s2_eig`
* :c:data:`scf_algorithm`
@ -171,6 +172,20 @@ Providers
.. c:var:: file_lock
File : :file:`ezfio_files/lock.irp.f`
.. code:: fortran
integer(omp_lock_kind) :: file_lock
OpenMP Lock for I/O
.. c:var:: output_cpu_time_0
@ -389,6 +404,75 @@ Providers
* :c:data:`used_weight`
.. c:var:: qp_kill_filename
File : :file:`ezfio_files/qp_stop.irp.f`
.. code:: fortran
character*(128) :: qp_stop_filename
character*(128) :: qp_kill_filename
integer :: qp_stop_variable
Name of the file to check for qp stop
Needs:
.. hlist::
:columns: 3
* :c:data:`ezfio_filename`
.. c:var:: qp_stop_filename
File : :file:`ezfio_files/qp_stop.irp.f`
.. code:: fortran
character*(128) :: qp_stop_filename
character*(128) :: qp_kill_filename
integer :: qp_stop_variable
Name of the file to check for qp stop
Needs:
.. hlist::
:columns: 3
* :c:data:`ezfio_filename`
.. c:var:: qp_stop_variable
File : :file:`ezfio_files/qp_stop.irp.f`
.. code:: fortran
character*(128) :: qp_stop_filename
character*(128) :: qp_kill_filename
integer :: qp_stop_variable
Name of the file to check for qp stop
Needs:
.. hlist::
:columns: 3
* :c:data:`ezfio_filename`
Subroutines / functions
-----------------------
@ -416,6 +500,26 @@ Subroutines / functions
.. c:function:: qp_stop:
File : :file:`ezfio_files/qp_stop.irp.f`
.. code:: fortran
logical function qp_stop()
Checks if the qp_stop command was invoked for the clean termination of the program
Needs:
.. hlist::
:columns: 3
* :c:data:`qp_stop_filename`
.. c:function:: write_bool:
@ -498,13 +602,11 @@ Subroutines / functions
.. hlist::
:columns: 3
* :c:data:`core_bitmask`
* :c:func:`davidson_diag_hjj_sjj`
* :c:data:`inact_bitmask`
* :c:func:`make_s2_eigenfunction`
* :c:data:`mo_num`
* :c:data:`n_act_orb`
* :c:data:`n_cas_bitmask`
* :c:data:`n_core_orb`
* :c:data:`n_det`
* :c:data:`n_det_generators`
* :c:data:`n_det_selectors`

View File

@ -80,25 +80,33 @@ Programs
Providers
---------
.. c:var:: nthreads_pt2
.. c:var:: do_ddci
File : :file:`fci/environment.irp.f`
File : :file:`fci/class.irp.f`
.. code:: fortran
integer :: nthreads_pt2
logical :: do_only_1h1p
logical :: do_ddci
Number of threads for Davidson
In the FCI case, all those are always false
Needs:
.. hlist::
:columns: 3
.. c:var:: do_only_1h1p
* :c:data:`mpi_master`
* :c:data:`nproc`
File : :file:`fci/class.irp.f`
.. code:: fortran
logical :: do_only_1h1p
logical :: do_ddci
In the FCI case, all those are always false

View File

@ -9,41 +9,14 @@ hartree_fock
============
The Hartree-Fock module performs *Restricted* Hartree-Fock calculations (the
spatial part of the |MOs| is common for alpha and beta spinorbitals).
The :ref:`scf` program performs *Restricted* Hartree-Fock
calculations (the spatial part of the |MOs| is common for alpha and beta
spinorbitals).
The Hartree-Fock in an SCF and therefore is based on the ``scf_utils`` structure.
It performs the following actions:
The Hartree-Fock algorithm is a |SCF| and therefore is based on the
:ref:`module_scf_utils`` module.
#. Compute/Read all the one- and two-electron integrals, and store them in memory
#. Check in the |EZFIO| database if there is a set of |MOs|. If there is, it
will read them as initial guess. Otherwise, it will create a guess.
#. Perform the |SCF| iterations
The definition of the Fock matrix is in :file:`hartree_fock fock_matrix_hf.irp.f`
For the keywords related to the |SCF| procedure, see the ``scf_utils`` directory where you will find all options.
The main are:
# :option:`scf_utils thresh_scf`
# :option:`scf_utils level_shift`
At each iteration, the |MOs| are saved in the |EZFIO| database. Hence, if the calculation
crashes for any unexpected reason, the calculation can be restarted by running again
the |SCF| with the same |EZFIO| database.
The `DIIS`_ algorithm is implemented, as well as the `level-shifting`_ method.
If the |SCF| does not converge, try again with a higher value of :option:`level_shift`.
To start a calculation from scratch, the simplest way is to remove the
``mo_basis`` directory from the |EZFIO| database, and run the |SCF| again.
.. _DIIS: https://en.wikipedia.org/w/index.php?title=DIIS
.. _level-shifting: https://doi.org/10.1002/qua.560070407
The Fock matrix is defined in :file:`hartree_fock fock_matrix_hf.irp.f`.
@ -338,6 +311,11 @@ Subroutines / functions
File : :file:`hartree_fock/scf.irp.f`
.. code:: fortran
subroutine create_guess
Create a MO guess if no MOs are present in the EZFIO directory
Needs:
@ -384,6 +362,11 @@ Subroutines / functions
File : :file:`hartree_fock/scf.irp.f`
.. code:: fortran
subroutine run
Run SCF calculation
Needs:

View File

@ -105,6 +105,11 @@ Subroutines / functions
File : :file:`iterations/print_extrapolation.irp.f`
.. code:: fortran
subroutine print_extrapolated_energy
Print the extrapolated energy in the output
Needs:

View File

@ -445,6 +445,11 @@ Subroutines / functions
File : :file:`rs_ks_scf.irp.f`
.. code:: fortran
subroutine check_coherence_functional
Needs:

View File

@ -286,9 +286,6 @@ Providers
* :c:data:`fps_spf_matrix_mo`
* :c:data:`full_ijkl_bitmask`
* :c:data:`int_erf_3_index`
* :c:data:`list_act`
* :c:data:`list_core`
* :c:data:`list_core_inact`
* :c:data:`list_core_inact_act`
* :c:data:`list_inact`
* :c:data:`mo_class`
@ -297,7 +294,6 @@ Providers
* :c:data:`mo_coef_in_ao_ortho_basis`
* :c:data:`mo_coef_transp`
* :c:data:`mo_dipole_x`
* :c:data:`mo_energy_expval`
* :c:data:`mo_integrals_cache_min`
* :c:data:`mo_integrals_erf_cache_min`
* :c:data:`mo_integrals_erf_map`
@ -317,6 +313,7 @@ Providers
* :c:data:`mo_two_e_integrals_in_map`
* :c:data:`mo_two_e_integrals_jj`
* :c:data:`mo_two_e_integrals_vv_from_ao`
* :c:data:`n_core_orb`
* :c:data:`n_int`
* :c:data:`one_e_dm_ao_alpha`
* :c:data:`one_e_dm_dagger_mo_spin_index`
@ -528,6 +525,11 @@ Subroutines / functions
File : :file:`mo_basis/track_orb.irp.f`
.. code:: fortran
subroutine initialize_mo_coef_begin_iteration
Initialize :c:data:`mo_coef_begin_iteration` to the current :c:data:`mo_coef`
@ -691,6 +693,11 @@ Subroutines / functions
File : :file:`mo_basis/track_orb.irp.f`
.. code:: fortran
subroutine reorder_core_orb
routines that takes the current :c:data:`mo_coef` and reorder the core orbitals (see :c:data:`list_core` and :c:data:`n_core_orb`) according to the overlap with :c:data:`mo_coef_begin_iteration`
Needs:
@ -698,13 +705,13 @@ Subroutines / functions
.. hlist::
:columns: 3
* :c:data:`mo_coef`
* :c:data:`core_bitmask`
* :c:data:`mo_num`
* :c:data:`ao_overlap`
* :c:data:`list_core`
* :c:data:`ao_num`
* :c:data:`mo_coef_begin_iteration`
* :c:data:`mo_coef`
* :c:data:`ao_overlap`
* :c:data:`n_core_orb`
* :c:data:`ao_num`
* :c:data:`list_inact`
Called by:
@ -727,6 +734,11 @@ Subroutines / functions
File : :file:`mo_basis/utils.irp.f`
.. code:: fortran
subroutine save_mos
Needs:

View File

@ -126,6 +126,11 @@ Subroutines / functions
File : :file:`mo_guess/h_core_guess_routine.irp.f`
.. code:: fortran
subroutine hcore_guess
Produce `H_core` MO orbital
Needs:

View File

@ -529,6 +529,11 @@ Subroutines / functions
File : :file:`mo_one_e_ints/orthonormalize.irp.f`
.. code:: fortran
subroutine orthonormalize_mos
Needs:

View File

@ -57,10 +57,10 @@ Providers
.. hlist::
:columns: 3
* :c:data:`core_bitmask`
* :c:data:`list_core`
* :c:data:`list_inact`
* :c:data:`mo_one_e_integrals`
* :c:data:`mo_two_e_int_erf_jj`
* :c:data:`n_core_orb`
* :c:data:`nuclear_repulsion`
@ -82,15 +82,13 @@ Providers
.. hlist::
:columns: 3
* :c:data:`core_bitmask`
* :c:data:`list_act`
* :c:data:`list_core`
* :c:data:`list_inact`
* :c:data:`mo_integrals_erf_cache`
* :c:data:`mo_integrals_erf_cache_min`
* :c:data:`mo_integrals_erf_map`
* :c:data:`mo_num`
* :c:data:`mo_two_e_integrals_erf_in_map`
* :c:data:`n_act_orb`
* :c:data:`n_core_orb`
@ -616,6 +614,11 @@ Subroutines / functions
File : :file:`mo_two_e_erf_ints/mo_bi_integrals_erf.irp.f`
.. code:: fortran
subroutine clear_mo_erf_map
Frees the memory of the MO map
Needs:
@ -911,6 +914,11 @@ Subroutines / functions
File : :file:`mo_two_e_erf_ints/mo_bi_integrals_erf.irp.f`
.. code:: fortran
subroutine provide_all_mo_integrals_erf
Needs:
@ -929,6 +937,11 @@ Subroutines / functions
File : :file:`mo_two_e_erf_ints/routines_save_integrals_erf.irp.f`
.. code:: fortran
subroutine save_erf_two_e_integrals_mo
Needs:
@ -961,6 +974,11 @@ Subroutines / functions
File : :file:`mo_two_e_erf_ints/routines_save_integrals_erf.irp.f`
.. code:: fortran
subroutine save_erf_two_e_ints_mo_into_ints_mo
Needs:

View File

@ -154,10 +154,10 @@ Providers
.. hlist::
:columns: 3
* :c:data:`core_bitmask`
* :c:data:`list_core`
* :c:data:`list_inact`
* :c:data:`mo_one_e_integrals`
* :c:data:`mo_two_e_integrals_jj`
* :c:data:`n_core_orb`
* :c:data:`nuclear_repulsion`
@ -179,15 +179,13 @@ Providers
.. hlist::
:columns: 3
* :c:data:`core_bitmask`
* :c:data:`list_act`
* :c:data:`list_core`
* :c:data:`list_inact`
* :c:data:`mo_integrals_cache`
* :c:data:`mo_integrals_cache_min`
* :c:data:`mo_integrals_map`
* :c:data:`mo_num`
* :c:data:`mo_two_e_integrals_in_map`
* :c:data:`n_act_orb`
* :c:data:`n_core_orb`
@ -487,7 +485,7 @@ Providers
* :c:data:`core_inact_act_bitmask_4`
* :c:data:`ezfio_filename`
* :c:data:`full_ijkl_bitmask_4`
* :c:data:`inact_bitmask`
* :c:data:`list_inact`
* :c:data:`mo_class`
* :c:data:`mo_coef`
* :c:data:`mo_coef_transp`
@ -723,11 +721,11 @@ Providers
* :c:data:`ao_two_e_integral_schwartz`
* :c:data:`ao_two_e_integrals_in_map`
* :c:data:`do_direct_integrals`
* :c:data:`inact_bitmask`
* :c:data:`list_inact`
* :c:data:`mo_coef`
* :c:data:`mo_coef_transp`
* :c:data:`mo_num`
* :c:data:`n_core_orb`
@ -760,11 +758,11 @@ Providers
* :c:data:`ao_two_e_integral_schwartz`
* :c:data:`ao_two_e_integrals_in_map`
* :c:data:`do_direct_integrals`
* :c:data:`inact_bitmask`
* :c:data:`list_inact`
* :c:data:`mo_coef`
* :c:data:`mo_coef_transp`
* :c:data:`mo_num`
* :c:data:`n_core_orb`
@ -797,11 +795,11 @@ Providers
* :c:data:`ao_two_e_integral_schwartz`
* :c:data:`ao_two_e_integrals_in_map`
* :c:data:`do_direct_integrals`
* :c:data:`inact_bitmask`
* :c:data:`list_inact`
* :c:data:`mo_coef`
* :c:data:`mo_coef_transp`
* :c:data:`mo_num`
* :c:data:`n_core_orb`
@ -957,6 +955,11 @@ Subroutines / functions
File : :file:`mo_two_e_ints/mo_bi_integrals.irp.f`
.. code:: fortran
subroutine clear_mo_map
Frees the memory of the MO map
Needs:

View File

@ -71,7 +71,6 @@ Providers
* :c:data:`ao_two_e_integrals_in_map`
* :c:data:`cas_bitmask`
* :c:data:`ci_energy`
* :c:data:`core_bitmask`
* :c:data:`correlation_energy_ratio_max`
* :c:data:`data_energy_proj`
* :c:data:`data_energy_var`
@ -91,7 +90,6 @@ Providers
* :c:data:`frozen_orb_scf`
* :c:data:`generators_bitmask`
* :c:data:`generators_bitmask_restart`
* :c:data:`inact_bitmask`
* :c:data:`io_ao_integrals_e_n`
* :c:data:`io_ao_integrals_kinetic`
* :c:data:`io_ao_integrals_overlap`
@ -116,8 +114,8 @@ Providers
* :c:data:`mo_occ`
* :c:data:`mo_two_e_integrals_in_map`
* :c:data:`mu_erf`
* :c:data:`n_act_orb`
* :c:data:`n_cas_bitmask`
* :c:data:`n_core_orb`
* :c:data:`n_det`
* :c:data:`n_det_generators`
* :c:data:`n_det_iterations`

View File

@ -393,41 +393,6 @@ Subroutines / functions
* :c:func:`pt2_epstein_nesbet_2x2_no_ci_diag`
.. c:function:: perturb_buffer_by_mono_h_core:
File : :file:`perturbation/perturbation.irp.f_shell_13`
.. code:: fortran
subroutine perturb_buffer_by_mono_h_core(i_generator,buffer,buffer_size,e_2_pert_buffer,coef_pert_buffer,sum_e_2_pert,sum_norm_pert,sum_H_pert_diag,N_st,Nint,key_mask,fock_diag_tmp,electronic_energy)
Applly pertubration ``h_core`` to the buffer of determinants generated in the H_apply
routine.
Needs:
.. hlist::
:columns: 3
* :c:data:`mo_num`
* :c:data:`psi_selectors`
* :c:data:`n_det`
* :c:data:`n_det_selectors`
* :c:data:`n_det_generators`
* :c:data:`psi_det_generators`
Calls:
.. hlist::
:columns: 3
* :c:func:`create_minilist`
* :c:func:`create_minilist_find_previous`
* :c:func:`pt2_h_core`
.. c:function:: perturb_buffer_by_mono_moller_plesset:
@ -463,41 +428,6 @@ Subroutines / functions
* :c:func:`pt2_moller_plesset`
.. c:function:: perturb_buffer_by_mono_moller_plesset_general:
File : :file:`perturbation/perturbation.irp.f_shell_13`
.. code:: fortran
subroutine perturb_buffer_by_mono_moller_plesset_general(i_generator,buffer,buffer_size,e_2_pert_buffer,coef_pert_buffer,sum_e_2_pert,sum_norm_pert,sum_H_pert_diag,N_st,Nint,key_mask,fock_diag_tmp,electronic_energy)
Applly pertubration ``moller_plesset_general`` to the buffer of determinants generated in the H_apply
routine.
Needs:
.. hlist::
:columns: 3
* :c:data:`mo_num`
* :c:data:`psi_selectors`
* :c:data:`n_det`
* :c:data:`n_det_selectors`
* :c:data:`n_det_generators`
* :c:data:`psi_det_generators`
Calls:
.. hlist::
:columns: 3
* :c:func:`create_minilist`
* :c:func:`create_minilist_find_previous`
* :c:func:`pt2_moller_plesset_general`
.. c:function:: perturb_buffer_by_mono_qdpt:
@ -677,42 +607,6 @@ Subroutines / functions
* :c:func:`pt2_epstein_nesbet_2x2_no_ci_diag`
.. c:function:: perturb_buffer_h_core:
File : :file:`perturbation/perturbation.irp.f_shell_13`
.. code:: fortran
subroutine perturb_buffer_h_core(i_generator,buffer,buffer_size,e_2_pert_buffer,coef_pert_buffer,sum_e_2_pert,sum_norm_pert,sum_H_pert_diag,N_st,Nint,key_mask,fock_diag_tmp,electronic_energy)
Applly pertubration ``h_core`` to the buffer of determinants generated in the H_apply
routine.
Needs:
.. hlist::
:columns: 3
* :c:data:`n_det_selectors`
* :c:data:`n_det_generators`
* :c:data:`psi_selectors`
* :c:data:`psi_det_generators`
* :c:data:`mo_num`
Calls:
.. hlist::
:columns: 3
* :c:func:`create_microlist`
* :c:func:`create_minilist`
* :c:func:`create_minilist_find_previous`
* :c:func:`getmobiles`
* :c:func:`pt2_h_core`
.. c:function:: perturb_buffer_moller_plesset:
@ -749,42 +643,6 @@ Subroutines / functions
* :c:func:`pt2_moller_plesset`
.. c:function:: perturb_buffer_moller_plesset_general:
File : :file:`perturbation/perturbation.irp.f_shell_13`
.. code:: fortran
subroutine perturb_buffer_moller_plesset_general(i_generator,buffer,buffer_size,e_2_pert_buffer,coef_pert_buffer,sum_e_2_pert,sum_norm_pert,sum_H_pert_diag,N_st,Nint,key_mask,fock_diag_tmp,electronic_energy)
Applly pertubration ``moller_plesset_general`` to the buffer of determinants generated in the H_apply
routine.
Needs:
.. hlist::
:columns: 3
* :c:data:`n_det_selectors`
* :c:data:`n_det_generators`
* :c:data:`psi_selectors`
* :c:data:`psi_det_generators`
* :c:data:`mo_num`
Calls:
.. hlist::
:columns: 3
* :c:func:`create_microlist`
* :c:func:`create_minilist`
* :c:func:`create_minilist_find_previous`
* :c:func:`getmobiles`
* :c:func:`pt2_moller_plesset_general`
.. c:function:: perturb_buffer_qdpt:
@ -824,7 +682,7 @@ Subroutines / functions
.. c:function:: pt2_dummy:
File : :file:`perturbation/pt2_equations.irp.f_template_360`
File : :file:`perturbation/pt2_equations.irp.f_template_305`
.. code:: fortran
@ -863,7 +721,7 @@ Subroutines / functions
.. c:function:: pt2_epstein_nesbet:
File : :file:`perturbation/pt2_equations.irp.f_template_360`
File : :file:`perturbation/pt2_equations.irp.f_template_305`
.. code:: fortran
@ -908,7 +766,7 @@ Subroutines / functions
.. c:function:: pt2_epstein_nesbet_2x2:
File : :file:`perturbation/pt2_equations.irp.f_template_360`
File : :file:`perturbation/pt2_equations.irp.f_template_305`
.. code:: fortran
@ -952,7 +810,7 @@ Subroutines / functions
.. c:function:: pt2_epstein_nesbet_2x2_no_ci_diag:
File : :file:`perturbation/pt2_equations.irp.f_template_360`
File : :file:`perturbation/pt2_equations.irp.f_template_305`
.. code:: fortran
@ -995,57 +853,10 @@ Subroutines / functions
* :c:func:`i_h_psi`
.. c:function:: pt2_h_core:
File : :file:`perturbation/pert_single.irp.f`
.. code:: fortran
subroutine pt2_h_core(det_pert,c_pert,e_2_pert,H_pert_diag,Nint,ndet,N_st,minilist,idx_minilist,N_minilist)
compute the standard Epstein-Nesbet perturbative first order coefficient and second order energetic contribution
for the various N_st states.
c_pert(i) = <psi(i)|H|det_pert>/( E(i) - <det_pert|H|det_pert> )
e_2_pert(i) = <psi(i)|H|det_pert>^2/( E(i) - <det_pert|H|det_pert> )
Needs:
.. hlist::
:columns: 3
* :c:data:`n_det_selectors`
* :c:data:`ref_bitmask_energy`
* :c:data:`ref_bitmask`
* :c:data:`mo_one_e_integrals`
* :c:data:`n_int`
Called by:
.. hlist::
:columns: 3
* :c:func:`perturb_buffer_by_mono_h_core`
* :c:func:`perturb_buffer_h_core`
Calls:
.. hlist::
:columns: 3
* :c:func:`decode_exc`
* :c:func:`get_excitation`
.. c:function:: pt2_moller_plesset:
File : :file:`perturbation/pt2_equations.irp.f_template_360`
File : :file:`perturbation/pt2_equations.irp.f_template_305`
.. code:: fortran
@ -1090,57 +901,10 @@ Subroutines / functions
* :c:func:`i_h_psi_minilist`
.. c:function:: pt2_moller_plesset_general:
File : :file:`perturbation/pt2_equations.irp.f_template_360`
.. code:: fortran
subroutine pt2_moller_plesset_general (electronic_energy,det_ref,det_pert,fock_diag_tmp,c_pert,e_2_pert,H_pert_diag,Nint,ndet,N_st,minilist,idx_minilist,N_minilist)
Computes the standard Moller-Plesset perturbative first order coefficient and second
order energetic contribution for the various N_st states.
`c_pert(i)` = $\frac{\langle i|H|\alpha \rangle}{\text{difference of orbital energies}}$.
`e_2_pert(i)` = $\frac{\langle i|H|\alpha \rangle^2}{\text{difference of orbital energies}}$.
Needs:
.. hlist::
:columns: 3
* :c:data:`mo_energy_expval`
* :c:data:`n_det_selectors`
* :c:data:`psi_selectors`
* :c:data:`psi_selectors_size`
* :c:data:`mo_num`
Called by:
.. hlist::
:columns: 3
* :c:func:`perturb_buffer_by_mono_moller_plesset_general`
* :c:func:`perturb_buffer_moller_plesset_general`
Calls:
.. hlist::
:columns: 3
* :c:func:`decode_exc`
* :c:func:`get_excitation`
* :c:func:`i_h_psi_minilist`
.. c:function:: pt2_qdpt:
File : :file:`perturbation/pt2_equations.irp.f_template_360`
File : :file:`perturbation/pt2_equations.irp.f_template_305`
.. code:: fortran
@ -1187,6 +951,11 @@ Subroutines / functions
File : :file:`perturbation/selection.irp.f`
.. code:: fortran
subroutine remove_small_contributions
Remove determinants with small contributions. N_states is assumed to be
provided.
@ -1220,42 +989,11 @@ Subroutines / functions
.. hlist::
:columns: 3
* :c:data:`ci_electronic_energy`
* :c:data:`ci_electronic_energy`
* :c:data:`ci_electronic_energy`
* :c:data:`ci_energy`
* :c:data:`ci_electronic_energy`
* :c:data:`n_det`
* :c:data:`psi_coef`
* :c:data:`psi_det`
* :c:data:`psi_energy`
.. c:function:: repeat_all_e_corr:
File : :file:`perturbation/pert_sc2.irp.f`
.. code:: fortran
double precision function repeat_all_e_corr(key_in)
Needs:
.. hlist::
:columns: 3
* :c:data:`n_det_selectors`
* :c:data:`ref_bitmask`
* :c:data:`psi_selectors`
* :c:data:`coef_hf_selector`
* :c:data:`n_int`
Calls:
.. hlist::
:columns: 3
* :c:func:`get_excitation_degree`

View File

@ -173,17 +173,15 @@ Providers
:columns: 3
* :c:data:`ao_num`
* :c:data:`core_bitmask`
* :c:data:`elec_alpha_num`
* :c:data:`elec_beta_num`
* :c:data:`fock_matrix_mo`
* :c:data:`frozen_orb_scf`
* :c:data:`level_shift`
* :c:data:`list_act`
* :c:data:`list_core`
* :c:data:`list_inact`
* :c:data:`mo_coef`
* :c:data:`mo_num`
* :c:data:`n_act_orb`
* :c:data:`n_core_orb`
@ -294,16 +292,14 @@ Providers
.. hlist::
:columns: 3
* :c:data:`core_bitmask`
* :c:data:`elec_alpha_num`
* :c:data:`elec_beta_num`
* :c:data:`fock_matrix_mo_alpha`
* :c:data:`fock_matrix_mo_beta`
* :c:data:`frozen_orb_scf`
* :c:data:`list_act`
* :c:data:`list_core`
* :c:data:`list_inact`
* :c:data:`mo_num`
* :c:data:`n_act_orb`
* :c:data:`n_core_orb`
Needed by:
@ -345,16 +341,14 @@ Providers
.. hlist::
:columns: 3
* :c:data:`core_bitmask`
* :c:data:`elec_alpha_num`
* :c:data:`elec_beta_num`
* :c:data:`fock_matrix_mo_alpha`
* :c:data:`fock_matrix_mo_beta`
* :c:data:`frozen_orb_scf`
* :c:data:`list_act`
* :c:data:`list_core`
* :c:data:`list_inact`
* :c:data:`mo_num`
* :c:data:`n_act_orb`
* :c:data:`n_core_orb`
Needed by:
@ -632,6 +626,11 @@ Subroutines / functions
File : :file:`scf_utils/damping_scf.irp.f`
.. code:: fortran
subroutine damping_SCF
Needs:
@ -679,6 +678,11 @@ Subroutines / functions
File : :file:`scf_utils/huckel.irp.f`
.. code:: fortran
subroutine huckel_guess
Build the MOs using the extended Huckel model
Needs:
@ -724,6 +728,11 @@ Subroutines / functions
File : :file:`scf_utils/roothaan_hall_scf.irp.f`
.. code:: fortran
subroutine Roothaan_Hall_SCF
Roothaan-Hall algorithm for SCF Hartree-Fock calculation
Needs:

View File

@ -34,6 +34,11 @@ Subroutines / functions
File : :file:`write_integrals_erf.irp.f`
.. code:: fortran
subroutine routine
Called by:
@ -58,6 +63,11 @@ Subroutines / functions
File : :file:`print_e_conv.irp.f`
.. code:: fortran
subroutine routine_e_conv
routine called by :c:func:`print_e_conv`
Needs:
@ -91,6 +101,11 @@ Subroutines / functions
File : :file:`save_one_e_dm.irp.f`
.. code:: fortran
subroutine routine_save_one_e_dm
routine called by :c:func:`save_one_e_dm`
Needs:

View File

@ -2636,6 +2636,13 @@ Subroutines / functions
Returns the current used memory in gigabytes used by the current process.
Needs:
.. hlist::
:columns: 3
* :c:data:`file_lock`
Called by:
.. hlist::
@ -2646,6 +2653,14 @@ Subroutines / functions
* :c:func:`print_memory_usage`
* :c:func:`zmq_pt2`
Calls:
.. hlist::
:columns: 3
* :c:func:`omp_set_lock`
* :c:func:`omp_unset_lock`
.. c:function:: rint:

View File

@ -868,6 +868,11 @@ Subroutines / functions
File : :file:`zmq/utils.irp.f`
.. code:: fortran
subroutine reset_zmq_addresses
Socket which pulls the results (2)
Needs:
@ -891,6 +896,11 @@ Subroutines / functions
File : :file:`zmq/utils.irp.f`
.. code:: fortran
subroutine switch_qp_run_to_master
Address of the master qp_run socket
Example : tcp://130.120.229.139:12345

View File

@ -3,6 +3,7 @@ Index of Providers
* :c:data:`abs_psi_coef_max`
* :c:data:`abs_psi_coef_min`
* :c:data:`act_bitmask`
* :c:data:`alpha_knowles`
* :c:data:`angular_quadrature_points`
* :c:data:`ao_cart_to_sphe_coef`
@ -136,9 +137,9 @@ Index of Providers
* :c:data:`cas_bitmask`
* :c:data:`center_of_mass`
* :c:data:`ci_eigenvectors`
* :c:data:`ci_eigenvectors_s2`
* :c:data:`ci_electronic_energy`
* :c:data:`ci_energy`
* :c:data:`ci_s2`
* :c:data:`closed_shell_ref_bitmask`
* :c:data:`coef_hf_selector`
* :c:data:`core_bitmask`
@ -159,6 +160,7 @@ Index of Providers
* :c:data:`davidson_sze_max`
* :c:data:`degree_max_generators`
* :c:data:`degree_max_integration_lebedev`
* :c:data:`del_bitmask`
* :c:data:`delta_e_per_selector`
* :c:data:`density_for_dft`
* :c:data:`det_alpha_norm`
@ -167,10 +169,17 @@ Index of Providers
* :c:data:`dft_type`
* :c:data:`diag_algorithm`
* :c:data:`diagonal_h_matrix_on_psi_det`
* :c:data:`dim_list_act_orb`
* :c:data:`dim_list_core_orb`
* :c:data:`dim_list_del_orb`
* :c:data:`dim_list_inact_orb`
* :c:data:`dim_list_virt_orb`
* :c:data:`disk_access_nuclear_repulsion`
* :c:data:`disk_based_davidson`
* :c:data:`distributed_davidson`
* :c:data:`do_ddci`
* :c:data:`do_direct_integrals`
* :c:data:`do_only_1h1p`
* :c:data:`do_pseudo`
* :c:data:`do_pt2`
* :c:data:`double_exc_bitmask`
@ -216,6 +225,7 @@ Index of Providers
* :c:data:`ezfio_filename`
* :c:data:`ezfio_work_dir`
* :c:data:`fact_inv`
* :c:data:`file_lock`
* :c:data:`fill_h_apply_buffer_selection`
* :c:data:`final_grid_points`
* :c:data:`final_weight_at_r`
@ -322,11 +332,11 @@ Index of Providers
* :c:data:`list_act`
* :c:data:`list_act_reverse`
* :c:data:`list_core`
* :c:data:`list_core_inact`
* :c:data:`list_core_inact_act`
* :c:data:`list_core_inact_act_reverse`
* :c:data:`list_core_inact_reverse`
* :c:data:`list_core_reverse`
* :c:data:`list_del`
* :c:data:`list_del_reverse`
* :c:data:`list_inact`
* :c:data:`list_inact_reverse`
* :c:data:`list_virt`
@ -343,7 +353,6 @@ Index of Providers
* :c:data:`mo_dipole_x`
* :c:data:`mo_dipole_y`
* :c:data:`mo_dipole_z`
* :c:data:`mo_energy_expval`
* :c:data:`mo_guess_type`
* :c:data:`mo_integrals_cache`
* :c:data:`mo_integrals_cache_max`
@ -403,6 +412,7 @@ Index of Providers
* :c:data:`n_core_inact_orb`
* :c:data:`n_core_orb`
* :c:data:`n_core_orb_allocate`
* :c:data:`n_del_orb`
* :c:data:`n_det`
* :c:data:`n_det_alpha_unique`
* :c:data:`n_det_beta_unique`
@ -615,8 +625,11 @@ Index of Providers
* :c:data:`pt2_u_0`
* :c:data:`pt2_w`
* :c:data:`pt2_w_t`
* :c:data:`qp_kill_filename`
* :c:data:`qp_max_mem`
* :c:data:`qp_run_address`
* :c:data:`qp_stop_filename`
* :c:data:`qp_stop_variable`
* :c:data:`read_ao_integrals_e_n`
* :c:data:`read_ao_integrals_kinetic`
* :c:data:`read_ao_integrals_overlap`
@ -775,7 +788,6 @@ Index of Subroutines/Functions
* :c:func:`apply_particles`
* :c:func:`apply_rotation`
* :c:func:`approx_dble`
* :c:func:`au0_h_au0`
* :c:func:`b_coef`
* :c:func:`berf`
* :c:func:`binom_func`
@ -843,7 +855,6 @@ Index of Subroutines/Functions
* :c:func:`detcmp`
* :c:func:`deteq`
* :c:func:`diag_h_mat_elem`
* :c:func:`diag_h_mat_elem_au0_h_au0`
* :c:func:`diag_h_mat_elem_fock`
* :c:func:`diag_h_mat_elem_one_e`
* :c:func:`diag_s_mat_elem`
@ -972,6 +983,7 @@ Index of Subroutines/Functions
* :c:func:`get_mono_excitation`
* :c:func:`get_mono_excitation_from_fock`
* :c:func:`get_mono_excitation_spin`
* :c:func:`get_occupation_from_dets`
* :c:func:`get_phase`
* :c:func:`get_phase_bi`
* :c:func:`get_phasemask_bit`
@ -1163,17 +1175,13 @@ Index of Subroutines/Functions
* :c:func:`perturb_buffer_by_mono_epstein_nesbet`
* :c:func:`perturb_buffer_by_mono_epstein_nesbet_2x2`
* :c:func:`perturb_buffer_by_mono_epstein_nesbet_2x2_no_ci_diag`
* :c:func:`perturb_buffer_by_mono_h_core`
* :c:func:`perturb_buffer_by_mono_moller_plesset`
* :c:func:`perturb_buffer_by_mono_moller_plesset_general`
* :c:func:`perturb_buffer_by_mono_qdpt`
* :c:func:`perturb_buffer_dummy`
* :c:func:`perturb_buffer_epstein_nesbet`
* :c:func:`perturb_buffer_epstein_nesbet_2x2`
* :c:func:`perturb_buffer_epstein_nesbet_2x2_no_ci_diag`
* :c:func:`perturb_buffer_h_core`
* :c:func:`perturb_buffer_moller_plesset`
* :c:func:`perturb_buffer_moller_plesset_general`
* :c:func:`perturb_buffer_qdpt`
* :c:func:`primitive_value`
* :c:func:`print_det`
@ -1196,9 +1204,7 @@ Index of Subroutines/Functions
* :c:func:`pt2_epstein_nesbet_2x2_no_ci_diag`
* :c:func:`pt2_find_sample`
* :c:func:`pt2_find_sample_lr`
* :c:func:`pt2_h_core`
* :c:func:`pt2_moller_plesset`
* :c:func:`pt2_moller_plesset_general`
* :c:func:`pt2_qdpt`
* :c:func:`pt2_slave_inproc`
* :c:func:`pull_pt2`
@ -1208,6 +1214,7 @@ Index of Subroutines/Functions
* :c:func:`push_pt2`
* :c:func:`push_pt2_results`
* :c:func:`push_selection_results`
* :c:func:`qp_stop`
* :c:func:`qrpa`
* :c:func:`qrpad`
* :c:func:`qrpadd`
@ -1222,7 +1229,6 @@ Index of Subroutines/Functions
* :c:func:`remove_duplicates_in_selection_buffer`
* :c:func:`remove_small_contributions`
* :c:func:`reorder_core_orb`
* :c:func:`repeat_all_e_corr`
* :c:func:`reset_zmq_addresses`
* :c:func:`resident_memory`
* :c:func:`resize_h_apply_buffer`

View File

@ -7,6 +7,11 @@ cis
===
Configuration Interaction with Single excitations.
This program takes a reference Slater determinant of ROHF-like
occupancy, and performs all single excitations on top of it.
Disregarding spatial symmetry, it computes the `n_states` lowest
@ -16,22 +21,25 @@ cis
Ground state calculation
------------------------
To be sure to have the lowest |SCF| solution, perform an :ref:`.scf.`
(see the :ref:`hartree_fock` module), then a :ref:`.cis.`, save
the natural orbitals (see :ref:`.save_natorb.`) and re-run an
:ref:`.scf.` optimization from this |MO| guess.
To be sure to have the lowest |SCF| solution, perform an :ref:`scf`
(see the :ref:`hartree_fock` module), then a :ref:`cis`, save
the natural orbitals (see :ref:`save_natorb`) and re-run an
:ref:`scf` optimization from this |MO| guess.
Excited states calculations
---------------------------
The lowest excited states are much likely to be dominated by
single-excitations. Therefore, running a :ref:`cis` will save
the `n_states` lowest states within the |CIS| space in the |EZFIO|
directory, which can afterwards be used as guess wave functions for
a further multi-state |FCI| calculation if :option:`determinants read_wf`
is set to |true| before running the :ref:`fci`
executable.
The lowest excited states are much likely to be dominated by
single-excitations. Therefore, running a :ref:`.cis.` will save
the `n_states` lowest states within the |CIS| space in the |EZFIO|
directory, which can afterwards be used as guess wave functions for
a further multi-state |FCI| calculation if :option:`determinants
read_wf` is set to |true| before running the :ref:`.fci.`
executable.
If :option:`determinants s2_eig` is set to |true|, the |CIS|
will only retain states having the expected |S^2| value (see
@ -39,7 +47,7 @@ cis
the lowest :option:`determinants n_states`, whatever multiplicity
they are.
Note
.. note::
To discard some orbitals, use the :ref:`qp_set_mo_class`
command to specify:

View File

@ -7,6 +7,11 @@ cisd
====
Configuration Interaction with Single and Double excitations.
This program takes a reference Slater determinant of ROHF-like occupancy,
and performs all single and double excitations on top of it, disregarding
spatial symmetry and compute the "n_states" lowest eigenstates of that CI

View File

@ -7,6 +7,11 @@ diagonalize_h
=============
Program that extracts the :option:`determinants n_states` lowest states of the Hamiltonian within the set of Slater determinants stored in the EZFIO folder.
If :option:`determinants s2_eig` = True, it will retain only states
which corresponds to the desired value of :option:`determinants expected_s2`.

View File

@ -7,6 +7,11 @@ fci
===
Selected Full Configuration Interaction with stochastic selection
and PT2.
This program performs a |CIPSI|-like selected |CI| using a
stochastic scheme for both the selection of the important Slater
determinants and the computation of the |PT2| correction. This
@ -43,8 +48,11 @@ fci
.. hlist::
:columns: 3
* :c:data:`psi_coef`
* :c:data:`is_zmq_slave`
* :c:data:`do_pt2`
* :c:data:`mo_two_e_integrals_in_map`
* :c:data:`psi_det`
Calls:
@ -60,10 +68,10 @@ fci
.. hlist::
:columns: 3
* :c:data:`ci_electronic_energy`
* :c:data:`ci_electronic_energy`
* :c:data:`ci_electronic_energy`
* :c:data:`ci_energy`
* :c:data:`ci_electronic_energy`
* :c:data:`n_det`
* :c:data:`psi_occ_pattern`
* :c:data:`c0_weight`
@ -73,9 +81,8 @@ fci
* :c:data:`psi_det`
* :c:data:`psi_det_size`
* :c:data:`psi_det_sorted_bit`
* :c:data:`psi_energy`
* :c:data:`psi_occ_pattern`
* :c:data:`psi_energy`
* :c:data:`pt2_e0_denominator`
* :c:data:`pt2_stoch_istate`
* :c:data:`read_wf`
* :c:data:`state_average_weight`

View File

@ -7,6 +7,11 @@ fcidump
=======
Produce a regular FCIDUMP file from the |MOs| stored in the |EZFIO| folder.
To specify an active space, the class of the mos have to set in the |EZFIO| folder (see :ref:`qp_set_mo_class`).
The fcidump program supports 3 types of MO_class :
@ -22,15 +27,14 @@ fcidump
:columns: 3
* :c:data:`elec_beta_num`
* :c:data:`list_act`
* :c:data:`ezfio_filename`
* :c:data:`core_fock_operator`
* :c:data:`core_bitmask`
* :c:data:`elec_num`
* :c:data:`mo_two_e_integrals_in_map`
* :c:data:`elec_alpha_num`
* :c:data:`mo_one_e_integrals`
* :c:data:`n_act_orb`
* :c:data:`n_core_orb`
* :c:data:`mo_integrals_threshold`
* :c:data:`list_inact`
* :c:data:`mo_integrals_map`
* :c:data:`core_energy`

View File

@ -7,6 +7,11 @@ four_idx_transform
==================
4-index transformation of two-electron integrals from |AO| to |MO| integrals.
This program will compute the two-electron integrals on the |MO| basis and store it into the |EZFIO| folder.
This program can be useful if the AO --> MO transformation is an expensive step by itself.

View File

@ -7,6 +7,11 @@ ks_scf
======
Produce `Kohn_Sham` MO orbital
output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ
output: kohn_sham.energy
optional: mo_basis.mo_coef
Needs:

View File

@ -8,6 +8,11 @@ molden
Produce a Molden file
Needs:
.. hlist::
:columns: 3

View File

@ -7,6 +7,11 @@ print_e_conv
============
program that prints in a human readable format the convergence of the CIPSI algorithm.
for all istate, this program produces
* a file "EZFIO.istate.conv" containing the variational and var+PT2 energies as a function of N_det

View File

@ -7,6 +7,11 @@ print_wf
========
Print the ground state wave function stored in the |EZFIO| folder in the intermediate normalization.
It also prints a lot of information regarding the excitation operators from the reference determinant
and a first-order perturbative analysis of the wave function.

View File

@ -7,6 +7,11 @@ pt2
===
Second order perturbative correction to the wave function contained in the EZFIO directory.
This programs runs the stochastic PT2 correction on all "n_states" wave function stored in the EZFIO folder (see :option:`determinant n_states`).
The option for the PT2 correction are the "pt2_relative_error" which is the relative stochastic
@ -42,8 +47,7 @@ pt2
* :c:data:`distributed_davidson`
* :c:data:`level_shift`
* :c:data:`mo_coef`
* :c:data:`psi_energy`
* :c:data:`psi_energy`
* :c:data:`pt2_e0_denominator`
* :c:data:`pt2_stoch_istate`
* :c:data:`read_wf`
* :c:data:`state_average_weight`

View File

@ -7,6 +7,11 @@ rs_ks_scf
=========
Produce `Range_separated_Kohn_Sham` MO orbital
output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ
output: kohn_sham.energy
optional: mo_basis.mo_coef
Needs:

View File

@ -7,6 +7,11 @@ save_natorb
===========
Save natural MOs into the EZFIO
This program reads the wave function stored in the EZFIO folder,
extracts the corresponding natural orbitals and set them as the new MOs

View File

@ -7,6 +7,11 @@ save_one_e_dm
=============
programs that computes the one body density on the mo basis for alpha and beta electrons
from the wave function stored in the EZFIO folder, and then save it into the EZFIO folder aux_quantities.
Then, the global variable data_one_e_dm_alpha_mo and data_one_e_dm_beta_mo will automatically read this density in a further calculation.
This can be used to perform damping on the density in RS-DFT calculation (see the density_for_dft module).

View File

@ -7,6 +7,11 @@ save_ortho_mos
==============
Save orthonormalized MOs in the EZFIO.
This program reads the current MOs, computes the corresponding overlap matrix in the MO basis
and perform a Lowdin orthonormalization : :math:`MO_{new} = S^{-1/2} MO_{guess}`.

View File

@ -7,10 +7,40 @@ scf
===
output: hartree_fock.energy
The :ref:`scf` program performs *Restricted* Hartree-Fock
calculations (the spatial part of the |MOs| is common for alpha and beta
spinorbitals).
It performs the following actions:
#. Compute/Read all the one- and two-electron integrals, and store them
in memory
#. Check in the |EZFIO| database if there is a set of |MOs|.
If there is, it will read them as initial guess. Otherwise, it will
create a guess.
#. Perform the |SCF| iterations
For the keywords related to the |SCF| procedure, see the ``scf_utils``
directory where you will find all options.
At each iteration, the |MOs| are saved in the |EZFIO| database. Hence,
if the calculation crashes for any unexpected reason, the calculation
can be restarted by running again the |SCF| with the same |EZFIO|
database.
To start again a fresh |SCF| calculation, the |MOs| can be reset by
running the :ref:`qp_reset` command.
The `DIIS`_ algorithm is implemented, as well as the `level-shifting`_
method. If the |SCF| does not converge, try again with a higher value of
:option:`level_shift`.
.. _DIIS: https://en.wikipedia.org/w/index.php?title=DIIS
.. _level-shifting: https://doi.org/10.1002/qua.560070407
optional: mo_basis.mo_coef
Calls:

View File

@ -8,6 +8,11 @@ write_integrals_erf
Saves the two-electron integrals with the :math:`erf(\mu r_{12})/r_{12}` oprerator into the EZFIO folder
Needs:
.. hlist::
:columns: 3

View File

@ -66,7 +66,11 @@ function qp()
>&2 echo "qp: ${2} not found"
fi;;
"has"|"set"|"get"|"unset_file")
"unset_file")
unset EZFIO_FILE
;;
"has"|"set"|"get")
ezfio "$@"
;;
@ -209,8 +213,8 @@ _qp_Complete()
;;
esac;;
*)
COMPREPLY=( $(compgen -W 'plugins set_file\
man \
COMPREPLY=( $(compgen -W 'plugins set_file \
unset_file man \
create_ezfio \
convert_output_to_ezfio \
-h update' -- $cur ) )
@ -259,7 +263,7 @@ _qp_Complete()
return 0
;;
*)
COMPREPLY+=( $(compgen -W 'has get set unset_file edit \
COMPREPLY+=( $(compgen -W 'has get set edit \
run srun mpirun set_frozen_core \
reset set_mo_class ' \
-- $cur ) )

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "CIS" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "CIS" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
cis \- | Quantum Package >
.
@ -32,43 +32,55 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
..
.INDENT 0.0
.INDENT 3.5
File : \fBh_apply.irp.f_shell_8\fP
Configuration Interaction with Single excitations.
.sp
This program takes a reference Slater determinant of ROHF\-like
occupancy, and performs all single excitations on top of it.
Disregarding spatial symmetry, it computes the \fIn_states\fP lowest
eigenstates of that CI matrix. (see \fBdeterminants n_states\fP)
.sp
This program can be useful in many cases:
.sp
To be sure to have the lowest SCF solution, perform an scf
(see the hartree_fock module), then a \fI\%cis\fP, save
the natural orbitals (see save_natorb) and re\-run an
scf optimization from this MO guess.
.sp
The lowest excited states are much likely to be dominated by
single\-excitations. Therefore, running a \fI\%cis\fP will save
the \fIn_states\fP lowest states within the CIS space in the \fI\%EZFIO\fP
directory, which can afterwards be used as guess wave functions for
a further multi\-state FCI calculation if \fBdeterminants read_wf\fP
is set to \fBtrue\fP before running the fci
executable.
.sp
If \fBdeterminants s2_eig\fP is set to \fBtrue\fP, the CIS
will only retain states having the expected \ewidehat{S^2} value (see
\fBdeterminants expected_s2\fP). Otherwise, the CIS will take
the lowest \fBdeterminants n_states\fP, whatever multiplicity
they are.
.sp
\fBNOTE:\fP
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
subroutine H_apply_cis_monoexc(key_in, hole_1,particl_1,fock_diag_tmp,i_generator,iproc_in )
.ft P
.fi
To discard some orbitals, use the qp_set_mo_class
command to specify:
.INDENT 0.0
.IP \(bu 2
\fIcore\fP orbitals which will be always doubly occupied
.IP \(bu 2
\fIact\fP orbitals where an electron can be either excited from or to
.IP \(bu 2
\fIdel\fP orbitals which will be never occupied
.UNINDENT
.UNINDENT
.UNINDENT
.sp
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
.sp
Needs:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBn_int\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBelec_alpha_num\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBmo_num\fP
.UNINDENT
.UNINDENT
.sp
Called by:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBh_apply_cis()\fP
\fBread_wf\fP
.UNINDENT
.INDENT 2.0
.UNINDENT
@ -80,13 +92,33 @@ Calls:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBbitstring_to_list_ab()\fP
\fBrun()\fP
.UNINDENT
.INDENT 2.0
.UNINDENT
.INDENT 2.0
.UNINDENT
.UNINDENT
.sp
Touches:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBfock_matrix_ao_alpha\fP
.IP \(bu 2
\fBfock_matrix_ao_alpha\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBfill_h_apply_buffer_no_selection()\fP
\fBmo_coef\fP
.IP \(bu 2
\fBlevel_shift\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBmo_coef\fP
.IP \(bu 2
\fBread_wf\fP
.UNINDENT
.UNINDENT
.UNINDENT
@ -94,6 +126,6 @@ Calls:
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "CISD" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "CISD" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
cisd \- | Quantum Package >
.
@ -32,43 +32,53 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
..
.INDENT 0.0
.INDENT 3.5
File : \fBh_apply.irp.f_shell_8\fP
Configuration Interaction with Single and Double excitations.
.sp
This program takes a reference Slater determinant of ROHF\-like occupancy,
.sp
and performs all single and double excitations on top of it, disregarding
spatial symmetry and compute the “n_states” lowest eigenstates of that CI
matrix (see \fBdeterminants n_states\fP).
.sp
This program can be useful in many cases:
.INDENT 0.0
.INDENT 3.5
.IP \(bu 2
GROUND STATE CALCULATION: if even after a \fBcis()\fP calculation, natural
orbitals (see \fBsave_natorb()\fP) and then \fBscf()\fP optimization, you are not sure to have the lowest scf
solution,
do the same strategy with the \fBcisd()\fP executable instead of the \fBcis()\fP\ exectuable to generate the natural
orbitals as a guess for the \fBscf()\fP\&.
.IP \(bu 2
EXCITED STATES CALCULATIONS: the lowest excited states are much likely to
be dominanted by single\- or double\-excitations.
Therefore, running a \fBcisd()\fP will save the “n_states” lowest states within
the CISD space
in the EZFIO folder, which can afterward be used as guess wave functions
for a further multi\-state fci calculation if you specify “read_wf” = True
before running the fci executable (see \fBdeterminants read_wf\fP).
Also, if you specify “s2_eig” = True, the cisd will only retain states
having the good value S^2 value
(see \fBdeterminants expected_s2\fP and \fBdeterminants s2_eig\fP).
If “s2_eig” = False, it will take the lowest n_states, whatever
multiplicity they are.
.sp
.nf
.ft C
subroutine H_apply_cisd_monoexc(key_in, hole_1,particl_1,fock_diag_tmp,i_generator,iproc_in )
.ft P
.fi
Note: if you would like to discard some orbitals, use
qp_set_mo_class to specify:
.INDENT 2.0
.IP \(bu 2
“core” orbitals which will be always doubly occupied
.IP \(bu 2
“act” orbitals where an electron can be either excited from or to
.IP \(bu 2
“del” orbitals which will be never occupied
.UNINDENT
.UNINDENT
.sp
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
.sp
Needs:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBn_int\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBelec_alpha_num\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBmo_num\fP
.UNINDENT
.UNINDENT
.sp
Called by:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBh_apply_cisd()\fP
\fBread_wf\fP
.UNINDENT
.INDENT 2.0
.UNINDENT
@ -80,13 +90,33 @@ Calls:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBbitstring_to_list_ab()\fP
\fBrun()\fP
.UNINDENT
.INDENT 2.0
.UNINDENT
.INDENT 2.0
.UNINDENT
.UNINDENT
.sp
Touches:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBfock_matrix_ao_alpha\fP
.IP \(bu 2
\fBfock_matrix_ao_alpha\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBfill_h_apply_buffer_no_selection()\fP
\fBmo_coef\fP
.IP \(bu 2
\fBlevel_shift\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBmo_coef\fP
.IP \(bu 2
\fBread_wf\fP
.UNINDENT
.UNINDENT
.UNINDENT
@ -94,6 +124,6 @@ Calls:
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "CONFIGURE" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "CONFIGURE" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
configure \- | Quantum Package >
.
@ -31,7 +31,8 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.sp
Program that can either configure the compilations options and download/install external dependencies (see the installation description).
Program that can either configure the compilations options or download/install
external dependencies (see the installation description).
.SH USAGE
.INDENT 0.0
.INDENT 3.5
@ -73,6 +74,6 @@ Try to install <package>. Use at your own risk.
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "DIAGONALIZE_H" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "DIAGONALIZE_H" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
diagonalize_h \- | Quantum Package >
.
@ -32,47 +32,41 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
..
.INDENT 0.0
.INDENT 3.5
File : \fBmolden.irp.f\fP
.INDENT 0.0
.INDENT 3.5
Program that extracts the \fBdeterminants n_states\fP lowest states of the Hamiltonian within the set of Slater determinants stored in the EZFIO folder.
.sp
.nf
.ft C
subroutine write_Mo_basis(i_unit_output)
.ft P
.fi
.UNINDENT
.UNINDENT
If \fBdeterminants s2_eig\fP = True, it will retain only states
.sp
which corresponds to the desired value of \fBdeterminants expected_s2\fP\&.
.sp
Needs:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBmo_num\fP
.IP \(bu 2
\fBmo_coef\fP
.IP \(bu 2
\fBao_num\fP
\fBread_wf\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBao_l_char_space\fP
.IP \(bu 2
\fBnucl_charge\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBao_nucl\fP
.IP \(bu 2
\fBelement_name\fP
.UNINDENT
.UNINDENT
.sp
Called by:
Calls:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBmolden()\fP
\fBroutine()\fP
.UNINDENT
.INDENT 2.0
.UNINDENT
.INDENT 2.0
.UNINDENT
.UNINDENT
.sp
Touches:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBread_wf\fP
.UNINDENT
.INDENT 2.0
.UNINDENT
@ -84,6 +78,6 @@ Called by:
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "EXCITED_STATES" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "EXCITED_STATES" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
excited_states \- | Quantum Package >
.
@ -31,40 +31,43 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.sp
It is possible to run excited states calculations with the quantum package. To
do this, set \fBdeterminants n_states\fP to the number of requested states.
The selection criterion will be the maximum of the selection criteria for each
state. If the Davidson diagonalization has difficulties to converge, increase
the \fBdavidson n_states_diag\fP value.
It is possible to run excited states calculations with the quantum
package. To do this, set \fBdeterminants n_states\fP to the number
of requested states. The selection criterion will be the maximum of the
selection criteria for each state. If the Davidson diagonalization has
difficulties to converge, increase the \fBdavidson n_states_diag\fP
value.
.sp
When computing multiple states, it is good to have the \fBdeterminants
s2_eig\fP flag \fBtrue\fP\&. This will force the Davidson algorithm to choose only
vectors with a value of \ewidehat{S^2} equal to \fBdeterminants expected_s2\fP\&.
Otherwise, different spin states will come out in the diagonalization.
When computing multiple states, it is good to have the
\fBdeterminants s2_eig\fP flag \fBtrue\fP\&. This will force the Davidson
algorithm to choose only vectors with a value of \ewidehat{S^2} equal to
\fBdeterminants expected_s2\fP\&. Otherwise, different spin states
will come out in the diagonalization.
.sp
The \fIQuantum Package\fP doesnt take account of the symmetry. Due to numerical noise, excited
states of different symmetries may enter in the calculation. Note that it is
possible to make state\-average calculation of states with different symmetries
and/or different spin multiplicities.
The \fIQuantum Package\fP doesnt take account of the symmetry. Due to numerical noise,
excited states of different symmetries may enter in the calculation.
Note that it is possible to make state\-average calculation of states
with different symmetries and/or different spin multiplicities.
.sp
To include excited state of all possible symmetries, a simple trick is to
run a preliminary multi\-state CIS calculation using the CIS program,
and then running the selected FCI restarting from the CIS states, setting
\fBdeterminants read_wf\fP to \fBtrue\fP\&.
To include excited state of all possible symmetries, a simple trick is
to run a preliminary multi\-state CIS calculation using the CIS
program, and then running the selected FCI restarting from the CIS
states, setting \fBdeterminants read_wf\fP to \fBtrue\fP\&.
.sp
Usually, it is good practice to use state\-averaged natural MOs so that all
states have MOs of comparable quality. This allows for a faster convergence
of excitation energies.
Usually, it is good practice to use state\-averaged natural MOs so that
all states have MOs of comparable quality. This allows for a faster
convergence of excitation energies.
.sp
\fBSEE ALSO:\fP
.INDENT 0.0
.INDENT 3.5
The documentation of the \fBscf()\fP, \fBcis()\fP and \fBfci()\fP programs.
The documentation of the \fBscf()\fP, \fBcis()\fP and
\fBfci()\fP programs.
.UNINDENT
.UNINDENT
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

122
man/fci.1
View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "FCI" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "FCI" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
fci \- | Quantum Package >
.
@ -32,43 +32,61 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
..
.INDENT 0.0
.INDENT 3.5
File : \fBfci/save_energy.irp.f\fP
Selected Full Configuration Interaction with stochastic selection
and PT2.
.sp
This program performs a CIPSI\-like selected CI using a
stochastic scheme for both the selection of the important Slater
determinants and the computation of the PT2 correction. This
CIPSI\-like algorithm will be performed for the lowest states of
the variational space (see \fBdeterminants n_states\fP). The
FCI program will stop when reaching at least one the two following
conditions:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
subroutine save_energy(E,pt2)
.ft P
.fi
.UNINDENT
.IP \(bu 2
number of Slater determinants > \fBdeterminants n_det_max\fP
.IP \(bu 2
PT2 < \fBperturbation pt2_max\fP
.UNINDENT
.sp
Saves the energy in \fI\%EZFIO\fP\&.
The following other options can be of interest:
.INDENT 0.0
.TP
.B \fBdeterminants read_wf\fP
When set to \fBfalse\fP, the program starts with a ROHF\-like Slater
determinant as a guess wave function. When set to \fBtrue\fP, the
program starts with the wave function(s) stored in the \fI\%EZFIO\fP
directory as guess wave function(s).
.TP
.B \fBdeterminants s2_eig\fP
When set to \fBtrue\fP, the selection will systematically add all the
necessary Slater determinants in order to have a pure spin wave
function with an \ewidehat{S^2} value corresponding to
\fBdeterminants expected_s2\fP\&.
.UNINDENT
.sp
For excited states calculations, it is recommended to start with
\&.cis. or \&.cisd. guess wave functions, eventually in
a restricted set of MOs, and to set \fBdeterminants s2_eig\fP
to \fBtrue\fP\&.
.sp
Needs:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBn_states\fP
.UNINDENT
.INDENT 2.0
.UNINDENT
.INDENT 2.0
.UNINDENT
.UNINDENT
.sp
Called by:
.INDENT 0.0
.INDENT 2.0
\fBpsi_coef\fP
.IP \(bu 2
\fBrun_cipsi()\fP
\fBis_zmq_slave\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBrun_stochastic_cipsi()\fP
\fBdo_pt2\fP
.IP \(bu 2
\fBmo_two_e_integrals_in_map\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBpsi_det\fP
.UNINDENT
.UNINDENT
.sp
@ -76,13 +94,63 @@ Calls:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBezfio_set_fci_energy()\fP
\fBrun_cipsi()\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBezfio_set_fci_energy_pt2()\fP
\fBrun_slave_cipsi()\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBrun_stochastic_cipsi()\fP
.UNINDENT
.UNINDENT
.sp
Touches:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBci_electronic_energy\fP
.IP \(bu 2
\fBci_electronic_energy\fP
.IP \(bu 2
\fBci_energy\fP
.IP \(bu 2
\fBci_electronic_energy\fP
.IP \(bu 2
\fBn_det\fP
.IP \(bu 2
\fBpsi_occ_pattern\fP
.IP \(bu 2
\fBc0_weight\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBdistributed_davidson\fP
.IP \(bu 2
\fBpsi_coef\fP
.IP \(bu 2
\fBpsi_det_sorted_bit\fP
.IP \(bu 2
\fBpsi_det\fP
.IP \(bu 2
\fBpsi_det_size\fP
.IP \(bu 2
\fBpsi_det_sorted_bit\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBpsi_occ_pattern\fP
.IP \(bu 2
\fBpt2_e0_denominator\fP
.IP \(bu 2
\fBpt2_stoch_istate\fP
.IP \(bu 2
\fBread_wf\fP
.IP \(bu 2
\fBstate_average_weight\fP
.IP \(bu 2
\fBthreshold_generators\fP
.UNINDENT
.UNINDENT
.UNINDENT
@ -90,6 +158,6 @@ Calls:
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "FCIDUMP" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "FCIDUMP" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
fcidump \- | Quantum Package >
.
@ -32,51 +32,51 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
..
.INDENT 0.0
.INDENT 3.5
File : \fBmolden.irp.f\fP
.INDENT 0.0
.INDENT 3.5
Produce a regular FCIDUMP file from the MOs stored in the \fI\%EZFIO\fP folder.
.sp
.nf
.ft C
subroutine write_Mo_basis(i_unit_output)
.ft P
.fi
.UNINDENT
To specify an active space, the class of the mos have to set in the \fI\%EZFIO\fP folder (see qp_set_mo_class).
.sp
The fcidump program supports 3 types of MO_class :
.INDENT 0.0
.IP \(bu 2
the “core” orbitals which are always doubly occupied in the calculation
.IP \(bu 2
the “del” orbitals that are never occupied in the calculation
.IP \(bu 2
the “act” orbitals that will be occupied by a varying number of electrons
.UNINDENT
.sp
Needs:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBmo_num\fP
\fBelec_beta_num\fP
.IP \(bu 2
\fBmo_coef\fP
\fBezfio_filename\fP
.IP \(bu 2
\fBao_num\fP
\fBcore_fock_operator\fP
.IP \(bu 2
\fBelec_num\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBao_l_char_space\fP
\fBmo_two_e_integrals_in_map\fP
.IP \(bu 2
\fBnucl_charge\fP
\fBelec_alpha_num\fP
.IP \(bu 2
\fBmo_one_e_integrals\fP
.IP \(bu 2
\fBn_core_orb\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBao_nucl\fP
\fBmo_integrals_threshold\fP
.IP \(bu 2
\fBelement_name\fP
.UNINDENT
.UNINDENT
.sp
Called by:
.INDENT 0.0
.INDENT 2.0
\fBlist_inact\fP
.IP \(bu 2
\fBmolden()\fP
.UNINDENT
.INDENT 2.0
.UNINDENT
.INDENT 2.0
\fBmo_integrals_map\fP
.IP \(bu 2
\fBcore_energy\fP
.UNINDENT
.UNINDENT
.UNINDENT
@ -84,6 +84,6 @@ Called by:
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "FOUR_IDX_TRANSFORM" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "FOUR_IDX_TRANSFORM" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
four_idx_transform \- | Quantum Package >
.
@ -32,47 +32,31 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
..
.INDENT 0.0
.INDENT 3.5
File : \fBmolden.irp.f\fP
.INDENT 0.0
.INDENT 3.5
4\-index transformation of two\-electron integrals from AO to MO integrals.
.sp
.nf
.ft C
subroutine write_Mo_basis(i_unit_output)
.ft P
.fi
.UNINDENT
.UNINDENT
This program will compute the two\-electron integrals on the MO basis and store it into the \fI\%EZFIO\fP folder.
.sp
This program can be useful if the AO > MO transformation is an expensive step by itself.
.sp
Needs:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBmo_num\fP
.IP \(bu 2
\fBmo_coef\fP
.IP \(bu 2
\fBao_num\fP
\fBio_mo_two_e_integrals\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBao_l_char_space\fP
.IP \(bu 2
\fBnucl_charge\fP
\fBmo_two_e_integrals_in_map\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBao_nucl\fP
.IP \(bu 2
\fBelement_name\fP
.UNINDENT
.UNINDENT
.sp
Called by:
Touches:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBmolden()\fP
\fBio_mo_two_e_integrals\fP
.UNINDENT
.INDENT 2.0
.UNINDENT
@ -84,6 +68,6 @@ Called by:
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "INTERFACES" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "INTERFACES" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
interfaces \- | Quantum Package >
.
@ -57,6 +57,6 @@ These interfaces are provided as \fI\%external plugins\fP\&.
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "KS_SCF" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "KS_SCF" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
ks_scf \- | Quantum Package >
.
@ -32,8 +32,6 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
..
.INDENT 0.0
.INDENT 3.5
File : \fBks_scf.irp.f\fP
.sp
Produce \fIKohn_Sham\fP MO orbital
output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ
output: kohn_sham.energy
@ -111,6 +109,6 @@ Touches:
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "MOLDEN" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "MOLDEN" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
molden \- | Quantum Package >
.
@ -32,51 +32,35 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
..
.INDENT 0.0
.INDENT 3.5
File : \fBmolden.irp.f\fP
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
subroutine write_Mo_basis(i_unit_output)
.ft P
.fi
.UNINDENT
.UNINDENT
Produce a Molden file
.sp
Needs:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBmo_num\fP
.IP \(bu 2
\fBmo_coef\fP
.IP \(bu 2
\fBao_num\fP
\fBezfio_filename\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBao_l_char_space\fP
.IP \(bu 2
\fBnucl_charge\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBao_nucl\fP
.IP \(bu 2
\fBelement_name\fP
.UNINDENT
.UNINDENT
.sp
Called by:
Calls:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBmolden()\fP
\fBwrite_ao_basis()\fP
.IP \(bu 2
\fBwrite_geometry()\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBwrite_intro_gamess()\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBwrite_mo_basis()\fP
.UNINDENT
.UNINDENT
.UNINDENT
@ -84,6 +68,6 @@ Called by:
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "NATURAL_ORBITALS" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "NATURAL_ORBITALS" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
natural_orbitals \- | Quantum Package >
.
@ -44,12 +44,14 @@ qp_run save_natorb file.ezfio
.UNINDENT
.UNINDENT
.sp
The MOs will be replaced, so the two\-electron integrals and the wave function
are invalidated as well.
The MOs will be replaced, so the two\-electron integrals and the wave
function are invalidated as well.
.SH EXTRACTING NATURAL ORBITALS
.sp
Once obtained the near FCI wave function, one can obtain many quantities related to it.
One of these quantities are the natural orbitals which have the properties of diagonalizing the one\-body density matrix:
Once obtained the near FCI wave function, one can obtain many
Onquantities related to it. e of these quantities are the natural
Onorbitals which have the properties of diagonalizing the one\-body
Ondensity matrix:
.INDENT 0.0
.INDENT 3.5
.sp
@ -59,7 +61,8 @@ One of these quantities are the natural orbitals which have the properties of di
.UNINDENT
.UNINDENT
.sp
where the element of the one\-body density matrix \erho_{ij} is define as:
where the element of the one\-body density matrix \erho_{ij} is
define as:
.INDENT 0.0
.INDENT 3.5
.sp
@ -69,7 +72,10 @@ where the element of the one\-body density matrix \erho_{ij} is define as:
.UNINDENT
.UNINDENT
.sp
These orbitals are in general known to be better than the usual HF MOs as they are obtained from a correlated wave function. To use these orbitals for future calculations, one has to replace the current MOs by the natural orbitals. To do so, just run:
These orbitals are in general known to be better than the usual HF
MOs as they are obtained from a correlated wave function. To use these
orbitals for future calculations, one has to replace the current MOs
by the natural orbitals. To do so, just run:
.INDENT 0.0
.INDENT 3.5
.sp
@ -85,11 +91,14 @@ qp_run save_natorb file.ezfio
\fBIMPORTANT:\fP
.INDENT 0.0
.INDENT 3.5
As the MOs are changed, for the sake of coherence of future calculations, the save_natorb program
\fIautomatically removes the current wave function\fP stored in the \fI\%EZFIO\fP database and replace
it by a single Slater determinant corresponding to a HF occupation of the new spin orbitals.
Also, all the keywords to read the one\- and two\-electron integrals on the MO basis are set to “None”
in order to be sure not to read integrals not corresponding to the current set of MOs\&.
As the MOs are changed, for the sake of coherence of future
calculations, the save_natorb program \fIautomatically removes the
current wave function\fP stored in the \fI\%EZFIO\fP database and replaces
it by a single Slater determinant corresponding to a HF occupation
of the new spin orbitals. Also, all the keywords to read the one\-
and two\-electron integrals on the MO basis are set to \fBNone\fP in
order to be sure to avoid reading integrals incompatible with the
current set of MOs\&.
.UNINDENT
.UNINDENT
.sp
@ -102,6 +111,6 @@ The documentation of the \fBsave_natorb()\fP program.
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "PLUGINS" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "PLUGINS" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
plugins \- | Quantum Package >
.
@ -31,15 +31,16 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.sp
\fIQuantum Package\fP has very few executables out of the box. Most of the time, external
plugins need to be downloaded and installed in the \fB$QP_ROOT/plugins\fP
directory.
\fIQuantum Package\fP has very few executables out of the box. Most of the time,
external plugins need to be downloaded and installed in the
\fB$QP_ROOT/plugins\fP directory.
.sp
Plugins are usually hosted in external repositories. To download a plugin,
the remote repository needs to be downloaded, and the plugins of the
repository can be selected for installation.
Plugins are usually hosted in external repositories. To download a
plugin, the remote repository needs to be downloaded, and the plugins of
the repository can be selected for installation.
.sp
To download an external repository of plugins, run the following command:
To download an external repository of plugins, run the following
command:
.INDENT 0.0
.INDENT 3.5
.sp
@ -103,6 +104,6 @@ For a more detailed explanation and an example, see qp_plugins\&.
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "PRINT_E_CONV" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "PRINT_E_CONV" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
print_e_conv \- | Quantum Package >
.
@ -32,47 +32,33 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
..
.INDENT 0.0
.INDENT 3.5
File : \fBmolden.irp.f\fP
.INDENT 0.0
.INDENT 3.5
program that prints in a human readable format the convergence of the CIPSI algorithm.
.sp
.nf
.ft C
subroutine write_Mo_basis(i_unit_output)
.ft P
.fi
.UNINDENT
for all istate, this program produces
.INDENT 0.0
.IP \(bu 2
a file “EZFIO.istate.conv” containing the variational and var+PT2 energies as a function of N_det
.IP \(bu 2
for istate > 1, a file EZFIO.istate.delta_e.conv containing the energy difference (both var and var+PT2) with the ground state as a function of N_det
.UNINDENT
.sp
Needs:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBmo_num\fP
.IP \(bu 2
\fBmo_coef\fP
.IP \(bu 2
\fBao_num\fP
\fBezfio_filename\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBao_l_char_space\fP
.IP \(bu 2
\fBnucl_charge\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBao_nucl\fP
.IP \(bu 2
\fBelement_name\fP
.UNINDENT
.UNINDENT
.sp
Called by:
Calls:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBmolden()\fP
\fBroutine_e_conv()\fP
.UNINDENT
.INDENT 2.0
.UNINDENT
@ -84,6 +70,6 @@ Called by:
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "PRINT_WF" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "PRINT_WF" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
print_wf \- | Quantum Package >
.
@ -32,47 +32,43 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
..
.INDENT 0.0
.INDENT 3.5
File : \fBmolden.irp.f\fP
.INDENT 0.0
.INDENT 3.5
Print the ground state wave function stored in the \fI\%EZFIO\fP folder in the intermediate normalization.
.sp
.nf
.ft C
subroutine write_Mo_basis(i_unit_output)
.ft P
.fi
.UNINDENT
.UNINDENT
It also prints a lot of information regarding the excitation operators from the reference determinant
.sp
and a first\-order perturbative analysis of the wave function.
.sp
If the wave function strongly deviates from the first\-order analysis, something funny is going on :)
.sp
Needs:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBmo_num\fP
.IP \(bu 2
\fBmo_coef\fP
.IP \(bu 2
\fBao_num\fP
\fBread_wf\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBao_l_char_space\fP
.IP \(bu 2
\fBnucl_charge\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBao_nucl\fP
.IP \(bu 2
\fBelement_name\fP
.UNINDENT
.UNINDENT
.sp
Called by:
Calls:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBmolden()\fP
\fBroutine()\fP
.UNINDENT
.INDENT 2.0
.UNINDENT
.INDENT 2.0
.UNINDENT
.UNINDENT
.sp
Touches:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBread_wf\fP
.UNINDENT
.INDENT 2.0
.UNINDENT
@ -84,6 +80,6 @@ Called by:
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "PRINTING" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "PRINTING" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
printing \- | Quantum Package >
.
@ -31,9 +31,10 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.sp
Once obtained the near FCI energy, one can also take a closer look at the wave function stored in the \fI\%EZFIO\fP database.
If the wave function contains less than 10^4 determinants, you can directly read it with the
qp_edit command. Just run
Once obtained the near\-FCI energy, one can also take a closer look at
the wave function stored in the \fI\%EZFIO\fP database. If the wave function
contains less than 10^4 determinants, you can directly read it
with the qp_edit command. Just run
.INDENT 0.0
.INDENT 3.5
.sp
@ -48,14 +49,18 @@ qp_edit file.ezfio
\fBIMPORTANT:\fP
.INDENT 0.0
.INDENT 3.5
The qp_edit mode virtually makes human\-friendly the architecture of the \fI\%EZFIO\fP database
through \fIvim\fP\-like editor.
The qp_edit mode virtually makes human\-friendly the
architecture of the \fI\%EZFIO\fP database through the use of a
the text editor defined by the \fBEDITOR\fP environment
variable.
.UNINDENT
.UNINDENT
.sp
Then, look for the word “hand” when you are in the qp_edit mode. If the research is negative,
then it means that the wave function stored in the \fI\%EZFIO\fP database is too large to be edited
interactively in qp_edit mode. An alternative is to use the \fBprint_wf\fP command:
Then, look for the word \fIhand\fP when you are in the qp_edit
mode. If the research is negative, then it means that the wave
function stored in the \fI\%EZFIO\fP database is too large to be edited
interactively in qp_edit mode. An alternative is to use the
\fBprint_wf\fP command:
.INDENT 0.0
.INDENT 3.5
.sp
@ -67,7 +72,11 @@ qp_run print_wf file.ezfio | tee file.ezfio.fci_natorb.wf
.UNINDENT
.UNINDENT
.sp
This program will, by default, print out the first 10^4 determinants whatever the size of the wave function stored in the \fI\%EZFIO\fP folder. If you want to change the number of printed Slater determinants, just change the \fBdeterminants n_det_print_wf\fP keyword using the qp_edit tool.
This program will, by default, print out the first 10^4
determinants whatever the size of the wave function stored in the
\fI\%EZFIO\fP folder. If you want to change the number of printed Slater
determinants, just change the \fBdeterminants n_det_print_wf\fP
keyword using the qp_edit tool.
.sp
\fBSEE ALSO:\fP
.INDENT 0.0
@ -78,6 +87,6 @@ The documentation of the print_wf program.
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "PT2" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "PT2" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
pt2 \- | Quantum Package >
.
@ -32,43 +32,31 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
..
.INDENT 0.0
.INDENT 3.5
File : \fBfci/save_energy.irp.f\fP
.INDENT 0.0
.INDENT 3.5
Second order perturbative correction to the wave function contained in the EZFIO directory.
.sp
.nf
.ft C
subroutine save_energy(E,pt2)
.ft P
.fi
.UNINDENT
.UNINDENT
This programs runs the stochastic PT2 correction on all “n_states” wave function stored in the EZFIO folder (see \fBdeterminant n_states\fP).
.sp
Saves the energy in \fI\%EZFIO\fP\&.
The option for the PT2 correction are the “pt2_relative_error” which is the relative stochastic
.sp
error on the PT2 to reach before stopping the stochastic sampling. (see \fBperturbation pt2_relative_error\fP)
.sp
Needs:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBn_states\fP
.UNINDENT
.INDENT 2.0
.UNINDENT
.INDENT 2.0
.UNINDENT
.UNINDENT
.sp
Called by:
.INDENT 0.0
.INDENT 2.0
\fBis_zmq_slave\fP
.IP \(bu 2
\fBrun_cipsi()\fP
\fBmo_two_e_integrals_in_map\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBrun_stochastic_cipsi()\fP
\fBpsi_energy\fP
.IP \(bu 2
\fBthreshold_generators\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBread_wf\fP
.UNINDENT
.UNINDENT
.sp
@ -76,20 +64,52 @@ Calls:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBezfio_set_fci_energy()\fP
\fBrun()\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBezfio_set_fci_energy_pt2()\fP
\fBrun_slave_cipsi()\fP
.UNINDENT
.INDENT 2.0
.UNINDENT
.UNINDENT
.sp
Touches:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBfock_matrix_ao_alpha\fP
.IP \(bu 2
\fBfock_matrix_ao_alpha\fP
.IP \(bu 2
\fBmo_coef\fP
.IP \(bu 2
\fBdistributed_davidson\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBlevel_shift\fP
.IP \(bu 2
\fBmo_coef\fP
.IP \(bu 2
\fBpt2_e0_denominator\fP
.IP \(bu 2
\fBpt2_stoch_istate\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBread_wf\fP
.IP \(bu 2
\fBstate_average_weight\fP
.IP \(bu 2
\fBthreshold_generators\fP
.UNINDENT
.UNINDENT
.UNINDENT
.UNINDENT
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "QP_CONVERT_OUTPUT_TO_EZFIO" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "QP_CONVERT_OUTPUT_TO_EZFIO" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
qp_convert_output_to_ezfio \- | Quantum Package >
.
@ -32,9 +32,10 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
..
.sp
This Python script uses the \fI\%resultsFile\fP Python library to gather the
geometry, AOs and MOs from output files of \fI\%GAMESS\fP or Gaussian, and puts
this data in an \fI\%EZFIO\fP database. Some constraints are necessary in the output
file : the run needs to be a single point HF, DFT or CAS SCF\&.
geometry, AOs and MOs from output files of \fI\%GAMESS\fP or Gaussian, and
puts this data in an \fI\%EZFIO\fP database. Some constraints are necessary
in the output file : the run needs to be a single point HF, DFT or
CAS SCF\&.
.SH USAGE
.INDENT 0.0
.INDENT 3.5
@ -49,16 +50,16 @@ qp_convert_output_to_ezfio [\-o EZFIO_DIR] FILE
.INDENT 0.0
.TP
.B \-o, \-\-output=EZFIO_DIR
Renames the \fI\%EZFIO\fP directory. If this option is not present, the default
name fill be \fBFILE.ezfio\fP
Renames the \fI\%EZFIO\fP directory. If this option is not present, the
default name fill be \fBFILE.ezfio\fP
.UNINDENT
.sp
\fBNOTE:\fP
.INDENT 0.0
.INDENT 3.5
All the parameters of the wave functgion need to be presente in the output
file : complete description of the AO basis set, full set of molecular
orbitals, etc.
All the parameters of the wave functgion need to be presente in the
output file : complete description of the AO basis set, full set of
molecular orbitals, etc.
.sp
The following keywords are necessary for GAU$$IAN
.INDENT 0.0
@ -87,6 +88,6 @@ qp_convert_output_to_ezfio h2o.out \-o h2o
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -0,0 +1,235 @@
.\" Man page generated from reStructuredText.
.
.TH "QP_CREATE_EZFIO_FROM_XYZ" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
qp_create_ezfio_from_xyz \- | Quantum Package >
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.sp
This command creates an \fI\%EZFIO\fP directory from a standard \fIxyz\fP file or
from a \fIz\-matrix\fP file in Gaussian format.
.SH USAGE
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
qp_create_ezfio [\-a] \-b <string> [\-c <int>] [\-d <float>]
[\-h] [\-m <int>] [\-o EZFIO_DIR] [\-p <string>] [\-x] [\-\-] FILE
.ft P
.fi
.UNINDENT
.UNINDENT
.INDENT 0.0
.TP
.B \-a, \-\-au
If present, input geometry is in atomic units.
.UNINDENT
.INDENT 0.0
.TP
.B \-b, \-\-basis=<string>
Name of basis set. The basis set is defined as a single string if
all the atoms are taken from the same basis set, otherwise specific
elements can be defined as follows:
.INDENT 7.0
.INDENT 3.5
.sp
.nf
.ft C
\-b "cc\-pcvdz | H:cc\-pvdz | C:6\-31g"
\-b "cc\-pvtz | 1,H:sto\-3g | 3,H:6\-31g"
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
By default, the basis set is obtained from the local database of the.
\fIQuantum Package\fP This option is mandatory .
.sp
If \fB<string>\fP is set to \fBshow\fP, the list of all available basis
sets is displayed.
.UNINDENT
.INDENT 0.0
.TP
.B \-c, \-\-charge=<int>
Total charge of the molecule. Default is 0.
.UNINDENT
.INDENT 0.0
.TP
.B \-d, \-\-dummy=<float>
Add dummy atoms (X) between atoms when the distance between two atoms
is less than x \etimes \esum R_\emathrm{cov}, the covalent radii
of the atoms. The default is x=0, so no dummy atom is added.
.UNINDENT
.INDENT 0.0
.TP
.B \-h, \-\-help
Print the help text and exit
.UNINDENT
.INDENT 0.0
.TP
.B \-m, \-\-multiplicity=<int>
Spin multiplicity 2S+1 of the molecule. Default is 1.
.UNINDENT
.INDENT 0.0
.TP
.B \-o, \-\-output=EZFIO_DIR
Name of the created \fI\%EZFIO\fP directory.
.UNINDENT
.INDENT 0.0
.TP
.B \-p <string>, \-\-pseudo=<string>
Name of the pseudo\-potential. Follows the same conventions as the basis set.
.UNINDENT
.INDENT 0.0
.TP
.B \-x, \-\-cart
Compute AOs in the Cartesian basis set (6d, 10f, …)
.UNINDENT
.SH USING CUSTOM ATOMIC BASIS SETS
.sp
If a file with the same name as the basis set exists, this file will
be read. For example, if the file containing the basis set is named
\fBcustom.basis\fP, and the \fIxyz\fP geometry is in \fBmolecule.xyz\fP, the
following should be used:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
qp_create_ezfio \-b custom.basis molecule.xyz
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
Basis set files should be given in \fI\%GAMESS\fP format, where the full
names of the atoms are given, and the basis sets for each element are
separated by a blank line. Here is an example
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
HYDROGEN
S 3
1 13.0100000 0.0196850
2 1.9620000 0.1379770
3 0.4446000 0.4781480
S 1
1 0.1220000 1.0000000
P 1
1 0.7270000 1.0000000
BORON
S 8
1 4570.0000000 0.0006960
2 685.9000000 0.0053530
3 156.5000000 0.0271340
4 44.4700000 0.1013800
5 14.4800000 0.2720550
6 5.1310000 0.4484030
7 1.8980000 0.2901230
8 0.3329000 0.0143220
S 8
1 4570.0000000 \-0.0001390
2 685.9000000 \-0.0010970
3 156.5000000 \-0.0054440
4 44.4700000 \-0.0219160
5 14.4800000 \-0.0597510
6 5.1310000 \-0.1387320
7 1.8980000 \-0.1314820
8 0.3329000 0.5395260
S 1
1 0.1043000 1.0000000
P 3
1 6.0010000 0.0354810
2 1.2410000 0.1980720
3 0.3364000 0.5052300
P 1
1 0.0953800 1.0000000
D 1
1 0.3430000 1.0000000
.ft P
.fi
.UNINDENT
.UNINDENT
.SH USING CUSTOM PSEUDO-POTENTIALS
.sp
As for the basis set, if a file with the same name as the
pseudo\-potential exists, this file will be read. For example, if the
file containing the custom pseudo\-potential is named \fBcustom.pseudo\fP,
the basis set is named \fBcustom.basis\fP, and the \fIxyz\fP geometry is in
\fBmolecule.xyz\fP, the following command should be used
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
qp_create_ezfio \-b custom.basis \-p custom.pseudo molecule.xyz
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
Pseudo\-potential files should be given in a format very close to
\fI\%GAMESS\fP format. The first line should be formatted as \fB%s GEN %d %d\fP
where the first string is the chemical symbol, the first integer is
the number of core electrons to be removed and the second integer is
LMAX+1 as in \fI\%GAMESS\fP format. The pseudo\-potential for each element are
separated by a blank line. Here is an example
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
Ne GEN 2 1
3
8.00000000 1 10.74945199
85.99561593 3 10.19801460
\-56.79004456 2 10.18694048
1
55.11144535 2 12.85042963
F GEN 2 1
3
7.00000000 1 11.39210685
79.74474797 3 10.74911370
\-49.45159098 2 10.45120693
1
50.25646328 2 11.30345826
.ft P
.fi
.UNINDENT
.UNINDENT
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "QP_EDIT" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "QP_EDIT" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
qp_edit \- | Quantum Package >
.
@ -31,11 +31,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.sp
This command reads the content of the \fI\%EZFIO\fP directory and creates a temporary
file containing the data. The data is presented as a \fIReStructured Text\fP (rst)
document, where each section corresponds to the corresponding \fIQuantum Package\fP module. The
content of the file can be modified to change the input parameters. When the
text editor is closed, the updated data is saved into the \fI\%EZFIO\fP directory.
This command reads the content of the \fI\%EZFIO\fP directory and creates
a temporary file containing the data. The data is presented as a
\fIReStructured Text\fP (rst) document, where each section corresponds to
the corresponding \fIQuantum Package\fP module. The content of the file can be modified
to change the input parameters. When the text editor is closed, the
updated data is saved into the \fI\%EZFIO\fP directory.
.sp
\fBNOTE:\fP
.INDENT 0.0
@ -53,6 +54,25 @@ When the wave function is too large (more than 10 000 determinants), the
determinants are not displayed.
.UNINDENT
.UNINDENT
.sp
\fBNOTE:\fP
.INDENT 0.0
.INDENT 3.5
On some machines the terminal will be stuck in inverted colors after using
qp_edit. To Avoid this problem, put in your \fB$HOME/.vimrc\fP:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
set t_ti=
set t_te=
.ft P
.fi
.UNINDENT
.UNINDENT
.UNINDENT
.UNINDENT
.SH USAGE
.INDENT 0.0
.INDENT 3.5
@ -97,11 +117,11 @@ qp_edit \-\-state="[1,3\-5]" test.ezfio
.UNINDENT
.UNINDENT
.sp
Removes all states except states 1,3,4 and 5 from \fBtest.ezfio\fP\&. The
resulting \fI\%EZFIO\fP directory has 4 states.
Removes all states except states 1,3,4 and 5 from \fBtest.ezfio\fP\&.
The resulting \fI\%EZFIO\fP directory has 4 states.
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "QP_EXPORT_AS_TGZ" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "QP_EXPORT_AS_TGZ" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
qp_export_as_tgz \- | Quantum Package >
.
@ -31,13 +31,13 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.sp
In some HPC facilities, the access to the internet is limited for security
reasons. In such an environment, the installation of \fIQuantum Package\fP is sometimes very
painful because the OCaml compiler and the libraries cant be installed by a
non\-root user.
In some HPC facilities, the access to the internet is limited for
security reasons. In such an environment, the installation of \fIQuantum Package\fP is
sometimes very painful because the OCaml compiler and the libraries
cant be installed by a non\-root user.
.sp
This command creates a self\-contained binary distribution in the form of a
\fItar.gz\fP file that can be copied on another machine.
This command creates a self\-contained binary distribution in the form of
a \fItar.gz\fP file that can be copied on another machine.
.SH USAGE
.INDENT 0.0
.INDENT 3.5
@ -65,6 +65,6 @@ compiled should be the oldest one.
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "QP_PLUGINS" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "QP_PLUGINS" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
qp_plugins \- | Quantum Package >
.
@ -31,9 +31,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.sp
This command deals with all external plugins of \fIQuantum Package\fP\&. Plugin repositories can
be downloaded, and the plugins in these repositories can be
installed/uninstalled or created.
This command deals with all external plugins of \fIQuantum Package\fP\&. Plugin
repositories can be downloaded, and the plugins in these repositories
can be installed/uninstalled or created.
.SH USAGE
.INDENT 0.0
.INDENT 3.5
@ -106,8 +106,8 @@ Specify in which repository the new plugin will be created.
Let us download, install and compile some specific external plugins from
\fI\%https://gitlab.com/eginer/qp_plugins_eginer\fP .
.sp
First, download the git repo associated to these plugins. To do so, first go
to the \fIplugins\fP directory in the \fIQuantum Package\fP and execute:
First, download the git repo associated to these plugins. To do so,
first go to the \fIplugins\fP directory in the \fIQuantum Package\fP and execute:
.INDENT 0.0
.INDENT 3.5
.sp
@ -119,8 +119,9 @@ qp_plugins download https://gitlab.com/eginer/qp_plugins_eginer
.UNINDENT
.UNINDENT
.sp
This will create in the directory \fIplugins\fP a local copy of the git repo
located at the URL you indicated. Then, go in \fIqp_plugins_eginer/stable/\fP
This will create in the directory \fIplugins\fP a local copy of
the git repo located at the URL you indicated. Then, go in
\fIqp_plugins_eginer/stable/\fP
.INDENT 0.0
.INDENT 3.5
.sp
@ -132,10 +133,10 @@ cd qp_plugins_eginer/stable/
.UNINDENT
.UNINDENT
.sp
In the directory \fIstable\fP, there are many directories which all correspond to a
specific plugin that have been developed by the person in charge of the git
repo. All these plugins might use some global variables and routines contained
in the core modules of the \fIQuantum Package\fP\&.
In the directory \fIstable\fP, there are many directories which all
correspond to a specific plugin that have been developed by the person
in charge of the repository. All these plugins might use some global
variables and routines contained in the core modules of the \fIQuantum Package\fP\&.
.sp
Now let us install the plugin \fIrsdft_cipsi\fP:
.INDENT 0.0
@ -149,13 +150,13 @@ qp_plugins install rsdft_cipsi
.UNINDENT
.UNINDENT
.sp
This will link this directory to the \fIQuantum Package\fP which means that when the code will
be compiled, this plugin will be compiled to and therefore all the
executables/scripts/input keywords contained in this module will be available
as if there were part of the core of the \fIQuantum Package\fP\&.
This will link this directory to the \fIQuantum Package\fP which means that when the code
will be compiled, this plugin will be compiled to and therefore all the
executables/scripts/input keywords contained in this module will be
available as if there were part of the core of the \fIQuantum Package\fP\&.
.sp
Then, to compile the new plugin, just recompile the \fIQuantum Package\fP as usual by going at
the root of the \fIQuantum Package\fP directory:
Then, to compile the new plugin, just recompile the \fIQuantum Package\fP as usual by
going at the root of the \fIQuantum Package\fP directory:
.INDENT 0.0
.INDENT 3.5
.sp
@ -168,12 +169,12 @@ ninja
.UNINDENT
.UNINDENT
.sp
Finally, if you go back to the plugin directory you just installed, you should see
all the executables/scripts which have been created and which are now available
with the \fIqp_run\fP command.
Finally, if you go back to the plugin directory you just installed, you
should see all the executables/scripts which have been created and which
are now available with the \fIqp_run\fP command.
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "QP_RUN" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "QP_RUN" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
qp_run \- | Quantum Package >
.
@ -32,6 +32,26 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
..
.sp
Command used to run a calculation.
.sp
If the \fBUSR1\fP signal is sent to \fI\%qp_run\fP, the application will
call qp_stop to request a clean termination. In a SLURM script,
you can ask SLURM to send the \fBUSR1\fP signal 120 seconds before end of
the time limit with
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
#SBATCH \-\-signal=B:USR1@120
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
There is a directory named \fBwork\fP in the \fI\%EZFIO\fP\&. This directory
will contain work files which can be large, so it is recommended to
work in the scratch directory. To archive the \fI\%EZFIO\fP directory, it is
recommended to remove the \fBwork\fP directory.
.SH USAGE
.INDENT 0.0
.INDENT 3.5
@ -44,8 +64,8 @@ qp_run [\-h] [\-p <string>] [\-s] [\-\-] PROGRAM EZFIO_DIR
.UNINDENT
.UNINDENT
.sp
\fBPROGRAM\fP is the name of the \fIQuantum Package\fP program to be run, and \fBEZFIO_DIR\fP is
the name of the \fI\%EZFIO\fP directory containing the data.
\fBPROGRAM\fP is the name of the \fIQuantum Package\fP program to be run, and \fBEZFIO_DIR\fP
is the name of the \fI\%EZFIO\fP directory containing the data.
.INDENT 0.0
.TP
.B \-h, \-\-help
@ -54,14 +74,14 @@ Displays the list of available \fIQuantum Package\fP programs.
.INDENT 0.0
.TP
.B \-p <string>, \-\-prefix=<string>
Prefix before running the program. This option is used to run programs like
like gdb or valgrind.
Prefix before running the program. This option is used to run
programs like like gdb or valgrind.
.UNINDENT
.INDENT 0.0
.TP
.B \-s, \-\-slave
This option needs to be set to run a slave job for \fBPROGRAM\fP, to accelerate
another running instance of the \fIQuantum Package\fP\&.
This option needs to be set to run a slave job for \fBPROGRAM\fP, to
accelerate another running instance of the \fIQuantum Package\fP\&.
.UNINDENT
.SH EXAMPLE
.INDENT 0.0
@ -79,6 +99,6 @@ wait
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "QP_SET_FROZEN_CORE" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "QP_SET_FROZEN_CORE" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
qp_set_frozen_core \- | Quantum Package >
.
@ -31,15 +31,15 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.sp
Automatically finds n, the number of core electrons. Calls
qp_set_mo_class setting all MOs as \fBActive\fP, except the n/2
first ones which are set as \fBCore\fP\&. If pseudo\-potentials are used, all the
MOs are set as \fBActive\fP\&.
Automatically finds \fIn\fP, the number of core electrons. Calls
qp_set_mo_class setting all MOs as \fBActive\fP, except the
n/2 first ones which are set as \fBCore\fP\&. If pseudo\-potentials
are used, all the MOs are set as \fBActive\fP\&.
.sp
For elements on the right of the periodic table, \fIqp_set_frozen_core\fP will
work as expected. But for elements on the left, a small core will be chosen. For
example, a Carbon atom will have 2 core electrons, but a Lithium atom will have
zero.
For elements on the right of the periodic table, \fIqp_set_frozen_core\fP
will work as expected. But for elements on the left, a small core will
be chosen. For example, a Carbon atom will have 2 core electrons, but a
Lithium atom will have zero.
.SH USAGE
.INDENT 0.0
.INDENT 3.5
@ -59,6 +59,6 @@ Prints in the standard output the number of core electrons.
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "QP_SET_MO_CLASS" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "QP_SET_MO_CLASS" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
qp_set_mo_class \- | Quantum Package >
.
@ -106,6 +106,6 @@ Range of virtual orbitals
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

65
man/qp_stop.1 Normal file
View File

@ -0,0 +1,65 @@
.\" Man page generated from reStructuredText.
.
.TH "QP_STOP" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
qp_stop \- | Quantum Package >
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.sp
Requests for a clean termination of the program.
.sp
This will have the effect to exit the Davidson diagonalization, the
SCF procedure or the determinant selection to save the current wave
function and exit the program.
.SH USAGE
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
qp_stop [\-chq] EZFIO_DIR
.ft P
.fi
.UNINDENT
.UNINDENT
.INDENT 0.0
.TP
.B \-c, \-\-cancel
Cancel the qp_stop order.
.UNINDENT
.INDENT 0.0
.TP
.B \-q, \-\-query
Ask if \fBEZFIO_DIR\fP was requested to stop.
.UNINDENT
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "QP_UPDATE" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "QP_UPDATE" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
qp_update \- | Quantum Package >
.
@ -46,6 +46,6 @@ qp_update [\-h]
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "QPSH" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "QPSH" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
qpsh \- | Quantum Package >
.
@ -31,14 +31,14 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.sp
\fBqpsh\fP is the \fIQuantum Package\fP shell. It is a Bash shell with all
the required evironment variables loaded, a modified prompt, and the
\fBqpsh\fP is the \fIQuantum Package\fP shell. It is a Bash shell with all the
required evironment variables loaded, a modified prompt, and the
\fI\%qp\fP command.
.SH QP
.sp
This command is a hub to the most used command within \fIQuantum Package\fP\&.
The power of the \fI\%qpsh\fP shell is the auto\-completion that comes
when the \fB<Tab>\fP key is pressed with the \fI\%qp\fP command.
This command is a hub to the most used command within \fIQuantum Package\fP\&. The power
of the \fI\%qpsh\fP shell is the auto\-completion that comes when the
\fB<Tab>\fP key is pressed with the \fI\%qp\fP command.
.SS EZFIO access
.INDENT 0.0
.TP
@ -156,6 +156,11 @@ qp (run|srun|mpirun) [options] <program>
Runs qp_run, qp_srun, or qp_mpirun using the current
\fI\%EZFIO\fP directory.
.UNINDENT
.INDENT 0.0
.TP
.B stop
\fBqp stop\fP : runs qp_stop
.UNINDENT
.SS Getting help
.INDENT 0.0
.TP
@ -218,6 +223,6 @@ The \fBqp_\fP commands can be run without specifying the \fI\%EZFIO\fP directory
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "RS_KS_SCF" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "RS_KS_SCF" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
rs_ks_scf \- | Quantum Package >
.
@ -32,8 +32,6 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
..
.INDENT 0.0
.INDENT 3.5
File : \fBrs_ks_scf.irp.f\fP
.sp
Produce \fIRange_separated_Kohn_Sham\fP MO orbital
output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ
output: kohn_sham.energy
@ -113,6 +111,6 @@ Touches:
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "SAVE_NATORB" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "SAVE_NATORB" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
save_natorb \- | Quantum Package >
.
@ -32,49 +32,61 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
..
.INDENT 0.0
.INDENT 3.5
File : \fBmolden.irp.f\fP
.INDENT 0.0
.INDENT 3.5
Save natural MOs into the EZFIO
.sp
.nf
.ft C
subroutine write_Mo_basis(i_unit_output)
.ft P
.fi
.UNINDENT
.UNINDENT
This program reads the wave function stored in the EZFIO folder,
.sp
extracts the corresponding natural orbitals and set them as the new MOs
.sp
If this is a multi\-state calculation, the density matrix that produces the natural orbitals
.sp
is obtained from a state\-averaged of the density matrices of each state with the corresponding state_average_weight (see the doc of state_average_weight).
.sp
Needs:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBmo_num\fP
.IP \(bu 2
\fBmo_coef\fP
.IP \(bu 2
\fBao_num\fP
\fBread_wf\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBao_l_char_space\fP
.IP \(bu 2
\fBnucl_charge\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBao_nucl\fP
.IP \(bu 2
\fBelement_name\fP
.UNINDENT
.UNINDENT
.sp
Called by:
Calls:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBmolden()\fP
\fBezfio_set_mo_one_e_ints_io_mo_integrals_e_n()\fP
.IP \(bu 2
\fBezfio_set_mo_one_e_ints_io_mo_integrals_kinetic()\fP
.IP \(bu 2
\fBezfio_set_mo_one_e_ints_io_mo_integrals_pseudo()\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBezfio_set_mo_one_e_ints_io_mo_one_e_integrals()\fP
.IP \(bu 2
\fBezfio_set_mo_two_e_ints_io_mo_two_e_integrals()\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBsave_natural_mos()\fP
.IP \(bu 2
\fBsave_ref_determinant()\fP
.UNINDENT
.UNINDENT
.sp
Touches:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBmo_occ\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBread_wf\fP
.UNINDENT
.INDENT 2.0
.UNINDENT
@ -84,6 +96,6 @@ Called by:
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "SAVE_ONE_E_DM" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "SAVE_ONE_E_DM" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
save_one_e_dm \- | Quantum Package >
.
@ -32,47 +32,42 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
..
.INDENT 0.0
.INDENT 3.5
File : \fBmolden.irp.f\fP
.INDENT 0.0
.INDENT 3.5
programs that computes the one body density on the mo basis for alpha and beta electrons
from the wave function stored in the EZFIO folder, and then save it into the EZFIO folder aux_quantities.
.sp
.nf
.ft C
subroutine write_Mo_basis(i_unit_output)
.ft P
.fi
.UNINDENT
.UNINDENT
Then, the global variable data_one_e_dm_alpha_mo and data_one_e_dm_beta_mo will automatically read this density in a further calculation.
.sp
This can be used to perform damping on the density in RS\-DFT calculation (see the density_for_dft module).
.sp
Needs:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBmo_num\fP
.IP \(bu 2
\fBmo_coef\fP
.IP \(bu 2
\fBao_num\fP
\fBread_wf\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBao_l_char_space\fP
.IP \(bu 2
\fBnucl_charge\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBao_nucl\fP
.IP \(bu 2
\fBelement_name\fP
.UNINDENT
.UNINDENT
.sp
Called by:
Calls:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBmolden()\fP
\fBroutine_save_one_e_dm()\fP
.UNINDENT
.INDENT 2.0
.UNINDENT
.INDENT 2.0
.UNINDENT
.UNINDENT
.sp
Touches:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBread_wf\fP
.UNINDENT
.INDENT 2.0
.UNINDENT
@ -84,6 +79,6 @@ Called by:
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "SAVE_ORTHO_MOS" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "SAVE_ORTHO_MOS" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
save_ortho_mos \- | Quantum Package >
.
@ -32,49 +32,37 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
..
.INDENT 0.0
.INDENT 3.5
File : \fBmolden.irp.f\fP
.INDENT 0.0
.INDENT 3.5
Save orthonormalized MOs in the EZFIO.
.sp
.nf
.ft C
subroutine write_Mo_basis(i_unit_output)
.ft P
.fi
.UNINDENT
.UNINDENT
This program reads the current MOs, computes the corresponding overlap matrix in the MO basis
.sp
Needs:
and perform a Lowdin orthonormalization : MO_{new} = S^{\-1/2} MO_{guess}\&.
.sp
Thanks to the Lowdin orthonormalization, the new MOs are the most similar to the guess MOs.
.sp
Calls:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBmo_num\fP
\fBorthonormalize_mos()\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBsave_mos()\fP
.UNINDENT
.INDENT 2.0
.UNINDENT
.UNINDENT
.sp
Touches:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBmo_coef\fP
.IP \(bu 2
\fBao_num\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBao_l_char_space\fP
.IP \(bu 2
\fBnucl_charge\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBao_nucl\fP
.IP \(bu 2
\fBelement_name\fP
.UNINDENT
.UNINDENT
.sp
Called by:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBmolden()\fP
.UNINDENT
.INDENT 2.0
\fBmo_label\fP
.UNINDENT
.INDENT 2.0
.UNINDENT
@ -84,6 +72,6 @@ Called by:
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "SCF" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "SCF" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
scf \- | Quantum Package >
.
@ -32,15 +32,37 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
..
.INDENT 0.0
.INDENT 3.5
File : \fBhartree_fock/scf.irp.f\fP
The \fI\%scf\fP program performs \fIRestricted\fP Hartree\-Fock
calculations (the spatial part of the MOs is common for alpha and beta
spinorbitals).
.sp
Produce \fIHartree_Fock\fP MOs
It performs the following actions:
.INDENT 0.0
.IP 1. 3
Compute/Read all the one\- and two\-electron integrals, and store them
in memory
.IP 2. 3
Check in the \fI\%EZFIO\fP database if there is a set of MOs\&.
If there is, it will read them as initial guess. Otherwise, it will
create a guess.
.IP 3. 3
Perform the SCF iterations
.UNINDENT
.sp
output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ
For the keywords related to the SCF procedure, see the \fBscf_utils\fP
directory where you will find all options.
.sp
output: hartree_fock.energy
At each iteration, the MOs are saved in the \fI\%EZFIO\fP database. Hence,
if the calculation crashes for any unexpected reason, the calculation
can be restarted by running again the SCF with the same \fI\%EZFIO\fP
database.
.sp
optional: mo_basis.mo_coef
To start again a fresh SCF calculation, the MOs can be reset by
running the qp_reset command.
.sp
The \fI\%DIIS\fP algorithm is implemented, as well as the \fI\%level\-shifting\fP
method. If the SCF does not converge, try again with a higher value of
\fBlevel_shift\fP\&.
.sp
Calls:
.INDENT 0.0
@ -88,6 +110,6 @@ Touches:
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "WRITE_INTEGRALS_ERF" "1" "Jan 17, 2019" "2.0" "Quantum Package"
.TH "WRITE_INTEGRALS_ERF" "1" "Jan 25, 2019" "2.0" "Quantum Package"
.SH NAME
write_integrals_erf \- | Quantum Package >
.
@ -32,58 +32,52 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
..
.INDENT 0.0
.INDENT 3.5
File : \fBmolden.irp.f\fP
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
subroutine write_Mo_basis(i_unit_output)
.ft P
.fi
.UNINDENT
.UNINDENT
Saves the two\-electron integrals with the erf(\emu r_{12})/r_{12} oprerator into the EZFIO folder
.sp
Needs:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBmo_num\fP
.IP \(bu 2
\fBmo_coef\fP
.IP \(bu 2
\fBao_num\fP
\fBio_mo_two_e_integrals\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBao_l_char_space\fP
.IP \(bu 2
\fBnucl_charge\fP
\fBio_ao_two_e_integrals\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBao_nucl\fP
.IP \(bu 2
\fBelement_name\fP
.UNINDENT
.UNINDENT
.sp
Called by:
Calls:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBmolden()\fP
\fBroutine()\fP
.UNINDENT
.INDENT 2.0
.UNINDENT
.INDENT 2.0
.UNINDENT
.UNINDENT
.sp
Touches:
.INDENT 0.0
.INDENT 2.0
.IP \(bu 2
\fBio_ao_two_e_integrals\fP
.UNINDENT
.INDENT 2.0
.IP \(bu 2
\fBio_mo_two_e_integrals\fP
.UNINDENT
.INDENT 2.0
.UNINDENT
.UNINDENT
.UNINDENT
.UNINDENT
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT
2018, A. Scemama, E. Giner
2019, A. Scemama, E. Giner
.\" Generated by docutils manpage writer.
.

View File

@ -233,7 +233,7 @@ if __name__ == '__main__':
l_dir = ['IRPF90_temp', 'IRPF90_man']
l_file = ["irpf90_entities", "tags", "irpf90.make", "Makefile",
"Makefile.depend", ".ninja_log", ".ninja_deps", "build.ninja",
"Makefile.depend", ".ninja_log", ".ninja_deps",
"ezfio_interface.irp.f"]
for module in l_module:

View File

@ -1,33 +0,0 @@
program print_bitmasks
call routine
end
subroutine routine
implicit none
integer :: i
do i = 1, mo_num
print*,i ,'',mo_class(i)
enddo
print*, 'core'
do i = 1, n_core_orb
print*, list_core(i)
enddo
call debug_det(core_bitmask, N_int)
print*, 'inact'
do i = 1, n_inact_orb
print*, list_inact(i)
enddo
call debug_det(inact_bitmask, N_int)
print*, 'act'
do i = 1, n_act_orb
print*, list_act(i)
enddo
call debug_det(act_bitmask, N_int)
print*, 'virt'
do i = 1, n_virt_orb
print*, list_virt(i)
enddo
call debug_det(virt_bitmask, N_int)
end