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