00001 #ifndef BEAMGEN3D_H
00002 #define BEAMGEN3D_H
00003
00004 #include "alias.h"
00005 struct matrix;
00006 struct vector;
00007 struct ivector;
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 class beamgen3d
00018 {
00019 public:
00020 beamgen3d (void);
00021 ~beamgen3d (void);
00022
00023 void transf_matrix (ivector &nodes,matrix &tmat);
00024 void beam_transf_matrix (matrix &tmat,double &dl,vector &vec,vector &x,vector &y,vector &z,long eid);
00025 void ck_matrix (matrix &ck, double s,double c,double eh,double dl);
00026 void geom_matrix (matrix &n,double s,double dl,double gy,double gz);
00027 void bf_matrix (matrix &n,double s,double dl,double gy,double gz);
00028 void stiffness_matrix (long eid,long ri,long ci,matrix &sm);
00029 void res_stiffness_matrix (long eid,matrix &sm);
00030 void stiffness_matrixtor (matrix &sm, double dl,double e,double g,double gy,double gz,double *ixyz,double *ioyz);
00031 void stiffness_matrixtor1 (matrix &sm, double dl,double e,double g,double gy,double gz,double *ixyz,double *ioyz);
00032 void stiffness_matrixtor2 (matrix &sm, double dl,double e,double g,double gy,double gz,double *ixyz,double *ioyz,double *iro);
00033 void load_matrix (long eid,matrix &lm);
00034
00035 void nodal_displ (long eid,long lcid);
00036 void nodal_forces (long eid,long lcid);
00037 void res_internal_forces (long lcid,long eid,vector &ifor);
00038 void internal_forces (long lcid,long eid,long ri,long ci,vector &ifor);
00039 void internal_forces1 (long lcid,long eid,long ri,long ci,vector &ifor);
00040
00041
00042
00043 long ndofe;
00044
00045 long nne;
00046
00047 long tncomp;
00048
00049 long tnip;
00050
00051 long *ncomp;
00052
00053 long *cncomp;
00054
00055 long napfun;
00056
00057 long **intordsm;
00058
00059 long intordmm;
00060
00061 long intordism;
00062
00063 long **nip;
00064
00065 long nb;
00066
00067 strastrestate ssst;
00068 };
00069
00070 #endif