Linear_Eeq.cppGo to the documentation of this file.00001 00002 // COPYLEFT (C): Woody's viral GPL-like 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 // 00012 // COPYRIGHT (C): :-)) 00013 // PROJECT: Object Oriented Finite Element Program 00014 // FILE: 00015 // CLASS: 00016 // MEMBER FUNCTIONS: 00017 // 00018 // MEMBER VARIABLES 00019 // 00020 // PURPOSE: 00021 // 00022 // RETURN: 00023 // VERSION: 00024 // LANGUAGE: C++ 00025 // TARGET OS: 00026 // DESIGNER: Zhao Cheng, Boris Jeremic 00027 // PROGRAMMER: Zhao Cheng, 00028 // DATE: Fall 2005 00029 // UPDATE HISTORY: 00030 // 00032 // 00033 00034 #ifndef Linear_Eeq_CPP 00035 #define Linear_Eeq_CPP 00036 00037 #include "Linear_Eeq.h" 00038 00039 Linear_Eeq::Linear_Eeq(int LinearFactor_index_in) 00040 : LinearFactor_index(LinearFactor_index_in) 00041 { 00042 00043 } 00044 00045 ScalarEvolution* Linear_Eeq::newObj() 00046 { 00047 ScalarEvolution* nObj = new Linear_Eeq(this->LinearFactor_index); 00048 00049 return nObj; 00050 } 00051 00052 double Linear_Eeq::H(const straintensor& plastic_flow, const stresstensor& Stre, 00053 const straintensor& Stra, const MaterialParameter& material_parameter) 00054 { 00055 return plastic_flow.equivalent() * getLinearFactor(material_parameter); 00056 } 00057 00058 double Linear_Eeq::getLinearFactor(const MaterialParameter& material_parameter) const 00059 { 00060 if ( LinearFactor_index <= material_parameter.getNum_Material_Parameter() && LinearFactor_index > 0) 00061 return material_parameter.getMaterial_Parameter(LinearFactor_index-1); 00062 else { 00063 opserr << "Linear_Eeq: Invalid Input. " << endln; 00064 exit (1); 00065 } 00066 } 00067 00068 00069 #endif 00070 |