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