跳轉至內容

HydroGeoSphere/時間步長控制

來自華夏公益教科書,開放的書籍,用於開放的世界

在討論控制瞬態解行為的可用指令之前,需要一些背景資訊。預處理器grok生成一個目標時間陣列,該陣列來自以下來源

  • 使用者指定的時間以滿足時間步長約束。
  • 使用者指定的時間以滿足輸出要求。
  • 瞬態邊界條件值發生變化的時間。

此目標時間陣列傳遞給HydroGeoSphere,它使用該陣列生成時間步長值。

此外,如第 5.5.2.1 節所述,自適應時間步長可用於根據解推進過程中水頭、飽和度和/或濃度的變化來調整時間步長值。

本頁上的說明可用於修改瞬態解的時間步長行為。

初始時間

[編輯 | 編輯原始碼]
  1. tinit 初始時間。

為初始時間分配一個新值,預設值為零。如果要重新啟動模擬並將使用的時間索引到早期執行,則此功能非常有用。

• • •

初始時間步長

[編輯 | 編輯原始碼]
  1. val 初始時間步長大小。

為初始時間步長分配一個新值,預設值為 0.01 個時間單位。

• • •

最大時間步長

[編輯 | 編輯原始碼]
  1. val 最大時間步長大小。

為最大時間步長大小分配一個新值,預設值為 1025 個時間單位。

• • •

最小時間步長

[編輯 | 編輯原始碼]
  1. val 最小時間步長大小。

為最小時間步長大小分配一個新值,預設值為 1 × 10−10 個時間單位。如果由於自適應時間步長過程,時間步長變得小於此值,HydroGeoSphere 將停止併發布診斷訊息。

• • •

目標時間

[編輯 | 編輯原始碼]
  1. target_time...end 目標時間。

列出的時間將新增到當前的目標時間集中。

• • •

生成目標時間

[編輯 | 編輯原始碼]
  1. tstart 開始時間 [T]。
  2. delta 初始時間步長大小 [T]。
  3. tinc 時間步長乘數。
  4. dtmax 允許的最大時間步長大小 [T]。
  5. tend 結束時間 [T]。

從開始時間tstart到結束時間tend,透過重複新增時間步長delta(每次增加乘數tinc,直到達到最大大小dtmax)來生成新的目標時間。

• • •

輸出時間

[編輯 | 編輯原始碼]
  1. output_time...end 輸出時間。

列出的時間將新增到當前的輸出時間集中(即要獲取詳細輸出的時間)。請注意,這些值將自動成為目標時間陣列的一部分。

• • •

華夏公益教科書