Tri_a_fail_crit_YS.hGo to the documentation of this file.00001 00002 //################################################################################ 00003 //# COPYRIGHT (C): :-)) # 00004 //# PROJECT: OpenSees # 00005 //# PURPOSE: Triaxial Failure Criterion for Concrete - yield criterion # 00006 //# CLASS: TriFCYieldSurface # 00007 //# # 00008 //# VERSION: 1.0 # 00009 //# LANGUAGE: C++ (ili tako nesto) # 00010 //# TARGET OS: # 00011 // DESIGNER(S): Boris Jeremic and Zhaohui Yang [jeremic,zhyang]@ucdavis.edu| 00012 // PROGRAMMER(S): Vlado Vukadin | 00013 //# # 00014 //# # 00015 //# DATE: June 01, 2002 # 00016 //# UPDATE HISTORY: bice tako dobr da nece biti potreban update :) # 00017 //# # 00018 //# # 00019 //# # 00020 //# # 00021 //# SHORT EXPLANATION: # 00022 //# # 00023 //# Yield surface is based on article by Menetrey, P. and William, K.J. # 00024 //# published in 1995 in ACI Structural Journal pp 311-318. Purpose of the # 00025 //# Yield surface is to model triaxial strenght of concrete # 00026 //# # 00027 //# # 00028 //################################################################################ 00029 //*/ 00030 00031 #ifndef Tri_a_fail_crit_YS_H 00032 #define Tri_a_fail_crit_YS_H 00033 00034 #include <stresst.h> 00035 #include <BJtensor.h> 00036 #include "EPState.h" 00037 #include "YS.h" 00038 00039 class TriFCYieldSurface : public YieldSurface 00040 { 00041 // Private vars to define the TriFCYieldSurface Yield Surface 00042 private: 00043 double fcomp; 00044 double ftens; 00045 double el; 00046 double c; 00047 public: 00048 YieldSurface *newObj(); //create a clone of itself 00049 00050 TriFCYieldSurface (double fc, double ft, double e, double coh ); // Default constructor 00051 00052 00053 00054 virtual ~TriFCYieldSurface ( ); // Destructor 00055 00056 double f(const EPState *EPS) const; 00057 tensor dFods(const EPState *EPS) const; 00058 00059 // Redefine 1st derivative of F over scalar internal variables 00060 //double xi_s1( const EPState *EPS ) const; 00061 //double xi_s2( const EPState *EPS ) const; 00062 00063 // Redefine 1st derivative of F over tensorial internal variables 00064 //tensor xi_t1(const EPState *EPS) const 00065 //{ 00066 00067 //} 00068 00069 double getfcomp() const; 00070 double getftens() const; 00071 double getel() const; 00072 double get_c() const; 00073 00074 void print() {opserr << *this; }; 00075 00076 //================================================================================ 00077 // Overloaded Insertion Operator 00078 // prints an XX YieldSurface's contents 00079 //================================================================================ 00080 friend OPS_Stream& operator<< (OPS_Stream& os, const TriFCYieldSurface & YS); 00081 00082 }; 00083 00084 #endif 00085 |