Google ColabのJulia言語でソリトンを生み出すKdV方程式を計算してGIFアニメにしてみる。ZabuskyとKruskalが1965年に使った計算法(Leap frog法で非線形のところは周りとの平均値)を使ったが、当時は数日かかっていただろう計算が20秒ほどでできる。
今回はKdV方程式 ∂u/∂t+u*∂u/∂x+δ²*∂³u/∂x³ = 0。
ZabuskyとKruskalのこの論文の方法を使う。Leap frog法で、非線形の部分に隣との平均を取るのがポイント。
Interaction of "Solitons" in a Collisionless Plasma and the Recurrence of Initial States
コードはこんな感じ。
using Plots
n = 202
m = 32000
c = 0.000484
dt = 0.0001
dx = 2.0 / (n - 2.0)
u1 = zeros(Float64, n + 2)
u2 = zeros(Float64, n + 2)
u3 = zeros(Float64, n + 2)
ϕ = zeros(Float64, n - 2, m) #表示用
for i in 3:n
x = (i - 3.0) * dx
u1[i] = cos(π * x)
end
u1[1] = u1[n - 1]
u1[2] = u1[n]
u1[n + 1] = u1[3]
u1[n + 2] = u1[4]
for i in 3:n
u2[i] = u1[i] - (dt / dx / 2.0) * u1[i] * (u1[i + 1] - u1[i - 1]) - c * (dt / (dx * dx * dx) / 2.0) * (u1[i + 2] - 2 * u1[i + 1] + 2 * u1[i - 1] - u1[i - 2])
end
for i in 1:(n-2)
ϕ[i, 1] = u1[i + 2]
ϕ[i, 2] = u2[i + 2]
end
for j in 3:m
for i in 3:n
u3[i] = u1[i] - (dt / dx) * ((u2[i + 1] + u2[i] + u2[i - 1]) / 3.0) * (u2[i + 1] - u2[i - 1]) - c * (dt / (dx * dx * dx)) * (
u2[i + 2] - 2 * u2[i + 1] + 2 * u2[i - 1] - u2[i - 2])
end
for i in 3:n
u1[i] = u2[i]
u2[i] = u3[i]
end
u1[1] = u1[n - 1]
u1[2] = u1[n]
u1[n + 1] = u1[3]
u1[n + 2] = u1[4]
u2[1] = u2[n - 1]
u2[2] = u2[n]
u2[n + 1] = u2[3]
u2[n + 2] = u2[4]
for i in 1:(n-2)
ϕ[i, j] = u3[i + 2]
end
end
x = zeros(Float64, n - 2)
for i in 1:(n-2)
x[i] = dx * i
end
|
GIFアニメにするには、
でOK。結果はこちら。
過去のもの:
Julia言語でタッパーの自己言及式(不等式を計算して図示するとまた不等式になる)を描いてみる。543桁の数を含む計算が必要だが、デフォルトで任意精度演算が可能なので容易にできた。
« 高周波・RFニュース 2025年4月1日 BroadcomのCo-Packaged Optics解説、TDKが20Gbps対応のコモンモードフィルタ紹介、太陽誘電が車載パワーインダクタ発表、Maury MicrowaveがVertigo Technologiesのミリ波、サブTHzのロードプルIP取得 | トップページ | Apple Intelligenceが使えるようになったのでビジュアルインテリジェンスを試す。カメラコントロール長押しで起動、質問はChatGPTが、検索はGoogle画像検索で調べる。3日前リニューアルしたばかりの尼崎の中央公園は質問は名古屋市栄の噴水と出た。検索は合ってた。 »
「パソコン・インターネット」カテゴリの記事
- Google Gemini 2.5 Pro experimentalに高周波で使われるSパラメータのTouchstoneファイルを読み込んでプロットするC#コードを書いてもらうと570行のコードができて動いた。ファイルの拡張子snpのnでポート数を判別するが人間を信じないのでデータ数えて確認するのに笑った。(2025.04.21)
- Google ColabのJulia言語で搭載されているGeminiを使って一行もコードを書かずに2次元拡散方程式を差分法で計算してGIFアニメにする。次に同じように2次元波動方程式もやってもらう。(2025.04.09)
- Google ColabのJulia言語で主成分分析(PCA)をやってみる。データはおなじみアヤメ(iris)で、標準で特異値分解(SVD)が入っているのですぐできた。(2025.04.08)
- Google ColabのJulia言語でマンデルブロ集合、仏様のようなブッダブロ、燃える船・バーニングシップフラクタルを描いてみる。どれも計算が速い。(2025.04.04)
- Google ColabのJulia言語でソリトンを生み出すKdV方程式を計算してGIFアニメにしてみる。ZabuskyとKruskalが1965年に使った計算法(Leap frog法で非線形のところは周りとの平均値)を使ったが、当時は数日かかっていただろう計算が20秒ほどでできる。(2025.04.01)
「学問・資格」カテゴリの記事
- 高周波・RFニュース 2025年4月25日 方向性結合器の解説記事、バイアスTの解説記事、インターデジタルが6GにおけるAIについて語る、NASAがエアロゲルを使った超軽量アンテナテスト中、ロームがOBC向けSiCモジュール発表(2025.04.25)
- 高周波・RFニュース 2025年4月24日 グラーツ工科大学のBösch教授のミリ波フロントエンドセミナーが広島と名古屋で開催、MediaTekがDimensity Auto発表、TMYTEKがmmW-OAI発売、MVGとアンリツがWi-Fi 7 OTA測定で協業、SPARK MicrosystemsのUWBトランシーバー(2025.04.24)
- 高周波・RFニュース 2025年4月23日 SRGが5G Massive MIMOは大きいほど性能がいいか調査、Ericssonがインドでアンテナ製造、5Gがシャノン限界に2つの意味で近づいているという論説、Mini-CircuitsがXバンドのデュアル信号発生器を発売(2025.04.23)
- 数理科学5月号 情報と物理学 ― エントロピーがつなぐ数理の世界を買った。データ圧縮、マクスウェルの悪魔&シラードエンジン、ブラックホール、量子情報、量子統計力学、テンソルネットワーク、ニューラルネットワーク、高分子の自己複製など話題が豊富で面白かった。(2025.04.23)
- 高周波・RFニュース 2025年4月22日 Signal Houndが40GHzまでのUSBネットアナ発売、EDI CON ONLINE2025は4月23日開催、5G、6G、IoTなど、MathWorksがアンテナとTRモジュールのモデルベース設計解説、EECLが85GHzまでのアップ/ダウンコンバータ発売(2025.04.22)
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース 2025年4月25日 方向性結合器の解説記事、バイアスTの解説記事、インターデジタルが6GにおけるAIについて語る、NASAがエアロゲルを使った超軽量アンテナテスト中、ロームがOBC向けSiCモジュール発表(2025.04.25)
- 高周波・RFニュース 2025年4月24日 グラーツ工科大学のBösch教授のミリ波フロントエンドセミナーが広島と名古屋で開催、MediaTekがDimensity Auto発表、TMYTEKがmmW-OAI発売、MVGとアンリツがWi-Fi 7 OTA測定で協業、SPARK MicrosystemsのUWBトランシーバー(2025.04.24)
- 高周波・RFニュース 2025年4月23日 SRGが5G Massive MIMOは大きいほど性能がいいか調査、Ericssonがインドでアンテナ製造、5Gがシャノン限界に2つの意味で近づいているという論説、Mini-CircuitsがXバンドのデュアル信号発生器を発売(2025.04.23)
- 高周波・RFニュース 2025年4月22日 Signal Houndが40GHzまでのUSBネットアナ発売、EDI CON ONLINE2025は4月23日開催、5G、6G、IoTなど、MathWorksがアンテナとTRモジュールのモデルベース設計解説、EECLが85GHzまでのアップ/ダウンコンバータ発売(2025.04.22)
- 高周波・RFニュース 2025年4月21日 6GWorldがサイトリニューアル、ITUがAI Native Telecom Networkの会議を開催、SEMCOが150℃保証の車載MLCC発表、Samsung Galaxy A26分解動画、Maury Microwaveが測定・モデリングソフト発表(2025.04.21)
« 高周波・RFニュース 2025年4月1日 BroadcomのCo-Packaged Optics解説、TDKが20Gbps対応のコモンモードフィルタ紹介、太陽誘電が車載パワーインダクタ発表、Maury MicrowaveがVertigo Technologiesのミリ波、サブTHzのロードプルIP取得 | トップページ | Apple Intelligenceが使えるようになったのでビジュアルインテリジェンスを試す。カメラコントロール長押しで起動、質問はChatGPTが、検索はGoogle画像検索で調べる。3日前リニューアルしたばかりの尼崎の中央公園は質問は名古屋市栄の噴水と出た。検索は合ってた。 »
コメント