YieldSurfaceSection2d.h

Go to the documentation of this file.
00001 // @ rkaul@stanford.edu
00002 // @ ggd@stanford.edu
00003 
00004 #ifndef YieldSurfaceSection2d_h
00005 #define YieldSurfaceSection2d_h
00006 
00007 #include <SectionForceDeformation.h>
00008 #include <YieldSurface_BC.h>
00009 #include <Matrix.h>
00010 #include <Vector.h>
00011 
00012 class Channel;
00013 class FEM_ObjectBroker;
00014 class Information;
00015 
00016 class YieldSurfaceSection2d: public SectionForceDeformation
00017 {
00018  public:
00019   YieldSurfaceSection2d ( int tag, int classtag,
00020                           YieldSurface_BC *ptrys, 
00021                           bool use_kr=true);
00022   YieldSurfaceSection2d (void);    
00023   ~YieldSurfaceSection2d (void);
00024   
00025   virtual int commitState (void);
00026   virtual int revertToLastCommit (void);
00027   virtual int revertToStart (void);
00028   
00029   virtual int setTrialSectionDeformation (const Vector&);
00030   virtual const Vector &getSectionDeformation (void);
00031   
00032   const Vector &getStressResultant (void);
00033   const Matrix &getSectionTangent (void);
00034   const Matrix &getSectionFlexibility (void);
00035   
00036   const ID &getType (void);
00037   int getOrder (void) const;
00038   
00039   int sendSelf (int commitTag, Channel &theChannel);
00040   int recvSelf (int commitTag, Channel &theChannel,
00041                 FEM_ObjectBroker &theBroker);
00042   
00043   virtual void Print (OPS_Stream &s, int flag =0);
00044   
00045   virtual SectionForceDeformation *getCopy (void)=0;
00046   
00047  protected:
00048   virtual void getSectionStiffness(Matrix &Ks)=0;
00049   const   bool use_Kr_orig;
00050   YieldSurface_BC *ys;
00051   Vector e; // section trial deformations
00052   Vector s;
00053   Vector eCommit;
00054   Vector sCommit;
00055   Matrix ks;
00056   
00057  private:
00058   //    int algo;
00059   bool use_Kr, split_step;
00060   
00061   static ID code;
00062   static Vector dele;
00063   static Vector surfaceForce;
00064   static Matrix G;
00065   static Matrix Ktp;
00066 };
00067 
00068 #endif

Generated on Mon Oct 23 15:05:19 2006 for OpenSees by doxygen 1.5.0