00001 #ifndef q4plate_H
00002 #define q4plate_H
00003
00004 #include "alias.h"
00005 struct matrix;
00006 struct vector;
00007 struct ivector;
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 class q4plate
00019 {
00020 public:
00021 q4plate (void);
00022 ~q4plate (void);
00023
00024 double approx (double xi,double eta,vector &nodval);
00025 void atd_matrix (matrix &atd,vector &x,vector &y,long eid);
00026 void bf_matrix (matrix &n,matrix &atd,vector &x,vector &y,vector &l);
00027 void geom_matrix_bending (matrix &gm,matrix &atd,vector &x,vector &y,vector &l);
00028 void geom_matrix_shear (matrix &gm,matrix &atd,vector &x,vector &y,vector &l);
00029 void dmatblock (matrix &dd,matrix &d,long ri, long ci, double t);
00030 void transfmat (ivector &nodes,matrix &tmat);
00031 void stiffness_matrix (long eid,long ri,long ci, matrix &sm,vector &x, vector &y);
00032 void res_stiffness_matrix (long eid,matrix &sm);
00033 void initstr_matrix (long eid,long ri,long ci,matrix &ism);
00034 void load_matrix (long eid,matrix &lm);
00035
00036 void appval (double xi,double eta,long fi,long nc,vector &eps,double **val);
00037
00038 void res_ip_strains (long lcid,long eid);
00039 void ip_strains (long lcid,long eid,long ri,long ci,vector &x,vector &y,vector &r);
00040 void nod_strains_ip (long lcid,long eid,long ri,long ci);
00041 void strains (long lcid,long eid,long ri,long ci);
00042
00043 void res_ip_stresses (long lcid,long eid);
00044 void nod_stresses_ip (long lcid,long eid,long ri,long ci);
00045 void stresses (long lcid,long eid,long ri,long ci);
00046
00047 void internal_forces (long lcid,long eid,long ri,long ci,vector &ifor,vector &x,vector &y);
00048 void nonloc_internal_forces (long lcid,long eid,long ri,long ci,vector &ifor,vector &x,vector &y);
00049 void incr_internal_forces (long lcid,long eid,long ri,long ci,vector &ifor,vector &x,vector &y);
00050 void eigstrain_forces (long lcid,long eid,long ri,long ci,vector &nfor,vector &x,vector &y);
00051
00052 void res_internal_forces (long lcid,long eid,vector &ifor);
00053 void res_nonloc_internal_forces (long lcid,long eid,vector &ifor);
00054 void res_incr_internal_forces (long lcid,long eid,vector &ifor);
00055 void res_eigstrain_forces (long lcid,long eid,vector &nfor);
00056
00057 void compute_nlstress (long lcid,long eid,long ri,long ci);
00058 void compute_nlstressincr (long lcid,long eid,long ri,long ci);
00059 void local_values (long lcid,long eid,long ri,long ci);
00060 void compute_nonloc_nlstress (long lcid,long eid,long ri,long ci);
00061 void compute_eigstress (long lcid,long eid,long ri,long ci);
00062 void elem_integration (integratedquant iq,long lcid,long eid,long ri,long ci,vector &nv,vector &x,vector &y);
00063
00064 void areaforces (long eid,double *nv,vector &lm);
00065 void inicipval(long eid, long ri, long ci, matrix &nodval, inictype *ictn);
00066
00067
00068
00069 long ndofe;
00070
00071 long nne;
00072
00073 long tncomp;
00074
00075 long tnip;
00076
00077 long *ncomp;
00078
00079 long *cncomp;
00080
00081 long napfun;
00082
00083 long ned;
00084
00085 long nned;
00086
00087 long **intordsm;
00088
00089 long intordmm;
00090
00091 long intordb;
00092
00093 long **nip;
00094
00095 long nb;
00096
00097 strastrestate ssst;
00098 };
00099
00100 #endif