00001 #ifndef SOILPLATEQ_H
00002 #define SOILPLATEQ_H
00003
00004 #include "alias.h"
00005 #include "q4plate.h"
00006 struct matrix;
00007 struct vector;
00008 struct ivector;
00009
00010 class soilplateq
00011 {
00012 public:
00013 soilplateq (void);
00014 ~soilplateq (void);
00015
00016 double approx (double xi,double eta,vector &nodval);
00017 void atd_matrix (matrix &atd,vector &x,vector &y);
00018 void dbmat (matrix &db,double c11, double c22,long ri, long ci);
00019 void transfmat (ivector &nodes,matrix &tmat);
00020 void appval (double xi,double eta,long fi,long nc,vector &eps,double **val);
00021 void nodecoord (vector &xi,vector &eta);
00022 void geom_matrix (matrix &gm,matrix &atd,vector &x,vector &y, vector &l);
00023 void geom_matrix_shear (matrix &gm,matrix &atd,vector &x,vector &y,vector &l);
00024 void res_stiffness_matrix (long eid,matrix &sm);
00025 void stiffness_matrix (long eid,long ri,long ci, matrix &sm,vector &x, vector &y);
00026
00027 void res_mainip_strains (long lcid,long eid);
00028 void mainip_strains (long lcid,long eid,long ri,long ci,vector &x,vector &y,vector &r);
00029 void nod_strains (long lcid,long eid,long ri,long ci);
00030 void elem_strains (double **stra,long lcid,long eid,long ri,long ci);
00031 void appstrain (long lcid,long eid,double xi,double eta,long fi,long ncomp,vector &eps);
00032 void allip_strains (double **stra,long lcid,long eid,long ri,long ci);
00033 void strains (long lcid,long eid,long ri,long ci);
00034
00035 void res_allip_stresses (long lcid,long eid);
00036 void allip_stresses (long lcid,long eid,long ri,long ci);
00037
00038
00039 void internal_forces (long lcid,long eid,long ri,long ci,vector &ifor,vector &x,vector &y, vector &z);
00040 void nonloc_internal_forces (long lcid,long eid,long ri,long ci,vector &ifor,vector &x,vector &y, vector &z);
00041 void incr_internal_forces (long lcid,long eid,long ri,long ci,vector &ifor,vector &x,vector &y, vector &z);
00042 void eigstrain_forces (long lcid,long eid,long ri,long ci,vector &nfor,vector &x,vector &y, vector &z);
00043
00044 void res_internal_forces (long lcid,long eid,vector &ifor);
00045 void res_nonloc_internal_forces (long lcid,long eid,vector &ifor);
00046 void res_incr_internal_forces (long lcid,long eid,vector &ifor);
00047 void res_eigstrain_forces (long lcid,long eid,vector &nfor);
00048
00049 void compute_nlstress (long lcid,long eid,long ri,long ci);
00050 void compute_nlstressincr (long lcid,long eid,long ri,long ci);
00051 void local_values (long lcid,long eid,long ri,long ci);
00052 void compute_nonloc_nlstress (long lcid,long eid,long ri,long ci);
00053 void compute_eigstress (long lcid,long eid,long ri,long ci);
00054 void elem_integration (integratedquant iq, long lcid, long eid, long ri, long ci, vector &nv, vector &x, vector &y, vector &z);
00055
00056
00057
00058
00059
00060
00061 long ndofe;
00062
00063 long nne;
00064
00065 long tncomp;
00066
00067 long tnip;
00068
00069 long *ncomp;
00070
00071 long *cncomp;
00072
00073 long napfun;
00074
00075 long ned;
00076
00077 long nned;
00078
00079 long **intordsm;
00080
00081 long intordmm;
00082
00083 long intordb;
00084
00085 long **nip;
00086
00087 long nb;
00088
00089 strastrestate ssst;
00090 };
00091
00092 #endif