第一篇:ANSYS輸出高清黑白打印圖片方法總結(Word_文檔、論文)
如何在ANSYS中輸出高質量黑白圖片
ANSYS默認的結果輸出格式是云圖格式,而這種彩色云圖打印為黑白圖像時對比很不明顯,無法表達清楚,對于發表文章、論文打印非常不便。
需要打印的word文件所用的結果圖最好是等值線圖,并且最好是黑白的等值線圖。一般借用photoshop等第三方軟件,很麻煩,效果也不好。ansys本身也能實現這項功能。
方法一(自己總結的,強烈推薦)
【簡單方法1】:
1..將要輸出的結果調出,這時為彩色云圖
2.Main Menu _ Session Editor 打開命令編輯器,加入以下命令流:點擊OK運行即可
/rgb, index,0,0,0,0, /rgb, index, 100,0, 60,1, /rgb, index, 100,0, 100,2, /rgb, index, 62,0, 100,3, /rgb, index, 97, 97, 97,4, /rgb, index, 85, 85, 85,5, /rgb, index, 75, 75, 75,6, /rgb, index, 65, 65, 65,7, /rgb, index, 65, 65, 65,8, /rgb, index, 45, 45, 45,9, /rgb, index, 35, 35, 35, 10, /rgb, index, 25, 25, 25, 11, /rgb, index,3,3,3, 12, /rgb, index, 62, 62, 62, 13, /rgb, index, 78, 78, 78, 14, /rgb, index, 100, 100, 100, 15, /replot
/COLOR, DEFAULT
/RGB,INDEX,100,100,100, 0
/RGB,INDEX, 80, 80, 80,13
/RGB,INDEX, 60, 60, 60,14
/RGB,INDEX, 0, 0, 0,15
/REPLOT
【一勞永逸法】:
1.桌面上新建一個文本文件(.txt),加入以下命令流:保存退出
/rgb, index,0,0,0,0, /rgb, index, 100,0, 60,1, /rgb, index, 100,0, 100,2, /rgb, index, 62,0, 100,3, /rgb, index, 97, 97, 97,4, /rgb, index, 85, 85, 85,5, /rgb, index, 75, 75, 75,6, /rgb, index, 65, 65, 65,7, /rgb, index, 65, 65, 65,8, /rgb, index, 45, 45, 45,9, /rgb, index, 35, 35, 35, 10, /rgb, index, 25, 25, 25, 11, /rgb, index,3,3,3, 12, /rgb, index, 62, 62, 62, 13, /rgb, index, 78, 78, 78, 14, /rgb, index, 100, 100, 100, 15, /replot
/COLOR, DEFAULT
/RGB,INDEX,100,100,100, 0
/RGB,INDEX, 80, 80, 80,13
/RGB,INDEX, 60, 60, 60,14
/RGB,INDEX, 0, 0, 0,15
/REPLOT 2.改名為chutu.mac(后綴名一定要改為.mac,即自己定義一個宏,“出圖”)
3.將此宏文件拷貝到你的ANSYS個人目錄下,即以交互方式啟動時候設置的個人目錄。
也可以放在你的安裝目錄X:Program FilesANSYS Incv120ansysapdl
4.找到ANSYS安裝途徑里面的apdl文件夾,里面找到一個start120.ans(對應版本12.0,如果安裝是10.0,即為start100.ans),這一步可以用計算機的搜索功能。
雙擊打開start120.ans,在里面填入命令流:*ABBR,CHUTU,chutu
保存退出。
5.打開ANSYS,你會發現Toolbar多了一個CHUTU按鈕,其實第4步就是做這個工作,這樣做了可以“一勞永逸”,以后每次啟動都有這個按鈕,很方便,不用頻繁加載Toolbar。
6.將要輸出的結果調出,這時為彩色云圖
7.單擊CHUTU按鈕,即一鍵變成黑白高清等值線圖,可以用于word打印
8.出圖
出圖有多種方式: ① GUI:plotCtrls—>Capture Image 然后另存在桌面或任意位置
(這個方法圖片清晰圖最高,但是文件容量大,如果一個word里面圖片多了就上百兆啦…)② GUI:PlotCtrls_ Ridirect Plots _ To PNG file
在【Compression】圖片是否壓縮后面選擇【Compressed】 在Pixel resolution輸入1200(像素)(這個方法得到的png格式圖片,容量特別小,清晰度足夠用于論文、設計,推薦!)
③ GUI:PlotCtrls_Hard copy_To file 選擇一種圖片格式
(這個方法得到的圖片,背景正好與你設置相反)
【簡單方法2】:
Ps.如果不想這么麻煩,那進行完第3步后,直接跳到第6步,在界面上方命令流輸入窗口輸入chutu,回車,同樣可以調用,只不過以后每次都要輸chutu方法二(來自百度,效果一般)
1.將要輸出的結果調出,這時為彩色云圖;
2.將云圖轉換為等值線圖的形式
GUI:plotCtrls—>Device Options—>[/DEVI]中的vector mode 選為on 命令:/DEVICE,VECTOR,1
這時結果為彩色等值線,若直接輸出,打印為黑白圖像時仍然不清晰,為此需進行以下幾步將圖像轉換為黑白形式;
3.將背景變為白色
命令:jpgprf,500,100,1(Ps.此命令改變了圖形顯示)/rep
4.對等值線中的等值線符號(圖中為A,B,C等)的疏密進行調整
GUI:plotCtrls—>Style—>Contours—> Contours Labeling 在Key Vector mode contour label 中選中on every Nth elem,然后在N= 輸入框中輸入合適的數值,例如5,多試幾次,直到疏密合適
命令:/clabel,1,5(Ps.個人認為,這個命令沒用)
5.將彩色等值線變為黑色
GUI:plotCtrls—>Style—>Colors—>Contours Colors 將Items Numbered 1,Items Numbered 2等復選框中的顏色均選為黑色,圖像即可變為黑白等值線圖像
命令:/color,cntr,whit,1 等等
6.刪除標示字母
在顯示等值線時,圖形中太多的標識字母(A、B等)使得等值線圖完全看不清楚。請問有沒有什么方法可以去掉圖形的這些標識字母呢
在plotCtrls下面的style下面的contours下面的contour Labeling,在彈出的contour labeling options里面的vector mode contour labels選off
7.出圖
GUI:plotCtrls—>Capture Image(Ps:也可以用其他出圖方式)
方法三(自己總結的,效果也一般)
1.將要輸出的結果調出,這時為彩色云圖;
2.將云圖轉換為等值線圖的形式
GUI:plotCtrls—>Device Options—>[/DEVI]中的vector mode 選為on 命令:/DEVICE,VECTOR,1
3.白色背景
GUI:plotCtrls_Style_Clors_Reverse Video
4.刪除
在plotCtrls下面的style下面的contours下面的contour Labeling,在彈出的contour labeling options里面的vector mode contour labels選off.(Ps.因為這個標示字母彩云條,打印出來是全黑的一根,沒有意義,還不如刪掉,如果你有耐心一個一個的改色階,那就用下面操作:GUI:plotCtrls—>Style—>Colors—>Contours Colors)
5.出圖
GUI:plotCtrls—>Capture Image(Ps:也可以用其他出圖方式)
如果你是通過百度文庫下載該文件,希望你能對文件作出5星評價!
【Evolution丶兔】 QQ:34-24-82-365
第二篇:ANSYS 網格劃分方法總結
(1)網格劃分定義:實體模型是無法直接用來進行有限元計算得,故需對它進行網格劃分以生成有限元模型。有限元模型是實際結構和物質的數學表示方法。
在ANSYS中,可以用單元來對實體模型進行劃分,以產生有限元模型,這個過程稱作實體模型的網格化。本質上對實體模型進行網格劃分也就是用一個個單元將實體模型劃分成眾多子區域。這些子區域(單元),是有屬性的,也就是前面設置的單元屬性。另外也可以直接利用單元和節點生成有限元模型。
實體模型進行網格劃分就是用一個個單元將實體模型劃分成眾多子區域(單元)。
(2)為什么我選用plane55這個四邊形單元后,仍可以把實體模型劃分成 三角形區域集合???
答案:ansys為面模型的劃分只提供三角形單元和四邊形單元,為體單元只提供四面體單元和六面體單元。不管你選擇的單元是多少個節點,只要是2D單元,肯定構成一個四邊形或者是三角形,絕對沒有五、六邊形等特殊形狀。網格劃分也就是用所選單元將實體模型劃分成眾多三角形單元和四邊形子區域。
見下面的plane77/78/55都是節點數目大于4的,但都是通過各種插值或者是合并的方式形成一個四邊形或者三角形。
所以不管你選擇什么單元,只要是對面的劃分,meshtool上的劃分類型設置就只有tri和quad兩種選擇。
如果這個單元只構成三角形,例如plane35,則無論你在meshtool上劃分設置時tri還是quad,劃分出的結果都是三角形。
所以在選用plane55單元,而劃分的是采用tri劃分時,就會把兩個點合并為一個點。如上圖的plane55,下面是plane單元的節點組成,可見每一個單元上都有兩個節點標號相同,表明兩個節點是重合的。
同樣在采用plane77 單元,進行tri劃分時,會有三個節點重合。這里不再一一列出。(3)如何使用在線幫助:
點擊對話框中的help,例如你想了解plane35的相關屬性,你可以點擊上右圖中的help,亦可以,點擊help—>help topic
彈出下面的對話康,點擊索引按鈕,輸
入
你
想
查
詢的關
鍵
詞。
(4)對于矩形的網格劃分方法整理:
當圓柱體具有圓周對稱性時,可以使用plane 55(是一個2D,4節點的平面四邊形單元,自由度是溫度)單元作為有限元單元,設置為軸對稱性(Axisymmetric).其幾何建模是一個矩形。網格劃分可以采用如下幾種:
1)手工尺寸(參見ANSYS10.0 熱力學有限元分析實例教程 P97):選擇如下按鈕并彈出對話框,在上面一欄的單元邊沿長度一欄中輸入需要劃分的單元邊長。(這里是0.0002,系統默認是正方形),點擊OK按鈕,設置完畢。
然后選擇下圖所示按鈕(target surf 靶面),并點擊所彈出對話框的PICK all 按鈕。
單元劃分完畢。該劃分采用的是余數進位制,一旦不能整除就是在結果上加1,比如上圖中的矩形模型,Y變成是0.0015,單元尺度是0.0002,實際上是7.5個單元,但這里是分成8個,X方向的長度是0.001015,被分成了六個網格。
2)使用智能劃分水平控制:點擊,彈出下面的對話康,(上面的element attributes是為實體模型分配單元屬性,這里的實體模型是個矩形,故選擇的是areas,然后點擊后面的set按鈕,彈出面選擇對話框 選中需要進行分配單元屬性的實體模型。)選中 smart size選擇欄,然后把滑塊欄向左右拉動選擇劃分精細度。
最后點擊meshtool對話框中的mesh按鈕,即可完成網格劃分設置。3)使用meshtool工具進行單獨線的單元數劃分設置: 點擊meshtool按鈕,點擊size
control
部
分
的lines-set,然后再彈出的單元尺寸設置對話框,然后選擇需要進行單元尺寸設置的實體模型的邊,對于矩形先選擇兩個對邊,然后點擊OK按鈕。彈出如下對話框,選擇在兩個邊上需要設置的單元個數。同樣在另外兩個邊上進行相同的設置(劃分個數可以不同)。最后劃分的到底是三角形還是四邊形取決于meshtool的劃分類型設置是tri還是quad。以及該單元到底是什么形狀,例如plane35只形成三角形,就絕對不會劃分成四邊形。
注意:一旦對單獨線進行劃分設置后,如果繼續繼續采用上面的smart size劃分,則其按已設置好的線單元數進行劃分。
第三篇:ansys求電感的方法總結
11.2.2.4 LMATRIX
LMATRIX宏可以計算任意線圈組中每個線圈的微分電感矩陣和總磁鏈。參見《ANSYS理論手冊》第5章。
LMATRIX宏用于在靜磁場分析的一個“工作點”上計算任意一組導體間的微分電感矩陣和磁鏈。“工作點”被定義為在系統上加工作(名義)電流所得到的解,該宏命令既可用于線性求解也可用于非線性求解。
必須用波前求解器來計算“工作點”的解。
LMATRIX宏的計算依賴于對工作點進行求解的過程中建立的多個文件。該宏在執行求解之前在這些文件前面加一個前綴OPER來重命名文件,并在完成求解后自動保存這些文件。用戶自己也可以保存這些文件的拷貝以進行備份。該宏命令返回一個N×N+1矩陣參數,N×N部分表示N-繞組系統的微分電感值,此處N表示系統中的線圈數。N+1列表示總磁鏈。第I行表示第I個線圈。另外,電感矩陣的值還以文本文件的格式輸出,以供外部使用。文件中第一個列表表示每個線圈的磁鏈。第二個列表表示微分電感矩陣的上三角部分。
命令:LMATRIX
GUI:Main Menu>Solution>-Solve-Electromagnet>-Static Analysis-Induct Matrix 在調用LMATRIX宏之前,還需要給線圈單元賦一個名義電流值。對于使用磁矢勢(MVP)法或基于棱邊元方法進行求解的靜磁分析,可以使用BFV、BFA或BFE命令來給線圈單元賦名義電流(以電流密度的方式)。對于使用簡化標勢法(RSP)、差分標勢法(DSP)和通用標勢法(GSP)的靜磁分析,可以使用SOURCE36單元的實常數來給線圈單元賦名義電流。
為了使用LMATRIX宏,必須事先用*DIM命令定義一個N階數組,N為線圈數,數組的每行都表示一個線圈。數組的值等于線圈在工作點時每匝的名義電流值,且電流值不能為零,當確實有零電流時,可以用一個很小的電流值來近似。另外,還需用CM命令把每個線圈的單元組合成一個部件。每組獨立線圈單元的部件名必須是用一個前綴后面再加線圈號來定義。一個線圈部件可由標量(RSP/DSP/GSP)或矢量單元(MVP)混合組成,最重要的一點是這些單元的激勵電流與前面數組中所描述的電流相同。
在LMATRIX宏中需定義一個用于保存電感矩陣的數組名,用LMATRIX宏的對稱系數(symfac)來定義對稱性。如果由于對稱性而只建了n分之一部分模型,則計算出的電感乘以n就得到總的電感值。
當工作點位于BH曲線的彎點處時,切向磁導率變化最快,會導致計算的感應系數隨收斂標準而變化。為了獲得更加準確的解,收斂標準要定義得更加嚴格一些,不僅僅是缺省值1.0×10-3。一般在執行MAGSOLV命令時,選擇1.0×10-4或1.0×10-5。
在使用LMATRIX命令前,不要施加(或刪除)非均勻加載,非均勻加載由以下原因生成:
·自由度命令(D, DA,等)在節點或者實體模型上定義非0值 ·帶有非0約束的CE命令
不要在不包含在單元組件中的單元上施加任何載荷(如current)下面的例子是一個3線圈系統,每個線圈的名義電流分別為1.2、1.5和1.7安/匝,其分析的命令流如下。在這個例子中,數組名為“curr”,線圈部件名前綴為“wind”,電感矩陣的計算值存貯在名為“ind”數組中。值得注意的是,在LMATRIX命令行中,這些名字必須用單引號引起來。
*dim,cur,3!3個線圈系統數組
cur(1)=1.2!線圈1的名義電流為1.2安培/匝 cur(2)=1.5!線圈2的名義電流為1.5安培/匝 cur(3)=1.7!線圈3的名義電流為1.7安培/匝 esel,s??!選擇線圈1的單元
cm,wind1,elem!給選出的單元賦予部件名wind1 esel,s??!選擇線圈2的單元
cm,wind2,elem!給選出的單元賦予部件名wind2 esel,s??!選擇線圈3的單元
cm,wind3,elem!給選出的單元賦予部件名wind3 symfac=2!對稱系數
Imaxtrix,symfac,’wind’,’curr’,’ind’!計算微分電感矩陣和總磁鏈
*stat,ind!列出ind電感矩陣
11.2.2.5 下面是以命令流方式進行的一個計算電感矩陣的例子 該例計算一個二線圈系統(永磁電感器件)在非線性工作點下的微分電感矩陣和
總磁鏈,其示意圖如下:
幾何性質:x1=0.1, x2=0.1, x=0.1, y=0.1 材料性質:μr=1.0(空氣),Hc=25(永磁體),B-H曲線(永磁體,見輸入參數)
線圈1:名義電流=0.25安/匝,匝數=10 線圈2:名義電流=0.125安/匝,匝數=20 目標值:L11=4, L22=16, L12=8 命令流如下: /batch,list /title, Two-coil inductor with a permanent magnet /nopr!geometry data!n=1!meshing parameter x=0.1!width(x size)of core y=0.1!hight of core, y size of window z=1!thickness of iron in z direction x1=0.1!width(x size)of coil 1 x2=0.1!width(x size)of coil 2 Hcy=25!coercive magnetic field in y direction n1=10!number of turns in coil1 n2=20!number of turns in coil2!excitation data used by LMATRIX.MAC!symfac=1!symmetric factor for inductance computation nc=2!number of coils *dim,cur,array,nc!nominal currents of coils *dim,coils,char,nc!names of coil components!cur(1)=0.25!nominal current of 1st coil coils(1)=“wind1”!name of coil 1 component!cur(2)=-0.125!nominal current of 2nd coil coils(2)=“wind2”!name of coil 2 component!auxiliary parameters!mu0=3.1415926*4.0e-7 x3=x1+x2!x coordinate right to coil2 left x4=x3+2*x!x coordinate right to core x5=x4+x2!x coordinate right to coil2 right x6=x5+x1!x coordinate right to coil1 right js1=cur(1)*n1/(x1*y)!nominal current density of coil1 js2=cur(2)*n2/(x2*y)!nominal current density of coil2!/prep7 et,1,53!mp,murx,1,1!air/coil mp,mgyy,2,Hcy!coercive term Bs=2!saturation flux density Hs=100!saturation magnetic field TB,BH,2!core: H = Hs(B/Bs)^2;BS=2T;HS=100A/m *do,qqq,1,20 B=qqq/10*Bs tbpt,Hs*(B/Bs)**2,B *enddo!rect, 0,x1,0,y!coil1 left rect,x1,x3,0,y!coil2 left rect,x3,x4,0,y!core rect,x4,x5,0,y!coil2 right rect,x5,x6,0,y!coil1 right!aglue,all!asel,s,loc,x,x1/2!coil 1 volume attribute aatt,1,1,1 asel,s,loc,x,x5+x1/2 aatt,1,2,1 asel,s,loc,x,x1+x2/2!coil 2 volume attribute aatt,1,3,1 asel,s,loc,x,x4+x2/2 aatt,1,4,1 asel,s,loc,x,x3+x!iron volume attribute aatt,2,5,1 asel,all!esize,n amesh,all!nsel,s,loc,x,x6!flux parallel Dirichlet at symmetry plain, x=x6!homogeneous Neumann flux normal at yoke, x=0 d,all,az,0 nsel,all!esel,s,real,1!coil 1 left component bfe,all,JS,,js1!unite current density in coil 1!esel,s,real,2!coil 1 right component bfe,all,JS,,-js1!return unite current density in coil 1!esel,s,real,1,2 cm,coils(1),elem!esel,s,real,3!coil 2 left component bfe,all,JS,,js2!unite current density in coil 2!esel,s,real,4!coil 2 right component bfe,all,JS,,-js2!return unite current density in coil 2!esel,s,real,3,4 cm,coils(2),elem!allsel!fini!!!!!!!!!!!!!!!!!!!!!!/com /com obtain operating solution /com!/solu cnvtol,csg,1.0e-4 /out,scratch solve fini!/post1!/out!/com, /com, senergy,!Stored electromagnetic energy savelen=S_ENG senergy,1!Co-energy savelce=C_ENG!fini!!!!!!!!!!!!!!!!!!!!!!compute inductance lmatrix,symfac,“wind”,“cur”,“ind”,!compute inductance matrix and flux!/com finish 你將得到如下結果:
SUMMARY OF STORED ENERGY CALCULATION Load Step Number:1.Substep Number:1.Time:0.1000E+01 Material Number ofStored EnergyMaterial Description NumberElements(J/m)1.4.0.52360E-05LinearIsotrp...2.1.-0.33314E+00Nonlin.MagnetIsotrp._____________________________________________________________________ T O T A L5.-0.33313E+00 Note: The energy density for the active elements used in the energy calculation is stored in the element item “MG_ENG” for display and printing.The total stored energy is saved as parameter(S_ENG)SUMMARY OF COENERGY CALCULATION Load Step Number:1.Substep Number:1.Time:0.1000E+01 Material Number ofCoenergyMaterial Description NumberElements(J/m)1.4.0.52360E-05LinearIsotrp...2.1.0.33314E+00Nonlin.MagnetIsotrp._____________________________________________________________________ T O T A L5.0.33314E+00 Note: The co-energy density for the active elements used in the co-energy calculation is stored in the element item “MG_COENG” for display and printing.The total coenergy is saved as parameter(C_ENG)_____________________________________________________________________ ________________ LMATRIX SOLUTION SUMMARY ___________________ Flux linkage of coil1.=0.19989E+01 Flux linkage of coil2.=0.39978E+01 Self inductance of coil1.=0.39976E+01 Self inductance of coil2.=0.15989E+02 Mutual inductance between coils1.and2.=0.79948E+01 Inductance matrix is stored in array parameter ind(2., 3.)Inductance matrix is stored in file ind.txt
第四篇:ANSYS問題總結
1:ansys中的等效應力是什么物理含義?...2 2.ansys后處理中負值的應力是壓應力還是拉應力?...3 3解決非線性分析不收斂的技巧!...3 4非線性計算完的收斂圖線,如何看他的收斂性呢,每條顏色的線代表什么意思呢?...4 5求教accat及lccat命令...5 6有關分塊后的merge問題。...5 7請教如何用APDL命令程序提取單元相關信息。...5 8.ansys的剛度矩陣是在那一步驟生成的,如何讀出,其格式如何...5 9在混凝土的計算中,如何選擇裂縫模型...6 10.請問TB命令怎么用??TB命令是用在非線性材料里嗎?那么mp和TB有什么區別啊?一般什么情況下可以用TB命令?...7 11.ansys 如何輸入yield stress.7
12、將Ansys計算結果輸出到Tecplot的完整命令流!...7
13、【原創】將數組中數據導入表中命令流,然后用曲線畫出...8
14、有一個問題,就是我想看我在建模時用的是什么單位,本來是mm的,我可能用成cm了,怎么查看? 11
15、ansys是否可以自動搜索實體邊界...11
16、問一下疲勞計算得出的結果都是什么意思??補充資料...11
17、溫度荷載問題...12
18、如何把指定位置的節點的節點號提取出來?用什么命令?...12
19、劃分網格后修改單元屬性問題...12 20、快速去掉窗口的ansys標志...13
21、merge節點與glue-mesh的區別...13
22、glue不glue的區別???...13
23、畫等應力線大全,呵呵...13
24、荷載步數太多了,該怎么辦?...14
25、我能否在建立好模型后再定義我的元素屬性...14
26、怎樣劃分不平行于全球坐標系xy的面...15
27、如何查看層間應力值?...15
28、在ANSYS中用表面效應單元加任意方向的荷載...15
29、撰寫論文中圖像的灰度處理...16 30、提取材料號2的所有體積命令是什么呢?.17
31、請教:solve后的warning怎樣才能不用手動點OK?.17
32、循環計算生成的轉矩結果數據如何保存成TXT文件...17
33、請問不在同一平面的兩個 面如何合成一個面啊???...17
34、關于hardpoint。若在構件的某點處有一集中載荷,需在mesh之前在該處建立一個hardpoint,請問這個hardpoint的建立應該已經改變了該構件的應力分布了吧??為什么要建hardpoint?hardpont和一般的keypoint有什么區別?? 18
35、用apdl如何分別讀取節點響應的實部和虛部??...18
36、使用Ansys軟件使用的經驗小結...18
37、ansys中如何提取各結點溫度輸出到TXT文檔中?...22
38、可以施加兩種載荷嗎?...23
39、ansys中的單位問題...23 40、ANSYS中如何執行batch批處理命令?.23
41、無規則編號,不等間距node如何兩兩連接成單元...23
42、用APDL命令讀取ANSYS后處理應力應變結果...24
43、CE 和CP有何區別...24
44、ansys用*get獲得的節點應變是真應變,工程應變還是green應變?...25
45、mesh200單元如何使用?...25
46、ANSYS誤差估計的問題...25
47、如何計算實體模型某個截面上的合力和彎矩...26
48、如何判別一個模型網格劃分的合理與否?...26
49、關于ansys做巖土材料分析的D-P模型的討論...27 50、請問檢查模型是否有縫隙怎么檢查?...27 50、如何判斷某個節點是在面上還是在體內呢?...27
51、nsol命令不能夠畫應力隨時間變化曲線...27
52、給曲面施加梯度荷載的方法...27
53、在ANSYS中如何顯示點、線、面、體的編號?...27
54、如何在ANSYS 中顯示彎矩圖...28
55、ansys后處理的等值線上的字母如何改大啊?...28
56、如何看到模型內部的應力分布情況...29
57、ANSYS中如何提取等效節點載荷?...29
58、關于提取最大節點力的問題...29
59、請問一下,如何改變圖象顯示模式?...29 60、怎樣得到內力圖和彎矩圖...30 61、tbdata的用法...30 62、映射網格劃分方法...30 63、怎么改變面的發向方向...33 64、關于載荷步的一點體會...33 65、計算結果的評價:...34 66、ansys后處理可否畫自定義變量的云圖...34 67、兩種PowerGraphis結果顯示模式對結果的影響...34 67、讓ANSYS程序在命令執行到某一行的時候停止...35 68、怎么在計算結果實體云圖中切面?.35 69、log文件整理心得:...35 70.典型靜力分析的基本過程可以用以下命令流表示:...39 71、在Ansys中繪制二維曲線...40 72、ANSYS坐標系總結...41
1:ansys中的等效應力是什么物理含義?
它與最大應力s1有什么區別,平常討論應力分布,應該用等效應力還是最大應力s1呢?1)計算等效應力時是否需要輸入等效泊松比呢?好像有效泊松比的默認值是0.5。(2)在實際的應用中,例如在討論平板上的圓孔應力集中的應力分布問題時,應該用等效應力來描述應力集中的現象,還是采用主應力s1來反應集中的程度呢?還是采用一個單方向的sx來說明問題呢? 答:1)這個等效應力應該就是彈塑性力學里的VonMises應力,他主要考察的是材料在各個方向上的應力差值,因為在實驗室里獲得材料強度都是單向載荷作用下的強度(當然現在也有三軸應力實驗儀),所以有時候材料所受的單向載荷可能很大,但并沒有造成破壞,這是就是看他的等效應力,具體表示就是 σ等效=sqrt{0.5[(σ1-σ2)^2+(σ2-σ3)^2+(σ3-σ1)^2]} 2)等效應力是三項主應力的組合
如s,int即為max(si-sj),si,sj為三項主向應力。i,j=1,2,3 i≠j即tresca型
s,eqv為sqrt(0.5*∑(si-sj)**2),i,j=1,2,3 i≠j 即mises型
3)對于第一個問題:
沒有聽說過等效泊松比這個概念,在網上查了一下也沒有明確的答案,還請指教,不過泊松比默認0.5的意思是彈性區滿足體積不可壓縮
對于第二的問題:
我認為應該采用等小應力來描述應力集中的現象,因為在實際中很難找到真正的單軸拉壓的情況,一般結構的受力都沒有這么簡單,所以在分析的時候需要用等效應力來將各主應力進行轉化,因此應該用等效應力來描述應力集中的現象。
4)等效泊松比就是泊松比,一般在前處理中都會輸入的!
等效應力計算時不會用到泊松比,不過在計算mises等效應變時會用到。對于elastic & thermal strains 泊松比取為材料的泊松比; 對于plastic creep hyperelastic strains 泊松比取為0.5
2.ansys后處理中負值的應力是壓應力還是拉應力? 答:應力,拉為正,壓為負
外載荷(壓力/拉力),壓為正,拉為負。外荷載的話應該參考坐標系的方向決定
3解決非線性分析不收斂的技巧!
這是本人在振動論壇上摘抄的一段 我覺得對解決非線性分析收斂很有幫助!希望能給大家些啟發!(這個帖子我覺得應該放到這里,對初學者很有幫助)影響非線性收斂穩定性及其速度的因素很多:
1、模型——主要是結構剛度的大小。對于某些結構,從概念的角度看,可以認為它是幾何不變的穩定體系。但如果結構相近的幾個主要構件剛度相差懸殊,在數值計算中就可能導致數值計算的較大誤差,嚴重的可能會導致結構的幾何可變性——忽略小剛度構件的剛度貢獻。如出現上述的結構,要分析它,就得降低剛度很大的構件單元的剛度,可以加細網格劃分,或著改用高階單元(BEAM->SHELL,SHELL->SOLID)。構件的連接形式(剛接或鉸接)等也可能影響到結構的剛度。
2、線性算法(求解器)。ANSYS中的非線性算法主要有:稀疏矩陣法(SPARSE DIRECT SOLVER)、預共軛梯度法(PCG SOLVER)和波前法(FRONT DIRECT SLOVER)。稀疏矩陣法是性能很強大的算法,一般默認即為稀疏矩陣法(除了子結構計算默認波前法外)。預共軛梯度法對于3-D實體結構而言是最優的算法,但當結構剛度呈現病態時,迭代不易收斂。為此推薦以下算法:
1)、BEAM單元結構,SHELL單元結構,或以此為主的含3-D SOLID的結構,用稀疏矩陣法;
2)、3-D SOLID的結構,用預共軛梯度法;
3)、當你的結構可能出現病態時,用稀疏矩陣法;
4)、當你不知道用什么時,可用稀疏矩陣法。
3、非線性逼近技術。在ANSYS里還是牛頓-拉普森法和弧長法。牛頓-拉普森法是常用的方法,收斂速度較快,但也和結構特點和步長有關。弧長法常被某些人推崇備至,它能算出力加載和位移加載下的響應峰值和下降響應曲線。但也發現:在峰值點,弧長法仍可能失效,甚至在非線性計算的線性階段,它也可能會無法收斂。
為此,盡量不要從開始即激活弧長法,還是讓程序自己激活為好(否則出現莫名其妙的問題)。子步(時間步)的步長還是應適當,自動時間步長也是很有必要的。
4、加快計算速度
在大規模結構計算中,計算速度是一個非常重要的問題。下面就如何提高計算速度作一些建議: 充分利用ANSYS MAP分網和SWEEP分網技術,盡可能獲得六面體網格,這一方面減小解題規模,另一方面提高計算精度。
在生成四面體網格時,用四面體單元而不要用退化的四面體單元。比如95號單元有20節點,可以退化為10節點四面體單元,而92號單元為10節點單元,在此情況下用92號單元將優于95號單元。
選擇正確的求解器。對大規模問題,建議采用PCG法。此法比波前法計算速度要快10倍以上(前提是您的計算機內存較大)。對于工程問題,可將ANSYS缺省的求解精度從1E-8改為1E-4或1E-5即可。
5、荷載步的設置直接影響到收斂。應該注意以下幾點:
1、設置足夠大的荷載步(將MAXMIUM SUBSTEP=1000000),可以更容易收斂,避免發散的出現(nsub,nsbstp,nsbmx,nsbmn);
2、設置足夠大的平衡迭代步數,默認為25,可以放大到很大(100)(eqit,eqit);
3、將收斂準則調整,以位移控制時調整為0.05,以力控制為0.01(CNVTOL,lab,value,toler,norm,minref)。
4、對于線性單元和無中間節點的單元(SOLID65和SOLID45),關閉EXTRA DISPLACEMENTS OPTIONS(在OPTIONS中)。
5、對于CONCRETE材料,可以關閉壓碎功能,將CONCRETE中的單軸抗壓強度設置為-1(tadata,mat,shrcf-op,shrcf-cl,UntensSt,UnCompSt(-1))。
4非線性計算完的收斂圖線,如何看他的收斂性呢,每條顏色的線代表什么意思呢? 答:F力,M力矩
crit、L2分別是按照兩種收斂準則計算出來的誤差量。
F L2就表示按照L2收斂準則計算出來的力的誤差量(迭代計算中的概念)如果計算出來的誤差量落在收斂準則之下,則表示該子步計算收斂。
5求教accat及lccat命令
accat和lccat命令好像只能做兩個面及兩條線的合并,做3個及以上的合并可以通過GUI操作鼠標拾取實現,但有沒有命令流方式啊? 答:通過選取,然后對所有對象操作 lsel,......(asel,)lccat,all(accat,all)
6有關分塊后的merge問題。一般來說,在網格劃分前用glue,網格劃分后用merge.7請教如何用APDL命令程序提取單元相關信息。答:*get 8.ansys的剛度矩陣是在那一步驟生成的,如何讀出,其格式如何 答:你看看這個,別人的
1、整體剛度和質量矩陣的提取。該功能需要進行二次開發,由ansys形成的二進制文件.full提取整體剛度和質量 矩陣。
基于ansys的一個用戶開發程序例子編 了一個程序(附件中)。開發環境:compaq fortran 6.5 運行環境:win2000。一個主文件:self.for,另一個文件matrixout.f90用于矩陣輸出 binlib.lib為ansys提供的庫文件,將其 引入項目中(也可直接扔進debug目錄).full文件由子空間迭代模態分析獲得。運行編譯后的可執行文件.exe
2、單元剛度和質量矩陣的提取。
/DEBUG命令。詳細說明可由以下轉載文章 finish /clear PI=3.1415926 w1=3 w2=10 w3=6 w4=1.2 r=.8 t=0.08 /PREP7!* ET,1,SHELL63 R,1,t ET,2,MASS21 R,2,500,500,500,2000,2000,2000,!* UIMP,1,EX, , ,2e11 UIMP,1,NUXY, , ,0.3, UIMP,1,DAMP, , ,0.2, UIMP,1,DENS, , ,7800, BLC4,0,0,w2,w1 ESIZE,1.5,0, AMESH,all NSEL,S,LOC,X,0.0 D,all, , , , , ,ALL, , , , , allsel,all SFA,all,1,PRES,12 FINISH /OUTPUT,cp,out,!將輸出信息送到cp.out文件 /debug,-1,,1!指定輸出單元矩陣
/SOLU SOLVE finish /OUTPUT, TERM!將輸出信息送到output windows中
!這時用編輯器打開cp.out文件,可以看到按單元寫出的質量、剛度等矩陣
9在混凝土的計算中,如何選擇裂縫模型
裂縫的處理方式有離散裂縫模型、分布裂縫模型和斷裂力學模型。在ANSYS中如何選擇模型? 答:ansys中定義混凝土的裂縫為分布型的
10.請問TB命令怎么用??TB命令是用在非線性材料里嗎?那么mp和TB有什么區別啊?一般什么情況下可以用TB命令?
答:TB 可用來定義材料的非線性,比如說
TB,BISO,1 TBDATA,235e6,0.02*235e6 前面一句就是說材料為雙線性隨動強化,后面的是彈性模量為235e6,按雙線性其后來的切線模量為0.02*235e6 mp只能定義時彈性,不能定義彈塑性
定義材料數據時,MP 命令是必須用的,用來定義材料性能的線性部分;TB 命令則需要根據不同情況決定是否使用和如何使用。
11.ansys 如何輸入yield stress 答:定義好恰當的材料模型,就可以輸入了。比如用理想線彈性的材料,就不可能輸入屈服極限吧。
12、將Ansys計算結果輸出到Tecplot的完整命令流!
下面的命令流適用于六面體八節點單元的情況,其他類型單元只需稍作修改即可!命令流讀取的是節點的溫度。
/post1 file,Jobname,rst
!指明從哪一個結果文件中讀取數據 *get,NodeNum,NODE,0,COUNT
!得到模型的所有節點數 *get,nd,NODE,0,NUM,MIN
!得到模型的最小節點編號 *dim,nodes,array,NodeNum
!定義一個存儲節點的數組 *dim,xyz,array,NodeNum,3
!定義一個存儲節點坐標的數組 *dim,NodeTemp,array,NodeNum
!定義一個存儲節點的數組 set,4,1
!讀入第四載荷步、第一個子步的結果 *do,i,1,NodeNum,1
nodes(i)=nd
!將節點編號存儲在nodes數組中
xyz(i,1)=NX(nd)
!在xyz(i,1)中存儲節點的X坐標
xyz(i,2)=NY(nd)
!在xyz(i,1)中存儲節點的Y坐標
xyz(i,3)=NZ(nd)
!在xyz(i,1)中存儲節點的Z坐標
*Get,NodeTemp(i),NODE,nodes(i),TEMP
nd=NDNEXT(nd)
!取得下一個節點編號
*enddo *get,ElementNum,ELEM,0,COUNT
!得到模型的所有單元數 *get,el,ELEM,0,NUM,MIN
!得到模型的最小單元編號 *dim,elems,array,ElementNum
!定義一個存儲單元的數組
*dim,ndlst,array,ElementNum,8
!定義一個存儲節點坐標的數組 *do,i,1,ElementNum,1
elems(i)=el
!將單元編號存儲在elems數組中
*do,j,1,8,1 ndlst(i,j)=NELEM(el,j)
!將單元對應的節點編號存儲在ndlst數組中
*enddo
el=ELNEXT(el)
!取得下一個單元編號 *enddo *cfopen,mesh,dat
!輸出的文件名為:mesh.dat!寫TecPlot文件的文件頭
*vwrite('TITLE=Ansys Temperature Analysis')!寫變量名
*vwrite('VARIABLES=“X”,“Y”,“Z”,“Temp”')!寫節點數和單元數
*vwrite,NodeNum,ElementNum('ZONE n='f6.1,' e='f6.1,' f=fepoint',' et=brick')!寫節點的坐標和溫度值
*vwrite,xyz(1,1),xyz(1,2),xyz(1,3),NodeTemp(1)(4f12.6)
!寫一個空行
*vwrite(' ')!寫各單元對應的節點號
*vwrite,ndlst(1,1),ndlst(1,2),ndlst(1,3),ndlst(1,4),ndlst(1,5),ndlst(1,6),ndlst(1,7),ndlst(1,8)(8f6.0)!關閉文件 *CFCLOSE finish
將上述命令流拷貝到記事本中,然后以文件名“Ansys2Tecplot.inp”另存到Ansys的工作路徑下。在Ansys中輸入如下命令即可:/input,Ansys2Tecplot,inp
13、【原創】將數組中數據導入表中命令流,然后用曲線畫出 By xcs2008 2007年10月28日星期日
問題
將路徑數據導出為數組后,直接將parameter->array parameter->define/edit中的數組用plot->array parameter畫出的是柱狀圖,如圖1。但是現在想畫成曲線。
圖1 解決思路 Step1 將路徑數據導出后,數組的弟四列是路徑長度S,第五列是ux,我們想用S做橫坐標,ux做縱坐標畫出曲線。數組是ARUX02(21,30,1),如圖2。定義一個表E_TABLE(21,1,1),將數組的弟四列路徑長度符給表的弟0列,將數組弟五列ux符給表的弟1列。執行以下APDL命令流
圖2 Step2 表中的數據
如圖3 Step3 parameter->array parameter->define/edit中 PARX=E_TABLE(1,0,1),PARY=E_TABLE(1,0,1)結果如圖4 圖4 命令流
循環語句不能在命令框里輸入執行,可以把他放在新建的txt文件中,file->read input from
*DIM,E_TABLE,TABLE,21,1,1 定義表
E_TABLE(0,1,1)=1 表弟1列必須有值,在此輸入1 *DO,I,1,21,1 行循環
*DO,J,0,1,1 列循環
E_TABLE(I,J,1)=ARUX02(I,J+4,1)賦值
*ENDDO *ENDDO
14、有一個問題,就是我想看我在建模時用的是什么單位,本來是mm的,我可能用成cm了,怎么查看?
答:好像是輸入:/status,units
15、ansys是否可以自動搜索實體邊界 各位朋友,本人現有個問題需要向大家請教,希望略知一二的人能給與指導,我現在正在做ansys的后處理開發,遇到了一個問題,就是我希望通過apdl語言能夠自動搜索實體模型的邊界,比如說,一塊矩形大板由很多肋骨加強,這些肋骨把這個大板分割成許多小矩形板,我想通過命令流自動獲取該大板的所有小板(肋骨之間的板面),然后編號,進行下一步的屈曲分析,關鍵的難題就是采用何種方式來自動搜索得到各個小板面,答:如果大板是平面構型,就用坐標控制唄,select每個小板后,用cm編個組,不就可以進行下面的分析了嗎。
16、問一下疲勞計算得出的結果都是什么意思??補充資料
答:1)PERFORM FATIGUE CALCULATION AT LOCATION 1 NODE 0
*** POST1 FATIGUE CALCULATION *** LOCATION 1 NODE 4760(位置是節點4760)事件1:
EVENT/LOADS 1 1
AND 1 2
PRODUCE ALTERNATING SI(SALT)= 285.16(SI是應力幅值)此例中節點4760的S1,S3分別為:395,-1.2;應力幅值=(S1-S3)/2=(395-(-1.2))/2=285 CYCLES USED/ALLOWED = 5.000/7779(實際循環數/許用循環數)= PARTIAL USAGE(局部損傷)=0.00064 實際循環數5是FE命令設置的/許用循環數7779是根據應力幅值和S-N曲線曲線插值出來的 PARTIAL USAGE(局部損傷)=實際循環數/許用循環數表明損傷程度
2)先拋個磚:
1.機械設計里有alternating stress(交變應力)的說法,不知道alternating SI是不是這個意思(SI也有國際單位制的意思),你確認一下產生的應力是不是大概這個值。
2.根據材料的疲勞曲線(S-N曲線),記錄在不同最大應力下引起試件疲勞破壞所引起的應力循環次數,這里是0.1283e5次。而實際上的應力循環已經有0.1e5次,累計疲勞循環次數與直至破壞時總的循環次數的比值為0.77949(疲勞分析的軟件都有這一項)
17、溫度荷載問題
在橋梁施工過程中經常會出現箱粱內和外部有一定的溫差
底板內的溫度為5度,底板外側的溫度為0度,其間是線性變化的,不知道怎么加上這個溫度荷載
答:tunif命令是給所有節點指定一個均布溫度,體荷載溫度用“BF”、“BFE”、“BFK”。定義一個一維表來處理也可以,溫度可以施加到線、面、體、KP 點、節點、單元上。先對已知溫度的表面施加溫度邊界條件,做一次穩態熱分析,就可以得到所有節點的溫度了。
18、如何把指定位置的節點的節點號提取出來?用什么命令?
如何把指定位置的節點的節點號提取出來?用什么命令?如想把坐標為(5,6,7)的節點的節點號提取出來,怎么弄呢?
答:1)、先選擇節點,再獲得編號,比如取得坐標為(5,6,7)處的節點號碼: nsel,s,loc,x,5 nsel,r,loc,y,6 nsel,r,loc,z,7 *get,kcon,kp,num,min kcon的數字就是取得的節點號 2)、nn=node(5,6,7)
19、劃分網格后修改單元屬性問題 劃分完網格后,怎么才能把4節點的shell63單元改為8節點復合材料shell99單元?也就是說到底四節點單元可不可改成8節點單元? 答:先detach,然后emid,add,all 20、快速去掉窗口的ansys標志
用鼠標在圖形窗口的ansys標志上右擊,出現選擇選項,把Date選項去掉,然后在replot一下,就可以將ansys標志去掉。此方法也可以用于將后處理的應力數值條移到圖形的底部、上部、左部或右部。如果用鼠標在圖形窗口上右擊沒有反映,可以按住鍵盤的shift+ctrl+delete鍵,在右擊鼠標即可。
21、merge節點與glue-mesh的區別
Glue 相當于剛性連接,即連接面上有相同的單元和節點劃分;當兩個實體的接觸部分所劃分的單元和節點完全相同時,merge 才能相當于剛性連接;如果兩邊的網格不完全一樣,merge 只對部分節點起作用,不是完全的剛性連接,如果網格相差很大,merge 后的誤差也會很大。不能 glue 也不適合 merge 的地方,可以考慮使用節點耦合。
22、glue不glue的區別???
做一模型,在建模時,兩者生成面時共用同一線,我想知道,計算時對此兩面做不做glue是不是有區別?如果是不glue的情況,那我想做做一實際相鄰但并未聯著的模型,是用不glue的模型還是用在那條線上再重合一條線以示未聯?兩者不一樣嘛?
答:1)、“ 兩者生成面時共用同一線”,這是用不用GLUE,模型都是共KEYPOINT的。
“做一實際相鄰但并未聯著的模型”,不僅要重新生成一條線,還要修改一個面,使之由這條新生成的線構成。
2)、“要是相鄰,而且相連”,用MERGE更合適。
3)、實際相鄰、但并未連著的模型可以這樣做:
單獨做兩個面,分別檢查構成兩個面的線、KEYPOINT,PLOT KEYPOINT,如果相同位置有兩個點,相同位置的線也為兩條,則對兩個面劃分網格后,單元、節點是互不相連的。如果想讓模型相連,MERGE KEYPOINT或MERGE NODE 或AGLUE都可以。
23、畫等應力線大全,呵呵
求解完畢后 plotcrtls -> device options -> vector mode wireframe: on,在每條等應力線邊上產生好多字母,可以在第2步修改 plotcrtls -> style -> contours -> contour labeling -> Key vector mode countour labels: on every Nth els 填入一個數字看效果,直到覺得在每條等應力線邊上的字母數差不多為止 3 plotcrtls -> style -> contours -> uniform contours: NCONT Number of contours 填入等應力線的數量 plotcrtls -> style -> colors -> banded contours colors: band color選擇選定等應力線的顏色,選定等應力線由下面的N1,N2,INC決定 plotcrtls ->windows contours ->windows options 里面的選項都很有用,自己一個個試試看看效果吧 6 file -> report generator 可以作出白底黑字的圖片,如果決得圖片合適得話可以用plotcrts -> capture image把圖片抓下來 去掉背景顏色:Utility Menu> lotCtrls>Style>Background>Display Picture Background(單擊,去除其前的√號,背景變為黑色)8顯示網格時,去除網格顏色,只顯示線條:Utility Menu> lotCtrls>Style>Colors> icked Entity Clors 如下圖所示:單擊OK。再重新顯示Utility Menu> lot>Replot即為線條。
9硬拷貝為.bmp文件,以便插入到word文檔中:Utility Menu> lotCtrls>Hard Copy>To files, 給出文件名。所存文件即在進入Ansys時設的工作目錄下。在Ansys圖形輸出窗口中,顯示各種有用圖形,需要儲存并輸出時,均可以該方式存為.bmp文件,以備用。
24、荷載步數太多了,該怎么辦?
我是在一個模型上加的變化荷載,這個荷載是周期性的。由于作用的荷載周期有很多(有幾百萬次)所以結果文件就非常的大,請問有什么好的方法可以改變這個情況么
因為經常出現硬盤算滿了的情況!我只關心最后一個荷載步的結果,可是中間結果能不產生么?? 答:outres,item,freq,cname,其中freq項你取值為none就ok
25、我能否在建立好模型后再定義我的元素屬性
我覺得在建立好模型后,分批定類我的元素的TYPE和REAL,ET似乎更方便些,不知道能否實現
答:可以的。你可以先用mesh200劃分,之后在用emodif修改。
26、怎樣劃分不平行于全球坐標系xy的面
怎樣劃分不平行于全球坐標系xy的面?我直接amesh,結果提示不與全球xy面平行,不能劃分 答:“施加對稱對稱邊界條件,可以直接在 area 上施加,不必使用面單元過渡的。” 意思是對稱邊界條件可以直接施加在面上,而不必施加在單元上,但是該面還是需要劃分網格的,否則它不會參與計算的。
27、如何查看層間應力值?
一個多層結構,如何查看各層之間的最大最小應力值?是數值,不是云圖哦。答:prnsol
28、在ANSYS中用表面效應單元加任意方向的荷載!用表面效應單元加任意方向的荷載 finish /PREP7 et,1,45!定義實體單元solid45 et,2,154!定義三維表面效應單元
KEYOPT,2,2,0!指定表面效應單元的K2=0,所加荷載與單元坐標系方向相同 KEYOPT,2,4,1!指定表面效應單元的K4=0,去掉邊中點,成為四結點表面單元 block,-5,5,-5,5,0,5!建實體模型
mp,dens,1,2000 mp,ex,1,10e9 mp,prxy,1,0.2 asel,s,loc,z,5.0,5.0
!選中實體上表面
AATT,1, , 2,0,!指定實體上表面用154號單元 MSHAPE,0,2D MSHKEY,1 esize,5 amesh,all
!對上表面劃分網格
allsel,all VATT,1, , 1,0
!指定實體用45號單元
MSHAPE,0,3D MSHKEY,1 vmesh,all /PSYMB,ESYS,1!顯示單元坐標系
esel,s,type,2
!選中實體上表面的表面效應單元以方便加荷載
sfe,all,1,pres,50!在面內加Z向荷載,大小為50,荷載方向可通過值的正負控制 sfe,all,2,pres,100!在面內加X向荷載,大小為100 sfe,all,3,pres,150!在面內加Y向荷載,大小為150 /psf,pres,2,0,1!以箭頭方式顯示所加荷載
!如果已經知道荷載在整體坐標系內的方向失量為(0,1,1),可以用如語句加該方向的荷載 sfe,all,5,pres,100,0,1,1!荷載值100后的三個數為方向失量 allsel,all eplot 通過以上命令流得到的荷載圖如附件所示。11.gif(24.75 KB)2007-10-29 17:30
需要注意的時圖中(0,1,1)方向的荷載值為70.71=100*sqrt(2)/2,剛好是命令流中的荷載值乘以方向余弦。可以用sfelist命令查看單元上的荷載值。在施加荷載的時候應該要考慮表面載荷是否被累加吧!SFCUM,Lab,Oper,FACT,FACT2
29、撰寫論文中圖像的灰度處理 發現這些天論壇有些冷清,我的積分也遲遲不見長,近日弄了個ansys后處理灰度位圖模塊跟大家分享。ansys缺省狀態下顯示的是彩色圖形,這對于編寫高質量的報告非常有用,但實際使用中需要輸出灰度顯示的圖形,比如撰寫論文。
30、提取材料號2的所有體積命令是什么呢? 答:vsel,s,mat, ,2 vsum,all *get,v2,volu,0,volu v2 中即為材料 2 的所有體的體積。
31、請教:solve后的warning怎樣才能不用手動點OK? 建模,邊界,求解設置都做好了,然后求解SOLVE,之后會出現WARNING的窗口,總是要手動點擊OK,程序才能繼續運行。
我的問題是:能不能在命令流里加上一條命令,讓程序自動來進行確認,從而不用手動干預就可以繼續進行運算? 答:/uis,msgpop,3
32、循環計算生成的轉矩結果數據如何保存成TXT文件
新建了一個電機的三維有限元分析模型,需要循環做多次靜態磁場分析,每循環一次得到一組轉矩值,我想請問,如何能把每次循環得到的轉矩值存入到TXT文件中呢? 記得有一種方法:
/out,nli_t,txt nlist /out 不明白其中的nlist是怎么生成的呢,或者說一種什么類型的數據呢,標量?數組還是矩陣呢? 答:nlist是ansys的一個命令,列出所選中節點的信息,比如坐標。/out命令把本來在輸出窗口中顯示的信息存到指定的文體
所以你得到的既不是數據呢,標量也不是數組矩陣,只是一個文本文件。
33、請問不在同一平面的兩個 面如何合成一個面啊???
答:(1)可以用AADD命令進行布爾運算,可能要求兩個面共面。(2)如果兩個面共線,可以用aglue命令粘接2個面。
(3)如果想連接2個面,并用于網格劃分,可以用accat命令。
34、關于hardpoint。若在構件的某點處有一集中載荷,需在mesh之前在該處建立一個hardpoint,請問這個hardpoint的建立應該已經改變了該構件的應力分布了吧??為什么要建hardpoint?hardpont和一般的keypoint有什么區別?? 答:硬點實際上是一種特殊的關鍵點。用戶可利用硬點施加載荷或從模型線和面上的任意點獲得數據。硬點不改變模型的幾何形狀和拓撲結構。大多數關鍵點命令如FK、KLIST和KSEL等都適用于硬點。而且硬點有自己的命令集和GUI中的部分。如果用戶發出更新圖元幾何形狀的命令,例如布爾運算或簡化命令,任何與圖元相連的硬點都將被刪去。因此在完成實體模型之后應當將所有的硬點加入。如果刪除一個聯系著硬點的圖元,硬點會: ·與圖元一起被刪除(如果硬點與其它任何圖元都沒有關系)·與被刪除的圖元分離(如果硬點與另外的圖元相連)
35、用apdl如何分別讀取節點響應的實部和虛部?? 答:SET,1,1,0
!Real *VGET,AZR,NODE,A,Z SET,1,1,1 *VGET,AZI,NODE,A,Z
36、使用Ansys軟件使用的經驗小結 轉鋼結構論壇“霧里看花”的大作
1.始終注意保持使用一致的單位制; 2.求解前運行allsel命令
求解前運行allsel命令。要不然,某些已經劃分網格的實體而沒有被選擇,那么加在實體模型上加的荷載可能會沒有傳到nodes or elements上去; 3.網格劃分問題
牢記《建模與分網指南》上有關建模的忠告。網格劃分影響模型是否可用,網格劃分影響計算結果的可接受程度;
自適應網格劃分(ADAPT)前必須查自適應網格劃分可用單元,在ansys中能夠自適應網格劃分的單元是有限的。網格劃分完成后,必須檢查網格質量!權衡計算時間和計算精度的可接受程度,必要時應該refine網格
4.實體建模布爾運算
應用實體建模以及布爾運算(加、減、貼、交)的優勢解決建立復雜模型時的困難;但是,沒有把握時布爾運算將難以保證成功!5.計算結果的可信度
一般來說,復雜有限元計算必須通過多人,多次,多種通用有限元軟件計算核對,互相檢驗,相互一致時才有比較可靠的計算結果。協同工作時必須對自己輸入數據高度負責,并且小組成員之間保持良好的溝通;有限元分析不是搞什么“英雄主義”,而需要多方面的質量保證措施。6.了解最終所需要的成果
建立模型之前,應該充分了解最終要求提交什么樣式的成果,這樣能形成良好的網格,早期良好的建模規劃對于后期成果整理有很大的幫助; 7.撰寫分析文檔
文檔與分析過程力求保持同步,有利于小組成員之間的溝通和模型的檢驗和查證; 8.熟悉命令
對沒有把握的命令應該先用簡單模型熟悉之,千萬不能抱有“撞大運”的想法; 9.多種單元共節點 不同單元使用共同節點時注意不同單元節點自由度匹配問題導致計算結果的正確與否(《建模與分網指南》P 8)三維梁單元和殼單元的節點自由度數一致,但是應該注意到三維梁單元的轉動自由度和 殼單元的轉動自由度的含義不一樣。殼的ROTZ不是真實的自由度,它與平面內旋轉剛度相聯系,在局部坐標中殼的單元剛度矩陣ROTZ對應的項為零,對此不能將梁與殼單元僅僅有一個節點相連,例外的是當shell43 or shell63(兩者都有keyopt(3)=2)的Allman旋轉剛度被激活時。Solid65 單元和 shell63 單元相連,相應平動自由度的節點力會傳到實體塊單元上,但是shell63單元的轉動自由度的節點唯一則不會傳到相連的 solid65單元上。10.查找文獻資料確定混凝土的材料參數輸入(Tb, concr, , ,)11.預測內存和磁盤空間
大型復雜模型(例如10萬個節點,非線性問題,多工況問題,1000步以上的瞬態分析等等)求解之前預測求解所需要的求解時間、內存和磁盤空間,使分析盡在掌握之中; 12.收斂問題
影響收斂(不收斂,或者收斂緩慢)的原因很多,《非線性分析指南》一書上有很多關于避免發生收斂問題的建議;
對于以下參數,可以試一試這些參數對收斂速度以及結果精度的影響 neqit = 6~25? 加載荷載步大小 = ?
接觸單元的實常數 = ? 例如接觸剛度的大小取值必須權衡計算結果精度(穿透大小)和收斂問題(收斂時間)兩者的可接受程度,需要經驗值或者試算; 13.啟動重分析
14.兩個相貫的薄壁圓筒建模,殼單元沒有公共節點
Element Connectivity Error, 8-Node Curved Shell Elements In this image, the red stiffener was intended to be welded to the purple pipe.Note that the elements of the red stiffener do not match up with those on the pipe.There is no connection, and the meshing was done independently.This is due to a geometric modeling error by the user(me).There are superimposed curved lines where the interface is located.There should have been a shared line for the connection to have worked.I found this only because of careful examination of the model--I had already run a stress analysis.What to do about these error concerns? Read and think.Share and listen to ideas and concerns with others.Review your own work, and the work of your co-workers.(Recently an experienced co-worker who does not even do FEA work asked me if I had eliminated the added mass of water in pipes when evaluating shipping loads on a product.I hadn't.Eliminating the added mass got rid of a high-stress problem.These errors are very easy to make.)Be friendly.Communicate with other departments.Have a check list and design reviews.Never use FEA blindly, or believe the results of an analysis without some critical review.Accept a critical review without taking it personally.Develop a good understanding of the intent of the design codes that regulate your work.Consult an expert when it is appropriate.Pay attention to the ethics and standards of your professional association.Choose your employer wisely.(Some of these things you were supposed to have learned in Kindergarten, but life isn't always that simple.)解決方法:通過volumn建模形成相貫線,該方法建模使面相交處共線,xmesh后有公共nodes 15.選擇集的應用
為了利用選擇集cm / xsel的強大功能,可以合理定義線,面的實常數real屬性,為了選擇操作方便而賦予更多的單元實常數號,材料號
16. UPGEOM 和 MPCHG 的應用!UPGEOM更新幾何形狀
!a.rst為計算結果文件名,最后一個為目錄!這兩個參數應根據你的計算情況定 UPGEOM,1,LAST,LAST,NEW,rst,F:729!MPCHG彈性模量恢復為真值
esel,s,mat,3 mpchg,4,all
You might be tempted to try to deactivate or reactivate elements by changing their material properties [ MPCHG ](Main Menu> reprocessor>Material Props>Change Mat Num).However, you must proceed cautiously if you attempt such a procedure.The safeguards and restrictions that affect “killed” elements will not apply to elements that have their material properties changed in SOLUTION.(Element forces will not be automatically zeroed out;nor will strains, mass, specific heat, etc.)Many problems could result from careless use of MPCHG.For instance, if you reduce an element's stiffness to almost zero, but retain its mass, it could result in a singularity if subjected to acceleration or inertial effects.One application of MPCHG would be in modeling construction sequences in which the strain history of a “born” element is maintained.Using MPCHG in such cases will enable you to capture the initial strain experienced by elements as they are fitted into the displaced nodal configuration.17. Ansys 中的坐標系統,使用各種坐標系時應該明白在各處理器中輸入輸出會受到那些坐標系的影響
整體和局部坐標系CSYS---用于定位幾何形狀參數的空間位置 顯示坐標系DSYS---用于幾何形狀參數的列表和顯示
節點坐標系---定義節點自由度方向和節點結果數據的方法。輸入數據時受到節點坐標系影響的有:約束自由度(方程),力,主(從)自由度;在/POST26中在節點坐標系下輸出文件和顯示的數據結果有:自由度解,節點荷載,反作用荷載;
Forces are defined in the nodal coordinate system.The positive directions of structural forces and moments are along and about the positive nodal axis directions.The node and the degree of freedom label corresponding to the force must be selected [ NSEL , DOFSEL ].單元坐標系---每個單元都有自己的坐標系,單元坐標系用于確定材料特性主軸,加面壓力和和單元結果數據(如應力和應變)的輸出方向;ANSYS規定了單元坐標系的缺省方向;許多單元都有keyopts可用于修改單元坐標系的缺省方向;對于面和體單元而言,可以用ESYS命令將單元坐標系的方向調整到已定義的局部坐標系;
結果坐標系RSYS---用來列表、顯示或者在/POST1中將節點和單元結果轉換到特定的坐標系中。在/POST1中結果數據換算到結果坐標系(RSYS)下記錄。定義路徑時,可以用系列命令*GET, ACTSYS, ACTIVE,CSYS $ RSYS, ACTSYS使結果坐標系與激活的坐標系(用于定義路徑)相匹配 求解坐標系---大多數模型疊加技術(PSD,CQC,SRSS)是在求解坐標系中進行的,使用RSYS,SOLU命令來避免在結果坐標系中發生變換,使結果數據保持在求解坐標系中。18. Ansys 5.7通過函數定義邊界條件
利用函數可以很簡單方便地定義復雜邊界條件和載荷(將邊界條件當作函數處理(即方程))。該特性是5.6 中介紹的表格化邊界條件的擴展功能。用戶可以創建大量函數并存儲起來,以便于將來使用。
5.6的表格化邊界條件(Tabular boundary conditions)Tabular boundary conditions(VALUE = % tabname %)are available only for structural(UX, UY, UZ, ROTX, ROTY, ROTZ)and temperature degree of freedom(TEMP)labels and are valid only in static(ANTYPE ,STATIC)and full transient(ANTYPE ,TRANS)analyses.滯回曲線——位移加載
*DIM,dis,TABLE,9,1,TIME, , DIS(1,0)= 0,1,2,3,4,5,6,7,8 DIS(1,1)= 0,3,0,-3,0,4,0,-4,0 D,22, , %DIS% , , , ,UZ, , , , , ansys 5.6 help files-------2.6.3.Applying Loads Using TABLE Type Array Parameters 優點:
將復雜載荷和邊界條件定義成基本變量和因變量的連續或非連續方程。提供創建和運用函數的極易操作的GUI 界面。應用 :
該特性適用于所有ANSYS家族產品。
該特性適用于ANSYS程序的所有過程,支持TIME, TEMP, X, Y, Z, VELOCITY和PRESSURE等基本變量
19. automatic time stepping For nonlinear problems, automatic time stepping determines the amount of load increment between substeps
37、ansys中如何提取各結點溫度輸出到TXT文檔中?
哪位大峽告訴下我ansys中如何提取各節點的溫度?是不是用APDL語言
我現在有個程序,不知道該怎么用~~是將它在哪兒輸入???運行后結果又存在哪兒了????怎么存入到一個TXT文檔中?程序如下:
FINISH /POST1 ALLSEL,ALL *GET,TotNode,NODE,0,COUNT
!* 獲得模型中的節點總數,節點總數用變量TotNode記錄
*DO,Ni,1,TotNode
!* 用DO循環對模型中的所有節點遍歷
*GET,KTempNod,NODE,Ni,Temp!* 獲取每一節點以絕對溫度表示的溫度值,存放在變量KTempNod中
CTempNod=KTempNod-273
!* 將溫度轉換為攝氏溫度
DNSOL,Ni,TEMP, ,CTempNod!* 用DNSOL命令對節點的溫度計算結果修正為攝氏溫度 *ENDDO FINISH 答:*dim
定義一個數組
*vget
用節點溫度填充這個數組 *cfopen 把這個數組存入一個文件 *vwrite *cfclos
38、可以施加兩種載荷嗎?
要在一個模型上考慮兩種載荷,一開始只有第一個載荷作用,一段時間后在第一種載荷仍然作用的基礎上再施加第二個載荷,這兩個載荷的作用力大小和位置都不一樣,應該如何做? 答:可以試試用load step
39、ansys中的單位問題
solve后,跳出這樣一個錯誤來:For material 1 at temperature 0, the initial slope of the stress-strain curve based on the TB,MISO table(3.E+10)is greater than EX(30000).估計是材料單位弄的有問題了,大家誰能給個意見啊
答:1)、定義miso時第一個點的斜率一定要跟你輸入的ex相等 2)、3.E+10估計是以米為單位 30000以毫米為單位
40、ANSYS中如何執行batch批處理命令? 答:finish /clear /cwd 設置工作路徑 /input 輸入分析文件 /filname 修改工作文件名
41、無規則編號,不等間距node如何兩兩連接成單元
請教個問題:一系列node沿矩形四邊分布,但不均勻,node間距不等,編號也很混亂,如何能用簡單的方法將node兩兩連接成單元呢?考慮了一個方法,但沒有實現:用nsel命令選出周邊node,局部重新編號,編號有規律了就可以循環了,紅色字體為未能實現的部分。答:先把最外圈的某一邊選出來,nsel,s,就可以實現 指定起始節點,如1761 用nnear(1761)就可以選中離其最近的單元,i=nneae(1761)e,1761,i 就可以完成第一個單元,然后nsel,u,去掉1761 然后選中nneae(i)j=nneae(i)然后e,i,j 如此循環配合選擇就可以實現!
42、用APDL命令讀取ANSYS后處理應力應變結果 答:PLNSOL, EPTO,EQV, 0,1.0!總應變 PLNSOL, S,EQV, 0,1.0!應力 PLNSOL,U,SUM變形
43、CE 和CP有何區別
答:ce 是 約束方程,ce 可以是不同節點,也可以是相同節點,而且不要求自由度相同,比如:
Ux,i = Uy,i cp 是 耦合c,是不同節點的相同自由度耦合到一起(取相同的值);
簡單點兒說,耦合是將一個或多個自由度捆綁在一起,是他們保持同一個值。比如說你想保持一個板的一個邊保持為一條直線,你可以把這條邊上的所有節點所有自由度耦合在一起(這樣可以看成是剛性域了)。
有時節點間不見得是簡單的自由度相等的問題,比如說一個只有兩個自由度的板單元與一個有三個自由度的梁單元相連接,如下劃了一個簡圖:
|
|
1--o-- 2
|
|
|
|
-----
在連接點o處,如果沒有特別約束,這就是一個鉸接模型,如果加上這樣一個約束方程:
RotzO =(uy2-uy1)/length12
這樣就是一個剛性連接了,使用ce命令為:
ce,1,0,2,uy,1,1,uy,-1,o,rotz,-length12
44、ansys用*get獲得的節點應變是真應變,工程應變還是green應變? 真應力/應變,也稱為柯西應力應變,適用于小變形分析 工程應力/應變,也稱為名義應力應變,適用于大變形分析
45、mesh200單元如何使用?
答:通常通過定義實常數模擬其質量。
massx, massy, massz,為質點在xyz方向的質量分量。其他三個實常數為轉動慣量
Real Constants MASSX, MASSY, MASSZ, IXX, IYY, IZZ, if KEYOPT(3)= 0 MASS, if KEYOPT(3)= 2 MASS, IZZ, if KEYOPT(3)= 3 MASS, if KEYOPT(3)= 4(MASSX, MASSY, and MASSZ are concentrated mass components in the element coordinate directions.IXX, IYY, and IZZ are rotary inertias about the element coordinate axes.See also KEYOPT(2)).Material Properties DENS(if KEYOPT(1)= 1)
46、ANSYS誤差估計的問題
用ANSYS求解一個復雜二維模型的應力,其能量準則百分比誤差估計的結果和那些因素有關,個人認為網格劃分已經足夠密集,為什么誤差估計值高達63%?可能是什么地方出現了問題? 答:1)、能量百分比誤差是對所選擇的單元的位移、應力、溫度或熱流密度的粗略估計.它可以用于比較承受相似載荷的相似結構的相似模型.這個值的通常應該在10%以下.如果不選擇其他單元,而只選擇在節點上施加點載荷或應力集中處的單元,誤差值有時會達到50%或以上.2)、SEER和SEPC本質上都是對于網格分所引起的結構誤差的一個估計,不過SEPC從總體進行考慮,SEER用戶可以從圖形顯式上觀察,可以觀察SERR,在SEER過大的位置對網格進行局部細化
47、如何計算實體模型某個截面上的合力和彎矩
本來是回答其它朋友的問題,因為可能有普遍性,所以另發一帖,并增加了一個視頻: 大概步驟是: 求解結束后,到 Post1 下面。選擇一個截面上的所有節點,可以建一個 Component。3 選擇 Attached to 這些節點的所有單元 刪除位于這些節點一側的所有單元,只保留另一側的單元 點擊 Nodal Calcs-> Total Force Sum,在彈出的對話框中可以設置一些參數,然后 OK,則顯示這些節點組成的截面上的三個合力和三個彎矩,如下圖所示。
48、如何判別一個模型網格劃分的合理與否?
網格劃分不是越細越好這是大家知道的,但是如何判別一個網格劃分的合理與否呢,怎樣知道自己的網格已經足夠?有沒有什么判別網格合理性的標準呢?由其是在應力梯度變化比較大的區域,網格劃分的大小對計算結果影響很大,隨著網格的細分,計算規模也在不斷增大,所以有必要研究網格合理劃分的判別標準。例如,在計算一個有應力集中區域的模型時,如何對應力集中區域進行劃分就是一個問題,因為隨著網格的細分,計算所得的應力逐漸在變化,但是怎么樣劃分網格才能得到與真實值接近的解,是我們必需要接近的問題。現在有的文章里面介紹了網格半分的方法,和單元能量誤差的方法來判別單元劃分的合理與否。我覺得規律都不是很明顯,不知道大家有沒有遇到過這樣的問題,有沒有什么別的方法能判別一個網格劃分的合理性。答:1)、培訓時說加載計算之后,可以看看單元節點間的應力差,如果這個差值占到這個單元最大應力的10%以上的時候,證明這個單元的尺寸比較大,應該在這個單元所在區域進行細分 2)、一般要根據自己的經驗和力學常識,在計算前大致判斷哪些地方是可能的危險地方。然后先做一次計算,在可能的危險地方劃分相對密一些的網格,計算完后,應力集中處的位置分布大致就明確了。知道了危險區域的大致分布之后,再加密網格做計算,一直到網格的加密對計算結果的影響很小為止,這時可以認為網格的密度已經足夠了。如果網格不斷加密,最大應力值隨之不斷增加,這個時候,你得考慮你這個模型是不是建立的有問題,或者你所分析的對象是不是有非常不合理的導致應力非常集中幾何結構。總之,網格劃分合理與否,沒有什么明確的量化標準,要具體問題具體分析。
49、關于ansys做巖土材料分析的D-P模型的討論
ansys做巖土的分析是不是結果不準?聽別人說ansys不適合做巖土的分析。
答:其實不是準不準的問題,而是巖土材料的本構方程無法準確輸入,用你輸入的參數,ANSYS的計算是沒有問題的,但是這種計算是否反映了實際工程,就是另外一回事了!
50、請問檢查模型是否有縫隙怎么檢查?
答:可以做一次模態分析,選擇適當的點施加約束以保證沒有剛體模態(在沒有縫隙的情況下),然后看是否有零頻率,以及看一下前幾階的實際振型,把比例設置大一些。有縫隙的地方很容易看到的。
50、如何判斷某個節點是在面上還是在體內呢?
答:select一個面,再nsla,s,1(選擇all nodes attached to the surface);再nlist,看是不是有那個節點,有就是在這個 面上。
51、nsol命令不能夠畫應力隨時間變化曲線 答:用nsol定義再用plvar畫
52、給曲面施加梯度荷載的方法 asel,s,,45 sfgrad,pres,y,12,-10000 sfa,45,pres,0 這樣可以給面施加梯度壓力
53、在ANSYS中如何顯示點、線、面、體的編號? 答:PNUM,KP,1 /PNUM,LINE,0 /PNUM,AREA,0 /PNUM,VOLU,0 /PNUM,NODE,0 /PNUM,TABN,0 /PNUM,SVAL,0 /NUMBER,0!* /PNUM,ELEM,0 /REPLOT!* KPLOT
顯示關鍵點編號
54、如何在ANSYS 中顯示彎矩圖
答:好像在ansys中粱單元或殼單元才能輸出彎矩;
可以通過制定表格的方式輸出結點內力。
舉個例子:
esel,s,,1,126 etable,im,smisc,6!i結點的彎矩 etable,jm,smisc,12!j結點的彎矩 etable,ifx,smisc,1!i結點的軸力 etable,jfx,smisc,7!j結點的軸力 etable,ify,smisc,2!i結點的剪力 etable,jfy,smisc,8!j結點的剪力 plls,im,jm,-1!畫彎矩圖
假如是shell63,那么命令就是:
etable,mx,smisc,4 etable,my,smisc,5 pretab
還聽說一種辦法,但不知行不:
9.0及以上的版本,通用后處理里用個node calculate 第二項就列出了所有 節點 的剪力和彎矩。
55、ansys后處理的等值線上的字母如何改大啊? 答:!說明自體 /DEV,FONT,LEGEND,MENU /dev,font,1,Times*New*Roman,400,0,-19,0,0,,!圖上的字體/DEV,FONT,ENTITY,MENU /dev,font,2,Times*New*Roman,400,0,-19,0,0,,56、如何看到模型內部的應力分布情況 答:我想可以用2種方法:
(1)選擇內部的單元,這樣就只能顯示所選擇單元的計算結果。(2)使用工作平面作為切平面切割模型,得到所需截面的計算結果。
57、ANSYS中如何提取等效節點載荷?
答: 效節點力信息存儲在.emat文件里 讀這個文件就行了
58、關于提取最大節點力的問題 我算出的結果在圖形上顯示最大節點等效應力值是2901Mpa,發生在邊角處的一點;而用NSORT列出節點的應力,進行排序后得到的最大值卻是2205Mpa,再用GET得到的最大值也是2205Mpa,請問有沒有人知道這是什么原因啊???
答:圖形上顯示最大節點等效應力值通常不是節點的實際最大應力 你采用的nsort和get得出的才是正確的 這個問題同樣也會出現在靜力分析中
59、請問一下,如何改變圖象顯示模式? 答:執行以下命令流即可:
!*
/AUTO, 1
!相當于 fit image,即顯示全圖!* /PLOPTS,INFO,2!將文字顯示在右邊
!*
/GRAPHICS,FULL!對三維模型關閉 graphics,否則節點應力只是表面單元的平均,不是節點周圍全部單元的平均
!*
/COLOR,PBAK,OFF!關閉背景色,在存圖形時可采用反色方式,使背景成為白色!*
/DSCALE,1,1.0
!云圖顯示變形比例為1 /REPLOT
60、怎樣得到內力圖和彎矩圖
答:1)、在general postproc/element table/define table/add 選中最下面框的by seruence num ,旁邊的框填smisc,6,然后apply,同樣的方法寫
12,1,7,2,8 完了之后,在general postproc/plot results/contour plot/line element result 在下拉菜單中依次選取smis6和smis12.smis1和smis7.smis2和smis8就可以看到了 2)、ETABLE,IMOMENT,SMISC,6
!建立元素結果表,元素I點力矩 ETABLE,JMOMENT,SMISC,12!建立元素結果表,元素J點力矩 ETABLE,ISHEAR,SMISC,2
!建立元素結果表,元素I點剪力 ETABLE,JSHEAR,SMISC,8
!建立元素結果表,元素J點剪力
61、tbdata的用法
TBDATA, stloc, c1,c2,c3,c4,c5,c6 給當前數據表定義數據(配合tbtemp,及tb使用)
stloc: 所要輸入數據在數據表中的初始位置,缺省為上一次的位置加1 每重新發生一次tb或tbtemp命令上一次位置重設為1,(發生tb后第一次用空閑此項,則c1賦給第一個常數)c1,c2,c3,c4,c5,c6 應該是非線性材料的特性,我也不是很清楚。但是我在一個例子中看到是這樣定義的(針對混凝土而言):c1-張開剪切傳遞系數;C3-抗拉強度;C4-抗壓強度 TBDATA命令如何使用,得看你使用的是哪個材料屬性類型(例如:MKIN多線性隨動強化,BKIN雙線性隨動強化),然后根據那個材料屬性確定各個材料常數c1,c2,c3,c4,c5,c6 應該輸入哪些數值。
62、映射網格劃分方法
映射網格劃分一直是大家關心的問題,現把自己使用ansys的一些經驗及編程的真實體會奉獻給大家,希望能達到授之以漁的效果。
ansys執行映射網格劃分的條件是:對于面,必須是三角形或四邊形,對于體,必須是四面體、五面體或六面體,這是眾所周知的,但往往忽略了另一個條件:劃分數的匹配問題,對于四邊形而言必須滿足對邊劃分數相等的條件,對于三角形,在后面作專門介紹。其實ansys不僅可以對三角形和四邊形執行映射網格劃分,對任意多邊形原則上(劃分數匹配)都可以執行影射網格劃分,這些方法包括:面的切割、線的合并等,這些方法也可以用在體的映射網格劃分上。我今天要介紹的是另一種方法(可能在論壇上已經有類似的介紹,但我還沒有看到,如果有,就算重溫吧)也即amap命令(基于面的角點的映射網格劃分)的使用,它需要指定要劃分的面的編號,以及以任意順序指定該面上的任意4個角點(注意:任意四個角點是有前提的,即劃分數的匹配,為了不再羅嗦,以后不在重復強調這個問題)。看一個簡單的例子(如圖1,尺寸見坐標),這個圖形由3個面組成其中A2和A3滿足映射網格劃分的條件,A1看起來是個矩形但其實由5條邊組成,要實現A1的影射網格劃分,你可以用工作平面將其沿著L6切開,但這樣就會多出一條線,某些情況是不希望有多余元素生成的,比如把圖1看成是一塊樓板,線就是梁,如果切割后就多出了一條線,對以后定義梁造成不便。這個問題不能用lcomb命令將線2和線4合并(自己可以試一下),另一個方法就是用amap,1,4,7,8,6。理論上amap命令可以用于任何多邊形,但往往理論是實際是有差距的,還是剛才那個例子,如果你將線的劃分尺寸定義為1(lesize,all,1),則線10的劃分數為1,線2和線4各為1,然后你再用同樣的命令amap,1,4,7,8,6,看看有什么結果——劃分數不匹配,不能進行映射網格劃分。相關命令流如下:
/PREP7 k k,1 kgen,3,1,2,1,1 a,1,2,4,3 a,3,4,6,5 et,1,42 wprota,,90 wpoffs,,0.5 asbw,1,dele amap,2,3,4,5,6 aclear,all lesize,all,1 amap,2,3,4,5,6 以上命令流所建模型的編號跟圖1有些不同。從這個簡單的例子大家應該能夠體會到劃分數匹配的重要性了,實際工程中的圖形遠比這個復雜得多,要想完全滿足劃分數匹配的條件是很不容易的,甚至可以說幾乎不可能,除非全部分割成4邊或3邊形,但這樣會產生很多小面影響網格劃分的質量,這在建筑結構中是很常見的,我做過幾個實際工程,深有體會。因此amap命令的使用也有局限性,在實際工程中可以綜合使用多種方法以達到最優化。
二、映射網格劃分如何用程序實現
下面僅介紹平面四邊形(直邊)映射網格劃分實現的詳細過程,其他僅給出思路。
首先將某對邊線按劃分數N,比例因子R離散為N+1個點,如圖2。如果第1個點的x坐標為X1,第N+1個點的x坐標為XN+1,則第i個點的X坐標為: Xi=X1+(XN+1-X1)*(R^(i-1)-1)/(R^N-1)(R≠1)Xi=X1+(XN+1-X1)*(i-1)/N(R=1)
Y、Z坐標以此類推,這是遞增和遞減的情況,由中心向外遞增和遞減的情況可以自己推導。離散后的情況如圖3,并連接各離散點,得到N+1條線,然后根據這N+1條線的劃分數M及比例因子S在這個方向進行離散,結果如圖4。在離散的過程中順便給節點編上號并賦其坐標值,節點編號的原則一般為從左到右,從下往上遞增(編號方式與ansys不同)。然后給單元編號賦值(節點、材料等),也是按從左到右,從下往上編號遞增。如第5個單元的節點編號為7,8,11,10(一般按順時針或逆時針的順序賦節點編號),單元的節點編號是有規律的可以通過程序實現。這樣就完成了一個面的四節點映射網格劃分,然后再按同樣的步驟劃第2、3……個面,不過要進行節點重合的檢查。
對于三角形單元,可以先劃分成四邊形單元,然后按單元數循環,將每個四邊形單元劃分成兩個三角形單元。舉例如下:
For i=1:1:en Nn=elem.node{i};Elem.nodetri{2*i-1}=[Nn(1)Nn(2)Nn(3)];Elem.nodetri{2*i}=[Nn(3)Nn(4)Nn(1)];End 以上是MATLAB語言,進行以上操作以后就可以得到2en個三角形單元,單元的節點編號存放在Elem.nodetri中。
對于8節點等二次單元可以在四節點單元的基礎上,在各單元邊中分別產生一個節點,節點坐標即兩個節點坐標的平均值。
如果組成平面的邊有圓弧則按柱坐標離散,然后再轉換成直角坐標,但要考慮圓弧所在象限的問題。如果是其他曲線則須給出曲線方程……
如果是三角形,可以先將其分割成3個四邊形,然后按上訴方法離散。分割的方式與劃分數的設置有關(如圖5)。從圖5可以看出三角形映射網格劃分需要滿足的劃分數匹配條件:
(1)、有兩條邊的劃分數相等;
(2)、第三條邊的劃分數必須為偶數;
(3)、第三條邊的劃分數必須小于另外兩條邊的劃分數的2倍-2。
在ansys里還有其他條件,比如圖6的劃分數在ansys里是不能進行映射網格劃分的,但實際上它是可以的。
對于曲面的情況,其做法是先做等參變換將其變換為平面,然后對變換后的平面劃分網格,在變回原坐標系。體的情況類似,只是多了一次離散。
三、用MATLAB做有限元軟件開發
MATLAB是目前主流的數值計算軟件,有強大的矩陣運算、數值積分微分、解線性方程組的能力,這些正是有限元所必須的,因此用MATLAB做有限元軟件開發可以充分利用其資源,節省開發時間,但MATLAB有個缺點就是運算時間較慢,但會隨著計算機運算速度的提高而弱化這個缺點。63、怎么改變面的發向方向
答:可以試試anorm,areverse,enorm 修改 Area 的法向:
Main Menu>Preprocessor>Modeling>Move / Modify>Areas>Area Normals 或直接修改單元的法向:
Main Menu>Preprocessor>Modeling>Move / Modify>Elements>Shell Normals 64、關于載荷步的一點體會
首先,更正以下載荷步的定義:我認為載荷步是根據荷載時間歷程曲線劃分段數,每一個 載荷步代表載荷發生一次突變或漸變的過程。當然載荷步可繼續分成SUBSTEP。
其次,關于多步加載:多步加載載荷有兩種方式即替換式、疊加式。一般選前者方便,比如地震載荷的輸入。
關于替換式加載:在線性階段,我們感覺荷載步之間是獨立的,比如: /SOLU F,1,FY,100 SOLVE F,1,FY,100 SOLVE finish 兩次計算結果相同。這不假,應為后加載荷替換了前加載荷。若為: /SOLU F,1,FY,100 SOLVE F,1,FY,200 SOLVE finish 計算結果最后顯示第二次加載200的結果,好像第一步多余,其實不然。這其中隱含加載歷史。所以說載荷步之間不是獨立的,只是對線性體系沒有影響罷了。
再次,對于非線性階段,載荷步應和加載歷史對應。不然計算結果將有很大的影響。即荷載步之間是有影響的。
最后,我想校正以下許多關于多載荷步計算結果提法。以前面例子為例,對于替換加載第二載荷步的計算結果并非是在第一載荷步計算結果上疊加,而是由第一載荷步到第二載荷步加載歷史下的最終結果。若為多步加載,依次類推。
65、計算結果的評價:
當做完一次靜力分析查看結果時,Plot顯示的節點最大應力和List出來的節點最大應力有時不相同(和Plot顯示的節點最大應力相比通常偏小),有時相同,請問這是什么原因?應該以那個節點應力結果為準? 答:這種情況一般出現在使用 Solid 單元時,顯示節點應力時要注意一下 PowerGraph 選項是否打開,如果打開改選項(默認),顯示的是表面單元的平均值,比較偏大;如果關閉該選項,顯示的是所有單元的平均值,會小一些,此時的結果與 List(所有單元的平均值)的結果是一致的。應該說關閉 PowerGraph 的結果是比較準確的。
66、ansys后處理可否畫自定義變量的云圖
得到了接觸面的應力和剪應力,需要得出兩者相除后變量的云圖,不知可否? 答:在element table里面可以對任何已知變量進行運算得出新的變量,并畫出云圖。
67、兩種PowerGraphis結果顯示模式對結果的影響
ANSYS中圖形顯示方式有兩種:PowerGraphics和Full Graphics。在用實體單元和殼單元時候,可能會產生不同的圖形顯示方式導致不同的結果,網上找點英文資料翻譯整理如下: 增強圖形(PowerGraphics)的優點: 1.顯示速度快; 2.可顯示二次曲面;
3.在不連續處(材料、幾何、實常數等)不進行結果平均處理; 4.可以同時顯示Shell單元的頂面和底面應力。全圖形(FullGraphics)的優點:
1.顯示參數少,這意味著有在用戶間有更好的可移植性; 2.顯示結果總是和打印結果一致;
3.結果總是和得到的結果文件一致(沒子網格數據插入)。
一般來講,增強圖形(PowerGraphics)會比全圖形產生較大(或較保守)的值: 1.表面總會產生較大的應力,增強圖形沒有對表面以下的單元結果進行平均;
2.在不連續處不進行平均處理,會得到較為真實的圖形顯示(因為實際上在不連續處的應力和應變是存在差異的)。
對于承載能力計算來說,選擇哪種圖形顯示模式,也可能要依據哪種結果被用來和試驗數據進行對比。如果在連續區域,增強圖形和全圖形或者未平均的節點結果之間存在較大差異,這可能意味著此處的網格劃分不夠精細。得到的結果可能是錯誤的。
67、讓ANSYS程序在命令執行到某一行的時候停止 答:/eof 68、怎么在計算結果實體云圖中切面? 答:命令流 /cplane /type
圖形界面操作
1.設置工作面為切面
2.PlotCtrls-->Style-->Hidden line Options
將[/TYPE]選項選為section
將[/CPLANE]選項選為working plane 然后OK就可以了。
69、log文件整理心得:
1.要注意時間,因為每次做的東西都會跟在log文件后面,所以要根據時間取舍,不是所有的log文件中的內容就有用的,一開始我建議從新建一個文件開始。
2.最好每做一步看一下log文件,可以知道自己的操作對應哪些命令 3.有些關于存盤、顯示視角等命令可以刪除。4.選取實體時往往會產生很多命令,可以簡化。
5.整理命令流時要新建立一個文本文件,以便從log文件中拷貝所需要的。6.File菜單中的Read input from可以讀入自己所建立的命令流來執行。7.可以增加注釋語句以增強可讀性
下面以一簡單模型為例大致說明一下:
/BATCH
/COM,ANSYS RELEASE 5.7.1 UP20010418
15:42:42 09/12/2003 /input,menust,tmp ,'',,,,,,,,1 /GRA,POWER /GST,ON /PLO,INFO,3 /COL,PBAK,ON,1,BLUE 這一段基本上沒有用,是開始的設置,每個分析都是差不多這樣,因此可以刪除。
/PREP7
進入前處理器。在這一句前面可以加上fini /clear,這樣可以把模型原來的內容清空。
!*
ET,1,PLANE42!* 定義單元
MPTEMP,,,, MPTEMP,1,0
MPDATA,EX,1,2e11 MPDATA,PRXY,1,0.33 MPTEMP,,,, MPTEMP,1,0
MPDATA,DENS,1,2700 定義材料類型
K,1,0,0, K,2,50,0, K,3,50,10, K,4,10,10, K,5,10,50, K,6,0,50, 建立關鍵點
FLST,2,6,3 FITEM,2,1 FITEM,2,2 FITEM,2,3 FITEM,2,4 FITEM,2,5 FITEM,2,6 A,P51X
將幾個關鍵點連接成面
這里,關鍵點是通過鼠標選取而得到,因此命令較多,其實這一段可以改為,A,1,2,3,4,5,6,具體如何改寫可以參考FLST,FITEM命令的幫助
ESIZE,1,0, 設置單元大小
CM,_Y,AREA ASEL, , , , 1 CM,_Y1,AREA CHKMSH,'AREA' CMSEL,S,_Y!*
AMESH,_Y1 EPLOT
這一段的含義是對所選擇的面1進行網格劃分,可以改寫成AMESH,1。
FINISH
退出前處理器 /SOLU 進入求解器
FLST,2,1,4,ORDE,1 FITEM,2,5!* /GO DL,P51X, ,ALL,給選擇的線加位移約束。可以改寫成:DL,5,ALL
FLST,2,2,4,ORDE,2 FITEM,2,2 FITEM,2,-3 /GO!*
SFL,P51X,PRES,1000, 給選擇的線加壓力
可以改寫成SFL,3,PRES,1000 SFL,2,PRES,1000
SOLVE 求解 FINISH 退出求解器
/POST1 進入后處理器 SET,FIRST 讀出第一個解集 PLNSOL,U,SUM,0,1 畫出節點位移解。
因此整理后的命令流文件如下: fini /clear /PREP7
!定義單元 ET,1,PLANE42
!定義材料
MPTEMP,,,, MPTEMP,1,0
MPDATA,EX,1,2e11 MPDATA,PRXY,1,0.33 MPTEMP,,,, MPTEMP,1,0
MPDATA,DENS,1,2700
!建立模型 K,1,0,0, K,2,50,0, K,3,50,10, K,4,10,10, K,5,10,50, K,6,0,50, A,1,2,3,4,5,6,!劃分網格 ESIZE,1,0, AMESH,1
FINISH /SOLU
!添加約束 DL,5,ALL SFL,3,PRES,1000 SFL,2,PRES,1000
SOLVE FINISH
/POST1 SET,FIRST
PLNSOL,U,SUM,0,1
70.典型靜力分析的基本過程可以用以下命令流表示: /FILNAM,...!指定工作文件名 /TITLE,...!指定分析標題 /PREP7
!進入前處理器 ET,...!定義單元類型 R,...!定義實常數
MP,EX,...!定義楊氏彈性模量 MP,PRXY,...!定義泊松比!構建有限元模型...FINISH /SOLU!進入求解器!施加位移約束 D,......!施加荷載 F,......SOLVE!求解
FINISH /POST
!進入通用后處理器
PLDISP,1!畫出結構的變形圖并與原結構比較!制作結構的變形動畫 ANDSCL,10,0.5 AVPRIN,0,0
71、在Ansys中繪制二維曲線
ansys提供了一個很好的繪制二維曲線的命令,可以在命令輸入欄中輸入如下命令,則可得到一條線
~eui,'::euidl::ansgraph::xyplot {1 2 3 4 5} {12 34 45 465 2} x y'
~eui后面單引號中實際上是一條tcl命令。前兩個參數是兩個list,分別是x、y軸的坐標值,后兩個參數是x、y兩個坐標軸的標簽。
下面給一個繪制正弦曲線的例子,把下面的文本拷貝到一個文本文件中,比如test.txt文件里
set liX [list] set liY [list] set pi 3.1415926
for {set i 0} {$i < 100} {incr i} {
set x [expr {$i*2*$pi/100}]
lappend liX $x
lappend liY [expr sin($x)] } ::euidl::ansgraph::xyplot $liX $liY “x” “sin(x)”
然后把這個文件放到ansys的工作目錄下,在命令欄中輸入 ~eui,'source test.txt' 即可顯示一條正弦曲線
這條命令內部實際上使用了apdl的*vplot命令,但使用xyplot有時會更方便
72、ANSYS坐標系總結
ANSYS坐標系總結
工作平面(Working Plane)
工作平面是創建幾何模型的參考(X,Y)平面,在前處理器中用來建模(幾何和網格)
總體坐標系
在每開始進行一個新的ANSYS分析時,已經有三個坐標系預先定義了。它們位于模型的總體原
點。三種類型為: CS,0: 總體笛卡爾坐標系 CS,1: 總體柱坐標系 CS,2: 總體球坐標系 數據庫中節點坐標總是以總體笛卡爾坐標系,無論節點是在什么坐標系中創建的。
局部坐標系
局部坐標系是用戶定義的坐標系。局部坐標系可以通過菜單路徑Workplane>Local CS>Create LC
來創建。
激活的坐標系是分析中特定時間的參考系。缺省為總體笛卡爾坐標系。當創建了一個新的坐標系時,新坐標系變為激活坐標系。這表明后面的激活坐標系的命令。菜單中激活坐標系的路徑
Workplane>Change active CS to>。
節點坐標系
每一個節點都有一個附著的坐標系。節點坐標系缺省總是笛卡爾坐標系并與總體笛卡爾坐標系平行。節點力和節點邊界條件(約束)指的是節點坐標系的方向。時間歷程后處理器 /POST26 中的結果數據是在節點坐標系下表達的。而通用后處理器/POST1中的結果是按結果坐標系進行表
達的。
例如: 模型中任意位置的一個圓,要施加徑向約束。首先需要在圓的中心創建一個柱坐標系并分配一個坐標系號碼(例如CS,11)。這個局部坐標系現在成為激活的坐標系。然后選擇圓上的所有節點。通過使用 “rep7>Move/Modify>Rotate Nodal CS to active CS”, 選擇節點的節點坐標系的朝向將沿著激活坐標系的方向。未選擇節點保持不變。節點坐標系的顯示通過菜單路徑Pltctrls>Symbols>Nodal CS。這些節點坐標系的X方向現在沿徑向。約束這些選擇節點的X方向,就是施加的徑向約束。
注意:節點坐標系總是笛卡爾坐標系。可以將節點坐標系旋轉到一個局部柱坐標下。這種情況下,節點坐標系的X方向指向徑向,Y方向是周向(theta)。可是當施加theta方向非零位移時,ANSYS總是定義它為一個笛卡爾Y位移而不是一個轉動(Y位移不是theta位移)。
單元坐標系
單元坐標系確定材料屬性的方向(例如,復合材料的鋪層方向)。對后處理也是很有用的,諸如提取梁和殼單元的膜力。單元坐標系的朝向在單元類型的描述中可以找到。
結果坐標系
/Post1通用后處理器中(位移, 應力,支座反力)在結果坐標系中報告,缺省平行于總體笛卡爾坐標系。這意味著缺省情況位移,應力和支座反力按照總體笛卡爾在坐標系表達。無論節點和單元坐標系如何設定。要恢復徑向和環向應力,結果坐標系必須旋轉到適當的坐標系下。這可以通過菜單路徑Post1>Options for output實現。/POST26時間歷程后處理器中的結果總是以節點
坐標系表達。
顯示坐標系
顯示坐標系對列表圓柱和球節點坐標非常有用(例如, 徑向,周向坐標)。建議不要激活這個坐標系進行顯示。屏幕上的坐標系是笛卡爾坐標系。顯示坐標系為柱坐標系,圓弧將顯示為直線。這可能引起混亂。因此在以非笛卡爾坐標系列表節點坐標之后將顯示坐標系恢復到總體笛卡爾坐標
系。
第五篇:STM32 PWM輸出總結
學習后發現stm32的定時器功能確實很強大,小總結一下方便以后使用的時候做參考。Stm32定時器一共分為三種:tim1和tim8是高級定時器,6和7是基本定時器,2—5是通用定時器。從名字就可以看得出來主要功能上的差異。今天我主要是用定時器做pwm輸出,所以總結也主要是針對pwm方面的。
先大致說下通用和高級定時器的區別。通用的可以輸出四路pwm信號互不影響。高級定時器可以輸出三對互補pwm信號外加ch4通道,也就是一共七路。
所以這樣算下來stm32一共可以生成4*5+7*2=30路pwm信號。接下來還有功能上的區別:通用定時器的pwm信號比較簡單,就是普通的調節占空比調節頻率(別的不常用到的沒去深究);高級定時器的還帶有互補輸出功能,同時互補信號可以插入死區,也可以使能剎車功能,從這些看來高級定時器的pwm天生就是用來控制電機的。
Pwm輸出最基本的調節就是頻率和占空比。頻率當然又和時鐘信號扯上了關系。高級定時器是掛接到APB2上,而通用定時器是掛接到APB1上的。APB1和APB2的區別就要在于時鐘頻率不同。APB2最高頻率允許72MH,而APB1最高頻率為36MHZ。這樣是不是通用定時器只最高36MHZ頻率呢,不是的;通用定時器時鐘信號完整的路線應該是下面這樣的: AHB(72mhz)→APB1分頻器(默認2)→APB1時鐘信號(36mhz)→倍頻器(*2倍)→通用定時器時鐘信號(72mhz)。
在APB1和定時器中間的倍頻器起到了巨大的作用,假如紅色字體的“APB1分頻器”假如不為1(默認是2),倍頻器會自動將APB1時鐘頻率擴大2倍后作為定時器信號源,這個它內部自動控制的不用配置。設置這個倍頻器的目的很簡單就是在APB1是36mhz的情況下通用定時器的頻率同樣能達到72mhz。我用的庫函數直接調用函數SystemInit();這個函數之后時鐘配置好了:通用定時器和高級定時器的時鐘現在都是72mhz(你也可以自己再配置一下RCC讓他的頻率更低,但是不能再高了)。定時器接下來還有一個分頻寄存器:TIMX_PSC經過他的分頻后,才是定時器計數的頻率。所以真正的時鐘頻率應該是72mhz/(TIMX_PSC-1),我們設為tim_frepuency下面還會用到。
stm32的時鐘頻率弄得確實是很饒人的,所以關鍵就是先要把思路理清楚。時鐘的頻率弄好了下面終于可以開說重點PWM了。當然還少不了頻率:pwm主要就是控制頻率和占空比的:這兩個因素分別通過兩個寄存器控制:TIMX_ARR和TIMX_CCRX。ARR寄存器就是自動重裝寄存器,也就是計數器記到這個數以后清零再開始計,這樣pwm的頻率就是tim_frequency/(TIMX_ARR-1)。在計數時會不停的和CCRX寄存器中的數據進行比較,如果小于的話是高電平或者低電平,計數值大于CCRX值的話電平極性反相。所以這也就控制了占空比。
下面是定時器1的配置代碼:
GPIO_InitTypeDef GPIO_InitStructure2;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
TIM_BDTRInitTypeDef TIM_BDTRInitStructure;
//第一步:配置時鐘
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|
RCC_APB2Periph_GPIOB|RCC_APB2Periph_TIM1,ENABLE);
//第二步,配置goio口
/********TIM1_CH1 引腳配置*********/
GPIO_InitStructure2.GPIO_Pin=GPIO_Pin_8;
GPIO_InitStructure2.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure2.GPIO_Mode=GPIO_Mode_AF_PP;
//設置為復用浮空輸出
GPIO_Init(GPIOA,&GPIO_InitStructure2);
/*********TIM1_CH1N 引腳配置********/
GPIO_InitStructure2.GPIO_Pin=GPIO_Pin_13;
GPIO_InitStructure2.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure2.GPIO_Mode=GPIO_Mode_AF_PP;
//設置為復用浮空輸出
GPIO_Init(GPIOB,&GPIO_InitStructure2);
//第三步,定時器基本配置
TIM_TimeBaseStructure.TIM_Period=1000-1;
// 自動重裝載寄存器的值
TIM_TimeBaseStructure.TIM_Prescaler=72-1;
// 時鐘預分頻數
TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;// 采樣分頻
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;//向上計數
TIM_TimeBaseStructure.TIM_RepetitionCounter=0;//重復寄存器,用于自動更新pwm占空比
TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);
//第四步pwm輸出配置
TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM2;
//設置為pwm1輸出模式
TIM_OCInitStructure.TIM_Pulse=500;
//設置占空比時間
TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_Low;
//設置輸出極性
TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;
//使能該通道輸出
//下面幾個參數是高級定時器才會用到,通用定時器不用配置
TIM_OCInitStructure.TIM_OCNPolarity=TIM_OCNPolarity_High;
//設置互補端輸出極性
TIM_OCInitStructure.TIM_OutputNState=TIM_OutputNState_Enable;//使能互補端輸出
TIM_OCInitStructure.TIM_OCIdleState=TIM_OCIdleState_Reset;
//死區后輸出狀態
TIM_OCInitStructure.TIM_OCNIdleState=TIM_OCNIdleState_Reset;//死區后互補端輸出狀態
TIM_OC1Init(TIM1,&TIM_OCInitStructure);
//按照指定參數初始化
//第五步,死區和剎車功能配置,高級定時器才有的,通用定時器不用配置
TIM_BDTRInitStructure.TIM_OSSRState = TIM_OSSRState_Disable;//運行模式下輸出選擇
TIM_BDTRInitStructure.TIM_OSSIState = TIM_OSSIState_Disable;//空閑模式下輸出選擇
TIM_BDTRInitStructure.TIM_LOCKLevel = TIM_LOCKLevel_OFF;
//鎖定設置
TIM_BDTRInitStructure.TIM_DeadTime = 0x90;
//死區時間設置
TIM_BDTRInitStructure.TIM_Break = TIM_Break_Disable;
//剎車功能使能
TIM_BDTRInitStructure.TIM_BreakPolarity = TIM_BreakPolarity_High;//剎車輸入極性
TIM_BDTRInitStructure.TIM_AutomaticOutput = TIM_AutomaticOutput_Enable;//自動輸出使能
TIM_BDTRConfig(TIM1,&TIM_BDTRInitStructure);
//第六步,使能端的打開
TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Enable);//使能TIMx在CCR1上的預裝載寄存器
TIM_ARRPreloadConfig(TIM1, ENABLE);
//使能TIMx在ARR上的預裝載寄存器
TIM_Cmd(TIM1,ENABLE);
//打開TIM2
//下面這句是高級定時器才有的,輸出pwm必須打開
TIM_CtrlPWMOutputs(TIM1, ENABLE);
//pwm輸出使能,一定要記得打開
TIM_OC1PreloadConfig(),TIM_ARRPreloadConfig();這兩個函數控制的是ccr1和arr的預裝在使能,使能和失能的區別就是:使能的時候這兩個局存期的讀寫需要等待有更新事件發生時才能被改變(比如計數溢出就是更新時間)。失能的時候可以直接進行讀寫而沒有延遲。另外在運行當中想要改變pwm的頻率和占空比調用:TIM_SetAutoreload()TIM_SetCompare1()這兩個函數就可以了。