class_docstr: An idealized rigid body.
  
  Explanation
  ===========
  
  This is essentially a container which holds the various components which
  describe a rigid body: a name, mass, center of mass, reference frame, and
  inertia.
  
  All of these need to be supplied on creation, but can be changed
  afterwards.
  
  Attributes
  ==========
  
  name : string
      The body's name.
  masscenter : Point
      The point which represents the center of mass of the rigid body.
  frame : ReferenceFrame
      The ReferenceFrame which the rigid body is fixed in.
  mass : Sympifyable
      The body's mass.
  inertia : (Dyadic, Point)
      The body's inertia about a point; stored in a tuple as shown above.
  potential_energy : Sympifyable
      The potential energy of the RigidBody.
  
  Examples
  ========
  
  >>> from sympy import Symbol
  >>> from sympy.physics.mechanics import ReferenceFrame, Point, RigidBody
  >>> from sympy.physics.mechanics import outer
  >>> m = Symbol('m')
  >>> A = ReferenceFrame('A')
  >>> P = Point('P')
  >>> I = outer (A.x, A.x)
  >>> inertia_tuple = (I, P)
  >>> B = RigidBody('B', P, A, m, inertia_tuple)
  >>> # Or you could change them afterwards
  >>> m2 = Symbol('m2')
  >>> B.mass = m2
docstr: Linear momentum of the rigid body.
  
  Explanation
  ===========
  
  The linear momentum L, of a rigid body B, with respect to frame N is
  given by:
  
  ``L = m * v``
  
  where m is the mass of the rigid body, and v is the velocity of the mass
  center of B in the frame N.
  
  Parameters
  ==========
  
  frame : ReferenceFrame
      The frame in which linear momentum is desired.
  
  Examples
  ========
  
  >>> from sympy.physics.mechanics import Point, ReferenceFrame, outer
  >>> from sympy.physics.mechanics import RigidBody, dynamicsymbols
  >>> from sympy.physics.vector import init_vprinting
  >>> init_vprinting(pretty_print=False)
  >>> m, v = dynamicsymbols('m v')
  >>> N = ReferenceFrame('N')
  >>> P = Point('P')
  >>> P.set_vel(N, v * N.x)
  >>> I = outer (N.x, N.x)
  >>> Inertia_tuple = (I, P)
  >>> B = RigidBody('B', P, N, m, Inertia_tuple)
  >>> B.linear_momentum(N)
  m*v*N.x
docstr_tok: ["Linear","momentum","of","the","rigid","body",".","Explanation","===========","The","linear","momentum","L",",","of","a","rigid","body","B",",","with","respect","to","frame","N","is","given","by",":","``","L","=","m","*","v","``","where","m","is","the","mass","of","the","rigid","body",",","and","v","is","the","velocity","of","the","mass","center","of","B","in","the","frame","N.","Parameters","==========","frame",":","ReferenceFrame","The","frame","in","which","linear","momentum","is","desired",".","Examples","========",">",">",">","from","sympy.physics.mechanics","import","Point",",","ReferenceFrame",",","outer",">",">",">","from","sympy.physics.mechanics","import","RigidBody",",","dynamicsymbols",">",">",">","from","sympy.physics.vector","import","init_vprinting",">",">",">","init_vprinting","(","pretty_print=False",")",">",">",">","m",",","v","=","dynamicsymbols","(","'m","v","'",")",">",">",">","N","=","ReferenceFrame","(","'N","'",")",">",">",">","P","=","Point","(","'","P","'",")",">",">",">","P.set_vel","(","N",",","v","*","N.x",")",">",">",">","I","=","outer","(","N.x",",","N.x",")",">",">",">","Inertia_tuple","=","(","I",",","P",")",">",">",">","B","=","RigidBody","(","'","B","'",",","P",",","N",",","m",",","Inertia_tuple",")",">",">",">","B.linear_momentum","(","N",")","m","*","v","*","N.x"]
code: def linear_momentum(self, frame):
      """Linear momentum of the rigid body.
  
      Explanation
      ===========
  
      The linear momentum L, of a rigid body B, with respect to frame N is
      given by:
  
      ``L = m * v``
  
      where m is the mass of the rigid body, and v is the velocity of the mass
      center of B in the frame N.
  
      Parameters
      ==========
  
      frame : ReferenceFrame
          The frame in which linear momentum is desired.
  
      Examples
      ========
  
      >>> from sympy.physics.mechanics import Point, ReferenceFrame, outer
      >>> from sympy.physics.mechanics import RigidBody, dynamicsymbols
      >>> from sympy.physics.vector import init_vprinting
      >>> init_vprinting(pretty_print=False)
      >>> m, v = dynamicsymbols('m v')
      >>> N = ReferenceFrame('N')
      >>> P = Point('P')
      >>> P.set_vel(N, v * N.x)
      >>> I = outer (N.x, N.x)
      >>> Inertia_tuple = (I, P)
      >>> B = RigidBody('B', P, N, m, Inertia_tuple)
      >>> B.linear_momentum(N)
      m*v*N.x
  
      """
  
      return self.mass * self.masscenter.vel(frame)
  
imports: from sympy import Symbol, S
  from sympy.physics.vector import ReferenceFrame, Dyadic, Point, dot
  from sympy.physics.mechanics.body_base import BodyBase
  from sympy.physics.mechanics.inertia import inertia_of_point_mass, Inertia
  from sympy.utilities.exceptions import sympy_deprecation_warning
label_desc: Use image node_id 12 for calling the RigidBody obj's underlying member method code with example usage: obj.linear_momentum(frame) and returns: unknown