DP_YS01.h

Go to the documentation of this file.
00001 
00002 //================================================================================
00003 //# COPYRIGHT (C):     :-))                                                      #
00004 //# PROJECT:           Object Oriented Finite Element Program                    #
00005 //# PURPOSE:           Drucker-Prager yield criterion 01(with Pc)                #
00006 //# CLASS:             DPYieldSurface01                                          #
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:              August 03 '00                                             #
00015 //# UPDATE HISTORY:    December 13, 00                                           #
00016 //#                                                                              #
00017 //#                                                                              #
00018 //#                                                                              #
00019 //#                                                                              #
00020 //# SHORT EXPLANATION:                                                           #
00021 //#                                                                              #
00022 //#                                                                              #
00023 //================================================================================
00024 //*/
00025 
00026 #ifndef DP_YS01_H
00027 #define DP_YS01_H
00028 
00029 #include <stresst.h>
00030 #include "EPState.h"
00031 #include "YS.h"
00032 #include <BJtensor.h>
00033 
00034 
00035 class DPYieldSurface01 : public YieldSurface
00036 {
00037   // Private vars to define the Mazari-Dafalias Yield Surface
00038   private:
00039     double Pc;
00040 
00041   public:
00042     YieldSurface *newObj();                  //create a colne of itself
00043     DPYieldSurface01(double pc);             // Default constructor
00044     //DPYieldSurface01(const DPYieldSurface01 &);  // Default constructor
00045 
00046     double f(const EPState *EPS) const;
00047     tensor dFods(const EPState *EPS) const;
00048 
00049     // Redefine 1st derivative of F over scalar internal variables
00050     double xi_s1( const EPState *EPS ) const;  // df/dm
00051     //double xi_s2( const EPState *EPS ) const;
00052 
00053     // Redefine 1st derivative of F over tensorial internal variables
00054     tensor xi_t1(const EPState *EPS) const; // dF / d alpha_ij
00055 
00056     void print() {opserr << *this; };
00057   
00058     //================================================================================
00059     // Overloaded Insertion Operator
00060     friend OPS_Stream& operator<< (OPS_Stream& os, const DPYieldSurface01 & YS);
00061 
00062 };
00063 
00064 #endif
00065 

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