docs: def di_power(self, i, power=1):
          r'''Method to calculate a power of a particle class/bin in a generic
          way so as to support when there are as many `ds` as `fractions`,
          or one more diameter spec than `fractions`.
          
          When each bin has a lower and upper bound, the formula is as follows
          [1]_.
          
          .. math::
              D_i^r = \frac{D_{i, ub}^{(r+1)} - D_{i, lb}^{(r+1)}}
              {(D_{i, ub} - D_{i, lb})(r+1)}
              
          Where `ub` represents the upper bound, and `lb` represents the lower
          bound. Otherwise, the standard definition is used:
              
          .. math::
              D_i^r = D_i^r
          
          Parameters
          ----------
          i : int
              The index of the diameter for the calculation, [-]
          power : int
              The exponent, [-]
  
          Returns
          -------
          di_power : float
              The representative bin diameter raised to  `power`, [m^power] 
  
          References
          ----------
          .. [1] ASTM E799 - 03(2015) - Standard Practice for Determining Data 
             Criteria and Processing for Liquid Drop Size Analysis.    
          '''
          if self.size_classes:
              rt = power + 1
              return ((self.ds[i+1]**rt - self.ds[i]**rt)/((self.ds[i+1] - self.ds[i])*rt))
          else:
              return self.ds[i]**power