calculate Hugoniot temperature

        :param v: unit-cell volume in A^3
        :return: temperature in K
        :note: 2017/05/10, It is intentional that I call hugoniot_t
        instead of hugoniot_t_nlin for the nonlinear case.
        The reason is the hugoniot_t_nlin (and its equivalent part in mdaap)
        has numerical problem.  In fact, I found no problem to match the
        Jamieson table values with the use of linear thermal part instead of
        non-linear version.

def _hugoniot_t(self, v):
        """
        calculate Hugoniot temperature

        :param v: unit-cell volume in A^3
        :return: temperature in K
        :note: 2017/05/10, It is intentional that I call hugoniot_t
        instead of hugoniot_t_nlin for the nonlinear case.
        The reason is the hugoniot_t_nlin (and its equivalent part in mdaap)
        has numerical problem.  In fact, I found no problem to match the
        Jamieson table values with the use of linear thermal part instead of
        non-linear version.
        """
        rho = self._get_rho(v)
        params_h = self._set_params(self.params_hugoniot)
        params_t = self._set_params(self.params_therm)
        if self.nonlinear:
            return hugoniot_t(rho, *params_h[:-1], *params_t[1:],
                              self.n, self.mass, three_r=self.three_r,
                              c_v=self.c_v)
        else:
            return hugoniot_t(rho, *params_h, *params_t[1:],
                              self.n, self.mass, three_r=self.three_r,
                              c_v=self.c_v)