⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fe_database.h

📁 利用语言编写的有限元分析软件
💻 H
📖 第 1 页 / 共 2 页
字号:
        QUANTITY      Ixy;           /* [4] */
        QUANTITY      Iyz;           /* [5] */
        QUANTITY      weight;        /* [6]  Section weight */
        QUANTITY      bf;            /* [7]  Width of flange         */
        QUANTITY      tf;            /* [8]  thickness of flange     */
        QUANTITY      depth;         /* [9]  Section depth           */
        QUANTITY      area;          /* [10] Section area            */
        QUANTITY      plate_thickness; /* [11] */
        QUANTITY      tor_const;     /* [12] Torsional Constant J    */
        QUANTITY      rT;            /* [13] Section radius of gyration */
        QUANTITY      width;         /* [14] Section width           */
        QUANTITY      tw;            /* [15] Thickness of web        */
      } SECTION_ATTR;

 typedef struct materials {
        char                   *name;    /* Material name                    */ 
        QUANTITY                   E;    /* [0] Young's modulus                  */
        QUANTITY                   G;    /* [1] Shear modulus                    */
        QUANTITY                  fy;    /* [2] Yield stress                     */
        QUANTITY                  ET;    /* [3] Tangent Young's Modulus          */
        double                    nu;    /* [4] Poission's ratio                 */
        QUANTITY             density;    /* [5] */
        QUANTITY                  fu;    /* [6] Ultimate stress                  */
        QUANTITY      *alpha_thermal;    /* [7,8,9] thermal expansion coeff(0,1,2) */
	QUANTITY                  Gt;    /* [10] Tangent shear modulus           */
	double                    ks;    /* [11] Shear correction factor         */
	QUANTITY                  fv;    /* [12] Yielding stress for shear       */
	MATER_LOAD_CURVE     *LC_ptr;    /* parameters for decribing yield   */
                                         /* surface and stress strain curve  */
      } MATERIAL_ATTR;

/* 
 *  ------------------------------------------
 *  Data Structure for Node and Element Arrays
 *  ------------------------------------------
 */ 

typedef struct node_prop {
	int           node_f;   /* node number     */
	QUANTITY         *fn; 
} NODE_LOADS;

typedef struct eload_lib {
        char                 *name;
        short                 type;  /* set to  -1 for dist loads at input stage*/
	QUANTITY       *body_force; 
	QUANTITY       temp_change; 
	QUANTITY      *init_stress; 
	double        *init_strain; 
	QUANTITY         *traction; 
        int                  *nopl;
        MATRIX                 *pr;
        int                face_no;
        int             numnp_face;
        QUANTITY                 P;        /* Load Value in Local y Direction */
        QUANTITY                 a;        /* Start distance of Load (P) from left end */
        QUANTITY                 b;        /* End   distance of Load (P) from left end */
        QUANTITY          px,py,pz;        /* Point Load Value in Local x,y,z Direction */
        QUANTITY          mx,my,mz;        /* Moment Load Value in Local x,y,z Direction */
        QUANTITY          bx,by,bz;        /* Dist Load Value in Local x,y,z Direction */

} ELOAD_LIB;

typedef struct element_loads {
	int            elmt_no;     /* Element number identification          */
	int          elmt_type;     /* Element type   identification          */
        int     no_loads_faces;     /* Number of elmts surface under traction */
        double     *face_direc;     /* Direction cosine of tracted elment     */
	ELOAD_LIB     *elib_ptr;   /* Pointer to element_load struct         */
} ELEMENT_LOADS;


/* ------------------------ */
/* Data structure for frame */
/* ------------------------ */

typedef struct frame {
	char                  *name; /* Title */
        int                no_nodes; /* no of nodes                              */
        int                no_rigid; /* no of rigid body elements                */
        int             no_elements; /* no of flexible elements                  */
        int         no_element_attr; /* no of element attributes                 */
        int           no_node_loads; /* no of nodal loads                        */
        int        no_element_loads; /* no of element loads                      */
        int                no_dimen; /* no of dimension                          */ 
        int                  no_dof; /* no of dof per node--in global            */
        int       no_nodes_per_elmt; /* max no of nodes per element              */
	NODE                  *node;
	RIGID                *rigid;
	ELEMENT            *element;
        ELEMENT_ATTR         *eattr;
	NODE_LOADS         *nforces;
	ELEMENT_LOADS      *eforces;
        int                  *jdiag;
        int                   no_eq;
        int                     nre; /* flag for presence of nodal load delet later */
} EFRAME;


/* 
 * --------------------------
 * Working Array For Elements
 * --------------------------
 */ 
typedef struct Integ_Pts {
    int      surface_pts;  /* No of integration points on surface/x-y plane     */
    int    thickness_pts;  /* No of integration points in thickness/z-direction */ 
    int        integ_pts;  /* User defined inte pts                             */
} INTEG_PTS;

typedef struct array {
        int                   no_dimen;  /* No dimensions in Problem                     */
        int                    elmt_no;  /* Element no                                   */
	int               elmt_attr_no;  /* Elmt Attribute No, as stored in frame        */
        char                *elmt_type;  /* Element Type                                 */
        int             nodes_per_elmt;  /* Max no nodes per element                     */
        int               dof_per_node;  /* Dof per node                                 */
        int              size_of_stiff;  /* Size of stiffness (mass) matrix              */
        int                       type;  /* Flag for type of mass : LUMPED, Consistent   */
        int                   *d_array;  /* Destination Array                            */
        char            *material_name;  /* Material used in the element                 */
        QUANTITY        *work_material;  /* Section/Material working array               */
        QUANTITY         *work_section;  /* Section/Material working array               */
        QUANTITY               **coord;  /* Nodal coordinates                            */
        int              *node_connect;  /* Array of Nodal Connectivities                */
        QUANTITY          *nodal_loads;  /* Array of Point Loads                         */
        QUANTITY           *nodal_temp;  /* Nodal temperature change                     */
        QUANTITY    **nodal_body_force;  /* Nodal body force                             */
        QUANTITY   **nodal_init_stress;  /* Nodal initial stress                         */
        double     **nodal_init_strain;  /* Nodal initial strain                         */
        QUANTITY      **nodal_traction;  /* Nodal surface tracion on load boundary       */
        MATRIX                  *stiff;  /* Stiffness (and Mass) Matrix ???              */
        MATRIX       *equiv_nodal_load;  /* Equivalant nodal loads                       */
        MATRIX           *mater_matrix;  /* Material matrix at given gaussian point      */
        MATRIX                  *displ;  /* Element Level Displacements                  */
        MATRIX             *displ_incr;  /* Element Level Displacements incremental      */
                                         /* for time interval [t,t+dt]                   */
                                         /* they are instored in local coordinate system */
        MATRIX            *strain_rate;  /* Element Level Strain Rate                    */
        MATRIX            *stress_rate;  /* Element Level Stress Rate                    */
        MATRIX                 *stress;  /* Element Level Stress at integration points   */
        MATRIX              *strain_pl;  /* Elemt level plastic strain at integ points   */
        MATRIX         *strain_pl_incr;  /* Elemt level plastic strain incr at integ pts */ 
        double       *effect_pl_strain;  /* effective plastic strain at integration pts  */
        double     *eff_pl_strain_incr;  /* eff. plastic strain incr. at integration pts */
        double              *direc_cos;  /* direction cosine for shell elmt used for     */
                                         /* correction of co-rotational coord            */ 
        int                 elmt_state;  /* Element state : Elastic or Plastic           */
        MATER_LOAD_CURVE       *LC_ptr;  /* material load curve pointer                  */
        double                     eep;  /* Plastic strain ?? (use later)                */
        QUANTITY                eangle;
        QUANTITY                ealpha;
        QUANTITY                length;
        ELEMENT_LOADS   *elmt_load_ptr;
        INTEG_PTS           *integ_ptr;
	FIBER_ELMT          *fiber_ptr;
        MATRIX             *Q_saved,  *q_saved;
        MATRIX     *sr_saved, *er_saved, *s0_saved, *e0_saved, *sx_saved, *ex_saved;
	int	**yielding_saved, **pre_range_saved, **pre_load_saved;
} ARRAY;

#endif /* end case FE_DATABASE_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -