
發布
注冊
/
登錄時間步的案例
你知道時間步嗎?
做非線性分析的都知道時間步的問題,這里來談談一些注意和基本概念。簡單地說,在解非線性問題的時候,我們把整個求解過程分成小段。對于結構問題,這種分段等同于把加載過程分成多個步,每步結構加載變化一點,直到完成整個加載過程。如果是動力問題,那么這個加載步可以理解為真正的時間區間(但也不一定,因為可以有子步)。如果是靜力問題,這個加載步就是很多求解器所謂的偽時間步。
容易混淆的概念是,劃分時間步這個計算步驟在原則上是和牛頓迭代無關的。因為牛頓迭代是在每個時間步內進行的子循環。直到迭代滿足收斂條件,計算才向下一步進行。這個過程圓環套圓環的過程,導致了非線性求解的一系列特點和麻煩。
第一,收斂標準的問題。這個本質上是牛頓法需要探討的,但是因為時間步必須解決這個難點,所以在這里需要說說。在固體力學里面,收斂標準一般是三種,簡稱為UPW,分別指位移(U),加載(P),和做功(W)。每個量的收斂條件,本質都是衡量所在迭代步的相對誤差。理論上講,必須三個量都收斂才能保證計算結果穩定和精確,但是如果根據問題可以放松,那么常用的量至少要保證U和P收斂。
第二,時間步的劃分問題。加載步多了求解時間長,少了不準確或者根本不收斂(因為牛頓法本質上只能求局部不動點),所以時間步的劃分是個藝術。這個問題沒有標準答案,只能說視具體情況而定。如果你的問題不太難,求解器自帶的自適應算法應該能夠自動調整步長。靜力自適應算法的本質,是計算到目前為止的時間步的收斂模式。簡單地說,如果求解器發現現在這步收斂得快,那么下一步步長就可以放寬點,如果收斂得慢或者搞不定,那么就得縮小步長。基本上是個猜猜猜的過程。
第三,動力問題時間步的問題。和靜力問題不同,動力問題有“真正”的時間,需要進行時間積分,所以時間步的劃分是根據積分算法來決定的。而積分算法應該根據具體問題來選擇。
展開 仿真分析中時間步的認識
仿真分析中時間步的認識
做非線性分析的都知道時間步的問題,這里來談談一些注意和基本概念。簡單地說,在解非線性問題的時候,我們把整個求解過程分成小段。對于結構問題,這種分段等同于把加載過程分成多個步,每步結構加載變化一點,直到完成整個加載過程。如果是動力問題,那么這個加載步可以理解為真正的時間區間(但也不一定,因為可以有子步)。如果是靜力問題,這個加載步就是很多求解器所謂的偽時間步。
容易混淆的概念是,劃分時間步這個計算步驟在原則上是和牛頓迭代無關的。因為牛頓迭代是在每個時間步內進行的子循環。直到迭代滿足收斂條件,計算才向下一步進行。這個過程圓環套圓環的過程,導致了非線性求解的一系列特點和麻煩。
第一,收斂標準的問題。這個本質上是牛頓法需要探討的,但是因為時間步必須解決這個難點,所以在這里需要說說。在固體力學里面,收斂標準一般是三種,簡稱為UPW,分別指位移(U),加載(P),和做功(W)。每個量的收斂條件,本質都是衡量所在迭代步的相對誤差。理論上講,必須三個量都收斂才能保證計算結果穩定和精確,但是如果根據問題可以放松,那么常用的量至少要保證U和P收斂。
第二,時間步的劃分問題。加載步多了求解時間長,少了不準確或者根本不收斂(因為牛頓法本質上只能求局部不動點),所以時間步的劃分是個藝術。這個問題沒有標準答案,只能說視具體情況而定。如果你的問題不太難,求解器自帶的自適應算法應該能夠自動調整步長。靜力自適應算法的本質,是計算到目前為止的時間步的收斂模式。簡單地說,如果求解器發現現在這步收斂得快,那么下一步步長就可以放寬點,如果收斂得慢或者搞不定,那么就得縮小步長。基本上是個猜猜猜的過程。
第三,動力問題時間步的問題。和靜力問題不同,動力問題有“真正”的時間,需要進行時間積分,所以時間步的劃分是根據積分算法來決定的。而積分算法應該根據具體問題來選擇。
展開 FEA的核心思想-仿真時間步-隱式算法顯示算法
時間步理解
做非線性分析的都知道時間步的問題,這里來談談一些注意和基本概念。簡單地說,在解非線性問題的時候,我們把整個求解過程分成小段。對于結構問題,這種分段等同于把加載過程分成多個步,每步結構加載變化一點,直到完成整個加載過程。如果是動力問題,那么這個加載步可以理解為真正的時間區間(但也不一定,因為可以有子步)。如果是靜力問題,這個加載步就是很多求解器所謂的偽時間步。
容易混淆的概念是,劃分時間步這個計算步驟在原則上是和牛頓迭代無關的。因為牛頓迭代是在每個時間步內進行的子循環。直到迭代滿足收斂條件,計算才向下一步進行。這個過程圓環套圓環的過程,導致了非線性求解的一系列特點和麻煩。
第一,收斂標準的問題。這個本質上是牛頓法需要探討的,但是因為時間步必須解決這個難點,所以在這里需要說說。在固體力學里面,收斂標準一般是三種,簡稱為UPW,分別指位移(U),加載(P),和做功(W)。每個量的收斂條件,本質都是衡量所在迭代步的相對誤差。理論上講,必須三個量都收斂才能保證計算結果穩定和精確,但是如果根據問題可以放松,那么常用的量至少要保證U和P收斂。
第二,時間步的劃分問題。加載步多了求解時間長,少了不準確或者根本不收斂(因為牛頓法本質上只能求局部不動點),所以時間步的劃分是個藝術。這個問題沒有標準答案,只能說視具體情況而定。如果你的問題不太難,求解器自帶的自適應算法應該能夠自動調整步長。靜力自適應算法的本質,是計算到目前為止的時間步的收斂模式。簡單地說,如果求解器發現現在這步收斂得快,那么下一步步長就可以放寬點,如果收斂得慢或者搞不定,那么就得縮小步長。基本上是個猜猜猜的過程。
第三,動力問題時間步的問題。和靜力問題不同,動力問題有“真正”的時間,需要進行時間積分,所以時間步的劃分是根據積分算法來決定的。而積分算法應該根據具體問題來選擇。
展開 ANSYS各種時間步求解方法比較
ANSYS各種時間步求解方法比較
ANSYS各種時間步求解方法比較.pdf
ANSYS各種時間步求解方法比較.pdf

AUTODYN 時間步太小
炸藥在空氣中爆炸,總會出現時間步太小,解決方法:
空氣的材料模型,將Erosion更改為-timestep:1e-10ms
abaqus系列技巧14:聊一聊分析步時間的概念
開篇聲明:對象為剛接觸abaqus的同學,力求深入淺出,不求嚴謹
最近經常有群友提出不理解abaqus中定義的分析步時間是什么意思。
就是上面圖畫紅框的地方。
我這里不著急解釋,先來帶大家復習兩個方程
其中2.1方程對應著abaqus中的顯式分析,下面那個KX=F,對應著abaqus中的隱式分析。
我們來看下這兩個方程,2-1方程中涉及到速度和加速度,這兩個概念都和時間有關,一個是時間的一階導數,一個是時間的二階導數,所以一旦進行顯式分析,時間是必不可少的,而且具有實際意義的。
再看下面那個方程,與時間毫無影響,所以在隱式分析中,時間毫無意義。那么這里的時間代表什么呢?
這里的時間,其實應該配合幅值曲線一起來看,代表載荷加載的階段。推薦大家讀下我前面一個帖子:詳解abaqus幅值曲線,就能明白填1也好,填100也好,都代表的載荷的加載過程,不影響實際的結果。
如上圖中的第一個圖,就是默認的幅值曲線,默認的時間為1的情況。這時候的載荷的加載是按照斜率增加的。我們因此可以得到下面的應用
如果我們的載荷是100N,其他默認。單面當step1完成的時候,就是加載完成了,得到了我們想要的結果。那么如果我們想要50N的載荷需要重新算下么?你如果在step中可以找到0.5S時候的輸出,就不用再算了,step=0.5 的時候的載荷,就是50N,這時候的結果云圖就是你需要的。
想獲得幻想飛翔最新CAE技術文章,請關注幻想飛翔公眾賬號:幻想飛翔CAE。
想獲得幻想飛翔最新CAE技術文章,請關注幻想飛翔公眾賬號:幻想飛翔CAE。
,
也歡迎加入群516073058進行交流
展開 遞歸神經網絡解釋
與傳統的前饋神經網絡不同,RNN 可以在處理當前狀態時考慮序列的先前狀態,從而允許它們對數據中的時間依賴關系進行建模。
RNN 的主要特點是隱藏單元之間存在遞歸連接,這允許信息從一個時間步傳遞到下一個時間步。這意味著每個時間步的隱藏狀態不僅是該時間步輸入的函數,也是前一個隱藏狀態的函數。
在 RNN 中,每個時間步的輸入通常是表示序列當前狀態的向量,每個時間步的輸出是表示該時間步的預測值或分類的向量。隱藏狀態也是一個向量,在每個時間步中,根據當前輸入和之前的隱藏狀態進行更新。
基本的 RNN 架構存在梯度消失問題,這使得在長序列上訓練變得困難。為了解決這個問題,已經開發了幾種 RNN 變體,例如長短期記憶 (LSTM) 和門控循環單元(GRU)網絡,它們使用專門的門來控制通過網絡的信息流并解決梯度消失問題。
RNN 的應用包括語音識別、語言建模、機器翻譯、情感分析和股票預測等。總體而言,RNN 是處理順序數據和建模時間依賴關系的強大工具,使其成為許多機器學習應用程序的重要組成部分。
遞歸神經網絡 (RNN) 的優點是:
處理順序數據的能力:RNN 可以處理不同長度的連續數據,使其在自然語言處理、語音識別和時間序列分析等應用中非常有用。
內存:RNN 能夠通過使用隱藏狀態來保留有關序列中先前輸入的信息。這使 RNN 能夠執行預測句子中的下一個單詞或預測股票價格等任務。
多功能性:RNN 可用于各種任務,包括分類、回歸和序列到序列映射。
靈活性:RNN 可以與其他神經網絡架構(如卷積神經網絡 (CNN) 或前饋神經網絡)結合使用,為特定任務創建混合模型。
但是,RNN 也有一些缺點:
梯度消失問題:梯度消失問題可能發生在 RNN 中,尤其是在具有多層或長序列的 RNN 中,這使得學習長期依賴關系變得困難。
展開 Exponential Moving Average 指數移動平均
這意味著在這個平均值中,最近的N個時間步樣本被等權重地加權為1/N,每個時間步的樣子的加權因子相等,而N個時間步驟之前的樣本被舍棄,即加權為0。比如,讓N=10,且當前計算到了第99個時間步,那么第90個時間步之前的所有時間步的樣本都對這個移動平均MA沒有任何影響。
這種類型的平均值是眾所周知的,其意義很容易理解。然而,該平均值的嚴格數學屬性可能并不重要,對于特定的流程情況,其他類型的樣本加權可能更合適。
指數移動平均法的定義如下:
其中α是介于0和1之間的平滑因子。在這種平均中,之前的樣本永遠不會完全被舍棄,而是用指數衰減的權重加權。
α越大,之前的樣本變得可以忽略的速度越快,平滑效果越小,類似于具有較小窗口大小的N(相對于數學平均的滑動窗口采樣)。
α越小,一個樣本對平均值的影響越長,平滑效果越大,類似于具有較大窗口大小N(相對于數學平均的滑動窗口采樣)。。
從下面的圖我們可以看到每種平均方法在不同窗口大小(N值)和相應平滑因子下α的響應情況:
根據(eq2),我們分別列出
的展開式:
將(eq3)兩邊都乘以
得到:
(eq4)的右邊就等于(eq2)的右邊第二項及以后所有項的和;這樣(eq2)就可以寫成:
指數移動平均法的
優點從(eq5)可以看出:只需要知道
當前時間步物理場x_n和
上一個時間步的平均值EMA_n-1,也就是只需要額外存儲上一個迭代時間步的數據。相對于數學平均方法而言,保存N個時間步的物理場x_n-1、x_n-2、x_n-3---等,這可以節省大量的內存。
展開 OpenFoam之頂蓋驅動流模擬
現在我們需要設定時間步,即 deltaT。當運行 icoFoam 的時候,為了達到數值穩定以及時間計算精度,庫郎數 14 應該小于 1。每個網格的庫郎數這樣定義:Co =δ t |U|/δ x。δ t 為時間步,|U| 為某個網格單元內的速度矢量的模, δ x 為速度方向的網格長度。由于流體域內速度并不均一,為了保證庫郎數在各處都小于 1,我們依據最大速度和最小網格尺寸來計算庫郎數,在保證其小于 1 的前提下指定時間步。在這個算例中網格大小是固定的,因此在頂蓋附近,速度接近1m/s 的地方庫郎數最大,網格大小為:δ x =d/n=0.1/20=0.005m。為了使庫郎數在整個流體域都小于或等于 1。時間步必須小于或等于:δ t =Co δ x /|U|=1 ? 0.005/1=0.005s。
隨著計算的進行,我們希望在某個固定的時間間隔下寫入數據。以便我們可以在后處理中進行查看。對于如何對寫入時間步進行設定有很多選擇,它可以通過 writeControl 關鍵字來控制。我們決定在 0.1s, 0.2s, …, 0.5s 寫入我們的結果。由于計算時間步為 0.005s,因此我們需要每 20 個時間步輸出一次結果,這樣我們設定 writeInterval 為 20。
OpenFOAM 會在每一個時間步內創建一個文件夾,例如 0.1 文件夾。正如4.1節所說,每個時間步下都有一系列數據。對于 icoFoam 求解器,它把速度 U 和壓力 p 寫入在每個時間步對應的文件夾中。對于這個算例,controlDict 設置如下:
第五步 離散方法和矩陣求解器設置
用戶在 system 下的 fvScheme 文件中指定有限體積法的離散格式。在 system 下的fvSolution 文件下指定方程組矩陣求解器、殘差以及其它算法控制。
展開 一期一會 | 什么是顯式動力學?
我們將顯式動力學方法稱為“顯式(explicit)”,原因在于積分的結果是一個方程,該方程可以針對當前時間步的已知量,直接計算下一個時間步的值。FEA中使用的另一種方法是隱式時間積分,之所以被稱為“隱式(implicit)”,是因為下一個時間步的目標值不是直接計算,而是通過包含已知量和未知量的方程進行間接確定。在這種情況下,求解器使用線性代數來計算隱含的未知值。
顯式方法的一個示例為前向歐拉法(Forward Euler Method),其得到的方程僅與當前時間步有關:
顯式動力學分析的重要方面
在仿真軟件中使用顯式動力學求解方法時,無論是仿真初學者,還是經驗豐富的工程師,都需要了解這種方法中由數學算法決定的一些重要方面。
臨界時間步長和波傳播時間
最重要的一點是,顯式求解每次只求解“當前時間步之后的時間步”。顯式求解器是在每個時間步內計算應變是如何變化的,因此時間步長必須小于應變波穿過模型中最小單元所需的時間。這一限制被稱為臨界時間步長,而聲音穿過材料的速度決定了波傳播時間。對于剛度大的材料和小單元尺寸,關鍵時間步通常約為毫秒級。
非線性行為
工程師還需要關注的是,顯式動力學可以捕獲哪些類型的非線性行為。由于顯式方法采用的時間步非常小,因此求解器可以將計算得到的值在該小時間步上的變化視為線性的。
工程師將FEA仿真中的大多數非線性行為分為以下類別之一:
非線性材料
非線性材料的屬性會根據載荷或時間,以非線性方式發生變化。在幾乎任何分析類型中,最常見的材料非線性形式都是塑性。隱式方法可能難以確定更高塑性水平的收斂,尤其是當材料剛度下降時。與塑性密切相關的是應變速率相關的屬性,如剛度。
展開 Moldex3D模流分析之FEA介面基本程序至Workbench
(2) 多材質模型在不同時間的壓力輸出:
ABAQUS_PartInsert_Pressure_Map_*_Fill_00x(step time).inp/
ABAQUS_PartInsert_Pressure_Map_*_Pack_00x(step time).inp/
ABAQUS _ PartInsert_Pressure_ Map_*_EOF.inp/
ABAQUS_ PartInsert_Pressure_Map_*_EOP.inp,
其中 x 呈現時間步徑的數目,其范圍從 1 到時間步徑的總數。
(3) 各個時間點的模座壓力輸出:
ABAQUS_ Moldbase_Map_Pressure_*_00x.inp/
ABAQUS_ Moldbase_Map_Pressure_*_ Fill_00x(step time).inp/
ABAQUS_ Moldbase_Map_Pressure_*_ Pack_00x(step time).inp/
ABAQUS_ Moldbase_Map_Pressure _*_EOF.inp/
ABAQUS_ Moldbase_Map_Pressure_*_EOP.inp,
其中 x 呈現時間步徑的數目,其范圍從 1 到時間步徑的總數。
展開 
質量縮放原理(LS-DYNA)
下面幾個值是正確的:d3hsp中”added spotweld mass”; 第一個時間步之后的”added mass” & “percentage increase”; glstat和matsum中的”added mass”。
2. 當DT2MS為負值且*mat_spotweld卡DT≠0時,可變形點焊質量增加不會包含在d3hsp、glstat、matsum文件中的”added mass”里。這非常容易令人誤解。用戶必須檢查d3hsp文件的”added spotweld mass”。建議不要同時使用兩種質量縮放標準,推薦使用第一種方法(即負的DT2MS&DT=0)。
3. 如果DT2MS=0且DT≠0,初始時間步將不考慮增加點焊的質量,但是之后每一個周期時間步都會增加10%,直到時間步達到正確的值(考慮點焊質量增加)。glstat & matsum不包含”added mass”的行。
注意質量增加會引起能量比率增長。
展開 ANSYS分析類型與求解器控制選項(1)
與 NSUBST 命令互為替代的命令是 DELTIM 命令,其格式如下:
命令:DELTIM, DTIME, DTMIN, DTMAX, Carry
DTIME - 當前荷載步的時間步長值。如果使用了自動時間步則為第一子步的時間步長。
DTMIN,DTMAX - 當采用自動時間步時的最小時間步長和最大時間步長。
Carry - 意義同 NSUBST 命令。
該命令與 NSUBST 命令的設置結果是一樣的,但參數是倒數關系。
4. 輸出控制
參見 OUTRES 命令,需要注意程序缺省的最大輸出結果組數為 999 個結果組(包括所有荷載步和子步對應的時間點),可采用 /CONFIG 改變該設置以輸出更多的結果組。
5. 自動時間步
命令:AUTOTS, Key
其中 Key 為自動時間步控制參數。
如 Key=OFF 則不采用自動時間步;
如 Key=ON 則采用自動時間步。
缺省時,如 SOLCONTROL 打開則采用自動時間步,如 SOLCONTROL 關閉則不采用自動時間步。
自動時間步技術(時間步長預測和時間步長對分)是在求解時,程序根據問題的荷載響應計算每個子步結束時的最優時間步長,以采用較少的資源獲得有效解。在非線性靜態或瞬態分析中,自動時間步確定了子步之間荷載增量的大小。
不能將自動時間步(AUTOTS)、線性搜索(LNSRCH)、DOF 結果預測(PRED)與弧長法一起使用,否則會給出警告信息并使得自動時間步、線性搜索和結果預測設置失效。
6.
展開 ANSYS瞬態分析全時程結構響應最大值的提取方法(變形、應力、應變、能量) ¥100
<p>在<a href="https://www.yqgqt.org.cn/qa/3655" rel="noopener noreferrer" target="_blank">ANSYS結構</a>動力分析時,時程分析(瞬態分析)的后處理經常想要提取全時程結構響應的最大值及對應的時間步。在<a href="https://www.yqgqt.org.cn/major/Ansys" rel="noopener noreferrer" target="_blank">ANSYS</a>中,由于載荷激勵時間步較多(例如持時30s,時間步長0.01s),則結構在全時程地震激勵下的最大響應較難確定。本文設計一種方法,步驟如下:</p><p>(1)利用*DO循環語句,先由*GET命令得到每一時間步結構的最大響應;</p><p>(2)通過*IF語句對各時間步下的最大響應值進行對比,從而得到全時程所有時間步中最大的響應值及其所對應的時間步。</p><p>算例:對于塑形較強的實體結構,分析時通常采用von Mises stress進行安全評估。</p><p>以某結構為例,對其全時程von Mises stress進行提取,過程如視頻所示。
展開 模擬流體中的粒子運動時,選擇合適的公式以提升計算效率
但這并不是所有物理場的普遍要求;對于某些物理場接口,可以通過在求解器所采用的最近步長之間進行插值來獲得輸出時間。
在研究接近尾聲時因為粒子幾乎不再加速,所以時間步可能會很大。最終,求解器需要 24 個時間步才能在 0.1s 達到第一個輸出時間,但是只需要再增加 12 個時間步就能在 1s 到達最終時間。
經歷重力沉降的粒子運動方程是剛性常微分方程(或剛性 ODE)的一個示例。大多數粒子追蹤模型中使用的默認時間步進方法被稱為廣義 α,這是一種二階隱式時間步方案,非常適合用于處理剛性問題。如果需要額外穩定性,則可以在瞬態求解器設置中調整一個被稱為放大高頻的數值阻尼項。因此,隨著粒子速度接近自由沉降速度,時間步變得更大。(相比之下,顯式 Runge–Kutta 方法 RK34 采取 7425 個步長來求解相同的問題!)
但是,如果粒子在幾個不同的釋放時間進入仿真域,或者背景流體速度在空間上不均勻(這樣粒子在以后的研究中仍會加速),則求解器可能直到最終時間都會一直采用如此小的時間步。因為求解器可能需要成千上萬甚至數百萬的時間步,所以如果我們試圖在很長的仿真時間內追蹤非常小的粒子,則最終這些研究將需要大量的執行時間才能完成。
有一個與此密切相關的現象,可能會使 COMSOL? 軟件新用戶感到困惑,當使用入口邊界條件將粒子釋放到仿真域中,并且假設這些粒子被分配了指向仿真域的初始速度。請注意,從之前的截圖中可以看出,初始時步大小(總仿真時間為1秒)為 1 毫秒。如果初始時步仍然遠遠大于 τp,則曳力可能會過度補償,導致粒子速度短暫改變方向并指向入口邊界。如果發生這種情況,粒子可能會錯誤地檢測到與入口邊界的碰撞,從而使它們卡在此處。
展開