frispy.equations_of_motion
Module Contents
Classes
|
- class frispy.equations_of_motion.EOM(area: numbers.Number, I_xx: numbers.Number, I_zz: numbers.Number, mass: numbers.Number, environment: frispy.environment.Environment = Environment(), model: frispy.model.Model = Model())[source]
EOMis 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.- static rotation_matrix(sp: float, cp: float, st: float, ct) numpy.ndarray[source]
Compute the (partial) rotation matrix that transforms from the lab frame to the disc frame. Note that because of azimuthal symmetry, the azimuthal angle (gamma) is not used.
This matrix (R) can be used to transform a vector from the lab frame (L) into the disk frame (D), i.e.: r_D = R dot r_L.
The
z_hatunit vector in the disk frame (D) will always be pointing perpendicular up from the top face of the disk.
- classmethod compute_angle_of_attack(cls, phi: float, theta: float, velocity: numpy.ndarray, return_all_variables: bool = False)[source]
- geometric_quantities(self, phi: float, theta: float, velocity: numpy.ndarray, angular_velocity: numpy.ndarray) Dict[str, Union[float, numpy.ndarray, Dict[str, numpy.ndarray]]][source]
Compute intermediate quantities on the way to computing the time derivatives of the kinematic variables.
- 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, 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