SAD部屋 - Ticket-30 Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

! cod(6)の取扱い

:Priority:Normal
:Reporter:Akio Morita
:Status:Closed
:Assigned to:?
:Version:
:Milestone:?
:Created:2012-02-08

!! Description

TRACK(''src/tdrift.f'')とEMIT(''src/tdrife.f'')の軌道の写像定義で、
'''cod(6)'''の取扱いが異なる用に見える。

共役運動量変数の定義を確認する必要がある

!! Attachement files
{{attach_map('Ticket-30')}}
{{attach_form('','')}}//{{attach_form('','')}}

!! Changelog
!!!Akio Morita (2012-02-09 (木) 16:33:10)
TRACK内部の横方向共役運動量の内部変数は、 '''p0'''ではなく'''p'''で正規化されている(以下を参照)
* MAPエレメントの入出力変換
* TrackParticlesの入出力変換
!!!anonymous (2012-02-09 (木) 17:17:59)
自由ドリフト区間の'''x''', '''y'''のレスポンスは、共役運動量のスケールが異なるだけで、同一の変換と確認した
!!!Akio Morita (2012-02-09 (木) 17:30:19)
EMIT内の pxi**2+pyi**2の上限は '''pr**2'''とするのが正しいと思われる
!!!Akio Morita (2012-02-09 (木) 17:57:24)
EMITとTRACKで'''dv'''変数の内容は一致した
ただし、計算式が異なる(ユークリッドノルム評価での情報落ちを嫌った?)

$\sqrt{1+p^2} = p + \frac{1}{p + \sqrt{1 + p^2}}$

EMITは右辺、TRACKは左辺で計算している

数値計算的には、'''hypot(1.d0, p)'''を使うべき所と思われる

左辺を直接数値計算すると$1+p^2$で $|p|\gg1$ もしくは $|p|\ll1$の際に、情報落ちが発生する
!!!Akio Morita (2012-02-10 (金) 14:44:55)
'''z'''の''dpzi''依存項について、表現が異なるが同じ内容であることを確認した

TRACK側の変数表記で記述すると
* -(1-pzi)/pzi*al (TRACK)
* -s/(1+pzi)/pzi*al (EMIT)
ここで、$pzi = 1 - \frac{s}{\sqrt{1 - s} + 1}$

$\frac{s}{\sqrt{1-s}+1} = 1 - \sqrt{1-s}$ なので $pzi = \sqrt{1-s}$

故に、$1 - pzi^2 = (1+pzi)(1-pzi) = s$で上記2項は同一
!!!Akio Morita (2012-02-10 (金) 14:48:39)
* 自由ドリフトに関しては、数学的には同一と確認された
* 数値誤差の取扱いは、同一では無いので改修の余地がある

{{its_edit_ticket_form}}//{{its_edit_ticket_form}}