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

📄 fe_functions.h

📁 利用语言编写的有限元分析软件
💻 H
字号:
/*
 *  ============================================================================= 
 *  ALADDIN Version 1.0 :
 *       fe_functions.h : External Function Declarations for Finite Elements
 *                                                                     
 *  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.
 *                                                                    
 *  Written by: Mark Austin, Xiaoguang Chen, and Wane-Jang Lin      December 1995
 *  ============================================================================= 
 */

#ifndef FE_FUNCTIONS_H
#define FE_FUNCTIONS_H

#include <stdio.h>
#include <malloc.h>
#include <math.h>
#include <string.h>

extern EFRAME    *FrameAlloc();
extern EFRAME    *profile();
extern EFRAME    *Set_Elmt_Attrs();
extern EFRAME    *assign_properties();
extern EFRAME    *plink();
extern EFRAME    *rplink();
extern void       print_property();

extern ARRAY     *Alloc_p_Array();
extern ARRAY     *Assign_p_Array();
extern ARRAY     *Element_Property();
extern ARRAY     *Mate_Property();
extern ARRAY     *Eload_Property();

extern MATRIX    *Element_Matrix();
extern MATRIX    *Element_Equiv();
extern QUANTITY  *Element_Vector();

extern MATRIX    *Assemble_Global();
extern MATRIX    *Assemble_Global_Load();

extern int       *Destination_Array();
extern int        Bound_Disp();
extern double   **Boundary_Conditions();
extern double   **MATER_MAT_PLANE();    /* function for elmt_psps.c only */

extern QUANTITY  *pload();
extern QUANTITY  *Modify_Load();
extern QUANTITY  *Addload_Vector();
extern QUANTITY  *Transform_Force();
extern QUANTITY  *Nodal_Forces();

extern QUANTITY  *Assemble_Nodal_Load();
extern QUANTITY  *Assemble_Gravity_Load();
extern QUANTITY  *Assemble_Ctrfgl_Load();
extern double    *Assemble_Equiv_Load(); 

extern int       *Destination_Array_for_Rigid_Body();
extern ARRAY     *Assign_p_Array_for_Rigid_Body();
extern int        Rigidbody_conn();
extern MATRIX    *Transform_Stiff_Matrix();
extern MATRIX    *Transform_Rigid_Body_Mass_Matrix();
extern double   **Transformation_Matrix();
extern double   **Modify_T_Matrix();

/* functions called in code.c for finite element solution procedures */

extern  void      Start_Mesh();
extern  void      End_Mesh();
extern  void      Print_Mesh();
extern  void      Add_Node();
extern  void      Fix_Node();
extern  void      Node_Load();
extern  void      Link_Node();
extern  void      Add_Elmt();

extern  void      Print_Displ();
#ifdef __STDC__
extern MATRIX    *Print_Stress( MATRIX *, ... );
#else
extern MATRIX    *Print_Stress();
#endif

extern MATRIX    *Form_Stiffness();
extern MATRIX    *Form_Mass();
extern MATRIX    *Form_External_Load();
extern MATRIX    *Form_Equiv_Nodal_Load();
#ifdef __STDC__
extern MATRIX    *Form_Internal_Load( MATRIX *, ... );
#else
extern MATRIX    *Form_Internal_Load();
#endif

extern MATRIX    *Solve_Eigen();
extern MATRIX    *Velocity_Extract();
extern MATRIX    *Displacement_Extract();
extern void       Ldof_to_gdof();

/* Finite Element Allocation Routines */

extern ELEMENT_ATTR     *Alloc_Element_Attr_Item();
extern SECTION_ATTR     *Alloc_Section_Attr_Item();
extern MATERIAL_ATTR    *Alloc_Material_Attr_Item();
extern FIBER_ELMT       *Alloc_Fiber_Elmt_Attr_Item();

/* functions declarations for Add_Elmt, */

extern EFRAME    *CheckMaterialsSpace(); 
extern EFRAME    *CheckElementSpace();
extern EFRAME    *CheckRigidSpace();
extern EFRAME    *CheckJdiagSpace();   
extern EFRAME    *CheckNodeSpace();   
extern EFRAME    *CheckNforcesSpace(); 
extern EFRAME    *CheckEforcesSpace(); 
extern EFRAME    *CheckEtypesSpace(); 

/* functions for rule checking */

extern MATRIX    *Get_Coord();
extern MATRIX    *Get_Node();
extern MATRIX    *Get_Displ();
extern MATRIX    *Get_Stress();
extern MATRIX    *Get_Dof();
extern MATRIX    *Get_Section();
extern MATRIX    *Get_Material();

/* functions used in elmt_*.c */

extern MATRIX    *beamst();
extern MATRIX    *beamms();
extern MATRIX    *beamms3d();
extern MATRIX    *beamst3d();
extern double   **tmat();
extern double   **rotate();
extern double   **rotate3d();
extern int        pstres();
extern            gauss();
extern int        pgauss();
extern int        shape();
extern int        shp0();
extern double   **qushp8();
extern double   **dktqbm();
extern int        jacqud();
extern void       dktb06();
extern void       dktq06();
extern void       hshp06();
extern void       jacq06();
extern void       jtri06();
extern void       proj06();
extern void       rots06();
extern void       rshp06();
extern void       stre06();
extern void       tran06();
extern double    *pstres06();
extern void       shp_prt();

/* functions about 4 node shell elmt */

extern ARRAY     *elmt_shell_4nodes_implicit();
extern void       Lamina_Sys();
extern void       Lamina_Sys_Implicit();
extern void       elmt_shell_shape_4node();
extern double   **Hourglass_Stress_Rate();
extern void       Shell_4Node_Mass();
extern double   **B_MATRIX_4Node();
extern void       Shell_Stiff_Plane_4node();
extern double   **Shell_Nodal_Load_Plane();

/* functions about 8 node shell elmt */

extern ARRAY     *elmt_shell_8nodes_implicit();
extern void       Lamina_Sys_8node();
extern void       elmt_shell_shape_8node();
extern void       Shell_8Node_Mass();
extern void       Stress_Update_8Node();
extern double   **B_MATRIX_8Node();
extern void       Shell_Stiff_Plane_8node();
extern double   **Shell_Nodal_Load_8Node();

/* functions declarations for 4 Node and 8 Node shell elements */

extern void       MATER_SHELL_UPDATE();
extern double   **STRAIN_RATE_SHELL();
extern double   **Hourglass_Stress_Rate();
extern double   **Hourglass_stiff();
extern double   **Strain_Displ_Matrix();
extern double   **MATER_MAT_SHELL();
extern void       Load_Curve();
extern void       Plastic_Deform();

extern void       DISPL_UPDATE();
extern void       Stress_Update();
extern void       BB_Vector();

/* functions for non-linear analysis */

extern void       UpdateResponse();
extern void       save_action();
extern void       SetUpRespondBuffer();
extern void       SaveRespondBuffer();
extern void       SetUpFiberRespondBuff();

#endif /* end case FE_FUNCTIONS_H */

⌨️ 快捷键说明

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