HYRCAN多層土邊坡(Non-Homogeneous Slope)穩定性分析以及安全系數的自動提取(JavaScript)

1 引言

在【HYRCAN腳本描述以及與SLIDE計算結果比較】中討論了單一土層邊坡安全系數的計算過程,在這個筆記中,我們討論由多層土組成的非均質邊坡(Non-Homogeneous Slope)的穩定性分析,并與SLIDE的計算結果進行了比較。


2 計算步驟

這個例子邊坡由三種不同的土組成,如下圖所示。

HYRCAN多層土邊坡(Non-Homogeneous Slope)穩定性分析以及安全系數的自動提取(JavaScript)的圖1

(1) 項目設置

選擇四種方法,改變“條塊數量”值,設置為50。

set("Method","GLE/M-P","on","Method","JanbuSim","on","Method","Spencer","on")set("numSlice",50)

HYRCAN多層土邊坡(Non-Homogeneous Slope)穩定性分析以及安全系數的自動提取(JavaScript)的圖2

(2) 邊坡形狀

按順序把邊坡的外部形狀畫出來,使用主菜單”幾何構型->外部邊界”命令,順序輸入外部邊界坐標,結束后輸入”c[close]”, 形成邊坡形狀,如下圖所示。

extboundary(20,25,30,25,50,35,70,35,70,20,20,20,20,25)

HYRCAN多層土邊坡(Non-Homogeneous Slope)穩定性分析以及安全系數的自動提取(JavaScript)的圖3

(3) 材料邊界

由于本例有三種土,因此需要把材料邊界畫出來。使用主菜單"幾何構型->材料邊界”命令,順序輸入第一個材料邊界和第二個材料邊界,結果如下圖所示。

matboundary(30,25,50,29,54,31,70,31)matboundary(40,27,52,24,70,24)

HYRCAN多層土邊坡(Non-Homogeneous Slope)穩定性分析以及安全系數的自動提取(JavaScript)的圖4

(4) 材料參數

使用“屬性->定義材料”打開定義材料屬性對話框,輸入三種土的參數。

HYRCAN多層土邊坡(Non-Homogeneous Slope)穩定性分析以及安全系數的自動提取(JavaScript)的圖5

definemat("ground","matID",1,"matName","soil 1","uw",19.5,"cohesion",0,"friction",38)definemat("ground","matID",2,"matName","soil 2","uw",19.5,"cohesion",5.3,"friction",23)definemat("ground","matID",3,"matName","soil 3","uw",19.5,"cohesion",7.2,"friction",20)

(5) 分派屬性

因為本例有三種土,我們已經劃分了土層的邊界,也對每種土定義了材料參數,接下來必須把材料參數賦值到相應的土層上,否則程序不知道哪層土對應哪個參數。使用“屬性->分配屬性”命令打開"指定材料"對話框,選擇土層名稱,然后用鼠標點擊土層的區域,程序會自動把材料參數賦值到對應的土層。

assignsoilmat("matid",1,"atpoint",44.1517,29.8778)assignsoilmat("matid",2,"atpoint",48.762,33.2468)assignsoilmat("matid",3,"atpoint",37.591,22.2532)

HYRCAN多層土邊坡(Non-Homogeneous Slope)穩定性分析以及安全系數的自動提取(JavaScript)的圖6

(6) 邊坡約束

當產生邊坡形狀時,程序會自動設置邊坡約束。使用“表面->定義邊坡約束”打開對話框, 在本例中我們選擇“第二組約束“,并且把第二組約束的X坐標改為45。

definelimits("limit",20,36.665,"limit2",45,70)

HYRCAN多層土邊坡(Non-Homogeneous Slope)穩定性分析以及安全系數的自動提取(JavaScript)的圖7

(7) 計算

使用“分析->計算”命令開始進行計算。

compute()

(8) 結果顯示

選擇主菜單”結果”下的“全部表面“和”展示條塊”,如下圖所示的Bishop Simplified方法。

show("allsurfaces")show("slices")

HYRCAN多層土邊坡(Non-Homogeneous Slope)穩定性分析以及安全系數的自動提取(JavaScript)的圖8

相同的數據在SLIDE下運行,計算結果比較如下:

HYRCAN多層土邊坡(Non-Homogeneous Slope)穩定性分析以及安全系數的自動提取(JavaScript)的圖9

可以看出,兩個軟件的計算結果基本一樣。


3 提取安全系數FOS

下面使用JavaScript語言自動提取每種計算方法的安全系數。代碼如下:

fid = fopen("out.txt", "w")var fos_bishop = Math.round(getminfos("BishopSim")*1000)/1000;var fos_gle = Math.round(getminfos("GLE/M-P")*1000)/1000;var fos_janbu = Math.round(getminfos("JanbuSim")*1000)/1000;var fos_spencer = Math.round(getminfos("Spencer")*1000)/1000;fprintf(fid, "Min. FOS for Bishop Simplified Method: "+ fos_bishop +"\n");fprintf(fid, "Min. FOS for GLE/M-P Method: "+ fos_gle+"\n");fprintf(fid, "Min. FOS for Janbu Simplified Method: "+ fos_janbu +"\n");fprintf(fid, "Min. FOS for Spencer Method: "+ fos_spencer+"\n");fprintf(fid, "\n");

取出的結果如下:

Min. FOS for Bishop Simplified Method: 1.407Min. FOS for GLE/M-P Method: 1.376Min. FOS for Janbu Simplified Method: 1.26Min. FOS for Spencer Method: 1.376

交換腳本使用哪種語言其實并不重要,HYRCAN是使用QtScript來實現的,但我覺得使用pyQT實現更好,畢竟Python的句法規則更靈活一些。 

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

1