code: def save(cls, network, phases=[], filename=''):
          r
          project, network, phases = cls._parse_args(network=network,
                                                     phases=phases)
          network = network[0]
          # Write to file
          if filename == '':
              filename = project.name
          filename = cls._parse_filename(filename=filename, ext='mat')
  
          d = Dict.to_dict(network=network, phases=phases, interleave=True)
          d = FlatDict(d, delimiter='|')
          d = sanitize_dict(d)
          new_d = {}
          for key in list(d.keys()):
              new_key = key.replace('|', '_').replace('.', '_')
              new_d[new_key] = d.pop(key)
  
          spio.savemat(file_name=filename, mdict=new_d)
docs: r"""
          Write Network to a Mat file for exporting to Matlab.
  
          Parameters
          ----------
          network : OpenPNM Network Object
  
          filename : string
              Desired file name, defaults to network name if not given
  
          phases : list of phase objects ([])
              Phases that have properties we want to write to file