TzSimple1.h

Go to the documentation of this file.
00001 /* *********************************************************************
00002 **    Module:   TzSimple1.h 
00003 **
00004 **    Purpose:  Provide a simple t-z spring for OpenSees
00005 ** 
00006 **    Developed by Ross W. Boulanger
00007 **    (C) Copyright 2002, All Rights Reserved.
00008 **
00009 ** ****************************************************************** */
00010 
00011 // $Revision: 1.0
00012 // $Date: 2002/1/19
00013 // $Source: /OpenSees/SRC/material/uniaxial/TzSimple1.h
00014 
00015 #ifndef TZSIMPLE1_H
00016 #define TZSIMPLE1_H
00017 
00018 // Written: RWB
00019 // Created: Jan 2002
00020 // tested and checked: Boris Jeremic (jeremic@ucdavis.edu) Spring 2002
00021 //
00022 // Description: This file contains the class definition for TzSimple1.
00023 // 
00024 
00025 #include <UniaxialMaterial.h>
00026 
00027 
00028 class TzSimple1 : public UniaxialMaterial
00029 {
00030   public:
00031     TzSimple1(int tag, int classtag, int tzType, double tult, double z50, double dashpot);
00032     TzSimple1();
00033     ~TzSimple1();
00034 
00035     const char *getClassType(void) const {return "TzSimple1";};
00036 
00037     int setTrialStrain(double y, double yRate); 
00038     double getStrain(void);          
00039     double getStress(void);
00040     double getTangent(void);
00041     double getInitialTangent(void);    
00042     double getStrainRate(void);
00043     double getDampTangent(void);
00044 
00045     int commitState(void);
00046     int revertToLastCommit(void);    
00047     int revertToStart(void);        
00048 
00049     UniaxialMaterial *getCopy(void);
00050     
00051     int sendSelf(int commitTag, Channel &theChannel);  
00052     int recvSelf(int commitTag, Channel &theChannel, 
00053                  FEM_ObjectBroker &theBroker);    
00054     
00055     void Print(OPS_Stream &s, int flag =0);
00056 
00057    
00058   protected:
00059     
00060     // Material parameters
00061         int    tzType;          // tz relation type 
00062     double tult;                // Material capacity
00063     double z50;                 // z at 50% of tult
00064         double zref;            // reference point for Near Field spring
00065         double np;                      // exponent for hardening shape of Near Field Spring
00066         double dashpot;     // dashpot on the far-field (elastic) component
00067 
00068   private:
00069 
00070         // Functions to get t & z for elastic & plastic components
00071         void getNearField(double zlast, double dz, double dz_old);
00072         void getFarField(double z);
00073 
00074    // Committed history variables for entire t-z material
00075     double Cz;                  // Committed t
00076     double Ct;                  // Committed z
00077     double Ctangent;    // Committed tangent
00078 
00079         // Trial history variables for entire t-z material
00080     double Tz;                  // Trial z
00081     double Tt;                  // Trial t
00082     double Ttangent;    // Trial tangent
00083         double TzRate;      // Trial velocity
00084 
00085         // Committed internal parameters for the NearField plastic component
00086         double CNF_tin;                 //  t at start of current plastic loading cycle
00087         double CNF_zin;                 //  z at start of current plastic loading cycle
00088         double CNF_t;                   //  current t
00089         double CNF_z;                   //  current z
00090         double CNF_tang;                //  tangent
00091 
00092         // Trial internal parameters for the NearField plastic component
00093         double TNF_tin;                 //  t at start of current plastic loading cycle
00094         double TNF_zin;                 //  z at start of current plastic loading cycle
00095         double TNF_t;                   //  current t
00096         double TNF_z;                   //  current z
00097         double TNF_tang;                //  tangent
00098 
00099         // Committed internal parameters for the Far Field elastic component
00100         double CFar_z;                  //  current z
00101         double CFar_t;                  //  current t
00102         double CFar_tang;       //  tangent
00103 
00104         // Trial internal parameters for the Far Field component
00105         double TFar_z;                  //  current z
00106         double TFar_t;                  //  current t
00107         double TFar_tang;       //  tangent
00108         
00109         double initialTangent;
00110 
00111 };
00112 
00113 
00114 #endif

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