00001 #ifndef MECHCRSEC_H
00002 #define MECHCRSEC_H
00003
00004 #include "iotools.h"
00005 #include "alias.h"
00006 class crsec2dbar;
00007 class crsec2dbeam;
00008 class crsec3dbeam;
00009 class crsecplstr;
00010 class crsec3d;
00011 class crsecnod;
00012 class crseclayer;
00013 struct ivector;
00014 struct vector;
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 class mechcrsec
00029 {
00030 public:
00031 mechcrsec ();
00032 ~mechcrsec ();
00033 void read (XFILE *in);
00034 void readcrsectype(XFILE *in, crsectype cstype, long numtype);
00035 void print (FILE *out);
00036 void printcrschar (FILE *out, crsectype ct, long numinst);
00037
00038 void give_thickn (ivector &nod,vector &t);
00039 void give_thicke (long eid,double &t);
00040 void give_thickness (long eid,ivector &nodes,vector &th);
00041 double give_onethickness (crsectype crst,long idcs);
00042
00043 void give_area (long ipp,double &a);
00044 void give_mominer (long ipp,double *i);
00045 void give_shearcoeff (long ipp,double *shearcoeff);
00046 void give_vectorlcs (long eid,vector &vec);
00047
00048 void give_densityn (ivector &nod,vector &rho);
00049 void give_densitye (long eid,double &rho);
00050 void give_density (long eid,ivector &nodes,vector &dens);
00051
00052 double give_weight (crsectype cr,long idcs);
00053
00054 double* give_layer_thicke (long eid);
00055 double* give_layer_zcoord (long eid);
00056 long give_num_lay (long eid);
00057
00058
00059 long ncst;
00060
00061 crsectype *cstype;
00062
00063 long *numtype;
00064
00065
00066 crsec2dbar *cs2dbar;
00067
00068 crsec2dbeam *cs2dbeam;
00069
00070 crsec3dbeam *cs3dbeam;
00071
00072 crsecplstr *csplstr;
00073
00074 crsec3d *cs3d;
00075
00076
00077 crsecnod *csnod;
00078
00079 crseclayer *cslay;
00080
00081 };
00082
00083 #endif