00001
00002
00004
00005 #include "BoundingSurface2D.h"
00006 #include <math.h>
00007 #include <YieldSurface_BC.h>
00008
00009 #define evolDebug 0
00011 // Construction/Destruction
00013
00014 BoundingSurface2D::BoundingSurface2D(int tag, int classTag, double min_iso_factor,
00015 double iso_ratio, double kin_ratio,
00016 PlasticHardeningMaterial &kpx,
00017 PlasticHardeningMaterial &kpy,
00018 YieldSurface_BC &bound_surface)
00019 :YS_Evolution2D(tag, classTag, min_iso_factor, iso_ratio, kin_ratio)
00020 {
00021 kpMatX = kpx.getCopy();
00022 kpMatY = kpy.getCopy();
00023 boundSurface = bound_surface.getCopy();
00024 }
00025
00026 BoundingSurface2D::~BoundingSurface2D()
00027 {
00028 if (kpMatX != 0)
00029 delete kpMatX;
00030
00031 if (kpMatY != 0)
00032 delete kpMatY;
00033
00034 if (boundSurface != 0)
00035 delete boundSurface;
00036 }
00037
00038 int BoundingSurface2D::commitState()
00039 {
00040 this->YS_Evolution2D::commitState();
00041
00042 int res = kpMatX->commitState();
00043 res += kpMatY->commitState();
00044
00045 return res;
00046 }
00047
00048 int BoundingSurface2D::revertToLastCommit(void)
00049 {
00050 this->YS_Evolution2D::revertToLastCommit();
00051
00052 kpMatX->revertToLastCommit();
00053 kpMatY->revertToLastCommit();
00054
00055 return 0;
00056 }
00057
00058 const Vector &BoundingSurface2D::getEquiPlasticStiffness(void)
00059 {
00060
00061
00062
00063 {
00064 v2(0) = 0;
00065 v2(1) = 0;
00066 }
00067 return v2;
00068 }
00069
00070 void BoundingSurface2D::setTrialPlasticStrains(double ep, const Vector &f, const Vector &g)
00071 {
00072
00073
00074 }
00075
00076 double BoundingSurface2D::getIsoPlasticStiffness(int dir)
00077 {
00078 return 0;
00079 }
00080
00081 double BoundingSurface2D::getKinPlasticStiffness(int dir)
00082 {
00083 return 0;
00084 }
00085
00086 Vector& BoundingSurface2D::getEvolDirection(Vector &f_new)
00087 {
00088
00089
00090 return v2;
00091 }
00092
00093
00094 void BoundingSurface2D::Print(OPS_Stream &s, int flag)
00095 {
00096 s << "BoundingSurface2D \n";
00097 s << "iso_Ratio = " << isotropicRatio << "\n";
00098 s << "isotropicFactor_hist = " << isotropicFactor_hist;
00099 s << "translateX = " << translate(0) << ",\ttranslateY = " << translate(1) << "\n";
00100 s << "\n";
00101
00102 }
00103