code: def _simulate_to(self, x: np.ndarray) -> float:
      x = x.reshape(self.n, self.n)
      idx = self.idx
      n = self.n
      xa = idx % 3
      size = n * n
      sqrtsize = n
      xb = 2 - xa
      if (idx // 12) % 2 > 0:
          xs = 1.5 * (
              np.array(
                  [
                      float(
                          np.cos(self.idx * 0.01 + xa * i + xb * j)
                          < 0.0
                      )
                      for i in range(n)
                      for j in range(n)
                  ]
              ).reshape(n, n)
              - 0.5
          )
      else:
          xs = 1.5 * (
              np.array(
                  [
                      float(
                          (self.idx * 0.01 + xa * i + xb * j) > 1.6 * n
                      )
                      for i in range(n)
                      for j in range(n)
                  ]
              ).reshape(n, n)
              - 0.5
          )
      if (idx // 3) % 2 > 0:
          xs = np.transpose(xs)
      if (idx // 6) % 2 > 0:
          xs = -xs
      return (
          5.0 * np.sum(np.abs(x - xs) > 0.3) / size
          + 3.0
          * np.linalg.norm(x - gaussian_filter(x, sigma=3))
          / sqrtsize
      )
  
file_path: nevergrad/nevergrad/functions/topology_optimization/core.py
imports: import numpy
  from nevergrad.parametrization import parameter
  from ..base import ExperimentFunction
  from scipy.ndimage import gaussian_filter
label_desc: Use image node_id 2 for calling the TO obj's underlying member method code with example usage: obj._simulate_to(x) and returns: unknown