let main () =
      match User_interface.Text.cp_topology#get with
        "line" ->
          let module Go =
            Load_Meta_Topology
              (Topology.Line.Topo
                 (User_interface.Text.Topo_parameters1d (Unit)))
          in
          Go.main ()
      | "rectangle" ->
          let module Go =
            Load_Meta_Topology
              (Topology.Rectangle.Topo
                 (User_interface.Text.Topo_parameters2d (Unit)))
          in
          Go.main ()
      | "hexagons" ->
          let module Go =
            Load_Meta_Topology
              (Topology.Hexagons.Topo
                 (User_interface.Text.Topo_parameters2d (Unit)))
          in
          Go.main ()
      | _ ->
          failwith
            ("The name of the topology is unknown. Available topologies are "
               ^
               User_interface.Text.available_topologies ^ ".")