六跨连续梁内力计算程序程序_第1页
六跨连续梁内力计算程序程序_第2页
六跨连续梁内力计算程序程序_第3页
六跨连续梁内力计算程序程序_第4页
六跨连续梁内力计算程序程序_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.六跨连续梁内力计算程序说明文档一 程序适用范围本程序用来解决六跨连续梁在荷载作用下的弯矩计算。荷载可以是集中力Fp(作用于跨中)、分布荷载q(分布全垮)、集中力偶m(作用于结点)的任意组合情况。端部支承可为铰支或固支。二 程序编辑方法使用Turbo C按矩阵位移法的思路进行编辑,用Turbo C中的数组来完成矩阵的实现,关键的求解K=P的步骤用高斯消元法。三 程序使用方法运行程序后,按照提示,依次输入结点编号,单元编号,单元长度,抗弯刚度(EI的倍数),集中力,均部荷载,集中力偶,各个数据间用空格隔开,每一项输入完毕后按回车键,所有数据输入完毕后按任意键输出结果。输出结果中包括输入的数据(以便校核),角位移的值(以1/EI为单位)以及每个单元的左右两端弯矩值。四 程序试算1 算例1算力图示:输入数据:结点:1 2 3 4 5 6 0;单元:1 2 3 4 5 6;长度:4 6 6 8 4 6;EI:1 1.5 1 2 1 1.5;Fp:0 12 8 0 6 0;q:8 0 0 4 0 6;m:0 0 -8 0 10 0 0运行程序如下:结果为:角位移为:单元编号123456左端弯矩0.00000-14.92439-7.30243-12.37565-8.16809-7.95197右端弯矩14.92439-0.6975712.3756518.168097.9519723.02401弯矩图如下:2 算例2算例图示:输入数据:结点:0 1 2 3 4 5 6;单元:1 2 3 4 5 6;长度:4 6 6 8 4 6;EI:1 1.5 1 2 1 1.5;Fp:0 12 8 0 6 0;q:8 0 0 4 0 6;m:0 0 -8 0 10 0 0运行程序如下:结果为:角位移为:单元编号123456左端弯矩-9.82331-12.35339-7.76314-12.55393-6.58562-14.10360右端弯矩12.35339-0.2368612.5539316.5856214.103600.00000弯矩图如下:3 算例3算例图示:输入数据:结点:0 1 2 3 4 5 0;单元:1 2 3 4 5 6;长度:4 6 6 8 4 6;EI:1 1.5 1 2 1 1.5;Fp:0 12 8 0 6 0;q:8 0 0 4 0 6;m:0 0 -8 0 10 0 0运行程序如下:结果为:角位移为:单元编号123456左端弯矩-9.83978-12.32059-7.87793-12.19318-8.21722-7.93794右端弯矩12.32059-0.1220712.1931818.217227.9379423.03103弯矩图如下:4 算例4算例图示:输入数据:结点:1 2 3 4 5 6 7;单元:1 2 3 4 5 6;长度:4 6 6 8 4 6;EI:1 1.5 1 2 1 1.5;Fp:0 12 8 0 6 0;q:8 0 0 4 0 6;m:0 0 -8 0 10 0 0运行程序如下:结果为:角位移为:单元编号123456左端弯矩-0.00000-14.25984-7.18863-12.73600-6.53707-14.11573右端弯矩14.95284-0.8113712.7360016.5370714.115730.00000弯矩图如下:五源程序#include#include定义变量int joint7; 结点编号int unit6; 单元编号float length6; 长度float EI6; 抗弯刚度float P6; 集中力float q6; 均部荷载float m7; 集中力偶double I6; 线刚度int number=7,i,j;double K77=0; 整体刚度矩阵double k622; 单元刚度矩阵double MP62,Mq62,Mlast62,M7=0,tatleM7,mm7,Mqueue7=0,antiM7=0;依次为:集中力、均布荷载引起的固端弯矩,最终杆端弯矩,全部荷载引起的弯矩,总的结点荷载,按结点编号排列的结点集中力偶,按结点编号排列的固端弯矩,等效结点弯矩double angle7=0; 角位移void input(); 输入函数void solve(); 求解函数void output(); 输出函数void Gauss(); 高斯消元法void main() input(); solve(); output();void input() clrscr(); printf(Please input data.nnThe joint number:); for(i=0;i7;i+) scanf(%d,&jointi); printf(nThe unit number:); for(i=0;i6;i+) scanf(%d,&uniti); printf(nThe length:); for(i=0;i6;i+) scanf(%f,&lengthi); printf(nThe EI:); for(i=0;i6;i+) scanf(%f,&EIi); printf(nThe Fp:); for(i=0;i6;i+) scanf(%f,&Pi); printf(nThe q:); for(i=0;i6;i+) scanf(%f,&qi); printf(nThe m:); for(i=0;i6;i+) scanf(%f,&mi);void solve() for(i=0;i7;i+)if(jointi=0) number-=1; for(i=0;i6;i+) MPi0=-Pi*lengthi/8;MPi1=Pi*lengthi/8; for(i=0;i6;i+) Mqi0=-qi*lengthi*lengthi/12;Mqi1=qi*lengthi*lengthi/12; for(i=1;i6;i+) Mi=MPi-11+MPi0+Mqi-11+Mqi0; M0=MP00+Mq00; M6=MP51+Mq51; if(joint0=0)j=1;else j=0; for(i=j;i=1;i+) Mqueuejointi-1=Mi; mmjointi-1=mi; for(i=0;i7;i+) antiMi=-Mqueuei; for(i=0;i7;i+) tatleMi=antiMi+mmi; for(i=0;i6;i+) Ii=(EIi/lengthi); if(joint0=0) Kjoint1-1joint1-1+=4*I0; if(joint6=0) Kjoint5-1joint5-1+=4*I5; for(i=0;i=1&jointi+1=1&i6;i+) Kjointi-1jointi-1+=ki00; Kjointi-1jointi+1-1+=ki01; Kjointi+1-1jointi-1+=ki10; Kjointi+1-1jointi+1-1+=ki11; getch();void output() clrscr(); printf(The data you put in:ntjoint :); for(i=0;i7;i+) printf(t); printf(%d,jointi); printf(nntunit :); for(i=0;i6;i+) printf(t); printf(%d,uniti); printf(nntlength :); for(i=0;i6;i+) printf(t); printf(%1.0f,lengthi); printf(nntEI :); for(i=0;i6;i+) printf(t); printf(%1.1f,EIi); printf(nntFp :); for(i=0;i6;i+) printf(t); printf(%1.0f,Pi); printf(nntq :); for(i=0;i6;i+) printf(t); printf(%1.0f,qi); printf(nntm :); for(i=0;i6;i+) printf(t); printf(%1.0f,mi); Gauss(); for(i=0;i6;i+) Mlasti0=ki00*anglejointi-1+ki01*anglejointi+1-1+MPi0+Mqi0; Mlasti1=ki10*anglejointi-1+ki11*anglejointi+1-1+MPi1+Mqi1; printf(n-); printf(nThe angle(1/EI):nn); for(i=0;inumber;i+) printf(%12.6f,anglei); printf(n-); printf(nunit number); for(i=0;i6;i+) printf(%6d ,uniti); printf(nnleft M t); for(i=0;i6;i+) printf(%12.5f,Mlasti0); printf(nnright Mt); for(i=0;i6;i+) printf(%12.5f,Mlasti1); getch();void Gauss() int l,m;double box; double BOX7=0;for(j=0;j(number-1);j+) for(i=j;inumber;i+) if(Kij!=0) for(m=0;mnumber;m+) BOXm=Kim;Kim=Kjm;Kjm=BOXm; box=tatleMi;tatleMi=tatleMj;tatleMj=box; break;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论