fdEvolution_SLS.cpp

Go 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

Generated on Mon Oct 23 15:05:14 2006 for OpenSees by doxygen 1.5.0