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

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

?? elmt_frame3d.c

?? 有限元分析源代碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
/* *  =============================================================================  *  ALADDIN Version 1.0 : *       elmt_frame3d.c : Three Dimensional Frame Element *                                                                      *  Copyright (C) 1995 by Mark Austin, Xiaoguang Chen, and Wane-Jang Lin *  Institute for Systems Research,                                            *  University of Maryland, College Park, MD 20742                                    *                                                                      *  This software is provided "as is" without express or implied warranty. *  Permission is granted to use this software for any on any computer system *  and to redistribute it freely, subject to the following restrictions: *  *  1. The authors are not responsible for the consequences of use of *     this software, even if they arise from defects in the software. *  2. The origin of this software must not be misrepresented, either *     by explicit claim or by omission. *  3. Altered versions must be plainly marked as such, and must not *     be misrepresented as being the original software. *  4. This notice is to remain intact. *                                                                     *  -------------------------------------------------------------------  *  Three Dimensional Frame Element                                     *                                                                     *  Convention for Nodal Forces                                         *             +ve M     -  anticlockwise(RHT Rule)                     *             +ve X,Y,Z -  along +ve axis                              *  Convention for Member End  Forces                                   *             +ve M     -  Sagging Moments                            *             +ve SF    -  LHS upwards                                *             +ve AF    -  Tension(LHS outwards)                      *  -------------------------------------------------------------------  *                                                                      *  Written by: Mark Austin, Xiaoguang Chen, and Wane-Jang Lin      December 1995 *  =============================================================================  */#include <math.h>#include "defs.h"#include "units.h"#include "matrix.h"#include "vector.h"#include "fe_database.h"#include "symbol.h"#include "fe_functions.h"#include "elmt.h"/*#define DEBUG*//* ============================================================== *//*   Element FRAME_3D                                             *//*   3D   Frame Element                                           *//*        Input Properties:                                       *//* ============================================================== *//*    p->work_material[0] = E;      p->work_material[1] = G;      p->work_material[2] = fy;      p->work_material[3] = ET;      p->work_material[4] = nu;      p->work_material[5] = density;      p->work_material[6] = fu;      p->work_section[0] = Ixx;      p->work_section[1] = Iyy;      p->work_section[2] = Izz;      p->work_section[3] = Ixy;      p->work_section[4] = Ixz;      p->work_section[5] = Iyz;      p->work_section[6] = weight;      p->work_section[7] = bf;      p->work_section[8] = tf;      p->work_section[9] = depth;                                        p->work_section[10] = area;      p->work_section[11] = plate_thickness;      p->work_section[12] = J;      p->work_section[13] = rT;      p->work_section[14] = width;      p->work_section[15] = tw;                                   *//* ============================================================== *//* macro for J constant */#define J_Const(x,y) ((1 - 0.63 * x/y)*( x * x* x* y/3))#ifdef __STDC__ARRAY *elmt_frame_3d(ARRAY *p, int isw)#elseARRAY *elmt_frame_3d(p, isw)ARRAY *p;int   isw;#endif{static double  nu;static QUANTITY  fy, G, E, ET, density;static double  Ixx, Iyy, Izz, Ixy, Ixz, Iyz, bf, tf, A, depth, weight, EA, EIzz, J, rT;double d1;double cs, sn,tn,xl,xx,yy,zz,vv,xn,xm,mbar;double **rot, **trot, **fr, **dlocal;int    i,j,k,l;DIMENSIONS  *dp_length, *dp_force, *dp_moment;DIMENSIONS  *dp_stress, *dp_degree, *dp_temperature;int          UNITS_SWITCH;#ifdef DEBUG       printf("*** Enter elmt_frame_3d() : isw = %4d\n", isw);#endif   H_Print = 0;   UNITS_SWITCH = CheckUnits();   switch(isw) {       case PROPTY:  /* MAT PROPS */          E.value       =  p->work_material[0].value;          fy.value      =  p->work_material[2].value;          ET.value      =  p->work_material[3].value;          nu            =  p->work_material[4].value;          density.value =  p->work_material[5].value;          if( UNITS_SWITCH == ON ) {             E.dimen       =  p->work_material[0].dimen;             fy.dimen      =  p->work_material[2].dimen;             ET.dimen      =  p->work_material[3].dimen;             density.dimen =  p->work_material[5].dimen;          }          /* (1)   check  poi_ratio value */          if( nu == 0.0 || nu > 0.5 ) {              printf("WARNING >> ... In 3d beam element() - frame_2d -  nu value = %9.4f,reset to 0.3 !\n", nu);              nu = 0.3;    /* default poi_ratio value */          }          /* (2)   calculate  G value */            /*        if(E.value/((1.0 - 2.0*nu)) != p->work_material[1].value) {              printf(" elmt_frame_3d(): WARNING: G is not equal to E/(1-2nu), check G for homogeneous material \n");              printf("                : ignore this message for non-homogeneous materials \n");          }*/          G.value = p->work_material[1].value = E.value/(1.0 - 2.0*nu) ;          if(UNITS_SWITCH == ON)  G.dimen = E.dimen;          Ixx    = p->work_section[0].value;          Iyy    = p->work_section[1].value;          Izz    = p->work_section[2].value;          Ixy    = p->work_section[3].value;          Ixz    = p->work_section[4].value;          Iyz    = p->work_section[5].value;          weight = p->work_section[6].value;          bf     = p->work_section[7].value;          tf     = p->work_section[8].value;          depth  = p->work_section[9].value;          A      = p->work_section[10].value;          J      = p->work_section[12].value;          rT     = p->work_section[13].value;          EA     = E.value*A;          EIzz   = E.value*Izz;          /* (3) If J value not input, J calculated based on rectangular */          /*     section of size (bf x depth)                            */          if(J == 0.0 ) {             if(bf == 0.0 || depth == 0.0){                printf("WARNING >> Must give 'J' or ('width' & 'depth') to calculate stiffness");                exit(1);             }             /* Check bf < depth & cal J */             if(bf < depth )                  J = p->work_section[12].value = J_Const(bf,depth);              else                 J = p->work_section[12].value = J_Const(depth,bf);           }          break;       case CHERROR:            break;       case STRESS_LOAD:            break;       case STRESS_UPDATE:            break;       case PRESSLD:            break;       case STIFF:            cs = p->coord[0][1].value - p->coord[0][0].value;           /* Cos Term */            sn = p->coord[1][1].value - p->coord[1][0].value;           /* Sin Term */            tn = p->coord[2][1].value - p->coord[2][0].value;           /* Tan Term */            xl = sqrt(cs * cs + sn * sn + tn * tn); /* Calculate  Length */            p->length.value = xl;            /* T matrix is made here: 12*12 size */            rot = (double **) MatrixAllocIndirectDouble(p->size_of_stiff, p->size_of_stiff);            rot = (double **) tmat(rot, 6, p);             if( UNITS_SWITCH==ON )   p->stiff->spColUnits[0].units_type = UNITS_TYPE;            p->stiff = beamst3d(p, p->stiff, EA, EIzz, E.value*Iyy, G.value*J ,xl, rot, p->size_of_stiff, p->dof_per_node);             MatrixFreeIndirectDouble(rot, p->size_of_stiff);            break;       case MASS_MATRIX:            cs = p->coord[0][1].value - p->coord[0][0].value;           /* Cos Term */            sn = p->coord[1][1].value - p->coord[1][0].value;           /* Sin Term */            tn = p->coord[2][1].value - p->coord[2][0].value;           /* Tan Term */            xl = sqrt(cs * cs + sn * sn + tn * tn); /* Calculate  Length */            p->length.value = xl;            /* T matrix is made here: 12*12 size */            rot = (double **) MatrixAllocIndirectDouble(p->size_of_stiff, p->size_of_stiff);            rot = (double **) tmat(rot, 6, p);             /* Assemble Mass Matrix */             /* Calculate mbar =  mass/length                 */            /* in units of (kg/m) or (lbf*sec^2/in/in)       */            /* if no units, assume gravity g=9.80665 m/sec^2 */             if( weight != 0.0 )               mbar = weight/9.80665;             else               if( density.value > 0 )  mbar = A * density.value ;             else {                printf("\nError in input: Need density value to calculate mass matrix\n");                exit(1);             }	    /* Calculate radius of gyration , rT  --  m  ,  in   */            /* original version      :  rT = p->length.value/ 1.414; */            if( rT==0 && A!=0 )    rT = sqrt( J / A );            if( UNITS_SWITCH == ON )                 p->stiff->spColUnits[0].units_type = UNITS_TYPE;            p->stiff = beamms3d(p, p->stiff,p->type, mbar, xl, rT, rot, p->size_of_stiff, p->dof_per_node);            MatrixFreeIndirectDouble(rot, p->size_of_stiff);            break;       case STRESS:       case LOAD_MATRIX:            cs = p->coord[0][1].value - p->coord[0][0].value;           /* Cos Term */            sn = p->coord[1][1].value - p->coord[1][0].value;           /* Sin Term */            tn = p->coord[2][1].value - p->coord[2][0].value;           /* Tan Term */            xl = sqrt(cs * cs + sn * sn + tn * tn); /* Calculate  Length */            p->length.value = xl;            /* T matrix is made here: 12*12 size */            rot = (double **) MatrixAllocIndirectDouble(p->size_of_stiff, p->size_of_stiff);            rot = (double **) tmat(rot, 6, p);             /* --------------------------- */            /* Output Stresses and Strains */            /* --------------------------- */            cs = rot[0][0];            rot[0][0] = 1.0;            if (UNITS_SWITCH==ON)  p->stiff->spColUnits[0].units_type = UNITS_TYPE;            p->stiff = beamst3d(p, p->stiff, EA, EIzz, E.value*Iyy,                       G.value*J, xl, rot, p->size_of_stiff, p->dof_per_node);             rot[0][0] = cs;            fr = MatrixAllocIndirectDouble(p->size_of_stiff,1); /* Here size_of_stiff = 12; i.e 12x1 mat */            for(l = 1; l<= p->nodes_per_elmt; l++) {                for(k = 1; k <= p->dof_per_node; k++) {                    j = (l-1)*p->dof_per_node + k;                    fr[j-1][0] = p->displ->uMatrix.daa[k-1][l-1];                }            }            dlocal = (double **)  dMatrixMult(rot, p->size_of_stiff, p->size_of_stiff, fr, p->size_of_stiff, 1);            fr = (double **)  dMatrixMultRep(fr, p->stiff->uMatrix.daa, p->size_of_stiff, p->size_of_stiff, dlocal, p->size_of_stiff, 1);            xx = 0.5 *(p->coord[0][0].value +p->coord[0][1].value);            yy = 0.5 *(p->coord[1][0].value +p->coord[1][1].value);            zz = 0.5 *(p->coord[2][0].value +p->coord[2][1].value);            if(H_Print == YES && isw == STRESS){               printf( "\n");               printf( "3D Frame Element   Stresses\n");               printf( "---------------------------\n");               H_Print = NO;            }            if(isw == STRESS && PRINT_STRESS == ON ) {               printf("\n");               printf("Elmt# %3d : ", p->elmt_no);               if(UNITS_SWITCH == ON)                  printf(": Coords (X,Y,Z)= (%8.3f %s,%8.3f %s,%8.3f %s)\n",                            xx/p->coord[0][0].dimen->scale_factor, p->coord[0][0].dimen->units_name,                            yy/p->coord[1][0].dimen->scale_factor, p->coord[1][0].dimen->units_name,                            zz/p->coord[2][0].dimen->scale_factor, p->coord[2][0].dimen->units_name);	       else                  printf(": Coords (X,Y,Z)= (%8.3f,%8.3f,%8.3f)\n", xx, yy, zz);               printf("\n");	    }            /*--------------------------------------------------------*/            /* nodal forces   & member end forces                     */            /*--------------------------------------------------------*/            if(p->elmt_load_ptr != NULL ) { /* calculate FEF */               printf("Fixed End Loads; \n");               p = sld05(p, STRESS);               /* Add FEF to joint p->[  ]  orces */                for(i = 1; i <= 12; i++)                  fr[i-1][0] = fr[i-1][0] - p->nodal_loads[i-1].value;            }            /* -------------------- */            /* Print Element forces */            /* -------------------- */            for(j = 1; j <= p->size_of_stiff; j++)                 p->nodal_loads[j-1].value = fr[j-1][0];            /* Assign element forces's units */            if( UNITS_SWITCH == ON ) {                if(UNITS_TYPE == SI) {                  dp_length = DefaultUnits("m");                  dp_force  = DefaultUnits("N");                }                if(UNITS_TYPE == US) {                  dp_length = DefaultUnits("in");                  dp_force  = DefaultUnits("lbf");                }                dp_moment = UnitsMult( dp_force, dp_length );                for(j=1;j<=3;j++) {		    UnitsCopy( p->nodal_loads[j-1].dimen, dp_force );		    UnitsCopy( p->nodal_loads[j-1+p->dof_per_node].dimen, dp_force );		    UnitsCopy( p->nodal_loads[j-1+3].dimen, dp_moment );		    UnitsCopy( p->nodal_loads[j-1+3+p->dof_per_node].dimen, dp_moment );		}            }            if(isw == STRESS && PRINT_STRESS == ON ) {	       switch(UNITS_SWITCH) {		 case ON:                  /* node_i */                  printf("            Fx1 = %13.5e %s\t Fy1 = %13.5e %s\t Fz1 = %13.5e %s\n",                         p->nodal_loads[0].value/dp_force->scale_factor, dp_force->units_name,                         p->nodal_loads[1].value/dp_force->scale_factor, dp_force->units_name,                         p->nodal_loads[2].value/dp_force->scale_factor, dp_force->units_name);                  printf("            Mx1 = %13.5e %s\t My1 = %13.5e %s\t Mz1 = %13.5e %s\n",                         p->nodal_loads[3].value/dp_moment->scale_factor, dp_moment->units_name,                         p->nodal_loads[4].value/dp_moment->scale_factor, dp_moment->units_name,                         p->nodal_loads[5].value/dp_moment->scale_factor, dp_moment->units_name);                  printf("\n");                  /* node_j */                  printf("            Fx2 = %13.5e %s\t Fy2 = %13.5e %s\t Fz2 = %13.5e %s\n",                        p->nodal_loads[6].value/dp_force->scale_factor, dp_force->units_name,                        p->nodal_loads[7].value/dp_force->scale_factor, dp_force->units_name,                        p->nodal_loads[8].value/dp_force->scale_factor, dp_force->units_name);                  printf("            Mx2 = %13.5e %s\t My2 = %13.5e %s\t Mz2 = %13.5e %s\n",                        p->nodal_loads[9].value/dp_moment->scale_factor, dp_moment->units_name,                        p->nodal_loads[10].value/dp_moment->scale_factor, dp_moment->units_name,                        p->nodal_loads[11].value/dp_moment->scale_factor, dp_moment->units_name);                  printf("\n");                  printf("            Axial Force : x-direction = %13.5e %s \n",                            -p->nodal_loads[0].value/dp_force->scale_factor,                             dp_force->units_name);                  printf("            Shear Force : y-direction = %13.5e %s \n",                             p->nodal_loads[1].value/dp_force->scale_factor,                             dp_force->units_name);                  printf("                        : z-direction = %13.5e %s \n",                             p->nodal_loads[2].value/dp_force->scale_factor,                             dp_force->units_name);                  printf("\n");                  break;                 case OFF:                  /* node_i */                  printf("            Fx1 = %13.5e\t Fy1 = %13.5e\t Fz1 = %13.5e\n",                           p->nodal_loads[0].value,                           p->nodal_loads[1].value,                           p->nodal_loads[2].value);                   printf("            Mx1 = %13.5e\t My1 = %13.5e\t Mz1 = %13.5e\n",                           p->nodal_loads[3].value,                           p->nodal_loads[4].value,                           p->nodal_loads[5].value);                   printf("\n");                   /* node_j */                  printf("            Fx2 = %13.5e\t Fy2 = %13.5e\t Fz2 = %13.5e\n",                           p->nodal_loads[6].value,                           p->nodal_loads[7].value,

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美视频一区二区在线观看| 日韩精品一区二区三区蜜臀| 美女高潮久久久| 国产精品日韩成人| 91精品国产综合久久香蕉麻豆 | 精品国产一区二区三区久久影院| 国产成人激情av| 日精品一区二区| 亚洲私人黄色宅男| 久久综合狠狠综合久久综合88| 欧美主播一区二区三区美女| 不卡的电影网站| 国产剧情av麻豆香蕉精品| 婷婷开心久久网| 亚洲摸摸操操av| 国产精品久久久久久久久果冻传媒| 精品久久久久99| 欧美年轻男男videosbes| 成人午夜碰碰视频| 精品一区二区三区免费毛片爱 | 亚洲国产精品久久久久秋霞影院| 国产精品婷婷午夜在线观看| 欧美精品一区二区久久久| 欧美日韩黄色一区二区| 色偷偷久久一区二区三区| 国产成人精品免费| 国产电影精品久久禁18| 国产一区二区看久久| 免费成人av资源网| 亚洲gay无套男同| 亚洲蜜桃精久久久久久久| 国产精品久久久久久久午夜片| 国产亚洲精品aa午夜观看| 欧美成人欧美edvon| 欧美一区二区三区免费在线看| 欧美午夜在线观看| 色菇凉天天综合网| 91精彩视频在线观看| 日本高清无吗v一区| 色综合久久九月婷婷色综合| 一本色道久久加勒比精品| 91视频观看视频| 色老头久久综合| 大桥未久av一区二区三区中文| 日本午夜一区二区| 亚洲成a人片在线不卡一二三区| 亚洲综合自拍偷拍| 亚洲曰韩产成在线| 午夜精品爽啪视频| 日韩国产欧美视频| 久久精品国产久精国产爱| 国内精品久久久久影院色| 国产精品18久久久久久vr| 国产成人午夜电影网| 丁香一区二区三区| 91亚洲资源网| 欧美日本国产一区| 日韩精品综合一本久道在线视频| 精品理论电影在线| 国产精品久久久一本精品 | 国产精品人妖ts系列视频| 中文字幕日本不卡| 激情av综合网| 久久99久久久久| 国产很黄免费观看久久| 成人免费视频app| 欧美综合一区二区| 91精品黄色片免费大全| 久久久噜噜噜久久中文字幕色伊伊 | 蜜臀av一区二区在线免费观看 | 麻豆精品在线播放| 国产激情一区二区三区| 99久久精品99国产精品| 在线观看91精品国产麻豆| 国产亚洲欧美激情| 亚洲一区二区三区三| 久久99国产精品久久| 99国产欧美另类久久久精品| 欧美精品vⅰdeose4hd| 国产日韩欧美不卡| 亚洲成av人片一区二区三区| 韩国欧美国产一区| 欧美在线999| 久久久高清一区二区三区| 亚洲精品国产精品乱码不99| 久久精品国产一区二区三| 99视频在线观看一区三区| 91精品国产91综合久久蜜臀| 国产精品美女久久久久久2018| 天天av天天翘天天综合网色鬼国产| 国产精品主播直播| 欧美日韩一区二区三区四区五区| 久久噜噜亚洲综合| 亚洲成人福利片| 波多野洁衣一区| 欧美xfplay| 香蕉影视欧美成人| av中文字幕一区| 欧美精品一区二区三区一线天视频| 亚洲精品老司机| 处破女av一区二区| 欧美v亚洲v综合ⅴ国产v| 一区二区三区成人在线视频| 国产精品一二三四区| 欧美一区二区免费观在线| 亚洲人成网站影音先锋播放| 国产乱人伦精品一区二区在线观看| 欧美精品在线视频| 亚洲欧美另类久久久精品2019| 国产一区二区按摩在线观看| 67194成人在线观看| 亚洲激情校园春色| 9人人澡人人爽人人精品| 精品国产乱码久久久久久影片| 亚洲国产成人高清精品| 99riav久久精品riav| 国产日韩av一区| 精品一区在线看| 欧美一区二区三区啪啪| 午夜久久久久久久久| 色视频一区二区| 亚洲少妇中出一区| zzijzzij亚洲日本少妇熟睡| 国产欧美一区二区三区在线看蜜臀| 久久99精品久久久| 精品三级在线看| 麻豆一区二区在线| 欧美一区二区久久| 无吗不卡中文字幕| 欧美高清性hdvideosex| 亚洲午夜免费电影| 欧美婷婷六月丁香综合色| 夜夜夜精品看看| 91国偷自产一区二区开放时间 | 成人av免费网站| 国产精品毛片大码女人| 国产宾馆实践打屁股91| 欧美激情在线看| 国产成人免费视频一区| 国产日韩精品视频一区| 成人一区二区视频| 中文字幕欧美一| 91麻豆自制传媒国产之光| 日韩伦理av电影| 91在线观看下载| 一区二区三区四区在线| 欧美日韩一区二区三区在线| 日本va欧美va瓶| 精品欧美乱码久久久久久1区2区 | 国产一区二区三区在线观看精品 | 欧美一区二区三区日韩| 久久国产剧场电影| 久久久久久久久一| 不卡的av电影在线观看| 亚洲另类春色校园小说| 欧美丝袜自拍制服另类| 奇米精品一区二区三区四区| 欧美一二三区精品| 精彩视频一区二区| 日本一区二区三级电影在线观看| av影院午夜一区| 亚洲一区二区三区在线看| 91麻豆精品国产91久久久资源速度| 久久精品av麻豆的观看方式| 国产婷婷色一区二区三区四区| 成人国产电影网| 午夜精品久久久久久久| 精品国产髙清在线看国产毛片| 国产69精品一区二区亚洲孕妇| 成人免费在线视频| 欧美日本视频在线| 国产精品一区二区免费不卡 | 久久99国产精品尤物| 国产女人水真多18毛片18精品视频| 91啦中文在线观看| 美女免费视频一区二区| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 欧美色图激情小说| 老汉av免费一区二区三区| 国产精品乱人伦| 在线播放欧美女士性生活| 国产福利视频一区二区三区| 亚洲高清在线精品| 国产欧美一区二区精品秋霞影院 | 中文字幕一区av| 91精品国产入口| 成人app下载| 轻轻草成人在线| 亚洲欧美日韩精品久久久久| 欧美成人午夜电影| 欧美伊人久久久久久久久影院| 国产盗摄女厕一区二区三区| 日韩和的一区二区| 中文字幕日韩一区| 久久综合久久鬼色| 91麻豆精品91久久久久同性| 色悠久久久久综合欧美99| 国产成人精品一区二| 免费久久精品视频| 亚洲国产日韩一级|