Upgrade to Pro — share decks privately, control downloads, hide ads and more …

微分形式による物理方程式の記述と 離散微分形式によるシミュレーション

DeepFlow, Inc.
February 05, 2023

微分形式による物理方程式の記述と 離散微分形式によるシミュレーション

解析力学は微分形式で表せ、散逸系に拡張できる。微分形式で記述された物理方程式は、離散微分形式に自然に変換できる。この手順を示し、この離散化をつかったシミュレーションを紹介する。

DeepFlow, Inc.

February 05, 2023
Tweet

More Decks by DeepFlow, Inc.

Other Decks in Science

Transcript

  1. ⽬次 1. 製造業におけるシミュレーションの役割 2. 微分形式による物理の記述 3. 離散微分形式への⾃然な変換 4. シミュレーションの実⾏例紹介 参考⽂献

    散逸系の変分原理, ⽇本物理学会誌, (2017), https://www.jstage.jst.go.jp/article/butsuri/72/1/72_34/_article/-char/ja/ 微分形式による粘性流体の定式化, ながれ (2021) , https://www.nagare.or.jp/download/noauth.html?d=40-1-2_kaisetu.pdf&dir=128 離散微分形式による⼤規模シミュレーション, 応⽤数理, (2021). https://www.jstage.jst.go.jp/article/bjsiam/31/1/31_22/_article/-char/ja 2 DeepFlow, Inc. 参考技術情報:https://continuous-log-6f7.notion.site/DeepFlow-Inc-d7943a2a4f954fda81faec05cb3381c6
  2. ⾼性能計算で設計を⾰新する 設計は、何をつくるかを決める企画から始まります。 概念設計では製品仕様を定め、基本設計では設計諸元を 定めます。詳細設計・性能評価では様々な設計変数での 性能評価を⽐較して、より良い設計を探していきます。 従来の試作を伴う設計⼯程では詳細設計・性能評価の 段階で設計コストは最も⾼くなり最適化も⼤変でした。 DeepFlowは⾼性能計算によるフロントローディング を提案します。概念設計・基本設計の段階で設計と性能 の関係を明らかにする現象解明を⾏って、設計に関する

    知⾒の質と量を⾼めます。これに基づいて、設計諸元を 定め、ワークフローツールを⽤いて、デジタル空間上で 最適設計を⾏います。これにより⾼性能製品の設計開発 が素早く低コストで⾏えます。 3 DeepFlow, Inc. 企 画 概念 設計 詳細 設計 基本 設計 性能 評価 製 造 ⾼性能計算による フロントローディング 設 計 コ ス ト 最適設計 現象解明 各設計⼯程における設計コスト
  3. ⼤規模・⾼速・⾼精度シミュレーション 5 DeepFlow, Inc. 1. ⼤規模データ 100億メッシュに対応 2. ⾼速並列計算 スパコンで千倍の速度UP

    3. ⾼精度マルチ物理現象 流体、 ⾳、 重⼒、熱、構造、 電磁場の相互作⽤も解明 1 4 16 64 256 1024 4096 16384 1 4 16 64 256 1024 4096 16384 Speedup Number of Processors Ideal Speedup CX400 Actual Speedup parallel portion 0.95 Strong scaling (FSI) simulation, 2017 完全陽解法を採⽤することで、 スパコン(23,616コア)を使って 19,759倍に速度が向上した。 陰解法と⽐較 して1000倍の Speedup シミュレータElkurageの並列性能 ⾼性能計算クラウドで 流体軸受 構造+流体 +気液相転移
  4. 変分原理 運動法則は曲線C0が満たすべき条件で表せる ⇒変分原理:運動が描く曲線は汎関数に停留値を与える lim α→0 α C0 −Cα p(dq −

    udt) = 0 Λຬͨ͢ɽະఆ৐਺๏Λ༻͍ͯӡಈํఔࣜ ࣜ (7) ͱ (8) ͷ࿨͔Βɼ˜ Ξ := Ldt + p(dq − ετʔΫεͷఆཧΛ༻͍Ε͹ɼϋϛϧτϯ 0 = lim α→0 1 α ∂Sα ˜ Ξ = lim α→0 1 α Sα d˜ Ξ 1 ࣍ݩͷ࣭఺ͷӡಈΛߟ͑Δɽ࣭఺ͷ࣌ࠁ t ͷ࣭఺ͷঢ়ଶ͸Ґஔ q ͱ଎౓ u Ͱ༩͑ΒΕΔɽ Ґஔ q ͷ࣌ؒൃల͸ɼdq/dt = u ΑΓ଎౓ u Ͱ ఆ·Γɼ(q, u, t) ۭؒͰӡಈۂઢ C0 ͸ C0 (dq − udt) = 0 (1) Λຬͨ͢ɽϋϛϧτϯͷݪཧʹΑΔͱ, C0 ͸ϥ άϥϯδΞϯ L(q, u) ͷ࣌ؒੵ෼ʹఀཹ஋Λ༩ ͑Δɽഔհม਺ α ʹ͍ͭͯɼlimα→0 Cα = C0 ͱͳΓɼ∂Sα := C0 −Cα ͕ดۂઢΛͳͤ͹ɼϋ ͱ͢Ε͹ɼ ͕ಘΒΕΔ ࣭఺ͷ଎ ͱ͔Βɼ଎ Ұൠతʹ੍ Ͱ͖ɼࣜ (1 𝐶! 𝐶" ಈΛߟ͑Δɽ࣭఺ͷ࣌ࠁ t q ͱ଎౓ u Ͱ༩͑ΒΕΔɽ ɼdq/dt = u ΑΓ଎౓ u Ͱ ؒͰӡಈۂઢ C0 ͸ − udt) = 0 (1) ϯͷݪཧʹΑΔͱ, C0 ͸ϥ ) ͷ࣌ؒੵ෼ʹఀཹ஋Λ༩ ͍ͭͯɼlimα→0 Cα = C0 Cα ͕ดۂઢΛͳͤ͹ɼϋ ճੵ෼ͰදͤΔɽ ͱ͢Ε͹ɼӡಈํఔࣜͰ͋Δਖ਼४ dq dt = ∂H ∂p , dp dt = − ∂ ∂ ͕ಘΒΕΔɽ ࣭఺ͷ଎౓ u ͕Ґஔ q ͷ࣌ؒൃ ͱ͔Βɼ଎౓ u ͸ঢ়ଶྔ q ͷ੍ޚ Ұൠతʹ੍ޚ͸ F(q, u) ͱؔ਺Ͱ Ͱ͖ɼࣜ (1) ͸࣍ͷΑ͏ʹҰൠԽ C (dq − F(q, u)dt) = • 曲線C0の住む空間は? • Ξはどう与えるの? • 閉曲線 ∂Sα は常にあるの? 8 DeepFlow, Inc.
  5. 全微分 2 ඍ෼ܗࣜͷಋೖ ม਺ q = (q1, · · ·

    , qn) ͷ dU(q) = ∂U ∂qi dqi ͱͳΔɽ͜Ε ্ԼͰॏͳΔ৔߹͸ɼͦͷఴ i ∂ ඍ෼ܗࣜͷಋೖ ม਺ q = (q1, · · · , qn) ͷؔ਺ U(q) ͷશ q) = ∂U ∂qi dqi ͱͳΔɽ͜ΕҎ߱ɼಉ߲͡Ͱ ԼͰॏͳΔ৔߹͸ɼͦͷఴࣈͷ࿨ΛऔΔɽϕ = Xi ∂ ∂qi ͱͷ಺෦ੵ ι Λ ιX(dU) = X(U) ༩͑Δɽؔ਺Λඍ෼ 0 ܗࣜͱݺͼɼf = f dq 10 DeepFlow, Inc.
  6. 内部積 q ) ͷؔ਺ U(q) ͷશඍ෼͸ ɽ͜ΕҎ߱ɼಉ߲͡Ͱఴࣈ͕ ͦͷఴࣈͷ࿨ΛऔΔɽϕΫτϧ ι Λ

    ιX (dU) = X(U) = Xi ∂U ∂qi ܗࣜͱݺͼɼf = fidqi ͷܗʹ ɽ಺෦ੵ ι ͸ ιX (f) = Xifi ͱ ͞ ݪ ͑ ࣜ ෆ dU(q) = ∂U ∂qi dqi ͱͳΔɽ͜ΕҎ߱ɼಉ ্ԼͰॏͳΔ৔߹͸ɼͦͷఴࣈͷ࿨Λऔ X = Xi ∂ ∂qi ͱͷ಺෦ੵ ι Λ ιX(dU) = Ͱ༩͑Δɽؔ਺Λඍ෼ 0 ܗࣜͱݺͼɼf ͳΔ΋ͷΛ 1 ܗࣜͱݺͿɽ಺෦ੵ ι ͸ ιX ܭࢉ͢Δɽ ΢Σ οδੵ ∧ Λ dqi ∧ dqj = −dqj ∧ ͷ఺ͱͯ͠ه࿥͢ ্ۭؒͷۂઢͰද͞ ৚݅ͱͳΓɼม෼ݪ ؔ਺ʹఀཹ஋Λ༩͑ ɽ ඞཁ৚݅Λඍ෼ܗࣜ ม਺ q = (q1, · · · , qn dU(q) = ∂U ∂qi dqi ͱͳΔɽ ্ԼͰॏͳΔ৔߹͸ɼͦͷ X = Xi ∂ ∂qi ͱͷ಺෦ੵ ι Λ Ͱ༩͑Δɽؔ਺Λඍ෼ 0 ܗ ͳΔ΋ͷΛ 1 ܗࣜͱݺͿɽ ؔ਺ U(q) ͷશඍ෼͸ Ҏ߱ɼಉ߲͡Ͱఴࣈ͕ ࣈͷ࿨ΛऔΔɽϕΫτϧ (dU) = X(U) = Xi ∂U ∂qi ݺͼɼf = fidqi ͷܗʹ ੵ ι ͸ ιX(f) = Xifi ͱ c constraint ؔ਺ U(q) ͷશඍ෼͸ ΕҎ߱ɼಉ߲͡Ͱఴࣈ͕ ࣈͷ࿨ΛऔΔɽϕΫτϧ (dU) = X(U) = Xi ∂U ∂qi ͱݺͼɼf = fidqi ͷܗʹ ੵ ι ͸ ιX (f) = Xifi ͱ 11 DeepFlow, Inc.
  7. ウェッジ積 ݅Λඍ෼ܗࣜ ࠲ඪม׵Ͱෆ ͋Δ 2,3)ɽ ͢ɽ߆ଋ৚݅ ܥΛඇϗϩϊ ܥʹͳ͓ͬͯ ଞͷ෺ཧྔͷ ͭ͘ɽຊߘͰ

    ɼ͜ΕΛ೪ੑ ͳΔ΋ͷΛ 1 ܗࣜͱݺͿɽ಺෦ੵ ι ͸ ιX (f) ܭࢉ͢Δɽ ΢Σ οδੵ ∧ Λ dqi ∧ dqj = −dqj ∧ dqi Λ ࢉͱఆΊΔɽ໌Β͔ʹ dqi ∧ dqi = 0 ͱͳΔ dqi ∧ dqj ʹର͠ɼ಺෦ੵ ι Λ ιY ιX (dqi ∧ dqj) = ιY (ιX dqi)dqj − dqi(ιX dqj) = (ιX dqi)(ιY dqj) − (ιY dqi)(ιX dqj) ͱܭࢉ͢Δɽ͜Ε͸ X ͱ Y Λลͱ͢Δฏߦ ܗࣜͱݺͿɽ಺෦ੵ ι ͸ ιX(f) = Xifi ͱ ∧ Λ dqi ∧ dqj = −dqj ∧ dqi Λຬͨ͢ԋ ໌Β͔ʹ dqi ∧ dqi = 0 ͱͳΔɽ2 ܗࣜ ͠ɼ಺෦ੵ ι Λ (dqi ∧ dqj) Xdqi)dqj − dqi(ιXdqj) ͳΔ΋ͷΛ 1 ܗࣜͱݺͿɽ಺෦ੵ ι ͸ ιX(f) = Xifi ͱ ܭࢉ͢Δɽ ΢Σ οδੵ ∧ Λ dqi ∧ dqj = −dqj ∧ dqi Λຬͨ͢ԋ ࢉͱఆΊΔɽ໌Β͔ʹ dqi ∧ dqi = 0 ͱͳΔɽ2 ܗࣜ dqi ∧ dqj ʹର͠ɼ಺෦ੵ ι Λ ιY ιX(dqi ∧ dqj) = ιY (ιXdqi)dqj − dqi(ιXdqj) = (ιXdqi)(ιY dqj) − (ιY dqi)(ιXdqj) (1) ͱܭࢉ͢Δɽ͜Ε͸ X ͱ Y Λลͱ͢Δฏߦ࢛ลܗͷ ޲͖Λߟྀͨ͠໘ੵʹͳΔɽ 12 DeepFlow, Inc.
  8. 外微分 ɽ ޲͖Λߟྀͨ͠໘ੵʹͳΔɽ 1 ܗࣜͷ֎ඍ෼ d Λ df = d(fjdqj)

    = dfj ∧ dqj = ∂fj ∂qi dqi ∧ dqj ͰఆΊΔɽf = dU ͳΒ͹ɼ໌Β͔ʹ ddU = 0 ͱͳ Ұൠʹ֎ඍ෼ d ͸ႈྵ (dd = 0) Ͱ͋Δɽ 1 ܗࣜͷੵ෼͸ઢੵ෼Ͱ͋Γɼ2 ܗࣜͷੵ෼͸໘ ʹͳΔɽͲͪΒ΋޲͖͕͋ΔɽετʔΫεͷఆཧΑ ߟྀͨ͠໘ੵʹͳΔɽ ࣜͷ֎ඍ෼ d Λ = d(fjdqj) = dfj ∧ dqj = ∂fj ∂qi dqi ∧ dqj (2) Δɽf = dU ͳΒ͹ɼ໌Β͔ʹ ddU = 0 ͱͳΔɽ ֎ඍ෼ d ͸ႈྵ (dd = 0) Ͱ͋Δɽ ࣜͷੵ෼͸ઢੵ෼Ͱ͋Γɼ2 ܗࣜͷੵ෼͸໘ੵ෼ ɽͲͪΒ΋޲͖͕͋ΔɽετʔΫεͷఆཧΑΓɼ ฒ ೋ Ί ӡ ɽ ΁ Δ ޲͖Λߟྀͨ͠໘ੵʹͳΔɽ 1 ܗࣜͷ֎ඍ෼ d Λ df = d(fjdqj) = dfj ∧ dqj = ∂fj ∂qi dqi ∧ ͰఆΊΔɽf = dU ͳΒ͹ɼ໌Β͔ʹ ddU Ұൠʹ֎ඍ෼ d ͸ႈྵ (dd = 0) Ͱ͋Δɽ 1 ܗࣜͷੵ෼͸ઢੵ෼Ͱ͋Γɼ2 ܗࣜͷ 13 DeepFlow, Inc.
  9. 外微分 d grad f: d𝑓 = 𝜕𝑓 𝜕𝑥# d𝑥# +

    𝜕𝑓 𝜕𝑥$ d𝑥$ + 𝜕𝑓 𝜕𝑥% d𝑥% rot 𝜶: d . & % (𝛼& 𝑑𝑥&) = . ',& % 𝜕𝛼& 𝜕𝑥' d𝑥' ∧ 𝑑𝑥& = 𝜕𝛼) 𝜕𝑥 − 𝜕𝛼* 𝜕𝑦 d𝑥 ∧ 𝑑𝑦 + ⋯ d𝑥 d𝑦 d𝑥 ∧ d𝑦=−(d𝑦 ∧ dz) ⼀形式 𝜶 = ∑' 𝛼' d𝑥' 14 DeepFlow, Inc.
  10. Lie微分 ∂S f = S df (3) ͳΔɽ1 ܗࣜ f

    ͷϕΫτϧ X ʹԊͬͨϦʔඍ෼ LX ࠩ෼ͷۃݶͱͯ͠ LX (fidqi) := lim α→0 1 α fi(qj + αXj)d(qi + αXi) − fi(qj)dqi = X(fi)dqi + fidXi (4) ఆΊΔɽҰํͰɼ (dι + ι d)(f dqi) ∂Sα = C0 − C ˜ H(p, q, u) := ͱ͢Ε͹ɼ˜ Ξ = d˜ Ξ = dp = d − ∂ ∂ ΛಘΔɽӡಈۂ ∂S f = S df (3) ͱͳΔɽ1 ܗࣜ f ͷϕΫτϧ X ʹԊͬͨϦʔඍ෼ LX Λࠩ෼ͷۃݶͱͯ͠ LX (fidqi) := lim α→0 1 α fi(qj + αXj)d(qi + αXi) − fi(qj)dqi = X(fi)dqi + fidXi (4) ͰఆΊΔɽҰํͰɼ (dιX + ιX d)(fidqi) = d(ιX (fidqi)) + ιX (dfi ∧ dqi) = d(Xifi) + X(fi)dqi − Xidfi ∂Sα = C0 − Cα ͱ͠ ˜ H(p, q, u) := pu − ͱ͢Ε͹ɼ˜ Ξ = pdq − d˜ Ξ = dp ∧ dq − = dp + ∂ ∂ − ∂ ˜ H ∂u du ΛಘΔɽӡಈۂઢ C0 XC0 := dC0 dt = dp dt ∂S f = S df (3) ͱͳΔɽ1 ܗࣜ f ͷϕΫτϧ X ʹԊͬͨϦʔඍ෼ LX Λࠩ෼ͷۃݶͱͯ͠ LX (fidqi) := lim α→0 1 α fi(qj + αXj)d(qi + αXi) − fi(qj)dqi = X(fi)dqi + fidXi (4) ͰఆΊΔɽҰํͰɼ (dιX + ιXd)(fidqi) = d(ιX (fidqi)) + ιX(dfi ∧ dqi) = d(Xifi) + X(fi)dqi − Xidfi = X(fi)dqi + fidXi (5) ˜ H(p, q, u) := pu − L( ͱ͢Ε͹ɼ˜ Ξ = pdq − ˜ H d˜ Ξ = dp ∧ dq − d = dp + ∂ ˜ H ∂q d − ∂ ˜ H ∂u du ∧ d ΛಘΔɽӡಈۂઢ C0 ͷ XC0 := dC0 dt = dp dt ∂ ∂ ͱ͠ɼม෼Λ༩͑ΔϕΫ x 𝑓 15 DeepFlow, Inc.
  11. 微分形式 内部積 𝜄8 𝒗 とリー微分 ℒ8 𝒗 ベクトル場 8 𝒗

    = 𝑣' 𝜕 𝜕𝑥' ⼀形式 𝜶 = ∑' 𝛼' d𝑥' 内部積 𝜄+ 𝒗 𝜶 = ∑'-# % 𝑣' 𝛼' 𝜄+ 𝒗 𝜶 ∧ 𝜷 = 𝜄+ 𝒗 𝜶 ∧ 𝜷 − 𝜄+ 𝒗 𝜷 ∧ 𝜶 リー微分 ℒ. / 𝜶 = 𝜄+ 𝒗 d𝜶 + d𝜄+ 𝒗 𝜶 = −𝒗×rot 𝜶 + grad 𝒗, 𝜶 16 DeepFlow, Inc.
  12. ストークスの定理 ー ク リ ッ ド 空 間 ℝ で

    の 座 標 を x= (x , x) と書く.ℝ 上の関数 f(x) を 0 形式と呼び, 分を df:=   ∂f ∂x dx と定める.微積分学の 定理は,γ:[a,b]→ℝ として,  df=fγb γ(a)) と書ける.1 形式 α=   α dx の外微 ,d(   α dx)=    ∂α ∂x dx∧dx である. こ で dx∧dx=−dx∧dx で あ る.2 形 式 の 座 標 を x= (x , ) を 0 形式と呼び, める.微積分学の て,  df=fγb    α dx の外微 dx∧dx である. 理を高速化でき という.Elkur- により,これを ードに均等にデ 列性があるとい x, x) と書く.ℝ 上 外微分を df:=   ∂ ∂ 基本定理は,γ:[a,b] −f(γ(a)) と書ける. 分は,d(   α dx)= こ こ で dx∧dx=− ! ! 𝑑𝑓 = % "! 𝑓 17 DeepFlow, Inc.
  13. 変分原理 1 ࣍ݩͷ࣭఺ͷӡಈΛߟ͑Δɽ࣭఺ͷ࣌ࠁ t ͷ࣭఺ͷঢ়ଶ͸Ґஔ q ͱ଎౓ u Ͱ༩͑ΒΕΔɽ Ґஔ

    q ͷ࣌ؒൃల͸ɼdq/dt = u ΑΓ଎౓ u Ͱ ఆ·Γɼ(q, u, t) ۭؒͰӡಈۂઢ C0 ͸ C0 (dq − udt) = 0 (1) Λຬͨ͢ɽϋϛϧτϯͷݪཧʹΑΔͱ, C0 ͸ϥ άϥϯδΞϯ L(q, u) ͷ࣌ؒੵ෼ʹఀཹ஋Λ༩ ͑Δɽഔհม਺ α ʹ͍ͭͯɼlimα→0 Cα = C0 ͱͳΓɼ∂Sα := C0 −Cα ͕ดۂઢΛͳͤ͹ɼϋ ϛϧτϯͷݪཧ͸पճੵ෼ͰදͤΔɽ ͕ಘΒΕΔ ࣭఺ͷ଎ ͱ͔Βɼ଎ Ұൠతʹ੍ Ͱ͖ɼࣜ ( t q u 𝐶! 𝐶" ӡಈΛߟ͑Δɽ࣭఺ͷ࣌ࠁ t ஔ q ͱ଎౓ u Ͱ༩͑ΒΕΔɽ ͸ɼdq/dt = u ΑΓ଎౓ u Ͱ ؒͰӡಈۂઢ C0 ͸ dq − udt) = 0 (1) τϯͷݪཧʹΑΔͱ, C0 ͸ϥ u) ͷ࣌ؒੵ෼ʹఀཹ஋Λ༩ ʹ͍ͭͯɼlimα→0 Cα = C0 −Cα ͕ดۂઢΛͳͤ͹ɼϋ पճੵ෼ͰදͤΔɽ dq dt = ∂H ∂p , dp dt = − ͕ಘΒΕΔɽ ࣭఺ͷ଎౓ u ͕Ґஔ q ͷ࣌ؒൃ ͱ͔Βɼ଎౓ u ͸ঢ়ଶྔ q ͷ੍ Ұൠతʹ੍ޚ͸ F(q, u) ͱؔ਺Ͱ Ͱ͖ɼࣜ (1) ͸࣍ͷΑ͏ʹҰൠԽ C (dq − F(q, u)dt) = 曲線 𝐶! の拘束条件の下 作⽤汎関数が停留値を取る。 C0 Λຬͨ͢ɽϋϛϧτϯͷݪཧʹΑΔͱ, άϥϯδΞϯ L(q, u) ͷ࣌ؒੵ෼ʹఀཹ ͑Δɽഔհม਺ α ʹ͍ͭͯɼlimα→0 C ͱͳΓɼ∂Sα := C0 −Cα ͕ดۂઢΛͳͤ ϛϧτϯͷݪཧ͸पճੵ෼ͰදͤΔɽ lim α→0 1 α ∂Sα L(q, u)dt = 0 ࣜ (1) ͱ (2) ΑΓɼ˜ Ξ := Ldt+p(dq − ∫ !" d𝑞 − 𝑢d𝑡 =0 21 DeepFlow, Inc.
  14. 未定乗数法 未定乗数を 𝑝とし微分⼀形式 を定め、 となる⼗分条件を求める。 ͑Δɽഔհม਺ α ʹ͍ͭͯɼlimα→0 Cα =

    C0 ͱͳΓɼ∂Sα := C0 −Cα ͕ดۂઢΛͳͤ͹ɼϋ ϛϧτϯͷݪཧ͸पճੵ෼ͰදͤΔɽ lim α→0 1 α ∂Sα L(q, u)dt = 0 (2) ࣜ (1) ͱ (2) ΑΓɼ˜ Ξ := Ldt+p(dq −udt) ͱ ͯ͠ɼετʔΫεͷఆཧΑΓ࣍ΛಘΔɽ 0 = lim α→0 1 α ∂Sα ˜ Ξ = lim α→0 1 α Sα d˜ Ξ (3) ∂Sα ͱ Sα ͸ɼ(p, q, u, t) ্ۭؒͷ޲͖෇͖ͷด ࣜ Ϩ ಉ 3 ଶ ɽഔհม਺ α ʹ͍ͭͯɼlimα→0 Cα = C0 Γɼ∂Sα := C0 −Cα ͕ดۂઢΛͳͤ͹ɼϋ τϯͷݪཧ͸पճੵ෼ͰදͤΔɽ lim α→0 1 α ∂Sα L(q, u)dt = 0 (2) (1) ͱ (2) ΑΓɼ˜ Ξ := Ldt+p(dq −udt) ͱ ɼετʔΫεͷఆཧΑΓ࣍ΛಘΔɽ 0 = lim α→0 1 α ∂Sα ˜ Ξ = lim α→0 1 α Sα d˜ Ξ (3) ࣜ (4) Ͱ Ϩϋϛϧ ಉ༷ʹ͠ 3 ߆ଋ ϥάϥ ͑Δɽഔհม਺ α ʹ͍ͭͯɼlimα→0 Cα = C0 ͱͳΓɼ∂Sα := C0 −Cα ͕ดۂઢΛͳͤ͹ɼϋ ϛϧτϯͷݪཧ͸पճੵ෼ͰදͤΔɽ lim α→0 1 α ∂Sα L(q, u)dt = 0 (2) ࣜ (1) ͱ (2) ΑΓɼ˜ Ξ := Ldt+p(dq −udt) ͱ ͯ͠ɼετʔΫεͷఆཧΑΓ࣍ΛಘΔɽ 0 = lim α→0 1 α ∂Sα ˜ Ξ = lim α→0 1 α Sα d˜ Ξ (3) Sα ͱ Sα ͸ɼ(p, q, u, t) ্ۭؒͷ޲͖෇͖ͷด ۂઢͱͦΕʹғ·Εͨ໘ੵͰ͋ΔɽϓϨϋϛϧ τχΞϯΛ C (dq − F(q, u) ࣜ (4) Ͱ ˜ H(p, q, u) := pF(q ϨϋϛϧτχΞϯ͸࠶ఆٛ͞ ಉ༷ʹͯ͠ɼਖ਼४ํఔࣜ (9 3 ߆ଋܥͷӡಈ๏ଇ ϥάϥϯδΞϯ L Λ (q, u ଶྔ s ͕ଞͷঢ়ଶྔͷؔ਺ W 0 = U(s, q, t) := s ͱͳΓɼ͜ΕΛϗϩϊϛο ∫ #! d𝑞 − 𝑢d𝑡 =0 subject to 22 DeepFlow, Inc.
  15. 正準⽅程式の導出 α→0 α ∂Sα α→0 α Sα ∂Sα ͱ Sα

    ͸ɼ(p, q, u, t) ্ۭؒͷ޲͖෇ ۂઢͱͦΕʹғ·Εͨ໘ੵͰ͋ΔɽϓϨ τχΞϯΛ ˜ H(p, q, u) := pu − L(q, u) ͱ͢Ε͹ɼ˜ Ξ = pdq − ˜ Hdt ͱͳΓɼ d˜ Ξ = dp ∧ dq − d ˜ H ∧ dt = dp + ∂ ˜ H ∂q dt ∧ dq − ∂ ˜ H ∂p − ∂ ˜ H du ∧ dt ˜ H(p, q, u) := pu − L(q, u) ( ͱ͢Ε͹ɼ˜ Ξ = pdq − ˜ Hdt ͱͳΓɼ d˜ Ξ = dp ∧ dq − d ˜ H ∧ dt = dp + ∂ ˜ H ∂q dt ∧ dq − ∂ ˜ H ∂p dt − ∂ ˜ H ∂u du ∧ dt ( ∂Sα ͱ Sα ͸ɼ(p, q, u, t) ্ۭؒͷ޲͖෇͖ͷด ۂઢͱͦΕʹғ·Εͨ໘ੵͰ͋ΔɽϓϨϋϛϧ τχΞϯΛ ˜ H(p, q, u) := pu − L(q, u) (4) ͱ͢Ε͹ɼ˜ Ξ = pdq − ˜ Hdt ͱͳΓɼ d˜ Ξ = dp ∧ dq − d ˜ H ∧ dt = dp + ∂ ˜ H ∂q dt ∧ dq − ∂ ˜ H ∂p dt − ∂ ˜ H ∂u du ∧ dt (5) ଶྔ ͱͳ ະఆ 0= ࣜ ( ͳΔ where 微分⼀形式 の外微分を計算する。 23 DeepFlow, Inc.
  16. 正準⽅程式 ɽ࠷ Δ ఆ ͏ ߘ Β ଓ dt dt

    ∂p dt ∂q ͱ͢Ε͹ɼࣜ (3) ΑΓӡಈ͸ ιXC0 (d˜ Ξ) = 0 Λຬͨ͢ɽ∂ ˜ H/∂u = 0 ͷղ u∗(p, q ୅ೖ͠ɼϋϛϧτχΞϯΛ ਂ઒ ޺थ 1DeepFlow גࣜձࣾ e-mail : hiroki.fukagawa@deepflow.co.jp ֓ཁ ෼ݪཧ͸ɼ ʮӡಈ͕ඳ͘ۂઢ͸൚ؔ਺ʹఀཹ ༩͑Δʯͱ͍͏ܗͰӡಈ๏ଇΛ༩͑Δɽ࠷ ɼ͜ΕΛඍ෼ܗࣜΛ࢖ͬͯදݱ͢Δɽ͋Δ ྔͷ஋Λಉ࣌ࠁͷଞͷ෺ཧྔͷ஋͚ͩͰఆ ߆ଋ৚݅ΛϗϩϊϛοΫ߆ଋͱݺͼɼͦ͏ ͍΋ͷΛඇϗϩϊϛοΫ߆ଋͱݺͿɽຊߘ ɼඇϗϩϊϛοΫ߆ଋͰඍ෼ܗࣜͰ༩͑Β ܥͷӡಈΛඍ෼ܗࣜͰఆࣜԽ͠ [1]ɼ࿈ଓ ͷ֦ுΛࣔ͢ [2, 3, 4]ɽ ਖ਼४ํఔࣜͷಋग़ ΛಘΔɽӡಈۂઢ C0 ͷ઀ϕΫτϧΛ XC0 := dC0 dt = dp dt ∂ ∂p + dq dt ∂ ∂q + du dt ∂ ∂u + ͱ͢Ε͹ɼࣜ (3) ΑΓӡಈ͸ ιXC0 (d˜ Ξ) = 0 Λຬͨ͢ɽ∂ ˜ H/∂u = 0 ͷղ u∗(p, q) Λࣜ ( ୅ೖ͠ɼϋϛϧτχΞϯΛ H(p, q) := ˜ H(p, q, u∗(p, q)) ϩϊϛοΫ߆ଋͱݺͼɼͦ͏ ϩϊϛοΫ߆ଋͱݺͿɽຊߘ οΫ߆ଋͰඍ෼ܗࣜͰ༩͑Β ඍ෼ܗࣜͰఆࣜԽ͠ [1]ɼ࿈ଓ [2, 3, 4]ɽ ͷಋग़ ӡಈΛߟ͑Δɽ࣭఺ͷ࣌ࠁ t Ґஔ q ͱ଎౓ u Ͱ༩͑ΒΕΔɽ ͸ɼdq/dt = u ΑΓ଎౓ u Ͱ ۭؒͰӡಈۂઢ C0 ͸ (dq − udt) = 0 (1) ιXC0 (d˜ Ξ) = 0 Λຬͨ͢ɽ∂ ˜ H/∂u = 0 ͷղ u∗(p, q) Λࣜ ୅ೖ͠ɼϋϛϧτχΞϯΛ H(p, q) := ˜ H(p, q, u∗(p, q)) ͱ͢Ε͹ɼӡಈํఔࣜͰ͋Δਖ਼४ํఔ dq dt = ∂H ∂p , dp dt = − ∂H ∂q ͕ಘΒΕΔɽ ࣭఺ͷ଎౓ u ͕Ґஔ q ͷ࣌ؒൃలΛܾ t p, q, u 𝐶! ͯ͠ɼετʔΫεͷఆཧΑΓ࣍ΛಘΔɽ 0 = lim α→0 1 α ∂Sα ˜ Ξ = lim α→0 1 α Sα d˜ Ξ (3) ∂Sα ͱ Sα ͸ɼ(p, q, u, t) ্ۭؒͷ޲͖෇͖ͷด ۂઢͱͦΕʹғ·Εͨ໘ੵͰ͋ΔɽϓϨϋϛϧ τχΞϯΛ ˜ H(p, q, u) := pu − L(q, u) (4) ͱ͢Ε͹ɼ˜ Ξ = pdq − ˜ Hdt ͱͳΓɼ d˜ Ξ = dp ∧ dq − d ˜ H ∧ dt = dp + ∂ ˜ H ∂q dt ∧ dq − ∂ ˜ H ∂p dt − ∂ ˜ H ∂u du ∧ dt (5) 3 ߆ଋܥͷӡಈ๏ଇ ϥάϥϯδΞϯ L Λ (q, u, s) ͷؔ਺ͱ͠ɼ ଶྔ s ͕ଞͷঢ়ଶྔͷؔ਺ W(q, t) ͱͳΔͱ 0 = U(s, q, t) := s − W(q, t) ( ͱͳΓɼ͜ΕΛϗϩϊϛοΫ߆ଋ৚݅ͱݺ ະఆ৐਺ T ʹର͠ɼ ͕࣍ຬͨ͞ΕΔɽ 0= lim α→0 1 α ∂Sα TUdt = lim α→0 1 α Sα d(TUdt) ( ࣜ (11) Λߟྀ͢Ε͹ɼd(TUdt) = TdU ∧d ͳΔɽ͜͜Ͱඍ෼ 1 ܗࣜ β Λಋೖ͢Δɽ β := Tds + fdq + Qdt ( ೔ຊԠ༻਺ཧֶձ 2021 ೥౓ ೥ձ ߨԋ༧ߘू (2021.9.7–9) Copyright (C) 2021 Ұൠࣾஂ๏ਓ೔ຊԠ༻਺ཧֶձ 0 = lim α→0 1 α ∂Sα ˜ Ξ = lim α→0 1 α Sα d˜ Ξ (3) Sα ͱ Sα ͸ɼ(p, q, u, t) ্ۭؒͷ޲͖෇͖ͷด ઢͱͦΕʹғ·Εͨ໘ੵͰ͋ΔɽϓϨϋϛϧ χΞϯΛ ˜ H(p, q, u) := pu − L(q, u) (4) ͢Ε͹ɼ˜ Ξ = pdq − ˜ Hdt ͱͳΓɼ d˜ Ξ = dp ∧ dq − d ˜ H ∧ dt 3 ϥ ଶྔ ͱͳ ະఆ 0= = 0 where flow.co.jp ؔ਺ʹఀཹ ༩͑Δɽ࠷ ͢Δɽ͋Δ ஋͚ͩͰఆ ݺͼɼͦ͏ ݺͿɽຊߘ ࣜͰ༩͑Β ͠ [1]ɼ࿈ଓ ఺ͷ࣌ࠁ t ༩͑ΒΕΔɽ Γ଎౓ u Ͱ ΛಘΔɽӡಈۂઢ C0 ͷ઀ϕΫτϧΛ XC0 := dC0 dt = dp dt ∂ ∂p + dq dt ∂ ∂q + du dt ∂ ∂u + ∂ ∂t (6) ͱ͢Ε͹ɼࣜ (3) ΑΓӡಈ͸ ιXC0 (d˜ Ξ) = 0 (7) Λຬͨ͢ɽ∂ ˜ H/∂u = 0 ͷղ u∗(p, q) Λࣜ (4) ʹ ୅ೖ͠ɼϋϛϧτχΞϯΛ H(p, q) := ˜ H(p, q, u∗(p, q)) (8) ͱ͢Ε͹ɼӡಈํఔࣜͰ͋Δਖ਼४ํఔࣜ dq dt = ∂H ∂p , dp dt = − ∂H ∂q (9) 正準⽅程式 ͹Εɼ೚ҙͷඍ෼ n ܗࣜʹͭ ɽ ͭͰ͋Δϋϛϧτϯͷݪཧ 1) ද͠ɼ࠷ద੍ޚཧ࿦ͷ؍఺͔Β ରশੑͱอଘଇͷؔ܎Λࣔ͢ɽ ҳܥ΁ͷ֦ுΛߦ͏ɽ Ґஔ q ͱ଎౓ u Ͱ༩͑ΒΕΔɽ /dt = u ΑΓ଎౓ u Ͱఆ·Γɼ ͱ͢Δɽͳ͓ɼδ ͸ඍখྔΛද͢ه߸ ༻͍ͯɼ޲͖Λߟྀͨ͠໘ੵΛ Sα = ͹ɼࣜ (9) ΑΓ ιY α [ιXC0 (d˜ Ξ)] = 0 Λ ͸೚ҙͳͷͰɼ ιXC0 (d˜ Ξ) = 0 ͱͳΓɼࣜ (11) ΑΓɼ dq dt = ∂ ˜ H ∂p , dp dt = − ∂ ˜ H ∂q , ∂ ˜ H ∂u = 0 ˜ ∗ := lim α→0 1 α fi(qj + αXj)d(qi + αXi) − fi(qj)dqi = X(fi)dqi + fidXi (4) ͰఆΊΔɽҰํͰɼ (dιX + ιX d)(fidqi) = d(ιX (fidqi)) + ιX (dfi ∧ dqi) = d(Xifi) + X(fi)dqi − Xidfi = X(fi)dqi + fidXi (5) ͳΓɼඍ෼ 1 ܗࣜʹରͯ͠ LX = dιX + ιX d ͱͳΔɽ ͜Ε͸ Cartan ͷެࣜͱݺ͹Εɼ೚ҙͷඍ෼ n ܗࣜʹͭ ͍ͯ΋ಉ༷ʹ੒Γཱͭ 2,3)ɽ 3 ม෼ݪཧ ྗֶͰͷม෼ݪཧͷҰͭͰ͋Δϋϛϧτϯͷݪཧ 1) ͷඞཁ৚݅Λඍ෼ܗࣜͰද͠ɼ࠷ద੍ޚཧ࿦ͷ؍఺͔Β ߋʹҰൠԽ͢Δɽ࣍ʹɼରশੑͱอଘଇͷؔ܎Λࣔ͢ɽ ࠷ޙʹɼ߆ଋܥ͓Αͼࢄҳܥ΁ͷ֦ுΛߦ͏ɽ 3.1 ϋϛϧτϯͷݪཧ ࣌ࠁ t ͷ࣭఺ͷঢ়ଶ͸Ґஔ q ͱ଎౓ u Ͱ༩͑ΒΕΔɽ Ґஔ q ͷ࣌ؒൃల͸ɼdq/dt = u ΑΓ଎౓ u Ͱఆ·Γɼ (q, u, t) ۭؒͰӡಈۂઢ C0 ͸ C0 (dq − udt) = 0 (6) Λຬͨ͢ɽϋϛϧτϯͷݪཧʹΑΔͱɼۂઢ C0 ͸ϥά ϥϯδΞϯ L(q, u) ͷ࣌ؒੵ෼ʹఀཹ஋Λ༩͑Δɽα Λ = dp + ∂ ˜ H ∂q dt ∧ dq − ∂ ˜ H ∂p dt − ∂ ˜ H ∂u du ∧ dt ( ΛಘΔɽӡಈۂઢ C0 ͷ઀ϕΫτϧΛ XC0 := dC0 dt = dp dt ∂ ∂p + dq dt ∂ ∂q + du dt ∂ ∂u + ∂ ∂t ( ͱ͠ɼม෼Λ༩͑ΔϕΫτϧΛ Yα := δpα ∂ ∂p + δqα ∂ ∂q + δuα ∂ ∂u + δtα ∂ ∂t ( ͱ͢Δɽͳ͓ɼδ ͸ඍখྔΛද͢ه߸Ͱ͋Δɽ֎ੵ × ༻͍ͯɼ޲͖Λߟྀͨ͠໘ੵΛ Sα = XC0 ×Y α ͱ͢ ͹ɼࣜ (9) ΑΓ ιY α [ιXC0 (d˜ Ξ)] = 0 ΛಘΔɽ͜͜Ͱ Y ͸೚ҙͳͷͰɼ ιXC0 (d˜ Ξ) = 0 ( ͱͳΓɼࣜ (11) ΑΓɼ dq dt = ∂ ˜ H ∂p , dp dt = − ∂ ˜ H ∂q , ∂ ˜ H ∂u = 0 ( ΛಘΔɽ∂ ˜ H/∂u = 0 ͷղ u∗(p, q) Λࣜ (10) ʹ୅ೖ ϋϛϧτχΞϯΛ H(p, q) := ˜ H(p, q, u∗(p, q)) ͱ͢Ε ӡಈํఔࣜͰ͋Δਖ਼४ํఔࣜ dq dt = ∂H ∂p , dp dt = − ∂H ∂q ( ͕ಘΒΕΔɽ 24 DeepFlow, Inc.
  17. Xφ := dφ dα = dp dα ∂ ∂p +

    dq dα ∂ ∂q + dt dα ∂ ∂ ʹର͠ɼ 0 = LXφ (dΞ) = d(ιXφ (dΞ)) ͱͳΕ͹ɼܥ͸࿈ଓͳରশੑΛ࣋ͭͱ 運動は dΞ で与えられる。 dΞ のベクトル𝑋$ に沿ったリー微分が0になるとき 系は𝑋$ について対称性をもつ。 ネータの定理:対称性と保存則 ωʔλʔͷఆཧ͸ɼܥͷ࿈ଓతͳରশੑʹԠ ଇ͕ଘࡏ͢Δ͜ͱΛओு͢Δɽඍ෼ܗࣜΛ࢖͑ Λ؆୯ʹࣔͤΔɽҠಈ φ(α) : (p0, q0, t0) → (p Ͱ dΞ := d(pdq − Hdt) ͕ෆมͳͱ͖ɼܥ͸ φ ͯ͠ରশੑΛ࣋ͭͱݴ͏ɽҠಈ͕ 1 ܘ਺ม׵܈ Xφ := dφ dα = dp dα ∂ ∂p + dq dα ∂ ∂q + dt dα ∂ ∂t ʹର͠ɼ 𝑋$ dΞ 25 DeepFlow, Inc.
  18. 対称性と保存則 ʹର͠ɼ 0 = LXφ (dΞ) = d(ιXφ (dΞ ͱͳΕ͹ɼܥ͸࿈ଓͳରশ

    LXφ d = (dιXφ + ιXφ d)d = ΋͠ɼ͋Δؔ਺ G(p, q) ͕͋ 𝜄"# dΞ = −d𝐺(𝑞, 𝑝) ʹର͠ɼ 0 = LXφ (dΞ) = d(ιXφ (dΞ)) ͱͳΕ͹ɼܥ͸࿈ଓͳରশੑΛ࣋ LXφ d = (dιXφ + ιXφ d)d = dιXφ d ΋͠ɼ͋Δؔ਺ G(p, q) ͕͋ͬͯɼ ιXφ (dΞ) = −dG ͱͳΕ͹ɼࣜ (19) ͸ຬͨ͞ΕΔɽ͞ ΋͠ɼ͋Δؔ਺ G(p, q) ͕͋ͬͯɼ ιXφ (dΞ) = −dG (20) ͱͳΕ͹ɼࣜ (19) ͸ຬͨ͞ΕΔɽ͞Βʹ Xφ ͕ɼ XG := − ∂G ∂q ∂ ∂p + ∂G ∂p ∂ ∂q (21) Λ༻͍ͯɼXφ = XG Ͱ༩͑ΒΕΕ͹ɼࣜ (16) ͔Βɼ ιXG (dΞ) = ιXG (dp ∧ dq) − XG(H)dt = −dG − ∂G ∂p ∂H ∂q − ∂G ∂q ∂H ∂p dt = −dG + dG dt dt (22) dG ະ ఆ ৐ ਺ ๏ Λ ༻ ιXC0 (d(˜ Ξ + TUdt ιXC0 (d˜ Ξ + β ∧ d ͱࣜ (28) ͱͷ૊ʹ ͸߆ଋܥͷӡಈΛද ͷى఺ͱͳΔɽͳ͓ dp ∧ dq − = dp + ∂ − ∂ ˜ H ∂s − ιXφ (dΞ) = −dG ͱͳΕ͹ɼࣜ (19) ͸ຬͨ͞ΕΔɽ͞ XG := − ∂G ∂q ∂ ∂p + ∂G ∂p ∂ ∂q Λ༻͍ͯɼXφ = XG Ͱ༩͑ΒΕΕ͹ ιXG (dΞ) = ιXG (dp ∧ dq) − XG = −dG − ∂G ∂p ∂H ∂q − where 26 DeepFlow, Inc.
  19. 最適制御理論 d𝑞 d𝑡 = 𝑢 状態:q t #$ #% =

    𝐹(𝑞, 𝑢) ӡಈۂઢ C0 ͸ dt) = 0 (1) ݪཧʹΑΔͱ, C0 ͸ϥ ࣌ؒੵ෼ʹఀཹ஋Λ༩ ͯɼlimα→0 Cα = C0 ͕ดۂઢΛͳͤ͹ɼϋ ෼ͰදͤΔɽ , u)dt = 0 (2) Ldt+p(dq −udt) ͱ ΑΓ࣍ΛಘΔɽ ͕ಘΒΕΔɽ ࣭఺ͷ଎౓ u ͕Ґஔ q ͷ࣌ؒൃలΛܾΊΔ ͱ͔Βɼ଎౓ u ͸ঢ়ଶྔ q ͷ੍ޚͱΈͳͤΔ Ұൠతʹ੍ޚ͸ F(q, u) ͱؔ਺Ͱ༩͑Δ͜ͱ Ͱ͖ɼࣜ (1) ͸࣍ͷΑ͏ʹҰൠԽͰ͖Δ [5]ɽ C (dq − F(q, u)dt) = 0 (1 ࣜ (4) Ͱ ˜ H(p, q, u) := pF(q, u) − L(q, u) ͱ ϨϋϛϧτχΞϯ͸࠶ఆٛ͞Εɼࣜ (5) Ҏ߱ ಉ༷ʹͯ͠ɼਖ਼४ํఔࣜ (9) ͕ಘΒΕΔ [2, 27 DeepFlow, Inc.
  20. 拘束系の運動⽅程式 状態: q,s t 状態 qとsは拘束条件 を満たす。 ΫεͷఆཧΑΓ࣍ΛಘΔɽ 1 α

    ∂Sα ˜ Ξ = lim α→0 1 α Sα d˜ Ξ (3) (p, q, u, t) ্ۭؒͷ޲͖෇͖ͷด ғ·Εͨ໘ੵͰ͋ΔɽϓϨϋϛϧ q, u) := pu − L(q, u) (4) pdq − ˜ Hdt ͱͳΓɼ ∧ dq − d ˜ H ∧ dt + ∂ ˜ H ∂q dt ∧ dq − ∂ ˜ H ∂p dt ˜ H 3 ߆ଋܥͷӡಈ๏ଇ ϥάϥϯδΞϯ L Λ (q, u, s) ͷؔ਺ͱ ଶྔ s ͕ଞͷঢ়ଶྔͷؔ਺ W(q, t) ͱͳ 0 = U(s, q, t) := s − W(q, t) ͱͳΓɼ͜ΕΛϗϩϊϛοΫ߆ଋ৚݅ͱ ະఆ৐਺ T ʹର͠ɼ ͕࣍ຬͨ͞ΕΔɽ 0= lim α→0 1 α ∂Sα TUdt = lim α→0 1 α Sα d(TUd ࣜ (11) Λߟྀ͢Ε͹ɼd(TUdt) = TdU ͳΔɽ͜͜Ͱඍ෼ 1 ܗࣜ β Λಋೖ͢Δɽ β = TdU Ͱ͋Ε͹ɼf = T ͳΓɼࣜ (12) ͔Βɼ(p, q, u ͷ઀ϕΫτϧ XC0 ʹ͍ͭͯ ιXC0 β = ະఆ৐਺๏Λ༻͍Ε͹ɼ ιXC0 (d(˜ Ξ + TUdt)) = 0 Λ ιXC0 (d˜ Ξ + β ∧ ͱࣜ (14) ͱͷ૊ʹ෼ղͰ͖ 28 DeepFlow, Inc.
  21. 拘束系の運動⽅程式 (4) (5) ͱͳΓɼ͜ΕΛϗϩϊϛοΫ߆ଋ৚݅ͱݺͿɽ ະఆ৐਺ T ʹର͠ɼ ͕࣍ຬͨ͞ΕΔɽ 0= lim

    α→0 1 α ∂Sα TUdt = lim α→0 1 α Sα d(TUdt) (12) ࣜ (11) Λߟྀ͢Ε͹ɼd(TUdt) = TdU ∧dt ͱ ͳΔɽ͜͜Ͱඍ෼ 1 ܗࣜ β Λಋೖ͢Δɽ β := Tds + fdq + Qdt (13) 21.9.7–9) Copyright (C) 2021 Ұൠࣾஂ๏ਓ೔ຊԠ༻਺ཧֶձ ͠ɼ ͕࣍ຬͨ͞ΕΔɽ Udt = lim α→0 1 α Sα d(TUdt) (12) Ε͹ɼd(TUdt) = TdU ∧dt ͱ ෼ 1 ܗࣜ β Λಋೖ͢Δɽ Tds + fdq + Qdt (13) Ұൠࣾஂ๏ਓ೔ຊԠ༻਺ཧֶձ β = TdU Ͱ͋Ε͹ɼf = T ∂U ∂q ͱ Q = T ∂U ∂ ͳΓɼࣜ (12) ͔Βɼ(p, q, u, s, t, T) ্ͷۂઢ ͷ઀ϕΫτϧ XC0 ʹ͍ͭͯɼ͕࣍ࣔͤΔɽ ιXC0 β = 0 β = TdU Ͱ͋Ε͹ɼf = T ∂U ∂q ͱ Q = T ∂U ∂t ͱ ͳΓɼࣜ (12) ͔Βɼ(p, q, u, s, t, T) ্ͷۂઢ C0 ͷ઀ϕΫτϧ XC0 ʹ͍ͭͯɼ͕࣍ࣔͤΔɽ ιXC0 β = 0 (14) ະఆ৐਺๏Λ༻͍Ε͹ɼࣜ (7) ͱಉ༷ʹͯ͠ β = TdU Ͱ͋Ε͹ɼf = T ∂U ∂q ͱ Q = T ∂U ∂t ͳΓɼࣜ (12) ͔Βɼ(p, q, u, s, t, T) ্ͷۂઢ C ͷ઀ϕΫτϧ XC0 ʹ͍ͭͯɼ͕࣍ࣔͤΔɽ ιXC0 β = 0 (1 where 𝑈 𝑞, 𝑠, 𝑡 = 𝑠 − 𝑊 𝑞, 𝑡 = 0 because of 𝛽 ∧ d𝑡 ͷ઀ϕΫτϧ XC0 ʹ͍ͭͯɼ ιXC0 β = 0 ະఆ৐਺๏Λ༻͍Ε͹ɼࣜ ιXC0 (d(˜ Ξ + TUdt)) = 0 Λಘ ιXC0 (d˜ Ξ + β ∧ d ͱࣜ (14) ͱͷ૊ʹ෼ղͰ͖Δ ͷӡಈΛදݱ͢ΔॏཁͳࣜͰ ͷى఺ͱͳΔɽͳ͓ɼd˜ Ξ + β dp ∧ dq − (d ˜ H − β) ∧ ∂ ˜ H Ref. 29 DeepFlow, Inc.
  22. 拘束系の運動⽅程式 ιXC0 (d(˜ Ξ + TUdt)) = 0 ΛಘΔɽ͜ͷࣜ͸ ιXC0

    (d˜ Ξ + β ∧ dt) = 0 (15) ͱࣜ (14) ͱͷ૊ʹ෼ղͰ͖Δɽ্ࣜ͸߆ଋܥ ͷӡಈΛදݱ͢ΔॏཁͳࣜͰ͋ΓɼҎ߱ͷٞ࿦ ͷى఺ͱͳΔɽͳ͓ɼd˜ Ξ + β ∧ dt ͸ɼ dp ∧ dq − (d ˜ H − β) ∧ dt = dp + ∂ ˜ H ∂q − f dt ∧ dq − ∂ ˜ H ∂p dt − ∂ ˜ H ∂s − T ds ∧ dt − ∂ ˜ H ∂u du ∧ dt (16) Ϋ ͳ Ε 5 ιXC0 β = 0 (14) ະఆ৐਺๏Λ༻͍Ε͹ɼࣜ (7) ͱಉ༷ʹͯ͠ ιXC0 (d(˜ Ξ + TUdt)) = 0 ΛಘΔɽ͜ͷࣜ͸ ιXC0 (d˜ Ξ + β ∧ dt) = 0 (15) ͱࣜ (14) ͱͷ૊ʹ෼ղͰ͖Δɽ্ࣜ͸߆ଋܥ ͷӡಈΛදݱ͢ΔॏཁͳࣜͰ͋ΓɼҎ߱ͷٞ࿦ ͷى఺ͱͳΔɽͳ͓ɼd˜ Ξ + β ∧ dt ͸ɼ dp ∧ dq − (d ˜ H − β) ∧ dt Ͱ༩͑ ∂ui ∂t ∂ ∂ui Ϋτϧ ͳ͓ɼ d ∧ ∧d d' Ξ + 𝛽 ∧ d𝑡 = − d ˜ H ∧ dt ∂ ˜ H ∂q dt ∧ dq − ∂ ˜ H ∂p dt u ∧ dt (5) 0= lim α→0 1 α ∂Sα TUdt = lim α→0 1 α Sα d(TUdt) ࣜ (11) Λߟྀ͢Ε͹ɼd(TUdt) = TdU ∧ ͳΔɽ͜͜Ͱඍ෼ 1 ܗࣜ β Λಋೖ͢Δɽ β := Tds + fdq + Qdt 1 ೥౓ ೥ձ ߨԋ༧ߘू (2021.9.7–9) Copyright (C) 2021 Ұൠࣾஂ๏ਓ೔ຊԠ༻਺ཧֶձ 𝑈 𝑞, 𝑠, 𝑡 = 𝑠 − 𝑊 𝑞, 𝑡 = 0 30 DeepFlow, Inc.
  23. ⾮ホロノミック拘束系の運動⽅程式 dp ∧ dq − (d ˜ H − β)

    ∧ dt = dp + ∂ ˜ H ∂q − f dt ∧ dq − ∂ ˜ H ∂p dt − ∂ ˜ H ∂s − T ds ∧ dt − ∂ ˜ H ∂u du ∧ dt (16) ܭࢉͰ͖ɼࣜ (15) ΑΓ࣍ΛಘΔɽ dq dt = ∂ ˜ H ∂p , dp dt = − ∂ ˜ H ∂q + f, (17) ∂ ˜ H ∂s − T = 0, ∂ ˜ H ∂u = 0 (18) ্͔Βɼӡಈ͸ࣜ (14)ɼ(17)ɼ(18) Λຬͨ͢ɽ ∧dt − ∇j ∂ ˜ H ∂(∇jqi) − ࣜ (22) ͷୈ 2 ߦ·ͰΑΓ Εɼୈ 3 ߦΑΓڥք৚͕݅ 5 ·ͱΊ ϋϛϧτϯͷม෼ݪཧʹΑ ۂઢ C0 ͸ 1 ܗࣜ ˜ Ξ ͷઢੵ෼ ͜ͷͱ͖ͷඞཁ৚݅͸ࣜ (7 ఆࣜԽͰ͸ɼ͜Εͦ͜Λӡಈ ঢ়ଶྔؒͷ߆ଋ͕ β Λ༻͍ͯ Δ৔߹ʹ͸ɼӡಈ͸ࣜ (15) Λ ଓମ΁ͷ֦ுʹ͓͍ͯ΋ɼ( 𝑇 d𝑠 d𝑡 + 𝑓 d𝑞 d𝑡 + 𝑄 = 0 𝜄#!" 𝛽 = 0 𝜄#!" (d+ Ξ + 𝛽 ∧ d𝑡) = 0 ˜ H(p, q, u) := pu − L(q, u) (4) ͱ͢Ε͹ɼ˜ Ξ = pdq − ˜ Hdt ͱͳΓɼ d˜ Ξ = dp ∧ dq − d ˜ H ∧ dt = dp + ∂ ˜ H ∂q dt ∧ dq − ∂ ˜ H ∂p dt − ∂ ˜ H ∂u du ∧ dt (5) ະఆ৐਺ T ʹର͠ɼ ͕࣍ຬͨ͞ΕΔɽ 0= lim α→0 1 α ∂Sα TUdt = lim α→0 1 α Sα d(TUdt) ࣜ (11) Λߟྀ͢Ε͹ɼd(TUdt) = TdU ∧d ͳΔɽ͜͜Ͱඍ෼ 1 ܗࣜ β Λಋೖ͢Δɽ β := Tds + fdq + Qdt ೔ຊԠ༻਺ཧֶձ 2021 ೥౓ ೥ձ ߨԋ༧ߘू (2021.9.7–9) Copyright (C) 2021 Ұൠࣾஂ๏ਓ೔ຊԠ༻਺ཧֶձ 0 = lim α→0 1 α ∂Sα ˜ Ξ = lim α→0 1 α Sα d˜ Ξ (3) ∂Sα ͱ Sα ͸ɼ(p, q, u, t) ্ۭؒͷ޲͖෇͖ͷด ۂઢͱͦΕʹғ·Εͨ໘ੵͰ͋ΔɽϓϨϋϛϧ τχΞϯΛ ˜ H(p, q, u) := pu − L(q, u) (4) ͱ͢Ε͹ɼ˜ Ξ = pdq − ˜ Hdt ͱͳΓɼ d˜ Ξ = dp ∧ dq − d ˜ H ∧ dt = dp + ∂ ˜ H ∂q dt ∧ dq − ∂ ˜ H ∂p dt − ∂ ˜ H ∂u du ∧ dt (5) ϥάϥϯ ଶྔ s ͕ଞͷ 0 = ͱͳΓɼ͜ ະఆ৐਺ T 0= lim α→0 1 α ࣜ (11) Λߟ ͳΔɽ͜͜ ೔ຊԠ༻਺ཧֶձ 2021 ೥౓ ೥ձ ߨԋ༧ߘू (2021.9.7–9) Copyright (C) Where 𝑈 𝑞, 𝑠, 𝑡 = 𝑠 − 𝑊 𝑞, 𝑡 = 0 31 DeepFlow, Inc.
  24. 対称性と保存則 ʹର͠ɼ 0 = LXφ (dΞ) = d(ιXφ (dΞ ͱͳΕ͹ɼܥ͸࿈ଓͳରশ

    LXφ d = (dιXφ + ιXφ d)d = ΋͠ɼ͋Δؔ਺ G(p, q) ͕͋ t p, q, s dΞ + 𝛽 ∧ d𝑡 𝑋$ 𝜄"# dΞ + 𝛽 ∧ d𝑡 = −d𝐺(𝑞, 𝑝) 32 DeepFlow, Inc.
  25. 連続体への拡張 Λ x = (x1, x2, x3) ͱ͠ɼ৔ͷڞมඍ෼ ∇∂/∂xj Λ

    ∇j ͱ ॻ͘ɽεΧϥʔ৔ʹ͸ ∇j ͸ภඍ෼ ∂j ʹͳΔɽຊߘͰ ͸ϨϏɾνϏλ઀ଓͰڞมඍ෼Λ༩͑Δɽܭྔςϯιϧ gijdxi ⊗ dxj ͸ ∇kgij = 0 Λຬͨ͢ɽͭ·ΓܭྔΛอଘ ͢Δɽܭྔ gij Λ x ͷؔ਺ͱͯ͠ɼ √ g := |detgij | ͱ ͢Ε͹ɼମੵཁૉ͸ ∗1 = √ gdx1 ∧ dx2 ∧ dx3 ͱॻ͚Δɽ ৔Λ ri ͱ͠ɼؔ਺ f(ri, ∇jri) ͷ֎ඍ෼ df Λ ∂f ∂ri dri + ∂f ∂∇jri ∇j(dri) = ∂f ∂ri − ∇j ∂f ∂∇jri dri + ∇j ∂f ∂∇jri dri (36) ͱఆΊɼϕΫτϧ৔ X = Xi ∂ ∂ri ͱͷ಺෦ੵΛ ιXdf = Xi ∂f ∂ri − ∇j ∂f ∂∇jri +∇j Xi ∂f ∂∇jri (37) ͱఆΊΔɽ 4.2 ৔ͷӡಈ๏ଇ ৔ͷӡಈ๏ଇΛࣜ (28) ͱ (29) ʹରԠ͢ΔܗͰ༩͑Δɽ (∇ivi) ∗ 1 = ∂i( gvi)dx1 ∧dx2 ∧dx3 ͱͳΔ͜ͱΛ༻͍ͨɽσΟϦΫϨڥք৚݅ δqi α (x) = δt = 0, x ∈ ∂V ͸ࣜ (42) Λຬͨ͠ɼڥք ∂V ্Ͱͷ (qi, t) ͷ஋ ͢ΔɽҎ߱ͷڥք৚݅Λࣜ (44) Ͱ༩͑Δɽ 4.3 ৔ͷରশੑͱอଘଇ ରশੑͱอଘଇͷؔ܎Λௐ΂Δɽ3.5 અͷٞ࿦ ͢ΔɽϋϛϧτχΞϯີ౓ H ͕ٻ·ͬͨͱ͢Δ τϧ Xφ ͕ V ιY d ιXφ (dΞ + β ∧ dt) = 0 Λຬͨ͢ྫΛ୳ͦ͏ɽ͋Δؔ਺ G(pi,qi,∂jqi) ͕ XG = − ∂G ∂qi − ∇j ∂G ∂(∂jqi) ∂ ∂pi + ∂G ∂pi ∂ ∂qi t r(x),∇j r(x) u 33 DeepFlow, Inc.
  26. 連続体への拡張 ͑Δɽ৔ (pi, qi, s, ui) ͷӡಈํఔࣜΛٻ ϓϨϋϛϧτχΞϯີ౓Λ ˜ H(pi,

    qi, ∇jq ͱ͢ΔɽఈۭؒͷମੵཁૉΛ ∗1 ͱ͠ɼ ˜ Ξ := ∗1 ∧ pidqi − ˜ Hdt ͰఆΊΔɽະఆ৐਺৔Λ T ͱ͠ɼβ Λఆ β := ∗1 ∧ Tds + ζidqi + ηj i ∇j(dqi) + ζi, ηj, Q ͸৔ͱͦͷڞมඍ෼ ∇j ͷؔ਺ ͰఆΊΔɽະఆ৐਺৔Λ T ͱ͠ɼβ ΛఆΊΔɽ β := ∗1 ∧ Tds + ζidqi + ηj i ∇j(dqi) + Qdt (20) ζi, ηj i , Q ͸৔ͱͦͷڞมඍ෼ ∇j ͷؔ਺Ͱ͋Δɽ ೔ຊԠ༻਺ཧֶձ 2021 ೥౓ ೥ձ ߨԋ༧ߘू (2021.9.7–9 = T ∂U ∂q ͱ Q = T ∂U ∂t ͱ q, u, s, t, T) ্ͷۂઢ C0 ͍ͭͯɼ͕࣍ࣔͤΔɽ β = 0 (14) ͹ɼࣜ (7) ͱಉ༷ʹͯ͠ 0 ΛಘΔɽ͜ͷࣜ͸ ࣜ (19) ͱ (20) ΑΓɼӡಈ๏ଇ͸ࣜ (1 V ιXC0 d˜ Ξ + β ∧ dt = 0 Ͱ༩͑ΒΕΔɽ ͜͜Ͱɼ XC0 = ∂pi ∂t ∂ ∂pi +∂ ∂ ∂ui ∂t ∂ ∂ui + ∂s ∂t ∂ ∂s + ∂ ∂t ͸৔ͷӡಈۂઢ C0 ͷ ΫτϧͰ͋ΓɼV ͸ఈۭؒͷੵ෼ྖҬͰ t x q(x), s(x) 体積要素: ∗ 1 = √𝑔d%𝑥 34 DeepFlow, Inc.
  27. 連続体への拡張 運動⽅程式の導出 s, t, T) ্ͷۂઢ C0 ɼ͕࣍ࣔͤΔɽ 0 (14)

    ࣜ (7) ͱಉ༷ʹͯ͠ ಘΔɽ͜ͷࣜ͸ dt) = 0 (15) Δɽ্ࣜ͸߆ଋܥ Ͱ͋ΓɼҎ߱ͷٞ࿦ β ∧ dt ͸ɼ dt ∧ dq − ∂ ˜ H ∂p dt V ιXC0 d˜ Ξ + β ∧ dt = 0 (21) Ͱ༩͑ΒΕΔɽ ͜͜Ͱɼ XC0 = ∂pi ∂t ∂ ∂pi +∂qi ∂t ∂ ∂qi + ∂ui ∂t ∂ ∂ui + ∂s ∂t ∂ ∂s + ∂ ∂t ͸৔ͷӡಈۂઢ C0 ͷ઀ϕ ΫτϧͰ͋ΓɼV ͸ఈۭؒͷੵ෼ྖҬͰ͋Δɽ ͳ͓ɼd˜ Ξ + β ∧ dt = ∗1 ∧ ࣜ (22) ͱͳΔɽ dpi+ ∂ ˜ H ∂qi −∇j ∂ ˜ H ∂(∇jqi) − ζi−∇jηj i dt ∧ dqi− ∂ ˜ H ∂pi dt − ∂ ˜ H ∂ui dui+ ∂ ˜ H ∂s −T ds ∧dt − ∇j ∂ ˜ H ∂(∇jqi) − ηj i dqi ∧ dt (22) ࣜ (19) ͱ (20) ΑΓɼӡಈ๏ଇ͸ࣜ (14) ͱ V ιXC0 d˜ Ξ + β ∧ dt = 0 (21) Ͱ༩͑ΒΕΔɽ ͜͜Ͱɼ XC0 = ∂pi ∂t ∂ ∂pi +∂qi ∂t ∂ ∂qi + ∂ui ∂t ∂ ∂ui + ∂s ∂t ∂ ∂s + ∂ ∂t ͸৔ͷӡಈۂઢ C0 ͷ઀ϕ ΫτϧͰ͋ΓɼV ͸ఈۭؒͷੵ෼ྖҬͰ͋Δɽ ͳ͓ɼd˜ Ξ + β ∧ dt = ∗1 ∧ ࣜ (22) ͱͳΔɽ dpi+ ∂ ˜ H −∇j ∂ ˜ H − ζi−∇jηj i dt 35 DeepFlow, Inc.
  28. 流体の場合 λ = ∂s = ρ ∂s = ρT ͱͳΔɽୈ

    4 ߲ΑΓɼκ = ∂ρ = −1 2 u2 + h ΛಘΔɽ͜͜Ͱ h := + P ρ ͸Τϯλϧϐʔ Ͱ͋Δɽ͜Εͷશඍ෼͸ dh = dP ρ + Tds ͱͳΔɽ଎౓ ৔ͷ࣌ؒൃలํఔࣜΛٻΊΑ͏ɽࣜ (64) ʹ ∂ ∂t + Lu Λ ࡞༻ͤ͞ɼࣜ (53) ͱ (63) Λ༻͍Ε͹ɼ଎౓৔ͷ࣌ؒൃ లํఔࣜ ∂u ∂t + d u2 2 + ιudu + 1 ρ (dP − ∇ · σ) = 0 (65) ͕ಘΒΕΔɽ͜͜Ͱ ∇ · σ := (∇iσi j )dxj ͱ͢Δɽ௨ৗ ͷϕΫτϧղੳͰͷه๏Λ࢖͑͹ɼ ∂u ∂t +grad u2 2 −u×rotu+ 1 ρ (gradP − ∇ · σ) = 0 (66) ͱͳΔ 14)ɽ ࣜ (65)ͷಋग़ʹɼ ࣜ (53)ΑΓ (∂t+Lu)dqk = k eij := (∇jui + ∇iuj) /2 Λ ͱͳΔɽ೤ྗֶతྗΛ χ = σij T = Lσij σkl ekl + L JQ i = L iσkl ekl + L ͱͳΔɽྫ͑͹ɼχϡʔτ ੵ೪ੑ ζb ɼ೤఻ಋ཰ ξ Λ༻ Lσij σkl = T 2ζsgikg L i j = ξgij, Lσij k = L iσkl = 0 Ͱ༩͑ΒΕɼΦϯαʔΨʔ ハミルトニアンHに、エネルギー密度、 βにエントロピーの式を⼊れれば、ナビエ・ストークス⽅程式を得る。 注意:連続体の場合は、共変微分が⼊る。 36 DeepFlow, Inc.
  29. まとめ 利点 • 対称性(時間空間並進、回転)の議論 • 良設定条件 解の存在と⼀意性 (境界条件についての議論) 複雑な流体の運動方程式の導出 •

    気液二相流 • 液晶 𝜄#!" 𝛽 = 0 𝜄#!" (d+ Ξ + 𝛽 ∧ d𝑡) = 0 運動⽅程式 拘束条件 参考⽂献 [1] M. A. Biot, A virtual dissipation principle and Lagrangian equations in non-linear irreversible thermodynam- ics, Acad. Roy. Belg. Bull. Cl. Sci., 61 (1975), 6‒30. [2] H.Fukagawa and Y.Fujitani, Clebsch potentials in the variational principle for a perfect fluid, Prog. Theor. Phys., 124 (2010) 517‒531; A variational prin- ciple for dissipative fluid dynamics, 127 (2012), 921‒935. [3] 深川宏樹, 散逸系の変分原理, ⽇本物理学会誌, 72 (2017), 34‒38. [4] 深川宏樹, 微分形式による粘性流体の定式化, ながれ, 40 (2021),38‒45. [5] ポントリャーギン, 最適制御理論におけ る最⼤値原 理, 森北出版, 2000. 37 DeepFlow, Inc.
  30. 物理 数学 計算機科学を融合する。 22 [ 22 ] インダストリアルマテリアルズ 離散微分形式による大規模シミュレーション 深川

    宏樹 1 は じ め に 百聞は一見に如かずというように,見ることで 分かることは多い.DeepFlow 株式会社で開発す るシミュレーター(Elkurage)は,場の基礎方程 38 DeepFlow, Inc.
  31. マルチスレッド計算 40 DeepFlow, Inc. マルチプロセッサー コ ア コ ア コ

    ア コ ア メモリ コ ア コ ア コ ア コ ア メモリ コ ア コ ア コ ア コ ア メモリ …
  32. 参照の並列性 コ ア コ ア コ ア コ ア メモリ

    コ ア コ ア コ ア コ ア メモリ コ ア コ ア コ ア コ ア メモリ … 領域分割 近いものは同じノードのメモリに載っける ノード 42 DeepFlow, Inc.
  33. 有限要素法 Φ2 Φ3 Φ4 Φ1 Φ5 Φ6 線形方程式を解く 𝑓 =

    𝐴𝜑 φ= 𝐴!"𝑓 f1 𝜙! ⋮ 𝜙" = 𝑎! ! … 𝑎" ! ⋮ ⋱ ⋮ 𝑎! " … 𝑎" " #! 𝑓! ⋮ 𝑓" 𝑓! ⋮ 𝑓" = 𝑎! ! … 𝑎" ! ⋮ ⋱ ⋮ 𝑎! " … 𝑎" " 𝜙! ⋮ 𝜙" 43 DeepFlow, Inc.
  34. 線形ソルバは⼤きな問題では スパコンを使っても遅くなる。 疎⾏列 密⾏列 計算量とデーター転送量は O(n2~n3). *疎⾏列の逆⾏列は 密⾏列 線形ソルバ 𝜙!

    ⋮ 𝜙" = 𝑎! ! … 𝑎" ! ⋮ ⋱ ⋮ 𝑎! " … 𝑎" " #! 𝑓! ⋮ 𝑓" 44 DeepFlow, Inc. OpenFOAMの 並列計算のベンチマーク サイズ:400万メッシュ コ ア コ ア コ ア コ ア メモリ コ ア コ ア コ ア コ ア メモリ コ ア コ ア コ ア コ ア メモリ … 𝑓! ⋮ 𝑓" = 𝑎! ! … 𝑎" ! ⋮ ⋱ ⋮ 𝑎! " … 𝑎" " 𝜙! ⋮ 𝜙"
  35. Principle of locality 𝜕 𝜕𝑡 𝜙 = 𝐹(𝜙, 𝜙$, 𝜙”)

    𝜕 𝜕𝑡 𝜙! ⋮ 𝜙" = 𝐹! ! … ⋮ ⋱ … 𝐹" " 𝜙! ⋮ 𝜙! 45 DeepFlow, Inc.
  36. 陽解法 𝑛 (𝑛, 1) (𝑛, 2) 𝑛, 3 時間刻み メモリの配置

    𝜔∗∗ 𝑚 + 1, 𝑛 = 𝜔∗∗ 𝑚, 𝑛 + 𝑓(𝜔∗∗ 𝑚, 𝑛, 𝑖 Δt 46 DeepFlow, Inc.
  37. 場の⽅程式 ہॴੑͱฒྻੑ ࣌ࠁ t ͱҐஔ x Ͱͷ৔Λ ω Ͱද͠ɼ৔ͷۭؒ ෼Λ

    ω ͱॻ͘ɽۙ઀࡞༻ͷجૅํఔࣜ͸ ∂ω(t, x) ∂t = f(ω(t, x), ω (t, x)) (1) ༩͑ΒΕΔɽࣜ (1) Λ਺஋తʹղ͜͏ɽ࣌ؒ ࠁΈ෯ ∆t Ͱ෼ׂ͠ɼ࣌ؒͷΠϯσοΫεΛ ͱ͢ΔɽۭؒΛϝογϡ෼ׂ͠ɼ෼ׂཁૉΛ ͱݺͼɼID Λ n ͱ͢Δɽ཭ࢄԽͨ͠৔ͷ஋ ∗∗(m, n) Ͱද͢ɽCell n ͷۙ๣ʹ͋Δ Cell D Λ (n, i) ͱ͢Δɽi ≥ 0 ͸ۙ๣ʹ͋Δ Cell ࢜Λ۠ผ͠ɼn = (n, 0) ͱ͢Δɽω (t, x) ͷ཭ Γɼ଎౓৔ u ͸ 1 ܗࣜͰ ͷ Cell χ ্ͷੵ෼ (ධՁ χ, ω := ω ʹରͯ͠ੵ෼஋Λฦ͢ χ∗ := χ, ͸ V ͷ૒ରۭؒ V ∗ ͷݩ ω∗∗ := evalω : ͸ೋॏ૒ରۭؒ V ∗∗ ͷݩ 𝑛 (𝑛, 1) (𝑛, 2) 𝑛, 3 離散化 𝜔∗∗ 𝑚 + 1, 𝑛 = 𝜔∗∗ 𝑚, 𝑛 + 𝑓(𝜔∗∗ 𝑚, 𝑛, 𝑖 Δt 陽解法 48 DeepFlow, Inc.
  38. 流体⽅程式 ナビエ・ストークス 質量保存 時間発展⽅程式は以下の形になる。 𝜕𝜌 𝜕𝑡 = −div(𝜌𝒖) Δ𝒖: =

    grad div − rot rot 𝒖 𝜕𝒖 𝜕𝑡 = −𝒖 ⋅ rot 𝒖 − 1 2 grad 𝒖 ⋅ 𝒖 − 1 𝜌 (grad 𝑃 − 𝜂Δ𝒖) ͢ʹ͸ɼ෺ཧݱ৅ͷہॴੑͱฒྻੑ͕ܭࢉ࣌ ͷσʔλΞΫηεʹ͓͍ͯ΋࣮ݱ͢Δ͜ͱ͕ ཁͰ͋Δ [1]ɽ৔ͷجૅํఔࣜΛඍ෼ܗࣜͰ༩ Ε͹ɼہॴੑͱฒྻੑΛอͭࣗવͳ཭ࢄԽ͕ ͖ɼେن໛ͳγϛϡϨʔγϣϯ͕Ͱ͖Δ [2]ɽ ہॴੑͱฒྻੑ ࣌ࠁ t ͱҐஔ x Ͱͷ৔Λ ω Ͱද͠ɼ৔ͷۭؒ ෼Λ ω ͱॻ͘ɽۙ઀࡞༻ͷجૅํఔࣜ͸ ∂ω(t, x) ∂t = f(ω(t, x), ω (t, x)) (1) ༩͑ΒΕΔɽࣜ (1) Λ਺஋తʹղ͜͏ɽ࣌ؒ ਤ 1. ྲྀମܭࢉͰͷີ 3 ཭ࢄඍ෼ܗࣜ Elkurage Ͱ͸෺ཧྔ ΕΔɽྫ͑͹ɼྲྀମܭ Γɼ଎౓৔ u ͸ 1 ܗࣜ ͷ Cell χ ্ͷੵ෼ (ධ χ, ω : ω ʹରͯ͠ੵ෼஋Λฦ χ∗ := χ, where 49 DeepFlow, Inc.
  39. ホッジ作⽤素 ∗: 𝑘形式→(3−k)形式 ∗ 1 = d𝑥 ∧ d𝑦 ∧

    d𝑧 ∗ d𝑧 = d𝑥 ∧ d𝑦 ∗ (d𝑥 ∧ d𝑦) = 𝑑𝑧 ∗ (d𝑥 ∧ d𝑦 ∧ d𝑧) = 1 ∗∗= 1 d𝑥 d𝑦 d𝑥 ∧ d𝑦 d𝑧 =∗ (d𝑥 ∧ d𝑦) る に こ , リ ら ベ M ル れ 空間を Ω(M) と書く.α, β∊Ω(M) の内積を g (α, β)=αβ とし,α, β∊Ω(M) の内積を g (α, β)=g(α♯, β♯) とする.k 形式 α=α ∧⋯∧α と β=β ∧⋯∧β の 内 積 を g (α, β)=det (g (α , β )) で定める. 体 積 形 式 vol := det g dx∧⋯∧dx∊ Ω(M) を用いれば,線形汎関数   g (_, β)vol が得られ,これは双対空間への同型写像を与える. ホッジ演算子 * :Ω(M)→Ω(M) を α, β∊ Ω(M) に対して, α∧(* β) = g α, βvol (6) で定めれば,これも双対空間への同型写像を与え る. 計量テンソル g が g(u, u)≧0 と正定値である とき,ホッジ演算子は * * =−1 を満 50 DeepFlow, Inc.
  40. Δ𝒖: = grad div − rot rot 𝒖 Δ𝒖: =

    d ⋆ d ⋆−⋆ d ⋆ d 𝒖 𝜕 𝜕𝑡 𝒖 + 𝒖 ⋅ rot 𝒖 + 1 2 grad 𝒖 ⋅ 𝒖 + 1 𝜌 (grad 𝑃 − 𝜂Δ𝒖) = 0 𝜕 𝜕𝑡 (⋆ 𝜌) = −𝑑 (𝜌 ⋆ 𝒖) 𝜕 𝜕𝑡 𝜌 + div(𝜌𝒖) = 0 𝜕 𝜕𝑡 𝒖 = −𝜄𝒖#d 𝒖 − 1 2 dg 𝒖, 𝒖 − 1 𝜌 (d𝑃 − 𝜂Δ𝒖) ナビエ・ストークス 質量保存 ナビエ・ストークス 質量保存 51 DeepFlow, Inc.
  41. 流体⽅程式(直交座標系) ナビエ・ストークス 質量保存 𝜕𝜌 𝜕𝑡 = − 𝜕 𝜌𝑢+ 𝜕𝑥+

    𝜕𝑢+ 𝜕𝑡 = −𝑢, 𝜕𝑢+ 𝜕𝑥, − 1 𝜌 𝜕𝑃 𝜕𝑥+ − 𝜂 𝜕 𝜕𝑥, 𝜕 𝜕𝑥, 𝑢+ 𝑢$ スタガード格⼦ ρ 𝑢% 52 DeepFlow, Inc.
  42. 𝜌 m 𝑱 Hodge operator 𝒖 54 54 DeepFlow, Inc.

    An Applied Introduction - Discrete Differential Geometryhttp://ddg.cs.columbia.edu › DDGCourse2006 PDF E Grinspun
  43. ਤ 1. ྲྀମܭࢉͰͷີ౓ ρ ͱ଎౓৔ u ͷ഑ஔ ナビエ・ストークス 𝑢 𝑢

    P P P 𝜕𝒖 𝜕𝑡 = −𝒖 ⋅ rot 𝒖 − 1 2 grad 𝒖 ⋅ 𝒖 − 1 𝜌 (grad 𝑃 − 𝜂Δ𝒖) Δ𝒖: = grad div − rot rot 𝒖 where P は𝜌の関数 55 DeepFlow, Inc. 圧⼒ P 勾配 grad P 速度場 𝒖 回転 rot 𝒖
  44. 微分形式 𝑢 𝑢 ਤ 1. ྲྀମܭࢉͰͷີ౓ ρ ͱ଎౓৔ u ͷ഑ஔ

    56 DeepFlow, Inc. 圧⼒ P 勾配 grad P 0 form ∋ P ↦ dP ∈ 1 form 速度場 𝒖 回転 rot 𝒖 1 form ∋ 𝒖 ↦ d𝒖 ∈ 2form 流束密度𝒋 = 𝜌 ∗ 𝒖 発散 div 𝒋 2 form ∋ 𝒋 ↦ d𝒋 ∈ 3 form
  45. 離散微分形式 ɼ ਤ 1. ྲྀମܭࢉͰͷີ౓ ρ ͱ଎౓৔ u ͷ഑ஔ 微分n形式

    1形式 2形式 3形式 𝜒 : 積分領域 線分 面領域 体積領域 𝜔 𝑥 : 位置𝑥での物理量 速度 流束密度 質量密度 𝜔∗∗ 𝜒∗ ≔ ∫ & 𝜔 ∈ ℝ 𝜔(𝑥) : 位置𝑥での物理量 ⬇ 𝜔∗∗ (𝜒∗): 領域𝜒で𝜔の評価(積分)値 57 DeepFlow, Inc.
  46. 離散微分形式 (φ∗∗(ω∗∗))(σ∗)= σ, φ(ω) =(φ(ω))∗∗(σ∗) (7) ΛಘΔɽͭ·Γɼਤࣜ V ∗∗ //

    φ  V ∗∗ φ∗ ∗  ω  ∗∗ // _ φ  ω∗∗ _ φ∗ ∗  W ∗∗ // W∗∗ φ(ω)  ∗∗ // (φ(ω))∗∗=φ∗∗(ω∗∗) ͕Մ׵ʹͳΔɽφ ͕ઢܗͳΒ͹ɼࣜ (3) ͷ૒ઢ t 離散化∗∗は⾃然変換:離散化∗∗と写像𝜙は可換 = [ $ 𝜙(𝜔) ∈ ℝ 58 DeepFlow, Inc.
  47. 離散微分形式 ਤ 2. ճసೋॏӋࠜͷۭྗܭࢉ ͳΓ [3]ɼφ(ω) Λ஌Βͳͯ͘΋ (φ(ω))∗∗ ࢉͰ͖Δɽྫ͑͹ɼ֎ඍ෼ d

    ͸ઢܗࣸ૾ ɼڥք࡞༻ૉΛ ∂ ͱͯ͠ɼετʔΫεͷ 写像𝜙が線形写像なら、次を満たす線形写像 %𝜙が存在する。 例:∫ & d𝜔 = ∫ '& 𝜔= Σ( ∫ )' 𝜔 ਤ 2. ճసೋॏӋࠜͷۭྗܭࢉ ͱͳΓ [3]ɼφ(ω) Λ஌Βͳͯ͘΋ (φ(ω))∗∗(σ) ͕ ܭࢉͰ͖Δɽྫ͑͹ɼ֎ඍ෼ d ͸ઢܗࣸ૾Ͱ͋ Γɼڥք࡞༻ૉΛ ∂ ͱͯ͠ɼετʔΫεͷఆཧ ΑΓ σ, dω = ∂σ, ω ͱͳΔɽω Λ 2 ܗࣜͱ͢ Ε͹ɼdω ͸ 3 ܗࣜͱͳΔɽχi Λ 3-Cell σ ͷද ໘Λ෴͏ 2-Cell ͱ͢Ε͹ɼ∂σ = i χi ͱͳΓɼ (dω)∗∗(σ∗) = ω∗∗(χ∗) ͱܭࢉͰ͖Δɽϗο ᝳໟਸ ଠࢯͷ ͸ɼ͞ Λ࢖ͬ ࢀߟจ [1] T T M H I fi 𝜕( ) = 佐武⼀郎, 線形代数学, 裳華房, 1958. S ' 𝜙(𝜔) = S "$(') 𝜔 ∈ ℝ 59 DeepFlow, Inc.
  48. ϯʹ͓͚Δہॴੑͱฒྻੑͷ཭ࢄඍ෼ܗࣜʹΑΔ࣮ݱ ୓࠸ 1 ձࣾ ukagawa@deepflow.co.jp ͱɼྗ͸৔ͷہॴతͳ૬ޓ ೻଎౓ʹ͸্ݶ͕ଘࡏ͠ɼ ɽฒྻܭࢉػͷੑೳΛҾ͖ ͷہॴੑͱฒྻੑ͕ܭࢉ࣌ ʹ͓͍ͯ΋࣮ݱ͢Δ͜ͱ͕

    جૅํఔࣜΛඍ෼ܗࣜͰ༩ ྻੑΛอͭࣗવͳ཭ࢄԽ͕ ਤ 1. ྲྀମܭࢉͰͷີ౓ ρ ͱ଎౓৔ u ͷ഑ஔ 3 ཭ࢄඍ෼ܗࣜ シミュレーションにおける 局所性と並列性の離散微分形式による実現 物理 ↓ 陽解法 計算機 微分形式 𝜔 𝑥 ↓ ⾃然変換 ** 離散微分形式 𝜔∗∗ (𝜒∗)=∫ ' 𝜔 2 ہॴੑͱฒྻੑ ࣌ࠁ t ͱҐஔ x Ͱͷ৔Λ ω Ͱද͠ɼ৔ͷۭؒ ඍ෼Λ ω ͱॻ͘ɽۙ઀࡞༻ͷجૅํఔࣜ͸ ∂ω(t, x) ∂t = f(ω(t, x), ω (t, x)) (1) Ͱ༩͑ΒΕΔɽࣜ (1) Λ਺஋తʹղ͜͏ɽ࣌ؒ ΛࠁΈ෯ ∆t Ͱ෼ׂ͠ɼ࣌ؒͷΠϯσοΫεΛ m ͱ͢ΔɽۭؒΛϝογϡ෼ׂ͠ɼ෼ׂཁૉΛ Cell ͱݺͼɼID Λ n ͱ͢Δɽ཭ࢄԽͨ͠৔ͷ஋ Λ ω∗∗(m, n) Ͱද͢ɽCell n ͷۙ๣ʹ͋Δ Cell ͷ ID Λ (n, i) ͱ͢Δɽi ≥ 0 ͸ۙ๣ʹ͋Δ Cell Γɼ଎౓৔ ͷ Cell χ ্ ω ʹରͯ͠ ͸ V ͷ૒ର ω ͸ೋॏ૒ର 60 DeepFlow, Inc. • 物理場は局所性と並列性を持ち、微分形式で記述される。 • 離散微分形式は、微分形式から⾃然に変換される。 • スタッガード⾮構造格⼦は計算の安定性を⾼める。
  49. まとめ • 参照の局所性→⾼速・並列化 • 陽解法 (近接相互作⽤) • 離散微分形式 使いやすい! (grad

    div rot が d と*で書ける) 時間刻み コ ア コ ア コ ア コ ア メモリ コ ア コ ア コ ア コ ア メモリ コ ア コ ア コ ア コ ア メモリ … 61 DeepFlow, Inc.