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 RCSectionIntegration_h
00026 #define RCSectionIntegration_h
00027
00028 #include <SectionIntegration.h>
00029
00030 class UniaxialMaterial;
00031
00032 class RCSectionIntegration : public SectionIntegration
00033 {
00034 public:
00035 RCSectionIntegration(double d, double b, double Amain, double Aside,
00036 double cover, int Nfcore, int Nfcover, int Nfs);
00037 RCSectionIntegration();
00038 ~RCSectionIntegration();
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 *theCore,
00061 UniaxialMaterial *theCover,
00062 UniaxialMaterial *theSteel);
00063
00064 private:
00065 double d;
00066 double b;
00067 double Amain;
00068 double Aside;
00069 double cover;
00070
00071 int Nfcore;
00072 int Nfcover;
00073 int Nfs;
00074
00075 int parameterID;
00076 };
00077
00078 #endif