Subversion Repositories OpenSees

Rev

Rev 5265 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5265 Rev 5274
Line 25... Line 25...
25
#include <elementAPI.h>
25
#include <elementAPI.h>
26
#include <Vector.h>
26
#include <Vector.h>
27
#include <Channel.h>
27
#include <Channel.h>
28
28
29
#include <OPS_Globals.h>
29
#include <OPS_Globals.h>
-
 
30
30
31
31
static int numBilinMaterials = 0;
32
static int numBilinMaterials = 0;
32
33
33
void *
34
void *
34
OPS_Bilin(void)
-
 
-
 
35
OPS_Bilin()
35
{
36
{
36
  if (numBilinMaterials == 0) {
37
  if (numBilinMaterials == 0) {
37
    numBilinMaterials++;
38
    numBilinMaterials++;
38
    OPS_Error("Modified Ibarra-Medina-Krawinkler Model with Bilinear Hysteretic Response\n", 1);
39
    OPS_Error("Modified Ibarra-Medina-Krawinkler Model with Bilinear Hysteretic Response\n", 1);
39
  }
40
  }
Line 828... Line 829...
828
        RSE = 0.5*f*f/ekunload;
829
        RSE = 0.5*f*f/ekunload;
829
830
830
////    Flag to deteriorate parameters on the opposite side of the loop --      
831
////    Flag to deteriorate parameters on the opposite side of the loop --      
831
832
832
          if((f*fP<0.0)&&(interup==0)) {
833
          if((f*fP<0.0)&&(interup==0)) {
833
                  if(((fP>0.0)&&(dmax>(My_pos/Ke)))||((fP<0.0)&&(dmin<(My_neg/Ke)))) {
-
 
-
 
834
              if(((fP>0.0)&&(dmax>(dyPos)))||((fP<0.0)&&(dmin<(dyNeg)))) {
834
                        flagdeg = 1;           
835
                        flagdeg = 1;           
835
                        interup=1;
-
 
836
        }
-
 
837
    }  
-
 
-
 
836
                        interup = 1;
-
 
837
                  }
-
 
838
          }    
838
839
839
840
840
////    energy CALCULATIONS ---------------------------------------------
841
////    energy CALCULATIONS ---------------------------------------------
841
842
842
          if((flagstopdeg==0)&&(flagdeg==0)) {
-
 
-
 
843
          if((flagstopdeg==0)&&(flagdeg==1)) {
843
       
844
       
844
                if((Enrgtot>=Enrgts)&&(Enrgts!=0.0)) {
845
                if((Enrgtot>=Enrgts)&&(Enrgts!=0.0)) {
845
                        betas = 1.0;
846
                        betas = 1.0;
846
                } else if((Enrgtot>=Enrgtd)&&(Enrgtd!=0.0)) {
847
                } else if((Enrgtot>=Enrgtd)&&(Enrgtd!=0.0)) {
847
                        betad = 1.0;
848
                        betad = 1.0;