VM_YS.hGo to the documentation of this file.00001 00002 //################################################################################ 00003 //# COPYRIGHT (C): :-)) # 00004 //# PROJECT: Object Oriented Finite Element Program # 00005 //# PURPOSE: Von Mises yield criterion # 00006 //# CLASS: VMYieldSurface # 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 '93 # 00015 //# UPDATE HISTORY: August 08 '00 # 00016 //# # 00017 //# # 00018 //# # 00019 //# # 00020 //# SHORT EXPLANATION: Von Mises yield surface # 00021 //# # 00022 //# # 00023 //################################################################################ 00024 //*/ 00025 00026 #ifndef VM_YS_H 00027 #define VM_YS_H 00028 00029 #include <stresst.h> 00030 #include <BJtensor.h> 00031 00032 #include "EPState.h" 00033 #include "YS.h" 00034 00035 00036 class VMYieldSurface : public YieldSurface 00037 { 00038 //Private vars to define the Von Mises Yield Surface 00039 private: 00040 00041 public: 00042 // Create a colne of itself 00043 YieldSurface *newObj(); 00044 00045 // Default constructor 00046 VMYieldSurface ( ) {} 00047 00048 // Copy constructor 00049 //VMYieldSurface (const VMYieldSurface & ); 00050 00051 // Evaluation of f 00052 double f(const EPState *EPS) const; 00053 00054 //First derivative of F over sigma 00055 tensor dFods(const EPState *EPS) const; 00056 00057 // Redefine 1st derivative of F over first scalar internal variable 00058 double xi_s1(const EPState *EPS) const; 00059 00060 // Redefine 1st derivative of F over first tensorial internal variable 00061 tensor xi_t1(const EPState *EPS) const; 00062 00063 void print() { opserr << *this; }; 00064 00065 //================================================================================ 00066 // Overloaded Insertion Operator 00067 // prints an VM YieldSurface's contents 00068 //================================================================================ 00069 friend OPS_Stream& operator<< (OPS_Stream& os, const VMYieldSurface & YS); 00070 00071 }; 00072 00073 #endif 00074 |