Kalo te përmbajtja

Trajtimi i kushteve kufitare gjeometrike

Metoda Newton-Raphson zgjidh ekuacionin linear \(\boldsymbol{K} d\boldsymbol{u} = \boldsymbol{R}\) në çdo iteracion, por kushtet kufitare gjeometrike (kufizimet e zhvendosjes) ende nuk janë përfshirë në këtë ekuacion. Ky kapitull tregon, për shkallët e lirisë ku jepet kufizimi i zhvendosjes \(\boldsymbol{u} = \bar{\boldsymbol{u}}\), si të modifikohet matrica e ngurtësisë \(\boldsymbol{K}\) dhe vektori i rezidualit \(\boldsymbol{R}\) në mënyrë që zhvendosja pas iteracionit të arrijë vlerën e përcaktuar. Kufizimet me shumë pika (MPC) dhe kufizimet jolineare të lidhura me kontaktin trajtohen veçmas; shihni Kufizimet me shumë pika dhe Kontakti.

Politika e mbajtjes së kufizimeve të zhvendosjes si ndryshore të panjohura

Zhvendosja e një nyjeje që i nënshtrohet një kushti kufitar gjeometrik nuk është më ndryshore e panjohur, por fiksohet në vlerën e përcaktuar \(\bar{u}_i\). Këto shkallë lirie mund të trajtohen si konstante dhe të eliminohen nga ekuacioni linear \(\boldsymbol{K} d\boldsymbol{u} = \boldsymbol{R}\); megjithatë, FrontISTR i imponon kufizimet duke i mbajtur shkallët e kufizuara të lirisë në të njëjtin vektor korrigjimi \(d\boldsymbol{u}\) si shkallët e tjera të lirisë dhe duke modifikuar anën e \(\boldsymbol{K}\) dhe \(\boldsymbol{R}\).

Me këtë qasje, dimensionet e matricës së koeficientëve dhe renditja e shkallëve të lirisë nuk ndryshojnë në varësi të pranisë së kufizimeve, kështu që nuk është e nevojshme të eliminohen ndryshoret dhe të ripaketohen rreshtat dhe kolonat e liruara. Meqë një ripaketim i tillë është i ndërlikuar në një implementim që ruan matricën e koeficientëve në formë matrice sparse, FrontISTR përdor qasjen e dytë, ku kufizimet imponohen vetëm duke përditësuar matricën e koeficientëve dhe anën e djathtë.

Vlera objektiv për korrigjimet Newton-Raphson

Për një shkallë lirie \(i\) me zhvendosje të kufizuar, le të jetë korrigjimi \(du_i\) i përftuar në iteracionin Newton-Raphson

\[ du_i = d\bar{u}_i \equiv \begin{cases} \bar{u}_i & (\text{iteracioni i 1-rë}) \\ 0 & (\text{iteracioni i 2-të dhe iteracionet pasuese}) \end{cases} \]

Modifikoni \(\boldsymbol{K}\) dhe \(\boldsymbol{R}\) në mënyrë që korrigjimi të marrë këtë vlerë. Kjo bën që inkrementi i zhvendosjes të arrijë vlerën e përcaktuar \(\bar{u}_i\) në iteracionin e 1-rë; nga iteracioni i 2-të e në vazhdim, korrigjimi bëhet \(0\) dhe vlera e përcaktuar ruhet.

Procedura për modifikimin e matricës dhe vektorit të rezidualit

Vlera objektiv e përshkruar në seksionin e mëparshëm arrihet me 2 modifikimet e mëposhtme, duke ruajtur formën e ekuacionit linear \(\boldsymbol{K} d\boldsymbol{u} = \boldsymbol{R}\).

  1. Diagonalizimi i rreshtit \(i\): Për koeficientin e \(du_i\), zëvendësoni termin diagonal \(K_{ii}\) me \(1\), zëvendësoni të gjithë koeficientët e tjerë \(K_{ij}\ (j \not= i)\) me \(0\), dhe vendosni anën e djathtë në \(R_i \to d\bar{u}_i\). Ekuacioni në rreshtin \(i\) bëhet kështu \(du_i = d\bar{u}_i\).
  2. Transferimi nga rreshtat \(j(\not= i)\): Për çdo rresht \(j(\not= i)\), nëse \(K_{ji} \not= 0\), kaloni termin \(K_{ji} du_i = K_{ji} d\bar{u}_i\) në anën e djathtë. Pra, zbritni \(K_{ji} d\bar{u}_i\) nga ana e djathtë dhe, për koeficientin e \(du_i\), vendosni \(K_{ji}\)\(0\).

Në formë komponentësh, ekuacionet para dhe pas modifikimit korrespondojnë si më poshtë.

\[ \begin{bmatrix} K_{11} & K_{12} & \cdots & K_{1i} & \cdots & K_{1N} \\ K_{21} & K_{22} & \cdots & K_{2i} & \cdots & K_{2N} \\ \vdots & \vdots & \ddots & \vdots & & \vdots \\ K_{i1} & K_{i2} & \cdots & K_{ii} & \cdots & K_{iN} \\ \vdots & \vdots & & \vdots & \ddots & \vdots \\ K_{N1} & K_{N2} & \cdots & K_{Ni} & \cdots & K_{NN} \\ \end{bmatrix} \begin{bmatrix} du_1 \\ du_2 \\ \vdots \\ du_i \\ \vdots \\ du_N \end{bmatrix} = \begin{bmatrix} R_1 \\ R_2 \\ \vdots \\ R_i \\ \vdots \\ R_N \end{bmatrix} \]
\[ \Longrightarrow \quad \begin{bmatrix} K_{11} & K_{12} & \cdots & 0 & \cdots & K_{1N} \\ K_{21} & K_{22} & \cdots & 0 & \cdots & K_{2N} \\ \vdots & \vdots & \ddots & \vdots & & \vdots \\ 0 & 0 & \cdots & 1 & \cdots & 0 \\ \vdots & \vdots & & \vdots & \ddots & \vdots \\ K_{N1} & K_{N2} & \cdots & 0 & \cdots & K_{NN} \\ \end{bmatrix} \begin{bmatrix} du_1 \\ du_2 \\ \vdots \\ du_i \\ \vdots \\ du_N \end{bmatrix} = \begin{bmatrix} R_1 - K_{1i} d\bar{u}_i \\ R_2 - K_{2i} d\bar{u}_i \\ \vdots \\ d\bar{u}_i \\ \vdots \\ R_N - K_{Ni} d\bar{u}_i \\ \end{bmatrix} \]

Le të shënohen matrica e modifikuar e koeficientëve dhe ana e djathtë përkatësisht me \(\tilde{\boldsymbol{K}}, \tilde{\boldsymbol{R}}\). Ekuacioni linear që zgjidhet në fund është

\[ \tilde{\boldsymbol{K}}\, d\boldsymbol{u} = \tilde{\boldsymbol{R}} \]

Nëse ekzistojnë disa shkallë lirie të kufizuara, modifikimet 1 dhe 2 më sipër zbatohen njëra pas tjetrës për çdo shkallë lirie të kufizuar \(i\).

Fusha e përpunimit në implementimin me matricë sparse

Në implementim, matrica e koeficientëve \(\boldsymbol{K}\) ruhet në formë matrice sparse. Prandaj, përpunimi i rreshtave \(j(\not= i)\) në procedurën 2 të seksionit të mëparshëm kryhet vetëm për rreshtat që kanë elemente jozero në kolonën \(i\), pra për shkallët e lirisë të nyjeve të lidhura përmes elementeve me shkallën e kufizuar të lirisë \(i\). Për shkallët e palidhura të lirisë, \(K_{ji} = 0\), kështu që transferimi i termit nuk e ndryshon anën e djathtë. Ky kufizim lejon që përpunimi i kufizimeve të përfundojë duke përdorur vetëm operacione lokale në raport me numrin total të nyjeve.

Tema të lidhura