aerosandbox.dynamics.rigid_body.rigid_2D.body ============================================= .. py:module:: aerosandbox.dynamics.rigid_body.rigid_2D.body Attributes ---------- .. autoapisummary:: aerosandbox.dynamics.rigid_body.rigid_2D.body.dyn Classes ------- .. autoapisummary:: aerosandbox.dynamics.rigid_body.rigid_2D.body.DynamicsRigidBody2DBody Module Contents --------------- .. py:class:: DynamicsRigidBody2DBody(mass_props = None, x_e = 0, z_e = 0, u_b = 0, w_b = 0, theta = 0, q = 0) Bases: :py:obj:`aerosandbox.dynamics.rigid_body.rigid_3D.body_euler.DynamicsRigidBody3DBodyEuler` Dynamics instance: * simulating a rigid body * in 2D * with velocity parameterized in body axes State variables: x_e: x-position, in Earth axes. [meters] z_e: z-position, in Earth axes. [meters] u_b: x-velocity, in body axes. [m/s] w_b: z-velocity, in body axes. [m/s] theta: pitch angle. [rad] q: y-angular-velocity, in body axes. [rad/sec] Control variables: Fx_b: Force along the body-x axis. [N] Fz_b: Force along the body-z axis. [N] My_b: Moment about the body-y axis. [Nm] .. py:attribute:: mass_props For each state variable, self.state_var = state_var For each indirect control variable, self.indirect_control_var = indirect_control_var For each control variable, self.control_var = 0 .. py:attribute:: x_e :value: 0 .. py:attribute:: y_e :value: 0 .. py:attribute:: z_e :value: 0 .. py:attribute:: u_b :value: 0 .. py:attribute:: v_b :value: 0 .. py:attribute:: w_b :value: 0 .. py:attribute:: phi :value: 0 .. py:attribute:: theta :value: 0 .. py:attribute:: psi :value: 0 .. py:attribute:: p :value: 0 .. py:attribute:: q :value: 0 .. py:attribute:: r :value: 0 .. py:attribute:: Fx_b :value: 0 .. py:attribute:: Fy_b :value: 0 .. py:attribute:: Fz_b :value: 0 .. py:attribute:: Mx_b :value: 0 .. py:attribute:: My_b :value: 0 .. py:attribute:: Mz_b :value: 0 .. py:attribute:: hx_b :value: 0 .. py:attribute:: hy_b :value: 0 .. py:attribute:: hz_b :value: 0 .. py:property:: state Returns the state variables of this Dynamics instance as a Dict. Keys are strings that give the name of the variables. Values are the variables themselves. This method should look something like: >>> { >>> "x_e": self.x_e, >>> "u_e": self.u_e, >>> ... >>> } .. py:property:: control_variables .. py:method:: state_derivatives() Computes the state derivatives (i.e. equations of motion) for a body in 3D space. Based on Section 9.8.2 of Flight Vehicle Aerodynamics by Mark Drela. :returns: { "xe" : d_xe, "ye" : d_ye, "ze" : d_ze, "u" : d_u, "v" : d_v, "w" : d_w, "phi" : d_phi, "theta": d_theta, "psi" : d_psi, "p" : d_p, "q" : d_q, "r" : d_r, } :rtype: Time derivatives of each of the 12 state variables, given in a dictionary .. py:data:: dyn