00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #include "NullEvolution.h"
00014 #define NULL_EVOL_CLASS_TAG -1
00015
00016 Vector NullEvolution::vec_dim_1(1);
00017 Vector NullEvolution::vec_dim_2(2);
00018 Vector NullEvolution::vec_dim_3(3);
00019
00020 NullEvolution::NullEvolution(int tag, double isox)
00021 :YS_Evolution(tag, NULL_EVOL_CLASS_TAG, 0.0, 0.0, 1, 0.0, 0.0)
00022 {
00023 isotropicFactor(0) = isox;
00024 isotropicFactor_hist(0) = isox;
00025 }
00026
00027
00028 NullEvolution::NullEvolution(int tag, double isox, double isoy)
00029 :YS_Evolution(tag, NULL_EVOL_CLASS_TAG, 0.0, 0.0, 2, 0.0, 0.0)
00030 {
00031 isotropicFactor(0) = isox;
00032 isotropicFactor(1) = isoy;
00033 isotropicFactor_hist(0) = isox;
00034 isotropicFactor_hist(1) = isoy;
00035
00036 }
00037
00038
00039 NullEvolution::NullEvolution(int tag, double isox, double isoy, double isoz)
00040 :YS_Evolution(tag, NULL_EVOL_CLASS_TAG, 0.0, 0.0, 3, 0.0, 0.0)
00041 {
00042 isotropicFactor(0) = isox;
00043 isotropicFactor(1) = isoy;
00044 isotropicFactor(2) = isoz;
00045 isotropicFactor_hist(0) = isox;
00046 isotropicFactor_hist(1) = isoy;
00047 isotropicFactor_hist(2) = isoz;
00048 }
00049
00050 NullEvolution::~NullEvolution()
00051 {
00052 }
00053
00054
00055
00057 int NullEvolution::evolveSurface(YieldSurface_BC * ys, double magPlasticDefo,
00058 Vector & G, Vector & F_Surface, int flag)
00059 {
00060
00061 return 0;
00062 }
00063
00065 YS_Evolution * NullEvolution::getCopy()
00066 {
00067 NullEvolution *copy=0;
00068
00069 if(dimension == 1)
00070 copy = new NullEvolution(getTag(), isotropicFactor(0));
00071 else if(dimension == 2)
00072 copy = new NullEvolution(getTag(), isotropicFactor(0), isotropicFactor(1));
00073 else if(dimension == 3)
00074 copy = new NullEvolution(getTag(), isotropicFactor(0), isotropicFactor(1), isotropicFactor(2));
00075 else
00076 copy = 0;
00077 return copy;
00078 }
00079
00081 const Vector & NullEvolution::getEquiPlasticStiffness()
00082 {
00083 if(dimension == 1)
00084 return vec_dim_1;
00085 else if (dimension == 2)
00086 return vec_dim_2;
00087 else if (dimension == 3)
00088 return vec_dim_3;
00089 else
00090 opserr << "NullEvolution::getEquiPlasticStiffness() - error dimension\n";
00091
00092 return vec_dim_3;
00093 }
00094
00095 double NullEvolution::getTrialPlasticStrains(int dof)
00096 {
00097 return 0;
00098 }
00099
00100 double NullEvolution::getCommitPlasticStrains(int dof)
00101 {
00102 return 0;
00103 }
00104
00105
00107 int NullEvolution::getResponse(int responseID, Information & info)
00108 {
00109 return 0;
00110 }
00111
00113 Response * NullEvolution::setResponse(char * * argv, int argc, Information & info)
00114 {
00115 return 0;
00116 }
00117
00119 int NullEvolution::commitState(int status)
00120 {
00121 return 0;
00122 }
00124 int NullEvolution::revertToLastCommit()
00125 {
00126 return 0;
00127 }
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148