C语言程序设计等参元程序流程

上传人:xiao****1972 文档编号:244937813 上传时间:2024-10-06 格式:PPT 页数:16 大小:342.47KB
返回 下载 相关 举报
C语言程序设计等参元程序流程_第1页
第1页 / 共16页
C语言程序设计等参元程序流程_第2页
第2页 / 共16页
C语言程序设计等参元程序流程_第3页
第3页 / 共16页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,程序需要的主要数据,Struct,FE_COORDS,/,定义结构体类型,int n;/结点总数,double*x;,/x2n;,结点坐标,,xn,yn.,;,注:前n个为结点的x坐标,后n个为结点的y坐标,。,struct FE_COORDS F_X;,/,定义结构体变量,F_X,,来存放结点信息。设为全局变量。,程序需要的主要数据,struct FE_TOPOLOGY,/,定义类型,long,n;/单元总数,long,*t;/t4n 单元的节点编码,;,struct FE_TOPOLOGY,F_T,;,/*,定义结构体变量,F_T,,来存放单元信息。,可设为 全局变量。如第5单元的结点编号为,F_T.t16 F_T.t19.,*/,struct FE_PKMATRIX,/,定义结构体类型,int n;,/自由度总数,即总刚方程的阶数,int *i;,/in;总刚矩阵的索引数组,即 主元素在k中的位置,double*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_STRESS,/F_S,long n;,/输出的应力(应变)点总数,double*x;,/x2n;相应应力点的坐标,double*s;,/s3n,应力(应变)值,;,struct FE_STRESS F_S;,/*记录的单元应力(应变)信息,包括每个应力点的位置坐标和三个应力(应变)值。,*/,double MAT5;,/,定义材料信息,double E;/材料弹性模量,double v;/泊松比,double t;/厚度,double px;/x方向的容重,double py;/y方向的容重,平面刚架静力计算程序流程图,单元循环,单元循环,平面刚架静力计算程序流程图,单元循环,单元循环,程序模块设计,short Readdata_4(char*file),读取平面四结点等参元分析需要的所有数据,如结点信息、单元信息、截面信息、边界支座信息、荷载信息、材料信息等;,在此函数中定义全局变量,F_X,,,F_T,,,F_U,,,F_P,,,MAT,,并从文件中读取相应的数据。,函数所需参数:*,file,为数据文件名。,成功读取数据,函数的返回值为,0,,数据文件不存在,返回,-1,;内存出错,返回,1,。,short Kindex_4(),建立采用,4,结点等参元计算平面问题的变带宽一维压缩存储的总刚矩阵的索引数组,F_K.i,,,即 总刚矩阵的主元素,kii,被压缩存储后,在,F_K.k,中的位置。,定义存储总刚信息的结构体变量,F_K,,并计算出总刚矩阵,F_K.k,元素的个数,并为之分配存储单元;,函数需要的数据:结点信息,F_X,,,单元信息,F_T,,,均为全局变量;,返回总刚矩阵的最大半带宽值,如果内存出错,则返回,0,。,void Ekm2d_4(),计算变带宽一维压缩存储的总刚度矩阵,F_K.k,;,所需数据:结点信息,F_X,单元信息,F_T,,,截面信息,F_AI,材料信息,MAT,,总刚索引信息,F_K,,均为全局变量;,需调用的函数:,void,Evdt2d,(double*d),,,计算弹性矩阵,d5,;,void Ek2002(double*,xy,,,double*d,double*,ek,),,,计算,4,结点等参元的单元刚度矩阵,ek8*8,;,void P_load_4(float*p),计算结构总的荷载向量*,p;,所需数据:结点信息,F_X,单元信息,F_T,,,荷载信息,F_P,结构自重,均为全局变量;,需调用的函数:,void,Pbd2002(,double*,xy,double*,pxy,double*,ep,),,计算单元自重引起的等效结点荷载;,void,Zuv2d,(,struct,FE_BOUNDARY u,float*p),根据边界条件修改刚度方程,主元素乘大数法(主元素置1法);,*u:记录边界支座条件的结构体变量;,*p:结构总的的荷载向量,高斯法解方程组,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-荷载向量,函数返回时,存放结点位移,void Str2d_4(double*,w,struct,FE_STRESS*s),计算所有单元高斯点的应力向量,F_S,;,所需数据:结点位移信息,*w,单元信息,F_T,,节点信息,F_X,,均为全局变量;*,s,,所有单元高斯点的应力向量;,调用函数:,void Str2002(double*xu,double*d,double*p,double*sr),,计算,4,节点等参元的单元高斯点应力向量。,8.void Stn2d_4(double*,w,struct,FE_STRESS*s),计算所有单元高斯点的应变向量,F_S,;,所需数据:结点位移信息,*w,单元信息,F_T,,节点信息,F_X,,均为全局变量;*,s,,所有单元高斯点的应变向量;,调用函数:,void Stn2002(double*xu,double*d,double*p,double*sr),,计算,4,节点等参元的单元高斯点应变向量。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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