00001 #ifndef CCT_H
00002 #define CCT_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 cctelem
00017 {
00018 public:
00019 cctelem (void);
00020 ~cctelem (void);
00021
00022 double approx (vector &areacoord,vector &nodval);
00023 double approx_nat (double xi,double eta,vector &nodval);
00024 void bf_matrix (matrix &n,vector &x,vector &y,vector &areacoord);
00025 void geom_matrix_block (matrix &gm,long bi,vector &x,vector &y,vector &areacoord);
00026 void geom_matrix (matrix &gm,vector &x,vector &y,vector &areacoord);
00027 void dmatblock (long ri,long ci,matrix &d,matrix &dd,double t);
00028 void dmat (matrix &d,double t);
00029 void transf_matrix (ivector &nodes,matrix &tmat);
00030 void stiffness_matrix (long eid,long ri,long ci,matrix &sm,vector &x,vector &y);
00031 void res_stiffness_matrix (long eid,matrix &sm);
00032 void mass_matrix (long eid,matrix &mm,vector &x,vector &y);
00033 void res_mass_matrix (long eid,matrix &mm);
00034 void load_matrix (long eid,matrix &lm);
00035
00036 void ip_strains (long lcid,long eid,long ri,long ci,vector &x,vector &y,vector &r);
00037 void res_ip_strains (long lcid,long eid);
00038 void nod_strains_ip (long lcid,long eid,long ri,long ci);
00039 void res_ip_stresses (long lcid,long eid);
00040 void nod_stresses_ip (long lcid,long eid,long ri,long ci);
00041
00042 void strains (long lcid,long eid,long ri,long ci);
00043
00044 void nodecoord (vector &xi,vector &eta);
00045 void appval (double xi,double eta,long fi,long nc,vector &eps,double **val);
00046
00047 void stresses (long lcid,long eid,long ri,long ci);
00048
00049 void internal_forces (long lcid,long eid,long ri,long ci,vector &ifor,vector &x,vector &y);
00050 void nonloc_internal_forces (long lcid,long eid,long ri,long ci,vector &ifor,vector &x,vector &y);
00051 void incr_internal_forces (long lcid,long eid,long ri,long ci,vector &ifor,vector &x,vector &y);
00052 void eigstrain_forces (long lcid,long eid,long ri,long ci,vector &nfor,vector &x,vector &y);
00053
00054 void res_internal_forces (long lcid,long eid,vector &ifor);
00055 void res_nonloc_internal_forces (long lcid,long eid,vector &ifor);
00056 void res_incr_internal_forces (long lcid,long eid,vector &ifor);
00057 void res_eigstrain_forces (long lcid,long eid,vector &nfor);
00058
00059 void compute_nlstress (long lcid,long eid,long ri,long ci);
00060 void compute_nlstressincr (long lcid,long eid,long ri,long ci);
00061 void local_values (long lcid,long eid,long ri,long ci);
00062 void compute_nonloc_nlstress (long lcid,long eid,long ri,long ci);
00063 void compute_eigstress (long lcid,long eid,long ri,long ci);
00064 void elem_integration (integratedquant iq,long lcid,long eid,long ri,long ci,vector &nv,vector &x,vector &y);
00065
00066 void inicipval(long eid, long ri, long ci, matrix &nodval, inictype *ictn);
00067
00068
00069
00070 long ndofe;
00071
00072 long nne;
00073
00074 long tncomp;
00075
00076 long tnip;
00077
00078 long napfun;
00079
00080 long ned;
00081
00082 long nned;
00083
00084 long **intordsm;
00085
00086 long **nip;
00087
00088 long *ncomp;
00089
00090 long *cncomp;
00091
00092 long nb;
00093
00094 long intordmm;
00095
00096 strastrestate ssst;
00097 };
00098
00099 #endif