fdEvolution_SLS.cppGo to the documentation of this file.00001 //=============================================================================== 00002 //# COPYRIGHT (C): Woody's license (by BJ): 00003 // ``This source code is Copyrighted in 00004 // U.S., for an indefinite period, and anybody 00005 // caught using it without our permission, will be 00006 // mighty good friends of ourn, cause we don't give 00007 // a darn. Hack it. Compile it. Debug it. Run it. 00008 // Yodel it. Enjoy it. We wrote it, that's all we 00009 // wanted to do.'' 00010 // 00011 //# PROJECT: Object Oriented Finite Element Program 00012 //# PURPOSE: Finite Deformation Hyper-Elastic classes 00013 //# CLASS: 00014 //# 00015 //# VERSION: 0.6_(1803398874989) (golden section) 00016 //# LANGUAGE: C++ 00017 //# TARGET OS: all... 00018 //# DESIGN: Zhao Cheng, Boris Jeremic (jeremic@ucdavis.edu) 00019 //# PROGRAMMER(S): Zhao Cheng, Boris Jeremic 00020 //# 00021 //# 00022 //# DATE: July 2004 00023 //# UPDATE HISTORY: 00024 //# 00025 //=============================================================================== 00026 00027 #ifndef fdEvolution_SLS_CPP 00028 #define fdEvolution_SLS_CPP 00029 00030 #include "fdEvolution_SLS.h" 00031 00032 // Linear and / or Saturated isotropic hardening 00033 00034 //------------------------------------------------------------------------ 00035 fdEvolution_SLS::fdEvolution_SLS(double H_linear_in, 00036 double q_saturated_in, 00037 double delta_in) 00038 :H_linear(H_linear_in), q_saturated(q_saturated_in), delta(delta_in) 00039 { 00040 00041 } 00042 00043 //------------------------------------------------------------------------ 00044 fdEvolution_S * fdEvolution_SLS::newObj() 00045 { 00046 fdEvolution_S *newEL = new fdEvolution_SLS( *this ); 00047 return newEL; 00048 } 00049 00050 //------------------------------------------------------------------------ 00051 double fdEvolution_SLS::HModulus(const stresstensor &sts, const FDEPState &fdepstate) const 00052 { 00053 double xi = fdepstate.getStrainLikeInVar(); 00054 return H_linear + delta*q_saturated*exp(-delta*xi); 00055 } 00056 00057 //------------------------------------------------------------------------ 00058 void fdEvolution_SLS::print() 00059 { 00060 opserr << (*this); 00061 } 00062 00063 //------------------------------------------------------------------------ 00064 OPS_Stream& operator<< (OPS_Stream& os, const fdEvolution_SLS & fdesl) 00065 { 00066 os.precision(5); 00067 os.width(10); 00068 os << "Linear & Saturate Scalar Linear Evolution Law's Modulus: " << "\n"; 00069 os << "H_linear = " << fdesl.H_linear << "; " << "\n"; 00070 os << "H_initial = " << fdesl.q_saturated << "; " << "\n"; 00071 os << "Delta= " << fdesl.delta << "; " << "\n"; 00072 00073 return os; 00074 } 00075 00076 #endif |