00001
00002
00004
00005 #if !defined ELTAWIL2DUNSYM_H
00006 #define ELTAWIL2DUNSYM_H
00007
00008 #include "YieldSurface_BC2D.h"
00009
00010 class ElTawil2DUnSym : public YieldSurface_BC2D
00011 {
00012 public:
00013 ElTawil2DUnSym(int tag, double xPosBal, double yPosBal,
00014 double xNegBal, double yNegBal,
00015 double ypos, double yneg,
00016 YS_Evolution &model,
00017 double czPos=1.6, double tyPos=1.9,
00018 double czNeg=1.6, double tyNeg=1.9);
00019
00020 virtual ~ElTawil2DUnSym();
00021
00022 virtual YieldSurface_BC *getCopy(void);
00023 virtual int displaySelf(Renderer &theViewer, int displayMode, float fact);
00024 virtual void Print(OPS_Stream &s, int flag =0);
00025
00026
00027
00028 virtual void getGradient(double &gx, double &gy, double x, double y);
00029 virtual double getSurfaceDrift(double x, double y);
00030 virtual void setExtent();
00031 virtual void customizeInterpolate(double &xi, double &yi, double &xj, double &yj);
00032 protected:
00033
00034 double xBal, yBal;
00035 double xPosBal, yPosBal;
00036 double xNegBal, yNegBal;
00037 double yPosCap, yNegCap;
00038 double yPosCap_orig, yNegCap_orig;
00039 double czPos, tyPos;
00040 double czNeg, tyNeg;
00041 double ytPos, ytNeg;
00042 double xt1, xt2, xt3, xt4;
00043 double qy;
00044 };
00045
00046 #endif
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061