六跨连续梁内力计算程序程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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]);