00001 #ifndef BEAMEL2D_H
00002 #define BEAMEL2D_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 beamel2d
00017 {
00018 public:
00019 beamel2d (void);
00020 ~beamel2d (void);
00021 void bf_matrix (matrix &n,double xi,double l,double kappa);
00022 void dbf_matrix (matrix &n,double xi,double l,double kappa);
00023 void geom_matrix (matrix &gm,double xi,double l,double kappa);
00024 void transf_matrix (ivector &nodes,matrix &tmat);
00025 void beam_transf_matrix (long eid,vector &x,vector &z,matrix &tmat);
00026
00027 void stiffness_matrix (long eid,long ri,long ci,matrix &sm);
00028 void res_stiffness_matrix (long eid,matrix &sm);
00029 void stiffness_matrix_expl_local (long eid,long ri,long ci,matrix &sm);
00030 void stiffness_matrix_expl (long eid,long ri,long ci,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 initstr_matrix_expl (long eid,long ri,long ci,matrix &ism);
00036
00037 void nodal_displ (long lcid,long eid);
00038 void nodal_forces (long lcid,long eid);
00039 void nodeforces(long eid, long *le, double*nv, vector &nf);
00040
00041 void internal_forces (long lcid,long eid,vector &ifor);
00042 void res_internal_forces (long lcid,long eid,vector &ifor);
00043 void define_meaning (long eid);
00044
00045
00046
00047
00048
00049 long ndofe;
00050
00051 long nne;
00052
00053 long tncomp;
00054
00055 long *ncomp;
00056
00057 long *cncomp;
00058
00059 long napfun;
00060
00061 long **intordsm;
00062
00063 long intordmm;
00064
00065 long intordism;
00066
00067 long **nip;
00068
00069 long nb;
00070
00071 strastrestate ssst;
00072
00073 long tnip;
00074 };
00075
00076 #endif