C语言程序设计刚架程序流程.ppt

上传人:san****019 文档编号:21021852 上传时间:2021-04-22 格式:PPT 页数:15 大小:262.42KB
返回 下载 相关 举报
C语言程序设计刚架程序流程.ppt_第1页
第1页 / 共15页
C语言程序设计刚架程序流程.ppt_第2页
第2页 / 共15页
C语言程序设计刚架程序流程.ppt_第3页
第3页 / 共15页
点击查看更多>>
资源描述
程 序 需 要 的 主 要 数 据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_INFO 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=*(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; / 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 , 来 存 放 各 类 截面 面 积 和 惯 性 矩 。 */ 开 始读 入 数 据K_Index_2Read_in_dat Globle_EK_2形 成 整 体 荷 载 向 量Node_Load_2根 据 边 界 条 件 修 改 刚 度方 程 Bound_Process 解 方 程 得 节 点 位 移 向 量Solvc1 Solvc2输 出 节 点 位 移Saveuv计 算 各 单 元 杆 端 力Force_Ele_2 输 出 各 单 元 杆 端 力Write_Force_Ele结 束 计 算 整 体 坐 标 下 单 元 刚度 矩 阵 Global_EK_Beam2计 算 单 元 的 荷 载 向 量E_Load_2 计 算 梁 单 元 的 杆 端 力Force_Beam2计 算 非 节 点 荷 载 引 起 的固 端 力 Equal_Force 计 算 单 元 坐 标 下 单 元 刚度 矩 阵 Local_EK_Beam2形 成 总 刚 矩 阵 的 索 引 数 组集 成 总 刚 矩 阵 Equal_Force计 算 非 节 点 荷 载 引 起 的固 端 力计 算 单 元 坐 标 下 单 元 刚度 矩 阵 Local_EK_Beam2 平面刚架静力计算程序流程图 开 始读 入 数 据K_Index_2Read_in_dat Globle_EK_2形 成 整 体 荷 载 向 量Node_Load_2根 据 边 界 条 件 修 改 刚 度方 程 Bound_Process 解 方 程 得 节 点 位 移 向 量Solvc1 Solvc2输 出 节 点 位 移Saveuv计 算 各 单 元 杆 端 力 Force_Ele_2输 出 各 单 元 杆 端 力Write_Force_Ele结 束 计 算 整 体 坐 标 下 单 元 刚度 矩 阵 Global_EK_Beam2计 算 单 元 的 荷 载 向 量E_Load_2 计 算 梁 单 元 的 杆 端 力Force_Beam2计 算 非 节 点 荷 载 引 起 的固 端 力 Equal_Force 计 算 单 元 坐 标 下 单 元 刚度 矩 阵 Local_EK_Beam2形 成 总 刚 矩 阵 的 索 引 数 组集 成 总 刚 矩 阵 Equal_Force计 算 非 节 点 荷 载 引 起 的固 端 力计 算 单 元 坐 标 下 单 元 刚度 矩 阵 Local_EK_Beam2平面刚架静力计算程序流程图 程 序 模 块 设 计1. int 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中 的 位 置 。 记 录 总 刚 信 息 的 结 构 体 变 量 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、杆 与 整 体 坐 标 的 夹 角 ; 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), 计 算 单 元 非 结 点 荷 载 引 起 的 等 效 结 点 荷 载 ; 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(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节 点 梁 单 元 的 单 元杆 端 力 向 量
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!