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