Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(d3_param), | intent(out) | :: | param |
Loaded parameter record |
||
character(len=*), | intent(in) | :: | method |
Name of the method to look up |
||
type(error_type), | intent(out), | allocatable | :: | error |
Error handling |
|
real(kind=wp), | intent(in), | optional | :: | s9 |
Overwrite s9 |
|
type(citation_type), | intent(out), | optional | :: | citation |
Citation information |
subroutine get_zero_damping(param, method, error, s9, citation) !> Loaded parameter record type(d3_param), intent(out) :: param !> Name of the method to look up character(len=*), intent(in) :: method !> Overwrite s9 real(wp), intent(in), optional :: s9 !> Citation information type(citation_type), intent(out), optional :: citation !> Error handling type(error_type), allocatable, intent(out) :: error character(len=:), allocatable :: doi select case(get_method_id(method)) case default call fatal_error(error, "No entry for '"//method//"' present") return case(p_slaterdiracexchange_df) param = d3_param(rs6=0.999_wp, s8=-1.957_wp, rs8=0.697_wp) case(p_blyp_df) param = d3_param(rs6=1.094_wp, s8=1.682_wp) doi = doi_dftd3_0 case(p_bp_df) param = d3_param(rs6=1.139_wp, s8=1.683_wp) doi = doi_dftd3_0 case(p_b97d_df) param = d3_param(rs6=0.892_wp, s8=0.909_wp) doi = doi_dftd3_0 case(p_b973c_df) param = d3_param(rs6=1.06_wp, s8=1.50_wp) doi = doi_b973c case(p_revpbe_df) param = d3_param(rs6=0.923_wp, s8=1.010_wp) doi = doi_dftd3_0 case(p_pbe_df) param = d3_param(rs6=1.217_wp, s8=0.722_wp) doi = doi_dftd3_0 case(p_pbesol_df) param = d3_param(rs6=1.345_wp, s8=0.612_wp) case(p_rpw86pbe_df) param = d3_param(rs6=1.224_wp, s8=0.901_wp) case(p_rpbe_df) param = d3_param(rs6=0.872_wp, s8=0.514_wp) case(p_tpss_df) param = d3_param(rs6=1.166_wp, s8=1.105_wp) doi = doi_dftd3_0 case(p_b3lyp_df, p_b3lyp_g_df, p_dm21_df, p_dm21m_df, p_dm21mc_df, p_dm21mu_df) param = d3_param(rs6=1.261_wp, s8=1.703_wp) doi = doi_dftd3_0 case(p_pbe0_df) param = d3_param(rs6=1.287_wp, s8=0.928_wp) doi = doi_dftd3_0 case(p_hse06_df) param = d3_param(rs6=1.129_wp, s8=0.109_wp) doi = doi_hse06_d3 case(p_revpbe38_df) param = d3_param(rs6=1.021_wp, s8=0.862_wp) doi = doi_gmtkn30_0 case(p_pw6b95_df) param = d3_param(rs6=1.532_wp, s8=0.862_wp) case(p_tpss0_df) param = d3_param(rs6=1.252_wp, s8=1.242_wp) doi = doi_dftd3_0 case(p_b2plyp_df) param = d3_param(rs6=1.427_wp, s8=1.022_wp, s6=0.64_wp) doi = doi_gmtkn30_0 case(p_pwpb95_df) param = d3_param(rs6=1.557_wp, s8=0.705_wp, s6=0.82_wp) doi = doi_gmtkn30_0 case(p_b2gpplyp_df) param = d3_param(rs6=1.586_wp, s8=0.760_wp, s6=0.56_wp) doi = doi_gmtkn30_0 case(p_ptpss_df) param = d3_param(rs6=1.541_wp, s8=0.879_wp, s6=0.75_wp) doi = doi_gmtkn30_0 case(p_hf_df) param = d3_param(rs6=1.158_wp, s8=1.746_wp) doi = doi_gmtkn30_bj case(p_mpwlyp_df) param = d3_param(rs6=1.239_wp, s8=1.098_wp) doi = doi_gmtkn30_bj case(p_bpbe_df) param = d3_param(rs6=1.087_wp, s8=2.033_wp) doi = doi_gmtkn30_bj case(p_bhlyp_df) param = d3_param(rs6=1.370_wp, s8=1.442_wp) doi = doi_gmtkn30_bj case(p_tpssh_df) param = d3_param(rs6=1.223_wp, s8=1.219_wp) case(p_pwb6k_df) param = d3_param(rs6=1.660_wp, s8=0.550_wp) doi = doi_gmtkn30_bj case(p_b1b95_df) param = d3_param(rs6=1.613_wp, s8=1.868_wp) doi = doi_gmtkn30_bj case(p_bop_df) param = d3_param(rs6=0.929_wp, s8=1.975_wp) doi = doi_gmtkn30_bj case(p_olyp_df) param = d3_param(rs6=0.806_wp, s8=1.764_wp) doi = doi_gmtkn30_bj case(p_opbe_df) param = d3_param(rs6=0.837_wp, s8=2.055_wp) doi = doi_gmtkn30_bj case(p_ssb_df) param = d3_param(rs6=1.215_wp, s8=0.663_wp) doi = doi_gmtkn30_bj case(p_revssb_df) param = d3_param(rs6=1.221_wp, s8=0.560_wp) doi = doi_gmtkn30_bj case(p_otpss_df) param = d3_param(rs6=1.128_wp, s8=1.494_wp) doi = doi_gmtkn30_bj case(p_b3pw91_df) param = d3_param(rs6=1.176_wp, s8=1.775_wp) doi = doi_gmtkn30_bj case(p_revpbe0_df) param = d3_param(rs6=0.949_wp, s8=0.792_wp) doi = doi_gmtkn30_bj case(p_pbe38_df) param = d3_param(rs6=1.333_wp, s8=0.998_wp) doi = doi_gmtkn30_bj case(p_mpw1b95_df) param = d3_param(rs6=1.605_wp, s8=1.118_wp) doi = doi_gmtkn30_bj case(p_mpwb1k_df) param = d3_param(rs6=1.671_wp, s8=1.061_wp) doi = doi_gmtkn30_bj case(p_bmk_df) param = d3_param(rs6=1.931_wp, s8=2.168_wp) doi = doi_gmtkn30_bj case(p_camb3lyp_df) param = d3_param(rs6=1.378_wp, s8=1.217_wp) doi = doi_gmtkn30_bj case(p_lcwpbe_df) param = d3_param(rs6=1.355_wp, s8=1.279_wp) doi = doi_gmtkn30_bj case(p_m05_df) param = d3_param(rs6=1.373_wp, s8=0.595_wp) doi = doi_gmtkn30_bj case(p_m052x_df) param = d3_param(rs6=1.417_wp, s8=0.000_wp) doi = doi_gmtkn30_bj case(p_m06l_df) param = d3_param(rs6=1.581_wp, s8=0.000_wp) doi = doi_gmtkn30_bj case(p_m06_df) param = d3_param(rs6=1.325_wp, s8=0.000_wp) doi = doi_gmtkn30_bj case(p_m062x_df) param = d3_param(rs6=1.619_wp, s8=0.000_wp) doi = doi_gmtkn30_bj case(p_m06hf_df) param = d3_param(rs6=1.446_wp, s8=0.000_wp) doi = doi_gmtkn30_bj case(p_hcth120_df) param = d3_param(rs6=1.221_wp, s8=1.206_wp) case(p_scan_df) param = d3_param(rs6=1.324_wp, s8=0.000_wp) doi = doi_scan_d3 case(p_wb97x_df) param = d3_param(rs6=1.281_wp, s8=1.0_wp, rs8=1.094_wp) doi = doi_wb97x_d3 case(p_pw1pw_df) param = d3_param(rs6=1.4968_wp, s8=1.1786_wp) doi = doi_gmtkn55 case(p_pbehpbe_df) param = d3_param(rs6=1.5703_wp, s8=1.4010_wp) doi = doi_gmtkn55 case(p_xlyp_df) param = d3_param(rs6=0.9384_wp, s8=0.7447_wp) doi = doi_gmtkn55 case(p_mpwpw_df) param = d3_param(rs6=1.3725_wp, s8=1.9467_wp) doi = doi_gmtkn55 case(p_hcth407_df) param = d3_param(rs6=4.0426_wp, s8=2.7694_wp) doi = doi_gmtkn55 case(p_revtpss_df) param = d3_param(rs6=1.3491_wp, s8=1.3666_wp) doi = doi_gmtkn55 case(p_tauhcth_df) param = d3_param(rs6=0.9320_wp, s8=0.5662_wp) doi = doi_gmtkn55 case(p_b3p_df) param = d3_param(rs6=1.1897_wp, s8=1.1961_wp) doi = doi_gmtkn55 case(p_b1p_df) param = d3_param(rs6=1.1815_wp, s8=1.1209_wp) doi = doi_gmtkn55 case(p_b1lyp_df) param = d3_param(rs6=1.3725_wp, s8=1.9467_wp) doi = doi_gmtkn55 case(p_mpw1lyp_df) param = d3_param(rs6=2.0512_wp, s8=1.9529_wp) doi = doi_gmtkn55 case(p_mpw1pw_df) param = d3_param(rs6=1.2892_wp, s8=1.4758_wp) doi = doi_gmtkn55 case(p_mpw1kcis_df) param = d3_param(rs6=1.7231_wp, s8=2.2917_wp) doi = doi_gmtkn55 case(p_mpwkcis1k_df) param = d3_param(rs6=1.4853_wp, s8=1.7553_wp) doi = doi_gmtkn55 case(p_pbeh1pbe_df) param = d3_param(rs6=1.3719_wp, s8=1.0430_wp) doi = doi_gmtkn55 case(p_pbe1kcis_df) param = d3_param(rs6=3.6355_wp, s8=1.7934_wp) doi = doi_gmtkn55 case(p_x3lyp_df) param = d3_param(rs6=1.0_wp, s8=0.2990_wp) doi = doi_gmtkn55 case(p_o3lyp_df) param = d3_param(rs6=1.4060_wp, s8=1.8058_wp) doi = doi_gmtkn55 case(p_b97_1_df) param = d3_param(rs6=3.7924_wp, s8=1.6418_wp) doi = doi_gmtkn55 case(p_b97_2_df) param = d3_param(rs6=1.7066_wp, s8=1.6418_wp) doi = doi_gmtkn55 case(p_b98_df) param = d3_param(rs6=2.6895_wp, s8=1.9078_wp) doi = doi_gmtkn55 case(p_hiss_df) param = d3_param(rs6=1.3338_wp, s8=0.7615_wp) doi = doi_gmtkn55 case(p_hse03_df) param = d3_param(rs6=1.3944_wp, s8=1.0156_wp) doi = doi_gmtkn55 case(p_revtpssh_df) param = d3_param(rs6=1.3224_wp, s8=1.2504_wp) doi = doi_gmtkn55 case(p_revtpss0_df) param = d3_param(rs6=1.2881_wp, s8=1.0649_wp) doi = doi_gmtkn55 case(p_tpss1kcis_df) param = d3_param(rs6=1.7729_wp, s8=2.0902_wp) doi = doi_gmtkn55 case(p_tauhcthhyb_df) param = d3_param(rs6=1.5001_wp, s8=1.6302_wp) doi = doi_gmtkn55 case(p_pkzb_df) param = d3_param(rs6=0.6327_wp, s8=0.0_wp) doi = doi_gmtkn55 case(p_n12_df) param = d3_param(rs6=1.3493_wp, s8=2.3916_wp) doi = doi_gmtkn55 case(p_mpw2plyp_df) param = d3_param(s6=0.66_wp, rs6=1.5527_wp, s8=0.7529_wp) doi = doi_gmtkn55 case(p_m08hx_df) param = d3_param(rs6=1.6247_wp, s8=0.0_wp) doi = doi_gmtkn55 case(p_m11l_df) param = d3_param(rs6=2.3933_wp, s8=1.1129_wp) doi = doi_minnesota_d3 case(p_mn15l_df) param = d3_param(rs6=3.3388_wp, s8=0.0_wp) doi = doi_gmtkn55 case(p_pwp_df) param = d3_param(rs6=2.1040_wp, s8=0.8747_wp) doi = doi_gmtkn55 end select if (.not.allocated(doi)) doi = doi_dftd3_0 if (present(citation)) citation = get_citation(doi) if (present(s9)) then param%s9 = s9 end if end subroutine get_zero_damping