1、程序需要的主要数据程序需要的主要数据Struct FE_COORDS /定义结构体类型定义结构体类型 int n;/结点总数结点总数 double*x;/x2n;/x2n;结点坐标,结点坐标,xn,yn.xn,yn.;注:前注:前n n个为结点的个为结点的x x坐标,后坐标,后n n个为结点的个为结点的y y坐标坐标。struct FE_COORDS F_X;/定义结构体变量定义结构体变量F_XF_X ,来存放结点信息。设,来存放结点信息。设为全局变量。为全局变量。程序需要的主要数据程序需要的主要数据struct FE_TOPOLOGY /定义类型定义类型 long n;/单元总数单元总数 l
2、ong*t;/t4n 单元的节点编码单元的节点编码;struct FE_TOPOLOGY F_T;/*定义结构体变量定义结构体变量F_TF_T ,来存放单元信息。,来存放单元信息。可设为可设为 全局变量。全局变量。如第如第5 5单元的结点编号为单元的结点编号为 F_T.t16 F_T.t19.F_T.t16 F_T.t19.*/struct FE_PKMATRIX /定义结构体类型定义结构体类型 int n;/自由度总数,即总刚方程的阶数自由度总数,即总刚方程的阶数 int *i;/in;总刚矩阵的索引数组,即总刚矩阵的索引数组,即 主元素主元素在在k中的位置中的位置 double*k;/ki
3、n-1+1 变半带宽一维压缩存变半带宽一维压缩存储的总刚矩阵储的总刚矩阵;struct FE_PKMATRIX F_K;/*定义结构体变量定义结构体变量F_XF_X ,来存放总刚矩阵的信息。,来存放总刚矩阵的信息。如如*(F_K.i+i),(F_K.i+i),代表下标为代表下标为i i行主元素在压缩存储总刚行主元素在压缩存储总刚F_K.kF_K.k中的位置,中的位置,nd=nd=*(F_X.i+i+1)-(F_X.i+i+1)-*(F_K.i+i)(F_K.i+i)代表下标为代表下标为i i行行非非0 0元素的个数。元素的个数。*/struct FE_BOUNDARY /定义结构体类型定义结构
4、体类型int n;/约束总数或结点荷载数约束总数或结点荷载数int*node;/约束对应的结点编号约束对应的结点编号int*attr;/约束的方向值;约束的方向值;1-x方向;方向;/2-y方向,方向,3转转动方向动方向double*value;/支座沉降值或支座沉降值或 荷载值荷载值;struct FE_BOUNDARY F_U,F_P;/*定义结构体变量定义结构体变量F_U,F_PF_U,F_P ,分别来存放边界约束,分别来存放边界约束和结点荷载的信息。和结点荷载的信息。*/struct FE_STRESS /F_S long n;/输出的应力(应变)点总数输出的应力(应变)点总数 dou
5、ble*x;/x2n;相应应力点的坐标相应应力点的坐标 double*s;/s3n,应力(应变)值,应力(应变)值;struct FE_STRESS F_S;/*记录的单元应力(应变)信息,包括每个记录的单元应力(应变)信息,包括每个应力点的位置坐标和三个应力(应变)值。应力点的位置坐标和三个应力(应变)值。*/double MAT5;/定义材料信息定义材料信息double E;/材料弹性模量材料弹性模量double v;/泊松比泊松比double t;/厚度厚度double px;/x方向的容重方向的容重double py;/y方向的容重方向的容重形 成 总 刚 矩 阵 的 索 引 数 组S
6、olvc1 Solvc2解 方 程 得 节 点 位 移 向 量根 据 边 界 条 件 修 改 刚 度方 程Readdata_4Zuv2d形 成 整 体 荷 载 向 量P_Load_4Ekm2d_4Kindex_4集 成 总 刚 矩 阵开 始读 入 数 据计 算 单 元 刚 度 矩 阵Pbd2002计 算 单 元 的 重 力 荷 载Ek2002平面刚架静力计算程序流程图平面刚架静力计算程序流程图单元循环单元循环单元循环单元循环平面刚架静力计算程序流程图平面刚架静力计算程序流程图计算各单元应变Savestr输出各单元应变输出节点位移结束Stn2d_4Saveuv计算各单元应变Str2002计算单元
7、应力Stn2002计算各单元应力Savestr输出各单元应变Str2d_4单元循环单元循环单元循环单元循环程序模块设计程序模块设计1.short Readdata_4(char*file)读取平面四结点等参元分析需要的所有数读取平面四结点等参元分析需要的所有数据,如结点信息、单元信息、截面信息、据,如结点信息、单元信息、截面信息、边界支座信息、荷载信息、材料信息等;边界支座信息、荷载信息、材料信息等;在此函数中定义全局变量在此函数中定义全局变量F_X,F_T,F_U,F_P,MAT,并从文件中读取相应的数据。,并从文件中读取相应的数据。函数所需参数:函数所需参数:*file为数据文件名。为数据
8、文件名。成功读取数据,函数的返回值为成功读取数据,函数的返回值为0,数据,数据文件不存在,返回文件不存在,返回-1;内存出错,返回;内存出错,返回1。2.short Kindex_4()建立采用建立采用4结点等参元计算平面问题的变带宽一结点等参元计算平面问题的变带宽一维压缩存储的总刚矩阵的索引数组维压缩存储的总刚矩阵的索引数组F_K.i,即,即 总刚矩阵的主元素总刚矩阵的主元素kii被压缩存储后,在被压缩存储后,在F_K.k中的位置。中的位置。定义存储总刚信息的结构体变量定义存储总刚信息的结构体变量F_K,并计算,并计算出总刚矩阵出总刚矩阵F_K.k元素的个数,并为之分配存元素的个数,并为之分
9、配存储单元;储单元;函数需要的数据:结点信息函数需要的数据:结点信息F_X,单元信息,单元信息F_T,均为全局变量;均为全局变量;返回总刚矩阵的最大半带宽值,如果内存出错,返回总刚矩阵的最大半带宽值,如果内存出错,则返回则返回0。3.void Ekm2d_4()计算变带宽一维压缩存储的总刚度矩阵计算变带宽一维压缩存储的总刚度矩阵F_K.k;所需数据:结点信息所需数据:结点信息F_X,单元信息单元信息F_T,截面信息,截面信息F_AI,材料信息材料信息MAT,总刚索引信息,总刚索引信息F_K,均为全,均为全局变量;局变量;需调用的函数:需调用的函数:void Evdt2d(double*d),计
10、算弹性矩阵,计算弹性矩阵 d5;void Ek2002(double*xy,double*d,double*ek),计算计算4结点等参元的单元刚度矩阵结点等参元的单元刚度矩阵 ek8*8;4.void P_load_4(float*p)计算结构总的荷载向量计算结构总的荷载向量*p;所需数据:结点信息所需数据:结点信息F_X,单元信息单元信息F_T,荷载信息荷载信息F_P,结构自重,均为全局变量;结构自重,均为全局变量;需调用的函数:需调用的函数:void Pbd2002(double*xy,double*pxy,double*ep),计算单元自重引起的等效结点,计算单元自重引起的等效结点荷载;
11、荷载;5.5.void void Zuv2d(struct(struct FE_BOUNDARY u,float FE_BOUNDARY u,float*p)p)根据边界条件修改刚度方程,主元素乘大根据边界条件修改刚度方程,主元素乘大数法数法(主元素置主元素置1法法););*u:记录边界支座条件的结构体变量;记录边界支座条件的结构体变量;*p:结构总的的荷载向量结构总的的荷载向量6.高斯法解方程组高斯法解方程组 int Solvc1(long*n,float*ak,long jn);Solvc1:总刚矩阵三角分解总刚矩阵三角分解.ak=LU(Uji=Lij/Lii);正确返回正确返回1;当主元
12、素;当主元素 if kii=0,返回,返回-i;void Solvc2(float*p,long*n,float*ak,int jn)Solvc2:回代求解回代求解.ak 一维压缩存储的总刚矩阵一维压缩存储的总刚矩阵F_K.k.njn-总刚矩阵索引数组;总刚矩阵索引数组;jn-总刚方程的阶数总刚方程的阶数 pjn-荷载向量荷载向量,函数返回时,存放结点位移函数返回时,存放结点位移7.void Str2d_4(double*w,struct FE_STRESS*s)计算所有单元高斯点的应力向量计算所有单元高斯点的应力向量F_S;所需数据:结点位移信息所需数据:结点位移信息*w,单元信息单元信息F
13、_T,节点信息节点信息,F_X,均为全局变量;,均为全局变量;*s,所有单,所有单元高斯点的应力向量;元高斯点的应力向量;调用函数:调用函数:void Str2002(double*xu,double*d,double*p,double*sr),计算,计算4节点等参元节点等参元的单元高斯点应力向量的单元高斯点应力向量。1.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节点等参元节点等参元的单元高斯点应变向量的单元高斯点应变向量。
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。