00001
00002
00004
00005 #include "PlasticHardeningMaterial.h"
00006 #include <math.h>
00007
00008 #define evolDebug 0
00010 // Construction/Destruction
00012
00013 PlasticHardeningMaterial::PlasticHardeningMaterial(int tag, int classTag)
00014 :Material(tag, classTag), val_hist(0), val_trial(0),
00015 sFactor(1.0), residual(1.0)
00016 {
00017 }
00018
00019 PlasticHardeningMaterial::~PlasticHardeningMaterial()
00020 {
00021
00022 }
00023
00024 int PlasticHardeningMaterial::setTrialValue(double xVal, double factor)
00025 {
00026 sFactor = factor;
00027 val_trial = xVal;
00028 if(val_trial < 0) val_trial = 0;
00029 return 0;
00030 }
00031
00032 double PlasticHardeningMaterial::getTrialValue(void)
00033 {
00034 return val_trial;
00035 }
00036
00037 int PlasticHardeningMaterial::setTrialIncrValue(double dxVal)
00038 {
00039 sFactor = 1.0;
00040 val_trial = val_hist + dxVal;
00041 if(val_trial < 0) val_trial = 0;
00042 return 0;
00043 }
00044
00045
00046 void PlasticHardeningMaterial::setResidual(double res)
00047 {
00048 residual = res;
00049 }
00050
00051 int PlasticHardeningMaterial::commitState ()
00052 {
00053 val_hist = val_trial;
00054 sFactor = 1.0;
00055
00056 return 0;
00057 }
00058
00059 int PlasticHardeningMaterial::revertToLastCommit (void)
00060 {
00061 val_trial = val_hist;
00062 return 0;
00063 }
00064
00065 int PlasticHardeningMaterial::revertToStart (void)
00066 {
00067 val_trial = 0;
00068 val_hist = 0;
00069 return 0;
00070 }
00071
00072
00073 Response *PlasticHardeningMaterial::setResponse (char **argv, int argc, Information &matInformation)
00074 {
00075 return 0;
00076 }
00077
00078 int PlasticHardeningMaterial::getResponse (int responseID, Information &matInformation)
00079 {
00080 return -1;
00081 }
00082
00083 void PlasticHardeningMaterial::Print(OPS_Stream &s, int flag)
00084 {
00085 s << "+Plastic Material: " << getTag() << endln;
00086 s << "| sFactor = " << sFactor << endln;
00087 s << "| val_hist = " << val_hist << ", val_trial = " << val_trial << endln;
00088 return;
00089 }
00090
00091