docs: def get_no_mixing_energy(self):
          """
          Generates the opposite number of energy above grand potential
          convex hull for both reactants.
  
          Returns:
              [(reactant1, no_mixing_energy1),(reactant2,no_mixing_energy2)].
          """
          assert self.grand == 1, \
              'Please provide grand potential phase diagram ' \
              'for computing no_mixing_energy!'
  
          energy1 = self.pd.get_hull_energy(self.comp1) - \
              self._get_grand_potential(self.c1)
          energy2 = self.pd.get_hull_energy(self.comp2) - \
              self._get_grand_potential(self.c2)
          unit = 'eV/f.u.'
          if self.norm:
              unit = 'eV/atom'
          return [(self.c1_original.reduced_formula +
                   ' ({0})'.format(unit), energy1),
                  (self.c2_original.reduced_formula +
                   ' ({0})'.format(unit), energy2)]