




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于SAP2000的空間網(wǎng)格結(jié)構(gòu)參數(shù)化建模與分析摘要:本文簡(jiǎn)要介紹了SAP2000應(yīng)用編程接口即CSiOAPI的功能特點(diǎn)及其在結(jié)構(gòu)分析中的應(yīng)用。我們以空間網(wǎng)格結(jié)構(gòu)建模分析過(guò)程為例詳細(xì)闡述了CSiOAPI在結(jié)構(gòu)參數(shù)化建模、分析及后處理中的流程和方法。本文對(duì)應(yīng)用編程接口及Python語(yǔ)言在結(jié)構(gòu)分析方面的使用進(jìn)行了初步的探索,對(duì)同類型的工程項(xiàng)目具有借鑒意義。
關(guān)鍵詞:CSiOAPI;Python;參數(shù)化建模;結(jié)構(gòu)分析;空間網(wǎng)格結(jié)構(gòu)
引言
SAP2000是美國(guó)CSi公司(ComputerandStructuresInc.)開(kāi)發(fā)研制的通用結(jié)構(gòu)分析程序,是一款集成化、高效率的通用結(jié)構(gòu)分析設(shè)計(jì)程序,在世界各國(guó)的結(jié)構(gòu)分析項(xiàng)目中得到廣泛應(yīng)用。SAP2000采用基于對(duì)象的有限元技術(shù),可以實(shí)現(xiàn)方便的建模,并具有穩(wěn)定的分析內(nèi)核,可對(duì)其他分析程序的結(jié)果進(jìn)行對(duì)比和校核。
CSiOAPI(CSiOpenApplicationProgrammingInterface),即CSi開(kāi)放應(yīng)用編程接口,原名SAP2000API,是SAP2000提供的二次開(kāi)發(fā)接口。它包含了SAP2000中大部分功能的函數(shù),通過(guò)調(diào)用可以實(shí)現(xiàn)與SAP2000等效的操作或擴(kuò)充SAP2000的功能。并且,通過(guò)程序操作可以方便地實(shí)現(xiàn)批處理、參數(shù)化等過(guò)程。CSiOAPI目前支持C#、VisualBasic、Fortran、Matlab和Python等常用編程語(yǔ)言和應(yīng)用程序。
Python是一種面向?qū)ο蟆⒔忉屝偷挠?jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。其語(yǔ)法簡(jiǎn)潔清晰,具有很強(qiáng)的可讀性,支持面向?qū)ο蟮某绦蛟O(shè)計(jì)。Python屬于腳本語(yǔ)言,具有豐富和強(qiáng)大的函數(shù)庫(kù),它常被昵稱為膠水語(yǔ)言,能夠把用其他語(yǔ)言制作的各種模塊很輕松地聯(lián)結(jié)在一起。基于這一特性,很多程序?qū)ython作為二次開(kāi)發(fā)的接口語(yǔ)言進(jìn)行支持,結(jié)構(gòu)分析中常用的Abaqus即支持Python進(jìn)行二次開(kāi)發(fā),新版本的CSiOAPI也開(kāi)始支持Python。本文中涉及的程序即采用Python語(yǔ)言編寫(xiě)。
本文擬通過(guò)一個(gè)典型的二次開(kāi)發(fā)程序,介紹CSiOAPI應(yīng)用的一般過(guò)程,實(shí)現(xiàn)對(duì)SAP2000既有功能的擴(kuò)充,使其能更有效地用于結(jié)構(gòu)分析和設(shè)計(jì)。
1CSiOAPI開(kāi)發(fā)要點(diǎn)
在SAP2000最初是在V11版本中推出了應(yīng)用編程接口功能模塊,原名SAP2000API,作為開(kāi)放給用戶進(jìn)行擴(kuò)充開(kāi)發(fā)的應(yīng)用程序接口。在SAP2000V15中,SAP2000不僅完成了諸如界面上的重大改進(jìn),也進(jìn)一步增加完善了API功能,并且API不只適用于SAP2000程序,同樣適用于CSIBridge程序中,此次版本的API更名為CSiOAPI[1]。在最新的SAP2000V20版本中,CSiOAPI的各項(xiàng)功能又進(jìn)行了升級(jí)和強(qiáng)化。
CSiOAPI作為一個(gè)通用性強(qiáng)的工具,允許用戶通過(guò)編程的方式,利用API調(diào)用函數(shù),在結(jié)構(gòu)建模、分析和設(shè)計(jì)過(guò)程中進(jìn)行定制來(lái)實(shí)現(xiàn)參數(shù)化的模型生成、分析和設(shè)計(jì),完成自定義的結(jié)果輸出和數(shù)據(jù)提取。同界面交互操作的方式相比,這種操作方式將擴(kuò)展設(shè)計(jì)人員的分析能力,提高效率。用戶還可以應(yīng)用OAPI實(shí)現(xiàn)SAP2000分析程序與第三方軟件的連接,實(shí)現(xiàn)與其他程序?qū)ㄖY(jié)構(gòu)模型信息的共享。并且,通過(guò)Python可以方便地進(jìn)行數(shù)據(jù)提取與分析,并對(duì)分析結(jié)果進(jìn)行可視化,對(duì)進(jìn)一步的優(yōu)化提供了便利。
在安裝了SAP2000(V11版本以上)和相應(yīng)開(kāi)發(fā)環(huán)境的計(jì)算機(jī)上,都可以利用CSiOAPI進(jìn)行開(kāi)發(fā)。大多數(shù)編程語(yǔ)言都可以與OAPI結(jié)合來(lái)實(shí)現(xiàn)用戶程序的定制,如C#,VisualBasic,C++,F(xiàn)ortran,Matlab、Python、VBA等。
不同的編程語(yǔ)言有各自的語(yǔ)法、限制和特點(diǎn),但程序開(kāi)發(fā)過(guò)程都遵循相同的基本原理。
目前應(yīng)用OAPI二次開(kāi)發(fā)主要有以下兩種方式,外部調(diào)用和內(nèi)部調(diào)用。外部調(diào)用指通過(guò)一個(gè)調(diào)用API的程序,自動(dòng)啟動(dòng)SAP2000程序,然后執(zhí)行批處理的操作。內(nèi)部調(diào)用則是在SAP2000程序內(nèi),封裝集成SAP2000既有的功能。
OAPI中的函數(shù)和數(shù)據(jù)以面向?qū)ο蟮姆绞浇M織在一起,在程序初始時(shí)定義類對(duì)象并初始化。各個(gè)函數(shù)可作為該對(duì)象的方法進(jìn)行調(diào)用。OAPI中的函數(shù)組織如圖1所示。
OAPI參數(shù)分為ByVal和ByRef兩種,第一種只是將參數(shù)的值傳遞給函數(shù),第二種將參數(shù)的地址傳遞給函數(shù),通過(guò)第二種方法,可得到多個(gè)返回值。參數(shù)允許使用默認(rèn)值,默認(rèn)值在函數(shù)定義中存在,在調(diào)用函數(shù)時(shí)可以不重新賦予。若要給后面參數(shù)賦值,前面參數(shù)可不賦值,但位置要留出。
OAPI函數(shù)以一個(gè)長(zhǎng)整形數(shù)作為返回值,如函數(shù)執(zhí)行成功,返回值為0;否則返回非零值。通過(guò)函數(shù)返回值,可以判定OAPI函數(shù)執(zhí)行情況。
圖1
OAPI函數(shù)組織圖
以下為利用python語(yǔ)言調(diào)用CSiOAPI的部分程序代碼:
importos
importwin32com.client
importmath
zso=win32com.client.Dispatch(("
Sap2000v15.SapObject"))
zso.ApplicationStart()
zsm=zso.SapModel
zsm.InitializeNewModel()
ret=zsm.File.NewBlank()
2空間網(wǎng)格建模分析要點(diǎn)
空間網(wǎng)格結(jié)構(gòu)包括球面網(wǎng)殼、圓柱面網(wǎng)殼、平板網(wǎng)架、弦支穹頂?shù)榷喾N。球面網(wǎng)殼又可以分為凱威特型、聯(lián)方型、施威德勒型、肋環(huán)型、短程線型等。空間網(wǎng)格結(jié)構(gòu)的組成特點(diǎn)是:以桿件單元為主;節(jié)點(diǎn)和桿件的數(shù)量大;構(gòu)成具有較強(qiáng)的規(guī)律性,適合利用程序自動(dòng)生成并參數(shù)化施加荷載和約束。
各種球面網(wǎng)殼的建模過(guò)程均類似,下面以凱威特型K6球面網(wǎng)殼為例,介紹參數(shù)化建模過(guò)程。
2.1幾何構(gòu)成和控制參數(shù)
圖2所示是一個(gè)K6凱威特球面網(wǎng)殼的控制參數(shù)示意圖。凱威特型單層球面網(wǎng)殼的幾何構(gòu)型可由網(wǎng)殼跨度S,矢高H,扇區(qū)數(shù)Kn,徑向等分?jǐn)?shù)nx幾個(gè)參數(shù)確定。本例中Kn=6,nx=6。網(wǎng)殼節(jié)點(diǎn)編號(hào)圖和桿件編號(hào)圖分別如圖3、圖4所示。
圖2
凱威特網(wǎng)殼參數(shù)示意圖
通過(guò)控制參數(shù),可在確定的笛卡爾坐標(biāo)系下計(jì)算得到各個(gè)節(jié)點(diǎn)的空間三維坐標(biāo);根據(jù)節(jié)點(diǎn)坐標(biāo)和球面網(wǎng)殼的空間幾何組成,生成節(jié)點(diǎn)和全部桿件[3、4]。
2.2節(jié)點(diǎn)和桿件建立
規(guī)定球面網(wǎng)殼球面的球心作為空間三維坐標(biāo)系的原點(diǎn),以豎直向上方向作為Z軸,以一水平軸作為X軸,由右手定則確定Y軸方向。則確定了空間坐標(biāo)系以及網(wǎng)殼在其中的定位。
在CSiOAPI中,分別通過(guò)PointObj和FrameObj兩個(gè)函數(shù)建立節(jié)點(diǎn)對(duì)象和桿件對(duì)象,python語(yǔ)法如下:
PointObj.AddSpherical(Radius,alpha,beta,pointname,name)
FrameObj.AddByPoint(pointname1,pointname2,name)
FrameObj.AddByCoord(xi,yi,xj,yj,name)
圖5所示為生成后的完整網(wǎng)殼模型。圖6、圖7為節(jié)點(diǎn)和桿件的透視圖。
圖3
凱威特網(wǎng)殼節(jié)點(diǎn)編號(hào)圖
圖4
凱威特網(wǎng)殼桿件編號(hào)圖
圖5
SAP2000中凱威特網(wǎng)殼結(jié)構(gòu)模型
笛卡爾坐標(biāo)系下節(jié)點(diǎn)坐標(biāo)可按下列公式計(jì)算:
計(jì)算所得到的節(jié)點(diǎn)坐標(biāo)可記錄在一個(gè)一維數(shù)組中。按照結(jié)構(gòu)桿件的構(gòu)成規(guī)律,可以通過(guò)連接對(duì)應(yīng)節(jié)點(diǎn)形成所有桿件。
圖6
通過(guò)程序生成的節(jié)點(diǎn)圖
圖7
通過(guò)程序生成的桿件圖
2.3支座約束
一個(gè)完整的有限元模型包括節(jié)點(diǎn)、單元、支座約束、材性信息、截面信息、方位、支座位移等信息。
通過(guò)網(wǎng)殼組成規(guī)律,可利用OAPI給底部節(jié)點(diǎn)對(duì)象設(shè)置約束,約束可以是固定、鉸接和彈性支座,并可施加支座位移。通過(guò)對(duì)一個(gè)長(zhǎng)度為6的布爾數(shù)組賦值即可實(shí)現(xiàn)。
語(yǔ)法為:PointObj.SetRestraint(pointname,[True,True,True,True,True,True])
本例中,將支座全部設(shè)置為固定支座,如圖8、圖9所示。
圖8
網(wǎng)殼支座示意圖
圖9
網(wǎng)殼節(jié)點(diǎn)荷載示意圖
2.4節(jié)點(diǎn)荷載的施加
在SAP2000中,可直接對(duì)點(diǎn)對(duì)象施加節(jié)點(diǎn)荷載。
在網(wǎng)殼結(jié)構(gòu)的構(gòu)造中,屋面荷載直接傳到網(wǎng)殼節(jié)點(diǎn)上,桿件為軸力桿,不承受橫向荷載,所以可將荷載按點(diǎn)荷載的方式施加在結(jié)構(gòu)上。
語(yǔ)法為:PointObj.SetLoadForce(point,loadpattern,[0,0,-force,0,0,0])
2.5結(jié)構(gòu)分析
參數(shù)化模型建立之后,可通過(guò)交互方式或命令方式進(jìn)行結(jié)構(gòu)分析和結(jié)果數(shù)據(jù)的后處理。
在SAP2000環(huán)境下,需要先保存模型然后再運(yùn)行分析,python代碼如下。
APIPath='C:SAPAPI_xzh'
#savemodel
ifnotos.path.exists(APIPath):
try:
os.makedirs(APIPath)
exceptOSError:
pass
ret=zsm.File.Save(APIPath+os.sep+'SAPAPI.sdb')
#runmodel
ret=zsm.Analyze.RunAnalysis()
經(jīng)過(guò)分析后,可以得到內(nèi)力圖、位移圖等靜力計(jì)算結(jié)果和特征值計(jì)算結(jié)果,如圖10、圖11所示。
圖10
部分靜力計(jì)算結(jié)果
圖11
部分特征值計(jì)算結(jié)果
3結(jié)論與展望
本文結(jié)合空間網(wǎng)格結(jié)構(gòu)的建模特點(diǎn)和SAP2000API的應(yīng)用,介紹了在SAP2000平臺(tái)上利用OAPI進(jìn)行空間網(wǎng)格結(jié)構(gòu)快速參數(shù)化建模的方法和流程,為了說(shuō)明基本原理,本文通過(guò)一個(gè)簡(jiǎn)單的空間網(wǎng)格結(jié)構(gòu)實(shí)例來(lái)具體介紹程序編制的過(guò)程和步驟,但利用API能做的工作遠(yuǎn)不止這些。API中包含了SAP2000中絕大部分功能的實(shí)現(xiàn)函數(shù),并且與通用編程語(yǔ)言結(jié)合之后,可以利用python數(shù)據(jù)分析庫(kù)來(lái)進(jìn)行結(jié)果后處理,大大擴(kuò)展SAP2000的功能并顯著提高效率,并且通過(guò)程序控制,用批處理的方式進(jìn)行多步驟的分析則更能顯現(xiàn)API的便捷。后續(xù)開(kāi)發(fā)可以在以下幾個(gè)方面擴(kuò)展。
3.1單層球面網(wǎng)殼整體穩(wěn)定分析
空間網(wǎng)格結(jié)構(gòu)技術(shù)規(guī)程(JGJ7-2010)4.3.1條規(guī)定:?jiǎn)螌泳W(wǎng)殼以及厚度小于跨度1/50的雙層網(wǎng)殼均應(yīng)進(jìn)行穩(wěn)定性計(jì)算。穩(wěn)定性計(jì)算可按考慮初始缺陷的幾何非線性分析,初始缺陷按第一階振型,位移最大值取為跨度的1/300[3]。
通過(guò)API可以讀取特征值分析的一階振型,按照比例通過(guò)改變節(jié)點(diǎn)坐標(biāo)來(lái)施加初始缺陷,進(jìn)而進(jìn)行幾何非線性分析來(lái)獲取網(wǎng)殼結(jié)構(gòu)的整體穩(wěn)定系數(shù)。這個(gè)過(guò)程通過(guò)界面交互方式建模將耗費(fèi)大量建模時(shí)間甚至難以實(shí)現(xiàn)。
3.2數(shù)據(jù)共享與模型轉(zhuǎn)換
通過(guò)模型信息的建立,可以完成空間網(wǎng)格結(jié)構(gòu)模型建立,包括節(jié)點(diǎn)、單元、截面特性、材性、約束、荷載等有限元模型全部要素。通常數(shù)據(jù)轉(zhuǎn)換的方式是對(duì)文本的處理,而通過(guò)API可直接訪問(wèn)SAP2000數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)進(jìn)行格式化的文本輸出。
3.3節(jié)點(diǎn)剛度對(duì)網(wǎng)殼穩(wěn)定性的影響
在鋼結(jié)構(gòu)分析中,節(jié)點(diǎn)都模型化為完全鉸接或完全剛接,但實(shí)際的節(jié)點(diǎn)構(gòu)造都是半剛接,在強(qiáng)度分析中,節(jié)點(diǎn)剛度會(huì)影響內(nèi)力分布,在穩(wěn)定分析中,節(jié)點(diǎn)剛度則會(huì)顯著影響極限荷載。
在Ansys中,節(jié)點(diǎn)剛度只能通過(guò)彈簧單元Combin14或矩陣單元Matrix27進(jìn)行節(jié)點(diǎn)剛度設(shè)置,設(shè)置時(shí)需要在桿件端部插入彈簧單元。而SAP20
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 護(hù)林員合同協(xié)議書(shū)書(shū)模板
- 中田員工合同協(xié)議書(shū)范本
- 手機(jī)怎么制作合同協(xié)議書(shū)
- 通道維修合同協(xié)議書(shū)模板
- 循環(huán)經(jīng)濟(jì)發(fā)展戰(zhàn)略及近期行動(dòng)計(jì)劃
- 教學(xué)合作協(xié)議書(shū)合同
- 武術(shù)館策劃書(shū)3
- 建筑合同銷毀協(xié)議書(shū)模板
- 畜禽糞污資源化利用技術(shù)培訓(xùn)教程(第二講)
- 承包酒吧出品合同協(xié)議書(shū)
- 公路工程標(biāo)準(zhǔn)施工招標(biāo)文件(2018年版)
- DL∕T 5776-2018 水平定向鉆敷設(shè)電力管線技術(shù)規(guī)定
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蝕工程施工及驗(yàn)收規(guī)范
- 精神發(fā)育遲滯的護(hù)理查房
- 人民幣教具正反面完美打印版
- 新編簡(jiǎn)明英語(yǔ)語(yǔ)言學(xué)教程第二版課后參考答案
- 最新房地產(chǎn)開(kāi)發(fā)預(yù)算表
- 最新零售藥店GSP認(rèn)證條款
- 斗輪機(jī)安裝調(diào)試及使用說(shuō)明書(shū)
- 家庭住房情況查詢申請(qǐng)表
- 2019年甘肅省天水市中考生物試題(word版,含答案)
評(píng)論
0/150
提交評(píng)論