張寧 張德宇 古泉
(廈門大學(xué) 土木工程系, 福建 廈門 361005)
土木工程領(lǐng)域的研究多種多樣,包括抗震、抗沖擊、防火、防爆等。眾多的數(shù)值模擬軟件也各有其優(yōu)勢(shì),且在各自適用的領(lǐng)域發(fā)揮其作用?,F(xiàn)如今,學(xué)者們往往會(huì)選擇最合適的軟件進(jìn)行所選問題的分析。例如,對(duì)于框架結(jié)構(gòu)抗震的分析采用OpenSees[1],對(duì)于精細(xì)模型抗沖擊問題的模擬采用LS-DYNA[2]。但是當(dāng)研究混合類型的問題時(shí),單一的軟件就較為吃力。例如,對(duì)于沖擊作用對(duì)框架結(jié)構(gòu)的影響問題,不僅需要對(duì)直接受沖擊單元進(jìn)行模擬分析,也需要對(duì)受沖擊作用之后結(jié)構(gòu)的后續(xù)變形進(jìn)行研究。且在這種情況下,直接受沖擊單元進(jìn)入強(qiáng)非線性狀態(tài),而整體結(jié)構(gòu)往往仍處于線彈性階段。單獨(dú)使用OpenSees難以模擬沖擊問題,若采用LS-DYNA對(duì)結(jié)構(gòu)進(jìn)行精細(xì)化非線性模擬,不僅建模繁瑣,接觸判斷復(fù)雜,而且計(jì)算耗時(shí)嚴(yán)重。
ECC材料因其特有的高延性抗拉性能和耗能能力,逐漸被應(yīng)用于框架結(jié)構(gòu)之中[3-7]。文中首次提出基于NSM的OpenSees與LS-DYNA聯(lián)合計(jì)算,以研究ECC材料對(duì)于結(jié)構(gòu)抗沖擊方面的作用[8-10]。其主結(jié)構(gòu)采用OpenSees進(jìn)行線彈性分析,子結(jié)構(gòu)采用LS-DYNA進(jìn)行非線性分析。通過算例和分析,驗(yàn)證了OpenSees與LS-DYNA聯(lián)合計(jì)算的可行性和正確性。
數(shù)值子結(jié)構(gòu)方法的思想是通過將整體結(jié)構(gòu)的非線性分析分解為主結(jié)構(gòu)和子結(jié)構(gòu)兩個(gè)部分,從而實(shí)現(xiàn)簡(jiǎn)化計(jì)算。其中,對(duì)于主結(jié)構(gòu)采用線彈性分析,對(duì)于子結(jié)構(gòu)采用非線性分析。從網(wǎng)格劃分上來看,主結(jié)構(gòu)采用較為粗糙的網(wǎng)格,而子結(jié)構(gòu)因其涉及到非線性分析,故采用更為精細(xì)化的網(wǎng)格。兩部分依據(jù)邊界力和變形協(xié)調(diào)條件完成聯(lián)合計(jì)算[11-12]。數(shù)值子結(jié)構(gòu)方法的推導(dǎo)是在運(yùn)動(dòng)方程的基礎(chǔ)上采用Newmark-β法進(jìn)行離散。運(yùn)動(dòng)方程為
(1)
(2)
式中,
(3)
n表示上一荷載步,α和β分別為Newmark-β法中的控制參數(shù)(α=0.5,β=0.25);Δt為時(shí)間步長。在式(2)左右加上Kun+1,K為結(jié)構(gòu)初始剛度矩陣,可推導(dǎo)出:
Fn+1+[Kun+1-R(un+1)]
(4)
定義等效動(dòng)力剛度,即:
(5)
定義非線性修正力為
(6)
由以上推導(dǎo)出整理后的平衡方程:
(7)
OpenSees和LS-DYNA各有其最佳適用的分析領(lǐng)域。結(jié)合兩者的優(yōu)勢(shì),文中提出由OpenSees負(fù)責(zé)主結(jié)構(gòu)線彈性部分的計(jì)算,由LS-DYNA負(fù)責(zé)子結(jié)構(gòu)進(jìn)行精細(xì)化部分的計(jì)算。采用Matlab工具作為總控制端,分別調(diào)用OpenSees和LS-DYNA以實(shí)現(xiàn)兩個(gè)平臺(tái)基于數(shù)值子結(jié)構(gòu)方法的聯(lián)合計(jì)算。具體計(jì)算分為以下幾步。如圖1所示。
圖1 OpenSees與LS-DYNA聯(lián)合計(jì)算流程圖
Fig.1 OpenSees and LS-DYNA combined calculations flow chart
第1步使用Matlab導(dǎo)入java.awt.Robot和java. awt.event.*類,實(shí)現(xiàn)Opensees和LS-DYNA之間的數(shù)據(jù)的讀取和部分操作。
第2步Matlab運(yùn)行OpenSees平臺(tái)進(jìn)行當(dāng)前時(shí)步主結(jié)構(gòu)的線彈性分析。OpenSees的分析一般采用source功能讀取Tcl文件的方式以執(zhí)行已寫好的外部命令文件。OpenSees采用了Tcl語言作為用戶交互接口,用戶可以在Tcl文件中設(shè)置接口以進(jìn)行數(shù)據(jù)的記錄和傳遞。為了實(shí)現(xiàn)基于NSM的聯(lián)合計(jì)算,在Tcl文件中設(shè)置了單元邊界位移un和線彈性力Kun的數(shù)據(jù)傳遞接口,并將其數(shù)據(jù)保存到out文件中,以方便Matlab的讀取和隨后的傳遞。
第3步Matlab運(yùn)行LS-DYNA平臺(tái)進(jìn)行當(dāng)前時(shí)步子結(jié)構(gòu)的非線性分析。相比于開源軟件Open-Sees,LS-DYNA的運(yùn)行采用讀取事先寫好的k文件進(jìn)行分析。OpenSees可以在每一時(shí)步進(jìn)行數(shù)據(jù)的讀取和修改以滿足下一時(shí)步計(jì)算的需要。而LS-DYNA不具有這種能力,故需要采用重啟動(dòng)功能。根據(jù)數(shù)值子結(jié)構(gòu)的思路,運(yùn)用小型重啟動(dòng)功能,設(shè)置每個(gè)時(shí)步為中斷點(diǎn),通過修改隨后的求解時(shí)間和調(diào)整邊界位移un來進(jìn)行下一步的分析。LS-DYNA在進(jìn)行小型重啟動(dòng)的過程中,需要讀取上一次計(jì)算的結(jié)果(D3DUMP文件),以及修改后的k文件以完成下一時(shí)步的計(jì)算。
根據(jù)數(shù)值子結(jié)構(gòu)方法,子結(jié)構(gòu)的計(jì)算需要通過Matlab讀取OpenSees記錄的out文件,并將其中的邊界位移un通過修改k文件的方式傳遞給LS-DYNA。從LS-DYNA的關(guān)鍵字來說,用戶需要通過修改*CONTROL_TERMINATION來控制求解時(shí)間;修改*BOUNDARY_PRESCRIBED_MOTION_NODE來控制下一時(shí)步的邊界條件,包括節(jié)點(diǎn)處的位移和轉(zhuǎn)角以及各自的速度和加速度。需要注意的是,一般荷載和邊界條件的設(shè)定需要定義*DEFINE_CURVE關(guān)鍵字來實(shí)現(xiàn)。而*DEFINE_CURVE關(guān)鍵字中時(shí)間的長度不能通過小型重啟動(dòng)進(jìn)行修改,但是數(shù)值可以修改,故需要預(yù)先設(shè)定足夠長的時(shí)間,通過修改*DEFINE_CURVE中每一時(shí)步的數(shù)值實(shí)現(xiàn)重啟動(dòng)。
LS-DYNA不能通過設(shè)置接口的方式將非線性力Rn的計(jì)算結(jié)果傳遞給OpenSees,文中采用將非線性力Rn的計(jì)算結(jié)果通過*DATABASE_NODFOR和*DATABASE_ELOUT兩個(gè)關(guān)鍵字記錄到nodfor和elout兩個(gè)文件之中。而Matlab通過讀取nodfor和elout兩個(gè)文件獲得非線性力Rn。
4)計(jì)算非線性修正力Pn。
非線性修正力Pn的計(jì)算可以通過Matlab直接計(jì)算,將計(jì)算后的非線性修正力疊加到主結(jié)構(gòu)之中,并進(jìn)行下一時(shí)步的計(jì)算。在以后每一時(shí)步的計(jì)算之中均重復(fù),如圖1所示。
通過兩個(gè)算例驗(yàn)證并分析基于數(shù)值子結(jié)構(gòu)的OpenSees和LS-DYNA聯(lián)合計(jì)算的可行性和正確性。
以簡(jiǎn)支梁受均布荷載為例,如圖2所示。其中,向下的均布力大小為q=1 kN/m,梁的跨度L=1 m,截面寬度B=0.5 m,高度H=0.5 m。彈性材料強(qiáng)度為E=2×105kPa,μ=0.2。跨中撓度的解析解為,
(7)
圖2 簡(jiǎn)支梁受均布荷載
文中將OpenSees模擬、LS-DYNA模擬以及兩平臺(tái)聯(lián)合計(jì)算結(jié)果與解析解結(jié)果進(jìn)行對(duì)比。如圖3所示,OpenSees的建模采用了dispBeamColumn單元,材料采用了Steel01材料,并將1 m長的簡(jiǎn)支梁劃分為10個(gè)單元。使用eleLoad和beamUniform命令進(jìn)行均布加載,加載過程分為10步進(jìn)行,每次加載大小為0.1 kN/m。LS-DYNA的模擬加載過程與OpenSees相同,利用*DATABASE_NODOUT命令記錄跨中節(jié)點(diǎn)撓度。網(wǎng)格劃分與OpenSees相同,其余建模部分不再贅述。
圖3 簡(jiǎn)支梁有限元模型
基于NSM的兩平臺(tái)聯(lián)合計(jì)算將圖3分為如圖4所示的兩個(gè)部分。在OpenSees進(jìn)行主結(jié)構(gòu)計(jì)算的基礎(chǔ)上,根據(jù)數(shù)值子結(jié)構(gòu)的原理,將節(jié)點(diǎn)5和7的邊界位移條件un取出,傳遞到網(wǎng)格更為精細(xì)的LS-DYNA模型中。利用Matlab,將LS-DYNA計(jì)算出的非線性力Rn傳遞到主結(jié)構(gòu)OpenSees之中,計(jì)算非線性修正力Pn,具體實(shí)現(xiàn)方式如前所述。
圖4 基于NSM的聯(lián)合計(jì)算示意圖
將OpenSees模擬、LS-DYNA模擬以及兩平臺(tái)聯(lián)合計(jì)算的結(jié)果與解析解進(jìn)行對(duì)比并整理,結(jié)果如表1所示。
表1 計(jì)算結(jié)果與分析
從表1的結(jié)果上看,OpenSees和NSM的計(jì)算結(jié)果基本同解析解一致,且NSM由于使用了更為精細(xì)的網(wǎng)格,計(jì)算結(jié)果更好。且NSM原理的設(shè)計(jì)最初是為了解決混合類型的問題,通過聯(lián)合OpenSees和LS-DYNA平臺(tái),最大化發(fā)揮兩種軟件在各自領(lǐng)域的作用,使解決單一軟件無法模擬的混合問題成為可能。從該角度分析,文中設(shè)計(jì)和開發(fā)的基于數(shù)值子結(jié)構(gòu)方法的OpenSees與LS-DYNA聯(lián)合計(jì)算模型可以較好的滿足這一要求。
LS-DYNA最初是用來分析較為真實(shí)的物體碰撞沖擊等問題。但如果采用整體精細(xì)化建模,工程量和計(jì)算量巨大,接觸關(guān)系的判斷也消耗大量時(shí)間。前述提到的數(shù)值子結(jié)構(gòu)方法可以較好地應(yīng)對(duì)這類問題。本算例通過模擬框架結(jié)構(gòu)在沖擊作用下的響應(yīng)來說明數(shù)值子結(jié)構(gòu)方法的可行性和正確性。該框架結(jié)構(gòu)采用纖維截面建模,且內(nèi)部材料使用本構(gòu)關(guān)系較為復(fù)雜的ECC材料。如圖5所示。
圖5 框架結(jié)構(gòu)示意圖(單位:mm)
框架結(jié)構(gòu)中每層尺寸為6 m×6 m,高度為3×3.6 m,底部固定3個(gè)方向的位移和轉(zhuǎn)角。梁柱截面采用纖維截面,尺寸為300 mm×300 mm。柱單元內(nèi)部采用混凝土和鋼筋組合纖維截面,縱向鋼筋由八根鋼筋(Φ20 mm)提供,相對(duì)于軸線對(duì)稱布置,附40 mm保護(hù)層。具體布置方式如圖6所示。分別采用ECC材料和混凝土材料進(jìn)行數(shù)值模擬[13],材料的參數(shù)如表2所示。ECC材料單軸拉壓本構(gòu)曲線如圖7所示。具體的本構(gòu)滯回關(guān)系和材料參數(shù)來源于Han[14]。
樓板采用剛性樓板,梁柱的彈性模量為3.25×104MPa。建立三維模型,計(jì)算步長取0.000 1 s。文中設(shè)置子彈以1 000 m/s的速度對(duì)節(jié)點(diǎn)6和節(jié)點(diǎn)11中間的柱單元1進(jìn)行沖擊以模擬子彈沖擊框架結(jié)構(gòu)。文中假定彈體為剛體,忽略子彈侵徹對(duì)結(jié)構(gòu)的影響,僅考慮直接受沖擊單元進(jìn)入強(qiáng)非線性狀態(tài)的分析,以及沖擊后對(duì)整體框架的影響?;贜SM的算法,將整體框架定義為主結(jié)構(gòu),采用較為粗糙的網(wǎng)格劃分,使用OpenSees進(jìn)行數(shù)值模擬。利用OpenSees中的uniaxialMaterial Elastic進(jìn)行材料線彈性階段的分析,并記錄節(jié)點(diǎn)6和11的邊界位移un(包括3個(gè)方向的位移和轉(zhuǎn)動(dòng)以及各自的速度和加速度),將其傳遞給子結(jié)構(gòu)。其余的接口設(shè)置、數(shù)據(jù)傳遞方式,以及啟動(dòng)與等待點(diǎn)的設(shè)置如前例所述[15-19]。
圖6 纖維梁柱截面示意圖
ECC 混凝土 鋼筋 應(yīng)變/%應(yīng)力/MPa應(yīng)變/%應(yīng)力/MPa應(yīng)變/%應(yīng)力/MPa-2.000.0-0.500.0-14.0-620.0-0.50-80.0-0.30-80.0-0.2-410.00.000.00.000.00.00.00.024.50.014.00.2410.03.806.00.200.014.0620.06.000.0——16.0650.0
子結(jié)構(gòu)采用LS-DYNA進(jìn)行建模分析,使用較為精細(xì)化的網(wǎng)格。對(duì)于子結(jié)構(gòu)的建模分為柱單元1和子彈兩部分組成。其中子彈部分的建模,參考了55式37 mm曳光殺傷彈,口徑37 mm,彈丸部分長度174 mm,平均密度約8 000 kg/m3,彈丸重0.7 kg,屬于較小型的炮彈。本例中假設(shè)子彈以1 000 m/s的速度沖擊單元1。單元1共分為24個(gè)單元,單元的上下兩端用*BOUNDARY_PRESCRIBED_MOTION_NODE命令進(jìn)行位移速度以及加速度的加載和控制。
數(shù)值模擬結(jié)果分析如圖8-圖12所示。
由圖8和圖9可知,在子彈沖擊柱單元之后,柱體發(fā)生了強(qiáng)烈的變形。隨著時(shí)間的增加,使用了混凝土材料的柱單元發(fā)生了明顯大于ECC的變形,且從變形圖上看,混凝土柱單元變形嚴(yán)重,且跨中部分明顯進(jìn)入強(qiáng)非線性。由于ECC較好的韌性和較大的抗拉屈服應(yīng)變,使用ECC材料的柱單元變形曲線較好,且跨中位移較小,較好的抵抗了子彈的沖擊。由圖10和圖11可知,受子彈作用的影響,柱單元中所使用的混凝土材料很快達(dá)到了設(shè)計(jì)的極限抗拉應(yīng)變并退出工作。而所使用的ECC材料在屈服之后仍可以承擔(dān)一定的拉力,并正常工作。且使用ECC材料的柱單元,其內(nèi)部鋼筋的應(yīng)變明顯小于混凝土柱單元中鋼筋的應(yīng)變。
圖7 材料單軸拉壓示意圖
圖8 單元1變形示意圖
圖9 單元1跨中位移示意圖
圖10 混凝土纖維應(yīng)力應(yīng)變曲線
圖11 鋼筋纖維應(yīng)力應(yīng)變曲線
圖12 樓板側(cè)向位移示意圖
由圖12可知,從主結(jié)構(gòu)計(jì)算的結(jié)果來看,子彈對(duì)主結(jié)構(gòu)的沖擊有著不可忽視的作用,且在使用ECC材料后,樓板的側(cè)向位移得到了一定的限制,特別是對(duì)于更高樓層的位移,限制結(jié)果更明顯。本算例不僅驗(yàn)證了NSM方法的可行性和適用性,也體現(xiàn)了ECC材料在性能方面一定程度上優(yōu)于混凝土材料。
文中基于數(shù)值子結(jié)構(gòu)的理論,提出并實(shí)現(xiàn)了OpenSees與LS-DYNA聯(lián)合計(jì)算的方法。采用OpenSees進(jìn)行大規(guī)模主結(jié)構(gòu)的線性分析,用LS-DYNA進(jìn)行局部精細(xì)化隔離子結(jié)構(gòu)的非線性分析。用Matlab做主控制程序,通過分別調(diào)用OpenSees和LS-DYNA實(shí)現(xiàn)兩個(gè)軟件平臺(tái)的聯(lián)合計(jì)算。該過程采用位移控制等命令保證了邊界位移協(xié)調(diào),并通過非線性修正力的計(jì)算保證主結(jié)構(gòu)和子結(jié)構(gòu)受力的等效性。利用新建的OpenSees和LS-DYNA聯(lián)合計(jì)算平臺(tái)對(duì)受均布荷載的連續(xù)梁進(jìn)行分析,通過與解析解、單獨(dú)用OpenSees計(jì)算結(jié)果和單獨(dú)用LS-DYNA計(jì)算結(jié)果對(duì)比,驗(yàn)證了所提的基于數(shù)值子結(jié)構(gòu)方法的OpenSees和LS-DYNA聯(lián)合計(jì)算方法的正確性和可行性。利用該平臺(tái),對(duì)一個(gè)三層ECC框架結(jié)構(gòu)受子彈沖擊的算例進(jìn)行數(shù)值模擬。其結(jié)果說明該方法可以用于纖維截面和復(fù)雜本構(gòu)模型的簡(jiǎn)化計(jì)算?;跀?shù)值子結(jié)構(gòu)的OpenSees和LS-DYNA聯(lián)合計(jì)算方法為整體結(jié)構(gòu)局部受到強(qiáng)沖擊作用的諸類混合問題提供了一個(gè)可行且優(yōu)化的計(jì)算方法。