READ_PARAM module for atomic system and polyatomic molecular system written by Son, Sang-Kil in Jan. 2005, Jun. 2005 re-written by Son, Sang-Kil in Oct. 2007 for polyatomic molecules re-written by Son, Sang-Kil and Hao, Yajiang in Mar. 2014 for xmolecule adapated by Ludger Inhester USAGE: type(Param) :: P call read_parameters( P ) call print_parameters( P, "your title" )
SUBROUTINES: - SR read_parameters( P, calc_string ): read all parameters - SR read_[]_param( P, ARG ) []: molecule, grid, XFEL, DFT, MC, process, plasma, and misc - SR print_parameters( P, title ): print out all relevant parameters - SR print_[]_param( P ) []: molecule, grid, XFEL, DFT, MC, process, plasma, and misc - SR dump_parameters( P ): print all parameters as they are
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(c_ptr), | public, | bind(c, name="0") | :: | version_str_ptr | |||
type(c_ptr), | public, | bind(c, name="0") | :: | build_time_str_ptr | |||
character(len=10), | public, | parameter | :: | functional_x_name(7) | = | (/"LSDA ", "LDA ", "Xa ", "LB ", "LBa ", "B ", "Slater"/) | |
character(len=10), | public, | parameter | :: | functional_c_name(5) | = | (/"none", "CA ", "VWN ", "PW ", "LYP "/) |
index of MOs for which we average occupation number
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public, | allocatable | :: | mo(:) |
general active space specifications orbitals and occupation number limits
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public, | allocatable | :: | orbitals(:) | |||
integer, | public | :: | nmin | ||||
integer, | public | :: | nmax |
Param: all parameters to be used in main program
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | calc_type |
Calculation type ------------------------------------------------------- - 0 : static (electronic structure) - 1 : ionization dynamics simulated by direct rate equaiton (REQ) solver - 2 : ionization dynamics simulated by Monte Carlo on the fly (MC_FLY) - 3 : ionization and molecular dynamcis by Monte Carlo on the fly |
|||
character(len=80), | public | :: | system_name |
name of the system |
|||
integer, | public | :: | n_nuc |
num. of nuclei |
|||
integer, | public | :: | charge |
total charge of molecule |
|||
integer, | public | :: | n_elec |
num. of electrons |
|||
integer, | public | :: | n_a |
num. of alpha and beta electrons |
|||
integer, | public | :: | n_b |
num. of alpha and beta electrons |
|||
integer, | public | :: | n_orb |
num. of orbitals (or subshells) |
|||
real(kind=long), | public, | allocatable | :: | x_nuc(:) |
position and mass of the nuclei |
||
real(kind=long), | public, | allocatable | :: | y_nuc(:) |
position and mass of the nuclei |
||
real(kind=long), | public, | allocatable | :: | z_nuc(:) |
position and mass of the nuclei |
||
real(kind=long), | public, | allocatable | :: | mass_nuc(:) |
position and mass of the nuclei |
||
integer, | public, | allocatable | :: | charge_nuc(:) |
integer charge of the nuclei |
||
real(kind=long), | public, | allocatable | :: | fcharge_nuc(:) |
fractional charge of the nuclei, spatial width (stddev) of the nuclei charge |
||
real(kind=long), | public, | allocatable | :: | sigma_nuc(:) |
fractional charge of the nuclei, spatial width (stddev) of the nuclei charge |
||
real(kind=long), | public | :: | e_nuc |
nucleus-nucleus repulsion energy |
|||
integer, | public, | allocatable | :: | n_occ(:) |
num. of occupation in [1...N_orb] |
||
real(kind=long), | public, | allocatable | :: | f_occ(:) |
num. of occupation (fractional) in [1...N_orb] |
||
real(kind=long), | public, | allocatable | :: | f_occ_a(:) |
num. of alpha occupation in [1...N_orb] |
||
real(kind=long), | public, | allocatable | :: | f_occ_b(:) |
num. of beta occupation in [1...N_orb] |
||
character(len=80), | public, | allocatable | :: | nao_name(:) |
the basis name printed out |
||
character(len=5), | public, | allocatable | :: | nuc_name(:) |
the name of the atom as specified in the input file |
||
character(len=512), | public, | allocatable | :: | nao_file_nuc(:) |
filename, (1:N_nuc) |
||
integer, | public, | allocatable | :: | n_nao_table(:,:) |
(0:lmax,1:N_nuc) |
||
integer, | public | :: | n_basis |
total num. of basis func. |
|||
integer, | public | :: | n_grid |
total number of molecular grids |
|||
integer, | public | :: | n |
number of radial grid points, number of max. angular moment defining the angular grid points |
|||
integer, | public | :: | lmax |
number of radial grid points, number of max. angular moment defining the angular grid points |
|||
real(kind=long), | public | :: | l | ||||
real(kind=long), | public | :: | rmax | ||||
integer, | public, | allocatable | :: | n_ag(:) |
(1:N_nuc) |
||
integer, | public, | allocatable | :: | lmax_ag(:) |
(1:N_nuc) |
||
real(kind=long), | public, | allocatable | :: | l_ag(:) |
(1:N_nuc) |
||
real(kind=long), | public, | allocatable | :: | rmax_ag(:) |
(1:N_nuc) |
||
integer, | public | :: | n_gg | ||||
integer, | public | :: | lmax_gg | ||||
real(kind=long), | public | :: | l_gg | ||||
real(kind=long), | public | :: | rmax_gg | ||||
real(kind=long), | public | :: | dx_gg | ||||
character(len=20), | public | :: | type_radial | ||||
character(len=20), | public | :: | type_radial_gg | ||||
character(len=20), | public | :: | type_angular | ||||
character(len=20), | public | :: | type_angular_gg | ||||
logical, | public | :: | yes_overlap | ||||
logical, | public | :: | yes_squeeze | ||||
logical, | public | :: | yes_global | ||||
logical, | public | :: | yes_atomic | ||||
logical, | public | :: | yes_cartesian | ||||
integer, | public | :: | n_theta_scattering |
Num of zenith & azimuth pts used to discretize the scattered particle momentum |
|||
integer, | public | :: | n_phi_scattering |
Num of zenith & azimuth pts used to discretize the scattered particle momentum |
|||
integer, | public | :: | x_type |
exchange and correlation functional names |
|||
integer, | public | :: | c_type |
exchange and correlation functional names |
|||
real(kind=long), | public | :: | alpha |
parameters for the particular functional |
|||
real(kind=long), | public | :: | beta |
parameters for the particular functional |
|||
logical, | public | :: | yes_oep_kli |
turn on or off the OEP-KLI procedure |
|||
logical, | public | :: | yes_latter |
turn on or off the Latter tail correction |
|||
integer, | public | :: | scf_max_iter |
the maximum iteration of SCF |
|||
real(kind=long), | public | :: | mcscf_gradient_conv |
the convergence of SCF with E diff |
|||
real(kind=long), | public | :: | scf_energy_conv |
the convergence of SCF with E diff |
|||
real(kind=long), | public | :: | scf_density_conv |
the conv. of SCF with density diff |
|||
real(kind=long), | public | :: | scf_mixing |
mixing ratio of old and new pot. |
|||
logical, | public | :: | yes_load_pot |
load the potential from file |
|||
integer, | public | :: | lmax_mp |
lmax for multipole expansion in direct Coulomb term |
|||
real(kind=long), | public | :: | scf_sr_den_conv |
the conv. of density before DIIS |
|||
real(kind=long), | public | :: | scf_sr_pot_conv |
the conv. of eff. pot. before DIIS |
|||
logical, | public | :: | yes_diis |
turn on DIIS |
|||
logical, | public | :: | yes_cphfdiis |
turn on/off CPHFDIIS |
|||
integer, | public | :: | diis_nvector |
num. of stored vector in DIIS |
|||
logical, | public | :: | yes_chk_fid_ini |
conserve the Ini. MO symmetry of during SCF |
|||
logical, | public | :: | yes_population |
Mulliken atomic population analysis |
|||
logical, | public | :: | yes_population_l |
population analysis resolved for L basis functions=S,P,D |
|||
logical, | public | :: | yes_stability |
stability analysis |
|||
logical, | public | :: | yes_levelshift |
turn on LevelShifting |
|||
logical, | public | :: | yes_levelshiftdynamic |
turn on Dynamic LevelShifting |
|||
real(kind=long), | public | :: | lshift |
level shift |
|||
real(kind=long), | public | :: | switchtodiiscriterion(2) |
28.07.2015 : (2):density deviation threshold is added |
|||
integer, | public | :: | switchtodiisiter | ||||
real(kind=long), | public | :: | switchtorstrctcriterion | ||||
real(kind=long), | public | :: | switchlevelshiftoffcriterion | ||||
logical, | public | :: | yes_rstrct | ||||
logical, | public | :: | yes_mom | ||||
integer, | public | :: | momtype | ||||
integer, | public, | allocatable | :: | freeze(:) | |||
integer, | public, | allocatable | :: | localize(:) | |||
integer, | public, | allocatable | :: | final_hole(:) | |||
integer, | public, | allocatable | :: | cis_hole(:) | |||
integer, | public, | allocatable | :: | fix_nuc_mo(:) | |||
integer, | public, | allocatable | :: | fix_nuc_n(:) | |||
type(average_occ), | public, | allocatable | :: | av_occ(:) | |||
type(gas), | public, | allocatable | :: | gas(:) | |||
type(gas), | public, | allocatable | :: | auger_gas(:) | |||
type(gas), | public, | allocatable | :: | ras(:) | |||
integer, | public, | allocatable | :: | active_space_mo(:) | |||
integer, | public, | allocatable | :: | final_active_space_mo(:) | |||
logical, | public | :: | yes_auto_average | ||||
logical, | public | :: | yes_average_rates | ||||
logical, | public | :: | yes_average_csf_rates | ||||
logical, | public | :: | yes_all_occs | ||||
logical, | public | :: | yes_all_multps | ||||
logical, | public | :: | yes_sym | ||||
logical, | public | :: | yes_nat_orb | ||||
integer, | public, | allocatable | :: | nat_trans_orb(:) | |||
integer, | public | :: | state_irrep | ||||
integer, | public, | allocatable | :: | irrep_mo(:) | |||
real(kind=long), | public | :: | eps_overlap | ||||
real(kind=long), | public | :: | eps_overlap_single | ||||
real(kind=long), | public | :: | eps_00 | ||||
real(kind=long), | public | :: | eps_lm | ||||
real(kind=long), | public | :: | eps_r | ||||
real(kind=long), | public | :: | r_cutoff | ||||
logical, | public | :: | yes_cutoff | ||||
real(kind=long), | public | :: | eps_auger | ||||
real(kind=long), | public | :: | eps_teint | ||||
real(kind=long), | public | :: | r_softcore | ||||
logical, | public | :: | yes_overlap_twocenter | ||||
real(kind=long), | public | :: | basissetoverlaplim | ||||
logical, | public | :: | yes_hf | ||||
logical, | public | :: | yes_mcscf | ||||
logical, | public | :: | yes_cis | ||||
logical, | public | :: | yes_ci | ||||
integer, | public | :: | mcscf_type | ||||
integer, | public | :: | multp | ||||
integer, | public | :: | state | ||||
integer, | public | :: | nstates | ||||
real(kind=long), | public, | allocatable | :: | sa_weights(:) | |||
logical, | public | :: | yes_state_average | ||||
real(kind=long), | public, | allocatable | :: | ci_coef(:) | |||
logical, | public | :: | yes_openshell | ||||
integer, | public | :: | rohf_variant | ||||
logical, | public | :: | yes_unrestricted | ||||
real(kind=long), | public | :: | t_ev | ||||
logical, | public | :: | yes_thermal | ||||
logical, | public | :: | yes_broadening | ||||
logical, | public | :: | yes_direct_scf | ||||
logical, | public | :: | yes_valgs_occ | ||||
logical, | public | :: | yes_valgs_occ_part | ||||
integer, | public | :: | ncore | ||||
logical, | public | :: | yes_ddiff | ||||
integer, | public | :: | n_ddiff_save | ||||
logical, | public | :: | yes_gradient | ||||
logical, | public | :: | yes_orbital_energy_gradient | ||||
logical, | public | :: | fix_geom | ||||
logical, | public | :: | yes_atomic_potential | ||||
logical, | public | :: | yes_periodic | ||||
real(kind=long), | public | :: | unitcell_x | ||||
real(kind=long), | public | :: | unitcell_y | ||||
real(kind=long), | public | :: | unitcell_z | ||||
logical, | public | :: | yes_periodic_fuzzy | ||||
integer, | public | :: | n_tr_max | ||||
logical, | public | :: | yes_test_fallback | ||||
logical, | public | :: | yes_freezebadoverlap | ||||
logical, | public | :: | yes_ionization_dynamics | ||||
logical, | public | :: | yes_shakeup | ||||
logical, | public | :: | yes_fluorescence | ||||
logical, | public | :: | yes_auger | ||||
logical, | public | :: | yes_process_spin | ||||
logical, | public | :: | yes_process_cont | ||||
logical, | public | :: | yes_process_ci | ||||
logical, | public | :: | yes_process_cis | ||||
logical, | public | :: | yes_process_cis_ini | ||||
logical, | public | :: | yes_process_cisd | ||||
logical, | public | :: | yes_process_ci_relaxed | ||||
integer, | public | :: | process_ci_relaxed_variant | ||||
integer, | public | :: | cis_limit(2) | = | (/-1, -1/) | ||
real(kind=long), | public | :: | cis_e_limit | = | -huge(1) | ||
character(len=512), | public | :: | process_relaxed_wf_filename | ||||
logical, | public | :: | yes_auger_random | ||||
logical, | public | :: | yes_auger_random_2 | ||||
logical, | public | :: | yes_pcs | ||||
logical, | public | :: | yes_absorption | ||||
logical, | public | :: | yes_tpcs | ||||
logical, | public | :: | yes_spectra | ||||
logical, | public | :: | yes_dispersion | ||||
logical, | public | :: | yes_compton | ||||
logical, | public | :: | yes_wh_elec_scattering | ||||
logical, | public | :: | yes_elec_scattering | ||||
logical, | public | :: | yes_scattering | ||||
integer, | public | :: | n_proc_max | ||||
logical, | public | :: | yes_qmmm | ||||
logical, | public | :: | yes_screening | ||||
integer, | public | :: | pulse_type | ||||
integer, | public | :: | n_time | ||||
real(kind=long), | public | :: | pe | ||||
real(kind=long), | public | :: | fwhm | ||||
real(kind=long), | public | :: | pulse_duration | ||||
real(kind=long), | public | :: | pulse_multiple | ||||
real(kind=long), | public | :: | dt_au | ||||
real(kind=long), | public | :: | t_start_au | ||||
real(kind=long), | public | :: | t_end_au | ||||
real(kind=long), | public | :: | t_pulse_offset | ||||
real(kind=long), | public | :: | n_photons | ||||
real(kind=long), | public | :: | width | ||||
real(kind=long), | public | :: | fluence | ||||
real(kind=long), | public | :: | direction(3) | ||||
real(kind=long), | public | :: | pol_axis(3) | ||||
integer, | public | :: | n_mc_max | = | -1 | ||
real(kind=long), | public | :: | mc_conv | ||||
integer, | public | :: | mc_max_events | ||||
integer, | public | :: | mc_step | ||||
real(kind=long), | public | :: | mc_dt_ratio | ||||
logical, | public | :: | yes_pathway | ||||
integer, | public | :: | n_pathway | ||||
real(kind=long), | public | :: | mc_ratesum_cutoff | ||||
logical, | public | :: | yes_reuse_previousresults | ||||
integer, | public | :: | mc_filetablesizemax | ||||
integer, | public | :: | mc_nfilesavemax | ||||
integer, | public | :: | mc_nvisitthreshold | ||||
integer, | public | :: | mc_nprocesstobesaved | ||||
integer, | public | :: | mc_dumpoutput | ||||
real(kind=long), | public | :: | mc_maxnfaultratio | ||||
logical, | public | :: | yes_adapt_for_all_ao | ||||
integer, | public | :: | mc_nstepupl_cache | ||||
integer, | public, | allocatable | :: | mc_seeds(:) | |||
character(len=512), | public | :: | wffilename | ||||
character(len=512), | public | :: | wfafilename | ||||
character(len=512), | public | :: | wfbfilename | ||||
character(len=512), | public | :: | basisfilename | ||||
character(len=512), | public | :: | ref_wf | ||||
character(len=512), | public | :: | ref_basis | ||||
integer, | public | :: | scf_n_iter_large | ||||
integer, | public | :: | output | = | stdout | ||
integer, | public | :: | output2 | = | stdout | ||
logical, | public | :: | yes_verbose | ||||
integer, | public | :: | print_level | ||||
integer, | public | :: | nmo_print | ||||
logical, | public | :: | yes_test_only | ||||
logical, | public | :: | yes_gaussian | ||||
logical, | public | :: | yes_print_wf | ||||
logical, | public | :: | yes_readini | ||||
logical, | public | :: | yes_saveini | ||||
logical, | public | :: | yes_readshell | ||||
logical, | public | :: | yes_coreini | ||||
logical, | public | :: | yes_plot_potential | ||||
logical, | public | :: | yes_plot_density | ||||
character(len=512), | public | :: | filename | ||||
character(len=512), | public | :: | file_out | ||||
character(len=512), | public | :: | file_out2 | ||||
character(len=512), | public | :: | dir_womersley | ||||
character(len=512), | public | :: | file_data | ||||
character(len=:), | public, | allocatable | :: | gto_file_path | |||
character(len=:), | public, | allocatable | :: | gto_file_path2 | |||
character(len=:), | public, | allocatable | :: | gto_file_path_nuc(:) | |||
character(len=:), | public, | allocatable | :: | gto_file_path2_nuc(:) | |||
character(len=256), | public | :: | gto_dir | ||||
character(len=256), | public | :: | ini_file_path | ||||
character(len=256), | public | :: | xatom_path | ||||
character(len=256), | public | :: | work_dir_path | ||||
character(len=512), | public | :: | molden_file | ||||
real(kind=long), | public, | allocatable | :: | vini(:) | |||
integer, | public | :: | fluorescence_energy_threshold_ev | ||||
real(kind=long), | public | :: | avgsqrovlp_tol(2) | = | (/-one, -one/) | ||
real(kind=long), | public | :: | guess_overlap_tol(2) | = | (/0.50_long, -one/) | ||
real(kind=long), | public | :: | mo_fidelity_tol(2) | = | (/-one, -one/) | ||
logical, | public | :: | yes_dump_ints | ||||
logical, | public | :: | yes_use_arpack | ||||
logical, | public | :: | yes_use_krylov | ||||
logical, | public | :: | yes_use_davidson | ||||
integer, | public | :: | davblock | ||||
integer, | public | :: | davmax | ||||
logical, | public | :: | yes_density_cube | ||||
logical, | public | :: | yes_spin_density_cube | ||||
integer, | public | :: | nvoxel | ||||
integer, | public, | allocatable | :: | mo_cube(:) | |||
logical, | public | :: | yes_soscf | ||||
real(kind=long), | public | :: | soscf_start(3) | ||||
real(kind=long), | public, | allocatable | :: | scf_acceptable_convergence(:) | |||
real(kind=long), | public | :: | tstepmd | ||||
real(kind=long), | public, | allocatable | :: | internuc_dist_upl_au(:) | |||
real(kind=long), | public, | allocatable | :: | internuc_dist_lwl_au(:) | |||
real(kind=long), | public | :: | md_maxtime | ||||
character(len=256), | public | :: | pulse_file_path | ||||
integer, | public | :: | pulse_file_offset | ||||
real(kind=long), | public | :: | max_theta |
read all parameters added 31.Mar.2015: minimize print-outs for dynamical calc
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(param), | intent(inout) | :: | p | |||
character(len=*), | intent(in), | optional | :: | calc_string | ||
character(len=*), | intent(in), | optional | :: | filename |
places minimal nao functions and counts the shells
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | charge | |||
integer, | intent(out) | :: | n_nao_each(0:) |
counts the number of shells for the basis functions
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | basis_string | |||
integer, | intent(out) | :: | n_nao_each(0:) |
print all parameters
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(param), | intent(in) | :: | p | |||
character(len=*), | intent(in), | optional | :: | title | ||
integer, | intent(in), | optional | :: | iout |
print all parameters
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(param), | intent(in) | :: | p | |||
integer, | intent(in), | optional | :: | iout |