00001 #ifndef BEAMEL3D_H
00002 #define BEAMEL3D_H
00003
00004 #include "alias.h"
00005 struct matrix;
00006 struct vector;
00007 struct ivector;
00008
00009
00010
00011
00012
00013
00014
00015
00016 class beamel3d
00017 {
00018 public:
00019 beamel3d (void);
00020 ~beamel3d (void);
00021 void transf_matrix (ivector &nodes,matrix &tmat);
00022 void beam_transf_matrix (matrix &tmat,double &dl,vector &vec,vector &x,vector &y,vector &z,long eid);
00023 void bf_matrix (matrix &n,double s,double dl,double gy,double gz);
00024 void bf_matrix_transl (matrix &n,double xi,double l,double gy,double gz);
00025 void geom_matrix (matrix &n,double s,double dl,double gy,double gz);
00026 void stiffness_matrix (long eid,long ri,long ci,matrix &sm);
00027 void stiffness_matrix_local (long eid,long ri,long ci,matrix &sm);
00028 void stiffness_matrix_local2 (long eid,long ri,long ci,matrix &sm);
00029 void nodeforces(long eid, long *le, double*nv, vector &nf);
00030 void res_stiffness_matrix (long eid,matrix &sm);
00031 void mass_matrix (long eid,long ri,long ci,matrix &mm);
00032 void res_mass_matrix (long eid,matrix &mm);
00033 void mass_matrix_expl (long eid,long ri,long ci,matrix &mm);
00034 void initstr_matrix (long eid,long ri,long ci,matrix &ism);
00035 void load_matrix (long eid,matrix &lm);
00036
00037 void nodal_displ (long lcid,long eid);
00038 void nodal_forces (long lcid,long eid);
00039 void res_internal_forces (long lcid,long eid,vector &ifor);
00040 void internal_forces (long lcid,long eid,long ri,long ci,vector &ifor);
00041
00042 void define_meaning (long eid);
00043
00044
00045
00046 long ndofe;
00047
00048 long nne;
00049
00050 long tncomp;
00051
00052 long tnip;
00053
00054 long *ncomp;
00055
00056 long *cncomp;
00057
00058 long napfun;
00059
00060 long **intordsm;
00061
00062 long intordmm;
00063
00064 long intordism;
00065
00066 long **nip;
00067
00068 long nb;
00069
00070 strastrestate ssst;
00071 };
00072
00073 #endif