00001 #ifndef SOILBEAM_H
00002 #define SOILBEAM_H
00003
00004 #include "alias.h"
00005 struct matrix;
00006 struct vector;
00007 struct ivector;
00008
00009 class soilbeam
00010 {
00011 public:
00012 soilbeam (void);
00013 ~soilbeam (void);
00014
00015 void transf_matrix (ivector &nodes,matrix &tmat);
00016 void geom_matrix (matrix &n,double s,double dl,double gy,double gz);
00017 void beam_transf_matrix (matrix &tmat,double &dl,vector &vec,vector &x,vector &y,vector &z,long eid);
00018 void res_stiffness_matrix (long eid,matrix &sm);
00019 void stiffness_matrix (long eid,long ri,long ci,matrix &sm);
00020 void strains (long lcid,long eid,long ri,long ci);
00021 void res_internal_forces (long lcid,long eid,vector &ifor);
00022 void internal_forces (long lcid,long eid,long ri,long ci,vector &ifor);
00023 void internal_forces1 (long lcid,long eid,long ri,long ci,vector &ifor);
00024
00025
00026
00027
00028
00029 long ndofe;
00030
00031 long nne;
00032
00033 long tncomp;
00034
00035 long *ncomp;
00036
00037 long *cncomp;
00038
00039 long napfun;
00040
00041 long **intordsm;
00042
00043 long intordmm;
00044
00045 long intordism;
00046
00047 long **nip;
00048
00049 long tnip;
00050
00051 long nb;
00052
00053 strastrestate ssst;
00054
00055 double *c1,*c2;
00056 double bPod;
00057 };
00058
00059 #endif