基于ANSYS的轨道交通地下结构抗震设计软件开发
2020-12-25黄彪张中杰李明广陈加核陈锦剑
黄彪, 张中杰, 李明广, 陈加核, 陈锦剑
(1.上海交通大学 船舶海洋与建筑工程学院, 上海 200240;2.上海市城市建设设计研究总院(集团)有限公司, 上海 200215)
0 引言
我国是世界上最大的大陆浅源强震活动区,随着城市地下空间的快速开发,越来越多的轨道交通工程被规划于高地震烈度区。因此,作为国家生命线工程的主体结构之一,轨道交通的抗震验算是工程设计环节不可或缺的一部分[1-2]。
我国各行业参照的轨道交通抗震规范主要有《城市轨道交通结构抗震设计规范》(GB50909—2014)与《地下铁道建筑结构抗震设计规范》(DG/TJ08-2064—2009),两本规范包含的抗震验算方法主要有反应位移法、反应加速度法、时程分析法及惯性力法[3-9]。值得注意的是,目前市场上尚无轨道交通地下结构抗震分析软件,设计人员多需手动建模分析,效率低下、水平也参差不齐;此外,规范仅给出各方法的计算简图与公式,设计人员在遇到地质情况复杂的工程时,若完全按照勘察资料进行参数取值,易造成计算结果与实际不符[10-11]。因此,研发一款轨道交通地下结构抗震设计的专用软件,实现计算分析的输入参数化与输出自动化,提高计算效率的同时,又规范化设计人员的抗震验算流程,可为轨道交通设计的进步做贡献。
1 抗震设计软件技术路线
对现有设计规范中地下结构抗震计算方法进行梳理与研究,得到该抗震软件开发所需的技术路线,如图1所示。
图1 软件开发技术路线图
该抗震软件集成了常用3种地下结构形式(矩形框架、圆形盾构隧道、矿山法隧道)与4种计算方法(惯性力法、反应位移法、反应加速度法、时程分析法)。软件分为前处理、计算与后处理开发三部分。前处理模块采用C#语言进行开发,为计算模型的参数输入界面,该界面主要用于读取用户输入的计算参数,主要包括抗震算法参数和结构参数,共计12种组合形式;计算模块采用ANSYS自带的APDL命令流进行抗震算法的编写,根据用户输入的参数自动完成有限元建模与计算,并输出所需计算结果文件[12-13];后处理模块采用C#语言开发,基于已有的抗震报告模板,将ANSYS计算结果一键式导入报告模板生成抗震验算报告。
上述可知,软件整体分为三个大模块:前处理模块、计算模块、后处理模块。前处理模块需要设计用户交互界面,供用户输入计算参数;计算模块是整个软件的核心,根据用户输入的参数,调用ANSYS自动化建模,计算,并进行结果的提取;后处理模块需要将前面提取出来的结果素材编制为计算报告。
前处理模块和计算模块之间利用“*.sdmp”文件进行衔接,用户界面中输入的参数会被写入一个临时的“*.sdmp”文档,供APDL命令文件“*.sdinp”读入。当程序调用ANSYS计算时,APDL文件通过“*vread/*sread”命令对“*.sdmp”文档中的数据进行读取并完成建模。计算模块与后处理模块利用“*.sdr”文件进行衔接,APDL命令文件“*.sdinp”通过“*vwrite”命令对ANSYS的计算结果进行整理并输出,写入临时的“*.sdr”文档,并采用“/show”命令截取结构受力变形图,供后处理模块读入。最后,后处理模块通过word二次开发将计算结果导入抗震报告模板中。各模块间的相关联与工作流程,如图2所示。
图2 各模块关联图
由图2可知整个软件操作便捷,极大简化了用户有限元建模过程,用户仅需输入合理参数即可完成相关计算。其中,前处理模块主要提供结构类型、计算方法及相关计算参数的选取与输入;计算模块用于自动调用ANSYS进行建模与计算,并输出结果文件;后处理模块用于将计算结果导入抗震验算报告。
2 抗震设计软件开发
抗震设计软件的操作流程图,如图3所示。
GDI+图形界面用于显示用户设定的框架结构与土层之间的几何关系。结构参数与土层参数界面,会根据用于选取的地下结构(框架车站、圆形隧道、矿山隧道)与计算方法(惯性力法、反应位移法、反应加速度法、时程分析法)进行改变,共计12种组合。
2.1 前处理模块开发
前处理模块包含用户主界面与12个差异化参数模块开发。在用户主界面中,主要提供计算模型(框架车站、圆形隧道、矿山隧道)和计算方法(惯性力法、反应位移法、反应加速度法、时程分析法)的选取,如图3所示。同时,用户需提供地下结构抗震计算时的一些基本参数,如设防烈度、场地分类、抗震等级、地震作用等,并选择临时计算结果存储的工作文件夹路径。
根据用户选择的计算模型和计算方法,调用相应的建模界面,所以会有12个不同的建模界面。建模界面主要有三部分组成,一部分是采用GDI+的图形处理手段,在界面左边的PictureBox里面绘制模型示意图,使用户对模型有一个直观感受;一部分是根据结构形式制定的参数输入界面;一部分是根据不同算法制定的参数输入界面。
2.2 计算模块开发
完成参数输入后,生成“*.sdmp”参数文件,便进入计算模块开发。计算模块开发,首先需获取电脑中的系统环境变量,然后根据ANSYS的环境变量特征进行匹配,从而获取电脑中ANSYS的安装位置,为后续的调用奠定基础。检索电脑中的ANSYS程序的代码如下。
foreach (DictionaryEntry v in machineVars){
string vName = v.Key.ToString();
// 判断 1:
if (vName.Equals("ANSYS_SYSDIR",StringComparison.OrdinalIgnoreCase)){
ansysSysDir = v.Value.ToString();
continue;}
//判断 2:
图3 软件流程图
var mat = reg.Match(vName);
if (mat.Success){
versionNum = mat.Groups[1].Value;
ansysDir = v.Value.ToString();}}
确定ANSYS安装路径后,采用Batch批处理调用ANSYS 的APDL命令流文件“*.sdinp”,用于自动建模计算与结果导出。ANSYS的批处理是区别于GUI界面执行有限元分析的方式,批处理执行分析不用显式模型相关情况,仅在后台运行,避免了用于可视化显式的相关资源的应用,速度较GUI界面更快。而且批处理更大的好处是可以通过第三方软件或者编写的程序自动执行批处理过程,在二次开发中用的比较多,批处理执行关键代码如下。
string cmd = @"@echo offcd /d " + WorkingDir.WorkingDirectory + " ";
cmd += $"”{ansysExe}” -p ane3flds -dir ”{wkDir}” -j ”{jobName}” -s read -l en-us -b " +$"-i ”{inputFile}” -o ”{outputFile}”";
sw.WriteLine(cmd);
2.3 后处理模块开发
Ansys计算完成后,会在指定目录下依据APDL命令流生成对应的图片与计算结果,以反应位移法为例,计算后会生成结构轴力图、弯矩图与剪力图,同时还会根据不同报告需求,将相关荷载、位移数据保存至“*.sdr”文件,便于word二次开发时读取所需数据。
进一步利用word书签对报告模板进行数据读取,主要分为3部分内容:(1)先对所需模板及相关计算数据进行导入;(2)将设定路径下的图片插入word报告;(3)将最终计算所得的数据插入word报告对应书签位置。Word报告二次开发的关键代码如下。
//数据导入
var document = application.Documents.Add(@"D:/SDSS/MidFiles/车站惯性力法1.docx");
string std_file_name1 = Path.Combine(WorkingDir.WorkingDirectory, "Result.sdr");
string[] line1 = File.ReadAllLines(std_file_name1);
//图片写入
string picFileName = model.ModelName + "-" + split[0] + "-" + split[1] + ".jpg";
Selection s = application.Selection;
s.InlineShapes.AddPicture(workdinDirName + "" + picFileName);
//计算结果写入
Dictionary〈string, string〉 map = new Dictionary〈string, string〉(){
{"SheFangLieDuADD1WD",SheFangLieDu.ToString(CultureInfo.CurrentCulture)},};
3 抗震设计示例分析
为了验证抗震设计软件的可行性,选取某框架结构的反应位移法算例进行计算分析,结构采用混凝土材料,弹性模量为30 000 MPa;顶板截面为0.8 m×1.0 m,中板截面为0.4 m×1.0 m,底板截面为0.9 m×1.0 m,侧墙截面为0. 7 m×1.0 m,中柱截面为0.12 m×0.7 m,土体重度为20 kN/m3,土体动剪切模量为30 000 kPa,土层厚度为50 m,泊松比为0.3,设防地震加速度取0.2 g,切向土弹簧刚度kx为1 667 kN/m3,法向土弹簧刚度ky为5 000 kN/m3。输入参数后进行求解,如图4所示。
分析图(a)可知,中柱的轴力一般大于侧墙的轴力,中板与底板的轴力大于上顶板。反应位移法中,底板与左侧墙体交点处弯矩显著增大,弯矩水平远高于其余结构;同时,底板与右侧墙连接处的剪力水平也有所增大,但其水平同其余各处结构差别较小。分析图(d)可知,由于框架结构被强制施加了位移差,且顶板受到向右的剪切力作用,底板受到向左的剪切力,框架结构的变形表现为平行四边形状,上下之间的楼板发生错动,图中顶板与底板的位移差约为24 mm。该示例所得的计算结果与人工建模的结果相同,计算结果与反应位移法的结构受力变形特性吻合,进一步说明了该抗震软件计算结果的合理性[14-15]。
4 结语
设计人员在轨道交通地下结构抗震设计中多采用手动建模分析,存在效率低下、水平参差不齐、建模不规范等问题,本文针对该问题,开发了一款基于ANSYS的轨道交通地下结构抗震设计软件。该软件主要分前处理、计算与后处理三个模块:前处理采用C#语言完成用户主界面与12种计算模型参数输入界面的开发,并生成对应的参数文件;计算模块调用ANSYS的批处理功能,读取预编译的APDL命令流,完成建模、计算与结果导出,并生成结果文件;后处理模块采用C#完成word二次开发,生成最终的抗震计算报告。
本文开发的软件具有以下特点:操作简单,输入便捷,只需完成参数设定即可;易于推广应用,采用C#语言进行开发,可直接解压至安装window系统的计算机平台;计算效率高,自动调用ANSYS完成建模,并一键式得到所需的抗震验算报告。最后,结合某地铁车站框架结构的反应位移法进行示例分析,验证软件的可行性与合理性。
(a) 轴力图(反应位移法)
(b) 弯矩图(反应位移法)
(c) 剪力图(反应位移法)
(d) 结构变形图(反应位移法)