网站大量收购独家精品文档,联系QQ:2885784924

VisualC编程计算桁架内力.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VisualC编程计算桁架内力

Visual C++编程计算桁架内力 叶达忠,黎东晓 (广西水利电力勘测设计研究院,广西南宁530023) ??? [摘? 要]论述用矩阵位移法、Visual C++ 6.0编程计算平面桁架内力的思路及过程,并以实例加以验证,结果表明:与清华大学编制的结构力学求解器验算的结果一致,所编程序经设计部门初步应用效果良好。 ??? ??? 超静定桁架结构是建筑结构中一种常见的承载结构,其计算基本方法包括:力法、位移法和混合法,它们都是手工计算的方法。矩阵位移法则把结构看成是由若干根称为单元的杆件,在结点处连接而成的,应用矩阵这一数学工具,将传统的位移法与电子计算机的应用结合起来的方法,这种方法能高效地解决结构计算问题。众所周知,Visual 是优秀的高级语言,笔者利用Visual C++ ,按矩阵位移法编程计算桁架内力,以解决复杂桁架内力问题。 ??? 用矩阵位移法进行分析时,首先假想将桁架离散为一根根杆件进行单元分析获得杆件的单元刚度矩阵[k](e),然后再将各杆件集合成整体结构进行分析以形成结构的刚度矩阵[K],最后求解式(6)的方程组,得到节点位移{Δ}后再求出各杆件内力[1]。 1思路及数学模型1.1局部坐标系的单元刚度矩阵 ????? A——断面面积; ????? L——杆件长度。1.2坐标转换矩阵 ??? 桁架杆件轴线方向各不相同,为了考虑整个桁架力的平衡和变形协调,各单元杆端力与位移都必须转换到统一坐标系中。设xoy为单元局部坐标系,XOY为整体坐标系。则 1.3整体坐标系的单元刚度矩阵 1.4桁架结构刚度方程 ??? 离散的单元集成整体桁架结构,使整个桁架力的平衡条件和变形协调条件得到满足: 式中[K]为桁架整体刚度矩阵,是一个2N阶方阵(N为桁架节点总数),可根据刚度集成法由桁架单元刚度矩阵[k]e构成;{Δ}为桁架节点位移向量,由按节点编码顺序排列的2N个分量组成,为待求量;{P}为节点荷载向量,排列顺序与{Δ}一一对应。 1.5引入支乘条件 ??? 引入支乘条件对式(6)进行修改:首先给出零位移在{Δ}中的位置号码,然后对[K]和{P}进行修改。修改后的刚度方程为:??? [K]*{Δ}={P}*? (7)1.6计算内力 ??? 杆件内力通常在局部坐标系下进行,根据式(1),其中{Δ}e 是从节点位移向量{Δ}中取出来的属于单元e的杆端位移向量。展开求解,且=0,令该杆轴力为N,并按材料力学规定受拉者为正,受压者为负,所以有,最后得出各单元内力公式为: 程序中按式(8)计算杆件内力[2]。2编程2.1总框图(见图1) 2.2C++自定义函数 ??? 程序按编程框图编制主函数,另包括5个子函数,分别可进行5项功能计算:GUASS~高斯消去法解线性方程组;COSI~计算杆件长度及角度参数;STIFT~计算整体坐标系单元刚度矩阵;PLACT~计算桁架杆件杆端定位号;ASSEMT~平面桁架刚度集成[3]。 ??? 为保证数值计算的稳定性,子函数采用全选主元高斯(GAUSS)消去法求解阶线性代数方程组AX=B,第一步,消去过程,从系数矩阵A的K行、K列开始的右下角子阵选取绝对值最大的元素,并通过行交换与列交换将它交换到主元素的位置上: 中的元素顺序进行调整。 ??? 整型函数int gauss(double dFactor_A,int iDime_N ,double dCons_B ),函数返回一个整型标志值。若返回标志值为0,则表示原方程组的系数矩阵奇异,输出消息“Fail”; 若返回标志值不为0,则表示正常返回。 ??? 函数COSI根据桁架杆件两端节点的坐标值计算该杆件长度和杆轴线角度的正弦和余弦。考虑到输入桁架节点坐标比输入杆件长度和角度更方便,而编写COSI子程序。杆件始端节点的坐标值(X1,Y1);杆件末端节点的坐标值(X2,Y2)。杆件长度l和杆件角度的正弦和余弦可根据以下公式算 ??? 函数STIFT根据桁架杆件两端节点的坐标值和断面抗拉刚度计算整体坐标系的单元刚度矩阵[K](e)。每调用子程序一次产生一个单元的单元刚 ??? 函数PLACT,对于任一平面桁架杆件,根据两端节点的编码计算该单元定位号。每调用子程序一次产生一个单元的定位号4个分量。IB1、IE1为平面桁架杆件始端、末端节点的编码。定位号计算公式: ??? 函数ASSEMT,根据平面桁架杆件两端节点的编码,将该杆的单元刚度矩阵[K](e)并入结构总刚度矩阵[K]中。K存放结构总刚度矩阵[K],第一次调用为零阵,输出时多了一根杆件的[K](e)。函数源代码包括6个文件Truss.c,Gauss.c,stift.c,plact.c,cosi.c,assemt.c。 ??? 限于篇幅,省略部分自定义函数代码。 2.3数据输入及输出 ??

文档评论(0)

sunshaoying + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档