Document

球面振り子の数値計算
!"#$%&'()*+, 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+3“”•4
Ƭ@֝˜5“”•¢ŒÖ6Ö6Èɪ¬œÒŒàॢ Leap-Frog 5‹±Ö›°7‹|ž¯
ñ²#"ˎÙÚ⌰7ÚâÒ¥¾œŠ¯L֕¢Œ89:;+<=+> Laboratory
¼ Results ¼ ½.AB+-C/D#Ê­E¯ßŽFGH—IÒ¾¹ö²Ž¥Œß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
ãäbŽcd
Ž‘’Žcd
Ã()Žcd
å˜ÀŽÃ‰ŠŽcd
Že¹f”"׎cd
è˜ÀŽÃ̉Š
Ã()´è˜À½
Ã()´å˜À½
Ã()Ž2*_P$%gŽ01
Ã()ŽNÊ^_gŽhû§”
ÂΎ`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$%gŽ01
e¹f”Ž`U
è˜ÀŽÌ‰ŠŽ
èŽ
åŽ
2*_P$%gŽ01
NÊ^_gŽhû§”
IÜgŽhû§”
NO+j[PV
e¹f”Žæk