Method Abstract Base Class (Docstrings)¶
- class sympy.physics.mechanics.method.MethodBase[source]¶
Abstract Base Class for all methods for forming the equations of motion of multibody systems.
Minimal coordinate equations of motion take this form as first order ordinary differential equations.
Kinematical differential equations:
Mk(q, t) q' = Fk(u, q, t)
Dynamical differential equations:
Md(q, t) u' = Fd(u, q, t)
Combined they take this full form:
M = [Mk 0] [q'] = [Fk] = F [0 Md] [u'] [Fd]If there are additional holonomic or nonholonomic constraints, these equations can be augmented with the Lagrange multipliers:
M = [Mk 0 0 ] [q'] = [Fk] = F [0 Md MjT] [u'] [Fd] [0 Mj 0 ] [j'] [Fj]where
Mjis the “Jacobian of the constraints” andMjTis its transpose.j'=lambdaare the Lagrange multipliers representing the constraint forces and thenjare generalized impulses of these forces.The equations of motion can also be augmented to reveal any noncontributing force and take this form:
M = [Mk 0 0] [q'] = [Fk] = F [0 Md 0] [u'] [Fd] [0 Mj I] [j'] [Fj]With
j'being the measure number of a noncontributing force.- abstract property acceleration_constraints¶
m + M x 1 column matrix of acceleration constraint residual expressions
fawhere:fv' = fa(q'', q', q, t) = fa(u', u, q, t) = 0
The twice time differentiated holonomic configuration constraints should be stacked on top of time-differentiated nonholonomic constraints.
- abstract property bodies¶
List of
Particle,RigidBody, orBodyobjects that make up the multibody system.
- property constraints_jacobian¶
M + m x N coefficient matrix
Cwhich is the Jacobian of the constraints.fv = C*q' + gv(q, t) = C*u + gv(q, t) = 0
- abstract property forcing¶
Nonlinear forcing terms
Fdin the dynamical differential equations:Md q'' = Md u' = Fd
- abstract property forcing_full¶
Nonlinear forcing terms
Fin the full first order form of the equations of motion:M [q' ] = M [q'] = F [q''] [u']
- abstract property frame¶
Inertial reference frame that the equations of motion were formulated with respect to.
- abstract property holonomic_constraints¶
M x 1 column matrix of holonomic configuration constraint residual expressions
fhwhere:fh(q, t) = 0
- abstract property loads¶
List of
Force,Torque, tuple(Point,Vector), tuple(ReferenceFrame,Vector) loads applied to multibody system.
- abstract property mass_matrix¶
Linear coefficient matrix
Mdfor the second time derivative of the coordinates or the first time derivative of the speeds:Md q'' = Md u' = Fd
- abstract property mass_matrix_full¶
Linear coefficient matrix
Mfor the full first order form of the equations of motion:M [q' ] = M [q'] = F [q''] [u']
- abstract property nonholonomic_constraints¶
m x 1 column matrix of nonholonomic residual expressions
fnwhere:fn(q', q, t) = fn(u, q, t) = 0
- abstract property q¶
Column matrix of N functions of time that represent the multibody system’s (generalized) coordinates.
- rhs(inv_method=None, **kwargs)[source]¶
Returns the right hand side of the full first order form of the equations of motion in explicit form:
rhs(u, q, t) = Inv(M) F
- Parameters:
inv_method : str
The specific sympy inverse matrix calculation method to use. For a list of valid methods, see
inv()
- abstract property u¶
Column matrix of N functions of time that represent the multibody system’s (generalized) speeds.
- abstract property velocity_constraints¶
m + M x 1 column matrix of motion/velocity constraint residual expressions
fvwhere:fv(q', q, t) = [fh'(q', q, t)] = fv(u, q, t) = [fh'(u, q, t)] = 0 [fn(q', q, t) ] [fn(u, q, t) ]The time differentiated holonomic configuration constraints should be stacked on top of the nonholonomic constraints.