00001 #ifndef PLQUADCONTACT_H
00002 #define PLQUADCONTACT_H
00003
00004 #include "alias.h"
00005
00006 struct matrix;
00007 struct vector;
00008 struct ivector;
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 class plquadcontact
00022 {
00023 public:
00024 plquadcontact (void);
00025 ~plquadcontact (void);
00026
00027 void transf_matrix (ivector &nod,matrix &tmat);
00028
00029 double approx (double xi,vector &nodval);
00030
00031 void stiffness_matrix (long eid,long ri,long ci,matrix &sm);
00032 void res_stiffness_matrix(long eid, matrix &sm);
00033
00034 void res_mainip_strains (long lcid,long eid);
00035 void mainip_strains (long lcid,long eid,long ri,long ci,vector &r);
00036
00037 void res_mainip_stresses (long lcid,long eid);
00038
00039 void geom_matrix (matrix &gm,vector &x,vector &y,double xi,double &jac);
00040
00041 void compute_nlstress (long lcid,long eid,long ri,long ci);
00042
00043 void internal_forces (long lcid,long eid,long ri,long ci,vector &ifor,vector &x, vector &y);
00044 void res_internal_forces (long lcid,long eid,vector &ifor);
00045
00046 void elem_integration (integratedquant iq,long lcid,long eid,long ri,long ci,vector &nv,vector &x,vector &y);
00047
00048
00049
00050
00051 long ndofe;
00052
00053 long nne;
00054
00055 long tncomp;
00056
00057 long tnip;
00058
00059 long *ncomp;
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069 long **intordsm;
00070
00071
00072
00073
00074
00075 long **nip;
00076
00077 long nb;
00078
00079 strastrestate ssst;
00080
00081 };
00082
00083
00084 #endif