EXCEL加VBA用于沉降计算之探索与实践

时间:2022-08-14 06:05:42

EXCEL加VBA用于沉降计算之探索与实践

摘 要:EXCEL是广大工程技术人员使用较多的数值计算软件,但仅局限于简单的统计与公式计算。由于其附带的VBA开发环境不易使用,故一般人员较少用它来做复杂的计算,本文通过实例向读者展示了如何运用EXCEL VBA进行计算功能扩展,从而完成较复杂的运算功能,为工作带来更大的方便。

关键词:EXCEL VBA程序开发 沉降计算

abstract:EXCEL is one of engineering calculation softwares which is extensively applied by engineers. However, most of engineers only use it as a tool for number statistics or formula calculation. few people apply it to do complications calculation with its function of VBA for its difficulty applying. This article introduces the application of EXCEL VBA for advanced engineering calculation. The application of EXCEL VBA can finish more complicated calculation, which can simplify the calculation labors of engineers.

key word : EXCELVBA programme developmentcalculation of foundation settlement

中图分类号: N32文献标识码:A文章编号:

0 引言

随着经济的快速发展,高层建筑越来越多,基础沉降计算量加大,审图工作对勘察和设计的要求逐渐加深。手工计算过于复杂,现有的软件较繁杂,在使用中也存在这样或那样的问题,如:

(1)计算只能显示计算结果,出现错误往往不好检查。

(2)虽然通过计算可取得计算结果,但却缺乏有效地支持生成计算书的功能,不便于归档。

(3)计算层数受到限制。

因此,我们选择了开发新软件对基础沉降进行计算,开发环境为EXCEL VBA。EXCEL具有良好的二次开发接口功能,多数技术人员对EXCEL较熟悉,不需进行额外学习就能上手使用,而且借助EXCEL强大的编辑排版功能,生成计算书也很方便。

1 采用EXCEL解决的问题思路

EXCEL作为目前最常用的电子表格软件,它的主要特色是能够按预先编制的公式进行计算。EXCEL提供了对工程、财会、统计等多方面的众多函数,又能提供良好的文字编排功能,非常便于编制需保留计算过程的计算书,例如桩内力计算、挡土墙应力计算等。EXCEL计算的一个显著特点是需事先指定计算流程,而且计算是单向性的,如果想进行复杂计算,借助EXCEL附带的VBA功能则能较好地解决此类问题。

EXCEL提供了“宏”的概念来进行功能扩展。宏是存储在 Visual Basic 模块中的一系列命令和函数,当需要执行该项任务时可随时运行宏。

我们的思路是首先在EXCEL中设计好表格,包括原始数据栏、计算过程栏、计算结果栏,然后应用VBA对计算过程栏、计算结果栏进行计算流程编辑,直接调用原始数据,实现输入原始数据即见计算结果,其计算过程可供分析和打印调用。原始数据可以实时修改并观察计算结果。

2 程序设计及功能实现

通过对沉降计算过程的分析,结合EXCEL的计算功能,拟将整个过程分为3个部分:原始数据栏、计算过程栏、计算结果栏。如图1 所示:

图1 EXCEL加VBA计算基础沉降的程序界面

2.1 原始数据栏

原始数据主要包括基础沉降计算所需数据的输入,包括基础沉降所在位置处工程名称、基础长度(对于条形基础,可输入10倍以上的基础宽度)、基础宽度、对应于荷载效应准永久组合时的基础底面处的附加应力、地基承载力特征值、孔号、基础底面下各层土的厚度及对应压缩模量等。

2.2计算过程栏

计算过程栏主要包括每层土对应的深宽比z/b1、长宽比l1/b1(l1、b1分别取要计算的基础底面的长、宽的一半)、平均附加应力系数及、每一层的计算变形值s’及累计计算变形值∑s'。

首先对基础沉降计算过程进行分析:根据《建筑地基基础设计规范》(GB50007-2011)(下称规范)5.3.5节之公式:,重点是要求出平均附加应力系数、沉降计算经验系数以及地基变形计算深度的判定。

a.地基变形计算深度Zn以及单元分层厚度Δz是与基础宽度密切相关,由《规范》表5.3.7及5.3.8节公式得:

Δz=IF(I10>8,"1.0",IF(I10>4,"0.8",IF(I10>2,"0.6","0.3")))

Zn=(2.5-0.4*LN(I10))*I10

I10为基础宽度栏。

b.由法国数学家布辛奈斯克(J.Boussinesq)推导的半无限空间弹性体表面上作用有竖向集中力时,弹性体内所引起的应力解析解,均布矩形荷载角点下的附加应力系数可表示为:

(1)

对上式沿深度进行积分,可求得在Z深度范围内均布矩形荷载角点下的平均附加应力系数为:

(2)

(2)式为z、l、b的表达式,按《规范》之习惯,设m=l/b,n=z/b进一步化简为:

(3)

对于较简单有计算,在EXCEL中,我们可借助菜单“视图—编辑栏”来输入计算公式,对于象平均附加应力系数这样的复杂公式,我们借助EXCEL中的“宏”,通过VBA语言,创建所需要的命令和函数。打开菜单“工具—宏—Visual Basic 编辑器”,在VBAProject下插入“模块”,在模块下输入平均附加应力系数的函数代码, 定义=avafa(m,n),就可以在菜单“视图—编辑栏”中调用刚刚定义好的函数了,函数模块程序如图2所示:

图2 平均附加应力系数的函数模块程序

c. 压缩模量的当量值,,其中

d.沉降计算经验系数的判定比较复杂,分析规范表5.3.5,它是由几组离散变量组成,与变形计算深度内地基土的压缩模量的当量值、基底附加应力P 0及地基承载力fak相关。对表5.3.5进行分段曲线拟合:

≤2.5MPa=0.367-0.0668*+1.2*Po/fak

2.5<≤4MPa =0.367-0.0667*+1.2*Po/fak

4<≤7MPa =0.5-0.1*+1.2*Po/fak

7<≤15MPa=0.075-0.725+2.25*Po/fak-0.15**Po/fak

15 <≤20MPa=1-0.04*

《规范》上只说允许采用内插方法,当>20MPa,如何取值则没有说明,我们又将取值进行外推,增加了当>20Mpa,=0.2一条。

e.地基变形计算深度的判定,采用沉降比法对《规范》5.3.7节公式进行验证,ΔSn ’/ ∑s'≤0.025即可。

至此,我们已经解决了沉降计算的核心难点,计算结果就水到渠成了。

2.3 计算结果栏

在计算结果栏中,我们设置了最终变形量和深度判定结果。

3 使用说明及成果应用

为防止程序被用户随意修改,我们将工作EXCEL工作薄保存为模板文件,并将工作薄属性设置成只读。在使用时,用户只需输完原始数据,即可得到计算结果和一份完整的计算书,可以直接打印输出,或将计算结果另存,供以后查阅。同一个工程,当第一点的原始数据输完后,以后的计算点有时只需修改层厚和压缩模量,这样就大大提高了工作效率。

当计算层数较多时,本程序支持下拉。由于模板中的数据多数在VBA中会被动态修改或调用,所以,不能随意对工作表非原始数据栏中的数据进行绝对位置的变动,否则容易会出错。

本程序在实践中得到了运用,也的确给工作带来了方便,以前一幢高层的沉降计算需要一个人用手工一到两天的时间,使用本程序在一个小时之内就可以完成,而且有完整的计算书。

后记

通过编制软件,不仅使我们对沉降计算有了更深层次的理解,也使我们对EXCEL VBA功能的使用更加熟练。本软件给了我们一个启示,就是科技人员应该利用手边的工具,针对本职工作中遇到的困难去做一些有益的尝试,降低劳动强度,让更多的人从那些枯燥而繁琐的工作中解放出来,让更多人有精力去从事更有意义的工作。

本文只为抛砖引玉,让更多的专业人员能使用上免费而好用的软件,让更多的人加入到自己编程序的行列中来。

参考文献

1 陈希哲.土力学地基基础.北京:清华大学出版社(第二版)

2周予滨,赵震伟,陈涛,等.Office 2000中文标准版即学即用.北京:中国标准出版社.

3冯康,等.数值计算方法. 北京:国防工业出版社.

4建筑地基基础设计规范(GB50007-2011). 北京:中国建筑工业出版社

上一篇:浅谈非煤矿山地下开采采空区治理问题 下一篇:基于熵权 22期