fdEvolution_TL.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_TL_CPP 00028 #define fdEvolution_TL_CPP 00029 00030 #include "fdEvolution_TL.h" 00031 00032 //------------------------------------------------------------------------ 00033 fdEvolution_TL::fdEvolution_TL(double H_linear_in) 00034 :H_linear(H_linear_in) 00035 { 00036 00037 } 00038 00039 //------------------------------------------------------------------------ 00040 fdEvolution_T * fdEvolution_TL::newObj() 00041 { 00042 fdEvolution_T *newEL = new fdEvolution_TL( *this ); 00043 return newEL; 00044 } 00045 00046 //------------------------------------------------------------------------ 00047 tensor fdEvolution_TL::HModulus(const stresstensor &sts, const FDEPState &fdepstate) const 00048 { 00049 tensor eta = fdepstate.getStrainLikeKiVar(); 00050 tensor I2("I", 2 , def_dim_2); 00051 tensor I4 = I2("ij")*I2("kl"); I4.null_indices(); 00052 //I4 = (I4.transpose0110()+I4.transpose0111())*0.5; //For symmetric tensor 00053 I4 = I4.transpose0110(); //For general tensor 00054 return I4*H_linear; 00055 } 00056 00057 //------------------------------------------------------------------------ 00058 void fdEvolution_TL::print() 00059 { 00060 opserr << (*this); 00061 } 00062 00063 //------------------------------------------------------------------------ 00064 OPS_Stream& operator<< (OPS_Stream& os, const fdEvolution_TL & fdetl) 00065 { 00066 os.precision(5); 00067 os.width(10); 00068 os << "Tensor Linear Evolution Law's Modulus: " << "\n"; 00069 00070 return os; 00071 } 00072 00073 #endif |