球面振り子の数値計算
!"#$%&'()*+, r ,θ , φ 3 -./0
1-2345678
z
r
er
r
θ
r
eθ
r
eφ
r
k
r
i
φ
r
j
y
r
eφ
x
a 2b3 cdefghijklm
9:;<=>?@ABC
xy D$EFGHIJKLMN+OP8Q
r
r
r
l = cos φ i + sin φ j
RROMRS#TMUVW'XYFGHIJKL-.
r
r r
r
r
r
er = sin θ l + cos θ k , eθ = cos θ l − sin θ k
r
l
r
r
r
r
er =sin θ cos φ i + sin θ sin φ j + cos θ k ,
r
r
r
r
eθ = cos θ cos φ i + cos θ sin φ j − sin θ k
W
Z[ \TM ]^ZTM
_[M`FGHIJKLM
r
r
r
eφ = − sin φ i + cos φ j
WP8Q
NMnoOpqZMrst
WN+u
r
r d
r d
r d
e&r =
sin θ cos φ i +
sin θ sin φ j +
cos θ k
dt
dt
dt
r
r
r
= θ& cos θ cos φ − φ& sin θ sin φ i + θ& cos θ sin φ + φ& sin θ cos φ j + −θ& sin θ k
r
r
r
r
r
= θ& cos θ cos φi + cos θ sin φ j − sin θ k + φ& sin θ − sin φi + cos φ j
144
42444
3
14444442444444
3
r
r
(
)
(
(
)
(
)
) (
(
)
) (
)
(
)
eφ
eθ
r
r
r
r
r
r
e&θ = −θ& sin θ cos φ i − φ& cos θ sin φi − θ& sin θ sin φ j + φ& cos θ cos φ j − θ& cos θ k
r
r
r
r
r
= −θ& sin θ cos φ i + sin θ sin φ j + cos θ k + φ& cos θ − sin φi + cos φ j
144
42444
3
14444442444444
3
r
r
(
)
(
)
eφ
er
r
r
r
r
r
e&φ = −φ& cos φi − φ& sin φ j = −φ& cos φi + sin φ j
144r244
3
r
(
)
sin θer + cosθeθ
r
r
r
r
r
Q er sin θ + eθ cos θ =sin 2 θ cos φ i + sin 2 θ sin φ j + sin θ cos θ k ,
r
r
r
r
r
2
2
+
cos
θ
cos
φ
i
+
cos
θ
sin
φ
j
−
cos
θ
sin
θ
k
=
cos
φ
i
+
sin
φ
j
vw_Wx
WM
r
r
r
r
r
r
r
r
r
e&r = θ&eθ + φ& sin θ eφ , e&θ = −θ&er + φ& cos θeφ , e&φ = −φ& ( sin θer + cos θeθ )
GyHIJKLM
r
r
r = rer
W0MzFGHIJK no{|t
RW}~ZTMnoOpqt
WM
r r
r
r
r
r
r
& r + re&r = re
& r + rθ&eθ + rφ& sin θ eφ
v = r& = re
QnoOpqZLM
r
r
r
r
r
r
&& r + r&e&r + r&θ&eθ + rθ&&eθ + rθ&e&θ
r&& = re
r
r
& & cos θ er + rφ& sin θ er&
+ r&φ& sin θ eφ + rφ&&sin θ eφ + rφθ
φ
φ
r
r
r
r
r
r
r
& & cos θer
&& r + r&θ&eθ + r&φ& sin θ eφ + r&θ&eθ + rθ&&eθ − rθ& 2er + rθφ
r&& = re
φ
r
r
r
r
r
+ r&φ& sin θ eφ + rφ&&sin θ eφ + rφ&θ& cos θ eφ − rφ&2 sin 2 θer − rφ&2 sin θ cos θeθ
r
r
r
r&& = r&& − rθ& 2 − rφ&2 sin 2 θ er + rθ&& + 2r&θ&− rφ&2 sin θ cos θ eθ
& & cos θ er
+ rφ&&sin θ + 2r&φ& sin θ + 2rθφ
φ
!"#WM r&& = r& = 0 O
OMLN+W
r
r
r
& & cos θ
a = −rθ& 2 − rφ&2 sin 2 θ er + rθ&& − rφ&2 sin θ cos θ eθ + rφ&&sin θ + 2rθφ
r
eφ
g T l (1)-(3) ¡¢£
¤¥¦§¨©ª«ª¬¡¢®¯°±²³¨´µ¶·¸¹º»¼½©ª¥
¾
(1)
¿ r ÀÁ θ& + φ& sin θ = − gl cosθ + mTl
2
2
2
¿ θ ÀÁ θ&& − φ& sinθ cosθ = − gl sinθ
¿ φ ÀÁ φ&& sinθ + 2θφ& & cosθ = 0
2
(2)
(3)
ÂâÄÀ´À½¥¾¹ T ÅÆÆÇÈɪ¬
µÊË¢¸¬Ì θ ÅÆÆÇÍάÏÊË¢ÐÀÌ φ ÅÆ
ÆÇ¥¾Ñ¯Ç θ φ ÒÓÔÕÖרÙÚ²¯ÇÛÛÜݯÞÉßà¥(3)
ÙڲƯᡯ sinθ ©â
& &cosθ sinθ = 0
φ&&sin 2θ + 2θφ
ࢶãä t ¥åÚæ¯çÕÖÒè©
φ& sin 2 θ = C1
(4)
ÒÕ(3)é蹯à±Öàêë¢ÌìíîïðÖß
¬ñ²Æ¯á¡¯ ml òâ¶Ò«ª¬
2
2
ml 2φ& sin 2 θ = m(l sin θ ) φ& = C 2
àॠl sinθ ¢óôõ©ª®ö¥÷øð²àê뢸¬Ì θ ÒùÖã¢ÐÀ
Ì φ& ÒúûüçàñÖößýÇþ¹ÿLÐÀ¯ Éà v ¢
|L
1
v1 = lsinθ1 ⋅ φ&1
¢ÃÌ¥¾(4)¢ φ& sin θ = C
(4)(5)ᩪ¶«
θ1
2
φ& =
= φ&1 sin θ1
2
1
v1 sin θ1
l sin 2 θ
ÈÉÇÖ¥
(5)
(6)
ଥÐÀÌ φ& Ò θ × Éª¬Â¯(6)(2)¯é¶«
2
g
v sin θ1 cos θ
ω&θ = − sin θ + 1
,
3
l
l sin θ
(Q
θ& ≡ ωθ )
(7)
à(7)¢θ ¯çÕÖ(2)Ú
¯çÕÖ(2)(3)Íü
é蹯(7)(6)Íü(1)¢Âï¯ T ÅÆÆ¯®
ÅÆâ窯(1)²¢çÖ
¢Âï(7)!"ãäÙÚ θ ÅÆ¶¯(6)#ãäÙÚ φ
ÅÆÂ¯?$%&¯'â()*+,-./$%&()¯01ר2+34
Ƭ@Ö5¢Ö6Ö6Èɪ¬Òàॢ Leap-Frog 5±Ö°7|¯
ñ²#"ËÙÚâ°7ÚâÒ¥¾¯LÖ¢89:;+<=+> Laboratory
¼ Results ¼ ½.AB+-C/D#ÊE¯ßFGHIÒ¾¹ö²¥ßJª¥KMüÖ
¿NO+PQ/R+STÁ
*======================================================================
PROGRAM spherical pendulum
*======================================================================
*
----- A-H
O-Z
---------------IMPLICIT DOUBLE PRECISION (A-H,O-Z)
*
----10000
----------------Dimension X(10000),Y(10000), Z(10000)
Dimension THETA(10000), OMEGA(10000), FAI(10000)
Dimension THETAN(10000), OMEGAN(10000), FAIN(10000)
------------------------------------*
----OPEN(30,FILE='result.txt')
*
-------------------------------------------G=9.8
*
-----------------------------------------------PAI=3.14159265358
*
-----------------------------------WRITE(*,*)'Time step?='
READ(5,*) DELT
*
-----------------------------------WRITE(*,*)'Length of the string?='
READ(5,*) ZL
*
-----------------------------------WRITE(*,*)'Theta1 (Initial THETA angle in degree)?='
READ(5,*) Theta1
Theta1=Theta1*PAI/180.0
*
-----------------------------WRITE(*,*)'V1 (Initial velocity in the FAI direction)?='
READ(5,*) V1
*
-------------------------WRITE(*,*)'How many steps do you compute?='
READ(5,*) NN
*
-----------------------------------OMEGA(1)=0.0
*
------------------------------------THETA(1)=Theta1
*
------------------------------------FAI(1)=0.0
*
--------------------X(1)=ZL*sin(THETA(1))*cos(FAI(1))
Y(1)=ZL*sin(THETA(1))*sin(FAI(1))
Z(1)=ZL*(1.0-cos(THETA(1)))
--------------------*
----WRITE(30,112) X(1), Y(1), Z(1)
¥UöVWX¢YZ
ãäÒ ×,[\ö¥]X¯²
NÊ^_`ü
àÐa
ãäbcd
cd
Ã()cd
åÀÃcd
e¹f"×cd
èÀÃÌ
Ã()´èÀ½
Ã()´åÀ½
Ã()2*_P$%g01
Ã()NÊ^_ghû§
ÂÃ`U
#"ËèÀÌ´ãäb¢iÚ½
*======================================================================
*================
====================================
*======================================================================
*
---------OMEGAN(2)=OMEGA(1)+(-G/ZL*sin(THETA(1))
&
+(V1/ZL)**2.0
&
*(sin(Theta1))**2.0*cos(THETA(1))/sin(THETA(1))**3.0)
&
*DELT/2.0
OMEGA(2)=OMEGAN(2)
*
-------------------------------------THETAN(2)=THETA(1)+OMEGA(2)*DELT
THETA(2)=THETAN(2)
*
-------------------------------------FAIN(2)=FAI(1)+(V1*sin(Theta1)/(ZL*sin(THETA(1))**2.0))*DELT
FAI(2)=FAIN(2)
*
----------------------X(2)=ZL*sin(THETA(2))*cos(FAI(2))
Y(2)=ZL*sin(THETA(2))*sin(FAI(2))
Z(2)=ZL*(1.0-cos(THETA(2)))
*======================================================================
==================================
*================
*======================================================================
DO 20 I=2,NN-1
*
-------------OMEGAN(I+1)=OMEGA(I)+(-G/ZL*sin(THETA(I))
&
+(V1/ZL)**2.0
&
*(sin(Theta1))**2.0*cos(THETA(I))/sin(THETA(I))**3.0)
&
*DELT
OMEGA(I+1)=OMEGAN(I+1)
*
---------------------------------------------THETAN(I+1)=THETA(I)+OMEGA(I+1)*DELT
THETA(I+1)=THETAN(I+1)
*
---------------------------------------------FAIN(I+1)=FAI(I)+(V1*sin(Theta1)/(ZL*sin(THETA(I))**2.0))*DELT
FAI(I+1)=FAIN(I+1)
*
-----------------------------X(I+1)=ZL*sin(THETA(I+1))*cos(FAI(I+1))
Y(I+1)=ZL*sin(THETA(I+1))*sin(FAI(I+1))
Z(I+1)=ZL*(1.0-cos(THETA(I+1)))
*
---------------------------------WRITE(30,112) X(I), Y(I), Z(I)
---------------------------------*
----WRITE(6,113)I, X(I), Y(I), Z(I)
20 CONTINUE
*
---------------------------------------112 FORMAT(3F12.5)
113 FORMAT(I4, 3F12.5)
*======================================================================
*================
==================================
*======================================================================
CLOSE(30)
STOP
END
#"Ëè
#"Ëå
#"Ë2*_P$%g01
e¹f`U
èÀÌ
è
å
2*_P$%g01
NÊ^_ghû§
IÜghû§
NO+j[PV
e¹fæk
© Copyright 2026 Paperzz