00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef TZLIQ1_H
00018 #define TZLIQ1_H
00019
00020
00021
00022
00023
00024
00025
00026 #include <UniaxialMaterial.h>
00027 #include <Domain.h>
00028 #include <FourNodeQuad.h>
00029 #include <FluidSolidPorousMaterial.h>
00030 #include <TzSimple1.h>
00031 #include <iostream>
00032
00033 class TzLiq1 : public TzSimple1
00034 {
00035 public:
00036 TzLiq1(int tag, int classtag, int tzType, double tult, double z50,
00037 double dashpot, int solidElem1, int solidElem2, Domain *theDomain);
00038 TzLiq1();
00039 ~TzLiq1();
00040
00041 const char *getClassType(void) const {return "TzLiq1";};
00042
00043 int setTrialStrain(double y, double yRate);
00044 double getStrain(void);
00045 double getStress(void);
00046 double getTangent(void);
00047 double getStrainRate(void);
00048 double getDampTangent(void);
00049 double getInitialTangent(void);
00050
00051 int commitState(void);
00052 int revertToLastCommit(void);
00053 int revertToStart(void);
00054
00055 UniaxialMaterial *getCopy(void);
00056
00057 int sendSelf(int commitTag, Channel &theChannel);
00058 int recvSelf(int commitTag, Channel &theChannel,
00059 FEM_ObjectBroker &theBroker);
00060
00061
00062 int updateParameter(int snum, Information &eleInformation);
00063
00064 void Print(OPS_Stream &s, int flag =0);
00065
00066
00067 protected:
00068
00069 private:
00070
00071
00072 double Tz;
00073 double Cz;
00074 double Tt;
00075 double Ct;
00076 double Tangent;
00077 double maxTangent;
00078 double Tru;
00079 double Cru;
00080 double Hru;
00081
00082
00083
00084 int solidElem1;
00085 int solidElem2;
00086
00087 double meanConsolStress;
00088 double ru;
00089
00090 static int loadStage;
00091 int lastLoadStage;
00092 std::string elemFlag;
00093 Domain *theDomain;
00094 FourNodeQuad *theQuad1;
00095 FourNodeQuad *theQuad2;
00096
00097
00098 double initialTangent;
00099
00100
00101 double getEffectiveStress(void);
00102 static Vector stressV3;
00103
00104 };
00105
00106 #endif // TZLIQ1_H