CAM_YS.h

Go to the documentation of this file.
00001 
00002 //================================================================================
00003 //# COPYRIGHT (C):     :-))                                                      #
00004 //# PROJECT:           Object Oriented Finite Element Program                    #
00005 //# PURPOSE:           CAM CLAY yield criterion                                  #
00006 //# CLASS:             CAMYieldSurface01(for monotonic loading)                  #
00007 //#                                                                              #
00008 //# VERSION:                                                                     #
00009 //# LANGUAGE:          C++.ver >= 2.0 ( Borland C++ ver=3.00, SUN C++ ver=2.1 )  #
00010 //# TARGET OS:         DOS || UNIX || . . .                                      #
00011 //# PROGRAMMER(S):     Boris Jeremic, ZHaohui Yang                               #
00012 //#                                                                              #
00013 //#                                                                              #
00014 //# DATE:              Mar. 28, 2001                                             #
00015 //# UPDATE HISTORY:                                                              #
00016 //#                                                                              #
00017 //#                                                                              #
00018 //#                                                                              #
00019 //#                                                                              #
00020 //# SHORT EXPLANATION:                                                           #
00021 //#                                                                              #
00022 //#                                                                              #
00023 //================================================================================
00024 //*/
00025 
00026 #ifndef CAM_YS_H
00027 #define CAM_YS_H
00028 
00029 #include <stresst.h>
00030 #include "EPState.h"
00031 #include "YS.h"
00032 #include <BJtensor.h>
00033 
00034 
00035 class CAMYieldSurface : public YieldSurface
00036 {
00037   // Private vars to define the Mazari-Dafalias Yield Surface
00038   private:
00039     double M;   // the slope of critical state line
00040 
00041   public:
00042     YieldSurface *newObj();                  //create a colne of itself
00043     CAMYieldSurface(double Mp = 1.2);                          // Default constructor
00044 
00045     double f(const EPState *EPS) const;
00046     tensor dFods(const EPState *EPS) const;
00047 
00048     // Redefine 1st derivative of F over scalar internal variables
00049     double xi_s1( const EPState *EPS ) const;  // df/dm
00050 
00051     // Redefine 1st derivative of F over tensorial internal variables
00052 
00053     double getM() const;
00054     void print() { opserr << *this; };
00055     
00056 // moved to stresstensor
00057 //   private:
00058 //     tensor dpoverds( ) const;
00059 //     tensor dqoverds(const EPState *EPS) const;
00060 //     tensor dthetaoverds(const EPState *EPS) const;
00061                          
00062     //================================================================================
00063     // Overloaded Insertion Operator
00064     friend OPS_Stream& operator<< (OPS_Stream& os, const CAMYieldSurface & YS);
00065 
00066 };
00067 
00068 #endif
00069 

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