EL_T.h

Go to the documentation of this file.
00001 
00003 // COPYRIGHT (C):     :-))                                                        |
00004 // PROJECT:           Object Oriented Finite Element Program                      |
00005 // PURPOSE:           General platform for elaso-plastic efficient and easy       |
00006 //                    constitutive model implementation                           |
00007 //                                                                                |
00008 // CLASS:             EvolutionLaw_T (the base class for tensorial evolution law) |
00009 //                                                                                |
00010 // VERSION:                                                                       |
00011 // LANGUAGE:          C++.ver >= 2.0 ( Borland C++ ver=3.00, SUN C++ ver=2.1 )    |
00012 // TARGET OS:         DOS || UNIX || . . .                                        |
00013 // DESIGNER(S):       Boris Jeremic, Zhaohui Yang                                 |
00014 // PROGRAMMER(S):     Boris Jeremic, Zhaohui Yang                                 |
00015 //                                                                                |
00016 //                                                                                |
00017 // DATE:              09-02-2000                                                  |
00018 // UPDATE HISTORY:                                                                |
00019 //                                                                                |
00020 //                                                                                |
00021 //                                                                                |
00022 //                                                                                |
00023 // SHORT EXPLANATION: The base class is necessary for we need to use to runtime   |
00024 //                    polymorphism of C++ to achieve the fexibility of the        |
00025 //                    platform.                                                   |
00026 //                                                                                |
00027 //=================================================================================
00028 //
00029 
00030 #ifndef EL_T_H
00031 #define EL_T_H 
00032 
00033 #include <stresst.h>
00034 #include <straint.h>
00035 #include <BJtensor.h>
00036 
00037 #include "EPState.h"
00038 #include "PS.h"
00039 
00040 class EvolutionLaw_T
00041 {
00042  public:
00043     
00044     // Constructor
00045     EvolutionLaw_T() {};                         
00046 
00047     //create a colne of itself
00048     virtual EvolutionLaw_T *newObj();  
00049 
00050     // Not necessary since the increment of internal var can be evalulated in constitutive driver!
00051     //virtual void UpdateVar( EPState *EPS, double dlamda ) = 0; // Evolve only one internal variable
00052     
00053     //Print the contents of the evolution law
00054     virtual void print();       
00055     
00056     // updating E, e, D and m for Manzari-Dafalias model, 
00057     virtual int updateEeDm( EPState *EPS, double st_vol, double dLamda);  
00058 
00059     //virtual void setInitD( EPState *EPS) = 0;  // Initializing D once current st hits the y.s. for Manzari-Dafalias model , 
00060     //                                  // other model might not need it
00061     
00062     //Why can't i put const before EPState???????????????????????? Aug. 16, 2000
00063     //virtual double h( EPState *EPS, double d ) = 0;    // Evaluating hardening function h
00064     // Evaluating hardening function h_t
00065     virtual tensor h_t( EPState *EPS, PotentialSurface *PS);    
00066 
00067     //================================================================================
00068     // Overloaded Insertion Operator
00069     // prints an Evolution Law_T's contents 
00070     //================================================================================
00071     friend OPS_Stream& operator<< (OPS_Stream& os, const EvolutionLaw_T & EL);
00072 
00073 };
00074 
00075 
00076 #endif
00077 

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