def main(): parser = argparse.ArgumentParser() parser.add_argument( "path", nargs="?", type=Path, default=Path("momentum_distribution.h5"), help="path to the momentum_distribution file", ) parser.add_argument("--colorbar", type=bool) add_argparse_2d_args(parser) add_argparse_save_arg(parser) args = parser.parse_args() figure, ax = plt.subplots(1, 1) times, momenta, density = read_momentum_distribution_hdf5( args.path, "momentum_distribution", ) average_momentum = numpy.zeros_like(times) for i, _ in enumerate(average_momentum): average_momentum[i] = numpy.sum(momenta * density[i]) Y, X = numpy.meshgrid(momenta, times) mesh = ax.pcolormesh(X, Y, density) plt.plot(times, average_momentum) apply_2d_args(ax, figure, args) handle_saving(figure, args) plt.show()
def main(): parser = argparse.ArgumentParser() parser.add_argument( "path", nargs="?", type=Path, default="propagate.h5/output", help="path to the output file", ) add_argparse_2d_args(parser) add_argparse_save_arg(parser) args = parser.parse_args() figure, ax = plt.subplots(1, 1) time, _, energy, _ = read_output(args.path) plot_energy(ax, time, energy) system = units.get_default_unit_system() ax.set_xlabel(system.get_time_unit().format_label("t")) ax.set_ylabel(system.get_length_unit().format_label("x")) apply_2d_args(ax, figure, args) handle_saving(figure, args) plt.show()
def main(): parser = argparse.ArgumentParser() parser.add_argument( "path", nargs="?", type=Path, default=Path("propagate.h5/natpop"), help="path to the natpop file", ) parser.add_argument("-n", "--node", type=int, default=1, help="node") parser.add_argument("-d", "--dof", type=int, default=1, help="degree of freedom") add_argparse_2d_args(parser) add_argparse_save_arg(parser) args = parser.parse_args() figure, ax = plt.subplots(1, 1) time, natpop = read_natpop(args.path, node=args.node, dof=args.dof) plot_natpop(ax, time, natpop) try: ax.set_xlabel( units.get_default_unit_system().get_time_unit().format_label("t")) except units.MissingUnitError: ax.set_xlabel("$t$") apply_2d_args(ax, figure, args) handle_saving(figure, args) if not args.output: plt.show()
def main(): parser = argparse.ArgumentParser() parser.add_argument( "path", nargs="?", type=Path, default=Path("propagate.h5/gpop"), help="path to the gpop file", ) parser.add_argument("-d", "--dof", type=int, default=1, help="degree of freedom") parser.add_argument( "--momentum", action="store_true", help="whether to transform to momentum space", ) parser.add_argument("--logz", action="store_true") parser.add_argument("--zmin", type=float) parser.add_argument("--zmax", type=float) parser.add_argument("--colorbar", action="store_true") add_argparse_2d_args(parser) add_argparse_save_arg(parser) args = parser.parse_args() figure, ax = plt.subplots(1, 1) data = read_gpop(args.path, dof=args.dof) if args.momentum: data = transform_to_momentum_space(data) mesh = plot_gpop(ax, *data, args.zmin, args.zmax, args.logz) if args.colorbar: figure.colorbar(mesh, ax=ax).solids.set_rasterized(True) unitsys = units.get_default_unit_system() try: ax.set_xlabel(unitsys.get_time_unit().format_label("t")) except units.MissingUnitError: ax.set_xlabel("$t$") try: ax.set_ylabel(unitsys.get_length_unit().format_label("x")) except units.MissingUnitError: ax.set_ylabel("$x$") apply_2d_args(ax, figure, args) handle_saving(figure, args) if not args.output: plt.show()
def main(): parser = argparse.ArgumentParser() parser.add_argument("path", type=Path, nargs="+", help="path to the output file") parser.add_argument( "--fft", action="store_true", help="whether to transform the signal to frequency space", ) parser.add_argument("--xname", help="", default="time") add_argparse_2d_args(parser) add_argparse_save_arg(parser) args = parser.parse_args() figure, ax = plt.subplots(1, 1) unitsys = mlxtk.units.get_default_unit_system() for file in args.path: name = file.stem time, values = read_expval_hdf5(file, xname=args.xname) if args.fft: plot_expval(ax, *mlxtk.tools.signal.fourier_transform(time, values), label=name) ax.set_xlabel( (1 / unitsys.get_time_unit()).format_label(r"\omega")) ax.set_ylabel( mlxtk.units.ArbitraryUnit().format_label( r"\mathrm{amplitude}"), ) else: plot_expval(ax, time, values, label=name) if args.xname == "time": ax.set_xlabel(unitsys.get_time_unit().format_label("t")) else: ax.set_xlabel(args.xname) if len(args.path) > 1: ax.legend() apply_2d_args(ax, figure, args) handle_saving(figure, args) if not args.output: plt.show()
def main(): parser = argparse.ArgumentParser() parser.add_argument( "path", nargs="+", default=["natpop"], help="path to the natpop file", ) parser.add_argument("-n", "--node", type=int, default=1, help="node") parser.add_argument("-d", "--dof", type=int, default=1, help="degree of freedom") parser.add_argument( "--normalize", action="store_true", help="whether to normalize the entropy", ) add_argparse_2d_args(parser) add_argparse_save_arg(parser) args = parser.parse_args() labels = labels_from_paths(args.path) figure, ax = plt.subplots(1, 1) for path, label in zip(args.path, labels): time, natpop = read_natpop(path, node=args.node, dof=args.dof) try: entropy = compute_entropy(natpop, args.normalize) except ZeroDivisionError: entropy = compute_entropy(natpop) args.normalize = False plot_entropy(ax, time, entropy, label=label, normalize=args.normalize) system = units.get_default_unit_system() ax.set_xlabel(system.get_time_unit().format_label("t")) apply_2d_args(ax, figure, args) if len(args.path) > 1: ax.legend() handle_saving(figure, args) if not args.output: plt.show()