六跨连续梁内力计算程序程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

六跨连续梁内力计算程序

说明文档

程序适用范围

本程序用来解决六跨连续梁在荷载作用下的弯矩计算。荷载可以是集中力Fp(作用于跨中)、分布荷载q(分布全垮)、集中力偶m(作用于结点)的任意组合情况。端部支承可为铰支或固支。

程序编辑方法

使用Turbo C按矩阵位移法的思路进行编辑,用Turbo C中的数组来完成矩阵的实现,关键的求解K⊿=P的步骤用高斯消元法。

程序使用方法

运行程序后,按照提示,依次输入结点编号,单元编号,单元长度,抗弯刚度(EI的倍数),集中力,均部荷载,集中力偶,各个数据间用空格隔开,每一项输入完毕后按回车键,所有数据输入完毕后按任意键输出结果。

输出结果中包括输入的数据(以便校核),角位移的值(以1/EI为单位)以及每个单元的左右两端弯矩值。

程序试算

算例1

算力图示:

输入数据:

结点:1 2 3 4 5 6 0;单元:1 2 3 4 5 6;长度:4 6 6 8 4 6; EI:1 1 2 1 ;

Fp:0 12 8 0 6 0;q:8 0 0 4 0 6;m:0 0 -8 0 10 0 0

运行程序如下:

结果为: 角位移为:1

(11.383738,-1.434142,-8.980504,14.053733,-10.192107,10.048027,0)EI

单元编号 1 2 3 4 5 6 左端弯矩 右端弯矩

弯矩图如下: 算例2 算例图示:

6EI 8kN/m 4m 3m 2m 8m kN/m 123

6547

4kN/m

3m 3m

3m 2m 6m

12kN 8kN

8kN.m

6kN

10kN.m

EI EI EI 1.5EI

1.52EI

输入数据: 结点:0 1 2 3 4 5 6; 单元:1 2 3 4 5 6; 长度:4 6 6 8 4 6; EI :1 1 2 1 ; Fp :0 12 8 0 6 0;

q :8 0 0 4 0 6;

m :0 0 -8 0 10 0 0

运行程序如下:

结果为: 角位移为:1

(0,1.686721,-10.080218,14.871010,-12.183221,17.195206,-26.597603)EI

单元编号 1 2 3 4 5 6 左端弯矩 右端弯矩

弯矩图如下: 算例3 算例图示:

6EI

8kN/m 4m 3m 2m 8m kN/m

1

236544kN/m

3m 3m

3m 2m 6m

12kN 8kN

8kN.m

6kN 10kN.m

EI

1.5EI EI EI 2EI 1.5

输入数据: 结点:0 1 2 3 4 5 0;

单元:1 2 3 4 5 6; 长度:4 6 6 8 4 6; EI :1 1 2 1 ;

Fp :0 12 8 0 6 0; q :8 0 0 4 0 6; m :0 0 -8 0 10 0 0

运行程序如下:

结果为: 角位移为:1

(0,1.653925,-9.949034,14.264283,-10.248253,10.062063,0)EI

单元编号 1 2 3 4 5 6 左端弯矩 右端弯矩

弯矩图如下: 算例4 算例图示:

6EI 8kN/m 4m 3m 2m 8m kN/m 123

6547

4kN/m

3m 3m

3m 2m 6m

12kN 8kN

8kN.m 6kN

10kN.m

EI EI EI 1.5EI

1.52EI

输入数据:

结点:1 2 3 4 5 6 7;单元:1 2 3 4 5 6;长度:4 6 6 8 4 6; EI:1 1 2 1 ;

Fp:0 12 8 0 6 0;q:8 0 0 4 0 6;m:0 0 -8 0 10 0 0

运行程序如下:

结果为:

角位移为:

1

(11.364772,-1.396211,-9.113262,14.660626,-12.126579,17.179023,-26.589511) EI

单元编号123456

左端弯矩

右端弯矩

弯矩图如下:

五.源程序

#include<>

#include<>

定义变量

int joint[7]; 结点编号int unit[6]; 单元编号float length[6]; 长度float EI[6]; 抗弯刚度

float P[6]; 集中力float q[6]; 均部荷载float m[7]; 集中力偶double I[6]; 线刚度int number=7,i,j;

double K[7][7]={0}; 整体刚度矩阵double k[6][2][2]; 单元刚度矩阵double MP[6][2],Mq[6][2],Mlast[6][2],M[7]={0},tatleM[7],mm[7],Mqueue[7]={0},antiM[7]={0};

依次为:集中力、均布荷载引起的固端弯矩,最终杆端弯矩,全部荷载引起的弯矩,总的结点荷载,按结点编号排列的结点集中力偶,按结点编号排列的固端弯矩,等效结点弯矩

double angle[7]={0}; 角位移void input(); 输入函数void solve(); 求解函数void output(); 输出函数void Gauss(); 高斯消元法

void main()

{

input();

solve();

output();

}

void input()

{

clrscr();

printf("Please input data.\n\nThe joint number:");

for(i=0;i<7;i++)

scanf("%d",&joint[i]);

printf("\nThe unit number:");

for(i=0;i<6;i++)

scanf("%d",&unit[i]);

printf("\nThe length:");

for(i=0;i<6;i++)

scanf("%f",&length[i]);

printf("\nThe EI:");

for(i=0;i<6;i++)

scanf("%f",&EI[i]);

printf("\nThe Fp:");

for(i=0;i<6;i++)

scanf("%f",&P[i]);

printf("\nThe q:");

for(i=0;i<6;i++)

scanf("%f",&q[i]);

相关文档
最新文档