00001
00003
00004 #include "Inelastic2DYS01.h"
00005
00007
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
00029 }
00030
00031
00032
00033
00034 void Inelastic2DYS01::getLocalStiff(Matrix &K)
00035 {
00036
00037
00038
00039
00040
00041
00042 double iz = Iz;
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 }
00063
00064
00065