📄 defs.h
字号:
/* * ============================================================================= * ALADDIN Version 1.0 : * defs.h : Standard definitions * * 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 * ============================================================================= *//* * ----------------- * Numerical Values * ----------------- */#define MAXTOKSIZE 80#define SHORTOKSIZE 16#define MAX_ITERATIONS 75#define MAXREAL 1.7e38#define MINREAL 1.0e-37#define PI 3.14159265358979323846#define DEG 57.29577951308232087680static double ETA = 2.938736e-38;static double EPS = 1.387779e-16;static double TOL = 2.117583e-22;/* * ----------------- * Math Macros * ----------------- */#define MAX(a, b) ((a) > (b) ? (a) : (b))#define MIN(a, b) ((a) < (b) ? (a) : (b))#define SIGN(a) ( a < 0 ? 1 : -1)#define ABS(a) (((a) >= 0) ? (a) : -(a))#define isletter(c) (isalpha(c) || (c) == '_')#define cot(a) ((double)(cos((double)(a)) /sin((double)(a))))#define square(x) x*x#define Deg2Rad (PI / 180.0)/* * ------------------- * Logical Definitions * ------------------- */#define ONE 1#define TRUE 1 #define FALSE 0 #define ON 1 #define OFF 0 #define NOT_FINISHED 1 #define FINISHED 0 #define PASSED 1 #define FAILED 0 #define YES 1 #define NO 0 #define UP 1#define DOWN 0#define COUNTED 1#define NOTCOUNTED 2#define FAILURE 0#define SUCCESS 1/* --------------------------------------------------------------- *//* Finite Element : Global Arrays & numbers : THIS WILL BE CHANGED *//* --------------------------------------------------------------- */double **R, **RT;double **K, **M, **C, **L, *d, *F, *pe, **KBAC;double *Fe, *B, *Qs, **pr, *nopl;int NSTEPS;float Eq_angle;float DT;float BETA;/* ------------ *//* Problem Type *//* ------------ */#define LUMPED 1#define CONSISTENT -1#define EQNOS 1#define COLHGT 2#define STATIC 1#define DYNAMIC 2#define IMPLICIT -1#define EXPLICIT 1/* ------------------------- *//* Cases for Element Library *//* ------------------------- */#define PROPTY 1 #define CHERROR 2 #define ELMT_S_MAT 3#define STIFF 3 #define AXISYM 3#define STRESS 4#define MASS_MATRIX 5 #define LOAD_MATRIX 6#define PRESSLD 7#define STRESS_LOAD 8#define EQUIV_NODAL_LOAD 9#define ACCELERATION_LOAD 10#define STRESS_UPDATE 11#define ATTR 15#define ELEMENT_LIBRARY 1000/* --------------------------------------------- *//* UNIT_QTYs definitions for INITIAL ALLOCATION *//* --------------------------------------------- */#define UNIT_NDM 2#define UNIT_NDF 3 #define UNIT_NEN 8 /* max nodes per element */#define UNIT_INTEG_PTS 2 /* 2 pts for linear, 5 for non-linear analysis */ /* this needs to be changed to adapt dynamic pts */ /* for different problems and elements */#define UNIT_IN_PLANE_INTEG_PTS 4 #define UNIT_NAD 0#define UNIT_NODES 10#define UNIT_ELEMENTS 10#define UNIT_RIGIDS 10#define UNIT_NFORCES 10 #define UNIT_EFORCES 10#define UNIT_SECTION_ATTR 20 /* must >= no. of variables in data structures SECTION_ATTR defined in fe_database.h */#define UNIT_MATERIAL_ATTR 20 /* must >= no. of variables in data structures MATERIAL_ATTR defined in fe_database.h */#define UNIT_ELEMENT_ATTR 17 #define MAX_NO_MEMBER_LOADS 10/* -------------------------------------------- *//* UNIT_QTYs definitions for Arrays of P_ARRAY */ /* -------------------------------------------- */#define UNIT_ENST 6 #define UNIT_ENDM 3 #define UNIT_ENDF 6 #define UNIT_ENEN 8 /* max nodes per element */extern int max_no_nodes;extern int max_no_eqs;extern int max_no_elements;extern int max_no_rigid;extern int max_no_nforces;extern int max_no_loaded_elmts;extern int TDOF;extern int TNEQ;extern int MDOF;extern int UNITS_TYPE;int H_Print;int STATE_PLASTIC;int NO_OF_ELMTS;int LOCAL_DOF; /* total local dofs per element */int NODES_PER_ELMT; /* not the max nodes per element *//* -------------------------------------- *//* Control integers for print statements *//* -------------------------------------- */extern unsigned int PRINT_PROFILE;extern unsigned int PRINT_PLINK;extern unsigned int PRINT_EFRAME;extern unsigned int PRINT_E_NUM;extern unsigned int PRINT_E_STIFF;extern unsigned int PRINT_G_STIFF;extern unsigned int PRINT_E_MASS;extern unsigned int PRINT_R_MASS;extern unsigned int PRINT_G_MASS;extern unsigned int PRINT_E_DESTIN;extern unsigned int PRINT_R_DESTIN;extern unsigned int PRINT_E_DESTIN_SIZE;extern unsigned int PRINT_R_DESTIN_SIZE;extern unsigned int PRINT_LOAD_VECTOR;extern unsigned int PRINT_RESPONSE_VECTOR;extern unsigned int PRINT_DISP;extern unsigned int PRINT_NODAL_DISP;extern unsigned int PRINT_RIGIDBODY_DISP;extern unsigned int PRINT_STRESS;extern unsigned int PRINT_STORY_DRIFT;extern unsigned int PRINT_ELEM_LOAD;extern unsigned int PRINT_FEF;/* =================================== *//* constraints and boundary conditions *//* =================================== */#define FIXED 0#define NOTFIXED 1#define UNCONSTRAINED 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -