OpenSEES學(xué)習(xí)筆記(優(yōu)選.)_第1頁
OpenSEES學(xué)習(xí)筆記(優(yōu)選.)_第2頁
OpenSEES學(xué)習(xí)筆記(優(yōu)選.)_第3頁
OpenSEES學(xué)習(xí)筆記(優(yōu)選.)_第4頁
OpenSEES學(xué)習(xí)筆記(優(yōu)選.)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

精品精品word.#/15# Output.忙I setfDir"Data,";filemkdirSfDir; #createdirectorysetANALYSIS"Static";#thisvariablewouldbepassedinsetIDetrlNode3;#thisvariablewouldbepassedinif伴ANALYSIS=="Static"}{Recordnodaldisplacements-NODALDISPLACEMENTSsetfDstatFrameDStatFrame[expr$Xframe]setiNodeM$IDctrlNode";#canaddnodenumberstothislistforeachxNode$iNode{setfNodeNode$xNodesetFilename$fDir$fDstatFrame$fNoderecorderNodeSFilename.outdisp-time-node$xNode-dof16;};#endotxNodeRecordelementtorcesanddetormations-COLUMNSsetiEL,r12”setfFstatFraineFStatFranie[expr$Xframe]setfDstatFranieDStatFraine[expr$Xframe]foreachxEL$iEL{setfEIEl[expr$xEL]setiSEC'135"setFfilenanie$fDir$fFstatFranie耕曰I recorderElement$xEL-iin>e-fileSFfilenaine.outlocalForceforeachxSEC$iSEC{setfSecSec[exprSxSEC]setDfRename$fDir$fDstatFraine$fEl$fSecrecorderElement$xEL-file$DfiIename,out-timesectionSxSECdeformations}: #endofxSEC}: #endofxEL}: #endofstaticanalysissetANALYSIS"Dynamic"1#thisvariablewouldbepassedinsetGroundFile”曰Centro":#thisvariablewouldbepassedinif{^ANALYSIS="Dynamic"}{setfDDynaFraineDDynaFrame[6KprJXfraine]setfGroundFileSGroundFilesetFilenameDir$fDDynaFram^SfGroundFile¥RecordnodaldisplacementsrecorderNode$Filename,outdisp -node$lDetriNode-dof1};#endofdynamicanalysis# RecorderPlot.tcl sEpfil&''Ddta'rkod&.aut";recorderNode$pfiledisp-time-nodt$IDctrINode-dof1s&ttitlePushFrame$Xframe;recorderplot$pfil?$title00350250-columns21setpfileF'Data'Elemlout";se-ttitlePushEleml;recorderElement1-time-file$pfileglobalForcert-c-ordtrplot$pfil2$tit咫4000350350-columns21八、重力荷載(1)定義重力荷載# DefineGravity.tcl setGravSteps10patternPlain1Linear{load30.-$Pdl0.0.0.-$Mdl;#FxFyFzMxMyMzload40.-$Pdl0.0.0.+$MdlsystemUmfPack;#solutionprocedure,howitsolvessystemofequationsconstraintsPhin;#howithandlesboundaryconditions,enforceconstraintstestNormDispIncr1.0e-510 0;algorithmNewton;numbererRCM; #renumberdofstominimizeband-widthintegratorLoadControl[expr1./$GravSteps]1[exprl./^GravSteps][expr1./$GravSteps]analysisStaticinitialize;#thiscommandwillnotbenecessaryinnewversionsofOpenSees(2)運行重力分析# RunGravity.tcl analyze$GravSteps#rungravityanalysisloadConst-time0.0; #keepgravityloadandrestarttime-leadtolateral-loadanalysis九、靜力分析(1)定義靜力推覆分析。這條命令將在重力荷載被定義和應(yīng)用之后運行。DefinePushover.tcl setanalysis"STATICS#thisvariablewouldbepasseclinthefallowingsettingsdanotneedtobehereiftheyhavebeendefinedinthegravityanalysissystemUmfPack^constraintsPlain:testNorniDispIncr1,0e-510 0:algorithmNewton;numbererROM;analysisStatic;setPUSHOVER"DispControl1^福rundisplacement-cantrolledstaticpushoveranalysispatternPlain2Linear{loadSIDctilNode100.00,00,00.00.00.0if{^PUSHOVER=='LoadControl'}{integratorLoadControl&etNsieps20}elseif{$PUSHOVER=="DispControl"}{integratorDisplacementControl$IDctriNode1$DxPush1$DxPush$DxPushsetNsieps[exprint($DinaxPush$DxPush)]}else{put4:&t<feit PUSHOVER(2)運行靜力推覆分析。當(dāng)運行靜力推覆分析時可能用一條命令即可,而單分析參數(shù)環(huán)境下通常不容易收斂。因些寫個腳本試用多個算法增加收斂的可能性。analyze$Nsteps或卷 RLinPushover2Converge.tcl setok[analyze$Nsteps]若ifanalysisfails,tiythefollowing,performanceisslowedinsidethisloopif{$ok]=()}{setok0:setmaxU$DmaxPushsetcontrolDisp00testNormDispIncr1,0e-8 20 0while{$controlDisp<SinaxU$ok==0}{setok[analyze1]setcontrolDisp[nodeDisp$IDcirlNod€1]if{$ok3=0}{puts"TryingNewtonwithInitialTangenttestNormDispIncr1,0e-8 10001algorithmNewton-initialsetok[analyze1]testNormDispIncr1,0e-8 20 0algorithmNewtonif{$ok1=0}{puts"TryingBroydenalgorithmBroyden8setok[analyze1]algorithmNewtonif{$ok1=0}{puts"TryingNewtonWithLineSearchalgorithmNewtonLin?Search.8setok[analyze1]algorithmNewton}: #endwhileloop}: 4qndoriginalif$ok!二0loopif{$ok!=0}{puts"DispControlAnalysisFAILED'put&"Doyouwishtoeontinusyn?"; Aincludeifwanttopauseatanalysisfailuregetsstdinans: 4notrecommendedinparameterstudyif{$ans=="n"}done: #asitinte-rruptsbatchfile}else{puts"DispControlAnalysisSUCCESSFUL"十、動力分析(1)定義動力地面動動分析4 DefineDynamic.tcl wipeAnalysissystemUmfPackconstraintsPlainte&tNormDispIncr1.0e-&200;algorithmNewtonnumbererRCMintegratorNewmark$gamma$beta$alphaMSbetaKSbetaKcommSbetaKinit:analysisTransientsetNsleps[exprint($TmaxGround'$DtAnalysis)]:readaPEERstrongmotiondatabasefile,extractsdtfromtheheaderandconvertsthefiletotheformatOpenSeesexpectsforuniformgroundmotionssourceReadSMDFile.tcl:setdir"GMfile&'setoutFile$dir$GroundFil?,Z',代setvariableholdingnewfilenamesetinFile$dir$GroundFile,thReadSMDFileSinFileSoutFiledt;#converttheground-motionfilesetGMfatt[expr$g+$GMfact]: #dataininputfileisfactorofgsetGacceI"Serief-dt$dt-filePath$outFile-factorMfatf': -timeseriesinf肘由atiwnpatternUniformExcitation21-accel$Gaccel;4createuniformexcitation(2)運行動力地面運動分析一 FiunDynamiceMjcl analyze$Nsteps$DtAnalysis;十^一、關(guān)于OpenSEES例子的介紹。通常在建立分析模型時,重力分析是其中的一部分。(一)建立模型1、彈性單元2、非彈性單元:包括兩種截面類型,a、單軸截面;b、纖維截面。3、水平荷載:a、靜力推覆(包括單調(diào)加載和循環(huán)往復(fù)加載);b、隨時間變化的動力加載(動力分析):包括均勻正弦波、多點激勵正弦波、均勻地震波、多點激勵地震波、雙向激勵地震波(二)分析過程1、建立模型(1)定義模型維數(shù)和自由度數(shù)(2)定義節(jié)點坐標(biāo)(3)定義節(jié)點約束——邊界條件(4)定義節(jié)點質(zhì)量(5)定義單元和單元連接(6)定義輸出記錄以上為OpenSEES建立模型時的常規(guī)步驟。2、定義和施加豎向荷載(1)定義節(jié)點或單元的豎向荷載(2)定義靜力分析參數(shù)——容差、算法、約束,方程和加載步(3)運行分析(4)保持豎向荷載為常數(shù)(為后續(xù)的水平荷載分析)(5)重置時間為0。3、定義和施加水平荷載(1)定義荷載模式(節(jié)點荷載為靜力分析,支點運動為地震分析)(2)水平荷載分析參數(shù)(容差或時間/位移增量)A、靜力水平荷載分析:定義位移增量和位移加載路徑B、動力水平荷載分析:定義輸入地震動及所有相關(guān)參數(shù),例如地震波調(diào)整和輸入類型;定義分析持時和時間增量;定義阻尼。(3)運行分析十二、OpenSees初級入門篇及簡單例子ToconductasimulationinOpenSees,theusercreatesaninputfile(ascript).Ascriptisjustaseriesofcommandsthatinstructtheinterpreterwhattodo.InthecaseofOpenSees,thecommandseithercreateobjectsorinvokemethods(procedures)onthoseobjects.InOpenSeesthereare3typesofobjectstheusermustcreate:Modeling:TheuserfirstcreatesaModelBuilderobjectwhichdefinesthetypeofmodel,andcommandsavailableforbuildingthemodel.WithaModelBuilderdefinedtheuserthencreatestheElement,Node,LoadPatternandConstraintobjectsthatdefinethemodel.InthisprimertheuseofthebasicModelBuilderwillbedemonstrated.Analysis:Aftertheuserhasdefinedthemodel,thenextstepistocreatetheAnalysisobjectforanalyzingthemodel.Thismaybeasimplestaticlinearanalysisoratransientnon-linearanalysis.InOpenSees,anAnalysisobjectiscomposedofseveralcomponentobjectsandthesedefinethetypeofanalysisthatisperformed.Thecomponentobjectsconsistofthefollowing:SolutionAlgorithm,Integrator,ConstraintHandler,DOFNumberer,SystemOfEqn,Solver,andConvergenceTest.Thisapproachprovidesagreatdealofflexibilityinhowananalysisisconducted,butrequiresknowledgeonbehalfoftheuserastowhatthedifferentoptionsprovide.OutputSpecification:Oncethemodelandanalysishavebeendefined,theusermustspecifywhatistobemonitoredduringtheanalysis.OpenSeesbydefaultwillproducdenooutput.Theoutputsspecifiedcouldforexamplebethedisplacementhistoryatanodeorinternalstressstateatsomematerialpointinanelementelement.TheusertypicallycreatesRecorderobjectstostorewhattheuserwantstoexamine,thoughtheusercanalsousethetclputscommand.Ineachofthefollowingexamples,tclscriptsareusedtocreatemodel,analysisandarecorderobjects.Aftertheseobjectshavebeencreated,theanalysisisperformed.Theanalysesperformedonthesemodelsconsistofsimplestaticgravityanalysisandpushoveranalysisandtransientanalysisofmodelssubjectedtoearthquakeexcitation.Theexamplesarenotmeanttobecompletelyrealistic,buttheyarerepresentativeoftypicalstructures.Theyareintendedtoremains以上這些文字的主要是意思是:為了用OpenSees完成模擬,用戶先要創(chuàng)建一個輸入文件(腳本),這個腳本是由一系列命令構(gòu)成的,這些命令指導(dǎo)編譯器如何進行。在OpenSees例子中,這些命令有的是建立對象,有的是為實現(xiàn)對象而引入方法(程序)。在OpenSees中,以下三種對象類型是必需建立的:1、模型:用戶首先要建立模型對象,用于定義模型類型。通過ModelBuilder命令可以定義單元、節(jié)點、荷載模式及約束條件。2、分析:在模型建立之后,用戶的下一步就是要建立分析對象。分析對象可能是簡單的靜力線性分析,或者是瞬時非線性分析。在OpenSees中,分析對象包括多個對象元素,有數(shù)值算法(SolutionAlgorithm),加載方式(Integrato>,邊界處理方法(ConstraintHandler),自由度編號處理(DOFNumberer),計算方法,解方程(SystemOfEqn),求解器(Solver),和收斂準(zhǔn)貝^(ConvergenceTest)3、輸出定義:一旦模型和分析定義好,用戶則需要規(guī)定在分析時得到什么結(jié)果。若無輸出定義,OpenSees本身不會輸出結(jié)果,輸出結(jié)果可是一節(jié)點上的時程位移或者一個單元在某點上的內(nèi)部應(yīng)力狀態(tài)。用戶通常用Recorder命令保存想要得到的結(jié)果。同樣也可以用TCL命令。在以下每個例子中,tcl腳本命令是用于建立模型、分析及記錄對象。在這些對象定義好之后,運行分析。在這些模型執(zhí)行分析時,包括簡單的重力分析、推覆分析和由于地震激勵下的瞬時分析。這些例子并不意味著和現(xiàn)實完全相同,但是是典型結(jié)構(gòu)的代表。ForOpenSeeswehaveaddedcommandstoTclforfiniteelementanalysis.Thesecommandscanbegroupedintofoursections:ModelingCommandscommandsaddedtotheinterpretertocreatethefiniteelementmodel.AnalysisCommandscommandsaddedtoTcltocreatetheanalysisprocedure.OutputCommandscommandsadedtoTcltomonitorwhatishappeninginthemodelduringtheanalysis.MiscCommandscommandsaddedtoTcltohelpmonitorandmodifythemodelandanalysisduringtherun-time.DataBaseCommandscommandsaddedtoTcltoconstructaFE_Datastoreobject.對于利用OpenSees進行有限元分析,我們已經(jīng)創(chuàng)建了Tcl命令。這些命令總共可以分成以下四個板塊:模型命令:用于建立有限元模型;分析命令:用于建立分析程序;輸出命令:用于建立在分析時,輸出所要的結(jié)果;混合命令:用于在分析時修改模型和分析;數(shù)據(jù)庫命令:用于建立FE數(shù)據(jù)保存。到目前為止,主要是用到前三板塊,后面兩板塊尚不知道為何物。十三、目前關(guān)于OpenSees初學(xué)習(xí)時的問題目前基本知道OpenSees是如何進行結(jié)構(gòu)分析的,但是還是不能整體把握住全過程。這個問題可以通過多練習(xí)解決。建立模型的部分基本上沒有大問題,不過對于非線性問題的建模還比較大。特別是對于材料定義、截面定義、單元定義這三方面,有待加強。工況定義和分析定義方面現(xiàn)在還比較生疏,特別是對分析元素的理解,現(xiàn)在很不明確。這點急需加強。對于輸出定義問題。這個不是很難,可是還不能靈活掌握??梢酝ㄟ^練習(xí)解決。最后一點,就是關(guān)于整個程序命令的先后順序問題,這個目前個人覺得沒什么大影響,可是把握主要路線可不分先后(如分析時)??梢韵蚋呷苏埥滔拢〖?xì)節(jié)問題:在定義幾何轉(zhuǎn)換時,對于二維問題,

溫馨提示

  • 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

提交評論