nbody/main.py

26 lines
682 B
Python
Executable file

#!venv/bin/python
from argparse import ArgumentParser
from pathlib import Path
from typing import cast
from data import parse_csv, Animator
class Args:
file: Path
gravity: float
def main(file: Path, gravity: float) -> None:
pos, vel, rad = parse_csv(file)
Animator(pos, vel, rad, gravity)
if __name__ == "__main__":
parser = ArgumentParser(description="Gravitation simulation")
parser.add_argument("-f", "--file", type=Path, default="data/2d/simple.csv", help="The starting state of the simulation")
parser.add_argument("-g", "--gravity", type=float, default=1., help="The strength of gravity")
args = cast(Args, parser.parse_args())
main(args.file, args.gravity)