劉振勇,馬嘉良,張夢梅,李培剛
(上海應用技術大學 軌道交通學院,上海 201418)
形狀記憶合金(shape memory alloy,SMA)是一種土木工程智能材料,利用其獨特的形狀記憶效應產(chǎn)生驅(qū)動力[1],可實現(xiàn)對土木工程結構的智能控制。袁磊[2]對NiTi合金進行循環(huán)荷載試驗,得到不同通電狀態(tài)和預應力狀態(tài)時不同的恢復力模型,提出SMA主被動控制系統(tǒng)能有效的控制結構加速度和層間位移;陳斌[3]通過微觀材性試驗,發(fā)展塑性與相變耦合的SMA宏觀本構模型,提出考慮塑性變形的SMA的自由能表達式,結合Abaqus模擬,證明本構的可靠性;李雙蓓等[4]測試了SMA在不同電流方案和不同初始應變下的回復性能,通過擬溫度荷載法模擬溫度變化對回復力的影響;陳翔等[5]對NiTiNb合金在不同預應變和溫度下的驅(qū)動力進行研究,考慮馬氏體逆相變受塑性變形的影響,構建相變和塑性耦合的形狀記憶合金本構模型,用Abaqus模擬SMA熱機耦合作用過程,結果與試驗結果吻合。在目前研究中,研究者們大多關注于SMA的應用,對SMA驅(qū)動力本構研究不夠充分。
現(xiàn)有的SMA驅(qū)動力本構主要分為3類:①基于熱力學理論的模型[6-11];②基于黏塑性理論的模型[12-13];③基于晶體理論的模型[14-15]。在以上3類模型中,部分模型雖公式簡單,但是適用范圍有限,例如Tanaka模型、Liang-Rogers模型,另一部分函數(shù)關系復雜,不適合工程應用,例如Ivshin-Pence模型、Achenbach-Muller模型。
OpenSees[16-17]是一個開源有限元程序,其材料庫中具有較豐富的鋼筋材料本構和混凝土材料本構,目前廣泛應用于混凝土結構分析。但OpenSees材料庫中目前尚沒有SMA驅(qū)動力本構。本文以SMA驅(qū)動力試驗為基礎,建立能夠綜合反映預應變、溫度等因素影響的驅(qū)動力本構,并將SMA添加到OpenSees材料庫中,試圖為基于OpenSees的SMA應用研究提供實現(xiàn)路徑。
文獻[18]中的SMA驅(qū)動力試驗中,試樣采用鎳鈦形狀記憶合金。首先將試樣拉伸至設計值,然后卸載,再將試樣固定于圖1所示的鋼架裝置,測量SMA升溫和降溫過程中驅(qū)動力隨溫度的變化關系。通過測量不同預應變的SMA驅(qū)動力,研究驅(qū)動力與預應變的關系。

圖1 實驗裝置Fig.1 Experimental installation
試驗裝置如圖1所示,主要包括鋼架、SMA、錨固裝置、荷載傳感器、自鎖U形鋼塊、連接螺栓及螺母。其中,SMA的端部直徑為10 mm,端部向內(nèi)150 mm范圍內(nèi)直徑過渡為6 mm,SMA圓柱段的直徑為6 mm。
SMA驅(qū)動力試驗數(shù)據(jù)詳見文獻[18],以試驗數(shù)據(jù)為基礎,本文提出SMA驅(qū)動力本構,分為升溫階段和降溫階段。
驅(qū)動力與溫度的關系可分為3個階段。
第1階段T<Ams,馬氏體逆相變前,驅(qū)動力與溫度之間呈線性關系:

第2階段Ams≤T≤Amf,發(fā)生馬氏體逆相變,驅(qū)動力大小受到預應變ε0、初應力σ0、溫度T的影響,且與溫度呈正弦關系:

T>Amf
第3階段,馬氏體逆相變后,驅(qū)動力與溫度之間呈線性關系:

驅(qū)動力與溫度的關系可分為3個階段。
第一階段:(T>Mms),馬氏體相變前,驅(qū)動力與溫度呈線性關系

第二階段:(Mmf≤T≤Mms),發(fā)生馬氏體相變,相變力與溫度之間呈正弦關系

第三階段:(T<Mmf),馬氏體相變后,驅(qū)動力與溫度之間呈線性關系

式中:E為SMA彈性模量;α為線彈性系數(shù);Ω為相變模量;θ為熱彈性模量;T0為初始溫度;ε0為預應變;εb為 最佳預應變;Msm、Mfm為馬氏體相變開始溫度及結束溫度;Ams、Amf為奧氏體相變開始溫度及結束溫度。
Opensees是一個開源有限元平臺,采用面向?qū)ο蟮木幊谭妒剑试S開發(fā)人員在Visual Studio平臺中添加新的材料模塊,主要包括配置編譯環(huán)境和新建SMA子類。
在Visual Studio平臺配置編譯環(huán)境,集成Active Tcl解析庫、Intel Parallel Studio XE并行計算庫、Git控制系統(tǒng),環(huán)境編譯簡圖如圖2所示。

圖2 環(huán)境編譯Fig.2 Environmental compilation
在OpenSees材料庫中新建SMA子類,主要包括2部分:①創(chuàng)建頭文件SMA.h,包括繼承成員函數(shù)和設置私有成員變量;②創(chuàng)建源文件SMA.cpp,包括接口函數(shù)和SMA子類成員函數(shù)。
OpenSees可實現(xiàn)對數(shù)據(jù)的封裝、類的繼承及函數(shù)的重載等功能。對于二次開發(fā)而言,應根據(jù)需要建立派生類并重載基類成員函數(shù)。在OpenSees中添加SMA材料需要通過繼承UniaxialMaterial類實現(xiàn)。頭文件SMA.h定義了繼承的Uniaxial-Material類的接口和變量,主要包括公有成員函數(shù)和成員變量的聲明,及私有成員變量的設置。具體代碼如下:
class SMA:public UniaxialMaterial {
public:
SMA(tag,heating_state,T,E,θ,A ms,A mf,
Ms m,Mf m,T0,ε0,εb,α);…
private:
bool heating_state;
doubleT;
doubleE;
doubleθ;…}
此時,tag表示材料編號,heating-state表示升溫狀態(tài),其他符號定義見1.2節(jié)。
成員函數(shù)文件是對SMA.h文件中聲明的公有成員函數(shù)進行補充定義,單軸材料類的公有成員函數(shù)如表1所示。

表1 單軸材料類主要成員函數(shù)Tab.1 Principal member functionsof uniaxial materials
具體步驟如下:
(1)定義構造函數(shù)UniaxialMaterial。
構造函數(shù)UniaxialMaterial定義SMA的數(shù)據(jù)變量:
SMA::SMA (tag, heating_state,T,E,θ,A ms,A mf,Ms m,Mf m,T0,ε0,εb,α):
UniaxialMaterial (tag,MAT_TAG_SMA),
heating_state(heating_state),…
(2)定義setTrialStrain函數(shù)。
在此函數(shù)中定義SMA驅(qū)動力本構關系,是材料添加的核心函數(shù)之一,SMA的驅(qū)動力本構流程圖如圖3所示(圖編號、表編號)。

圖3 SMA驅(qū)動力本構模型流程圖Fig.3 Flow chart of SMA driving force constitutive model
(3)定義commitState函數(shù)。
commitState函數(shù)在一個迭代步收斂后被調(diào)用,用于替換初始狀態(tài),給下一迭代步提供初始條件,若下一迭代步不收斂,則提供回退到上一迭代步的方法。
int SMA::commitState(void){
commit_tangent=trial_tangent;…}
(4)定義revert函數(shù)。
revert函數(shù)包括revertToLastCommit和revertToStart函數(shù),當出現(xiàn)不收斂狀態(tài)時,調(diào)用此函數(shù)回退到上一迭代步和初始值。
revertToLastCommit函數(shù)設置如下:
int SMA::revertToLastCommit(void){
trial_tangent=commit_tangent;…}
revertToStart函數(shù)設置如下:
int SMA::revertToStart(void){
trial_tangent=0;…}
(5)定義*getCopy函數(shù)。
此函數(shù)被構造函數(shù)調(diào)用,用以產(chǎn)生SMA材料的唯一副本,設置如下:
UniaxialMaterial*SMA::getCopy(void){
SMA* theCopy = new SMA (this->getTag (),
heating_state,T,E,θ,Ams,Amf,Ms m,
M mfT0ε0εbα
, ,,,);
theCopy->trial_tangent = trial_tangent; …}
(6)定義send Self /recvSelf函數(shù)。
用于發(fā)送和接收SMA數(shù)據(jù)到數(shù)據(jù)庫,最終形成輸出結果。
send Self函數(shù)如下所示:
int SMA::send Self(int cTag,Channel&theChannel){
static Vector data (20);
data (0)=this->getTag();…}
recvSelf函數(shù)如下所示:
int SMA::recvSelf(int cTag,Channel&theChannel,…){
static Vector data(16);…}
基于OpenSees平臺,建立文獻[18]中SMA試驗模型,SMA筋長度為150 mm,直徑為6 mm,各參數(shù)與文獻[18]保持一致。
采用dispBeamColumn單元、Fiber截面,使用Load Control加載,NormUnbalance收斂準則,KrylovNewton迭代算法進行分析,模型如圖4所示。

圖4 仿真分析Fig.4 Simulation analysis
SMA材料參數(shù)如表2所示。

表2 SMA材料參數(shù)Tab.2 SMA Material Parameters
不同預應變下,SMA的相變溫度如表3所示。

表3 不同預應變下的相變溫度Tab. 3 Phase transition temperature of different prestrains
以預應變?yōu)?%的SMA為例,模擬了升溫過程(10~186℃)和降溫過程(32~186℃)中驅(qū)動力與溫度的關系,結果如圖5所示。可見:計算最大應力值為455.3 MPa,試驗得最大應力值為465.2 MPa,兩者之間的誤差為2%,吻合良好。

圖5 8%預應變的驅(qū)動力與溫度關系Fig.5 Relationship between driving force and temperature of 8% prestrain
當SMA的預應變發(fā)生變化時,其驅(qū)動力會隨之發(fā)生變化。本文分別計算了SMA預應變?yōu)?%、6%、8%、10%、12%的驅(qū)動力,計算結果與試驗均吻合較好。其中在不同預應變下,升溫過程中最大驅(qū)動力試驗值與計算值如表4所示。

表4 試驗與計算最大驅(qū)動力Tab.4 The maximum driving force of test and calculate
最大驅(qū)動力隨著預應變的增大而增大,預應變?yōu)?0%時最大驅(qū)動力值最大,為472.8 MPa;當預應變繼續(xù)增大時,最大驅(qū)動力反而有所減小。
根據(jù)SMA驅(qū)動力試驗得到的數(shù)據(jù),本文提出能夠綜合反映預應變、溫度等因素影響的SMA驅(qū)動力本構。SMA的最大驅(qū)動力隨著預應變的不同而變化,存在一個最佳預應變。最佳預應變對應的驅(qū)動力最大。本文所用SMA最佳預應變?yōu)?0%。不同預應變的SMA在驅(qū)動過程中的驅(qū)動力變化規(guī)律相同。在相變發(fā)生時,驅(qū)動力與溫度呈正弦函數(shù)變化關系。在相變前后,驅(qū)動力與溫度呈線性變化關系。
通過Visual Studio平臺集成Active Tcl解析庫、Intel Parallel Studio XE并行計算庫、Git分布式版本控制系統(tǒng),配置編譯環(huán)境。通過創(chuàng)建UniaxialMaterial類的頭文件和成員函數(shù)文件,創(chuàng)建SMA子類,將SMA驅(qū)動力本構添加至Open Sees材料庫。利用本文開發(fā)的SMA本構,基于OpenSees平臺進行了模擬計算,結果與試驗數(shù)據(jù)吻合良好。
需要指出的是,因試驗數(shù)據(jù)樣本有限,后續(xù)研究應圍繞提高模型的精度及準確性展開,這就需要更多的數(shù)據(jù)樣本。