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; |