
發布
注冊
/
登錄vdload的案例
VDLOAD與VUAMP聯合使用——實現變位置變幅值復雜加載 ¥15
https://www.yqgqt.org.cn/content/post/1257703
在本例中,我們按照同樣的思路,在VDLOAD中實現了相同的過程,VDLOAD中載荷的移動速度和時間具有真實的物理含義,但如何實現變化的移動載荷呢?
由幫助文檔可知,添加 “*AMPLITUDE” 即可在VDLOAD中傳遞在CAE中定義的幅值,該幅值通過TAB表實現,并通過線性插值擬合。
在CAE界面定義好VDLOAD子程序和幅值表后,需要手動修改inp文件,將VDLOAD和幅值相對應,便可將表中的幅值傳遞給子程序,定義格式如下。
采用上述方法具有一定的局限性,比如遇到復雜周期問題、幅值需要速度位移參與計算、依賴于上步幅值解、復雜函數(三角函數疊加)等情況變難以實現。
周期幅值:隨機幅值
實現隨機幅值的加載僅需調用隨機數函數:random_number()。
故本文介紹另一種解決辦法:將VUAMP子程序(幅值自定義子程序)和VDLOAD子程序聯合使用,實現位置可變、幅值自定義的復雜壓力加載過程。
測試案例中,一邊采用VUAMP子程序方式定義幅值,另一邊采用幅值表進行定義,均設置為隨時間的線性遞增加載。
得到的仿真效果如下,左右兩側效果相同,驗證了上述思路的有效性。
為進一步驗證實現方案(VUAMP+VDLOAD),兩個幅值不同時的加載效果當一端遞增,一端為三角函數周期幅值時
同一個面下的不同幅值的移動載荷
展開 基于ABAQUS單點顯式VDLOAD/隱式DLOAD激光沖擊加載(圓形光斑和方形光斑) ¥50
幅值曲線:
子程序編寫,VDLOAD/DLOAD,圓形光斑峰值載荷5100MPa,方形光斑峰值載荷3150MPa
VDLOAD接口:
subroutine vdload (
C Read only (unmodifiable)variables -
1 nBlock, ndim, stepTime, totalTime,
2 amplitude, curCoords, velocity, dirCos, jltyp, sname,
C Write only (modifiable) variable -
1 value )
C
include 'vaba_param.inc'
C
dimension curCoords(nBlock,ndim), velocity(nBlock,ndim),
1 dirCos(nBlock,ndim,ndim), value(nBlock)
character*80 sname
C
!變量聲明
!
展開 基于ABAQUS的VDLOAD子程序實現四輪小車移動
VDLOAD子程序可以定義隨時間和空間變化的載荷分布,可用于模擬汽車移動和激光沖擊過程。
其子程序模板如下:
subroutine vdload (
C Read only (unmodifiable)variables -
1 nBlock, ndim, stepTime, totalTime,
2 amplitude, curCoords, velocity, dirCos, jltyp, sname,
C Write only (modifiable) variable -
1 value )
C
include 'vaba_param.inc'
C
dimension curCoords(nBlock,ndim), velocity(nBlock,ndim),
1 dirCos(nBlock,ndim,ndim), value(nBlock)
character*80 sname
C
do 100 km = 1, nBlock
user coding to define value
100 continue
return
end
value(nblock)是用戶自定義的載荷大小,是程序中最重要的參數。
ndim:坐標的方向數,1、2、和3分別表示三維空間中、全局坐標下的X、Y和Z三個坐標分量。
steptime:表示當前分析步時間值,若有多個分析步存在,則其變化為0—>step1time—>0—>step2time—>…….—>0—>stepntime
totaltime:表示當前時間值,從0開始逐漸增大。
展開 使用VDLOAD模擬車流經過路面 ¥9.9
image_process=/format,webp/quality,q_40/resize,w_760" data-initial-src="https://img.jishulink.com/202406/attachment/0aef9f6fab4b4efbab610b7cd857c8e2.gif">
</figure>
</div><p><br></p><p>使用Vdload模擬連續車流經過路面時車輪對地面的壓力。圖中V為車速,dL為輪胎與地面的接觸長度,D為輪胎間距,L為車輛間距,分別與程序中的參數相對應。通過修改各參數可以模擬不同的工況。本案例為二維仿真案例。</p><div contenteditable="false" width="100%">
<figure class="figure-image" data-img="https://img.jishulink.com/202406/attachment/c7d951b2618b4f758088756d6fcae1da.png" style="text-align: center">
<img src="https://img.jishulink.com/202406/attachment/c7d951b2618b4f758088756d6fcae1da.png" data-mobile-src="https://img.jishulink.com/202406/attachment/c7d951b2618b4f758088756d6fcae1da.png?
展開 
ABAQUS中無限單元的使用(一)——2D操作案例
Step-5:在模型頂部通過VDLoad子程序施加大小隨時間和空間變化的壓力;同時對模型施加對稱和固定約束,如圖4所示:
圖4 載荷和約束
Step-5:新建Job,輸出Input文件,將Input文件中的單元類型CAX4改為CINAX4。
Step-6:通過修改后的Input文件新建Job并提交計算。
2)計算結果
計算結果如圖5所示:
圖5 計算結果
可以看到,應力傳遞至白色的無限單元邊界時沒有進行反射,其結果與實際情況是一致的。
3)注意事項
a. 厚度方向只能有一個單元;
b. 必須且只能與有限單元共一條邊;
c. 材料堆棧方向必須指向無窮遠;
d. 邊界條件設置應避免過約束;
無限單元的2D操作較為簡單,比較容易實現。3D操作與2D操作流程一樣,區別在于模型劃分較為復雜。同時由于ABAQUS/Standard僅支持聲學無限單元,當我們進行非聲學計算,且需要得到穩定后的計算結果時,通常只能采用延長計算時間的方式來獲得近似的穩定結果。當所需計算時間較長時,這種方式顯然是不理想的。不過好在雖然Standard不支持非聲學無限單元,但依舊可以通過一定方式將Explicit的計算結果導入Standard中進行求解,以節省大量時間。
關于3D模型的建立和具體導入操作以及VDLoad子程序的使用后面再進行分享。
展開 神筆馬良——Abaqus萬能熱源插件 ¥1000
Abaqus2016及更早版本中漢字顯示亂碼,可切換為英文界面,將lang.txt文件中的“zh_CN = 1”更改為“zh_CN = 0”即可;
本插件采用高斯面熱源進行熱源定義,如需其他形式的熱源,可自行修改;
延申本插件,可用于DLOAD、VDLOAD子程序,生成指定路徑的移動載荷。
有意購買或存疑,歡迎私信咨詢。
神筆馬良——Abaqus萬能熱源插件 ¥1500
Abaqus2016及更早版本中漢字顯示亂碼,可切換為英文界面,將lang.txt文件中的“zh_CN = 1”更改為“zh_CN = 0”即可;
延申本插件,可用于DLOAD、VDLOAD子程序,生成指定路徑的移動載荷。
購買后可獲得高斯熱源插件和雙橢球熱源兩個程序,如僅需一種,歡迎私信咨詢優惠價。
Abaqus移動載荷 ¥25
ABAQUS——DLOAD和VDLOAD子程序應用(移動載荷隱式和顯示)
Abaqus用戶子程序DFLUX和VDLOAD編寫實例講解
Abaqus用戶子程序DFLUX和VDLOAD編寫實例講解
ABAQUS通過VDLOAD子程序模擬激光噴丸強化
最后,歡迎通過微信公眾號聯系我們。
微信公眾號:320科技工作室。
ABAQUS通過VDLOAD子程序模擬激光噴丸強化
ABAQUS通過VDLOAD子程序模擬激光噴丸強化

Abaqus顯式分析模型中使用VDLOAD子程序實例講解(詳細操作步驟)
Abaqus顯式分析模型中使用VDLOAD子程序實例講解(詳細操作步驟)
一點心得,接觸面節點力提取及再施加
可能用戶自定義載荷(VDLoad)能夠實現,但是時間不夠沒有嘗試這方面的東西。
首先說一下,abaqus中的一個不是很完整的功能。
就是Analytical Field - Mapped field,Mapped field 是個很有意思的功能,它包含了兩種一個是Point cloud field,即用一組對應空間點的載荷,來表達載荷的空間分布,然后通過插值得到節點上載荷。
第二個叫做.odb mapped field(看到odb你懂的吧),這個就是自動提取odb文件中的載荷分布,這個的用法很簡單,在viewport菜單中新建一個viewport,叫做viewport2然后在這個viewport2里打開載荷存儲的odb文件,并打開你要提取的載荷的Field output,然后在viewport1中進入到.odb mapped field,有按鈕可選提取哪個viewport的分布。很簡單,很智能。
但是,還是要但是,在純力學的范疇內,這兩個功能都只能用在dload就是,pressure里,其余的載荷類型均無法識別。(除非只要接觸正壓強,切向的力完全弄不出來)
所以另辟道路,簡單的說吧,只提個方法好了!就是用編程語言改動后處理輸出的接觸面節點力的prt文件成為inp的格式,然后放入對應代碼模塊即可!!!
很簡單的思路,但是有一些注意的地方:
1. 節點對應,即網格劃分得相同;所以最好copy一個part,然后換成mesh part;
2. 注意提取接觸力時別弄錯了,接觸力有方向的問題,自己注意選擇;
3. 不要忘記了,節點還有contact shear force,如果照此方法,應該是 press force + shear force。
展開 Abaqus 中最常用的子程序有哪些 碩迪科技
DLOAD(Abaqus/標準)和 VDLOAD(Abaqus/顯式)
兩個子程序用于定義隨時間變化的邊界加載條件。在該子程序中,我們可以根據時間和位置來定義加載情況,并將其應用于模型的邊界。
2. UMAT(Abaqus/標準)和 VUMAT(Abaqus/顯式)
UMAT和VUMAT子程序可以用于定義自定義材料模型。UMAT子程序用于定義材料模型中的本構關系,而VUMAT子程序可以使用相對簡單的格式定義材料模型。這些子程序提供了更高的靈活性和自定義能力,以滿足不同的材料模型需求。它們通常用于仿真非線性和復雜材料、材料失效和斷裂等。
3. USDFLD(Abaqus/標準)和 VUSDFLD(Abaqus/Explicit)
USDFLD子程序允許用戶定義自定義場變量以用于邊界條件、初始化和輸出等。這些場變量可以是位移、應力、應變、溫度等,并且可以隨時間和位置而變化。這些場變量可以在模擬過程中更新,以便更好地模擬分析中的復雜現象。
4. UEL(Abaqus/標準)和UELMDL子程序
UEL和UELMDL子程序可以用于定義自定義元素。這些元素可以是基于現有元素的增強版本,也可以是全新的元素。用戶可以在UELEXP和UELMDLEXP子程序中編寫自己的元素計算例程,并將其插入到分析中以模擬特定的現象。
UEL子程序用于定義有限元單元的行為。在這個子程序中,我們可以編寫單元的剛度矩陣、內力矢量和應力矢量等。UEL子程序在每個單元上調用,并根據當前的節點位移計算出單元的內力和應力。
5. VUEL子程序(Abaqus/顯式)
VUEL子程序與UEL子程序類似,用于定義有限元單元的行為。與UEL子程序不同的是,VUEL子程序可以用于創建非線性單元,如接觸單元和連桿單元等。該子程序對于實現特殊的非線性行為和接觸效應非常有用。
6.
展開 Abaqus子程序開發過程中的那些坑(給初學者的建議)
再往下細分,“Abaqus/Standard subroutines”中包含CREEP、DISP、DLOAD、FRIC、SVDINI、UAMP、UDMGINI、UEL、UMAT、USDFLD、UVARM子程序等60余種子程序;“Abaqus/Explicit subroutines”中又包含VDISP,VDLOAD、VFRIC、VUAMP、VUEL、VUMAT、VUSDFLD等等20多種子程序。
當你想在CAE分析過程中自定義一些信息時,可以先瀏覽子程序參考手冊,看一下有沒有對應的子程序類別。
“Utility Routines”這類子程序中包含幾十種內嵌的應用程序,方便用戶通過調用該類程序快速獲取計算過程中的一些信息。
“User Subroutines”和“Utility Routines”的區別是,“User Subroutines”核心部分代碼是需要用戶自己去編寫的,從程序接口中獲取只讀數據信息,通過中間的自定義部分進行數據處理,如自定義輸出變量、自定義材料本構,自定義損傷判據等,最后將處理后的數據信息傳入接口程序的讀寫變量中。
而“Utility Routines”是Abaqus內嵌的一些工具類的子程序,不需要自己去編寫復雜的代碼,而是在“User Subroutines”開發過程中去簡單調用“Utility Routines”,這類程序一般都很簡潔,僅有一行語句,按照指定的格式調用即可。
展開