00001 #ifndef BAREL2D_H
00002 #define BAREL2D_H
00003
00004 #include "alias.h"
00005 #include "galias.h"
00006 struct matrix;
00007 struct vector;
00008 struct ivector;
00009
00010
00011
00012
00013
00014
00015
00016 class barel2d
00017 {
00018 public:
00019 barel2d (void);
00020 ~barel2d (void);
00021 void geom_matrix (matrix &gm,double s,double c,double l);
00022 void geom_matrix (matrix &gm,vector &x,double &jac);
00023 double approx (double xi,vector &nodval);
00024 void transf_matrix (ivector &nodes,matrix &tmat);
00025 void tran_mat (vector &x, matrix &tran,vector &gx,vector &gy);
00026 void stiffness_matrix (long eid,long ri,long ci,matrix &sm);
00027 void res_stiffness_matrix (long eid,matrix &sm);
00028 void mass_matrix (long eid,matrix &mm);
00029 void res_mass_matrix (long eid,matrix &mm);
00030
00031 void load_matrix (long eid,matrix &lm,vector &x);
00032 void res_load_matrix (long eid,matrix &lm);
00033
00034 void giveloccoord(vector &x, vector &y,vector &lx);
00035
00036 void res_ip_strains (long lcid,long eid);
00037 void ip_strains (long lcid,long eid,long ri,long ci,vector &r);
00038 void nod_strains_ip (long lcid,long eid,long ri,long ci);
00039 void nod_strains_comp (long lcid,long eid);
00040 void strains (long lcid,long eid,long ri,long ci);
00041
00042 void res_ip_stresses (long lcid,long eid);
00043 void ip_stresses (long lcid,long eid,long ri,long ci);
00044 void ip_elast_stresses (long lcid,long eid,long ri,long ci);
00045 void nod_stresses_ip (long lcid,long eid,long ri,long ci);
00046 void stresses (long lcid,long eid,long ri,long ci);
00047
00048 void nod_eqother_ip (long eid,long ri,long ci);
00049
00050
00051 void internal_forces (long lcid,long eid,long ri,long ci,vector &ifor);
00052 void nonloc_internal_forces (long lcid,long eid,long ri,long ci,vector &ifor);
00053 void incr_internal_forces (long lcid,long eid,long ri,long ci,vector &ifor);
00054 void eigstrain_forces (long lcid,long eid,long ri,long ci,vector &nfor);
00055 void res_internal_forces (long lcid,long eid,vector &ifor);
00056 void res_nonloc_internal_forces (long lcid,long eid,vector &ifor);
00057 void res_incr_internal_forces (long lcid,long eid,vector &ifor);
00058 void res_eigstrain_forces (long lcid,long eid,vector &nfor);
00059
00060 void intpointval (long eid,vector &nodval,vector &ipval);
00061 void ipcoord (long eid,long ipp,long ri,long ci,vector &coord);
00062 void ipvolume (long eid,long ri,long ci);
00063 void inicipval(long eid, long ri, long ci, matrix &nodval, inictype *ictn);
00064
00065 void compute_nlstress (long lcid,long eid,long ri,long ci);
00066 void compute_nlstressincr (long lcid,long eid,long ri,long ci);
00067 void local_values (long lcid,long eid,long ri,long ci);
00068 void compute_nonloc_nlstress (long lcid,long eid,long ri,long ci);
00069 void compute_eigstress (long lcid,long eid,long ri,long ci);
00070 void elem_integration (integratedquant iq,long lcid,long eid,long ri,long ci,vector &nv,vector &x,vector &y);
00071 void mechq_nodval (long eid,vector &nodval,nontransquant qt);
00072 void mechq_nodval_comp (long eid, vector &nodval, long ncnv, long nq, nontransquant *qt);
00073
00074
00075 long ndofe;
00076
00077 long nne;
00078
00079 long tncomp;
00080
00081 long *ncomp;
00082
00083 long *cncomp;
00084
00085 long napfun;
00086
00087 long **intordsm;
00088
00089 long intordmm;
00090
00091 long **nip;
00092
00093 long nb;
00094
00095 strastrestate ssst;
00096
00097 long tnip;
00098 };
00099
00100 #endif