BkStressLimSurface2D.h

Go to the documentation of this file.
00001 // BkStressLimSurface2D.h
00002 //
00004 
00005 #if !defined BKSTRESSLIMSURFACE2D_H
00006 #define BKSTRESSLIMSURFACE2D_H
00007 
00008 #include "YS_Evolution2D.h"
00009 class YieldSurface_BC;
00010   
00011 class BkStressLimSurface2D : public YS_Evolution2D
00012 {
00013 public:
00014     BkStressLimSurface2D(int tag, int classTag, double min_iso_factor, 
00015                                 double iso_ratio, double kin_ratio,
00016                                 YieldSurface_BC  &lim_surface,
00017                                 PlasticHardeningMaterial &kinX,
00018                                 PlasticHardeningMaterial &kinY, 
00019                                 PlasticHardeningMaterial &isoXPos,
00020                                 PlasticHardeningMaterial &isoXNeg,
00021                                 PlasticHardeningMaterial &isoYPos,
00022                                 PlasticHardeningMaterial &isoYNeg,
00023                                 int restype, double res_Fact, double app_Fact, double dir
00024                                 );
00025 
00026         virtual ~BkStressLimSurface2D();
00027         virtual int     commitState();
00028         virtual int             revertToLastCommit(void);
00029 
00030         virtual int      displaySelf(Renderer &theViewer, int displayMode, float fact);
00031         virtual void    Print(OPS_Stream &s, int flag =0);
00032                 void    setResidual(double res=1.0);
00033         virtual YS_Evolution *getCopy(void)=0;
00034         virtual const   Vector &getEquiPlasticStiffness(void);
00035         double getTrialPlasticStrains(int dof);
00036         double getCommitPlasticStrains(int dof);
00037 
00038 protected:
00039         virtual void    setTrialPlasticStrains(double ep, const Vector &f, const Vector &g);
00040         virtual double getIsoPlasticStiffness(int dir);
00041         virtual double getKinPlasticStiffness(int dir);
00042         virtual Vector& getEvolDirection(Vector &f_new);
00043         
00044 protected:
00045 //      double minIsoFactor;
00046         PlasticHardeningMaterial  *kinMatX, *kinMatY;
00047         PlasticHardeningMaterial  *isoMatXPos, *isoMatXNeg;
00048         PlasticHardeningMaterial  *isoMatYPos, *isoMatYNeg;
00049         
00050         YieldSurface_BC   *limSurface;
00051         bool defPosX, defPosY;
00052         bool resHardening, resApproach;
00053         int resAlgo;
00054         double resFactor, appFactor;
00055         double direction, direction_orig;
00056 };
00057 
00058 #endif

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