EL_LEij.h

Go 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 

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