RMC01_PS.hGo to the documentation of this file.00001 // 00002 // COPY LEFT and RIGHT: 00003 // Commercial use of this program without express permission of the 00004 // University, is strictly encouraged. Copyright and Copyleft are covered 00005 // by the following clause: 00006 // 00007 // Woody's (Guthrie) license: 00008 // ``This source code is Copyrighted in U.S., by the The University and 00009 // by the Authors, for an indefinite period, and anybody caught 00010 // using it without our permission, will be mighty good friends of ourn, 00011 // cause we don't give a darn. Hack it. Compile it. Debug it. Run it. Yodel 00012 // it. Enjoy it. We wrote it, that's all we wanted to do.'' bj 00013 // 00014 // 00015 // 00016 // PROJECT: Object Oriented Finite Element Program 00017 // PURPOSE: Rounded Mohr Coulomb Potential Surface 00018 // CLASS: 00019 // 00020 // VERSION: 00021 // LANGUAGE: C++ 00022 // TARGET OS: DOS || UNIX || . . . 00023 // DESIGNER(S): Boris Jeremic jeremic@ucdavis.edu 00024 // Zhao Cheng, 00025 // PROGRAMMER(S): Zhao Cheng, Boris Jeremic 00026 // 00027 // 00028 // DATE: 12 Feb. 2003 00029 // UPDATE HISTORY: 00030 // 00031 // 00032 // 00033 // 00034 // SHORT EXPLANATION: Functions for rounded Mohr-Coulomb potential function 00035 // 00036 //================================================================================ 00037 00038 #ifndef RMC01_PS_H 00039 #define RMC01_PS_H 00040 00041 #include "RMC01.h" 00042 #include <stresst.h> 00043 #include <BJtensor.h> 00044 #include "EPState.h" 00045 #include "PS.h" 00046 00047 00048 class RMC01PotentialSurface : public PotentialSurface 00049 { 00050 // Private vars to define the RMC01 Potential Surface 00051 private: 00052 00053 00054 public: 00055 RMC01PotentialSurface( ){ }; // Default constructor 00056 ~RMC01PotentialSurface() { }; //Not all virtual functions redefined 00057 PotentialSurface *newObj(); //create a colne of itself 00058 00059 tensor dQods(const EPState *EPS ) const; 00060 tensor d2Qods2(const EPState *EPS) const; 00061 00062 tensor d2Qodsds1(const EPState *EPS) const; // For Consistent Algorithm, Z Cheng, Jan 2004 00063 00064 void print() { opserr << *this; }; 00065 00066 //================================================================================ 00067 // Overloaded Insertion Operator 00068 // prints an RMC01-PotentialSurface's contents 00069 //================================================================================ 00070 friend OPS_Stream& operator<< (OPS_Stream& os, const RMC01PotentialSurface &PS); 00071 00072 }; 00073 00074 #endif 00075 |