VM_YS.h

Go 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 

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