第7章 ANSYS知識資料命令解題與後處理_第1頁
第7章 ANSYS知識資料命令解題與後處理_第2頁
第7章 ANSYS知識資料命令解題與後處理_第3頁
第7章 ANSYS知識資料命令解題與後處理_第4頁
第7章 ANSYS知識資料命令解題與後處理_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

朽木易折,金石可鏤。千里之行,始于足下。第頁/共頁第7章ANSYS命令:解題與後處理SolutionandPostprocessing本章介紹solution模組(/SOLU)及兩個postprocessing模組(/POST1及/POST26)中所使用到的命令。在solution模組中,我們把命令分成三類(Figure5-2):指定loads、指定solutionoptions,及執(zhí)行solve的命令。本章第1節(jié)介紹前一類,後兩類則在第2節(jié)介紹。第3節(jié)介紹generalpostprocessing(/POST1)的命令。第4節(jié)則介紹time-historypostprocessing(/POST26)的命令。最後,第5節(jié)以一個綜合性的練習(xí)題作為本章的結(jié)束。朽木易折,金石可鏤。千里之行,始于足下。第頁/共頁第7.1節(jié)負(fù)載Loads前面提過[Sec.5.1.2]loads可以指定在analysismodel(即nodes、elements)上,或指定loads在solidmodel(即keypoints、lines、areas、volumes)上。除此之外,針對動態(tài)的問題,必須指定initialconditions,亦即初始時間的邊界條件。這一節(jié)分別介紹loadsonanalysismodel[Sec.7.1.1]、loadsonsolidmodel[Sec.7.1.2]、及initialconditions[Sec.7.1.3]的命令。Loads雖然可以指定在solidmodel上,但是「解題」的對象是analysismodel,所以那些指定在solidmodel上的loads終究必須「移轉(zhuǎn)」(transfer)到analysismodel上。這種移轉(zhuǎn)的工作可以讓ANSYS自動去完成:ANSYS會在解題前先做負(fù)載移轉(zhuǎn)的工作?;蛘吣阋部梢栽诮忸}之前利用諸如SBCTRAN[Sec.7.1.2]的命令去移轉(zhuǎn)這些負(fù)載,因為有時侯你希翼在解題之前自己檢視一下analysismodel上的loads是否正確。7.1.1LoadsonAnalysisModel0102030405060708091011121314151617D,NODE,Lab,VALUEDSYM,Lab,Normal,KCNDCUM,OperF,NODE,Lab,VALUEFCUM,OperSF,Nlist,Lab,VALUESFE,ELEM,LKEY,Lab,KVAL,VAL1

SFBEAM,ELEM,LKEY,Lab,VALI,VALJSFCUM,Lab,OperBF,NODE,Lab,VAL1BFE,ELEM,Lab,,VAL1BFUNIF,Lab,VALUETUNIF,TEMPTREF,TREFBFCUM,Lab,OperACEL,ACELX,ACELY,ACELZOMEGA,OMEGX,OMEGY,OMEGZ,KSPINDOFConstraints以上這些命令是用來指定loads在nodes或elements上。第1、2、3行是指定degreesoffreedom的量,譬如指定某一節(jié)點上x、y、z的displacements是多少,亦即已知解答;最常使用的是指定某些節(jié)點上的變位為0,亦即固定著這些節(jié)點。D命令(第1行)是指定某些節(jié)點(NODE)上的某些自由度(Lab)的值。Lab用來決定哪一個自由度,對結(jié)構(gòu)來講可能是變位(UX、UY、UZ、ROTX、ROTY、ROTZ)等;對熱分析來講則是溫度(TEMP)等。自由度的值則利用第3個參數(shù)(VALUE)輸入;對結(jié)構(gòu)來講常常是0,代表被固定(或被限制住)的自由度,若不是0時則表示一個已知的變位負(fù)載;對熱分析來講,則常是一個固定的溫度。DSYM命令(第2行)是在指定一個對稱或反對稱的條件。所謂對稱(symmetric)是指結(jié)構(gòu)的幾何形狀及負(fù)載都是對稱的(因此它的反應(yīng)也是對稱的),而所謂反對稱(antisymmetric)是指結(jié)構(gòu)的幾何形狀是對稱的而負(fù)載是反對稱的(因此它的反應(yīng)也是反對稱的)。無論是對稱或是反對稱,analysismodel只要描述一半就可以了,但是你必須在對稱面(或反對稱面)上標(biāo)註對稱條件(或反對稱條件)。對稱或反對稱條件是我們必須善加應(yīng)用的,因為除了可以節(jié)省modeling的人力外,輸出資料也當(dāng)然跟著減少,而最大的好處是解題的時間會大量減少。注重,一個結(jié)構(gòu)系統(tǒng)有時不只一個對稱面(或反對稱面)。使用DSYM命令之前,你先選取對稱面(或反對稱面)上的nodes,然後再使用DSYM命令。DSYM命令中的Lab可以選擇SYMM(對稱)或是ASYM(反對稱);Normal是垂直於這個對稱面(或反對稱面)的方向(X、Y、或Z),座標(biāo)系統(tǒng)則是由KCN決定的。譬如KCN輸入1時(圓柱座標(biāo)),對稱方向是Y時,表示是沿著方向?qū)ΨQ的。有關(guān)對稱與反對稱的更進一步的說明,請參閱Ref.5,DSYM。DCUM命令(第3行)的意義與FCUM命令(第5行)是平行的,我們留待後面一起解說。擴散載重第4、5行是關(guān)於作用一個擴散載重在一個node上。F命令(第4行),讀成force,是指定一個擴散載重,作用在某些節(jié)點上(NODE)的某些方向(Lab可以選擇FX、FY、FZ、MX、MY、MZ等),力的大小是VALUE(SI單位是N或N-m)。對熱分析的問題而言,所謂「擴散載重」是指通過一節(jié)點的heatflow,單位是每單位時間所流過的能量(SI單位是W或J/s)。FCUM命令(第5行),讀成forcecumulation,是指輸入的force是否與現(xiàn)有的值相加或取而代之。譬如使用F命令作用了100N後,當(dāng)再使用一次F命令作用200N時,後者是累加上去的(共是300N)或是取代前者(變成200N)。前面所提到的DCUM命令(第3行)也是相似的用途。分布載重第6、7、8、9行是有關(guān)分布載重有關(guān)的命令。SF命令(第6行)讀成surfaceforce,對結(jié)構(gòu)分析而言它是一個均佈的壓力(SI單位是Pa或N/m2)。你先選取受壓表面上的nodes後,再使用SF命令;參數(shù)Nlist唯一的選擇是ALL(表示所有nodes所構(gòu)成的surface);對結(jié)構(gòu)問題而言,參數(shù)Lab唯一的選擇是PRES;VALUE則輸入均佈壓力的數(shù)值。對熱分析而言,surfaceforce是指通過surface的convection、radiation、或heatflux(SI單位是W/m2)。SFE命令(第7行),讀成surfaceforceonelements,是指定surfaceforce在elements的表面上,至於是哪一個表面(一個element有好幾個表面)則是由LKEY來決定。譬如SFE命令使用在beam(譬如BEAM3)或shell(譬如SHELL63)時,你必須指定壓力是作用在上表面(能力向下)還是下表面(能力向上)。對熱分析而言,有些「surfaceforce」必須輸入兩個值,譬如convection條件需要filmcoefficient(又稱為coefficientofheattransfer或convectioncoefficient)及遠(yuǎn)方的溫度(bulktemperature),在SFE命令中你只能輸入一個值,二者擇一,KVAL就是在決定要輸入哪一個,所以你需要使用兩次的SFE命令;倘若使用SF命令時,可以利用VALUE後面的參數(shù)VALUE2輸入遠(yuǎn)方的溫度。SFBEAM命令(第8行),讀成surfaceforceonbeam,是專為beam元素(譬如BEAM3)量身定做的命令,類似於SFE命令,但是參數(shù)VALI、VALJ是指樑元素上兩端的壓力,容許樑上的壓力成線性分布。SFCUM命令(第9行)則和FCUM(第5行)類似。BodyForces第10至17行是與bodyforces有關(guān)的命令。Bodyforce是指分佈在body內(nèi)部的負(fù)載,對結(jié)構(gòu)而言,包括inertiaforce、temperatureloads等。第10至15行命令是用來指定temperatureloads,而第16、17行命令是用來指定inertiaforce的。BF命令(第10行)讀成bodyforce,是指定某些nodes所涵蓋的範(fàn)圍的溫度被提高到某一數(shù)值(VAL1)。注重,TREF命令(第14行)是在指定無應(yīng)力狀態(tài)下的溫度(stressfreetemperature,或稱為參考溫度,內(nèi)定值是0度),所以真正的溫度變化(temperaturechanges)是最後溫度減去這個參考溫度。闢如25度時是stressfree的溫度(TREF,25),結(jié)構(gòu)的溫度被提昇至200度(BF,ALL,TEMP,100),則溫度變化是175度。BFE命令(第11行),讀成bodyforceonelements,是指定在某些elements所涵蓋的範(fàn)圍的溫度被提高到某一數(shù)值。BFUNIF命令(第12行)讀成uniformbodyforce,是指定整體結(jié)構(gòu)的溫度被均勻地提高到某一數(shù)值。TUNIF命令(第13行)讀成uniformtemperature,對結(jié)構(gòu)分析而言,其功能和BFUNIF徹低一樣,是指定整體結(jié)構(gòu)的溫度被均勻地提高到某一數(shù)值。BFCUM命令(第15行)則類似於SFCUM、FCUM等。第16、17行的命令是在指定inertiaforce,其中ACEL是指定直線accelerations。假想Y代表向上的方向,結(jié)構(gòu)承受一倍向下的重力時,相當(dāng)於此結(jié)構(gòu)往上面以一倍的重力加速度運動,亦即輸入ACEL,0,9.81,0其中9.81m/s2是重力加速度。OMEGA(第17行)是在輸入旋轉(zhuǎn)的角速度,ANSYS會自動計算所產(chǎn)生的離心力。此外,有幾點必須加以說明。首先,其參數(shù)OMEGX、OMEGY、OMEGZ分別是對著GlobalCS的X、Y、Z軸旋轉(zhuǎn)的角速度(angularvelocities,SI單位是rad/s[Ref.5,OMEGA])。第二點是有關(guān)KSPIN這個參數(shù)的意義。結(jié)構(gòu)體在旋轉(zhuǎn)時(譬如旋轉(zhuǎn)中的葉片)有一種效應(yīng),叫做spinsoftening:即當(dāng)結(jié)構(gòu)體在轉(zhuǎn)動時,其剛度(stiffness),會有減少的現(xiàn)象[Ref.7,Sec.3.4.SpinSoftening],KSPIN這個參數(shù)是讓你決定要不要考慮此效應(yīng)。當(dāng)結(jié)構(gòu)體在旋轉(zhuǎn)時,與spinsoftening共同存在的另一個效應(yīng)是stressstiffening[Ref.7,Sec.3.3.StressStiffening]:因為離心力而產(chǎn)生的張應(yīng)力會使結(jié)構(gòu)的側(cè)向剛度(垂直於張應(yīng)力方向的剛度)增強。Figure7-1說明了此兩個現(xiàn)象(本圖片取材自Ref.7,Sec.3.4.SpinSoftening):stressstiffening使得結(jié)構(gòu)的天然頻率增強(亦即剛度增強),spinsoftening使得結(jié)構(gòu)的天然頻率減少(亦即剛度減少),而兩種效應(yīng)同時考慮時,通常前者會稍大於後者。Figure7-1StressStiffeningandSpinSoftening[Ref.7]Stressstiffening的現(xiàn)象也存在任何受張力的材料上,譬如承受張力的吉他鋼弦,其側(cè)向剛度隨著張力的增強而增強(聲音越高)。相反的,材料承受壓力時,其側(cè)向剛度會有降低的現(xiàn)象;隨著壓力越大,側(cè)向剛度有可能降至零,這時的結(jié)構(gòu)處於「不穩(wěn)定」的狀態(tài):一點點的側(cè)向力就偶可能造成「挫曲」的現(xiàn)象[Sec.4.2.1]。使用ACEL或OMEGA命令時,材料性質(zhì)必須輸入質(zhì)量密度(massdensity,DENS,SI單位kg/m3),這個質(zhì)量密度是被用來計算分佈於body的慣性力的。7.1.2LoadsonSolidModel010203040506070809101112DK,KPOI,Lab,VALUE,,KEXPND

DL,LINE,AREA,Lab,Value1DA,AREA,Lab,Value1DTRANFK,KPOI,Lab,VALUEFTRANSFL,LINE,Lab,VALI,VALJSFA,AREA,LKEY,Lab,VALUESFTRANBFK,KPOI,Lab,VAL1BFTRANSBCTRAN以上這些命令是用來指定loads在keypoints、lines、areas、或volumes上。了解Sec.7.1.1的命令後,這一小節(jié)的命令應(yīng)該沒有什麼困難了。再一次提醒你:指定在solidmodel上的loads終究必須transfer到analysismodel上,這種transfer的工作可以讓ANSYS在解提前自動去完成,也可以使用DTRAN(第4行)、FTRAN(第6行)、SFTRAN(第9行)、或BFTRAN(第11行)、或SBCTRAN(第12行)這些命令去完成。DOFConstraints第1至4行是關(guān)於degreesoffreedom的命令。DK命令(第1行)是指定在keypoints上的DOF值;最後一個參數(shù)KEXPND,是用來選擇是否要在鄰近的keypoints間的nodes做同樣條件的expansion。我們舉下列例子來說明:101102103104105106107108109110111112RECTNG,-5,5,-5,5PCIRC,2ASBA,1,2CSYS,1ESIZE,1ET,1,PLANE42AMESH,ALLKSEL,,LOC,X,2DK,ALL,ALL,0,,1DTRAN/PBC,U,,1EPLOT第101至107行是產(chǎn)生一個10x10的平面,中間有一個半徑2的圓洞,並進行網(wǎng)格切割,元素大小大約是1;注重,沿著圓周約有12個nodes。假設(shè)此模型沿著圓周被固定著,我們可以使用Sec.7.1.1的第1個命令(D),但是在此我們決定練習(xí)一下DK命令。第108行選擇圓周上的keypoints(注重,圓周上惟獨4個keypoints),第109行固定著這些keypoints並指定KEXPND參數(shù)為1,表示指定在這些keypoints間的nodes都有一樣的DOFconstraints。經(jīng)DTRAN(第110行)後,將分析模型畫出,你可以看到圓周上的所有nodes都被固定了,如圖7-2所示。請你將第109行的最後一個參數(shù)改為0,並看比較不同之處。Figure7-2ExpansionofDOFConstraintsDL命令(第2行)是指定lines上的DOF值。DL也可以用來指定對稱或反對稱條件,此時參數(shù)Lab必須輸入SYMM或ASYM。對2D的問題而言參數(shù)LINE是指對稱線,但是對一個3D的問題而言必須指定一個對稱面,參數(shù)AREA是用來殘破描述此對稱面的,細(xì)節(jié)請參考Ref.5,DL。DA命令(第3行)是指定在areas上的DOF值。DTRAN命令(第4行)是將指定在solidmodel的DOF值移轉(zhuǎn)到analysismodel上,亦即transfer到nodes上。擴散載重第5、6行是有關(guān)擴散載重的命令。FK命令(第5行)是指定一個擴散載重在keypoint上面。FTRAN命令(第6行)則是將solidmodel上的擴散載重移轉(zhuǎn)到nodes上。分布載重第7、8、9行是有關(guān)surfaceforce的命令。SFL命令(第7行)是指定surfaceforce在lines上面。與SF命令[Sec.7.1.1]類似:對結(jié)構(gòu)而言surfaceforce是指壓力(PRES);對熱分析而言,surfaceforce可以是convection、radiation、heatflux等。SFA命令(第8行)是指定surfaceforce作用在areas上,其中的參數(shù)LKEY是在決定壓力作用的面。SFTRAN命令(第9行)與DTRAN及FTRAN相似。BodyForces第10、11行是有關(guān)指定bodyforce的命令。BFK命令(第10行)是指定bodyforce(temperaturechanges)在keypoints所涵蓋的範(fàn)圍上。BFTRAN命令(第11行)與DTRAN、FTRAN、BFTRAN相似。最後一個命令SBCTRAN(第12行)是將指定在solidmodel的所有負(fù)載移轉(zhuǎn)到analysismodel上,亦即:SBCTRAN=DTRAN+FTRAN+SFTRAN+BFTRAN7.1.3InitialConditions0102IC,NODE,Lab,VALUE,VALUE2ICLIST,NODE1,NODE2,NINC,Lab進行結(jié)構(gòu)動態(tài)分析時,除了負(fù)載外,你必須輸入initialconditions:亦即在時間t=0時,每一個質(zhì)點的position(以初始變位來描述)及velocity(即變形速度)。內(nèi)定的初始條件是這樣子的:整個結(jié)構(gòu)的每一個質(zhì)點的position就宛若analysismodel所建構(gòu)的樣子(亦即初始變位為0),而每一個質(zhì)點的velocity都是0(靜止)。許多簡單的動態(tài)問題都符合如此內(nèi)定的初始條件,所以不必輸入任何初始條件(譬如Procedure4-1)。有些輕微複雜的問題,我們可以用IC命令(第1行)來描述初始條件。舉個例子來說,想像有一個子彈打到堅硬的牆壁,它會變形而「貼」在牆壁上,我們想進行這樣的動態(tài)模擬[Ref.8,VMC8.AluminumBarImpactingaRigidBoundary]。為了簡化,我們把子彈model成圓柱體(前端是平的),當(dāng)子彈接觸到牆壁上的一剎那是t=0,假設(shè)此時的子彈速度是V0,則這個初始條件可以如此描述:NSEL,ALL

IC,ALL,UX,,V0

...

SOLVE對於更複雜的例子,只用IC命令來描述初始條件常常是不夠的。想像有一懸臂樑,你將自由端先輕輕提起來,然後驟然放掉,它會開始振動,我們想進行這樣的動態(tài)模擬。為了知道初始的位移,我們必須先做一次靜態(tài)分析(將自由端提起來),再將此變形量作為動態(tài)分析的初始位移(初始速度則為0)。但是通常用IC命令來指每一個點的初始變位是不切實際的(因為每一點都不同)。這些課題將在動態(tài)分析的章節(jié)討論。朽木易折,金石可鏤。千里之行,始于足下。第頁/共頁第7.2節(jié)解題參數(shù)設(shè)定及解題SolutionOptionsandSolvingtheModel7.2.1SolutionOptions01020304050607080910ANTYPE,AntypeSOLCONTROL,KeyNLGEOM,KeyTIME,TIMEDELTIM,DTIMENSUBST,NSBSTPAUTOTS,KeyKBC,KEYOUTRES,Item,FREQ,Cname

OUTPR,Item,FREQ,Cname對動態(tài)分析或非線性分析而言,在使用SOLVE命令(執(zhí)行解題程序)之前,通常你必須設(shè)定一些與解題有關(guān)的參數(shù),稱為解題參數(shù)(solutionoptions)。ANTYPE命令(第1行)是在指定analysistype[Sec.4.2]。SOLCONTROL命令(第2行)讀成solutioncontrol,可以讓ANSYS自動選取解題參數(shù)。對非線性分析而言,適當(dāng)?shù)卦O(shè)定所有的解題參數(shù)其實是蠻複雜的程序,當(dāng)SOLCONTROL功能啟動時(這是內(nèi)定狀態(tài),亦即SOLCONTROL,ON),ANSYS會試著自行去選用適當(dāng)?shù)慕忸}參數(shù)(但是還是常常不盡理想,還是需要使用其他解題參數(shù)的命令)。NLGEOM命令(第3行)讀成nonlineargeometry,是指定要不要考慮幾何非線性[Sec.4.3.2]。TIME命令(第4行),是指定這一個loadstep結(jié)束的時間。DELTIM命令(第5行)讀成deltatime(t),是動態(tài)分析時,指定積分時間間隔(integrationtimestep,ITS),亦即一個loadstep將會被切割成TIME/DELTIM個積分時間間隔。NSUBST命令(第6行)讀成numberofsubsteps,是非線性時,指定一個loadstep要切成幾個substeps。注重,在動態(tài)分析時,一個積分時間間隔也稱為一個substep,所以事實上DELTIM命令和NSUBST命令是相對等的,它們的關(guān)係是DELTIM=TIME/NSUBST習(xí)慣上,動態(tài)分析時用DELTIM命令,而靜態(tài)分析時用NSUBST命令。我們也曾提過,當(dāng)執(zhí)行非線性分析時,不管你是指定的t是多少,ANSYS內(nèi)部有一個autotimestepping的功能,會依照收斂性去放大或縮小這個t:若收斂情況很好的話通常t會加倍,若收斂情況不好的話t會減半。AUTOTS命令(第7行)是去啟動autotimestepping的功能,內(nèi)定是:非線性問題時是開啟的,但對線性問題時則是關(guān)閉的。KBC命令(第8行)是在指定這一個loadstep是stepped還是ramped[Ref.9,Sec.2.5.SteppedVersusRampedLoads]。第9、10行的命令都是在控制輸出資料的量。OUTRES命令(第9行)讀成outputresult,是控制儲存到Jobname.RST的量:參數(shù)Item可以輸入ALL(所有)、BASIC(內(nèi)定)、NSOL(惟獨NodalDOFsolutions)等;參數(shù)FREQ是倘若有無數(shù)substeps時,指定多少個substeps要儲存一次資料;參數(shù)Cname可以用來指定只儲存某一component的資料。OUTPR命令(第10行)讀成outputprinting,是控制輸出到OutputWindow的資料量,其參數(shù)的意義和OUTRES徹低一樣。7.2.2SolvetheModel01SOLVESOLVE命令是要求ANSYS執(zhí)行有限元素分析,執(zhí)行的時間依問題的大?。―OF的數(shù)量)、是否含非線性、是否動態(tài)等而不同,從幾秒鐘至幾個小時,甚至幾天都有可能。7.2.3*GETCommand*GET,Par,Entity,ENTNUM,Item1,IT1NUM解題完成以後,數(shù)值解除了被儲存在Jobname.RST檔案外,最新的一組數(shù)值解也被存在Database裡。倘若要處理這些數(shù)值解,你通常會跳出/SOLU模組再進入/POST1或/POST26模組,可是倘若你想在/SOLU模組內(nèi)到Database去取得某些資訊(含模型資料、數(shù)值解等),你可以利用*GET命令。舉個例子來說,你想要統(tǒng)計一下電腦花費在有限元素分析的CPU運算時間,我們可以用下列命令來得到:01020304*GET,CPUTIME1,ACTIVE,,TIME,CPU

SOLVE

*GET,CPUTIME2,ACTIVE,,TIME,CPU

CPUTIME=CPUTIME2–CPUTIME1第2行是去執(zhí)行有限元素分析工作,在這命令之前後,你可以利用*GET命令(第1行)去獲取當(dāng)時的CPU時間並且存在變數(shù)CPUTIME1中,解完以後你再使用一次*GET命令(第3行)並將CPU時間存在變數(shù)CPUTIME2中,然後這兩個變數(shù)值相減(第4行)存在變數(shù)CPUTIME中,就是所花費的CPU時間(單位是秒)。有關(guān)*GET命令在此階段(/SOLU模組內(nèi))的應(yīng)用,請自行參考命令說明[Ref.5,Chapter4.APDLCommands,GET],Sec.7.3.8及Sec.7.4.2分別討論了一些在/POST1及/POST26模組中,利用*GET命令可以獲取的實用資訊。朽木易折,金石可鏤。千里之行,始于足下。第頁/共頁第7.3節(jié)普通後處理GeneralPostprocessingANSYS提供兩個後處理模組:GeneralPostprocessing(/POST1模組)及Time-HistoryPostprocessing(/POST26模組)。本節(jié)介紹/POST1模組的命令,下一節(jié)介紹/POST26模組的命令。我們提過,Jobname.RST內(nèi)有許多資料組(dataset),每一資料組代表一個時間點的反應(yīng)輸出值,/POST1模組是用來處理某一資料組的,換句話說/POST1是針對某一時間點,反應(yīng)值在空間上的分佈;相對的/POST26模組是針對某一空間點,反應(yīng)值在時間上的變化。/POST1模組的命令,我們大致把它分成四類[Figure5-2]:basic、elementtable、pathoperations、及graphicscontrols。Basiccommands收錄的是最常用到的命令,其中諸如PLNSOL或PLESOL命令更是最常用到的命令之一,這兩個命令的不同之處牽涉到一些重要的觀念,我們先來釐清這些觀念。7.3.1PLESOLvs.PLNSOLFigure7-3PLESOL與PLNSOL的差異在POST1模組的命令中,我們先要介紹的是PLESOL(讀成plotelementsolutions)及PLNSOL(讀成plotnodalsolutions)兩個命令,這兩個命令的功能很臨近。Figure7-3的兩個圖是第3章的懸臂樑分析後所畫出的bendingstresses(Procedure3-1最後一個命令),上圖是以PLESOL命令畫出來的,而下圖是以PLNSOL命令畫出來的。我們可以發(fā)現(xiàn)不一樣的地方是上圖的等應(yīng)力線(contourlines)是呈現(xiàn)鋸齒狀的,而下圖的等應(yīng)力線是比較平滑的。有限元素分析的解有一個行為,就是其DOF的數(shù)值解(亦即displacementfields)在空間上雖然是連續(xù)的(continuous),但是並不一定是平滑的(smooth);事實上是:在元素的內(nèi)部,這些displacementfields是連續(xù)且平滑的(因為是由形狀函數(shù)所描述),但是跨過元素的邊界時,則通常是連續(xù)但不平滑的(形狀函數(shù)並不跨越元素邊界);所以整體空間而言,displacementfields是連續(xù)但不平滑的,在數(shù)學(xué)上我們稱之為「片段平滑」函數(shù)(piece-wisesmoothfunctions)。這種片段平滑函數(shù)經(jīng)微分(應(yīng)力場基本上是變位場的微分)之後,就變成「片段連續(xù)」的函數(shù):亦即在元素的內(nèi)部是連續(xù)的,但是跨過元素的邊界時是不連續(xù)的,就如Figure7-3上圖的應(yīng)力場所顯示的,等應(yīng)力線的不連續(xù)點發(fā)生在元素的邊界上。為了更進一步的來觀察這種不連續(xù)的應(yīng)力,我們將每個元素的應(yīng)力列印出來(PRESOL,S,X),如Figure7-4所示。第1個元素的第3個節(jié)點的應(yīng)力是-77.2,而第2個元素的同一個節(jié)點的應(yīng)力則是–78.7,同一個節(jié)點其應(yīng)力會不一樣!這種差異在別的節(jié)點可能更大,譬如第59節(jié)點(-84.0及-71.0)或第259節(jié)點(-78.1及-64.1)就差更大了。由此可知,同一個節(jié)點,只不過它屬於不同的元素,其數(shù)值解就不一樣了,這個是你必須要知道的有關(guān)有限元素分析的行為本質(zhì)之一。理論上,只要元素足夠細(xì)小,這種應(yīng)力(或應(yīng)變)的不連續(xù)性也會跟著足夠小。事實上,這種不連續(xù)性可以作為解答精度的量測基準(zhǔn)[Ref.7,Sec.19.7.POST1-ErrorApproximationTechnique]。實務(wù)上,將元素切割的很細(xì)來達到應(yīng)力線連續(xù)的目的是沒有須要的,ANSYS可以將不連續(xù)的應(yīng)力值做一個簡單的處理,使之變成連續(xù)甚至平滑的,而不失其合理性,這就是PLNSOL命令的功能。所謂「簡單的處理」,簡單的說就是取其平均值(averaging):同一個節(jié)點,若有幾個不同的應(yīng)力值,則把這些值取平均,做為唯一的應(yīng)力值。Figure7-3上圖是沒有經(jīng)過平均的應(yīng)力值,所以有鋸齒狀,下圖是有經(jīng)過平均的應(yīng)力值,所以連續(xù)且平滑。大部分的時候,我們喜歡經(jīng)過平均的反應(yīng)值,不只是較美觀,而是較容易觀察反應(yīng)值的行為,此時我們用PLNSOL命令。有時候,我們也想觀察沒有經(jīng)過平均的反應(yīng)值,因為如前所述,反應(yīng)值連續(xù)性的程度可以作為數(shù)值解是否趨近理論解的指標(biāo)(越連續(xù)表示數(shù)值解越趨近理論解),此時我們用PLESOL命令。

ELEMENT=1SOLID45

NODE

SX

1

-174.6

3

-77.2

13

-71.0

12

-165.3

58

-167.6

59

-84.0

259

-78.1

237

-158.4

ELEMENT=2SOLID45

NODE

SX

3

-78.7

4

0.7

14

0.1

13

-71.6

59

-71.0

78

-6.7

278

-7.6

259

-64.1

ELEMENT=3SOLID45

...Figure7-4OutputofElementStresses(PRESOL)7.3.2/POST1基本命令010203040506070809101112SET,Lstep,SBSTEP,,,TIMEPLDISP,KUND

PLESOL,Item,Comp,KUNDPLNSOL,Item,Comp,KUNDPLVECT,ItemPRESOL,ItemPRNSOL,ItemPRVECT,ItemPRRSOL,Lab

ANDSCL,NFRAM,DELAY,NCYCL

ANCNTR,NFRAM,DELAY,NCYCL

ANMODE,NFRAM,DELAY,NCYCL讀取資料以上列出的是/POST1模組中常用且基本的命令。SET命令(第1行)可以讀成readdataset,是到Jobname.RST檔案去讀取一組資料並存放在Database中。記得,剛解過的那一組數(shù)值解會自動儲存在Database[Sec.5.2.1],所以你就不必再到Jobname.RST裡去讀取了。利用SET命令到Jobname.RST讀取資料組時,你可以指定哪一個loadstep(Lstep)的哪一個substep(SBSTEP),你也可以指定某一時間點(TIME)。若你所指定的時間點並不存在於Jobname.RST中,ANSYS會以線性內(nèi)差的方式來計算此時間點的數(shù)值解,再存放在Database中。數(shù)值解的文字與圖形輸出PLDISP命令(第2行)讀成plotdisplacements,是繪出結(jié)構(gòu)變形圖,KUND是用來控制原來未變形的結(jié)構(gòu)是否也要繪出來。PLESOL命令(第3行)及PLNSOL命令(第4行)已在上一小節(jié)討論過,其中Item及Comp兩個參數(shù)是指定要繪出的量,可以選擇的有無數(shù),請自行參考命令說明[Ref.5,PLESOL或PLNSOL]。PLVECT命令(第5行)讀成plotvectors,是以向量的方式繪出某些反應(yīng)值,譬如變位場、主應(yīng)力場、熱流場(熱分析)、速度場(流場分析)等,這些量都可以用向量來表示,亦即可以用矢量的長度及方向來表示。PRESOL、PRNSOL、PRVECT三個命令(第6、7、8行)是類似於PLESOL、PLNSOL、PLVECT(第3、4、5行)的,只不過後者是以圖形方式繪出,而前者是以文字方式列印的。此外,用文字方式輸出,可以一次列印幾個分量,可是用圖形方式繪出,一次只能繪出一種分量。PRRSOL命令(第9行)讀成printreactionsolution,亦即列印出反力。對結(jié)構(gòu)分析的問題,反力是很容易理解的,通常有自由度被自在的地方,相對的就有一個反力。譬如懸臂樑的固定端,因為三個方向都不能移動也不能轉(zhuǎn)動,所以三個方向都有反力(reactionforces)及反彎矩(reactionmoments),這些反力及反彎矩是為了維持自由度的自在(譬如懸臂樑端的固定)而須要存在的。同樣的,對熱分析的問題而言,若某一邊界要維持固定的溫度,則必須有熱流(heatflow)通過來維持此溫度;Heatflow即是熱分析問題的reactionforces。動畫製作第10至12行的命令是用來產(chǎn)生動畫的。ANDSCL命令(第10行),讀成animationofdisplacementsofthelastplotaction,是繪出動態(tài)的變位圖,ANCNTR命令(第11行),讀成animationofcontours,是繪出動態(tài)的應(yīng)力或應(yīng)變圖,ANMODE命令(第12行),讀成animationofmodeshapes,是繪出動態(tài)的振態(tài)圖[Sec.4.2.4]。這三個命令都假設(shè)使用之前已有使用適當(dāng)?shù)拿睿篈NDSCL命令之前要先有PLDISP命令,ANCNTR命令之前要先有PLESOL或PLNSOL命令,ANMODE命令之前也要先有PLDISP命令。參數(shù)NFRAM是指定一共有幾個frames(內(nèi)定是5個frames),參數(shù)DELAY是指定每一個frame時停歇的時間(內(nèi)定是0.1秒),參數(shù)NCYCL則是用來控制要重複播出幾次(內(nèi)定是5次)。7.3.3ElementTable接下來我們來解說ElementTable的觀念。在資料庫系統(tǒng)的術(shù)語中,ElementTable的資料結(jié)構(gòu)稱為一個relationdatabase。倘若你對這個名詞沒什麼概念,你可以想像ElementTable是一個有n個列、m個欄位的表,n是總元素數(shù)量,而每一個欄位可儲存一種資料(譬如X方向的應(yīng)力值),並且可以有自己的欄位名字。ElementTable一開始就存在著,你不需要用任何命令去創(chuàng)造它,但是起初所有的欄位都是空的,你必須用ETABLE命令將資料填入這些欄位。有了資料後,我們可以適當(dāng)?shù)牟僮鬟@個ElementTable,譬如排序、加總等。我們舉一個簡單的例子來說明ElementTable的使用時機,假設(shè)你要列出一張美觀、整齊的元素應(yīng)力表,如Figure7-5所示。普通而言這不是一個命令直接能做到的,但是你可以用下面的ElementTable命令來達成(你可以將這些命令接續(xù)在Procedure3-1最後面):01020304ETABLE,SX,S,X

ETABLE,SXY,S,XY

ETABLE,SEQV,S,EQV

PRETAB,SX,SXY,SEQV以上幾個命令牽涉到ElementTable的建構(gòu)及列印。在第1行中,ETABLE命令把每一個元素的X方向的應(yīng)力取出來,放在ElementTable的一個欄位中,然後給這個欄位一個名字叫做SX;第2個命令同樣地把XY方向的應(yīng)力(事實上是剪應(yīng)力)取出來放在另一個欄位,然後命名為SXY;第3個命令也是類似的。第4個命令(PRETAB)將此三個欄位(SX、SXY、及SEQV)列印出來,就是Figure7-5的樣子。ELEM

SX

SXY

SEQV

1

-122.0

-9.5

100.7

2

-37.4

-5.2

31.4

3

37.2

-5.3

31.6

4

122.1

-9.8

101.1

5

-122.0

-9.5

100.7

6

-37.4

-5.2

31.4

7

37.2

-5.3

31.6

8

122.1

-9.8

101.1

...

...

...

...

...Figure7-5OutputofElementTable(PRETAB)7.3.4ElementTablesCommands010203040506ETABLE,Lab,Item,Comp

PLETAB,Itlab,Avglab

PRETAB,Lab1,Lab2,...,Lab9

ESORT,,Lab,ORDEREUSORTSSUMETABLE命令(第1行),是將指定的數(shù)值(Item,Comp)從每個元素中取出,存放在ElementTable的某一欄位中,並給此欄位一個命字(Lab)??梢允褂玫腎tem,Comp除了包含PLESOL和PLNSOL命令可以使用的部分外,事實上範(fàn)圍更大,請參閱命令說明[Ref.5,ETABLE]及每一種元素的ElementOutput[Ref.6]。PLETAB(第2行)及PRETAB(第3行)分別是繪出或印出ElementTable的某一或某些欄位。ESORT命令(第4行)是讓ElementTable重新排序(內(nèi)定的順序是按照元素編號的順序)。譬如你要找出最大的應(yīng)力是在哪一個元素,你可以將ElementTable依應(yīng)力從大排到小後,那麼第一個元素就是應(yīng)力最大的元素了。EUSORT命令(第5行)是恢復(fù)到原來的排序(依元素編號的順序)。SSUM命令(第6行)是將每一列的值加總起來。利用ESORT或SSUM的結(jié)果,除了會顯示在螢?zāi)簧贤猓矔嬖贒atabase中,你可以利用*GET命令去獲取[Sec.7.3.8]。7.3.5Pathing這一小節(jié)我們來介紹pathing的觀念。我們常常希翼沿著body的某一個路徑當(dāng)做橫軸,而以某一個反應(yīng)值當(dāng)做縱軸,畫一圖形,稱為X-Yplot。舉個例子來講,Sec.3.3的懸臂樑,你沿著固定端的深度(10mm)方向定義一路徑,將此路徑當(dāng)橫軸,而把bendingstress當(dāng)縱軸,所繪出的圖就是如Figure7-6所示。更具體的說,F(xiàn)igure7-6是由下列pathing命令產(chǎn)生的(你可以將這些命令接續(xù)在Procedure3-1最後面):0102030405PATH,HEIGHT,2

PPATH,1,,0,H/2,0

PPATH,2,,0,-H/2,0

PDEF,SX,S,X

PLPATH,SX在上面的第1個命令(PATH),我們定義一條路徑,由2個點來定義的,並且給它一個名字叫HEIGHT。第2、3個命令(PPATH)是在指定這兩個點的座標(biāo):(0,H/2,0)及(0,-H/2,0),這兩個點將連成一條路徑(直線)。第4個命令(PDEF)是沿著這條路徑把X方向的應(yīng)力儲存到SX變數(shù)中。第5個命令(PLPATH)是把SX變數(shù)作為縱軸,路徑作為橫軸繪出來。Figure7-6的橫軸值是從0mm到10mm(記得樑深是10mm),縱軸是從+166至-166Mpa,表示樑上面的應(yīng)力是166Mpa(張應(yīng)力),下面是-166Mpa(壓應(yīng)力)。注重,沿著深度的應(yīng)力變化應(yīng)該是直線,F(xiàn)igure7-6的線不是很直,這是數(shù)值誤差造成的。Figure7-6StressesAlongaPath(PLPATH)7.3.6PathOperationsCommands0102030405PATH,NAME,nPtsPPATH,POINT,NODE,X,Y,ZPDEF,Lab,Item,Comp,Avglab

PLPATH,Lab1,Lab2,…,Lab6

PRPATH,Lab1,Lab2,…,Lab6以上是跟pathing有關(guān)的命令。PATH命令(第1行)是去定義一個路徑並指定一個名字(NAME)給這個路徑,並指定一共由幾個點(nPts)來定義的。PPATH命令(第2行)是去定義這些點(POINT)的座標(biāo)(X,Y,Z)或者也可以指定節(jié)點編號(NODE),二者擇一。PDEF命令(第3行)是沿著這個路徑去讀取某一反應(yīng)值(Item,Comp)然後存在某一參數(shù)內(nèi)(Lab);Avglab是用來指定這些反應(yīng)值要不要做averaging的工作(Sec.7.3.1)。PLPATH命令(第4行)是把反應(yīng)值作為縱軸,路徑作為橫軸,繪出來。PRPATH命令(第5行)則是將沿著路徑的反應(yīng)值以文字的方式列印出來。7.3.7GraphicsControlCommands010203040506070809101112131415161718/PNUM,Label,KEY

/PBC,Item,,KEY/PSF,Item,Comp,KEY/TRIAD,Lab

/PLOPTS,Label,KEY

/COLOR,Lab,Clab/CONTOUR,,,VMIN,VINC,VMAX

/VIEW,,XV,YV,ZV

/VUP,,Label

/VSCALE,,VRATIO/CPLANE,KEY/TYPE,,Type/TRLCY,Lab,TLEVEL/GRAPHICS,Key

/AXLAB,Axis,Lab

/GRID,KEY

/XRANGE,XMIN,XMAX

/YRANGE,YMIN,YMAX以上這些命令是用來做graphicscontrols:讓你畫出來的圖比較合理、清晰、美觀。/PNUM命令(第1行)讀成plotnumberscontrol,是當(dāng)你繪出模型元件時(KPLOT、LPLOT、APLOT、VPLOT、NPLOT、EPLOT)控制這些entities的編號要不要印出來。/PBC命令(第2行)讀成plotboundaryconditionscontrol,是控制邊界條件的符號要不要畫出來。/PSF命令(第3行)讀成plotsurfaceforcescontrol,是控制surfaceforces的符號要不要畫出來。/TRIAD命令(第4行)是控制座標(biāo)系統(tǒng)符號(稱為triad)要不要畫出來。/PLOPTS命令(第5行)讀成plotoptions,是異常的多樣化的命令,無數(shù)graphicswindow上的配置都可以透過這個命令來調(diào)整,譬如ANSYSlogo、time、legend等,每一個部分可以顯示或隱藏;請自行參照命令說明[Ref.5,/PLOPTS]。/COLOR命令(第6行)是用來控制顏色的,譬如當(dāng)你使用EPLOT命令時,內(nèi)定的元素顏色是青綠色的(cyan),倘若你不喜歡這個顏色,你就可以去改變它。/CONTOUR命令(第7行)是當(dāng)你在做contourplot時,控制contour的最大值、最小值、及間距。以畫應(yīng)力線為例(PLNSOL,S,…),內(nèi)定是這樣的:ANSYS找出最大、最小的應(yīng)力,然後在最大與最小應(yīng)力之間分成9段,然後用九個顏色去代表9段。譬如最大的應(yīng)力是175Mpa,最小的應(yīng)力是–175Mpa,所以每個顏色大概有38Mpa的應(yīng)力[Figure3-18]。若你不喜歡這樣的安頓,你就可利用這個/CONTOUR命令來改變。/VIEW命令(第8個行)我們之前介紹過了[Sec.3.3.5],它是在決定視線方向。縱使你的視線決定了,你還是必須決定viewup方向,/VUP命令(第9行)就是在決定viewup方向,內(nèi)定的視線是從Z軸看到原點,而以Y座標(biāo)做為viewup方向(亦即你所看到的Y軸是向上的),倘若你是以-Y做為viewup方向,那麼整個圖形就倒過來了。/VSCALE命令(第10行)讀成vectorscale,是控制以PLVECT[Sec.7.3.2]畫圖時向量的長度,若你不喜歡內(nèi)定的長度,你就可以用這個命令去改變。/CPLANE命令(第11行)是去定義cuttingplane。普通情況下,所繪出來的應(yīng)力(或其他反應(yīng)值)的分佈圖,是body外層的應(yīng)力分佈,若你要去看body裡面的應(yīng)力,你就必須要將body「切開」來觀察。你可以利用/CPLANE命令去定義cuttingplane,這個命令讓你有兩種選擇來定義cuttingplane:你可以指定workingplane做為cuttingplane,或者指定通過focus(使用/FOCUS命令)的平面做為cuttingplane。定義好cuttingplane後,在繪圖之前,你還要利用/TYPE命令(第12行)來指定displaytype是sectiondisplay。/TRLCY命令(第13行)是在定義透明度(translucency)。倘若我們要去觀看body的內(nèi)部,除了使用cuttingplane以外,另一個主意就是讓外面的entities比較透明一點,就可以看到裡面。你可以試試不同的entities有不同的透明度,看看會有怎樣的效果。/GRAPHICS命令(第14行)是用來選擇graphicsmode是FullGraphicsMode還是PowerGraphicsMode。ANSYS有兩種的graphicsmodes:PowerGraphicsMode是比較簡化、比較快的模式(內(nèi)定是此模式),而較複雜、較快的模式稱為FullGraphicsMode。大部分得時候你在內(nèi)定的PowerGraphicsMode下操作就可以了,但是有少數(shù)的命令,必須在FullGraphicsMode下才干操作,此時就必須利用/GRAPHICS命令切換到FullGraphicsMode。第15、16、17、18這四個命令都是跟X-YPlot有關(guān)的。/AXLAB命令(第15行)是給X軸一個label。/GRID命令(第16行)個是用來控制是否要繪網(wǎng)格。/XRANGE命令(第17行)及/YRANGE命令(第18行)是分別用來改變X軸及Y軸的範(fàn)圍的。7.3.8/POST1“GETItems”*GET,Par,Entity,ENTNUM,Item1,IT1NUM我們在Sec.7.2.3介紹過*GET命令:你可以直接到Database裡去獲取某一個值(由Entity,ENTNUM,Item1,IT1NUM四個參數(shù)決定),然後存在一個變數(shù)中(Par)。Figure7-7收拾了一些在/POST1模組中可以獲取的重要的items,我們不決定個別去討論,細(xì)節(jié)你必須自行參閱Ref.5,*GET。在此僅舉個例子來說明,當(dāng)你要去獲取某一個節(jié)點X方向的應(yīng)力時,你可以輸入*GET,SX,NODE,n,S,X,其中SX是你自訂的變數(shù)名稱,n是該節(jié)點的編號。再舉一個例子,我們知道ElementTable可以做排序的工作,排序後最大值及最小值會儲存在Database,你可以透過*GET命令去取得最大值或是最小值。譬如你要取得最大值(假設(shè)欲存入SMAX變數(shù)),及此最大值相對的元素編號(假設(shè)欲存入EMAX變數(shù)),可以使用下列命令:*GET,SMAX,SORT,,MAX*GET,EMAX,SORT,,IMAXEntityENTNUMItem1IT1NUMDescriptionNODENUX,Y,Z,SUMStructuraldisplacementROTX,Y,Z,SUMStructuralrotationRFFX,FY,FZ,MX,MY,MZReactionforceormomentSX,Y,Z,XY,YZ,XZComponentstress1,2,3,INT,EQVPrincipalstressEPTOX,Y,Z,XY,YZ,XZTotalstrain(EPEL+EPPL+EPCR)1,2,3,INT,EQVEPELX,Y,Z,XY,YZ,XZElasticstrain1,2,3,INT,EQVEPPLX,Y,Z,XY,YZ,XZPlasticstrain1,2,3,INT,EQVEPCRX,Y,Z,XY,YZ,XZCreepstrain1,2,3,INT,EQVEPTHX,Y,Z,XY,YZ,XZThermalstrain1,2,3,INT,EQVELEMNSERR(blank)StructuralerrorenergyVOLU(blank)ElementvolumeETABLabElementtableitemLabSMISCSnumElementsummablemiscellaneousdataNMISCSnumElementnon-summablemiscellaneousdataSORT(blank)MAX(blank)MaximumvalueoflastsorteditemMIN(blank)MinimumvalueoflastsorteditemIMAX(blank)IDnumberwheremaximumvalueoccursIMIN(blank)IDnumberwhereminimumvalueoccursSSUM(blank)ITEMLabValueofitemLabfromlastSSUMcommandPATH(blank)MAXLabMaximumvalueofpathitemLabMINLabMinimumvalueofpathitemLabPLNSOL(blank)MAX(blank)MaximumvalueofiteminlastcontourdisplayMIN(blank)MinimumvalueofiteminlastcontourdisplayPRERR(blank)SEPC(blank)StructuralpercenterrorinenergynormFigure7-7/POST1“GETItems”朽木易折,金石可鏤。千里之行,始于足下。第頁/共頁第7.4節(jié)歷時後處理Time-HistoryPostprocessing7.4.1/POST26基本命令0102030405060708091011NSOL,NVAR,NODE,Item,Comp,Name

ESOL,NVAR,ELEM,NODE,Item,Comp,Name

RFORCE,NVAR,NODE,Item,Comp,Name

PLVAR,NVAR1,NVAR2,...,NVAR10

PRVAR,NVAR1,NVAR2,...,NVAR6

XVAR,N

EXTREM,NVARPLCPLX,KEY

PRCPLX,KEY

PLTIME,TMIN,TMAX

PRTIME,TMIN,TMAX以上是在/POST26模組中,最常使用的一些命令,無數(shù)應(yīng)用上,我們使用這個命令就足夠了。記住,/POST1模組是在處理某一時間點的結(jié)構(gòu)反應(yīng),你可以繪出反應(yīng)值在空間的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論