同情的动量和角动量

时间:2017-12-02 12:56:48

标签: python sympy

如何使用python / sympy

计算力对物体(在真空中)造成的动量和角动量

我正在寻找一个图书馆来做这件事,我没有坚持同情,但是用同情的回答会很好(不要让问题太宽泛)。

我尝试了什么?好吧,我尝试阅读相关文档,并意识到它不是针对程序员,而是针对物理学生。

1 个答案:

答案 0 :(得分:1)

力量和扭矩会导致身体的动量和角动量出现 变化 。对于这些计算,物理学是不可避免的,并且没有通用的解决方案,因为除非我们知道正在考虑的系统的详细信息(作用的是什么样的力或扭矩,系统的形状和质量等),否则我们无法计算动量。

因此,如果我们知道力F如何随时间变化,我们可以通过将相应的力分量与时间相结合来计算角动量变化的x,y和z分量。 SymPy可以帮助我们进行集成。虽然,SymPy有一个专用的物理矢量模块,但如果我们有一个足够简单的力方程,只需Sympy's integrate函数就足够了,我们甚至不需要它。例如,假设作用于系统的力的唯一非零分量是给定为cos(t)的x分量。

import sympy as sp
t,t0,t1 = sp.symbols('t,t0,t1')

Fx = sp.cos(t) # x-component of Force
MomX = sp.integrate( Fx, (t,t0,t1) ) # x-component of change in momentum
# MomX = sin(t1) - sin(t0)

类似的讨论适用于角动量的变化,除了力将被扭矩代替,或者如果有足够的细节关于系统的几何形状,可以从力本身计算扭矩然后将其整合时间来改变角动量。