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 HingeRadauBeamIntegration_h
00026 #define HingeRadauBeamIntegration_h
00027
00028 #include <BeamIntegration.h>
00029
00030 class Matrix;
00031 class ElementalLoad;
00032 class Channel;
00033 class FEM_ObjectBroker;
00034
00035 class HingeRadauBeamIntegration : public BeamIntegration
00036 {
00037 public:
00038 HingeRadauBeamIntegration(double lpI, double lpJ);
00039 HingeRadauBeamIntegration();
00040 ~HingeRadauBeamIntegration();
00041
00042 void getSectionLocations(int numSections, double L, double *xi);
00043 void getSectionWeights(int numSections, double L, double *wt);
00044
00045 BeamIntegration *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 Print(OPS_Stream &s, int flag = 0);
00055
00056 void getLocationsDeriv(int nIP, double L, double dLdh, double *dptsdh);
00057 void getWeightsDeriv(int nIP, double L, double dLdh, double *dwtsdh);
00058
00059 private:
00060 double lpI;
00061 double lpJ;
00062
00063 int parameterID;
00064 };
00065
00066 #endif