文档详情

有限元分析中《结构力学》矩阵位移法C语言程序(附例题).doc

发布:2018-01-12约2.51万字共24页下载文档
文本预览下载声明
程序: #include stdafx.h #include stdio.h #include math.h #include stdlib.h void main() {int loc[3][2]={0},ifix[6]={0}; float area[3]={0.0},fint[3]={0.0},cx[4]={0.0},cy[4]={0.0},f[12]={0.0},fr[12]= {0.0},fe[3][6]={0.0}; int nn,ne,nd,nfix; float ea; int i,j,k; FILE *shuru,*shuchu; shuru=fopen(shuru.dat,r); shuchu=fopen(shuchu.dat,w); fscanf(shuru,%d%d%d%d%f,nn,ne,nd,nfix,ea); fprintf(shuchu,nn ne nd nfix e\n%d %d %d %d %f\n,nn,ne,nd,nfix,ea); i=0; while(i=ne-1) {fscanf(shuru,%d%d%f%f,loc[i][0],loc[i][1],area[i],fint[i]); i++;} fprintf(shuchu,element node1 node2 area fint\n); i=0; while(i=ne-1) {fprintf(shuchu,%d %d %d %f %f\n,i+1,loc[i][0],loc[i][1],area[i],fint[i]); i++;} j=0; while(j=nn-1) {fscanf(shuru,%f%f,cx[j],cy[j]); j++;} fprintf(shuchu,node x-coord y-coord\n); j=0; while(j=nn-1) {fprintf(shuchu,%d %f %f\n,j+1,cx[j],cy[j]); j++;} k=0; while(k=nfix-1) {fscanf(shuru,%d,ifix[k]); k++;} fprintf(shuchu,ifix=); k=0; while(k=nfix-1) {fprintf(shuchu,%d ,ifix[k]); k++;} fprintf(shuchu,\n); void cst(int (*loc)[2],int *ifix,float *area,float *fint,float *cx,float *cy,float *f,float *fr,float (*fe)[6],FILE *shuru,FILE *shuchu,float ea); cst(loc,ifix,area,fint,cx,cy,f,fr,fe,shuru,shuchu,ea); fprintf(shuchu,node x-disp y-disp thita\n); i=0; while(i=3) {fprintf(shuchu,%d %f %f %f\n,i+1,f[3*i],f[3*i+1],f[3*i+2]); i++;} fprintf(shuchu,reaction nodal forces from the equations\n); fprintf(shuchu,node x-load y-load moment\n); i=0; while(i=3) {fprintf(shuchu,%d %f %f %f\n,i+1,fr[3*i],fr[3*i+1],fr[3*i+2]); i++;} fprintf(shuchu,element axi-f shear-q moment-m\n); i=0; while(i=ne-1) {fprintf(shuchu,%d %f %f %f %f %f %f\n,i+1,fe[i][0],fe[i][1],fe[i][2],fe[i][3],fe [i][4],fe[i][5]); i++;} fclose(shuru); fclose(shuchu); } void cst(int (*loc)[2],int *ifix,float *area,float *fint,float *cx,float *cy,float *f,float *fr,float (*fe)[6],FILE *shuru,FILE *shuchu,float ea) {int np,nvd; float p1[3][6]={0.0},p2[3][6]={0.0},gk[12][12]={0
显示全部
相似文档