Kihagyás

Modálanalízis

Általánosított sajátérték-probléma

Egy kontinuum szabadrezgés-vizsgálatához a szerkezetet térben diszkretizáljuk, és koncentrált tömegekkel rendelkező, több szabadságfokú rendszerként modellezzük, amint azt a 2.3.1. ábra mutatja. Csillapítatlan szabadrezgési probléma esetén az irányító egyenlet (mozgásegyenlet) a következő.

\[\begin{equation} M \ddot{u} + K u = 0 \label{eq:2.3.1} \end{equation}\]

Itt \(u\) az általánosított elmozdulásvektor, \(M\) a tömegmátrix, \(K\) pedig a merevségi mátrix. Legyen \(\omega\) a sajátkörfrekvencia, \(a\) és \(b\) két tetszőleges, nem egyszerre nulla állandó, \(x\) pedig egy vektor. Definiáljuk a következő függvényt:

\[\begin{equation} u(t) = (a \sin \omega t + b \cos \omega t ) x \label{eq:2.3.2} \end{equation}\]

Ennek második deriváltja:

\[\begin{equation} \ddot{u}(t) = -\omega^2 (a \sin \omega t + b \cos \omega t) x \label{eq:2.3.3} \end{equation}\]

A \(\eqref{eq:2.3.2}\) és a \(\eqref{eq:2.3.3}\) egyenletet a \(\eqref{eq:2.3.1}\) egyenletbe helyettesítve:

\[\begin{equation} M \ddot{u} + K u = (a \sin \omega t + b \cos \omega t) (K-\omega^2 M) x = 0 \label{eq:2.3.4} \end{equation}\]

Ebből a fenti egyenlet adódik.

Nemtriviális rezgés esetén \(a \sin \omega t + b \cos \omega t\) nem azonosan nulla.

\[ (K-\omega^2M)x=0 \]

Ezért a fenti összefüggés teljesül. Így \(\lambda=\omega^2\) választásával:

\[\begin{equation} K x = \lambda M x \label{eq:2.3.5} \end{equation}\]

Ebből a fenti egyenlet adódik.

A \(\lambda\) skalárt sajátértéknek, az \(x\) vektort sajátvektornak, a \(\eqref{eq:2.3.5}\) egyenlettel leírt problémát pedig általánosított sajátérték-problémának nevezzük.

A \(\omega\) sajátkörfrekvencia a \(\lambda=\omega^2\) sajátértékből adódik, a hozzá tartozó \(x\) sajátvektor pedig egy rezgési módust ír le.

Több szabadságfokú rendszer példája csillapítatlan szabadrezgéshez

2.3.1. ábra Több szabadságfokú rendszer példája csillapítatlan szabadrezgéshez

Mátrixtulajdonságok és feltételezések

Az előző szakaszban kapott \(Kx=\lambda Mx\) általánosított sajátérték-probléma esetén ez a kézikönyv szimmetrikus mátrixokat feltételez. Komplex mátrixok esetén ez Hermitikus, valós mátrixok esetén szimmetrikus mátrixokat jelent.

Legyen \(k_{ij}\) a \(K\) mátrix \(ij\) eleme. A Hermitikus tulajdonság:

\[\begin{equation} k_{ij} = \bar{k}_{ji} \label{eq:2.3.6} \end{equation}\]

a fenti egyenlettel fejezhető ki, ahol \(\bar{k}_{ji}\) a \(k_{ji}\) komplex konjugáltja. Valós mátrixok esetén ez az összefüggés \(k_{ij}=k_{ji}\) alakú.

Egy valós szimmetrikus \(H\) mátrix pozitív definit, ha minden nem nulla \(x\) vektorra

\[\begin{equation} x^{t} H x > 0 \label{eq:2.3.7} \end{equation}\]

a fenti egyenlőtlenség teljesül. Ebben az esetben \(H\) minden sajátértéke pozitív.

Szerkezeti sajátérték-problémában az \(M\) tömegmátrixot rendszerint pozitív definitnek tekintjük. A \(K\) merevségi mátrix azonban a kényszerektől függően pozitív szemidefinit lehet, és a merevtest-módusokhoz tartozó nulla sajátértékeket tartalmazhat.

Eltolásos inverz iteráció

A gyakorlati végeselemes szerkezeti analízisben általában nincs szükség minden sajátértékre; gyakran legfeljebb néhány alacsony rendű sajátérték elegendő. A HEC-MW nagyméretű problémákhoz készült, amelyekben a mátrixok nagyok és rendkívül ritkák, sok nulla elemmel. Ezért fontos, hogy e tulajdonságokat figyelembe véve hatékonyan számítsuk ki az alacsony rendű módusok sajátértékeit.

Egy \(\sigma\) eltolás esetén, ha \(-\sigma\) nem sajátérték, és \(K+\sigma M\) nem szinguláris, a \(\eqref{eq:2.3.5}\) egyenlet a következőképpen alakítható át.

\[\begin{equation} (K + \sigma M)^{-1} M x = \frac{1}{\lambda+\sigma} x \label{eq:2.3.8} \end{equation}\]

Ez az átalakítás változatlanul hagyja az \(x\) sajátvektort, a \(\lambda\) sajátértéket pedig \(1/(\lambda+\sigma)\)-ra képezi le.

Következésképpen minél közelebb van \(\lambda\) a \(-\sigma\) értékhez, annál nagyobb az átalakított sajátérték abszolút értéke. Szerkezeti sajátérték-probléma esetén \(\lambda \geq 0\) és \(\sigma \geq 0\), ezért a legkisebb sajátérték a legnagyobb abszolút értékű sajátértékre képeződik le. E tulajdonságot kihasználva, ha a \(\eqref{eq:2.3.8}\) egyenletre olyan iteratív módszert alkalmazunk, amely először a nagy abszolút értékű sajátértékekhez konvergál, az alacsony rendű sajátértékek növekvő sorrendben, hatékonyan meghatározhatók.

Ezt a módszert eltolásos inverz iterációnak nevezzük.

Kényszereket tartalmazó analíziseknél a FrontISTR \(\sigma = 0\)-t állít be, és a \(\eqref{eq:2.3.8}\) egyenlet \(K^{-1} M x = \frac{1}{\lambda} x\) alakúvá válik, vagyis eltolás nélküli inverz iterációt kapunk. Kényszerek nélküli szabad–szabad analízisben \(K\) szinguláris, mert a merevtest-módusokhoz tartozó nulla sajátértékeket tartalmaz; \(\sigma\) pozitív értéke regularizálja a \(K+\sigma M\) mátrixot. A \(\sigma\) értékét a !EIGEN parancs SIGMA paraméterével kell megadni.

Lanczos-módszer

Indoklás (összehasonlítás a Jacobi-módszerrel)

A Jacobi-módszer jól ismert klasszikus módszer.

Kis méretű és sűrű mátrixok esetén hatékony. Mivel azonban a HEC-MW nagy és ritka mátrixokat kezel, a Jacobi-módszert nem alkalmazza; helyette a Lanczos-féle iteratív módszert használja.

Algoritmus és jellemzők

A C. Lanczos által az 1950-es években javasolt módszer egy mátrix tridiagonalizálására szolgáló algoritmus, amely a következő jellemzőkkel rendelkezik.

  • Iteratív módszer, és a számítás a mátrix ritka szerkezetének megőrzésével végezhető.
  • Műveletei elsősorban mátrix–vektor szorzásokból állnak, ezért jól párhuzamosítható.
  • Jól illeszkedik a végeselemes hálókhoz kapcsolódó geometriai tartományfelosztáshoz.
  • Hatékony számítást tesz lehetővé a meghatározandó sajátértékek számának vagy a módustartománynak a korlátozásával.

A Lanczos-módszer egy kezdővektorból indul, egymás után ortogonális vektorokat állít elő, és bázist képez egy Krylov-altérhez.

Véges pontosságú aritmetikában a kerekítési hibák miatt a vektorok elveszíthetik ortogonalitásukat. E hatás csökkentésére a FrontISTR megvalósítása minden vektort újraortogonalizál a már meghatározott Lanczos-bázisvektorokra.

Geometriai értelmezés (Krylov-altér)

A következő változótranszformációkat alkalmazva a \(\eqref{eq:2.3.8}\) egyenletre,

\[ A = (K + \sigma M)^{-1} M \]
\[\begin{equation} \frac{1}{\lambda+\sigma}= \zeta \label{eq:2.3.9} \end{equation}\]

a probléma a következő alakban írható át:

\[\begin{equation} A x = \zeta x \label{eq:2.3.10} \end{equation}\]

Ebből a fenti egyenlet adódik.

Egy tetszőleges, nem nulla \(q_0\) vektor esetén

\[ q_0,\ Aq_0,\ A^2q_0,\ldots,A^{m-1}q_0 \]

e vektorok által kifeszített teret,

\[ \mathcal{K}_m(A,q_0) = \operatorname{span} \{q_0,Aq_0,A^2q_0,\ldots,A^{m-1}q_0\} \]

Krylov-altérnek nevezzük.

A Lanczos-módszer egymás után felépíti ennek a Krylov-altérnek egy bázisát.

A FrontISTR az \(M\) tömegmátrixhoz társított következő belső szorzatot használja

\[ \langle x,y\rangle_M = x^T M y \]

a bázis ortonormalizálásához. A következő ábrákon látható \(\langle x,y\rangle\) belső szorzatot és \(\|x\|\) normát a FrontISTR számításaiban rendre ezzel az \(M\)-belső szorzattal és a hozzá tartozó \(M\)-normával

\[ \|x\|_M=\sqrt{x^T M x} \]

értelmezzük.

Alkalmazzuk az \(A\) mátrix által meghatározott lineáris transzformációt egy tetszőleges \(q_0\) vektorra, amint azt a 2.3.2. ábra mutatja.

A \(q_0\) vektor lineáris transzformációja az \(A\) mátrixszal

2.3.2. ábra A \(q_0\) vektor lineáris transzformációja az \(A\) mátrixszal

Az átalakított vektort az általa és az eredeti vektor által kifeszített térben ortogonalizáljuk. Pontosabban a Gram–Schmidt-ortogonalizálást végezzük el, amint azt a 2.3.3. ábra mutatja. A kapott vektor legyen \(r_1\); normalizálásával \(q_1\)-et kapunk.

A \(q_0\)-ra ortogonális \(q_1\) vektor

2.3.3. ábra A \(q_0\)-ra ortogonális \(q_1\) vektor

Ugyanezzel az eljárással \(q_1\)-ből \(q_2\)-t kapunk. Itt \(q_2\) mind \(q_1\)-re, mind \(q_0\)-ra ortogonális, amint azt a 2.3.4. ábra mutatja.

A \(q_1\)-re és \(q_0\)-ra ortogonális \(q_2\) vektor

2.3.4. ábra A \(q_1\)-re és \(q_0\)-ra ortogonális \(q_2\) vektor

Ily módon a Lanczos-módszer egymás után felépíti a Krylov-altér egy ortonormált bázisát. Elméletben a sajátérték-probléma szimmetriája lehetővé teszi, hogy ezt az iterációt a legutóbbi bázisvektorokat tartalmazó háromtagú rekurzióval fejezzük ki.

A FrontISTR megvalósítása azonban minden vektort a már meghatározott Lanczos-bázisvektorokra újraortogonalizál az \(M\)-belső szorzat használatával, hogy csökkentse a véges pontosságú aritmetika okozta ortogonalitásvesztést.

Tridiagonalizálás

A FrontISTR Lanczos-iterációjában a bázisvektorokat az előző szakaszban ismertetett \(M\)-belső szorzatra nézve ortonormalizáljuk, ezért

\[ q_i^T M q_j = \delta_{ij} \]

a fenti összefüggés teljesül.

A \(\eqref{eq:2.3.10}\) egyenlet \(A\) mátrixát használva az elméleti Lanczos-iteráció:

\[\begin{equation} A q_i = \beta_i q_{i-1} + \alpha_i q_i + \beta_{i+1} q_{i+1} \label{eq:2.3.11} \end{equation}\]

a fenti háromtagú rekurzióval írható le.

Először \(\alpha_i\)-t a következőképpen definiáljuk.

\[ \alpha_i = q_i^T M A q_i \]

Ezután az ideiglenes maradékvektort a következőképpen definiáljuk:

\[ \tilde{r}_{i+1} = Aq_i - \beta_i q_{i-1} - \alpha_i q_i \]

a fentiek szerint.

A véges pontosságú aritmetika okozta ortogonalitásvesztés csökkentésére a FrontISTR megvalósítása az \(M\)-belső szorzat használatával újraortogonalizálja \(\tilde{r}_{i+1}\)-et a már meghatározott Lanczos-bázisvektorokra. Ha \(r_{i+1}\) az újraortogonalizálás utáni maradékvektor, akkor

\[\begin{equation} \beta_{i+1} = \sqrt{r_{i+1}^T M r_{i+1}}, \qquad q_{i+1} = \frac{r_{i+1}}{\beta_{i+1}} \label{eq:2.3.12} \end{equation}\]

a fenti összefüggések teljesülnek.

A Lanczos-iterációval kapott \(m\) bázisvektort foglaljuk a következő mátrixba:

\[ Q_m=[q_0,q_1,\ldots,q_{m-1}] \]

Ekkor véges számú Lanczos-iteráció után

\[\begin{equation} A Q_m = Q_m T_m + \beta_m q_m e_m^T \label{eq:2.3.13} \end{equation}\]

a fenti összefüggés teljesül.

Itt \(e_m\) az az \(m\)-dimenziós egységvektor, amelynek \(m\)-edik komponense 1, a többi komponense pedig nulla, továbbá

\[\begin{equation} T_m= \begin{pmatrix} \alpha_0 & \beta_1 & & &\\ \beta_1 & \alpha_1 & \beta_2 & &\\ & \ddots & \ddots & \ddots &\\ & & \beta_{m-2} & \alpha_{m-2}& \beta_{m-1}\\ & & & \beta_{m-1} & \alpha_{m-1} \end{pmatrix} \label{eq:2.3.14} \end{equation}\]

egy szimmetrikus tridiagonális mátrix.

Így az eredeti nagyméretű sajátérték-probléma sajátértékei a \(T_m\) tridiagonális mátrix sajátértékeinek kiszámításával közelíthetők.

Kapcsolódó témák