00001 #ifndef DST_H
00002 #define DST_H
00003
00004 #include "alias.h"
00005 struct matrix;
00006 struct vector;
00007 struct ivector;
00008
00009 class dstelem
00010 {
00011 public:
00012 dstelem (void);
00013 ~dstelem (void);
00014
00015 double approx (vector &areacoord,vector &nodval);
00016
00017 void tran_matrix (matrix &a,matrix &ct,long eid);
00018 void geom_matrix_bconst (matrix &gm,vector &x,vector &y);
00019 void geom_matrix_bending (matrix &gm,matrix &a,matrix &ct,vector &x,vector &y,vector &l);
00020 void geom_matrix_shear (matrix &gs,matrix &a,matrix &ct,long eid);
00021 void transf_matrix (ivector &nodes,matrix &tmat);
00022 void dmatblock (matrix &dd,matrix &d,long ri, long ci, double t);
00023 void stiffness_matrix (long eid,long ri, long ci, matrix &sm,vector &x, vector &y);
00024 void res_stiffness_matrix (long eid,matrix &sm);
00025 void nodecoord (vector &xi,vector &eta);
00026 void appval (vector &l, long fi,long nc,vector &eps,double **val);
00027
00028 void ip_strains (long lcid,long eid,long ri,long ci,vector &x,vector &y,vector &r);
00029 void res_ip_strains (long lcid,long eid);
00030 void strains (long lcid,long eid,long ri, long ci);
00031 void res_ip_stresses (long lcid,long eid);
00032 void stresses (long lcid,long eid,long ri, long ci);
00033
00034 void compute_nlstress (long lcid,long eid,long ri,long ci);
00035 void compute_nlstressincr (long lcid,long eid,long ri,long ci);
00036
00037 void internal_forces (long lcid,long eid,long ri,long ci,vector &ifor,vector &x,vector &y);
00038 void res_internal_forces (long lcid,long eid,vector &ifor);
00039 void res_incr_internal_forces (long lcid,long eid,vector &ifor);
00040
00041 void incr_internal_forces (long lcid,long eid,long ri,long ci,vector &ifor,vector &x,vector &y);
00042 void elem_integration (integratedquant iq,long lcid,long eid,long ri,long ci,vector &nv,vector &x,vector &y);
00043
00044 void nodeforces (long eid,long *le,double *nv,vector &nf);
00045 void areaforces (long eid,double *nv,vector &nf);
00046 void inicipval(long eid, long ri, long ci, matrix &nodval, inictype *ictn);
00047
00048
00049 long ndofe;
00050
00051 long nne;
00052
00053 long tncomp;
00054
00055 long tnip;
00056
00057 long *ncomp;
00058
00059 long *cncomp;
00060
00061 long napfun;
00062
00063 long ned;
00064
00065 long nned;
00066
00067 long **intordsm;
00068
00069 long intordmm;
00070
00071 long intordb;
00072
00073 long **nip;
00074
00075 long nb;
00076
00077 strastrestate ssst;
00078 };
00079
00080 #endif