00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef WideFlangeSectionIntegration_h
00026 #define WideFlangeSectionIntegration_h
00027
00028 #include <SectionIntegration.h>
00029
00030 class UniaxialMaterial;
00031
00032 class WideFlangeSectionIntegration : public SectionIntegration
00033 {
00034 public:
00035 WideFlangeSectionIntegration(double d, double tw, double bf, double tf,
00036 int Nfdw, int Nftf);
00037 WideFlangeSectionIntegration();
00038 ~WideFlangeSectionIntegration();
00039
00040 int getNumFibers(void);
00041
00042 void getFiberLocations(int nFibers, double *xi);
00043 void getFiberWeights(int nFibers, double *wt);
00044
00045 SectionIntegration *getCopy(void);
00046
00047 int sendSelf(int cTag, Channel &theChannel);
00048 int recvSelf(int cTag, Channel &theChannel, FEM_ObjectBroker &theBroker);
00049
00050 int setParameter(const char **argv, int argc, Parameter ¶m);
00051 int updateParameter(int parameterID, Information &info);
00052 int activateParameter(int parameterID);
00053
00054 void getLocationsDeriv(int nFibers, double *dptsdh);
00055 void getWeightsDeriv(int nFibers, double *dwtsdh);
00056
00057 void Print(OPS_Stream &s, int flag = 0);
00058
00059 int arrangeFibers(UniaxialMaterial **theMaterials,
00060 UniaxialMaterial *theSteel);
00061
00062 private:
00063 double d;
00064 double tw;
00065 double bf;
00066 double tf;
00067
00068 int Nfdw;
00069 int Nftf;
00070
00071 int parameterID;
00072 };
00073
00074 #endif