RMC01_PS.h

Go 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 

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