識(shí)別與層間剛度計(jì)算)
PyNite剪力墻工具深度解析連肢墻自動(dòng)識(shí)別與層間剛度計(jì)算【免費(fèi)下載鏈接】PyNiteA 3D structural engineering finite element library for Python.項(xiàng)目地址: https://gitcode.com/gh_mirrors/py/PyNitePyNite 是一款面向 Python 的開源三維結(jié)構(gòu)有限元分析庫其內(nèi)置的ShearWall剪力墻工具能讓你用十幾行代碼完成復(fù)雜剪力墻建模自動(dòng)生成網(wǎng)格、自動(dòng)識(shí)別連肢墻的墻肢pier與連梁coupling beam、自動(dòng)匯總各墻段底部?jī)?nèi)力并直接計(jì)算各樓層的層間剛度為抗震設(shè)計(jì)中的剛度分配與墻肢剪力跨越比驗(yàn)算省去大量手工工作。 PyNite 剪力墻工具能解決什么痛點(diǎn)在傳統(tǒng)有限元建模中一面臨窗、開洞的連肢墻往往要手動(dòng)處理手工做法的麻煩PyNite 剪力墻工具的做法逐塊劃分墻肢并數(shù)節(jié)點(diǎn)施加荷載定義樓層story后剪力自動(dòng)均攤到該層所有節(jié)點(diǎn)人工識(shí)別哪些板單元屬于哪個(gè)墻肢generate()后自動(dòng)識(shí)別墻肢與連梁并歸屬板單元靠后處理公式手算 M/VL、M/VHsum_forces()直接輸出 P、V、M 及剪力跨越比多工況反復(fù)跑算層間剛度add_story()自動(dòng)創(chuàng)建 100 kip 標(biāo)準(zhǔn)剪力工況并回算剛度核心實(shí)現(xiàn)在 Pynite/ShearWall.py 中約 1000 行通過FEModel3D.add_shear_wall()創(chuàng)建一個(gè)模型可同時(shí)包含多面墻。? 6 步快速上手從建墻到出結(jié)果完整教程可參考示例文件 Examples/Shear Wall - Advanced.py 與 Examples/Shear Wall - Basic.py流程只需 6 步定義材料model.add_material(Concrete, E, G, nu, rho)創(chuàng)建墻model.add_shear_wall(Wall 1, mesh_size, 長(zhǎng), 高, 厚, Concrete, ky_mod, XY, origin)mesh_size控制網(wǎng)格密度plane支持 XY/XZ/YZ 三個(gè)主平面origin定位墻體空間位置開洞wall.add_opening(Opng 1, x_start, y_start, width, height)洞口頂部還可加tie拉桿剛度模擬頂部拉桿加支座wall.add_support(elevation, x_start, x_end)支持多標(biāo)高、局部寬度可建臺(tái)階式墻定樓層、加剪力wall.add_story(Roof, elevation25)wall.add_shear(Roof, force150, caseE)組合與求解model.add_load_combo(1.2D1.0E, {D: 1.2, E: 1.0})然后model.analyze_linear()。wall model.add_shear_wall(Wall 1, mesh_size1, length50, height25, thickness1, material_nameConcrete, ky_mod0.35, planeXY, origin[0, 0, 0]) wall.add_opening(Opng 1, x_start5, y_start6, width4, height2) wall.add_support(elevation0) wall.add_story(Roof, elevation25) wall.add_shear(Roof, force150, caseE) model.add_load_combo(1.2D1.0E, {D: 1.2, E: 1.0}) model.analyze_linear() 參數(shù)ky_mod默認(rèn) 0.35用于折減豎向剛度以模擬開裂后的砌體/混凝土墻體是抗震彈性分析的關(guān)鍵折減系數(shù)。 連肢墻自動(dòng)識(shí)別墻肢與連梁是怎么長(zhǎng)出來的generate()內(nèi)部的_identify_piers()與_identify_coupling_beams()采用同一套切分—剔除—合并算法切分收集所有洞口邊緣與墻體邊界的 x/y 坐標(biāo)去重排序后先沿豎向切成條帶墻肢再沿水平切成矩形塊連梁則相反先水平切剔除整塊落在某個(gè)洞口內(nèi)的矩形直接刪除底部條帶對(duì)連梁同樣刪除墻底不是連梁合并循環(huán)合并共享整條邊的相鄰矩形先橫向后豎向直到無新合并為止——最終每個(gè)墻肢和連梁都是不含洞口的最大矩形歸屬按質(zhì)心坐標(biāo)把有限元板單元自動(dòng)掛到對(duì)應(yīng)的墻肢/連梁下同時(shí)重命名為 P1、P2… 與 B1、B2…。分析完成后調(diào)用sum_forces()即可在截?cái)辔恢脜R總內(nèi)力墻肢底部截面軸力 P、剪力 V、彎矩 M以及剪力跨越比M/(V·L)連梁左端截面 P、V、M 與跨越比M/(V·H)實(shí)現(xiàn)見 Pynite/ShearWall.py 中Pier.sum_forces與CouplingBeam.sum_forces。跨越比 M/VL 是判斷墻肢以彎曲破壞為主還是剪切破壞為主的核心指標(biāo)抗震規(guī)范中的強(qiáng)剪弱彎驗(yàn)算都依賴它。 層間剛度計(jì)算一步得到抗震分析所需剛度add_story()在背后自動(dòng)做了三件事源碼見 Pynite/FEModel3D.py 的add_shear_wall關(guān)聯(lián)邏輯注冊(cè)樓層標(biāo)高并允許用x_start/x_end指定部分樓板partial diaphragm范圍創(chuàng)建專用組合Stiffness: 樓層名并向該層節(jié)點(diǎn)施加100 kip 標(biāo)準(zhǔn)層剪力求解后調(diào)用wall.stiffness(Roof)返回100 ÷ 該層最大水平位移即層間側(cè)移剛度。這個(gè)剛度值可以直接代入剛性膺體剛性樓蓋分析用于多層多墻結(jié)構(gòu)中各抗側(cè)力構(gòu)件的水平力分配避免了手動(dòng)加力—讀位移—手算 k的重復(fù)勞動(dòng)。? 一鍵輸出表格、云圖與識(shí)別圖方法輸出print_piers(1.2D1.0E)表格墻肢編號(hào)、寬、高、M/(VL)、V、M、Pprint_coupling_beams(1.2D1.0E)表格連梁編號(hào)、長(zhǎng)、高、M/(VH)、V、M、Pscreenshots(combo_name)導(dǎo)出 4 張 PNG面內(nèi)剪力云圖、膜應(yīng)力云圖、墻肢識(shí)別圖、連梁識(shí)別圖draw_piers()/draw_coupling_beams()繪圖展示自動(dòng)識(shí)別出的墻肢/連梁分區(qū)識(shí)別出的全部結(jié)果保存在wall.piers與wall.coupling_beams字典中可供你自己的后處理腳本繼續(xù)加工。 匯總內(nèi)力時(shí) PyNite 按板單元端點(diǎn)力的正方向約定累加如上圖符號(hào)約定跨墻肢比較結(jié)果前建議先確認(rèn)正負(fù)號(hào)含義。 進(jìn)階特性翼緣墻、臺(tái)階墻與更新再生翼緣wall returnwall.add_flange(厚, 寬, x, y_start, y_end, 材料, side)side取z/-z控制翼緣在墻體哪一側(cè)T 形交叉墻即兩側(cè)各加一個(gè)翼緣。規(guī)范通常要求計(jì)入翼緣對(duì)墻肢剛度的貢獻(xiàn)PyNite 用獨(dú)立網(wǎng)格 節(jié)點(diǎn)自動(dòng)合并實(shí)現(xiàn)無需手工對(duì)節(jié)點(diǎn)臺(tái)階墻與局部支承add_support可多次調(diào)用不同標(biāo)高與 x 范圍直接建模退臺(tái)、半高墻修改后再生建墻后追加洞口再調(diào)wall.generate()內(nèi)部needs_update機(jī)制會(huì)先清理舊網(wǎng)格與節(jié)點(diǎn)再重建測(cè)試用例 Testing/test_shear_wall.py 驗(yàn)證了開洞后剛度變小、單元數(shù)減少的正確性坐標(biāo)系提示墻體局部 x 為水平、y 為豎向與構(gòu)件局部坐標(biāo)系概念一致。 相關(guān)文件清單剪力墻核心實(shí)現(xiàn)Pynite/ShearWall.pyShearWall、Pier、CouplingBeam三個(gè)類墻創(chuàng)建入口add_shear_wall()Pynite/FEModel3D.py高級(jí)示例推薦入門Examples/Shear Wall - Advanced.py基礎(chǔ)示例逐節(jié)點(diǎn)手工做法對(duì)比Examples/Shear Wall - Basic.py變荷載矩形墻示例Examples/Rectangular Wall - Linear Varying Load.py單元測(cè)試含靜力平衡校核Testing/test_shear_wall.py 安裝與運(yùn)行pip install PyniteFEA[all] git clone https://link.gitcode.com/i/2fd967adeb983a629378e0301589ea99clone 倉庫后直接運(yùn)行Examples/Shear Wall - Advanced.py即可在控制臺(tái)看到各墻肢/連梁的 M/VL、V、M、P 表格并在當(dāng)前目錄得到shear_wall_screenshot1/2.png、shear_wall_piers.png、shear_wall_coupling_beams.png四張分析圖。小結(jié)PyNite 的剪力墻工具把建模—識(shí)別—匯總—?jiǎng)偠人牟酱梢粭l流水線自動(dòng)識(shí)別墻肢連梁讓復(fù)雜連肢墻從逐格人工處理變成聲明洞口即完成而內(nèi)置的層間剛度算法則讓抗震剛度分配工作一次求解即可出數(shù)非常適合把重復(fù)性的抗側(cè)力構(gòu)件分析寫進(jìn)自己的 Python 工作流。【免費(fèi)下載鏈接】PyNiteA 3D structural engineering finite element library for Python.項(xiàng)目地址: https://gitcode.com/gh_mirrors/py/PyNite創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考