00001
00002
00004
00005 #if !defined BOUNDINGSURFACE2D_H
00006 #define BOUNDINGSURFACE2D_H
00007
00008 #include "YS_Evolution2D.h"
00009
00010 class BoundingSurface2D : public YS_Evolution2D
00011 {
00012 public:
00013 BoundingSurface2D(int tag, int classTag, double min_iso_factor,
00014 double iso_ratio, double kin_ratio,
00015 PlasticHardeningMaterial &kpx,
00016 PlasticHardeningMaterial &kpy,
00017 YieldSurface_BC &bound_surface);
00018
00019 virtual ~BoundingSurface2D();
00020 virtual int commitState();
00021 virtual int revertToLastCommit(void);
00022 virtual const Vector &getEquiPlasticStiffness(void)=0;
00023
00024 virtual void Print(OPS_Stream &s, int flag =0);
00025 virtual YS_Evolution *getCopy(void)=0;
00026
00027 protected:
00028 virtual void setTrialPlasticStrains(double ep, const Vector &f, const Vector &g)=0;
00029 virtual double getIsoPlasticStiffness(int dir)=0;
00030 virtual double getKinPlasticStiffness(int dir)=0;
00031 virtual Vector& getEvolDirection(Vector &f_new)=0;
00032
00033
00034 protected:
00035
00036 PlasticHardeningMaterial *kpMatX, *kpMatY;
00037 YieldSurface_BC *boundSurface;
00038 };
00039
00040 #endif