get_mzero_damping Subroutine

public subroutine get_mzero_damping(param, method, error, s9, citation)

Arguments

Type IntentOptional 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


Source Code

subroutine get_mzero_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

   select case(get_method_id(method))
   case default
      call fatal_error(error, "No entry for '"//method//"' present")
      return
   case(p_b2plyp_df)
      param = d3_param(rs6=1.313134_wp, s8=0.717543_wp, bet=0.016035_wp, s6=0.640000_wp)
   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.338153_wp, s8=1.532981_wp, bet=0.013988_wp)
   case(p_b97d_df)
      param = d3_param(rs6=1.151808_wp, s8=1.020078_wp, bet=0.035964_wp)
   case(p_blyp_df)
      param = d3_param(rs6=1.279637_wp, s8=1.841686_wp, bet=0.014370_wp)
   case(p_bp_df)
      param = d3_param(rs6=1.233460_wp, s8=1.945174_wp, bet=0.000000_wp)
   case(p_pbe_df)
      param = d3_param(rs6=2.340218_wp, s8=0.000000_wp, bet=0.129434_wp)
   case(p_pbe0_df)
      param = d3_param(rs6=2.077949_wp, s8=0.000081_wp, bet=0.116755_wp)
   case(p_lcwpbe_df)
      param = d3_param(rs6=1.366361_wp, s8=1.280619_wp, bet=0.003160_wp)
   end select

   if (present(citation)) citation = get_citation(doi_dftd3_m)

   if (present(s9)) then
      param%s9 = s9
   end if

end subroutine get_mzero_damping