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.
(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 .
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.
(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.
(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