Inelastic2DYS01.cpp

Go to the documentation of this file.
00001 // Inelastic2DYS01.cpp
00003 
00004 #include "Inelastic2DYS01.h"
00005 
00007 // Construction/Destruction
00009 
00010 Inelastic2DYS01::Inelastic2DYS01(int tag, double a, double e, double iz,
00011                                  int Nd1, int Nd2,
00012                                                  YieldSurface_BC *ysEnd1,
00013                                                  YieldSurface_BC *ysEnd2,
00014                                                  int rf_algo, bool islinear, double rho
00015                                                  )
00016                             :InelasticYS2DGNL (tag, Nd1, Nd2, ysEnd1, ysEnd2,
00017                                            rf_algo, islinear, rho),
00018                              A(a), E(e), Iz(iz),
00019                              damageFactorEnd1(0.0), damageFactorEnd2(0.0), fpeak(0.0)
00020 {
00021   massDof = A*L*rho;
00022   massDof = massDof/2;
00023 
00024 }
00025 
00026 Inelastic2DYS01::~Inelastic2DYS01()
00027 {
00028         //does nothing
00029 }
00030 
00031 // very simple element
00032 // provides the elastic stiffness based on the average degraded
00033 // Iz at each ends
00034 void Inelastic2DYS01::getLocalStiff(Matrix &K)
00035 {
00036 
00037 //      double i1Factor = (1 - damageFactorEnd1); // this->getDegradeFactor(1);
00038 //      double i2Factor = (1 - damageFactorEnd2); // this->getDegradeFactor(2);
00039 //
00040 //      double iFactor = (i1Factor + i2Factor)/2;
00041 //      iFactor = 1.0;
00042         double iz = Iz; //*iFactor;
00043         
00044     double      EIbyL = E*iz/L;
00045 
00046     K(0, 1) = K(0, 2) = K(0, 4) = K(0, 5)=0;
00047     K(1, 0) = K(1, 3) =0;
00048     K(2, 0) = K(2, 3) =0;
00049     K(3, 1) = K(3, 2) = K(3, 4) = K(3, 5)=0;
00050     K(4, 0) = K(4, 3) =0;
00051     K(5, 0) = K(5, 3) =0;
00052 
00053         K(0,0) = K(3,3) = (A/iz)*(EIbyL);
00054         K(0,3) = K(3,0) = (-A/iz)*(EIbyL);
00055         K(1,1) = K(4,4) = (12/(L*L))*(EIbyL);
00056         K(1,4) = K(4,1) = (-12/(L*L))*(EIbyL);
00057         K(1,2) = K(2,1) = K(1,5) = K(5,1) = (6/L)*(EIbyL);
00058         K(2,4) = K(4,2) = K(4,5) = K(5,4) = (-6/L)*(EIbyL);
00059         K(2,2) = K(5,5) = 4*(EIbyL);
00060         K(2,5) = K(5,2) = 2*(EIbyL);
00061 
00062 }//getLocalStiff
00063 
00064 
00065 

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