Langkau tajuk talian

Pemprosesan syarat sempadan geometri

Kaedah Newton-Raphson menyelesaikan persamaan linear \(\boldsymbol{K} d\boldsymbol{u} = \boldsymbol{R}\) pada setiap lelaran, tetapi syarat sempadan geometri (kekangan sesaran) belum dimasukkan ke dalam persamaan ini. Bab ini menunjukkan cara mengubah suai matriks kekakuan \(\boldsymbol{K}\) dan vektor baki \(\boldsymbol{R}\) bagi darjah kebebasan yang dikenakan kekangan sesaran \(\boldsymbol{u} = \bar{\boldsymbol{u}}\) supaya sesaran selepas lelaran mencapai nilai yang ditetapkan. Kekangan berbilang titik (MPC) dan kekangan tak linear akibat sentuhan diproses melalui kaedah lain; rujuk kekangan berbilang titik dan sentuhan.

Dasar mengekalkan kekangan sesaran sebagai pemboleh ubah tak diketahui

Sesaran nod yang dikenakan syarat sempadan geometri bukan lagi pemboleh ubah tak diketahui, tetapi ditetapkan pada nilai yang ditentukan \(\bar{u}_i\). Darjah kebebasan ini boleh dianggap sebagai pemalar dan dihapuskan daripada persamaan linear \(\boldsymbol{K} d\boldsymbol{u} = \boldsymbol{R}\); namun FrontISTR melaksanakan kekangan dengan mengubah suai \(\boldsymbol{K}\) dan \(\boldsymbol{R}\) sambil mengekalkan darjah kebebasan terkekang dalam vektor pembetulan \(d\boldsymbol{u}\) sama seperti darjah kebebasan yang lain.

Dengan kaedah ini, dimensi matriks pekali dan susunan darjah kebebasan tidak berubah sama ada kekangan wujud atau tidak, maka tidak perlu menghapuskan pemboleh ubah dan menyusun semula baris serta lajur yang kosong. Oleh sebab penyusunan semula ini rumit dalam pelaksanaan yang menyimpan matriks pekali dalam bentuk matriks jarang, FrontISTR menggunakan kaedah kedua, iaitu kekangan dicapai hanya dengan mengemas kini matriks pekali dan sebelah kanan.

Nilai sasaran pembetulan Newton-Raphson

Bagi darjah kebebasan \(i\) yang dikekang sesarannya, pembetulan \(du_i\) yang diperoleh dalam lelaran Newton-Raphson ditetapkan supaya

\[ du_i = d\bar{u}_i \equiv \begin{cases} \bar{u}_i & (\text{lelaran pertama}) \\ 0 & (\text{lelaran kedua dan seterusnya}) \end{cases} \]

Ubah suai \(\boldsymbol{K}\) dan \(\boldsymbol{R}\) supaya pembetulan mengambil nilai ini. Dengan itu, dalam lelaran pertama, tambahan sesaran mencapai nilai terkekang \(\bar{u}_i\); mulai lelaran kedua, pembetulan menjadi \(0\) dan nilai terkekang dikekalkan.

Prosedur mengubah suai matriks dan vektor baki

Nilai sasaran pada bahagian sebelumnya dicapai melalui dua pengubahsuaian berikut sambil mengekalkan bentuk persamaan linear \(\boldsymbol{K} d\boldsymbol{u} = \boldsymbol{R}\).

  1. Pendiagonalan baris \(i\): gantikan unsur pepenjuru \(K_{ii}\), iaitu pekali bagi \(du_i\), dengan \(1\), gantikan semua pekali lain \(K_{ij}\ (j \not= i)\) dengan \(0\), dan tetapkan sebelah kanan kepada \(R_i \to d\bar{u}_i\). Dengan itu, persamaan pada baris \(i\) menjadi \(du_i = d\bar{u}_i\).
  2. Pemindahan daripada baris \(j(\not= i)\): bagi setiap baris \(j(\not= i)\), jika \(K_{ji} \not= 0\), pindahkan sebutan \(K_{ji} du_i = K_{ji} d\bar{u}_i\) ke sebelah kanan. Iaitu, tolak \(K_{ji} d\bar{u}_i\) daripada sebelah kanan dan tetapkan pekali \(K_{ji}\) bagi \(du_i\) kepada \(0\).

Dalam bentuk komponen, persamaan sebelum dan selepas pengubahsuaian adalah seperti berikut.

\[ \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} \]

Dengan menulis matriks pekali dan sebelah kanan yang telah diubah suai masing-masing sebagai \(\tilde{\boldsymbol{K}}, \tilde{\boldsymbol{R}}\), persamaan linear yang akhirnya perlu diselesaikan ialah

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

Jika terdapat beberapa darjah kebebasan terkekang, pengubahsuaian 1 dan 2 di atas digunakan secara berturutan bagi setiap darjah kebebasan terkekang \(i\).

Skop pemprosesan dalam pelaksanaan matriks jarang

Dalam pelaksanaan, matriks pekali \(\boldsymbol{K}\) disimpan dalam bentuk matriks jarang. Oleh itu, pemprosesan baris \(j(\not= i)\) dalam prosedur 2 pada bahagian sebelumnya hanya dilakukan bagi baris yang mempunyai unsur bukan sifar pada lajur \(i\), iaitu darjah kebebasan nod yang disambungkan melalui elemen kepada darjah kebebasan terkekang \(i\). Bagi darjah kebebasan yang tidak bersambung, \(K_{ji} = 0\), maka pemindahan sebutan tidak mengubah sebelah kanan. Had ini membolehkan pemprosesan kekangan diselesaikan hanya dengan operasi setempat berbanding jumlah keseluruhan nod.

Topik berkaitan

AI-assisted translation May contain errors Official docs Status