frispy.equations_of_motion
Module Contents
Classes
|
- class frispy.equations_of_motion.EOM(environment: frispy.environment.Environment = Environment(), model: frispy.model.Model = Model(), trajectory: frispy.trajectory.Trajectory = Trajectory())[source]
EOM
is short for “equations of motion” is used to run the ODE solver from scipy. It takes in a model for the disc, the trajectory object, the environment, and implements the functions for calculating forces and torques.- compute_forces(self, phi: float, theta: float, velocity: numpy.ndarray, ang_velocity: numpy.ndarray) Dict[str, Union[float, numpy.ndarray, Dict[str, numpy.ndarray]]] [source]
Compute the lift, drag, and gravitational forces on the disc.
- compute_torques(self, velocity: numpy.ndarray, ang_velocity: numpy.ndarray, res: Dict[str, Union[float, numpy.ndarray, Dict[str, numpy.ndarray]]]) Dict[str, Union[float, numpy.ndarray, Dict[str, numpy.ndarray]]] [source]
Compute the torque around each principle axis.
- compute_derivatives(self, time: float, coordinates: numpy.ndarray) numpy.ndarray [source]
Right hand side of the ordinary differential equations. This is supplied to
scipy.integrate.solve_ivp()
. See this page for more information about its fun argument.- Parameters
time (float) – instantanious time of the system
coordinates (np.ndarray) – kinematic variables of the disc
- Returns
derivatives of all coordinates