2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

運動量と運動エネルギーについて(衝突問題)

2
Last updated at Posted at 2026-01-18

はじめに

運動方程式は、物体の運動を解析するときに非常に便利なツールである。
しかし、運動方程式は、単体ではその瞬間の情報しか与えてくれない。

そこで、特定の時刻に縛られない物理量として運動量、運動エネルギーを定義した。

今回は、2つの正の電荷の衝突問題を扱うことで、運動量保存則及び、力学的エネルギー保存則の使用方法について学ぶ。

前半では、運動量保存則と力学的エネルギー保存則について運動方程式から導出する。

後半では、具体的な2物体の衝突問題を扱う。
具体的には、計算機を用いて、2つの正の電荷を近づけた場合の運動の様子を可視化する。

move_AB.gif

物体に働く力.png

運動量保存則について

以下のような、直線運動をする$A,B$を考える。

初速度は$v_A>v_B$とし、初期位置は$x_A<x_B$とする。

運動量保存則.png

衝突期間を、$t=t_1$~$t=t_1+\Delta t$とする。

衝突期間の運動方程式は、衝突時の2物体に働く力$F$を一定とすると、以下のように表せる。



\begin{cases}
m_{A} a_A = -F\\
m_{B} a_B = F
\end{cases}

ここで、

a_A=\frac{v'_A-v_A}{\Delta t},a_B=\frac{v'_B-v_B}{\Delta t}

とする。($v'_A,v'_B$は衝突直後の速度)

ゆえに、

\begin{cases}
m_{A} (v'_A-v_A) = -F\Delta t\\
m_{B} (v'_B-v_B) = F\Delta t \\
\end{cases}

したがって、$F\Delta t$(力積)を消去すると、以下のような式が成立する。


m_A v'_A+m_B v'_B=m_A v_A +m_B v_B

ここで、$m_A v_A$のような物体の質量と速度の積を運動量と定義する。

上式は運動量保存の法則という。

ここで、気を付けて欲しいのは、運動量保存の法則は衝突の激しさ($F \Delta t$)に関しては言及していない。

例えば、衝突時間$\Delta t$を一定としても、やわらかい物体同士の衝突だと$F$は硬い物体同士の衝突の$F$よりも小さくなる。したがって、物体の硬さ(反発係数)によって衝突後の速度は変化してしまう。

なので、衝突後の速度を運動量保存則で求めたい場合は、反発係数の式や後述するエネルギー保存則の式と連立させる必要性がある。

エネルギー保存則について

ある物体を、位置$x=x_0$から$x=x+\Delta x$までの微小区間、一定の力$F$で引っ張り加速させることを考える。

image.png

つまり、$x=x_0$のときの速度$v$の物体を$F$の力で$x=x+\Delta x$まで引っ張り加速させ、速度$v'$まで持っていく。

このとき、物体の加速度$a$は、運動方程式より以下の式で与えられる。

a=\frac{F}{m}

この値は定数であるため、物体は区間$x_0\le x\le x_0+\Delta x$では等加速度直線運動をする。

したがって、時刻$t=t_0$(加速前$x=x_0$)から$t=t_0+\Delta t$(加速後$x=x_0+\Delta x$)の間について以下のことが成立する。


a =\frac{v'-v}{\Delta t}

ゆえに、


\Delta t =\frac{v'-v}{a}

一方で、

\Delta x =\int^{\Delta t}_{0} (v+a t) dt = v\Delta t+\frac{1}{2}a(\Delta t)^2

上2つの式を連立して$\Delta t$を消去すると以下のようになる。

{v'}^2-v^2 = 2a\Delta x

この式の両辺に$\frac{1}{2}m$を掛けると以下のようになる。

\frac{1}{2}m{v'}^2-\frac{1}{2}mv^2 = ma\Delta x=F\Delta x

ここで、$\frac{1}{2}mv^2$のような物理量を運動エネルギーと定義する。

したがって、2物体の衝突の場合、衝突によるエネルギー損失がない理想的な状態だと以下のようになる。


\frac{1}{2}m_A v_A'^2+\frac{1}{2} m_B v'^2_B=\frac{1}{2}m_A v_A^2+\frac{1}{2} m_B v_B^2

これをエネルギー保存の法則という。

上式と運動量保存の法則を連立させると、以下の式が導出できる。

-\frac{v'_B-v'_A}{v_B-v_A}=1

このような衝突を完全弾性衝突という。

一般的には、衝突時エネルギー損失があるため、

-\frac{v'_B-v'_A}{v_B-v_A}=e (0\le e\le 1)

となる。ただし、$e$は物体の反発係数である。

問題

そこで、以上の考察を用いたある問題を考えてみよう。

A,B2つの正電荷を直線上で衝突させることを考える。ただし、$A,B$には以下で示すような反発力が働くとする。

F=k\frac{Q_A Q_B}{(x_B-x_A)^2}

ただし、簡単のため、$k=1,Q_A=Q_B=1$とする。

この場合、完全弾性衝突とみなしてよく、運動量保存則及び力学的エネルギー保存則の両方が成立する。

このときの運動の様子をイメージして、$A,B$の運動量および運動エネルギーがどのように変化するかイメージを立ててみよう。

プログラム

参考までに、Pythonでのプログラムを載せる。
興味のある方以外は飛ばして欲しい。

Python move_AB.py
import numpy as np
import matplotlib.pyplot as plt
import japanize_matplotlib
import math
import matplotlib.animation as animation

fig = plt.figure()

ims = []

m_A=1
m_B=1

x_A=2
x_B=4

v_A=10
v_B=1

t=0

dt=1e-3

x_A_ary=[]
x_B_ary=[]

v_A_ary=[]
v_B_ary=[]

a_A_ary=[]
a_B_ary=[]

t_ary=[]

P_A_ary=[]
P_B_ary=[]

K_A_ary=[]
K_B_ary=[]

f_ary=[]

while t<1:
    f=1/(x_B-x_A)**2
    a_A=-f/m_A
    a_B=f/m_B
    
    
    P_A=m_A*v_A
    P_B=m_A*v_B
    
    K_A=0.5*m_A*v_A**2
    K_B=0.5*m_B*v_B**2
    
    v_A=v_A+a_A*dt
    v_B=v_B+a_B*dt
    
    x_A=x_A+v_A*dt
    x_B=x_B+v_B*dt
    
    t=t+dt
    a_A_ary.append(a_A)
    a_B_ary.append(a_B)
    
    v_A_ary.append(v_A)
    v_B_ary.append(v_B)

    x_A_ary.append(x_A)
    x_B_ary.append(x_B)
    
    
    P_A_ary.append(P_A)
    P_B_ary.append(P_B)
    
    K_A_ary.append(K_A)
    K_B_ary.append(K_B)
    
    f_ary.append(f)
    
    t_ary.append(t)
    
    
    plt.xlim(0,10)
    im1=plt.plot(x_A,0,"o",color="red")
    im2=plt.plot(x_B,0,"o",color="blue")
    
    ims.append(im1+im2)  # グラフを配列 ims に追加


# 10枚のプロットを 100ms ごとに表示
ani = animation.ArtistAnimation(fig, ims, interval=100)
 # 保存
ani.save('move_AB.gif')
plt.show()

plt.plot(t_ary,P_A_ary,color="red",label="A")
plt.plot(t_ary,P_B_ary,color="blue",label="B")
plt.xlabel("時刻")
plt.ylabel("運動量")
plt.legend()
plt.savefig("運動量.png")
plt.show()

plt.plot(t_ary,K_A_ary,color="red",label="A")
plt.plot(t_ary,K_B_ary,color="blue",label="B")
plt.xlabel("時刻")
plt.ylabel("運動エネルギー")
plt.legend()
plt.savefig("運動エネルギー.png")
plt.show()


plt.plot(t_ary,f_ary,color="blue")

plt.xlabel("時刻")
plt.ylabel("2物体に働く力")
plt.legend()
plt.savefig("物体に働く力.png")
plt.show()

ただし、運動のアニメーション作成は、以下の記事を参考にした。

結果

運動の様子

運動の様子は、以下のようになる。

move_AB.gif

$A,B$が近づくにつれて、$A$の速度は遅くなり$B$の速度は速くなる。したがって、$A,B$が同じ位置に来る(衝突)は厳密には起こらない。しかし、原理は衝突問題と同じなので今回は衝突問題と表記した。

運動量

$A,B$の運動量は、時刻によって以下のように変化する。

運動量.png

衝突により、$A$の運動量の一部が$B$の運動量に変換された。

運動エネルギー

$A,B$の運動エネルギーは、時刻によって以下のように変化する。

運動エネルギー.png

衝突によって、$A$の運動エネルギーの一部が$B$の運動エネルギーに変換された。

2物体間に働く力(撃力)

物体に働く力.png

2物体間に働く力は、一般的に瞬間的だが非常に強い力が働く。
2物体の衝突の場合も同様の傾向がある。そのような力を『撃力』という。

まとめ

運動量と運動エネルギーという概念の起源は運動方程式である。
今回は、運動量保存則とエネルギー保存則について扱った。
以下重要事項を2点ほど述べる。

・運動量保存の法則は、着目物体のみ力のやり取りをしている場合に成立する。
・力学的エネルギー保存は、摩擦や熱などにエネルギーが変換されないような保存力のみ働いている場合に成り立つ。(摩擦や熱といったエネルギー損失分まで考慮に入れれば成立する。)

運動量と運動エネルギーは混同しやすい概念であるため、原理をしっかりと理解しておく必要がある。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?