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
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 class axisymlq
00033 {
00034 public:
00035 axisymlq (void);
00036 ~axisymlq (void);
00037
00038 double approx (double xi,double eta,vector &nodval);
00039 void bf_matrix (matrix &n,double xi,double eta);
00040 void geom_matrix (matrix &gm,vector &x,vector &y,double xi,double eta,double &jac);
00041 void geom_matrix_block (matrix &gm,long ri,vector &x,vector &y,double xi,double eta,double &jac);
00042
00043 void dmatblock (long ri,long ci,matrix &d, matrix &dd);
00044 void transf_matrix (ivector &nodes,matrix &tmat);
00045
00046 void stiffness_matrix (long eid,long ri,long ci,matrix &sm);
00047 void stiffness_matrix_blocks (long eid,long ri,long ci,matrix &sm);
00048 void res_stiffness_matrix (long eid,matrix &sm);
00049 void mass_matrix (long eid,matrix &mm);
00050
00051
00052 void ip_strains (long lcid,long eid,long ri,long ci,vector &x,vector &y,vector &r);
00053
00054 void edge_integral (long edg,vector &x,vector &y,long intord,vector &gp,vector &w,
00055 vector &coef,matrix &km);
00056 void edgenodeval (long edg,vector &nodval,double *list);
00057 void edgeload (long eid,long *le,double *list,vector &nf);
00058
00059
00060
00061 void res_mainip_strains (long lcid,long eid);
00062 void mainip_strains (long lcid,long eid,long ri,long ci,vector &x,vector &y,vector &r);
00063 void res_allip_strains (long lcid,long eid);
00064 void allip_strains (long lcid,long eid,long ri,long ci);
00065 void strains (long lcid,long eid,long ri,long ci);
00066
00067 void nodecoord (vector &xi,vector &eta);
00068 void appval (double xi,double eta,long fi,long nc,vector &eps,double **val);
00069
00070 void res_mainip_stresses (long lcid,long eid);
00071 void mainip_stresses (long lcid,long eid,long ri,long ci);
00072 void nod_stresses (long lcid,long eid,long ri,long ci);
00073 void elem_stresses (double **stra,double **stre,long lcid,long eid,long ri,long ci);
00074 void appstress (long lcid,long eid,double xi,double eta,long fi,long ncomp,vector &sig);
00075 void res_allip_stresses (long lcid,long eid);
00076 void allip_stresses (long lcid,long eid,long ri,long ci);
00077 void stresses (long lcid,long eid,long ri,long ci);
00078
00079 void nodipnum (long eid,long ri,long ci,ivector &ipnum);
00080 void nod_strains_ip (long lcid,long eid,long ri,long ci);
00081 void nod_stresses_ip (long lcid,long eid,long ri,long ci);
00082 void nod_eqother_ip (long eid);
00083
00084 void internal_forces (long lcid,long eid,long ri,long ci,vector &ifor,vector &x,vector &y);
00085 void nonloc_internal_forces (long lcid,long eid,long ri,long ci,vector &ifor,vector &x,vector &y);
00086 void incr_internal_forces (long lcid,long eid,long ri,long ci,vector &ifor,vector &x,vector &y);
00087 void eigstrain_forces (long lcid,long eid,long ri,long ci,vector &nfor,vector &x,vector &y);
00088
00089 void res_internal_forces (long lcid,long eid,vector &ifor);
00090 void res_nonloc_internal_forces (long lcid,long eid,vector &ifor);
00091 void res_incr_internal_forces (long lcid,long eid,vector &ifor);
00092 void res_eigstrain_forces (long lcid,long eid,vector &nfor);
00093
00094 void compute_nlstress (long lcid,long eid,long ri,long ci);
00095 void compute_nlstressincr (long lcid,long eid,long ri,long ci);
00096 void local_values (long lcid,long eid,long ri,long ci);
00097 void compute_nonloc_nlstress (long lcid,long eid,long ri,long ci);
00098 void compute_eigstress (long lcid,long eid,long ri,long ci);
00099 void elem_integration (integratedquant iq,long lcid,long eid,long ri,long ci,vector &nv,vector &x,vector &y);
00100
00101 void load_matrix (long eid,matrix &lm);
00102 void nodeforces (long eid,long *le,double *nv,vector &nf);
00103 void inicipval(long eid, long ri, long ci, matrix &nodval, inictype *ictn);
00104
00105 void ipcoord (long eid,long ipp,long ri,long ci,vector &coord);
00106 void intpointval (long eid,vector &nodval,vector &ipval);
00107
00108
00109
00110 long ndofe;
00111
00112 long nne;
00113
00114 long tncomp;
00115
00116 long tnip;
00117
00118 long napfun;
00119
00120 long ned;
00121
00122 long nned;
00123
00124 long **intordsm;
00125
00126 long intordmm;
00127
00128 long intordb;
00129
00130 long **nip;
00131
00132 long nb;
00133
00134 long *ncomp;
00135
00136 long *cncomp;
00137
00138 strastrestate ssst;
00139 };
00140
00141 #endif
00142
00143