基于C语言的材料力学模型计算实现(弯曲应力篇)

本章节的研究对象是集中载荷与均匀分布荷载模型,在C语言程序中输入数据,借助Microsoft Excel电子表格对数据进行可视化处理,作出模型的剪力图与弯矩图,让用户更直观地看到模型受力情况。

弯曲应力可视化程序算法流程图如下:

Part 1.剪力图与弯矩图的可视化

例题3.试利用荷载集度、剪力和弯矩间的微分关系作左图所示梁的剪力图和弯矩图。

基于C语言的材料力学模型计算实现(弯曲应力篇)_第1张图片基于C语言的材料力学模型计算实现(弯曲应力篇)_第2张图片基于C语言的材料力学模型计算实现(弯曲应力篇)_第3张图片

解题思想与算法:

A.头文件与宏定义、全局变量声明部分:

#include
#include
#define N 5 
double M[N];//外力偶矩 
double F[N];//均匀集中力 
double f[N];//分布力 
double l[N-1];//各段长度 
double L=0.0;//总长 
double Fs;//总力 
double Ms;//总力偶矩 
double x=0.0;
int Number;
double F_Data;
double M_Data;

B.主函数与外部函数部分:

(1).按照提示输入对应数据.

按受力情况来分,左图的梁可分为AC与CB两段,在程序中,字母标记方式仍为:以O为原点,按照分段情况依次标记A、B、C等字母,如右图所示,OA对应AC段,AB对应CB段,基于=0与=0原理求解,由﹒2m-2kN﹒1.5m=0可得=1.5kN。按要求界面提示输入对应参数。

运行界面:

基于C语言的材料力学模型计算实现(弯曲应力篇)_第4张图片

代码片段:

int main(){
	char Letter[N]={'O','A','B','C','D'};
	printf("请输入所分段数(<=4):");
	scanf("%d",&Number);
	printf("请按一定方向依次输入连续各段长度与分布力情况.格式:长度,分布力(用英文逗号隔开).\n");
	for(int i=0;i

(2).程序计算剪应力:分布力(斜率)*距离+集中力(常数);计算弯矩:剪应力的积分+外力偶矩(常数)。将用户输入的每段距离分为20等份(也可以根据用户需要分为若干等份),创建名为“弯曲应力数据”的Excel表格,将坐标x、剪应力、弯矩数据分别导入表格1~3列。程序界面不会输出任何计算结果,程序结束。

代码片段:

FILE *fp;
	fp=fopen("弯曲应力数据.xls","w");//建立“弯曲应力数据”Excel文件
	fprintf(fp,"x\tFs\tM\n");//在文件中输入对应参数名
	fprintf(fp,"0\t0\t0\n");//图像的闭合性,Fs从零开始 
	for(int i=0;i

(3).用Excel处理数据:打开Excel后,点击“插入”,点击图表并选择散点图,选择一种合适的图表样式,如果不想被过多数据点干扰可选择“带平滑线的散点图”。例如,可得到如下图所示的剪力图与弯矩图,蓝线与x轴包围的部分表示剪力图,橙线与x轴包围的部分表示弯矩图。另外,还可以通过显示坐标数据等功能找出对应的极值点,进一步处理数据。

基于C语言的材料力学模型计算实现(弯曲应力篇)_第5张图片

Part 2.弯曲应力可视化程序的应用

变式5.由工字形钢制成的简支梁受力如图所示。已知材料的许用弯曲正应力[σ]=170MPa,许用切应力=100MPa。试选择工字钢号码。

基于C语言的材料力学模型计算实现(弯曲应力篇)_第6张图片

解题思路:对A点约束反力进行分析,基于=0与=0原理求解得:约束反力FA=113.12kN。按照界面提示输入参数,打开程序生成的Excel表格,插入图表,找到扭矩图曲线对应的最高点(极大值点),选择显示其对应纵轴坐标,得到Mmax约为83.97kN﹒m。最后按照题目要求进行计算,得出结果。

运行界面:

基于C语言的材料力学模型计算实现(弯曲应力篇)_第7张图片

Excel处理结果:

基于C语言的材料力学模型计算实现(弯曲应力篇)_第8张图片

结论:

弯曲应力篇对简单力学模型的剪力图、弯矩图实现了可视化的效果,使用支持MATLAB、Python等语言的IDE也能更方便地实现这种效果。最后一篇blog会对扭转变形、拉压变形、弯曲应力几篇内容进行总结,欢迎继续阅读QAQ~

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(材料力学,力学)