📄 fe_database.h
字号:
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 + -