📄 plelemlq.h
字号:
#ifndef PLELEMLQ_H#define PLELEMLQ_H#include "alias.h"struct matrix;struct vector;struct ivector;struct atsel;/** class planeelemlq defines plane quadrilateral element with bi-linear approximation functions basic data nne = 4 - number nodes on element ndofe = 8 - number of DOFs on element ncomp = 3 - number of strain (stress) tensor components napfun = 2 - number of approximated functions intordmm = 2 - order of numerical integration of mass matrix (2x2) nsip - number of sets of integration points there are two sets, nip - number of integration points in sets intordsm - array containing orders of numerical integration JK*/class planeelemlq{ public: planeelemlq (void); ~planeelemlq (void); void eleminit (long eid); double approx (double xi,double eta,vector &nodval); void ipcoord (long eid,long ipp,long ri,long ci,vector &coord); void ipcoordblock (long eid,long ri,long ci,double **coord); void bf_matrix (matrix &n,double xi,double eta); void geom_matrix (matrix &gm,vector &x,vector &y,double xi,double eta,double &jac); void geom_matrix_block (matrix &gm,long ri,vector &x,vector &y,double xi,double eta,double &jac); void bvectors (vector &x,vector &y,double xi,double eta,double &jac, vector &b11,vector &b12,vector &b21,vector &b22); void gngeom_matrix (matrix &gm,vector &r,vector &x,vector &y,double xi,double eta,double &jac); void gnl_grmatrix (matrix &grm,vector &x,vector &y,double xi,double eta,double &jac); void dmatblock (long ri,long ci,matrix &d, matrix &dd); void transf_matrix (ivector &nod,matrix &tmat); void gl_stiffness_matrix (long eid,long ri,long ci,matrix &sm,vector &x,vector &y); void gnl_stiffness_matrix (long lcid,long eid,long ri,long ci,matrix &sm,vector &x,vector &y); void res_stiffness_matrix (long lcid,long eid,matrix &sm); void mass_matrix (long eid,matrix &mm,vector &x,vector &y); void res_mass_matrix (long eid,matrix &mm); void res_ip_strains (long lcid,long eid); void gl_ip_strains (long lcid,long eid,long ri,long ci,vector &x,vector &y,vector &r); void gnl_ip_strains (long lcid,long eid,long ri,long ci,vector &x,vector &y,vector &r); void nod_strains_ip (long lcid,long eid,long ri,long ci); void nod_strains_comp (long lcid,long eid,double **stra); //void elem_strains (double **stra,long lcid,long eid,long ri,long ci); //void appstrain (long lcid,long eid,double xi,double eta,long fi,long ncomp,vector &eps); void strains (long lcid,long eid,long ri,long ci); void nodecoord (vector &xi,vector &eta); void nodipnum (long eid,long ri,long ci,ivector &ipnum); //void appval (double xi,double eta,long fi,long nc,vector &eps,double **val); void res_ip_stresses (long lcid,long eid); void ip_stresses (long lcid,long eid,long ri,long ci); void ip_elast_stresses (long lcid,long eid,long ri,long ci); void nod_stresses_ip (long lcid,long eid,long ri,long ci); void nod_stresses_comp (long lcid,long eid,long ri,long ci,double **stra,double **stre); //void elem_stresses (double **stra,double **stre,long lcid,long eid,long ri,long ci); void appstress (long lcid,long eid,double xi,double eta,long fi,long ncomp,vector &sig); void allip_stresses (double **stre,long lcid,long eid,long ri,long ci); void stresses (long lcid,long eid,long ri,long ci); void nod_eqother_ip (long lcid,long eid,long ri,long ci); void load_matrix (long eid,matrix &lm,vector &x,vector &y); void res_load_matrix (long eid,matrix &lm); void compute_nlstress (long lcid,long eid,long ri,long ci); void compute_nonloc_nlstress (long lcid,long eid,long ri,long ci); void compute_eigstress (long lcid,long eid,long ri,long ci); void elem_integration (integratedquant iq,long lcid,long eid,long ri,long ci,vector &nv,vector &x,vector &y); void res_eigstrain_forces (long lcid,long eid,vector &nfor); void eigstrain_forces (long lcid,long eid,long ri,long ci,vector &nfor,vector &x,vector &y); void gl_internal_forces (long lcid,long eid,long ri,long ci,vector &ifor,vector &x,vector &y); void gnl_internal_forces (long lcid,long eid,long ri,long ci,vector &ifor,vector &x,vector &y); void res_internal_forces (long lcid,long eid,vector &ifor); void nodeforces (long eid,long *le,double *nv,vector &nf); void inicipval(long eid, long ri, long ci, matrix &nodval, inictype *ictn); void ipvolume (long eid,long ri,long ci); void intpointval (long eid,vector &nodval,vector &ipval); void define_meaning (long eid); /* termitovo */ void ntdbr_vector (long eid,vector &ntdbr); void ntn_matrix (long eid,matrix &ntn); void compute_error (long eid,double &volume,double &e2,double &u2,double &sizel,double *rsigfull); void elchar (long eid,double *&spsig); /* termitovo */ void extract (atsel &at,vector &val); /// number of DOFs on the element long ndofe; /// number of nodes on one element long nne; /// total number of components of stress and strain tensors long tncomp; /// total number of integration points on element long tnip; /// array containing numbers of components of stress and strain tensors long *ncomp; /// array containing cumulative numbers of components of stress and strain tensors long *cncomp; /// number of approximated functions on the element long napfun; /// number of edges long ned; /// number of nodes on one edge long nned; /// array containing orders of numerical integration of stiffness matrix long **intordsm; /// order of integration of mass matrix long intordmm; /// order of integration on edges long intordb; /// array of numbers of integration points in sets long **nip; /// number of blocks long nb; /// stress/strain state strastrestate ssst;};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -