Hysteretisk modell

Hysteretiska modeller är matematiska modeller som kan simulera det komplexa olinjära beteendet som kännetecknar mekaniska system och material som används inom olika teknikområden , såsom flyg- , civil- och maskinteknik . Några exempel på mekaniska system och material som har hysteretiskt beteende är:

  • material, såsom stål , armerad betong , trä ;
  • strukturella element, såsom stål, armerad betong eller träfogar;
  • enheter, såsom seismiska isolatorer och dämpare.

Hysteretiska modeller kan ha en generaliserad förskjutning som ingångsvariabel och en generaliserad kraft som utdatavariabel, eller vice versa. I synnerhet, i frekvensoberoende hysteretiska modeller, beror utvariabeln inte på variationshastigheten för ingångsvariabeln.

Hastighetsoberoende hysteretiska modeller kan klassificeras i fyra olika kategorier beroende på vilken typ av ekvation som måste lösas för att beräkna utdatavariabeln:

  • Algebraiska modeller;
  • Transcendentala modeller;
  • Differentiella modeller;
  • Integrerade modeller.

Algebraiska modeller

I algebraiska modeller beräknas utdatavariabeln genom att lösa algebraiska ekvationer .

Bilinjär modell

Modellformulering

I den bilinjära modellen formulerad av Vaiana et al. (2018) utvärderas den generaliserade kraften vid tidpunkten t , som representerar utgångsvariabeln, som en funktion av den generaliserade förskjutningen enligt följande:



där och är de tre modellparametrarna som ska kalibreras från experimentella eller numeriska tester, medan är tecknet för den generaliserade hastigheten vid tidpunkten , det vill säga . Dessutom en intern modellparameter som utvärderas som:


medan är den interna variabeln:

 . 

Hysteres loop former

Figur 1.1 visar två olika hysteresloopformer erhållna genom att applicera en sinusformad generaliserad förskjutning med enhetsamplitud och frekvens och simulerad genom att använda parametrarna för bilinjär modell (BM) som anges i tabell 1.1.

Figur 1.1. Hysteresloopar reproducerade med hjälp av BM-modellens parametrar i Tabell 1.1
Tabell 1.1 - BM-parametrar
(a) 10,0 1.0 0,5
(b) 10,0 -1,0 0,5

Matlab kod










    



                                                                  
   0                                                            
                                                                      
                                                                      
                                        
                                
                                                               



                                                                   
                                                                    
                                                                    

                                                             

   



   

  

       
      

      








 

 % ================================================= =========================================  % juni 2020  % bilinjär modellalgoritm  % Nicolò Vaiana , forskare i strukturell mekanik och dynamik, PhD  % Institutionen för strukturer för teknik och arkitektur  % University of Neapel Federico II  % via Claudio, 21 - 80124, Napoli  % ================ ================================================== ========================  clc  ;  rensa  alla  ;  stäng  alla  ;  %% TIDHISTORIK FÖR TILLÄMPAD FÖRVÄRDNING  dt  =  0,001  ;  %tidssteg  t  =  :  dt  :  1,50  ;  %tidsintervall  a0  =  1  ;  %applicerad förskjutningsamplitud  fr  =  1  ;  % applicerad förskjutningsfrekvens  u  =  a0  *  sin  ((  2  *  pi  *  fr  )  *  t  (  1  :  längd  (  t  )));  %applicerad förskjutningsvektor  v  =  2  *  pi  *  fr  *  a0  *  cos  ((  2  *  pi  *  fr  )  *  t  (  1  :  längd  (  t  )));  %applicerad hastighetsvektor  n  =  längd  (  u  );  %applied förskjutningsvektorlängd  %% 1. URSPRUNGANDE INSTÄLLNINGAR  %1.1 Ställ in de tre modellparametrarna  ka  =  10.0  ;  %model parameter  kb  =  1,0  ;  %model parameter  f0  =  0,5  ;  %model parameter  %1.2 Beräkna de interna modellparametrarna  u0  =  f0  /  (  ka  -  kb  );  %intern modellparameter  %1.3 Initiera den generaliserade kraftvektorn  f  =  nollor  (  1  ,  n  );  %% 2. BERÄKNINGAR VID VARJE GÅNG STEG  för  i  =  2  :  n  %2.1 Uppdatera historikvariabeln  uj  =  (  ka  *  u  (  i  -  1  )  +  tecken  (  v  (  i  ))  *  f0  -  f  (  i  -  1  ))  /  (  ka  -  kb  );  %2.2 Utvärdera den generaliserade kraften vid tidpunkten t  if  (  tecken  (  v  (  i  ))  *  uj  )  -  2  *  u0  <  tecken  (  v  (  i  ))  *  u  (  i  )  &&  tecken  (  v  (  i  ))  *  u  (  i )  )  <  tecken  (  v  (  i  ))  *  uj  f  (  i  )  =  ka  *  (  u  (  i  )  -  uj  )  +  kb  *  uj  +  tecken  (  v  (  i  ))  *  f0  ;  annars  f  (  i  )  =  kb  *  u  (  i  )  +  tecken  (  v  (  i  ))  *  f0  ;  slut  slut  %% PLOT  figur  plot  (  u  ,  f  ,  'k'  ,  'linewidth'  ,  4  )  set  (  gca  ,  'FontSize'  ,  28  )  set  (  gca  ,  'FontName'  ,  'Times New Roman'  )  xlabel  (  'generalized förskjutning'  ),  ylabel  (  '  generaliserad kraft'  )  rutnätszoom  av  

Asymmetrisk bilinjär modell

Modellformulering

I den asymmetriska bilinjära modellen formulerad av Vaiana et al. (2020) utvärderas den generaliserade kraften vid tidpunkten t , som representerar utgångsvariabeln, som en funktion av den generaliserade förskjutningen enligt följande:



där f är de tre modellparametrarna för det generiska laddningsfallet (avlastning) som ska kalibreras från experimentella eller numeriska tester, medan är tecknet på den generaliserade hastigheten vid tidpunkten , det vill säga . Dessutom en intern modellparameter som utvärderas som:


medan är den interna variabeln:


Matlab kod










    



                                                                  
   0                                                            
                                                                      
                                                                      
                                        
                                
                                                               



                                                                   
                                                                   
                                                                  
                                                                  
                                                                   
                                                                  

    



   

 0
            

            

  
 0
      

      


       
      

      








 

 % ================================================= ================================================  % februari 2021  % Asymmetrisk bilinjär modellalgoritm  % Nicolò Vaiana, forskare inom strukturell mekanik och dynamik, PhD  % Institutionen för strukturer för teknik och arkitektur  % University of Neapel Federico II  % via Claudio, 21 - 80124, Napoli  % ================ ================================================== =========================  clc  ;  rensa  alla  ;  stäng  alla  ;  %% TIDHISTORIK FÖR TILLÄMPAD FÖRVÄRDNING  dt  =  0,001  ;  %tidssteg  t  =  :  dt  :  1,50  ;  %tidsintervall  a0  =  1  ;  %applicerad förskjutningsamplitud  fr  =  1  ;  % applicerad förskjutningsfrekvens  u  =  a0  *  sin  ((  2  *  pi  *  fr  )  *  t  (  1  :  längd  (  t  )));  %applicerad förskjutningsvektor  v  =  2  *  pi  *  fr  *  a0  *  cos  ((  2  *  pi  *  fr  )  *  t  (  1  :  längd  (  t  )));  %applicerad hastighetsvektor  n  =  längd  (  u  );  %applied förskjutningsvektorlängd  %% 1. URSPRUNGLIGA INSTÄLLNINGAR  %1.1 Ställ in de sex modellparametrarna  kap  =  5.0  ;  %model parameter  kbp  =  0,5  ;  %model parameter  f0p  =  0,75  ;  %model parameter  kam  =  15,0  ;  %modellparameter  kbm  =  0,1  ;  %modellparameter  f0m  =  0,25  ;  %model parameter  %1.2 Initiera den generaliserade kraftvektorn  f  =  nollor  (  1  ,  n  );  %% 2. BERÄKNINGAR VID VARJE GÅNG STEG  för  i  =  2  :  n  %2.1 Uppdatera modellparametrarna, historikvariabeln och den interna modellparametern  om  v  (  i  )  >  ka  =  kap  ;  kb  =  kbp  ;  f0  =  f0p  ;  annat  ka  =  kam  ;  kb  =  kbm  ;  f0  =  f0m  ;  slut  uj  =  (  ka  *  u  (  i  -  1  )  +  tecken  (  v  (  i  ))  *  f0  -  f  (  i  -  1  ))  /  (  ka  -  kb  );  om  v  (  i  )  >  u0  =  ((  kbp  -  kbm  )  *  uj  +  f0p  +  f0m  )  /  (  2  *  (  kap  -  kbm  ));  annars  u0  =  ((  kbp  -  kbm  )  *  uj  +  f0p  +  f0m  )  /  (  2  *  (  kam  -  kbp  ));  slut  %2.2 Utvärdera den generaliserade kraften vid tidpunkten t  if  (  tecken  (  v  (  i  ))  *  uj  )  -  2  *  u0  <  tecken  (  v  (  i  ))  *  u  (  i  )  &&  tecken  (  v  (  i  ))  *  u  (  i  )  <  tecken  (  v  (  i  ))  *  uj  f  (  i  )  =  ka  *  (  u  (  i  )  -  uj  )  +  kb  *  uj  +  tecken  (  v  (  i  ))  *  f0  ;  annars  f  (  i  )  =  kb  *  u  (  i  )  +  tecken  (  v  (  i  ))  *  f0  ;  slut  slut  %% PLOT  figur  plot  (  u  ,  f  ,  'k'  ,  'linewidth'  ,  4  )  set  (  gca  ,  'FontSize'  ,  28  )  set  (  gca  ,  'FontName'  ,  'Times New Roman'  )  xlabel  (  'generalized förskjutning'  ),  ylabel  (  '  generaliserad kraft'  )  rutnätszoom  av  

Animation

Följande gif visar det olinjära svaret av ett mekaniskt system med en frihetsgrad (SDOF), med enhetsmassa och asymmetriskt hastighetsoberoende hysteretiskt beteende, utsatt för en extern slumpmässig kraft. För att simulera dess respons har följande ABM-parametrar använts .

Icke-linjär dynamisk respons av ett SDOF-hysteretiskt system modellerat med hjälp av ABM

Algebraisk modell av Vaiana et al. (2019)

Modellformulering

I den algebraiska modellen utvecklad av Vaiana et al. (2019), den generaliserade kraften vid tidpunkten , som representerar utdatavariabeln, utvärderas som en funktion av den generaliserade förskjutningen enligt följande:



där β och är de fem modellparametrarna som ska kalibreras från experimentella eller numeriska tester, medan är tecknet på den generaliserade hastigheten vid tidpunkten , det vill säga . Dessutom och två interna modellparametrar som utvärderas som:



medan är den interna variabeln:


Hysteres loop former

Figur 1.2 visar fyra olika hysteresloopformer som erhållits genom att applicera en sinusformad generaliserad förskjutning med enhetsamplitud och frekvens och simuleras genom att använda parametrarna för Algebraic Model (AM) listade i Tabell 1.2.

Figur 1.2. Hysteresloopar som återges med hjälp av AM-modellens parametrar i Tabell 1.2
Tabell 1.2 - AM-parametrar
(a) 10,0 1.0 10,0 0,0 0,0
(b) 10,0 1.0 10,0 0,2 0,2
(c) 10,0 1.0 10,0 −0,2 −0,2
(d) 10,0 1.0 10,0 −1.2 1.2

Matlab kod










    



                                                                  
   0                                                            
                                                                      
                                                                      
                                        
                                
                                                               



                                                                   
                                                                    
                                                                 
                                                                 
                                                                 

                                  
                         

       



   

  

       
      

      





    
  
  
 

 % ================================================= ========================================  % september 2019  % algebraisk modellalgoritm  % Nicolò Vaiana , postdoktorand forskare, PhD  % Institutionen för strukturer för teknik och arkitektur  % University of Neapel Federico II  % via Claudio, 21 - 80125, Napoli  % =================== ================================================== =====================  clc  ;  rensa  alla  ;  stäng  alla  ;  %% TIDHISTORIK FÖR TILLÄMPAD FÖRVÄRDNING  dt  =  0,001  ;  %tidssteg  t  =  :  dt  :  1,50  ;  %tidsintervall  a0  =  1  ;  %applicerad förskjutningsamplitud  fr  =  1  ;  % applicerad förskjutningsfrekvens  u  =  a0  *  sin  ((  2  *  pi  *  fr  )  *  t  (  1  :  längd  (  t  )));  %applicerad förskjutningsvektor  v  =  2  *  pi  *  fr  *  a0  *  cos  ((  2  *  pi  *  fr  )  *  t  (  1  :  längd  (  t  )));  %applicerad hastighetsvektor  n  =  längd  (  u  );  %applied förskjutningsvektorlängd  %% 1. URSPRUNGLIGA INSTÄLLNINGAR  %1.1 Ställ in de fem modellparametrarna  ka  =  10.0  ;  %model parameter  kb  =  1,0  ;  %model parameter  alfa  =  10,0  ;  %model parameter  beta1  =  0,0  ;  %model parameter  beta2  =  0,0  ;  %model parameter  %1.2 Beräkna de interna modellparametrarna  u0  =  (  1  /  2  )  *  ((((  ka  -  kb  )  /  10  ^  -  20  )  ^  (  1  /  alfa  ))  -  1  );  %intern modellparameter  f0  =  ((  ka  -  kb  )  /  2  )  *  ((((  1  +  2  *  u0  )  ^  (  1  -  alfa  ))  -  1  )  /  (  1  -  alfa  ));  %intern modellparameter  %1.3 Initiera den generaliserade kraftvektorn  f  =  nollor  (  1  ,  n  );  %% 2. BERÄKNINGAR VID VARJE GÅNG STEG  för  i  =  2  :  n  %2.1 Uppdatera historikvariabeln  uj  =  u  (  i  -  1  )  +  tecken  (  v  (  i  ))  *  (  1  +  2  *  u0  )  -  tecken  (  v  (  i  ))  *  ((((  tecken  (  v  (  i  )))  *  (  1  -  alfa  ))  /  (  ka  -  kb  ))  *  (  f  (  i  -  1  )  -  beta1  *  u  (  i  -  1  )  ^  3  -  beta2  *  u  (  i  -  1  )  ^  5  -  kb  *  u  (  i  -  1  )  -  tecken  (  v  (  i  ))  *  f0  +  (  ka  -  kb  )  *  (((  1  +  2  *  u0  )  ^  (  1  -  alfa  ) )  /  (  tecken  (  v  (  i  ))  *  (  1  -  alfa  )))))  ^  (  1  /  (  1  -  alfa  )));  %2.2 Utvärdera den generaliserade kraften vid tidpunkten t  if  (  tecken  (  v  (  i  ))  *  uj  )  -  2  *  u0  <  tecken  (  v  (  i  ))  *  u  (  i  )  ||  tecken  (  v  (  i  ))  *  u  (  i  )  <  tecken  (  v  (  i  ))  *  uj  f  (  i  )  =  beta1  *  u  (  i  )  ^  3  +  beta2  *  u  (  i  )  ^  5  +  kb  *  u  (  i  )  +  (  ka  -  kb  )  *  ((((  1  +  2  *  u0  +  tecken  (  v  (  i  )))  *  (  u  (  i  )  -  uj  ))  ^  (  1  -  alfa  ))  /  (  tecken  (  v  (  i  )) )  *  (  1  -  alfa  )))  -  (((  1  +  2  *  u0  )  ^  (  1  -  alfa  ))  /  (  tecken  (  v  (  i  ))  *  (  1  -  alfa  ))))  +  tecken  (  v  (  i )  ))  *  f0  ;  annars  f  (  i  )  =  beta1  *  u  (  i  )  ^  3  +  beta2  *  u  (  i  )  ^  5  +  kb  *  u  (  i  )  +  tecken  (  v  (  i  ))  *  f0  ;  slut  slut  %% PLOT  figur  plot  (  u  ,  f  ,  'k'  ,  'linewidth'  ,  4  )  set  (  gca  ,  'FontSize'  ,  28  )  set  (  gca  ,  'FontName'  ,  'Times New Roman'  )  xlabel  (  'generalized förskjutning'  ),  ylabel  (  '  generaliserad kraft'  )  rutnätszoom  av  

Transcendentala modeller

I transcendentala modeller beräknas utdatavariabeln genom att lösa transcendentala ekvationer , nämligen ekvationer som involverar trigonometriska , inversa trigonometriska , exponentiella , logaritmiska och/eller hyperboliska funktioner.

Exponentiella modeller

Exponentiell modell av Vaiana et al. (2018)

Modellformulering

I den exponentiella modellen utvecklad av Vaiana et al. (2018), den generaliserade kraften vid tidpunkten , som representerar utdatavariabeln, utvärderas som en funktion av den generaliserade förskjutningen enligt följande:



där och är de fyra modellparametrarna som ska kalibreras från experimentella eller numeriska tester, medan är tecknet för den generaliserade hastigheten vid tidpunkten det vill säga . Dessutom och två interna modellparametrar som utvärderas som:



medan är den interna variabeln:


Hysteres loop former

Figur 2.1 visar fyra olika hysteresloopformer som erhålls genom att applicera en sinusformad generaliserad förskjutning med enhetsamplitud och frekvens och simuleras genom att använda parametrarna för exponentiell modell (EM) som anges i tabell 2.1.

Figur 2.1. Hysteresloopar reproducerade med hjälp av EM-modellparametrarna i Tabell 2.1.
Tabell 2.1 - EM-parametrar
(a) 5.0 0,5 5.0 0,0
(b) 5.0 −0,5 5.0 0,0
(c) 5.0 0,5 5.0 1.0
(d) 5.0 0,5 5.0 −1,0
Matlab kod









    



                                                                  
   0                                                            
                                                                      
                                                                      
                                        
                                
                                                               



                                                                    
                                                                    
                                                                  
                                                                  

                                      
                                 

       



   

  

       
      

      





    
  
  
 

 % ================================================= ========================================  % september 2019  % Exponentiell modellalgoritm  % Nicolò Vaiana , postdoktorand forskare, PhD  % Institutionen för strukturer för teknik och arkitektur  % University of Neapel Federico II  % via Claudio, 21 - 80125, Napoli  % =================== ================================================== =====================  clc  ;  rensa  alla  ;  stäng  alla  ;  %% TIDHISTORIK FÖR TILLÄMPAD FÖRVÄRDNING  dt  =  0,001  ;  %tidssteg  t  =  :  dt  :  1,50  ;  %tidsintervall  a0  =  1  ;  %applicerad förskjutningsamplitud  fr  =  1  ;  % applicerad förskjutningsfrekvens  u  =  a0  *  sin  ((  2  *  pi  *  fr  )  *  t  (  1  :  längd  (  t  )));  %applicerad förskjutningsvektor  v  =  2  *  pi  *  fr  *  a0  *  cos  ((  2  *  pi  *  fr  )  *  t  (  1  :  längd  (  t  )));  %applicerad hastighetsvektor  n  =  längd  (  u  );  %applied förskjutningsvektorlängd  %% 1. URSPRUNGLIGA INSTÄLLNINGAR  %1.1 Ställ in de fyra modellparametrarna  ka  =  5.0  ;  %modellparameter  kb  =  0,5  ;  %model parameter  alfa  =  5,0  ;  %model parameter  beta  =  1,0  ;  %model parameter  %1.2 Beräkna de interna modellparametrarna  u0  =  -  (  1  /  (  2  *  alfa  ))  *  log  (  10  ^  -  20  /  (  ka  -  kb  ));  %intern modellparameter  f0  =  ((  ka  -  kb  )  /  (  2  *  alfa  ))  *  (  1  -  exp  (  -  2  *  alfa  *  u0  ));  %intern modellparameter  %1.3 Initiera den generaliserade kraftvektorn  f  =  nollor  (  1  ,  n  );  %% 2. BERÄKNINGAR VID VARJE GÅNG STEG  för  i  =  2  :  n  %2.1 Uppdatera historikvariabeln  uj  =  u  (  i  -  1  )  +  2  *  u0  *  tecken  (  v  (  i  ))  +  tecken  (  v  (  i  ))  *  (  1  /  alfa  )  *  log  (  tecken  (  v  (  i  ))  *  (  alfa  /  (  ka  -  kb  ))  *  (  -  2  *  beta  *  u  (  i  -  1  )  +  exp  (  beta  *  u  (  i  -  1  ))  -  exp  (  -  beta  *  u  (  i  -  1  ))  +  kb  *  u  (  i  -  1  )  +  tecken  (  v  (  i  ))  *  ((  ka  -  kb  )  /  alfa  )  *  exp  (  -  2  *  alfa  *  u0  )  +  tecken  (  v  (  i  ))  *  f0  -  f  (  i  -  1  )));  %2.2 Utvärdera den generaliserade kraften vid tidpunkten t  if  (  tecken  (  v  (  i  ))  *  uj  )  -  2  *  u0  <  tecken  (  v  (  i  ))  *  u  (  i  )  ||  tecken  (  v  (  i  ))  *  u  (  i  )  <  tecken  (  v  (  i  ))  *  uj  f  (  i  )  =  -  2  *  beta  *  u  (  i  )  +  exp  (  beta  *  u  (  i  ))  -  exp  (  -  beta  *  u  (  i  ))  +  kb  *  u  (  i  )  -  tecken  (  v  (  i  ))  *  ((  ka  -  kb  )  /  alfa  )  *  (  exp  (  -  alfa  *  (  tecken  (  v  (  i  )))  *  (  u  (  i  )  -  uj  )  +  2  *  u0  ))  -  exp  (  -  2  *  alfa  *  u0  ))  +  tecken  (  v  (  i  ))  *  f0  ;  annars  f  (  i  )  =  -  2  *  beta  *  u  (  i  )  +  exp  (  beta  *  u  (  i  ))  -  exp  (  -  beta  *  u  (  i  ))  +  kb  *  u  (  i  )  +  tecken  (  v  (  i  ) )  *  f0  ;  slut  slut  %% PLOT  figur  plot  (  u  ,  f  ,  'k'  ,  'linewidth'  ,  4  )  set  (  gca  ,  'FontSize'  ,  28  )  set  (  gca  ,  'FontName'  ,  'Times New Roman'  )  xlabel  (  'generalized förskjutning'  ),  ylabel  (  '  generaliserad kraft'  )  rutnätszoom  av