<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def run_thermal_properties(self, t_min=0, t_max=1000, t_step=10, temperatures=None, is_projection=False, band_indices=None, cutoff_frequency=None, pretend_real=False):
 """Calculate thermal properties at constant volume Parameters t_min, t_max, t_step : float, optional Minimum and maximum temperatures and the interval in this temperature range. Default values are 0, 1000, and 10. temperatures : array_like, optional Temperature points where thermal properties are calculated. When this is set, t_min, t_max, and t_step are ignored. """

        if self._mesh is None:
            msg = ("run_mesh has to be done before"
                   "run_thermal_properties.")
            raise RuntimeError(msg)

        tp = ThermalProperties(self._mesh,
                               is_projection=is_projection,
                               band_indices=band_indices,
                               cutoff_frequency=cutoff_frequency,
                               pretend_real=pretend_real)
        if temperatures is None:
            tp.set_temperature_range(t_step=t_step,
                                     t_max=t_max,
                                     t_min=t_min)
        else:
            tp.set_temperatures(temperatures)
        tp.run()
        self._thermal_properties = tp