def main(): parser = argparse.ArgumentParser() parser.add_argument('-c', '--config', help='config file', default=None) parser.add_argument('-o', '--output_file', dest='output_file', help='output data file', default='data.hdf5') parser.add_argument('-r', '--rebound_file', help='Rebound simulation file', default=None) parser.add_argument('-t', '--t_end', type=float, dest='t_end', help='Termination time') parser.add_argument('-d', '--dt', type=float, dest='dt', help='Integration time step (optional for certain integrators)', default=None) parser.add_argument('-s', '--store_dt', type=float, dest='store_dt', help='output time step', default=100) parser.add_argument('-i', '--integrator', dest='integrator', help='Name of the integrator [GaussRadau15|WisdomHolman|RungeKutta|AdamsBashForth|LeapFrog|Euler]', default='GaussRadau15') args = parser.parse_args() abie = ABIE() abie.integrator = args.integrator if args.output_file is not None: abie.output_file = args.output_file if args.t_end is not None: abie.t_end = args.t_end if args.config is not None: abie.initialize(DataIO.parse_config_file(args.config)) elif args.rebound_file is not None: # populate the initial conditions from rebound simulation files abie.initialize() DataIO.ic_populate_from_rebound(args.rebound_file, abie) if args.dt is not None: abie.h = args.dt abie.store_dt = args.store_dt abie.integrate()