
發布
注冊
/
登錄ansys中apdl編程的案例
Tcl/Tk與APDL聯合編程實現ANSYS的二次開發
Tcl/Tk與APDL的通信主要依靠三個ANSYS API函數實現,分別是:
ans_sendcommand:向ANSYS傳遞APDL命令;
ans_getvalue:從ANSYS數據庫中獲取變量;
ans_getvector:從ANSYS數據庫中獲取向量。
UIDL-Tcl/Tk-APDL聯合編程實現ANSYS二次開發(終極篇)
通過wish86編譯后的界面如下圖所示:
圖5
四、Tcl/Tk與APDL
采用Tcl/Tk與APDL聯合編程能夠通過界面實現參數化設計過程,非常直觀。Tcl/Tk與APDL的通信主要依靠三個ANSYS API函數實現,分別是:
ans_sendcommand:向ANSYS傳遞APDL命令;
ans_getvalue:從ANSYS數據庫中獲取變量;
ans_getvector:從ANSYS數據庫中獲取向量。
展開 如何從Ansys APDL中提取剛度矩陣與質量矩陣? ¥69
1.引論
經常使用Ansys、Abaqus等一系列有限元分析軟件進行計算、學習的學生或工程師們都會知道在有限元分析建模與計算中剛度矩陣與質量矩陣的重要性。但是由于軟件的黑盒性質,大家往往在實際使用十分成熟的商業化軟件的過程中慢慢忽視了有限元及其衍生出的商業軟件背后的原理與方法。
這時,不管是在學習中還是在工程應用中往往都會遇到一個同樣的問題,那么就是如何將Ansys APDL運行中的產生的各種數據(例如:剛度矩陣、質量矩陣)導出成為我們熟悉的形式或文件格式,從而為我們所用,所分析。
因此我決定寫下此篇文章來幫助很多實際工作或學習中需要用到此類技能的同學、同事們,讓大家更了解Ansys APDL背后的工作原理與數據導出方式。
當然,在社區中早就有大佬回答過了這個問題,并給大家制作了相應的提取矩陣軟件,其軟件具備了簡單、便捷的操作方式,讓很多想要提取剛度矩陣與質量矩陣的同僚們受益,那么我為什么還要寫一篇這樣的文章重新提起這樣一個話題呢?這就又回到了我開頭所說的“原理與方法”,我在此更希望面對想要進一步學習了解軟件背后機理的群體,并在此基礎上保留教學的簡潔性,提供導出矩陣與轉換、列式、求解的源代碼,使其既兼顧基本原理,又可以讓大家直接上手使用,非常的便捷,也避免了很多因為優化不完全導致的運行bug。
2.有限元軟件導出剛度矩陣與質量矩陣的方法
在使用APDL進行求解時,每次在求解完成后都會在工作路徑下生成一個.full文件,而這個文件十分關鍵,其正是剛度矩陣與質量矩陣的所在之處。
展開 ANSYS APDL中的壓電分析
同理,彈性勁度常數也有10個:
CE11,CE12,CE13,CE33,CE44,CD11,CD12,CD13,CD33,CD44
ANSYS中,彈性系數矩陣為6×6矩陣(對2-D模型是4×4矩陣),它說明剛度系數([c]矩陣)或柔度系數([s]矩陣)。

如何ANSYS的APDL中的模型導入HyperMesh ¥2
考慮到APDL中網格劃分功能并不是十分完善,需要借助HyperMesh軟件進行網格劃分。那么如何將模型從ANSYS的APDL中導入到HyperMesh中呢
ANSYS的APDL中如何旋轉模型 ¥1
也可參考此處鏈接:ansys中旋轉模型
最后是如何變回原始坐標系?
ANSYS經典中使用APDL語言施加移動高斯熱源
很多人在使用ANSYS模擬焊接和增材制造過程中都面臨高斯熱源施加的難題,現在我來演示一下如何在ANSYS經典中使用APDL語言施加高斯熱源,以及如何實現熱源的移動。
打開經典界面,然后選擇Parameters→Functions→Define/Edit
然后在彈出的Function Editor中選取你想要輸入的熱源函數,我這里使用了一個高斯體熱源函數,也可以替換成高斯面熱源或者雙橢球熱源,具體函數請自行查找文獻
點擊Save后,保存后綴名為.func的函數文件,其名稱為func11.func
然后退出,重新選擇Parameters→Functions→Read From file
選擇剛才定義的函數
此時彈出對話框,要求輸入函數的名稱,及對應的參數的大小,我們定義名稱為gauss,兩個參數常量分別為qmx=1,r=1,局部坐標系選0就意味著這個函數是在全局坐標系中施加的,可以換成其他已經定義的任何局部坐標系
然后點擊List→Files→Log file
然后我們就可以發現在Log file文件里自動生成了函數func11對應的數據表,其是一個維度6*20的Table表,我們在array parameter中也可以查看其具體數據,為什么會生成這段呢,其實就是ANSYS根據你所定義的函數,自動生成了一個Table表做了這個函數的插值,這樣系統在計算時就可以根據這個Table表進行對應的索引,生成任何你想要的函數值了。
展開 教程 - 機械 APDL 中的 2D 桁架分析 (ANSYS) 第 1 部分?
教程 - 機械 APDL 中的 2D 桁架分析 (ANSYS) 第 1 部分
一般來說,有限元解可以分為以下三個階段。
1. 預處理:定義問題;
- 定義關鍵點/線/區域/體積
- 定義元素類型和材料/幾何屬性
- 根據需要劃分線/區域/體積
2. 解決方案:分配載荷、約束和求解;
3. 后處理:
- 節點位移列表
- 單元力和彎矩
- 撓度圖
- 應力等值線圖
在本教程中,我們將進行第一步。
步驟1:
啟動 Ansys Mechanical APDL。
步驟2:
單擊 Preferences 并選擇 Structural ,因為我們將進行結構分析。單擊 OK(確定)。
步驟3:
現在我們必須繪制關鍵點。在 Preprocessor >> Modeling >> Create >> In active CS 下創建。
步驟4:
現在我們必須輸入 Keypoints。輸入關鍵點編號 1 和 XYZ 坐標,然后單擊 Apply。
步驟5:
輸入第二個關鍵點 X=500,Y=1000。Z 將保持為零,因為我們有 2D Bridge Truss。單擊 Apply。
步驟6:
輸入第三個關鍵點 X=1000,Y=0。單擊 Apply。
步驟7:
輸入第 4 個關鍵點 X=1500,Y=1000。單擊 Apply。
步驟8:
輸入第 5 個關鍵點 X=2000,Y=0。單擊 OK
步驟9:
現在我們已經繪制了關鍵點。我們必須沿著這些關鍵點創建線條。轉到 建模 >> 在激活坐標中>>創建>>線。
步驟10:
現在通過單擊它們來選擇 kepoint,然后單擊其他關鍵點以創建線。創建成員。單擊 OK(確定)。
步驟11:
現在我們必須定義 Element 類型。即 Beam。
展開 教程 - 機械 APDL 中的 2D 桁架分析 (ANSYS) 第 2 部分
后處理:
- 節點位移列表
- 單元力和彎矩
- 撓度圖
- 應力等值線圖
在本教程中,我們將進行第二步和第三步。
1. 步驟1:
這是教程的第二部分,我們在其中解決問題。在 Solution >> Analaysis 下,鍵入 New analysis>>。選擇 static 并單擊 OK。
2. 步驟2:
在定義載荷下>>>> Structural >> 位移 >> On 關鍵點上應用。現在,我們將定義固定的關鍵點或支撐。
3. 步驟3:
選擇兩個下角關鍵點,然后單擊 OK。
4. 步驟4:
選擇 All DOF 并單擊 OK。
5. 步驟5:
轉到定義載荷 >> 在關鍵點上應用>> 結構>>力矩/力矩 >> 。
6. 步驟6:
選擇上部關鍵點,然后單擊 OK。
7. 步驟7:
力的方向為 FY 且輸入 Force 值 = -10000,因為力將向下作用。
8. 步驟8:
現在我們已經準備好了模型進行求解。在 Solve 下>> Current Load 步驟。
9. 步驟9:
單擊 OK(確定)。
10. 步驟10:
一條消息 Solution is done!將顯示流程何時完成。單擊 Close。
11. 步驟11:
現在是這個過程的第三部分。要進行后處理。轉到 General PostProc >> 列出結果 >> reaction solu。
12. 步驟12:
選擇所有項目,然后單擊 OK。
13. 步驟13:
現在我們有了關于節點 1 和 5 的 reaction 值,它們是固定的。單擊 Close。
14.
展開 ANSYS APDL中判斷和改變奇偶性的方法
在C 或者matlab中非常容易判斷。但在APDL中,沒有判斷函數。搜了下,結果提示用nint(x)函數。help中說到 nint(x)就是abs,sin,cos等函數一樣可以直接用來運算。nint(x)的意思是‘Nearest interger to x’,意思是說最接近x的整數。比如nint(2.1)=2,nint(2.5)=3,就相當于四舍五入。基于此,我就用它來作為判斷奇數偶數的工具了。
實現的命令如下:
!change TotalNumber to even number
*if,abs(nint(TotalNumber/2)-TotalNumber/2),le,0.3,then ! 不一定是0.3, 只要是小于0.5 就可以了。
TotalNumber=TotalNumber
*else
TotalNumber=TotalNumber+1
*endif
展開 ansys workbench APDL熱輻射命令行中的有關說明求助
1.sf,nlist,label,value,value2
-“nilst”是節點列表,也可以是命名選擇
-輻射標簽是rdsf
-value是表面發射率
-value2是封閉體數量
2.spctemp命令行:因為所計算的空間不是完全封閉的計算空間,所以必須定義空間溫度,
spctemp,number,temperature
spctemp是ansys定義空間溫度的關鍵字,number是非封閉空間的數量,temperature是非封閉空間的溫度
3.stef命令行:stef是ansys中斯蒂芬玻爾茲曼常數,stef=5.67×10-8
4.RADOPT, FLUXRELX, FLUXTOL, SOLVER, MAXITER, TOLER, OVERRLEX
FLUXRELX:松弛因子。
FLUXTOL:輻射熱通量收斂容差,默認為0.0001。
SOLVER
選擇用于計算的輻射求解器:
0 – Gauss-Seidel求解器
1 – 直接求解器 (對于大問題將耗費很多時間)
MAXITER
Gauss Seidel迭代求解器的最大迭代次數 (SOLVER = 0),默認為1000 Gauss Seidel迭代求解器的最大迭代次數 (SOLVER = 0),默認為1000。
TOLER
Gauss Seidel迭代求解器的收斂容差(SOLVER = 0),默認為 0.1。
OVERRLEX
Gauss Seidel迭代求解器的松弛因子(SOLVER = 0),默認為0.1。
求助:以上的封閉體數量是如何判別的?非封閉空間的數量又是如何判斷的?非封閉空間的溫度是如何定義的?有人能幫忙進一步舉例或說明嗎?萬分感謝!
展開 
ANSYS apdl中如何使齒輪饒定軸轉動
問題描述:在ANSYS中,實體單元和平板單元只有平動自由度,無旋轉自由度,網上提供的方法,在柱坐標系下通過固定徑向位移,在周向施加小位移,但這種方法只適合小位移的轉動,無法實現大位移,本文提出采用MPC184-銷軸單元和MPC-184剛性梁單元完成。本文就GUI的方式來介紹如何來創建齒輪的繞定軸旋轉。達到下圖的效果
step1 定義單元類型
a plat182 單元 模擬齒輪
b mpc184-剛性梁單元
c mpc184-銷軸單元 (本文繞Z軸旋轉,如定義為x軸,需要定義局部坐標系,繞y軸旋轉90°)
step2 定義局部坐標系默認,本文定義12號
step3 定義銷軸截面以及單元坐標系
step3 創建銷軸連接單元
在齒輪的中心點分配3號銷軸單元
step4 創建剛性梁單元
單元屬性旋旋轉2號剛性梁單元,去內徑的節點和圓中心點創建剛性梁單元
step5 施加載荷使齒輪旋轉2圈
setp6 求解設置
step7 時間后處理選擇內徑上的一個節點觀察ux,uy,rotz,可以看出齒輪旋轉2圈
展開 關于SYNTAX編輯器在ANSYS APDL編輯中的應用
Syntax-highlighter,這款可以當作ANSYS APDL 命令編輯器使用的軟件有誰使用過嗎?我今天下載了,看了那個說明的PDF忙了半天,總算能提示命令信息,能高亮顯示,能改變顏色和設置鍵盤快捷方式。但是還是有一些地方不明白:
1、這個是1、7版本的,都5年過去了,肯定有新版本,有誰有新版本嗎?為什么用GOOGLE搜索也搜索不到新版本呢?
2、里面有三個顯示方式?HIGH-DCI,SETUP-A57、DEFAULT。但是當用SETUP-A57時就自動出錯。我打開看是因為SETUP-A57里面有個絕對地址的緣故,但是我找不到這個地址所指的文件,所以沒有辦法更改地址。其他幾個文件中也有一些找不到文件的地址。并且很多操作經常出錯。有誰解決這些問題了嗎?
大家討論討論哦,咱們也可以一起努力打造一個符合中國人,特別是APDL新手的編輯器。
展開 Ansys Workbench后處理中,利用APDL命令提取繞圓柱坐標系的扭矩角度 ¥10
問題:
在有限元仿真中有時需要提取某些結構的扭轉角度。Ansys workbench的結果后處理中可以設定圓柱坐標系,然后按圓柱坐標讀取Y軸的變形結果,再進行扭轉角度的換算。
本文這里將該過程利用APDL命令進行處理,避免一下步驟重復操作。
? 每次要單獨記錄變形量,
? 還要測量關鍵節點到坐標系原點的距離,
? 將變形量和距離進行角度換算(弧度)
? 弧度角轉角度
APDL后處理命令功能介紹:
1. 在坐標系中創建所需的圓柱坐標系,并在屬性ADPL name中進行命名:aix (用戶隨意命名)
2. 在Named selection 定義需要查看的區域,并命名:load(用戶隨意命名)
3. 在后處理中插入command 命令,并將上述坐標系和NS的名稱修改。
4. 在command的結果屬性中就會有最大/最小/平均扭轉角度。并且為了方便校核準確性還提供了沿圓柱坐標系Y軸的變形量。
并且,除了界面顯示的結果外,還會在WB的結果文件夾中,顯示named Selection區域所有節點的編號/距離選定坐標系的距離/沿坐標系Y軸的變形量/換算后的角度值等信息,以便進行其它數據處理。
展開 在ANSYS WORKBENCH中插入APDL命令例子--多載荷步的例子
【問題分析】
本問題可以直接在wb中用多載荷步來求解,這里說明如何使用插入APDL命令的方式實現。
【求解過程】
1. 打開ANSYS WORKBENCH14.5
2.創建結構靜力學分析系統。
3.創建幾何體。
雙擊geometry單元格,進入DM,選擇mm單位。
創建長方體。
其尺寸設置是
退出DM.
4.劃分網格。
雙擊MODEL,進入到MECHANICAL中,按照默認方式劃分網格。
5.固定左端面。
6.添加APDL命令以分步加載。
下面使用APDL命令進行分步加載。
由于該命令最后要傳遞到經典界面中計算,而經典界面沒有單位。為保持統一性,都用毫米單位。
(1)設置單位
(2)創建命名集。
由于在命令中要引用頂面這個面,為了能夠正確引用,先需要給它一個名稱,這需要使用命名集來完成。
選擇上述頂面,創建命名集。在彈出的對話框中設置名字:topface
則樹形大綱中出現了該命名集。
有了命名集,在后面就可以使用該名字了。
(3)插入APDL命令。
在數形大綱中先選擇A5,再從工具欄中選擇命令按鈕
則圖形窗口變成了一個文本編輯器,此處可以輸入命令。
該文本窗口內說了很多話,主要內容包含兩點:
第一,這些命令會在SOLVE命令剛執行前執行。
第二,注意這里用的單位是mm.
現在我們向該文本窗口輸入下列命令。
這段ADPL命令流的含義是:
首先退出前面的某個處理器(finish)
然后進入到求解器中(/solve),在1,2,3,個時間步,依次在頂面上施加1,2,3mpa的載荷(sf),并將該載荷步寫入到載荷步文件中(lswrite),然后先后求解這三個載荷步(lssolve)。
展開