code: def D(self):
          r
          if self._D is None:
              self.logger.warning('The differential operator G.D is not '
                                  'available, we need to compute it. Explicitly '
                                  'call G.compute_differential_operator() '
                                  'once beforehand to suppress the warning.')
              self.compute_differential_operator()
          return self._D
docs: r"""Differential operator (for gradient and divergence).
  
          Is computed by :func:`compute_differential_operator`.