一、前言
板(排)樁係一般工地開挖或邊坡整治皆會考慮工法之一。依照建築技術規範,開挖深度>1.5M需設置擋土設施。當基地進行開挖,即產生土壤力學行為,力學公式σa=rs'zx*ka-2c√ka,σp=rs'zx*kp+2c√kp,其作用力變化如土壓力圖,將數值轉為陣列函數後,參考積分公式:面積A=∫abf(x)dx、形心χ=∫abxf(x)dx,以辛普遜式編輯為應用程式,再將土壓力圖,層層線段面積累計疊加,即可轉換成剪力圖、彎矩圖。最後,依共軛樑法將彎矩圖套於面積距式,即可完成撓度(變位)圖。
茲提供相關程式語言分享,敬請指教。
二、實作方法
1. 面積
double getShape_A(double a, double b,double[] px,double[] py) |
Int i,j,k,n=20; double h,dx,zx,ax,sum; |
dx=Math.abs(b-a)/n;sum=0; for(i=0;i<(n+1);i++) { zx=dx*i; x=a+zx; h=cp.getIp_Az(x,px,py);//(註) if(i==0||i==20) sum+=h; else if((i%2)==0)sum+=2*h; else sum+=4*h; } ax=sum*dx/3; return ax; |
2. 形心
double getYY_x(double a, double b,double[] fx,double[] fy) |
int i,j,k,n=20; double h,kx, x,zx,dx,ax,sum; |
dx= Math.abs(b-a)/n ;kx=0; sum=0;ax=0; for (i=0;i<(n+1);i++) { x=i*dx; zx=a+i*dx; h=cp.getIp_Az(zx,fx,fy); //(註) if(i==0||i==n){ax+=h;sum+=h*x;} else if((i%2)==0){ax+=2.0*h;sum+=2.0*h*x;} else {ax+=4.0*h;sum+=4.0*h*x;} } ax*=dx/3;ax=ax; sum*=dx/3; kx=(ax==0)? 0:a+(sum/ax); kx=rd.getRod(kx,2); return kx; |
3. 面積距
double[][] getShape_M(double hx, double[] px,double[] py) |
int i,j,k,n=20; double zx,dx=Hx/n; double a,x,xc,ax,mn, ma,mx; |
ax=getShape_A(0,hx,px,py); x=getYY_x(0,hx,px,py); ma=ax*x; double[][]fx=new double[2][n+1]; mn=0;a=0; for(i=0;i<(n+1);i++) { zx=dx*i; ax=getShape_A(a,zx,px,py); xc=getYY_x(a,zx,px,py); mx+= ax*xc; mn=mx-ma; fx[0][i]=zx; fx[1][i]=mn; a=zx;} return fx; |
註: 內插公式 cp.getIp_Az(略)
三、結語
板樁程式設計除土壤力學理論(略)外,主要為面積與形心公式。作業視窗內容包含:基地開挖深度、鑽探資料與擋土材料性質等條件。先建立土壓力圖,再藉由層層線段面積(距)累計疊加,即可轉換其它不同圖形。程式建置後,可快速準確求得板樁理論貫入深度,亦可模擬不同貫入深度下之擋土設施變化圖。
四、成果圖面
作業視窗
土壓力圖
剪力圖
彎矩圖
撓度(變位)圖
【本文稿經由台灣省土木技師公會技師報同意轉載;未經允許請勿任意轉載】
精選文章
新進文章