⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 struct9.m

📁 Benchmark Control Problems for Seismically Excited Nonlinear Building
💻 M
字号:
%-----------------------------------------------------------------------%|*********************************************************************|%|*           Structural Data of the 9 Story 5 Bay Building           *|%|*                                                                   *|%|*                  University of Notre Dame                         *|%|*                       November, 1999                              *|%|*                                                                   *|%|*               Coded by      Y.Ohtori                              *|%|*                             R.E.Christenson                       *|%|*               Supervised by B.F.Spencer, Jr.  	              *|%|*********************************************************************|%-----------------------------------------------------------------------% UNITS: N - m% ------------------------------------------------% --- Define File Name of Structural Data File ---% ---  for the SIMULINK S-function             ---% ------------------------------------------------     f1_name = 'structure.dat1';       % Name of Structural Data for SIMULINK% --------------------------------------------% --- Define Initial Data for Calculations ---% --------------------------------------------     T_str   = 0.0;                     % Start time of the Response Analysis     T_end   = 100.0;                   % End time of the Response Analysis     dt_cal  = 0.005;                   % Calculation Interval Delta_t     dt_out  = 0.01;                   % Output Interval for file    beta_val  = 1.0/4.0;               % beta  value for Newmark-beta Method    gamma_val = 1.0/2.0;               % gamma value for Newmark-beta Method% ----------------------% --- Define Damping ---% ----------------------     zeta_cr   = 0.02;                % Critical Damping     h_max     = 0.02;                % Maximum Damping for Type 2     nCutOff   = 2;                   % Number of mode for cutting off% -------------------------------------% --- Set Data for Nodal Coordinate ---% -------------------------------------     Num_story = 9+1;                        % Number of stories + basement     Num_bay   = 5;                          % Number of Bays     Num_MRF   = 2;                          % Number of Moment Resisting Frame     Num_node  = (Num_bay+1)*(Num_story+1);  % Number of Node     Num_DOF   = 3*Num_node;                 % Number of Degree of Freedoms     height = [ 3.6576 5.4864 3.9624 3.9624 3.9624 3.9624 ....                3.9624 3.9624 3.9624 3.9624 ];       width  = [ 9.1440 9.1440 9.1440 9.1440 9.1440 ];% ---------------------------------------------% --- Define Material Table (left to right) ---% ---------------------------------------------     Num_beam  = Num_bay*Num_story;              % Number of Beams     Num_col   = (Num_bay+1)*Num_story;          % Number of Coloms     Num_elem  = Num_beam + Num_col;             % Number of Elements     element_tbl = zeros(Num_elem,4);%  - Column -   for i=1:Num_col     element_tbl(i,1) = i;     element_tbl(i,2) = i + (Num_bay+1);     element_tbl(i,4) = 1;   end  element_tbl(1:Num_col,3) = [                         1     2     2     2     2     1  ...   %  basement                         1     2     2     2     2     1  ...   %  1st floor                         1    12    12    12    12     1  ...   %  2nd floor                         1     3     3     3     3     1  ...   %  3rd floor                        13    14    14    14    14    13  ...   %  4th floor                         4     1     1     1     1     4  ...   %  5th floor                        15    13    13    13    13    15 ...   %  6th floor                         5     4     4     4     4     5 ...   %  7th floor                        16    15    15    15    15    16 ...   %  8th floor                         6     5     5     5     5     6 ...   %  9th floor                                                        ]';%  - Beam   -   elem_no = Num_col;   for i = 1:Num_story     for j = 1:Num_bay         elem_no = elem_no + 1;         element_tbl(elem_no,1) = i*(Num_bay+1) + j;         element_tbl(elem_no,2) = element_tbl(elem_no,1) + 1;         element_tbl(elem_no,4) = 2;     end   end  element_tbl(Num_col+1:Num_col+Num_beam,3) = [                         7     7     7     7    7 ...   %  1st floor                         7     7     7     7    7 ...   %  2nd floor                         7     7     7     7    7 ...   %  3rd floor                         8     8     8     8    8 ...   %  4th floor                         8     8     8     8    8 ...   %  5th floor                         8     8     8     8    8 ...   %  6th floor                         8     8     8     8    8 ...   %  7th floor                         9     9     9     9    9 ...   %  8th floor                        10    10    10    10    10 ...   %  9th floor                        11    11    11    11    11 ...   %  roof                                                       ]';   element_tbl(Num_col+[5 10 15 20 25 30 35 40 45 50],4) = 5;% -----------------------------------% --- Define Master - Slave Nodes ---% -----------------------------------  slv_tbl = [%   Master  Dir  Num_slv  Slv_1  Slv_2  Slv_3  Slv_4     15      1     5       13     14      16     17     18   %  2nd floor     21      1     5       19     20      22     23     24   %  3rd floor     27      1     5       25     26      28     29     30   %  4th floor     33      1     5       31     32      34     35     36   %  5th floor     39      1     5       37     38      40     41     42   %  6th floor     45      1     5       43     44      46     47     48   %  7th floor     51      1     5       49     50      52     53     54   %  8th floor     57      1     5       55     56      58     59     60   %  9th floor     63      1     5       61     62      64     65     66   %  roof      ];        Num_mst = length(slv_tbl(:,1));                    % Number of Master Nodes% --------------------------% --- Define Fixed Nodes ---% --------------------------%                       Fix: 1 , Free: 0 %              Node_no  Hor.  Vert.  Rot.  Fix_node = [    1       1     1     0 ;                  2       1     1     0 ;                  3       1     1     0 ;                  4       1     1     0 ;                  5       1     1     0 ;                  6       1     1     0 ;                  7       1     0     0 ;                  8       1     0     0 ;                  9       1     0     0 ;                  10      1     0     0 ;                  11      1     0     0 ;                  12      1     0     0 ;                  ];  Num_BND   = length(Fix_node(:,1));         % Number of Fixed Nodes% ---------------------------% --- Define Element mass ---% ---------------------------  seismic_mass1 = 4.8159e+05;  seismic_mass2 = 5.0349e+05;  seismic_mass3 = 4.9473e+05;  seismic_mass4 = 5.3414e+05;  Element_mass = [   zeros(1,Num_col)...   seismic_mass1*(1/(Num_bay))*ones(1,Num_bay)...   %  1st floor   seismic_mass2*(1/(Num_bay))*ones(1,Num_bay)...   %  2nd floor   seismic_mass3*(1/(Num_bay))*ones(1,Num_bay)...   %  3rd floor   seismic_mass3*(1/(Num_bay))*ones(1,Num_bay)...   %  4th floor   seismic_mass3*(1/(Num_bay))*ones(1,Num_bay)...   %  5th floor   seismic_mass3*(1/(Num_bay))*ones(1,Num_bay)...   %  6th floor   seismic_mass3*(1/(Num_bay))*ones(1,Num_bay)...   %  7th floor   seismic_mass3*(1/(Num_bay))*ones(1,Num_bay)...   %  8th floor   seismic_mass3*(1/(Num_bay))*ones(1,Num_bay)...   %  9th floor   seismic_mass4*(1/(Num_bay))*ones(1,Num_bay)...   %  roof                 				  ]';% -----------------------------% --- Define Material Table --- % -----------------------------% Type = 0: Spread Plasticity Model%        1: Concentrated Plasticity Model  mat_tbl = [%Mat_no  EI1       EI2        EI3        EA         GA         d1        d2    type1 4.5272e+08 4.0971e+08 1.3582e+07 1.4060e+10 8.8960e+15 1.0051e-02 1.0580e-02 12 6.8324e+08 6.1831e+08 2.0497e+07 1.8962e+10 8.8960e+15 9.5008e-03 1.0001e-02 13 5.9836e+08 5.4151e+08 1.7951e+07 1.7285e+10 8.8960e+15 9.6708e-03 1.0180e-02 14 3.1957e+08 2.8920e+08 9.5870e+06 1.0745e+10 8.8960e+15 1.0485e-02 1.1037e-02 15 2.8295e+08 2.5607e+08 8.4885e+06 9.7518e+09 8.8960e+15 1.0641e-02 1.1201e-02 16 2.5049e+08 2.2211e+08 7.5148e+06 8.8360e+09 8.8960e+15 1.0761e-02 1.1339e-02 17 8.1140e+08 6.8151e+08 2.4342e+07 6.0629e+09 8.8960e+15 4.0610e-03 4.2913e-03 18 6.4912e+08 5.5829e+08 1.9474e+07 5.1212e+09 8.8960e+15 4.1408e-03 4.3701e-03 19 3.3205e+08 2.8596e+08 9.9615e+06 3.7539e+09 8.8960e+15 4.9618e-03 5.2362e-03 110 2.3718e+08 2.2226e+08 7.1154e+06 3.1992e+09 8.8960e+15 5.4325e-03 5.7087e-03 111 1.5229e+08 1.3940e+08 4.5688e+06 2.5929e+09 8.8960e+15 6.1373e-03 6.4567e-03 1                ];% Add splice elements  mat_tbl = [mat_tbl12         (6/13)*mat_tbl(2,2:8)+(7/13)*mat_tbl(3,2:8)                         113         (6/13)*mat_tbl(1,2:8)+(7/13)*mat_tbl(4,2:8)                         114         (6/13)*mat_tbl(3,2:8)+(7/13)*mat_tbl(1,2:8)                         115         (6/13)*mat_tbl(4,2:8)+(7/13)*mat_tbl(5,2:8)                         116         (6/13)*mat_tbl(5,2:8)+(7/13)*mat_tbl(6,2:8)                         1                ];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -