diff --git a/orbiter/orbits/body.py b/orbiter/orbits/body.py deleted file mode 100644 index 676245f..0000000 --- a/orbiter/orbits/body.py +++ /dev/null @@ -1,57 +0,0 @@ -from enum import Enum -import numpy as np - -from ..units import * -from .calc import format_sig_figs - -class Body: - """ - Base class for any orbital body - """ - def __init__(self, X: Position, V: Velocity, m: Mass, name: str = ""): - """ - x (position) and v (velocity) - """ - self.X = X - self.V = V - self.A = Acceleration([0,0,0]) - self.m = m - self.name = name - - def save(self): - return (self.X, self.V, self.m) - - @classmethod - def load(cls, tup): - return cls(tup[0], tup[1], tup[2]) - - def step(self, step_size: float): - self.X += step_size*self.V - self.V += step_size*self.A - self.A = HighPrecisionVector([0,0,0]) - - def __str__(self): - pos = 'm '.join([format_sig_figs(real_pos(x), 3) for x in self.X]) - vel = 'm/s '.join([format_sig_figs(real_vel(v), 3) for v in self.V]) - return str(f"{self.name}: X = {pos}, V = {vel}") - - def E(self): - return self.ke() + self.pe() - - def pe(self): - return -self.m/self.dist_from_o() - - def dist_from_o(self): - return sum([x**2 for x in self.X]).sqrt() - - - def ke(self): - return Decimal(0.5)*self.m*(self._speed()**2) - - def _speed(self): - return sum([v**2 for v in self.V]).sqrt() - - def speed(self): - return str(f"{format_sig_figs(real_vel(self._speed),5)}") - -