跳转到内容

半拉格朗日方法

维基百科,自由的百科全书

半拉格朗日方法(英語:Semi-Lagrangian scheme,縮寫:SLS)是一種廣泛應用於數值天氣預報模型中的數值方法,用於整合描述大氣運動的方程式。拉格朗日描述法(如應用於大氣系統)著重追蹤單個氣團的運動軌跡,有別於歐拉描述法——後者關注特定空間點上系統變量的變化速率。半拉格朗日方法採用歐拉框架,但離散方程的推導源自拉格朗日視角。

背景

[编辑]

拉格朗日量 的變化率由

給出,其中 可為標量場或向量場, 為速度場。上述方程式右側的第一項是 的局部變化率(或稱歐拉變化率),第二項通常稱為移項。需注意拉格朗日變化率亦稱為物質導數

可以證明,描述大氣運動的方程式可寫成拉格朗日形式

其中向量 的分量是描述空氣微粒的(依變數),例如速度、壓力、溫度等;而函數 則代表源項與/或匯項。

在拉格朗日方法中,雖可追蹤個別氣團,但存在明顯缺陷:氣團數量可能極為龐大,且常出現大量氣團聚集成團的狀況,導致相對廣闊的空間區域完全空缺。此類空洞會引發計算問題,例如在計算各類量值的空間導數時。對此存在解決之道,例如光滑粒子流體動力學技術,該技術將依變數以非局部形式表達,即作為其自身與核函數乘積的積分。

半拉格朗日方法則能避免空間區域基本不存在微粒的問題。

半拉格朗日方法

[编辑]

半拉格朗日方法採用規則(歐拉)網格,與有限差分法相同。其核心思想如下:在每個時間步長中,計算粒子包的起始點位置。隨後運用插值方案,估算粒子起始點周邊網格點上依變數的數值。所列參考文獻中包含半拉格朗日方法應用方式的更詳細說明。

外部連結

[编辑]
  • ctraj: C++ trajectory library, including semi-Lagrangian tracer codes.

參考資料

[编辑]