📄 mechtop.h
字号:
#ifndef MECHTOP_H#define MECHTOP_H#include <stdio.h>#include "alias.h"#include "iotools.h"class node;class element;class siftop;struct vector;struct ivector;/** class mechtop it is one of the 5 most important classes of the program (probdesc, mechtop, mechmat, mechbclc, mechcrsec) class mechtop contains topology data of problem JK, TK*/class mechtop{ public: mechtop (void); ~mechtop (void); void read (XFILE *in); void elemprescdisp (void); void elempresctemp (long lcid); elemtype give_elem_type (long eid); long give_ndofe (long eid); long give_ndofn (long nid); long give_dof (long nid,long n); long give_nne (long eid); long give_nne_inner (elemtype te); long give_nip (long eid,long ri,long ci); long give_tnip (long eid); long give_totnip (long eid); long give_ncomp (long eid); long give_ned (long eid); long give_nned (long eid); long give_nsurf (long eid); long give_nnsurf (long eid); long give_napfun (long eid); long give_dimension (long eid); long give_nb (long eid); // long give_nl (long eid); strastrestate give_ssst (long eid,long bi); long give_degree (long eid); void give_edge_nodes (long eid,long edid,long *nodes); void give_elemnodes (long eid,ivector &nodes); void give_code_numbers (long eid,long *cn); void give_node_code_numbers (long nid,long *cn); void give_mult_code_numbers (long nid,long lid,long *cn); void give_node_coord1d (vector &x,long eid); void give_node_coord2d (vector &x,vector &y,long eid); void give_node_coord2dxz (vector &x,vector &z,long eid); void give_node_coord3d (vector &x,vector &y,vector &z,long eid); double give_length(long eid); double give_area(long eid); double give_volume(long eid); void give_maxncompstr (long &max_ncompstrn, long &max_ncompstre); void give_maxncompo (long &max_nncompo, long &max_encompo); long locsystems (ivector &nod); void comreacnod (void); void comreacelem (void); void comreac (void); void strain_nodal_values (ivector &nod,vector &nx,vector &ny,vector &nz, double *lhs,long dim,long fi,long ncomp,long lcid); void stress_nodal_values (ivector &nod,vector &nx,vector &ny,vector &nz, double *lhs,long dim,long fi,long ncomp,long lcid); void other_nodal_values (ivector &nod,vector &nx,vector &ny,vector &nz, double *lhs,long dim,long fi,long ncomp,long lcid); void store_code_num_elem(void); void alloc_nodes_arrays (void); void alloc_prep (long nn,long ne); void alloc_meaning (); void alloc_growstr (); void define_meaning (); void write_elements(FILE *out); void gencodnumlagrmult (long &n); //void adjacelem (void); long compare_edges (long *enod, long *enodc, long nned); void eadjacelem (void); void nodedisplacements (); void give_noddispl_1d (ivector &nodes,vector &u); void give_noddispl_2d (ivector &nodes,vector &u,vector &v); void give_noddispl_3d (ivector &nodes,vector &u,vector &v,vector &w); void init_from_siftop (siftop *Top); void clean_nodes (); void initial_displ (); void lhs_save (double *lhs,long id); void lhs_restore (double *lhs,long n); void rhs_save (double *rhs); void rhs_restore (double *rhs,long n); long mesh_check(void); /// number of nodes long nn; /// number of constrained nodes long ncn; /// number of elements long ne; /// number of layered elements //long nle; /// number of layered nodes long nln; /// array of instances of the class node node *nodes; /// array of instances of the class element element *elements; /// array of numbers of adjacent integration points long *nadjip; /// array of adjacent integration points long **adjip; /// array of distances of adjacent integration points double **dist; /// array of adjacent elements for each element long **adjelem; /// total number of edges on domain long tned; /// adjacent elements for each edge on given domain long **eadjelem; /// array containing nodal displacements double **nodedispl;};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -