00001 #ifndef LINTET_H
00002 #define LINTET_H
00003
00004 #include "alias.h"
00005 struct matrix;
00006 struct vector;
00007 struct ivector;
00008
00009
00010
00011
00012
00013
00014
00015 class lintet
00016 {
00017 public:
00018 lintet (void);
00019 ~lintet (void);
00020
00021 double approx (vector &volcoord,vector &nodval);
00022 double approx_nat (double xi,double eta,double zeta,vector &nodval);
00023 void bf_matrix (matrix &n,vector &volcoord);
00024 void bf_matrix (matrix &n,double xi,double eta,double zeta);
00025 void geom_matrix (matrix &gm,vector &x,vector &y,vector &z,double &jac);
00026 void geom_matrix_old (matrix &gm,vector &x,vector &y,vector &z);
00027 void transf_matrix (ivector &nodes,matrix &tmat);
00028 void stiffness_matrix (long eid,long ri,long ci,matrix &sm);
00029 void bd_matrix (long eid,long ri,long ci,matrix &bd);
00030 void dd_matrix (long eid,long ri,long ci,matrix &dd);
00031 void res_stiffness_matrix (long eid,matrix &sm);
00032 void mass_matrix (long eid,matrix &mm);
00033 void load_matrix (long eid,matrix &lm);
00034
00035 void res_ip_strains (long lcid,long eid);
00036 void ip_strains (long lcid,long eid,long ri,long ci);
00037 void nod_strains_ip (long lcid,long eid,long ri,long ci);
00038
00039 void strains (long lcid,long eid,long ri,long ci);
00040
00041 void res_ip_stresses (long lcid,long eid);
00042 void ip_stresses (long lcid,long eid,long ri,long ci);
00043 void nod_stresses_ip (long lcid,long eid,long ri,long ci);
00044 void nod_stresses (long lcid,long eid,long ri,long ci);
00045 void stresses (long lcid,long eid,long ri,long ci);
00046
00047 void internal_forces (long lcid,long eid,long ri,long ci,vector &ifor,vector &x,vector &y,vector &z);
00048 void nonloc_internal_forces (long lcid,long eid,long ri,long ci,vector &ifor,vector &x,vector &y,vector &z);
00049 void incr_internal_forces (long lcid,long eid,long ri,long ci,vector &ifor,vector &x,vector &y,vector &z);
00050 void eigstrain_forces (long lcid,long eid,long ri,long ci,vector &nfor,vector &x,vector &y,vector &z);
00051
00052 void res_internal_forces (long lcid,long eid,vector &ifor);
00053 void res_nonloc_internal_forces (long lcid,long eid,vector &ifor);
00054 void res_incr_internal_forces (long lcid,long eid,vector &ifor);
00055 void res_eigstrain_forces (long lcid,long eid,vector &nfor);
00056
00057 void compute_nlstress (long lcid,long eid,long ri,long ci);
00058 void compute_nlstressincr (long lcid,long eid,long ri,long ci);
00059 void local_values (long lcid,long eid,long ri,long ci);
00060 void compute_nonloc_nlstress (long lcid,long eid,long ri,long ci);
00061 void compute_eigstress (long lcid,long eid,long ri,long ci);
00062 void elem_integration (integratedquant iq,long lcid,long eid,long ri,long ci,vector &nv,vector &x,vector &y,vector &z);
00063 void elem_integration_quant(long eid, integratedquant iq, long lcid, vector &nv);
00064
00065 void ipcoord (long eid,long ipp,long ri,long ci,vector &coord);
00066 void inicipval(long eid, long ri, long ci, matrix &nodval, inictype *ictn);
00067 void ipvolume (long eid,long ri,long ci);
00068 double volumeip (long eid,long ri,long ci);
00069
00070 void nod_eqother_ip (long eid);
00071 void node_forces_surf (long lcid,long eid,long *is,double *nv,vector &nf);
00072 void node_forces_surf_old (long lcid,long eid,long *is,double *nv,vector &nf);
00073 void locglob_nodeval (long is,vector &nv,double *tnv,vector &x,vector &y,vector &z);
00074
00075 void intpointval (long eid,vector &nodval,vector &ipval);
00076 void res_eigstrain_forces (long eid,vector &nfor);
00077 void eigstrain_forces (long eid,vector &nfor);
00078
00079
00080 void ntdbr_vector (long eid,vector &ntdbr);
00081 void ntn_matrix (long eid,matrix &ntn);
00082 double compute_error (long eid, double &e2, double &u2, double &sizel, vector *rsigfull);
00083 void elchar (long eid, matrix &spsig);
00084
00085
00086
00087
00088 long ndofe;
00089
00090 long nne;
00091
00092 long tncomp;
00093
00094 long tnip;
00095
00096 long napfun;
00097
00098 long ned;
00099
00100 long nned;
00101
00102 long nsurf;
00103
00104 long nnsurf;
00105
00106 long **intordsm;
00107
00108 long intordmm;
00109
00110 long intordb;
00111
00112 long **nip;
00113
00114 long nb;
00115
00116 long *ncomp;
00117
00118 long *cncomp;
00119
00120 strastrestate ssst;
00121
00122 };
00123
00124 #endif