亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? beam.c

?? 梁的有限元分析源碼是《intrduction to finite elements on engineering》書中光盤所帶。
?? C
字號:
/*==============================*/
/*            beam.c            */
/*   chandrupatla & belegundu   */
/*          (C) 2001            */
/* =============================*/
#include <stdio.h>
#include <math.h>
main()
{
   FILE *fptr;
   int n,nq,i,j,k,m,i1,i2,ii,nrt,it,nr,jj,nct,jt,nc;
   char dummy[81], title[81], file1[81], file2[81];
   int ne,nn,nm,nd,nl,nen,ndn,ndim,npr,nbw,nmpc;
   int *noc, *nu, *mat, *mpc;
   float *x, *smi, *pm, *u, *s, *f, *beta, se[4][4];
   float c, el, eil, cnst, reaction;
   printf("\n");
   puts("Input file name < dr:fn.ext >: ");
   gets(file1);
   puts("Output file name < dr:fn.ext >: ");
   gets(file2);
   fptr = fopen(file1, "r");
   fgets(dummy,80,fptr);
   fgets(title,80,fptr);
   fgets(dummy,80,fptr);
   fscanf(fptr,"%d %d %d %d %d %d\n", &nn, &ne, &nm, &ndim, &nen, &ndn);
   fgets(dummy, 80, fptr);
   fscanf(fptr,"%d %d %d %d %d\n", &nd, &nl, &nmpc);
   npr = 1;  /* Material property E */
   /* ----- total dof is nq ----- */
   nq = ndn*nn;
/* ----- memory allocation ----- */
   x = (float *) calloc(nn*ndim, sizeof(float));
   noc = (int *) calloc(ne*nen, sizeof(int));
   u = (float *) calloc(nd, sizeof(float));
   nu = (int *) calloc(nd, sizeof(int));
   mat = (int *) calloc(ne,sizeof(int));
   smi = (float *) calloc(ne, sizeof(float));
   f = (float *) calloc(nn*ndn, sizeof(float));
   pm = (float *) calloc(nm*npr, sizeof(float));
   mpc = (int *) calloc(2*nmpc, sizeof(int));
   beta = (float *) calloc(3*nmpc, sizeof(float));
/* ----- coordinates ----- */
   fgets(dummy,80,fptr);
   for (i = 0; i < nn; i++) {
      fscanf(fptr, "%d %f\n",&n, &c);
      x[n-1] = c;
      }
/* ----- connectivity etc ----- */
   fgets(dummy,80,fptr);
   for (i = 0; i < ne; i++) {
      fscanf(fptr,"%d", &n);
      for (j = 0; j < nen; j++) {
         fscanf(fptr,"%d", &k);
         noc[(n-1)*nen+j]=k;
      }
         fscanf(fptr,"%d", &k);
         mat[n-1] = k;
	 fscanf(fptr,"%f\n",&c);
         smi[n-1] = c;
   }
/* ----- boundary conditions ----- */
   fgets(dummy,80,fptr);
   for (i = 0; i < nd; i++) {
      fscanf(fptr, "%d %f\n", &k, &c);
      nu[i] = k;
      u[i] = c;
   }
/* ----- component loads ----- */
   fgets(dummy,80,fptr);
   for (i = 0; i < nl; i++) {
      fscanf(fptr, "%d %f\n", &k, &c);
      f[k-1] = c;
   }
/* ----- material properties ----- */
   fgets(dummy,80,fptr);
   for (i = 0; i < nm; i++){
      fscanf(fptr, "%d", &k);
      for (j = 0; j < npr; j++) {
         fscanf(fptr, "%f\n", &c);
	 pm[(k-1)*npr+j] = c;
      }
   }
/* ----- multipoint constraints ----- */
   if (nmpc > 0) 
      { fgets(dummy,80,fptr);
        for(j=0;j<nmpc;j++){
           fscanf(fptr,"%f",&c);
	   beta[3*j]=c;
	   fscanf(fptr,"%d",&k);
	   mpc[2*j]=k;
           fscanf(fptr,"%f",&c);
	   beta[3*j+1]=c;
           fscanf(fptr,"%d",&k);
           mpc[2*j+1]=k;
           fscanf(fptr,"%f",&c);
	   beta[3*j+2]=c;
	   }
	}
   fclose (fptr);
/* ----- bandwidth evaluation ----- */
   nbw = 0;
   for (i = 0; i < ne; i++) {
      n = ndn * (abs(noc[nen*i] - noc[nen*i+1])+1);
      if (nbw < n)
         nbw = n;
   }
   for (i = 0; i < nmpc; i++) {
      n = abs(mpc[2*i] - mpc[2*i+1])+1;
      if (nbw < n)
         nbw = n;
   }
   fptr = fopen(file2, "w");
   printf("\n%s\n", title);
   fprintf(fptr, "\n%s\n", title);
   printf("bandwidth = %d\n",nbw);
   fprintf(fptr, "bandwidth = %d\n",nbw);
/* ----- allocate memory for stiffness ----- */
   s = (float *) calloc(nq*nbw, sizeof(float));
/* ----- assemble the stiffness matrix ----- */
   for (n = 0; n < ne; n++) {
      printf("forming stiffness matrix of element... %d\n", n+1);
	 i1 = noc[nen*n];
         i2 = noc[nen*n+1];
         m = mat[n];
         el = fabs(x[i1-1] - x[i2-1]);
	 eil = pm[m-1]* smi[n] / (el*el*el);
         se[0][0] = 12 * eil;
         se[0][1] = eil * 6 * el;
         se[0][2] = -12 * eil;
         se[0][3] = eil * 6 * el;
            se[1][0] = se[0][1];
            se[1][1] = eil * 4 * el * el;
            se[1][2] = -eil * 6 * el;
            se[1][3] = eil * 2 * el * el;
         se[2][0] = se[0][2];
         se[2][1] = se[1][2];
         se[2][2] = eil * 12;
         se[2][3] = -eil * 6 * el;
            se[3][0] = se[0][3];
            se[3][1] = se[1][3];
	    se[3][2] = se[2][3];
            se[3][3] = eil * 4 * el * el;
	printf (".... placing in global locations\n");
	for (ii = 0; ii < nen; ii++) {
	   nrt = ndn * (noc[nen*n + ii] - 1);
	   for (it = 0; it < ndn; it++) {
	      nr = nrt + it;
	      i = ndn * ii + it;
	      for (jj = 0; jj < nen; jj++) {
		 nct = ndn * (noc[nen*n+jj] - 1);
		 for (jt = 0; jt < ndn; jt++) {
		    j = ndn * jj + jt;
		    nc = nct + jt - nr;
		    if (nc >= 0)
		       s[nbw*nr+nc] = s[nbw*nr+nc] + se[i][j];
		    }
		  }
	     }
	  }
   }
/* ----- decide penalty parameter cnst ----- */
   cnst = 0;
   for (i = 0;i < nq; i++){
       if (cnst < s[i*nbw])
          cnst = s[i*nbw];
       }
   cnst = 10000 * cnst;
/* ----- modify for displacement boundary conditions ----- */
   for (i = 0; i < nd; i++) {
      k = nu[i];
      s[(k-1)*nbw] = s[(k-1)*nbw] + cnst;
      f[k-1] = f[k-1] + cnst * u[i];
   }
/* ----- modify for multipoint constraints ----- */
   for (i = 0; i < nmpc; i++){
       i1 = mpc[2*i];
       i2 = mpc[2*i+1];
       s[(i1-1)*nbw] = s[(i1-1)*nbw] + cnst*beta[3*i]*beta[3*i];
       s[(i2-1)*nbw] = s[(i2-1)*nbw] + cnst*beta[3*i+1]*beta[3*i+1];
       n=i1;
       if (n > i2)
	  n = i2;
       m = abs(i2-i1);
       s[(n-1)*nbw+m] = s[(n-1)*nbw+m]+cnst*beta[3*i]*beta[3*i+1];
       f[i1-1] = f[i1-1] + cnst*beta[3*i]*beta[3*i+2];
       f[i2-1] = f[i2-1] + cnst*beta[3*i+1]*beta[3*i+2];
       }
/* ----- solution of equations using band solver ----- */
   bansol(s,f,nq,nbw);
/* ----- printing displacements ----- */
   printf("node#   displ.       rotation\n");
   fprintf(fptr, "node#   displ.       rotation\n");
   for (i = 0; i < nn; i++) {
      printf(" %3d  %11.4e  %11.4e\n",i+1,f[2*i],f[2*i+1]);
      fprintf(fptr, " %3d  %11.4e  %11.4e\n",i+1,f[2*i],f[2*i+1]);
   }
/* ----- reaction calculation ----- */
   printf("node#   reaction\n");
   fprintf(fptr, "node#   reaction\n");
   for (i = 0; i < nd; i++) {
      k = nu[i];
      reaction = cnst * (u[i] - f[k-1]);
      printf(" %3d   %11.4e\n", k, reaction);
      fprintf(fptr, " %3d   %11.4e\n", k, reaction);
   }
   fclose (fptr);
   printf("\n output is in file %s \n",file2);
   return 0;
}
/* ----- band solver ----- */
bansol(s,f,nq,nbw)
  int nq, nbw;
  float *s, *f;
{
 int n1,k,nk,i,i1,j,j1,kk;
  float c1;
  /* ----- band solver ----- */
  n1 = nq - 1;
  /* --- forward elimination --- */
  for (k = 1; k <= n1; k++) {
     nk = nq - k + 1;
     if (nk > nbw)
	nk = nbw;
     for (i = 2; i <= nk; i++) {
       c1 = s[nbw*(k-1)+i-1] / s[nbw*(k-1)];
       i1 = k + i - 1;
       for (j = i; j <= nk; j++) {
	j1 = j - i + 1;
	s[nbw*(i1-1)+j1-1] = s[nbw*(i1-1)+j1-1] - c1 * s[nbw*(k-1)+j-1];
	}
       f[i1-1] = f[i1-1] - c1 * f[k-1];
       }
     }
  /* --- back-substitution --- */
  f[nq-1] = f[nq-1] / s[nbw*(nq-1)];
  for (kk = 1; kk <= n1;kk++) {
     k = nq - kk;
     c1 = 1 / s[nbw*(k-1)];
     f[k-1] = c1 * f[k-1];
     nk = nq - k + 1;
     if (nk > nbw)
       nk = nbw;
       for (j = 2; j <= nk; j++) {
	 f[k-1] = f[k-1] - c1 * s[nbw*(k-1)+j-1] * f[k + j - 2];
	}
     }
    return(0);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品不卡一区二区三区| 久久国产精品99精品国产| 亚洲国产一区二区视频| 九九久久精品视频| 在线精品视频一区二区三四| 国产性色一区二区| 日本亚洲三级在线| 国产日韩欧美制服另类| 亚洲成av人片观看| 91美女视频网站| 中文字幕乱码一区二区免费| 日韩av高清在线观看| 在线观看av不卡| 亚洲天堂成人在线观看| 国产高清久久久久| 欧美mv和日韩mv国产网站| 伊人色综合久久天天人手人婷| 国产精品一区二区91| 精品欧美一区二区久久 | 亚洲国产成人私人影院tom | 欧美一区二区视频免费观看| 亚洲另类色综合网站| 99这里都是精品| 免费高清在线一区| 欧美亚洲综合另类| 亚洲制服丝袜在线| 欧美曰成人黄网| 一区二区三区中文字幕| 在线国产亚洲欧美| 一级日本不卡的影视| 色综合激情五月| 一级女性全黄久久生活片免费| 色综合久久久久久久| 亚洲精品成人精品456| 日本高清免费不卡视频| 亚洲欧美福利一区二区| 色哟哟国产精品| 一二三四社区欧美黄| 欧美四级电影在线观看| 午夜精品久久久久影视| 欧美一级专区免费大片| 麻豆国产一区二区| 国产欧美一区二区精品仙草咪| 国产91色综合久久免费分享| 中文字幕在线观看一区| 色综合久久久久网| 丝袜亚洲另类丝袜在线| 欧美xxxxx牲另类人与| 国产成人精品综合在线观看| 国产精品久久久久影院| 欧美综合欧美视频| 日本欧美肥老太交大片| 久久久99精品免费观看不卡| jlzzjlzz国产精品久久| 亚洲电影一级黄| 精品国产一区二区三区av性色| 国产91高潮流白浆在线麻豆 | 日韩手机在线导航| 国产一区三区三区| 亚洲素人一区二区| 538prom精品视频线放| 国产美女娇喘av呻吟久久| 成人免费在线观看入口| 69av一区二区三区| 国产91精品免费| 天天综合天天做天天综合| 久久综合色播五月| 91国内精品野花午夜精品| 久久精品久久99精品久久| 成人免费小视频| 欧美大胆一级视频| 99re这里只有精品视频首页| 日韩av高清在线观看| 亚洲色图欧美偷拍| 精品久久久久久亚洲综合网| 色婷婷综合久久久中文一区二区| 美国十次了思思久久精品导航| 亚洲国产精品99久久久久久久久| 欧美四级电影在线观看| 成人性视频网站| 免费精品视频在线| 一区二区三区中文在线| 国产日韩精品视频一区| 56国语精品自产拍在线观看| caoporn国产精品| 国产一区二区三区免费播放| 婷婷久久综合九色综合绿巨人| 国产精品久久久久久妇女6080| 日韩天堂在线观看| 欧美片网站yy| 欧洲精品在线观看| 成人av第一页| 国产精品夜夜嗨| 久久精品国产亚洲一区二区三区| 亚洲国产视频网站| 一区二区三区四区中文字幕| 中文字幕亚洲精品在线观看| 久久久蜜臀国产一区二区| 日韩视频国产视频| 91精品国产综合久久久久| 欧美午夜精品一区二区三区| 一本色道久久综合狠狠躁的推荐| 国产高清不卡二三区| 激情都市一区二区| 精品一区在线看| 激情文学综合网| 国产一区二区在线看| 久久电影网站中文字幕| 理论电影国产精品| 久久精品久久综合| 国内精品写真在线观看| 久久er99精品| 国产麻豆视频一区| 国模冰冰炮一区二区| 国模少妇一区二区三区| 激情另类小说区图片区视频区| 免费一级片91| 国产综合久久久久久鬼色| 国产一区二区导航在线播放| 7878成人国产在线观看| 欧美精品一二三| 日韩免费视频一区二区| 精品国产一区二区国模嫣然| 久久精品夜色噜噜亚洲a∨| 国产婷婷色一区二区三区四区| 国产清纯在线一区二区www| 久久久久久久久久看片| 国产精品久线在线观看| 亚洲精品高清在线| 奇米一区二区三区av| 久久精品噜噜噜成人av农村| 国产99久久久国产精品潘金| 丰满少妇在线播放bd日韩电影| jizzjizzjizz欧美| 欧美日韩精品一区二区天天拍小说| 欧美高清性hdvideosex| 久久蜜桃一区二区| 一区在线中文字幕| 日韩电影在线一区二区| 高清日韩电视剧大全免费| 91亚洲午夜精品久久久久久| 欧美另类久久久品| 久久久一区二区三区捆绑**| 1024精品合集| 日本视频免费一区| 成人av网站免费| 91精品国产一区二区人妖| 国产午夜精品美女毛片视频| 亚洲午夜在线视频| 国产精品自拍网站| 欧美综合一区二区| 久久久久久久久免费| 一区二区三区四区在线| 激情五月激情综合网| 欧洲av在线精品| 久久久精品综合| 午夜av一区二区三区| 风流少妇一区二区| 欧美男男青年gay1069videost| 中文字幕国产一区二区| 日韩vs国产vs欧美| 91视频观看免费| 久久久久青草大香线综合精品| 一区二区三区丝袜| 国v精品久久久网| 日韩视频免费直播| 一区二区在线观看免费 | 91视视频在线观看入口直接观看www | 日韩女同互慰一区二区| √…a在线天堂一区| 韩国av一区二区| 91麻豆精品国产综合久久久久久 | 一区二区三区成人| 国产成人精品亚洲777人妖 | 国产精品欧美精品| 麻豆精品久久久| 欧美人体做爰大胆视频| 亚洲欧洲韩国日本视频| 欧美草草影院在线视频| 亚洲国产你懂的| 91美女片黄在线观看91美女| 国产日韩欧美亚洲| 国产在线看一区| 亚洲精品一区二区三区精华液 | 欧美中文字幕一区二区三区亚洲 | 懂色av噜噜一区二区三区av| 91精品国产综合久久精品麻豆 | 亚洲视频一二三| 成人免费毛片a| 中文欧美字幕免费| 国产精品一区二区三区四区| 日韩视频123| 蜜桃视频一区二区三区| 欧美一级一区二区| 日韩精品视频网| 91精品国产综合久久精品图片 | 国产一区三区三区| 精品国产成人系列| 国产精品一区二区男女羞羞无遮挡| 精品国产一区二区精华|