C语言程序设计刚架程序流程图

上传人:宝路 文档编号:49248662 上传时间:2018-07-26 格式:PPT 页数:15 大小:67.33KB
返回 下载 相关 举报
C语言程序设计刚架程序流程图_第1页
第1页 / 共15页
C语言程序设计刚架程序流程图_第2页
第2页 / 共15页
C语言程序设计刚架程序流程图_第3页
第3页 / 共15页
C语言程序设计刚架程序流程图_第4页
第4页 / 共15页
C语言程序设计刚架程序流程图_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《C语言程序设计刚架程序流程图》由会员分享,可在线阅读,更多相关《C语言程序设计刚架程序流程图(15页珍藏版)》请在金锄头文库上搜索。

1、程序需要的主要数据struct ND_COORD / 定义结构体类型int n; /结点总数float *x; / 结点坐标;/ *x相当于 x2n; xn,yn.前n个为 结点的x坐标,后n个为结点的y坐标。struct ND_COORD F_X; / 定义结构体变量F_X ,来存放结点信息。 可设为全局变量。 如*(F_X.x+i), *(F_X.x+n+i),代表结点i的x,y坐标。程序需要的主要数据struct FE_INFO / 定义结构体类型int n; / 单元总数 int *t; / t2n 单元的节点编码 int *b; / bn 单元的截面编码 ; struct FE_IN

2、FO F_T; /* 定义结构体变量F_T ,来存放单元信息 。可设为全局变量。 如第5单元的结点分别为F_T.t8,F_T.t9, 截面编号为F_T.b4 */struct FE_PKMATRIX /定义结构体类型int n; / 自由度总数,即总刚方程的阶 数int *i; / in;总刚矩阵的索引数组, 即 主元素在k中的位置float *k; / kin-1+1 变半带宽一维 压缩存储的总刚矩阵; struct FE_PKMATRIX F_K;/* 定义结构体变量F_X ,来存放总刚矩阵的信息 。 如*(F_K.i+i),代表下标为i行主元素在压缩 存储总刚F_K.k中的位置, nd=

3、*(F_X.i+i+1)- *(F_K.i+i)代表下标为i行非0元素的个数。 struct FE_BOUNDARY /定义结构体类型 int n; / 约束总数或结点荷载数 int *node; / 约束对应的结点编号 int *attr; / 约束的方向值; 1-x方向; / 2-y方向,3转动方向 double *value; /沉降值或 荷载值; struct FE_BOUNDARY F_U,F_P; /* 定义结构体变量F_U,F_P ,分别来存放边 界约束和结点荷载的信息。 */struct FE_LOAD / 定义结构体类型 int n; / 非结点荷载总数 int *e; /

4、en,荷载作用的单元编 号 int *attr; /attrn, 荷载类型编号double *f; /f3n,常数c,a,G。 ; struct FE_LOAD F_F; /* 定义结构体变量F_F ,来存放单元非结点 荷载的信息。 */struct FE_AREA_INTER / 定义结构体类 型 int n; / 截面類型數 double *A; / 截面面积 double *I; / 截面惯性矩。 ;struct FE_AREA_INTER F_AI; /* 定义结构体变量F_AI ,来存放各类截 面面积和惯性矩。 */平面刚架静力计算程序流程图平面刚架静力计算程序流程图程序模块设计 i

5、nt Readdata_2(char *file)读取平面刚架有限元分析需要的所有数 据,如结点信息、单元信息、截面信息、 边界支座信息、荷载信息、材料信息等; 在此函数中定义全局变量F_X,F_T, F_U,F_P,F_AI,F_F,E0,并从文件 中读取相应的数据。 函数所需参数:*file为数据文件名 。成功读取数据,函数的返回值为0,数 据文件不存在,返回-1;内存出错,返回1 。2.int Kindex_2( ) 建立采用2结点梁单元计算平面刚架的变带宽 一维压缩存储的总刚矩阵的索引数组F_K.i ,即 总刚矩阵的主元素kii被压缩存储后, 在F_K.k中的位置。 记录总刚信息的结构

6、体变量F_K在此定义,并 计算出总刚矩阵F_K.k元素的个数,并为之 分配存储单元; 函数需要的数据:结点信息F_X,单元信息 F_T,均为全局变量; 返回总刚矩阵的最大半带宽值,如果内存出错 ,则返回0。3.void Ekbeam_2( ) 计算平面刚架变带宽一维压缩存储的总刚度矩阵 F_K.k; 所需数据:结点信息F_X, 单元信息F_T,截面信 息F_AI, 材料信息E0,总刚信息F_K,均为全局 变量; 需调用的函数: void E_Proporty(int nb, float *x,double *d),计算截 面相应的参数 d4 ,即杆长l,抗拉刚度EA/l、抗弯刚 度EI/l、杆

7、与整体坐标的夹角; void Ek1002(double *d, double *ek),计算2结点梁 单元的单元坐标表示的单元刚度矩阵 ek6*6; void Coorchang(double arf, double *ek),把单元局 部坐标的单元刚度ek66矩阵转换到整体坐标下;4.void P_load_2(float *p) 计算刚架总的荷载向量 *p ; 所需数据:结点信息F_X, 单元信息F_T,荷载 信息F_P,F_F,均为全局变量; 需调用的函数: void P_Unode(int id,double *lap,double *d,double *ep),计算单元非结点荷载引

8、起的等效结 点荷载; void E_Proporty(int nb, float *x,double *d),计 算截面相应的参数 d4 ,即杆长l,抗拉刚度EA/l 、抗弯刚度EI/l、杆与整体坐标的夹角; void P_Guduan(int id,double *lap,double *pe); 计算单元固定力向量;5.void BoundProcess(struct FE_BOUNDARY u,float *p) 根据边界条件修改刚度方程,主元素乘 大数法 (主元素置1法 ); * u: 记录边界支座条件的结构体变量; *p: 结构总的的荷载向量6.高斯法解方程组 int Solvc1(

9、long *n, float *ak, long jn) ; Solvc1: 总刚矩阵三角分解. ak=LU (Uji=Lij/Lii); 正确返回1;当主元素 if kii = 0,返回-i; void Solvc2(float *p, long *n, float *ak, int jn) Solvc2: 回代求解. ak 一维压缩存储的总刚矩阵F_K.k. njn-总刚矩阵索引数组; jn-总刚方程的阶数 pjn-荷载向量,函数返回时,存放结点位移7.void Ele_Force(float *force,float *p) 计算所有单元的杆端力*force ; 所需数据:结点信息F_X, 单元信息F_T, 荷载信息,F_F,均为全局变量;*p,所有 结点位移向量; 调用函数:void Eforce_2(double arf, double *ek, double *up),计算2节点梁单元 的单元杆端力向量

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号