EL_LEij.hGo to the documentation of this file.00001 00002 //================================================================================ 00003 // COPYRIGHT (C): :-)) | 00004 // PROJECT: Object Oriented Finite Element Program | 00005 // PURPOSE: General platform for elaso-plastic constitutive model | 00006 // implementation | 00007 // | 00008 // CLASS: EvolutionLaw_L_Eij (linear tensorial Evolution law) | 00009 // | 00010 // | 00011 // VERSION: | 00012 // LANGUAGE: C++.ver >= 2.0 ( Borland C++ ver=3.00, SUN C++ ver=2.1 ) | 00013 // TARGET OS: DOS || UNIX || . . . | 00014 // DESIGNER(S): Boris Jeremic, Zhaohui Yang | 00015 // PROGRAMMER(S): Boris Jeremic, Zhaohui Yang | 00016 // | 00017 // | 00018 // DATE: 09-13-2000 | 00019 // UPDATE HISTORY: | 00020 // | 00021 // | 00022 // | 00023 // | 00024 // SHORT EXPLANATION: This is a linear evolution law for the evoltion of a | 00025 // tensorial variable alpha which depends on plastic strain | 00026 // i.e. dalpha = a * de_ij | 00027 // | 00028 //================================================================================ 00029 00030 #ifndef EL_LEij_H 00031 #define EL_LEij_H 00032 00033 #include <math.h> 00034 #include "EL_T.h" 00035 00036 class EvolutionLaw_L_Eij : public EvolutionLaw_T 00037 { 00038 // Private vars to define the evolution law 00039 private: 00040 double a; //coefficient to define the linear hardening rule of a scalar hardening var 00041 00042 public: 00043 //EvolutionLaw_L_Eij( ); // default constructor---no parameters 00044 00045 EvolutionLaw_L_Eij( double ad = 10.0); 00046 00047 EvolutionLaw_L_Eij(const EvolutionLaw_L_Eij &LEL ); // Copy constructor 00048 00049 EvolutionLaw_T *newObj(); //create a colne of itself 00050 00051 //void InitVars(EPState *EPS); // Initialize all hardening vars called only once 00052 // // after material point is formed if necessary. 00053 00054 //void setInitD(EPState *EPS); // set initial D once current stress hits the y.s. 00055 // // was primarily for Manzari-Dafalias model 00056 00057 //double h( EPState *EPS, double norm_dQods); // Evaluating hardening function h 00058 tensor h_t( EPState *EPS, PotentialSurface *PS); // Evaluating hardening function h 00059 00060 //void UpdateVar( EPState *EPS, double dlamda ); // Evolve corresponding var linearly using de_eq_p 00061 //Moved to CDriver.cpp 00062 00063 void print(); 00064 00065 private: 00066 // some accessor functions 00067 double geta() const; // Linear coefficient used to evolve internal var 00068 void seta(double ad); 00069 00070 //================================================================================ 00071 // Overloaded Insertion Operator Zhaohui Added Aug. 13, 2000 00072 // prints Linear EvolutionLaw's contents 00073 //================================================================================ 00074 friend OPS_Stream& operator<< (OPS_Stream& os, const EvolutionLaw_L_Eij & LEL); 00075 00076 00077 }; 00078 00079 00080 #endif 00081 00082 00083 00084 |