code: def simulate(vx, vy, smoke, num_time_steps, ax=None, render=False):
      print("Running simulation...")
      for t in range(num_time_steps):
          if ax:
              plot_matrix(ax, smoke, t, render)
          vx_updated = advect(vx, vx, vy)
          vy_updated = advect(vy, vx, vy)
          vx, vy = project(vx_updated, vy_updated)
          smoke = advect(smoke, vx, vy)
      if ax:
          plot_matrix(ax, smoke, num_time_steps, render)
      return smoke
  
file_path: autograd/examples/fluidsim/fluidsim.py
imports: from __future__ import absolute_import
  from __future__ import print_function
  from builtins import range
  import autograd.numpy
  from autograd import value_and_grad
  from scipy.optimize import minimize
  from scipy.misc import imread
  import matplotlib
  import matplotlib.pyplot
  import os
label_desc: Use image node_id 3 for calling a global function with example usage: simulate(vx, vy, smoke, num_time_steps, ax, render) and returns: smoke