ข้ามไปที่เนื้อหา

การจัดการเงื่อนไขขอบเขตเชิงเรขาคณิต

สมการเชิงเส้น \(\boldsymbol{K} d\boldsymbol{u} = \boldsymbol{R}\) ที่แก้ในแต่ละรอบของ วิธี Newton-Raphson ยังไม่ได้รวมเงื่อนไขขอบเขตเชิงเรขาคณิต (ข้อจำกัดการกระจัด) บทนี้แสดงวิธีปรับเมทริกซ์ความแข็ง \(\boldsymbol{K}\) และเวกเตอร์เศษเหลือ \(\boldsymbol{R}\) สำหรับดีกรีอิสระที่กำหนดข้อจำกัดการกระจัด \(\boldsymbol{u} = \bar{\boldsymbol{u}}\) เพื่อให้การกระจัดหลังการวนซ้ำถึงค่าที่กำหนด ข้อจำกัดหลายจุด (MPC) และข้อจำกัดไม่เชิงเส้นจากการสัมผัสใช้กระบวนการอีกระบบหนึ่ง โปรดดู ข้อจำกัดหลายจุด และ การสัมผัส

แนวทางคงดีกรีอิสระที่ถูกจำกัดไว้ในตัวแปรไม่ทราบค่า

การกระจัดของโหนดที่กำหนดเงื่อนไขขอบเขตเชิงเรขาคณิตไม่ใช่ตัวแปรไม่ทราบค่าอีกต่อไป แต่ถูกตรึงไว้ที่ค่าที่กำหนด \(\bar{u}_i\) แม้สามารถถือค่าเหล่านี้เป็นค่าคงที่แล้วกำจัดออกจากสมการเชิงเส้น \(\boldsymbol{K} d\boldsymbol{u} = \boldsymbol{R}\) ได้ แต่ FrontISTR ยังคงรวมดีกรีอิสระที่ถูกจำกัดไว้ในเวกเตอร์ค่าปรับแก้ \(d\boldsymbol{u}\) เช่นเดียวกับดีกรีอิสระอื่น และทำให้ข้อจำกัดเป็นจริงโดยปรับ \(\boldsymbol{K}\) และ \(\boldsymbol{R}\) แทน

วิธีนี้ทำให้มิติของเมทริกซ์สัมประสิทธิ์และลำดับของดีกรีอิสระไม่เปลี่ยนตามการมีหรือไม่มีข้อจำกัด จึงไม่จำเป็นต้องกำจัดตัวแปรแล้วจัดเรียงแถวและคอลัมน์ที่ว่างใหม่ เนื่องจากการจัดเรียงใหม่ดังกล่าวยุ่งยากในงานติดตั้งที่เก็บเมทริกซ์สัมประสิทธิ์ในรูปเมทริกซ์เบาบาง FrontISTR จึงใช้วิธีหลังที่บังคับข้อจำกัดด้วยการปรับเมทริกซ์สัมประสิทธิ์และด้านขวาเท่านั้น

เป้าหมายการแทนค่าปรับแก้ของ Newton-Raphson

สำหรับดีกรีอิสระ \(i\) ที่ถูกจำกัดการกระจัด ให้ค่าปรับแก้ \(du_i\) ที่หาในรอบ Newton-Raphson เป็น

\[ du_i = d\bar{u}_i \equiv \begin{cases} \bar{u}_i & (\text{รอบที่ 1}) \\ 0 & (\text{ตั้งแต่รอบที่ 2 เป็นต้นไป}) \end{cases} \]

ให้ปรับ \(\boldsymbol{K}\) และ \(\boldsymbol{R}\) เพื่อให้ได้ค่าดังกล่าว ด้วยวิธีนี้ ในรอบแรก การเพิ่มของการกระจัดจะถึงค่าข้อจำกัด \(\bar{u}_i\) และตั้งแต่รอบที่สองเป็นต้นไป ค่าปรับแก้จะเป็น \(0\) ทำให้คงค่าข้อจำกัดไว้

ขั้นตอนการแปลงเมทริกซ์และเวกเตอร์เศษเหลือ

เป้าหมายการแทนค่าในส่วนก่อนหน้าทำได้ด้วยการแปลงสองขั้นตอนต่อไปนี้ โดยยังคงรูปของสมการเชิงเส้น \(\boldsymbol{K} d\boldsymbol{u} = \boldsymbol{R}\)

  1. ทำแถว \(i\) ให้เป็นแนวทแยง: แทนพจน์แนวทแยง \(K_{ii}\) ซึ่งเป็นสัมประสิทธิ์ของ \(du_i\) ด้วย \(1\) และแทนสัมประสิทธิ์อื่นทั้งหมด \(K_{ij}\ (j \not= i)\) ด้วย \(0\) พร้อมกำหนดด้านขวาเป็น \(R_i \to d\bar{u}_i\) ทำให้สมการแถว \(i\) กลายเป็น \(du_i = d\bar{u}_i\)
  2. ย้ายพจน์ออกจากแถว \(j(\not= i)\): สำหรับแถว \(j(\not= i)\) หาก \(K_{ji} \not= 0\) ให้ย้ายพจน์ \(K_{ji} du_i = K_{ji} d\bar{u}_i\) ไปด้านขวา กล่าวคือ ลบ \(K_{ji} d\bar{u}_i\) ออกจากด้านขวา และตั้งสัมประสิทธิ์ \(K_{ji}\) ของ \(du_i\) เป็น \(0\)

เมื่อเขียนในรูปองค์ประกอบ สมการก่อนและหลังการแปลงจะสอดคล้องกันดังต่อไปนี้

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

ให้เขียนเมทริกซ์สัมประสิทธิ์และด้านขวาหลังการแปลงเป็น \(\tilde{\boldsymbol{K}}, \tilde{\boldsymbol{R}}\) ตามลำดับ สมการเชิงเส้นสุดท้ายที่ต้องแก้คือ

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

หากมีดีกรีอิสระที่ถูกจำกัดหลายตัว ให้ใช้การแปลงข้อ 1 และ 2 ข้างต้นตามลำดับสำหรับดีกรีอิสระที่ถูกจำกัดแต่ละตัว \(i\)

ขอบเขตการประมวลผลในการติดตั้งเมทริกซ์เบาบาง

ในการติดตั้งจริง เมทริกซ์สัมประสิทธิ์ \(\boldsymbol{K}\) ถูกเก็บในรูปเมทริกซ์เบาบาง ดังนั้นการประมวลผลแถว \(j(\not= i)\) ในขั้นตอน 2 ของส่วนก่อนหน้าจะทำเฉพาะกับแถวที่มีองค์ประกอบไม่เป็นศูนย์ในคอลัมน์ \(i\) กล่าวคือ ดีกรีอิสระของโหนดที่เชื่อมต่อกับดีกรีอิสระที่ถูกจำกัด \(i\) ผ่านเอลิเมนต์เท่านั้น สำหรับดีกรีอิสระที่ไม่เชื่อมต่อ \(K_{ji} = 0\) และการย้ายพจน์ไม่เปลี่ยนด้านขวา ด้วยการจำกัดนี้ การจัดการข้อจำกัดจึงเสร็จสิ้นด้วยการดำเนินการเฉพาะที่เมื่อเทียบกับจำนวนโหนดทั้งหมด

หัวข้อที่เกี่ยวข้อง

AI-assisted translation May contain errors Official docs Status