docs: def add_material(self, x_min, x_max, n, angle=0):
          '''
          Add a refractive index between two x-points.
  
          Args:
              x_min (float): The start x-point.
              x_max (float): The stop x-point.
              n (float, function):  Refractive index between
                   `x_min` and `x_max`.  Either a constant (`float`), or
                   a function that accepts one parameters, the
                   wavelength, and returns a float of the refractive
                   index.  This is useful when doing wavelength
                   sweeps and solving for the group velocity.  The
                   function provided could be a Sellmeier equation.
              angle (float): Angle in degrees of the slope of the
                  sidewalls at `x_min` and `x_max`.  This is useful
                  for defining a ridge with angled sidewalls.
          '''
          self._mat_params.append([x_min, x_max, n, angle])
  
          if not callable(n):
              n_mat = lambda wl: n
          else:
              n_mat = n
  
          Structure._add_material(self, x_min, self.y_min, x_max, self.y_max, n_mat(self._wl), angle)
          return self.n