EL_LEeq.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_Eeq (linear 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-02-2000                                                 |
00019 // UPDATE HISTORY:                                                               |
00020 //                                                                               |
00021 //                                                                               |
00022 //                                                                               |
00023 //                                                                               |
00024 // SHORT EXPLANATION: This is a linear evolution law for the evoltion of a       |
00025 //                    scalar variable k which depends on plastic equi. strain    |
00026 //                    i.e. dk = a*de_eq_p                                        |
00027 //                                                                               |
00028 //================================================================================
00029 
00030 #ifndef EL_LEeq_H
00031 #define EL_LEeq_H
00032 
00033 #include <math.h>
00034 #include "EL_S.h"
00035 
00036 class EvolutionLaw_L_Eeq : public EvolutionLaw_S
00037 {
00038   // Private vars to define the evolution law
00039 
00040   private:
00041     double  a;  //coefficient to define the linear hardening rule of a scalar hardening var
00042 
00043   public:
00044     //EvolutionLaw_L_Eeq( );    // default constructor---no parameters
00045     
00046     EvolutionLaw_L_Eeq( double ad = 10.0);
00047                          
00048     EvolutionLaw_L_Eeq(const EvolutionLaw_L_Eeq &LEL );   // Copy constructor
00049     
00050     //~EvolutionLaw_L_Eeq() {}; 
00051 
00052     EvolutionLaw_S *newObj();                     //create a clone of itself
00053     
00054     //void InitVars(EPState *EPS);    // Initialize all hardening vars called only once 
00055     //                                // after material point is formed if necessary.
00056     
00057     //void setInitD(EPState  *EPS);   // set initial D once current stress hits the y.s.
00058     //                                // was primarily for Manzari-Dafalias model
00059 
00060     //double h( EPState *EPS,  double norm_dQods);     // Evaluating hardening function h
00061     double h_s( EPState *EPS, PotentialSurface *PS);    // Evaluating hardening function h
00062     
00063     //void UpdateVar( EPState *EPS, double dlamda );  // Evolve corresponding var linearly using de_eq_p
00064     //Moved to CDriver.cpp
00065 
00066     void print();
00067 
00068   private:
00069     // some accessor functions
00070     double geta() const;      // Linear coefficient used to evolve internal var
00071     void   seta( double ad);
00072 
00073     //================================================================================
00074     // Overloaded Insertion Operator      Zhaohui Added Aug. 13, 2000
00075     // prints Linear EvolutionLaw's contents 
00076     //================================================================================
00077     friend OPS_Stream& operator<< (OPS_Stream& os, const EvolutionLaw_L_Eeq & LEL);
00078 
00079     
00080 };
00081 
00082 
00083 #endif
00084 
00085 
00086 
00087 

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