Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add links — kinematics #929

Merged
merged 2 commits into from
Dec 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@

#. The body is rigid.
#. The axis of rotation is fixed.

**Links:**

#. `Wikipedia, vector counterpart of this law <https://en.wikipedia.org/wiki/Angular_momentum#Orbital_angular_momentum_in_three_dimensions>`__.
"""

from sympy import Eq
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@
assumed to be fixed in the body, perpendicular to that axis and rotating with the body. The angular
position of this is measured relative to a fixed direction and is expressed as a ratio of the arc
length of a circular path and its radius (distance to the axis).

**Links:**

#. `Wikipedia, similar concept <https://en.wikipedia.org/wiki/Central_angle#Formulas>`__.

#. `openstax, table 6.2, first line <https://openstax.org/books/physics/pages/6-3-rotational-motion>`__.
"""

from sympy import Eq
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@

#. The axis is fixed.
#. Angular acceleration is constant, i.e. :math:`\frac{d \alpha}{d t} = 0.`

**Links:**

#. `Wikipedia, second out of the last four equations in the paragraph <https://en.wikipedia.org/wiki/Kinematics#Acceleration_2>`__.
"""

from sympy import Eq, solve, dsolve
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@

#. The axis is fixed.
#. Angular speed is constant, i.e. :math:`\frac{d \omega}{d t} = 0.`

**Links:**

#. `Wikipedia, second out of the last four equations in the paragraph <https://en.wikipedia.org/wiki/Kinematics#Acceleration_2>`__.
"""

from sympy import Eq, solve, dsolve
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@

#. The axis is fixed.
#. Angular acceleration is constant, i.e. :math:`\frac{d \alpha}{d t} = 0.`

**Links:**

#. `Wikipedia, first out of the last four equations in the paragraph <https://en.wikipedia.org/wiki/Kinematics#Acceleration_2>`__.
"""

from sympy import Eq, dsolve, solve
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@

*Angular speed*, or *angular frequency*, is a scalar physical quantity measuring
the rate of change in angle of rotation over time.

**Links:**

#. `BYJU's <https://byjus.com/physics/angular-velocity/#average-angular-velocity>`__.
"""

from sympy import (Eq, solve)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
=====================================================

*Centripetal acceleration* is defined as the change in velocity tangential to the velocity vector.

**Links:**

#. `Physics LibreTexts, second part of equation 6.2.5 <https://phys.libretexts.org/Bookshelves/College_Physics/College_Physics_1e_(OpenStax)/06%3A_Uniform_Circular_Motion_and_Gravitation/6.02%3A_Centripetal_Acceleration>`__.
"""

from sympy import Eq, solve
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
====================================================

*Centripetal acceleration* is defined as the change in velocity tangential to the velocity vector.

**Links:**

#. `Physics LibreTexts, first part of equation 6.2.5 <https://phys.libretexts.org/Bookshelves/College_Physics/College_Physics_1e_(OpenStax)/06%3A_Uniform_Circular_Motion_and_Gravitation/6.02%3A_Centripetal_Acceleration>`__.
"""

from sympy import Eq, solve, sin, cos, Derivative, pi
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@
#. Velocity vectors must be collinear.
#. Space and time are absolute.
#. Applicable to inertial reference frames.

**Links:**

#. `Wikipedia, vector counterpart of this law <https://en.wikipedia.org/wiki/Velocity-addition_formula#Galilean_relativity>`__.
"""

from sympy import Eq
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@

#. This law is also applicable for any physical quantity that changes its value in
a repeating harmonic manner, therefore :symbols:`any_quantity` is used.

**Links:**

#. `Wikipedia <https://en.wikipedia.org/wiki/Simple_harmonic_motion#Dynamics>`__.
"""

from sympy import Eq, cos, dsolve
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@
**Conditions:**

#. Acceleration is constant, i.e. :math:`\frac{d a}{d t} = 0.`

**Links:**

#. `Wikipedia, vector counterpart of this law <https://en.wikipedia.org/wiki/Kinematics#Relative_acceleration>`__.
"""

from sympy import Eq, solve, dsolve
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
**Conditions:**

#. Speed is constant, i.e. :math:`\frac{d v}{d t} = 0.`

**Links:**

#. `Wikipedia, derivable from the vector counterpart of this law <https://en.wikipedia.org/wiki/Kinematics#Relative_acceleration>`__.
"""

from sympy import (Eq, solve, dsolve)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@
**Conditions:**

#. The slab is uniform.

**Links:**

#. `Wikipedia, see table <https://en.wikipedia.org/wiki/List_of_moments_of_inertia>`__.
"""

from sympy import Eq, sqrt
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@
**Conditions:**

#. The disk is uniform.

**Links:**

#. `Wikipedia, sixth row of table <https://en.wikipedia.org/wiki/List_of_moments_of_inertia>`__.
"""

from sympy import Eq, pi
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@

#. The rod is uniform.
#. The rod is thin, i.e. its diameter is much less than its length.

**Links:**

#. `Wikipedia, third row of table <https://en.wikipedia.org/wiki/List_of_moments_of_inertia>`__.
"""

from sympy import Eq
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,14 @@
that of the same body about a parallel axis that extends through the body's center of mass
of mass).


**Conditions:**

#. The two axes must be parallel to each other.
#. The axis used in the calculation of :math:`I_\text{com}` must pass through the body's center of mass.

**Links:**

#. `Wikipedia <https://en.wikipedia.org/wiki/Parallel_axis_theorem#Mass_moment_of_inertia>`__.
"""

from sympy import Eq
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@
# Note:
## - The integration is carried out over the entire body as to include every volume element.

# Links:
## Wikipedia, derivable from fourth equation <https://en.wikipedia.org/wiki/Moment_of_inertia#Point_mass>

rotational_inertia = Symbol("rotational_inertia", units.mass * units.length**2)
density = Function("density", units.mass / units.length**3)
distance_to_axis = Function("distance_to_axis", units.length)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,10 @@

# Notes:
## - The integration is carried out over the entire body as to include every volume element.
## - THe z-axis is the rotational axis of the body
## - The z-axis is the rotational axis of the body

# Links:
## Wikipedia, derivable from fourth equation <https://en.wikipedia.org/wiki/Moment_of_inertia#Point_mass>

rotational_inertia = Symbol("rotational_inertia", units.mass * units.length**2)
density = Function("density", units.mass / units.length**3)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
**Conditions:**

#. The rotational inertia is calculated for the same axis for all parts of the system.

**Links:**

#. `Wikipedia, see second paragraph <https://en.wikipedia.org/wiki/Moment_of_inertia>`__.
"""

from typing import Sequence
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@

Rotational inertia of a rotating particle is defined as the product of its mass
and the squared radius of rotation.

**Links:**

#. `Wikipedia, third equation <https://en.wikipedia.org/wiki/Moment_of_inertia#Definition>`__.
"""

from sympy import Eq
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@

Speed of a rotating body can be calculated using its angular speed and instantaneous
radius of curvature of the body's path.

**Links:**

#. `Physics LibreTexts, first part of formula 6.1.9 <https://phys.libretexts.org/Bookshelves/College_Physics/College_Physics_1e_(OpenStax)/06%3A_Uniform_Circular_Motion_and_Gravitation/6.01%3A_Rotation_Angle_and_Angular_Velocity>`__.
"""

from sympy import Eq, solve
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
**Conditions:**

#. Acceleration is constant, i.e. :math:`\frac{d a}{d t} = 0.`

**Links:**

#. `Wikipedia, vector counterpart of this law <https://en.wikipedia.org/wiki/Kinematics#Relative_acceleration>`__.
"""

from sympy import (Eq, solve)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
**Conditions:**

#. Radius is constant, i.e. :math:`\frac{d r}{d t} = 0.`

**Links:**

#. Equation 10-22 on p. 269 of "Fundamentals of Physics" by David Halladay et al., 10th Ed.
"""

from sympy import Eq, solve, Derivative
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,13 @@
**Notes:**

#. Moving frame :math:`S'` can perform both translational and rotational motion.

**Links:**

#. `Wikipedia <https://ru.wikipedia.org/wiki/%D0%A1%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5#%D0%A1%D0%BA%D0%BE%D1%80%D0%BE%D1%81%D1%82%D1%8C>`__.

..
TODO: find English link
"""

from symplyphysics import (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,13 @@
**Notation:**

#. :math:`\vec a \times \vec b` (:code:`cross(a, b)`) is vector product of :math:`\vec a` and :math:`\vec b`.

**Links:**

#. `Wikipedia <https://ru.wikipedia.org/wiki/%D0%A1%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5#%D0%A3%D1%81%D0%BA%D0%BE%D1%80%D0%B5%D0%BD%D0%B8%D0%B5>`__.

..
TODO find English link
"""

from sympy import Expr, abc
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@
and points to the instantaneous axis of rotation,
#. and *tangential acceleration*, which is responsible for the change in the magnitude of
the velocity vector.

**Links:**

#. `Wikipedia <https://en.wikipedia.org/wiki/Circular_motion#Formula>`__.

#. `Mathematica LibreTexts <https://math.libretexts.org/Bookshelves/Calculus/Supplemental_Modules_(Calculus)/Vector_Calculus/2%3A_Vector-Valued_Functions_and_Motion_in_Space/2.6%3A_Tangential_and_Normal_Components_of_Acceleration>`__.
"""

from pytest import approx
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,13 @@
rotation of the moving frame. The transfer acceleration only depends on the motion of frame :math:`S'` relative to
stationary frame :math:`S`, so its physical meaning would be that it is the acceleration in :math:`S` of a point stationary
in :math:`S'`.

**Links:**

#. `Wikipedia <https://ru.wikipedia.org/wiki/%D0%A1%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5#%D0%A3%D1%81%D0%BA%D0%BE%D1%80%D0%B5%D0%BD%D0%B8%D0%B5>`__.

..
TODO find English link
"""

from symplyphysics import (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@

The center of mass (com) of a system of particles is a unique point at any given time where
the sum of weighted relative positions of the distributed mass is zero.

**Links:**

#. `Wikipedia, second formula <https://en.wikipedia.org/wiki/Center_of_mass#A_system_of_particles>`__.
"""

from typing import Sequence
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@

The vector of *centrifugal acceleration* has the same magnitude as the vector of *centripetal
acceleration* but is directed oppositely to it.

**Links:**

#. `BYJU's <https://byjus.com/physics/centripetal-and-centrifugal-force/>`__.
"""

from symplyphysics import (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@
**Notation:**

#. :math:`\vec a \times \vec b` (:code:`cross(a, b)`) is the cross product between :math:`\vec a` and :math:`\vec b`.

**Links:**

#. `Wikipedia <https://en.wikipedia.org/wiki/Centripetal_force#Derivation_using_vectors>`__.
"""

from sympy import symbols
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@
#. :math:`\text{oproj}_{\vec b} \vec a` (:code:`reject(a, b)`) is the rejection of
:math:`\vec a` from :math:`\vec b`, i.e. the component of :math:`\vec a` orthogonal
to :math:`\vec b`.

**Links:**

#. `Wikipedia <https://en.wikipedia.org/wiki/Centripetal_force#Derivation_using_vectors>`__.
"""

from symplyphysics import (
Expand Down
4 changes: 4 additions & 0 deletions symplyphysics/laws/kinematics/vector/coriolis_acceleration.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@
Suppose a reference frame :math:`S'` is fixed to a rotating body :math:`A` (e.g. Earth), so that frame :math:`S'` rotates w.r.t.
another static reference frame :math:`S`. The Coriolis acceleration is the acceleration another body :math:`B` has when
moving within rotating reference frame :math:`S'`, so it is essentially zero for objects at rest in :math:`S'`.

**Links:**

#. `Wikipedia <https://en.wikipedia.org/wiki/Coriolis_force#Formula>`__.
"""

from symplyphysics import (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@

#. The axis is fixed.
#. Angular displacement pseudovector and radius vector must be orthogonal to one another.

**Links:**

#. `Physics LibreTexts, formula 11.1.4 <https://phys.libretexts.org/Bookshelves/University_Physics/Book%3A_Introductory_Physics_-_Building_Models_to_Describe_Our_World_(Martin_Neary_Rinaldo_and_Woodman)/11%3A_Rotational_dynamics/11.01%3A_Rotational_kinematic_vectors>`__.
"""

from pytest import approx
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@
## w - pseudovector of angular velocity related to rotation of moving frame S' about instantaneous axis
## r - vector of position of point X relative to moving frame S'

# Links: Wikipedia, first formula <https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%BE_%D1%81%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B8_%D1%81%D0%BA%D0%BE%D1%80%D0%BE%D1%81%D1%82%D0%B5%D0%B9#%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5>
# TODO: find English link


def transfer_velocity_law(
moving_frame_velocity_: Vector,
Expand Down
Loading
Loading