00001 #ifndef AXISYMLQ_H
00002 #define AXISYMLQ_H
00003
00004 #include "alias.h"
00005 struct matrix;
00006 struct vector;
00007 struct ivector;
00008
00009
00010
00011
00012
00013
00014
00015 class axisymlq
00016
00017
00018
00019 {
00020 public:
00021 axisymlq (void);
00022 ~axisymlq (void);
00023 void eleminit (long eid);
00024 double approx (double xi,double eta,vector &nodval);
00025 void bf_matrix (matrix &n,double xi,double eta);
00026 void geom_matrix (matrix &gm,vector &x,vector &y,double xi,double eta,double &jac);
00027 void geom_matrix_block (matrix &gm,long ri,vector &x,vector &y,double xi,double eta,double &jac);
00028 void dmatblock (long ri,long ci,matrix &d, matrix &dd);
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,long ii,vector &x,vector &y,vector &r);
00036 void nod_strains (long lcid,long eid,long ri,long ci);
00037 void elem_strains (double **stra,long lcid,long eid,long ri,long ci);
00038 void appstrain (long lcid,long eid,double xi,double eta,long fi,long ncomp,vector &eps);
00039 void res_allip_strains (long lcid,long eid);
00040 void allip_strains (long lcid,long eid,long ri,long ci);
00041 void strains (long lcid,long eid,long ri,long ci);
00042
00043 void nodecoord (vector &xi,vector &eta);
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,long ii);
00048 void nod_stresses (long lcid,long eid,long ri,long ci);
00049 void elem_stresses (double **stra,double **stre,long lcid,long eid,long ri,long ci);
00050 void appstress (long lcid,long eid,double xi,double eta,long fi,long ncomp,vector &sig);
00051 void res_allip_stresses (long lcid,long eid);
00052 void allip_stresses (long lcid,long eid,long ri,long ci);
00053 void stresses (long lcid,long eid,long ri,long ci);
00054
00055 void load_matrix (long eid,matrix &lm);
00056 void res_temp_forces (long lcid,long eid,vector &nfor);
00057 void temp_forces (long lcid,long eid,long ri,long ci,vector &nfor,vector &x,vector &y);
00058 void tempstrains (long lcid,long eid,long ipp,double xi,double eta,vector &eps);
00059 void internal_forces (long lcid,long eid,vector &ifor);
00060 void res_internal_forces (long lcid,long eid,vector &ifor);
00061 void nodeforces (long eid,long *le,double *nv,vector &nf);
00062 void inicipval(long eid, long ri, long ci, matrix &nodval, inictype *ictn);
00063
00064
00065
00066 long ndofe;
00067
00068 long nne;
00069
00070 long tncomp;
00071
00072 long tnip;
00073
00074 long napfun;
00075
00076 long ned;
00077
00078 long nned;
00079
00080 long **intordsm;
00081
00082 long intordmm;
00083
00084 long intordb;
00085
00086 long **nip;
00087
00088 long nb;
00089
00090 long *ncomp;
00091
00092 long *cncomp;
00093
00094 strastrestate ssst;
00095 };
00096
00097 #endif
00098
00099