Google ColabのJulia言語で2次元Swift-Hohenberg方程式(∂φ/∂t=φ - φ³ - (∇²+ k₀²)²φ、熱対流などを表す)を差分法で計算してパターンを動画にしてみる。
前回は複素TDGL方程式をやったので、今回は類似のSwift-Hohenberg方程式
∂φ/∂t = φ - φ3 - (∇2+ k02)2φ
をやってみよう。空間の4階微分が出てくる。コードはこんな感じで。
TDGLのプログラム流用なので無駄があり変数名がおかしいがまあ気にしないで。
using Plots
using Printf
using Random
function main()
#パラメータ設定
n = 128
m = 1000
ndiv = 2
dt = 0.02
dx = 1.0
C1 = 1.0
#初期設定
X1 = zeros(n + 2, n + 2)
Y1 = zeros(n + 2, n + 2)
X2 = zeros(n + 2, n + 2)
MT = MersenneTwister()
Random.seed!(MT, 42)
@inbounds for j in 2:(n + 1)
@inbounds @simd for i in 2:(n + 1)
X1[i, j] = 0.1 * (2.0 * rand(MT) - 1.0)
end
end
# 結果を格納する配列
results = []
for t in 1:m
#境界条件
@inbounds for i in 2:(n + 1)
X1[1, i] = X1[2, i]
X1[n + 2, i] = X1[n + 1, i]
X1[i, 1] = X1[i, 2]
X1[i, n + 2] = X1[i, n + 1]
end
#一つ目のラプラシアン
@inbounds for j in 2:(n + 1)
@inbounds @simd for i in 2:(n + 1)
lapX = (X1[i + 1, j] + X1[i - 1, j] + X1[i, j + 1] + X1[i, j - 1] - 4.0 * X1[i, j]) / (dx * dx)
Y1[i, j] = lapX + C1 * C1 * X1[i, j]
end
end
#境界条件
@inbounds for i in 2:(n + 1)
Y1[1, i] = Y1[2, i]
Y1[n + 2, i] = Y1[n + 1, i]
Y1[i, 1] = Y1[i, 2]
Y1[i, n + 2] = Y1[i, n + 1]
end
#Swift-Hohenberg計算
@inbounds for j in 2:(n + 1)
@inbounds @simd for i in 2:(n + 1)
lapY = (Y1[i + 1, j] + Y1[i - 1, j] + Y1[i, j + 1] + Y1[i, j - 1] - 4.0 * Y1[i, j]) / (dx * dx)
X2[i, j] = X1[i, j] + dt * (X1[i, j] * (1.0 - X1[i, j] ^ 2) - (lapY + C1 * C1 * Y1[i, j]))
end
end
@inbounds for j in 2:(n + 1)
@inbounds @simd for i in 2:(n + 1)
X1[i, j] = X2[i, j]
end
end
# ndivステップごとに結果を配列に格納
if t % ndiv == 0
push!(results, copy(X1))
end
end
# 計算結果をアニメーションで表示
anim = @animate for i in 1:length(results)
heatmap(results[i], title="t = $(@sprintf("%.3f", i * ndiv * dt))", clim=(-1.2, 1.2), size = (950, 800))
end
gif(anim, "Swift-Hohenberg.gif", fps = 10)
end
|
これでmain()とすると動画ができる。
« 2度目の日本国宝展@大阪市立美術館を観てきた。前回は金印を観に、今回は縄文のビーナス(土偶)、雪舟を特に観に行ったがよかった。源頼朝像も初めて実物を見た。しかし人が前回の3倍以上いる…中に入るだけで60分待つ。 | トップページ | 三体0 球状閃電を読んだ。 面白かった。球電に両親を殺された陳はその正体の解明にのめり込む。数理モデルを作ってシミュレーション繰り返すとか膨大な条件を振って実験繰り返すとか身につまされることをしても分からない球電の意外な正体に驚く…量子力学の観測問題が出て来たり。 »
「パソコン・インターネット」カテゴリの記事
- Qwen3.6-35B-A3Bが発表され、Ollamaでも使える。そこで電子レンジの動作原理(2.45GHzは水分子の共振周波数でない)と隕石が大気圏突入で燃える原理(摩擦熱ではない)を聞くと、誘電緩和と断熱圧縮について正しく答えられた。今までのローカルLLMで一番賢い回答と思う。(2026.04.17)
- ExcelのOfficeスクリプト(TypeScript)で数値計算ライブラリmath.jsを使う(1) Officeスクリプトは外部API呼び出せるし、math.jsは RESTful APIで呼び出せることがわかった。まずは選択したセルのデータを読み、行列演算。LU分解で一次方程式を解き、逆行列と行列式を求める。(2026.04.17)
- RF Weekly Digest (Gemini 3.1 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ)2026/4/5-4/12(2026.04.12)
- GLM-5.1(Ollamaから利用)でPythonのscikit-rfを使ってTouchstoneフォーマットのSパラメータファイルを読んでdB, 位相, スミスチャート, TDRを表示するGUIアプリを作ってもらった。5分など長く考えた後、Gemma 4:31bよりさらに出来が良く、思った通りのものができた。(2026.04.09)
「学問・資格」カテゴリの記事
- Qwen3.6-35B-A3Bが発表され、Ollamaでも使える。そこで電子レンジの動作原理(2.45GHzは水分子の共振周波数でない)と隕石が大気圏突入で燃える原理(摩擦熱ではない)を聞くと、誘電緩和と断熱圧縮について正しく答えられた。今までのローカルLLMで一番賢い回答と思う。(2026.04.17)
- 高周波・RFニュース 2026年4月17日 atisの3GPP Rel.20ウェビナー動画公開、MWCバルセロナ2026でのGSMA Device Enablement Summit資料公開、ハリファ大学が無線周波数AI言語モデルRF-GPT発表、レドームの解説など(2026.04.17)
- ExcelのOfficeスクリプト(TypeScript)で数値計算ライブラリmath.jsを使う(1) Officeスクリプトは外部API呼び出せるし、math.jsは RESTful APIで呼び出せることがわかった。まずは選択したセルのデータを読み、行列演算。LU分解で一次方程式を解き、逆行列と行列式を求める。(2026.04.17)
- 高周波・RFニュース 2026年4月16日 AmazonがGlobalstarを買収、GSMAが日本のデジタル化をレポート、Mini-Circuitsがケーブルアセンブリを動画で解説、Kymetaが米国海軍研究局と衛星通信で契約、PerasoがドローンIFF向け60GHzモジュール出荷、SEMCOが1500V耐圧MLCC発表(2026.04.16)
- 高周波・RFニュース 2026年4月15日 Microwave Journalはアンプと発振器特集、Signal Integrity Journalは100GHz越えのインターコネクトのAIを使うHFSSモデル化、ローデ・シュワルツが潜水艦通信をUDT2026で発表、Xiaomi Poco X8 Pro分解動画、atisの5Gポリシーレポート(2026.04.15)
「日記・コラム・つぶやき」カテゴリの記事
- Qwen3.6-35B-A3Bが発表され、Ollamaでも使える。そこで電子レンジの動作原理(2.45GHzは水分子の共振周波数でない)と隕石が大気圏突入で燃える原理(摩擦熱ではない)を聞くと、誘電緩和と断熱圧縮について正しく答えられた。今までのローカルLLMで一番賢い回答と思う。(2026.04.17)
- 高周波・RFニュース 2026年4月17日 atisの3GPP Rel.20ウェビナー動画公開、MWCバルセロナ2026でのGSMA Device Enablement Summit資料公開、ハリファ大学が無線周波数AI言語モデルRF-GPT発表、レドームの解説など(2026.04.17)
- ExcelのOfficeスクリプト(TypeScript)で数値計算ライブラリmath.jsを使う(1) Officeスクリプトは外部API呼び出せるし、math.jsは RESTful APIで呼び出せることがわかった。まずは選択したセルのデータを読み、行列演算。LU分解で一次方程式を解き、逆行列と行列式を求める。(2026.04.17)
- 高周波・RFニュース 2026年4月16日 AmazonがGlobalstarを買収、GSMAが日本のデジタル化をレポート、Mini-Circuitsがケーブルアセンブリを動画で解説、Kymetaが米国海軍研究局と衛星通信で契約、PerasoがドローンIFF向け60GHzモジュール出荷、SEMCOが1500V耐圧MLCC発表(2026.04.16)
- 高周波・RFニュース 2026年4月15日 Microwave Journalはアンプと発振器特集、Signal Integrity Journalは100GHz越えのインターコネクトのAIを使うHFSSモデル化、ローデ・シュワルツが潜水艦通信をUDT2026で発表、Xiaomi Poco X8 Pro分解動画、atisの5Gポリシーレポート(2026.04.15)
« 2度目の日本国宝展@大阪市立美術館を観てきた。前回は金印を観に、今回は縄文のビーナス(土偶)、雪舟を特に観に行ったがよかった。源頼朝像も初めて実物を見た。しかし人が前回の3倍以上いる…中に入るだけで60分待つ。 | トップページ | 三体0 球状閃電を読んだ。 面白かった。球電に両親を殺された陳はその正体の解明にのめり込む。数理モデルを作ってシミュレーション繰り返すとか膨大な条件を振って実験繰り返すとか身につまされることをしても分からない球電の意外な正体に驚く…量子力学の観測問題が出て来たり。 »


コメント