李金柱+王忠瑾+謝新宇+王文軍
摘要:當前的土力學課程教學中,求解手段落后導致學生解決實際工程問題能力不足。以液塑限試驗數(shù)據(jù)處理、前期固結(jié)壓力求取、地基附加應力計算和滑坡穩(wěn)定性計算等為例,將MATLAB程序引入土力學教學。實踐表明,MATLAB程序的應用可解決傳統(tǒng)教學方式存在的諸多問題,大幅提高教學效率,培養(yǎng)學生的動手能力和創(chuàng)新能力。
關(guān)鍵詞:MATLAB;土力學;教學改革
中圖分類號:G6420;TU43文獻標志碼:A文章編號:
10052909(2017)05012905
土力學是土建類專業(yè)的一門本科主干專業(yè)課程,通過土力學的學習,學生應牢固掌握土力學的基本原理、計算分析方法和基本實驗技能,初步具備分析和解決相關(guān)工程問題的能力。然而,不同于其他力學類課程,土力學缺乏系統(tǒng)性,知識點多且分散,導致學生難以把握其內(nèi)在知識脈絡,學習效果大打折扣,解決實際問題的能力嚴重不足。
一、土力學教學現(xiàn)狀及存在問題
當前的土力學教學,主要存在以下幾個問題亟待解決。
(1)教學重點把握不合理,實用性欠缺,學生解決實際問題的能力得不到鍛煉。培養(yǎng)學生解決實際工程問題的能力是土力學教學重要目標之一,實際教學過程中,由于公式繁瑣、計算量大,一些重要的工程問題在課堂教學中不得不被簡化乃至放棄。比如,粘性土邊坡穩(wěn)定是工程實踐中的常見問題,一般采用條分法計算,但是其計算過程極為繁瑣,學生很難通過實例求解來掌握。由于缺少真正意義上的工程訓練,學生通常在學習土力學過程中感到枯燥、空洞,在工作中遇到巖土工程問題時無從下手。
(2)教學方法陳舊,教學效果欠佳,學生學習積極性不高。土力學是一門古老的學科,教材知識點相對陳舊,傳統(tǒng)的教學模式完全忠于教材,學生只會機械地套用公式,缺乏創(chuàng)新性,不能靈活運用各種手段解決實際問題。比如,沉降計算是土力學教學中的重要內(nèi)容,工程中經(jīng)常使用分層總和法進行沉降計算,
其計算原理是先將地基土分為若干層,計算每層土的壓縮量,然后累積起來即為總的地基沉降量。該方法在計算過程中需反復查表,計算多點應力和多層土壓縮量,手工計算效率非常低,而在當前課堂教學中,學生仍然采取手工計算方式求解。限于課時,又不得不將實際工程問題一再簡化。長此以往,學生容易養(yǎng)成機械的學習習慣,對土力學的基本概念和原理一知半解。
(3)工程求解手段落后,不利于學生創(chuàng)新能力培養(yǎng)。土力學教學內(nèi)容中有大量對經(jīng)驗的成果總結(jié),這些知識對于缺乏理論分析能力和工程實踐經(jīng)驗的本科生來說,難以真正理解。比如一些參數(shù)無法由理論推導得出,需要根據(jù)作圖法確定,先期固結(jié)壓力就是其一。教材中一般采用Cassagrande作圖法求取,該方法雖然簡單、易行,但其是一種經(jīng)驗作圖法,有很大局限性。該方法求得的結(jié)果很大程度上取決于作圖精度,準確性難以得到保證。類似現(xiàn)象還有許多,使學生在土力學的學習中產(chǎn)生困惑,難以理解土力學作為一門專業(yè)基礎(chǔ)課的科學性、嚴謹性,更不利于學生創(chuàng)新能力的培養(yǎng)。
近年來,計算機輔助教學技術(shù)的普及和數(shù)學計算軟件的快速發(fā)展,為土力學教學中改善以上問題提供了新思路。MATLAB即是眾多數(shù)學計算軟件中的杰出代表,是美國Mathworks公司開發(fā)的主要面對科學計算、可視化以及交互式程序設計的高科技計算軟件,其將數(shù)值分析、矩陣計算、科學數(shù)據(jù)可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等諸多強大功能集成在一個易于使用的視窗環(huán)境中,為眾多領(lǐng)域的科學研究和工程設計提供了一種全面的解決方案。由于其強大的功能,MATLAB在土力學理論研究及實際工程中均得到了廣泛應用[1],受到了科研工作者的青睞,部分高校教師也開始嘗試將其引入土力學課堂教學,解決一些復雜的計算問題,取得了明顯的教學效果[2-3]。筆者將在前人研究的基礎(chǔ)上,進一步總結(jié)MATLAB在土力學教學中的應用,為土力學教學改革提供參考。
二、MATLAB在土力學中的應用舉例
(一)在試驗數(shù)據(jù)處理中的應用
1.在液塑限試驗中的應用
規(guī)范[4]規(guī)定,液塑限聯(lián)合測定試驗時,以含水率為橫坐標,圓錐錐入深度為縱坐標繪制雙對數(shù)坐標圖。當三點共線時,分別取圓錐錐入深度為2 mm、17 mm時對應的含水率為塑限和液限;當三點不共線時,過高含水率的點連接其余兩點得到兩條直線,分別在兩條直線上求取圓錐錐入深度為2 mm時的含水率,若兩個含水率差值小于2%,則取兩點的平均值與高含水率的點作直線,該直線上錐入深度為2 mm、17 mm的點即為塑限和液限,當所得兩個含水率差值大于2%時,則應重做試驗。按該方法作圖時,不僅步驟繁瑣、精度難以保證,而且無法預先判斷試驗數(shù)據(jù)是否合格。若編制MATLAB小程序求解該問題,則可達到事半功倍的效果,該程序如下:
x=[w1, w2, w3]; y=[h1, h2, h3]; %三個點的含水率和錐入深度,按含水率由高到低排序
k12 = ( y( 1)-y( 2) ) /( x( 1) -x( 2) );%過點1、點2直線的斜率
k13 = ( y( 1)-y( 3) ) /( x( 1) -x( 3) );%過點1、點3直線的斜率
ifk12 ~= k13
if abs( ( 2-y( 1) ) /k12-( 2-y( 1) ) /k13) <2
wp=( 2-y( 1) ) /( 2* k12) +( 2-y( 1) ) /( 2* k13) +x( 1)
k14 = ( y( 1)-2) /( x( 1)-wp) ;
wl = ( 17-y( 1) ) /k14+x( 1)
else
title ('試驗數(shù)據(jù)不滿足要求,請重做試驗! ' ) ;
endendprint
else
wp = ( 2-y( 1) ) /k12+x( 1)
wl = ( 17-y( 1) ) /k12+x( 1)
end
2.先期固結(jié)壓力的確定
規(guī)范[4]規(guī)定,原狀土的先期固結(jié)壓力,可按Cassagrande法確定:先在e~logp曲線上找出曲率半徑最小的一點Q,過該點作水平線QA和切線QB及角AQB的角平分線QD,QD與曲線下半段的直線段延長線交于點E,E點對應的壓力即為該土樣的先期固結(jié)壓力。該方法存在繪圖繁瑣、最小曲率半徑點不易確定等缺點,作圖誤差較大。采用MATLAB程序求解,可以很好地解決這一問題。其中,壓縮曲線的曲線段可采用指數(shù)形式的三次多項式擬合,具體推導可見文獻[5]。該問題主要程序段如下:
a = polyfit(x, y, 3); %尋找曲率半徑最小點Q
xi = 25:5:1000;
yi = polyval(a, log10(xi));
plot(xi, yi, 'k-');
syms e Q;
e = a(1)*Q^3+a(2)*Q^2+a(3)*Q+a(4);
syms de de2 R;
de = diff(e, Q);
de2 = diff(e, Q, 2);
R = abs(de2)/(1+de^2)^(3/2);
xi = 25:1:800;
Ri = subs(R, Q, log10(xi));
R_min = min(Ri);
pos_R_min = find(Ri == R_min);
Q_min = xi(pos_R_min);
e_pos = subs(e, Q, log10(Q_min));
……
x_paral = [Q_min, Q_min + 150]; %過Q點作水平線QA
y_paral = [e_pos, e_pos];
plot(x_paral, y_paral,'k:');
……
k1 = subs(de, Q, log10(Q_min)); %過Q點做曲線的切線QB
x_tan = [Q_min, Q_min + 150];
y_tan = [e_pos, k1*log10((Q_min+150)/Q_min)+e_pos];
plot(x_tan, y_tan, 'k:');
……
k = -tan(atan(-k1)/2); %繪制角平分線QD
x_halve = [Q_min, Q_min + 300];
y_halve = [e_pos, k*log10((Q_min+300)/Q_min)+e_pos];
plot(x_halve, y_halve, 'k-');
……
xx = x(end-2:end); % 最小二乘法擬合最后三個點,繪制壓縮曲線直線段
yy = y(end-2:end);
aa = polyfit(xx, yy, 1);
logpc = (e_pos-(aa(2)+k*log10(Q_min)))/(aa(1)-k);
xxi = [10.^logpc-100,1000];
yyi = polyval(aa, log10(xxi));
plot(xxi, yyi, 'k-');
……
plot(10.^logpc, k*(logpc-log10(Q_min))+e_pos, 'k.'); %求QD與擬合直線的交點
gtext(['(',num2str(Q_min),',',num2str(e_pos),')']);
gtext(['(',num2str(10.^logpc),',',num2str(k*(logpc-log10(Q_min))+e_pos),')']);
pc = 10^(logpc);
……
(二)在工程計算中的應用
1.地基附加應力的計算
附加應力計算是地基沉降計算中重要的步驟,教材中通常根據(jù)荷載類型選用相應的表格,查取附加應力系數(shù)進行計算。在實際查表中,常常需要進行多次插值,耗費大量時間。若采用MATLAB編制程序求解,則非常方便快捷。以矩形均布荷載中心以下一定深度處的附加應力求解為例,給出其求解程序如下:
p=200; l=4; b=2; z=-10:0.1:0;
m=l/b; n=-2*z/b;
sigmaZ=2*p/pi().*(m.*n.*(m^2+2.*n.^2+1)./(m^2+n.^2)./(1+n.^2)./sqrt(m^2+n.^2+1)+asin(m./sqrt((m^2+n.^2).*(1+n.^2))));
subplot(1,1,1);
plot(sigmaZ,z);
grid on;
title('sigmaZ隨z的關(guān)系曲線');
xlabel('sigmaZ(kPa)');
ylabel('z(m)');
以上程序求解的是長4 m、寬2 m,大小為200 kPa的矩形均布荷載中心點下0到10 m的附加應力分布,如圖1所示。endprint
2.滑坡穩(wěn)定性計算
滑坡穩(wěn)定性計算是土力學中的重要問題,通常用條分法求解,即先假定一個滑動面,對滑動土體進行條分并求取安全系數(shù),然后逐一搜索其他滑動面并計算安全系數(shù),最后找出最危險的滑動面及其對應的安全系數(shù)。該過程計算量非常大,且容易出錯,而采用MATLAB程序可方便求解。文章以Fellenius條分法為例,簡述其實現(xiàn)過程。
如圖2所示,設均質(zhì)土坡沿圓弧滑動面AC滑動,圓心為O,半徑為R,將滑動土體ABC分為若干土條,忽略土條間的作用力,并假定各土條底部滑動面上的安全系數(shù)等于整個滑動面的安全系數(shù),則該滑動面安全系數(shù)為
K=(cili+Gicosθitanφi)Gisinθi(1)
式中,ci和φi分別是第i個土條的粘聚力和內(nèi)摩擦角,Gi為該土條的重力,Ii為該土條范圍內(nèi)的滑弧長,θi該土條底面中點的法線與豎直線的夾角。
Fellenius條分法的程序框圖如圖3所示,文獻[3]給出了一種解法,文章在其基礎(chǔ)上對最危險滑弧的搜索方法進行了優(yōu)化,其求解程序如下:
以文獻[6]中第266頁例題10-2為算例,均質(zhì)黏性土土坡坡高20 m,坡度1∶2,填土黏聚力為10 kPa,內(nèi)摩擦角20°,重度18 kN/m3,利用程序可求得該土坡安全系數(shù)為1.091,最危險滑弧圓心坐標為(7.054,40.963)。
三、結(jié)語
文章介紹了MATLAB在土力學教學中的應用情況,并給出了教學實踐中的部分應用實例。實踐表明,在土力學教學中引入MATLAB程序,不僅可以激發(fā)學生學習的興趣,還可加深學生對土力學原理的理解,增強學生對工程實際問題的認識,并提高其力學建模和數(shù)學計算能力,為將來更好地解決工程實際問題打下堅實基礎(chǔ)。參考文獻:
[1]金鑫,沈珠江,劉崇茹.MATLAB在土工試驗數(shù)據(jù)處理中的應用[J].巖土工程學報,2004,26(2):272-275.
[2]張百紅.二維滲流場的MATLAB仿真在土力學教學改革中的應用[J].高等建筑教育,2006,15(4):97-99.
[3]張典典,雷浩,吳月勇.MATLAB在瑞典條分法中的應用[J].科技視界,2014(7):138-138.
[4]國家質(zhì)量技術(shù)監(jiān)督局、中華人民共和國建設部. GB/T50123-1999 土工試驗方法標準[S]. 北京: 中國計劃出版社, 1999.
[5]劉用海,朱向榮,常林越. 基于 Casagrande 法數(shù)學分析確定先期固結(jié)壓力[J]. 巖土力學,2009,30(1):211-214.
[6]東南大學,浙江大學,湖南大學,蘇州科技學院. 土力學 [M].3版.北京:中國建筑工業(yè)出版社,2010.
Abstract: In the current teaching of soil mechanics, the backward of solving methods leads to the lack of students ability to solve practical problems. Taking the data processing of liquid plastic limit test, the calculation of the preconsolidation pressure, the calculation of the additional stress of foundation and the calculation of landslide stability as examples, this paper showed that the introducing of MATLAB programs in the teaching of soil mechanics could solve many problems caused by traditional teaching methods and improve the teaching efficiency greatly, and also could cultivate the students practical ability and innovative ability.
Keywords: MATLAB; soil mechanics; teaching reform
(編輯周沫)endprint