code: def dorogokupets2007_pth(v, temp, v0, gamma0, gamma_inf, beta, theta0, n, z,
                           three_r=3. * constants.R, t_ref=300.):
      
      v_mol = vol_uc2mol(v, z)
      # x = v_mol / v0_mol
      gamma = altshuler_grun(v, v0, gamma0, gamma_inf, beta)
      theta = altshuler_debyetemp(v, v0, gamma0, gamma_inf, beta, theta0)
  
      def f(t):
          xx = theta / t
          debye = debye_E(xx)
          Eth = three_r * n * t * debye
          return (gamma / v_mol * Eth) * 1.e-9
      return f(temp) - f(t_ref)
docs: calculate thermal pressure for Dorogokupets 2007 EOS
  
      :param v: unit-cell volume in A^3
      :param temp: temperature in K
      :param v0: unit-cell volume in A^3 at 1 bar
      :param gamma0: Gruneisen parameter at 1 bar
      :param gamma_inf: Gruneisen parameter at infinite pressure
      :param beta: volume dependence of Gruneisen parameter
      :param theta0: Debye temperature at 1 bar in K
      :param n: number of elements in a chemical formula
      :param z: number of formula unit in a unit cell
      :param three_r: 3 times gas constant.
          Jamieson modified this value to compensate for mismatches
      :param t_ref: reference temperature, 300 K
      :return: thermal pressure in GPa