code: def gibbs_binding_energy(self, eads=False):
          
  
          n = self.get_unit_primitive_area
          Nads = self.Nads_in_slab
  
          BE = (self.energy - n * self.clean_entry.energy) / Nads - \
               sum([ads.energy_per_atom for ads in self.adsorbates])
          return BE * Nads if eads else BE
docs: Returns the adsorption energy or Gibb's binding energy
              of an adsorbate on a surface
          Args:
              eads (bool): Whether to calculate the adsorption energy
                  (True) or the binding energy (False) which is just
                  adsorption energy normalized by number of adsorbates.