研究生有限元作业程序汇.doc

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
研究生有限元作业程序汇

长沙理工大学 陆文林 第  PAGE 21 页  DATE \@ yyyy-M-d 2017-4-27 有限元程序设计作业 姓名:陆文林 王子昱 学号:071053205 071054236 班级:07级研究生 专业:结构工程 院系:土木与建筑学院 有限元程序流程图 输入单元数 输入结点数 根据单元数形成动态数组存储单元及结点信息以及单元截面信息 输入非结点 荷载数 有 形成动态数组存储非结点荷载信息 否 根据非结点荷载信息判断并形成列向量 输入结点荷载数 否 调用结点及单元信息判断并循环形成总刚 形成总荷载列向量 输入结点荷载信息并形成结点荷载列向量 有 形成动态数组存储结构总刚信息 引入支承条件,对总刚及荷载列向量进行处理 输入铰结点数及其编号 调用结点位移及结点信息???对应单元信息,回代求出并输出单元杆端力 解线性方程组,求出结点位移 铰结点的处理 程序变量说明 NE存储单元号,单元结点号,两端约束情况 nelem单元数 nnode结点数 NM存储单元弹模,面积,惯性矩,长度,与总体X轴夹角 nf单元自由度 nf1结点自由度 K结构的总刚度矩阵 K0存储各单元单刚矩阵 nelem1非结点荷载单元数 nnode1有结点荷载结点数 k单元单刚矩阵 nnode2有约束的结点数 nnode3铰结点数 T单元坐标转换矩阵 Po非结点荷载列向列量 F单元非结点荷载的固端力 nbg起始结点号 nend终止结点号 NL单元的非结点荷载信息 LD单元非结点荷载的大小 Pa所有单元结点荷载的列向量 LD1存储各单元荷载信息 P所有荷载之和列向量 NR存储支座约束的结点号 F1存储各单元的杆端力 NLD存储有结点荷载的结点号 JJ存储铰结的结点编号 V返回并存储结点位移列向量 V1调用各单元的结点位移 源程序 // #include stdafx.h #include iostream.h #include math.h #define PI 3double mat3[6][6],X[6]; void matmat(int row,int col,double B1[6][6],double B2[6][6]); void matvec(int row, int col,double mat1[6][6],double Y1[6]); double matvec(int row, int col,double ** mat1,double * Y1,double * V); double gs(int row,int col,double ** A, double * B,double * V); int main(int argc, char* argv[]) { double m=1e8; int nelem,nnode,nelem1,nnode1,nnode2,nnode3,nf,nf1; int i1,i2,i3,nbg,nend,nbg1,nend1,nbg2,nend2,nbg3,nend3,N,N1,N2,n,n1; double L,a,E,A,I,q,T[6][6],T1[6][6],k[6][6],mat1[6][6]; double P1[6],V1[6],F1[6],X1[6]; cout输入单元总数:; cinnelem; cout输入结点总数:; cinnnode; int * *NE; NE=new int * [5]; for(i1=0;i1nelem;i1++) { NE[i1]=new int [5]; } cout输入:单元编号,起节点号,止节点号,起点是否刚结(是0,否1),终点是否刚结(是0,否1); for(i1=0;i1nelem;i1++) { for(i2=0;i25;i2++) { cinNE[i1][i2]; } } double * *NM; NM=new double * [5]; for(i1=0;i1nelem;i1++) { NM[i1]=new double [5]; } cout依次输入单元的:弹模,面积,惯性矩,长度,与x轴夹角; for(i1=0;i1nelem;i1++) { for(i2=0;i25;i2++) { cinNM[i1][i2]; } } nf1=3*nnode; double ** K; K=new double *[nf1]; for(

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档