EL_S.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_S (the base class for scalar 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 the runtime  |
00024 //                    polymorphism of C++ to achieve the fexibility of the        |
00025 //                    platform.                                                   |
00026 //=================================================================================
00027 //
00028 
00029 #ifndef EL_S_H
00030 #define EL_S_H 
00031 
00032 #include <stresst.h>
00033 #include <straint.h>
00034 #include <BJtensor.h>
00035 
00036 #include "EPState.h"
00037 #include "PS.h"
00038 
00039 class EvolutionLaw_S
00040 {
00041  public:
00042     
00043     EvolutionLaw_S() {};                         //Normal Constructor
00044 
00045     virtual EvolutionLaw_S *newObj();  //create a colne of itself
00046 
00047     // Not necessary since the increment of internal var can be evalulated in constitutive driver!
00048     //virtual void UpdateVar( EPState *EPS, double dlamda ) = 0; // Evolve only one internal variable
00049     
00050     virtual void print();       //Print the contents of the evolution law
00051     
00052     //virtual void InitVars( EPState *EPS) = 0;  // Initializing eo and E for Manzari-Dafalias model, 
00053     //                                  // other model might not need it!
00054 
00055     //virtual void setInitD( EPState *EPS) = 0;  // Initializing D once current st hits the y.s. for Manzari-Dafalias model , 
00056     //                                  // other model might not need it
00057     
00058     //Why can't i put const before EPState???????????????????????? Aug. 16, 2000
00059     //virtual double h( EPState *EPS, double d ) = 0;    // Evaluating hardening function h
00060     virtual double h_s( EPState *EPS, PotentialSurface *PS);    // Evaluating hardening function h
00061 
00062     //================================================================================
00063     // Overloaded Insertion Operator
00064     // prints an Evolution Law_S's contents 
00065     //================================================================================
00066     friend OPS_Stream& operator<< (OPS_Stream& os, const EvolutionLaw_S & EL);
00067 
00068 };
00069 
00070 
00071 #endif
00072 

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