00001 #ifndef PLELEMQQ_H
00002 #define PLELEMQQ_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 planeelemqq
00017 {
00018 public:
00019 planeelemqq (void);
00020 ~planeelemqq (void);
00021
00022 double approx (double xi,double eta,vector &nodval);
00023
00024 void bf_matrix (matrix &n,double xi,double eta);
00025 void geom_matrix (matrix &gm,vector &x,vector &y,double xi,double eta,double &jac);
00026 void transf_matrix (ivector &nodes,matrix &tmat);
00027 void stiffness_matrix (long eid,long ri,long ci,matrix &sm,vector &x,vector &y);
00028 void res_stiffness_matrix (long eid,matrix &sm);
00029 void mass_matrix (long eid,matrix &mm,vector &x,vector &y);
00030 void res_mass_matrix (long eid,matrix &mm);
00031 void load_matrix (long eid,matrix &lm,vector &x,vector &y);
00032 void res_load_matrix (long eid,matrix &lm);
00033
00034 void res_ip_strains (long lcid,long eid);
00035 void ip_strains (long lcid,long eid,long ri,long ci,vector &x,vector &y,vector &r);
00036 void nod_strains_ip (long lcid,long eid,long ri,long ci);
00037 void strains (long lcid,long eid,long ri,long ci);
00038 void nod_eqother_ip (long eid,long ri,long ci);
00039
00040 void nodipnum (long eid,long ri,long ci,ivector &ipnum);
00041 void appval (double xi,double eta,long fi,long nc,vector &eps,double **val);
00042
00043 void res_ip_stresses (long lcid,long eid);
00044 void ip_stresses (long lcid,long eid,long ri,long ci);
00045 void nod_stresses_ip (long lcid,long eid,long ri,long ci);
00046 void stresses (long lcid,long eid,long ri,long ci);
00047
00048 void internal_forces (long lcid,long eid,long ri,long ci,vector &ifor,vector &x,vector &y);
00049 void nonloc_internal_forces (long lcid,long eid,long ri,long ci,vector &ifor,vector &x,vector &y);
00050 void incr_internal_forces (long lcid,long eid,long ri,long ci,vector &ifor,vector &x,vector &y);
00051 void eigstrain_forces (long lcid,long eid,long ri,long ci,vector &nfor,vector &x,vector &y);
00052
00053 void res_internal_forces (long lcid,long eid,vector &ifor);
00054 void res_nonloc_internal_forces (long lcid,long eid,vector &ifor);
00055 void res_incr_internal_forces (long lcid,long eid,vector &ifor);
00056 void res_eigstrain_forces (long lcid,long eid,vector &nfor);
00057
00058 void compute_nlstress (long lcid,long eid,long ri,long ci);
00059 void compute_nlstressincr (long lcid,long eid,long ri,long ci);
00060 void local_values (long lcid,long eid,long ri,long ci);
00061 void compute_nonloc_nlstress (long lcid,long eid,long ri,long ci);
00062 void compute_eigstress (long lcid,long eid,long ri,long ci);
00063 void elem_integration (integratedquant iq,long lcid,long eid,long ri,long ci,vector &nv,vector &x,vector &y);
00064
00065 void ipcoord (long eid,long ipp,long ri,long ci,vector &coord);
00066 void ipcoordblock (long eid,long ri,long ci,double **coord);
00067
00068 void res_nodeforces (long eid,long *le,double *nv,vector &nf);
00069 void nodeforces (long eid,long *le,double *nv,vector &nf,vector &x,vector &y);
00070
00071 void midpoints (long eid,long dd,double *valel);
00072
00073 void inicipval(long eid, long ri, long ci, matrix &nodval, inictype *ictn);
00074 void ipvolume (long eid,long ri,long ci);
00075 void intpointval (long eid,vector &nodval,vector &ipval);
00076 void intpointval2 (long eid,vector &nodval,vector &ipval);
00077
00078
00079
00080 void ntdbr_vector (long eid,vector &ntdbr);
00081 void ntn_matrix (long eid,matrix &ntn);
00082 double compute_error (long eid, double &e2, double &u2, double &sizel, vector *rsigfull);
00083 void elchar (long eid, matrix &spsig);
00084
00085
00086
00087 long ndofe;
00088
00089 long nne;
00090
00091 long tncomp;
00092
00093 long gncomp;
00094
00095 long tnip;
00096
00097 long *ncomp;
00098
00099 long *cncomp;
00100
00101 long napfun;
00102
00103 long ned;
00104
00105 long nned;
00106
00107 long **intordsm;
00108
00109 long intordmm;
00110
00111 long intordb;
00112
00113 long **nip;
00114
00115 long nb;
00116
00117 strastrestate ssst;
00118
00119 };
00120
00121 #endif