fdYield.hGo to the documentation of this file.00001 //=============================================================================== 00002 //# COPYRIGHT (C): Woody's license (by BJ): 00003 // ``This source code is Copyrighted in 00004 // U.S., for an indefinite period, and anybody 00005 // caught using it without our permission, will be 00006 // mighty good friends of ourn, cause we don't give 00007 // a darn. Hack it. Compile it. Debug it. Run it. 00008 // Yodel it. Enjoy it. We wrote it, that's all we 00009 // wanted to do.'' 00010 // 00011 //# PROJECT: Object Oriented Finite Element Program 00012 //# PURPOSE: Finite Deformation Hyper-Elastic classes 00013 //# CLASS: 00014 //# 00015 //# VERSION: 0.6_(1803398874989) (golden section) 00016 //# LANGUAGE: C++ 00017 //# TARGET OS: all... 00018 //# DESIGN: Zhao Cheng, Boris Jeremic (jeremic@ucdavis.edu) 00019 //# PROGRAMMER(S): Zhao Cheng, Boris Jeremic 00020 //# 00021 //# 00022 //# DATE: July 2004 00023 //# UPDATE HISTORY: 00024 //# 00025 //=============================================================================== 00026 00027 #ifndef fdYield_H 00028 #define fdYield_H 00029 00030 #include <stresst.h> 00031 #include <straint.h> 00032 00033 #include <FDEPState.h> 00034 00035 class fdYield 00036 { 00037 public: 00038 fdYield(); 00039 virtual ~fdYield() {}; 00040 00041 virtual fdYield *newObj() = 0; 00042 00043 virtual int getNumRank(); 00044 virtual double getTolerance(); 00045 virtual double Yd(const stresstensor &sts, const FDEPState &fdepstate ) const = 0; 00046 00047 virtual stresstensor dYods(const stresstensor &sts, const FDEPState &fdepstate ) const = 0; 00048 00049 virtual double dYodq(const stresstensor &sts, const FDEPState &fdepstate ) const; 00050 virtual stresstensor dYoda(const stresstensor &sts, const FDEPState &fdepstate ) const; 00051 00052 virtual void print() = 0; 00053 00054 friend OPS_Stream& operator<< (OPS_Stream& os, const fdYield & fdyd); 00055 }; 00056 00057 00058 #endif |