Phụ lục 4: Thuê khoán chuyên môn 2: Chuyên đề 1: Nghiên cứu viết code cho modul thiết lập ma trận độ cứng và giải hệ phương trình đại số tuyến tính có xét đến đặc điểm của mô hình hóa th
Trang 1MỤC LỤC
TÓM TẮT
ABSTRACT
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
DANH MỤC CÁC BẢNG
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
LỜI CẢM ƠN
GIỚI THIỆU 10
Chương 1 TỔNG QUAN VỀ TỰ ĐỘNG HÓA THIẾT KẾ CẦU 10
1.1 Nội dung hồ sơ thiết kế 10
1.2 Khái niệm về tự động hóa một công việc 11
1.3 Tổng quan về phần mềm cho thiết kế kết cấu cầu 11
Chương 2 CƠ SỞ VỀ XÂY DỰNG PHẦN MỀM 12
2.1 Khái niệm phần mềm 12
2.1.1 Khái niệm 12
2.1.2 Các đặc trưng của phần mềm 12
2.1.3 Thách thức đối với phát triển phần mềm máy tính hiện nay 13
2.2 Công nghệ phần mềm 13
2.2.1 Tổng quan về thiết kế phần mềm 13
2.2.2 Khảo sát và phân tích yêu cầu 14
2.2.3 Một số mô hình xây dựng phần mềm 15
2.2.4 Cơ sở về ngôn ngữ lập trình 20
2.2.5 Xác minh và thẩm định 21
2.2.6 Quản lý dự án phần mềm 22
2.3 Nhận xét của chương 23
Chương 3 CƠ SỞ VỀ PTHH ỨNG DỤNG 24
3.1 Các nội dung cơ bản của phương pháp phần tử hữu hạn 24
3.1.1 Khái niệm về phương pháp phần tử hữu hạn 24
3.1.2 Trình tự các bước phân tích bài toán theo phương pháp PTHH 25
3.1.3 Hàm xấp xỉ - đa thức xấp xỉ Phép nội suy 26
3.1.4 Các phương trình cơ bản 30
Trang 23.2 Phần tử hữu hạn ứng dụng trong tính toán hệ thanh 36
3.2.1 Hệ thanh dàn 36
3.2.2 Phần tử hữu hạn trong tính toán kết cấu dầm và khung 39
3.2.3 Giải hệ tuyến tính bằng phép phân tích LDLT 47
Chương 4 CƠ SỞ VỀ THIẾT KẾ KẾT CẤU CẦU "DẦM" HỘP 49
4.1 Khái niệm về kết cấu nhịp cầu dầm hộp BTCT 49
4.2 Công nghệ đúc hẫng 49
4.3 Các ưu điểm của phương pháp đúc hẫng 50
4.4 Phân loại các trường hợp đúc hẫng 51
4.4.1 Đúc hẫng từ trụ ra hai phía 51
4.4.2 Đúc hẫng kết cấu nhịp từ bờ ra 51
4.4.3 Công nghệ đúc bán hẫng 55
4.5 Phân tích kết cấu nhịp cầu dầm hộp BTCT 55
4.5.1 Nội dung phân tích theo phương dọc 55
4.5.2 Nội dung phân tích theo phương ngang 57
4.6 Thiết kế dầm hộp theo phương ngang 58
4.6.1 Giới thiệu 58
4.6.2 Cấu tạo 58
4.6.3 Tải trọng và hiệu ứng của tải trọng 60
4.6.4 Kiểm toán 62
4.7 Thiết kế dầm hộp theo phương dọc 71
4.7.1 Giới thiệu 71
4.7.2 Cấu tạo 71
4.7.3 Tải trọng và hiệu ứng của tải trọng 74
4.7.4 Kiểm toán 80
Chương 5 XÂY DỰNG PHẦN MỂM THIẾT KẾ KẾT CẤU NHỊP 112
5.1 Mục tiêu và khả năng của gói phần mềm 112
5.2 Yêu cầu tối thiểu của hệ thống 112
5.3 Mô tả về phần mềm TKBK 112
5.4 Một số kết quả của phần mềm TKBK 112
5.4.1 Bài toán thanh dầm 112
5.4.2 Bài toán biến dạng phẳng 117
Trang 3Chương 6 KẾT LUẬN VÀ KIẾN NGHỊ
TÀI LIỆU THAM KHẢO
PHỤ LỤC
1 Phụ lục chuyên môn
2 Phụ lục 1: Tập thuyết minh chi tiết của đề tài
3 Phụ lục 2: Thuê khoán Chuyên Môn 1, Chuyên Đề 1: Nghiên cứu tổng quan về các phần mềm thiết kế cầu Midas Civil v 7.1, CSIBridge v 15 và TDV RM 2004 ứng dụng cho thiết kế cầu dầm hộp BTCT, nhịp liên tục;
4 Phụ lục 3: Thuê khoán Chuyên Môn 1, Chuyên Đề 2: Nghiên cứu viết code cho các modul : nhập dữ liệu (nhập dữ liệu từ hộp thoại, nhập dữ liệu từ file *.dxf, phát sinh số liệu tự động, …); Xử lý số liệu thô (tối ưu hóa đánh số thứ tự của nút, xuất dữ liệu ra màn hình dưới dạng text, …)
5 Phụ lục 4: Thuê khoán chuyên môn 2: Chuyên đề 1: Nghiên cứu viết code cho modul thiết lập ma trận độ cứng và giải hệ phương trình đại số tuyến tính có xét đến đặc điểm của mô hình hóa theo phương pháp phần tử hữu hạn; Soạn tài liệu hướng dẫn và các bài tập thực hành
6 Phụ lục 5: Thuê khoán chuyên môn 2: Chuyên đề 2: Nghiên cứu viết code cho modul tính nội lực (moment, lực cắt) & kiểm toán một số mặt cắt đặc trưng theo phương dọc cầu trong giai đoạn thi công & khai thác
7 Phụ lục 6: Thuê khoán chuyên môn 2: Chuyên đề 3: Nghiên cứu viết code cho modul thiết kế bản nắp của dầm hộp
8 Phụ lục 7: Thuê khoán chuyên môn 2: Chuyên đề 4: Đánh giá độ tin cậy của phần mềm với kết quả tính từ SAP2000 (CSI-Bridge) hoặc Midas Civil; Soạn 1 ví dụ hoàn chỉnh về tính toán & thiết kế kết cấu cầu dầm hộp; Hoàn thiện phần mềm
9 Phụ lục sản phẩm
Phụ lục a: Minh chứng ấn phẩm khoa học
Một bài báo đăng trên tạp chí Cầu Đường với tiêu đề " CÁC MÔ HÌNH TIÊN TIẾN ĐỂ TÍNH TOÁN MÔ MEN QUÁN TÍNH CÓ HIỆU CHO MẶT NGANG DẦM BÊ TÔNG CỐT THÉP CÓ XÉT ĐẾN NỨT "
(có giấy xác nhận gửi đăng bài báo của Ban Biên tập đính kèm toàn văn bài báo)
Trang 4Phụ lục b: Minh chứng đăng ký sở hữu trí tuệ, sản phẩm ứng dụng: Chưa
Phụ lục c: Minh chứng đối với đào tạo:
+ ThS: Hướng dẫn luận văn cao học đã bảo vệ xong với đề tài: "NGHIÊN CỨU MỨC ĐỘ ẢNH HƯỞNG CỦA VẾT NỨT ĐẾN TRẠNG THÁI ỨNG SUẤT BIẾN DẠNG CỦA MẶT CẮT NGANG DẦM HỘP BÊ TÔNG CỐT THÉP"
+ ĐH: trang bìa của quyển luận văn tốt nghiệp đại học (sinh viên Trần Thanh Nhật)
3 Phụ lục quản lý gồm:
Xác nhận quyết toán tài chính của cơ quan chủ trì;
Phiếu gia hạn, điều chỉnh nội dung, điều chỉnh hạng mục kinh phí (nếu có);
Biên bản đánh giá, kiểm tra giữa kỳ;
Quyết định phê duyệt kinh phí;
Hợp đồng;
Thuyết minh đề cương đã được phê duyệt
Trang 5TÓM TẮT
Tự động hóa giúp năng suất lao động được nâng cao, chất lượng sản phẩm ổn định và tốt hơn Các công ty trong lĩnh vực tư vấn thiết kế công trình giao thông đều rất chú trọng thực hiện tự động hóa công tác thiết kế
Trong lĩnh vực phân tích kết cấu có rất nhiều phần mềm nổi tiếng như: MIDAS/Civil,
RM, SAP, ANSYS, LUSAS, ABAQUS…
Ưu điểm của những phần mềm trên: giải quyết được rất nhiều bài toán phức tạp về cơ học, truyền nhiệt, v.v …
Nhược điểm của những phần mềm trên:
Khó hiểu đối với sinh viên, không đưa ra những trợ giúp cần thiết trong quá trình tính toán – thiết kế, không có khả năng chỉnh sửa, phát triển code của phần mềm, chi phí mua phần mềm cao, sinh viên và học viên không tận dụng hết chức năng của phần mềm
Từ thực tế giảng dạy và nhu cầu của xã hội về tự động hoá, nhóm nghiên cứu của BM Cầu – Đường đã quyết định “XÂY DỰNG PHẦN MỀM TỰ ĐỘNG HOÁ TÍNH TOÁN THIẾT KẾ KẾT CẤU DẦM HỘP BÊ TÔNG CỐT THÉP, NHỊP LIÊN TỤC ĐỂ PHỤC VỤ ĐÀO TẠO”
Mã nguồn và phần mềm của đề tài là nền tảng cơ sở cho thầy cô, học viên phát triển tiếp các nghiên cứu về tự động hóa tính toán kết cấu cầu Các học viên cao học có thể viết tiếp các modul khác cho bộ phần mềm này
Sản phẩm của đề tài này là một học liệu tốt để phục vụ cho công tác giảng dạy, nghiên cứu và học tập chuyên đề về “Tự động hóa thiết kế cầu” ở bậc sau đại học và môn “Tin học ứng dụng cầu đường” ở bậc đại học
Trang 6ABSTRACT
Automation helps raise labor productivity, product quality and better stability The consulting company in the field of transportation engineering design are very focused on implementation of the design automation
In the field of structural analysis has a lot of popular software such as: MIDAS / Civil,
RM, SAP, ANSYS, LUSAS, ABAQUS
Advantages of the software: to solve many complex problems in mechanics, heat
transfer, etc
The downside of the software:
Confusing for students, does not give the necessary assistance in the calculation process
- design, not be able to edit code of the software development, high cost of purchasing the software, students and master students not take full advantage of the functions of the software From the fact that teaching and social needs of automation, the team of Department Bridges – Roads engineering decided to develop project "AUTOMATION DESIGN
REINFORCED CONCRETE BOX GIRDER (FOR TRAINING PURPOSE)"
Source code and threads are software based platform for teachers, students develop the research on automated structural calculations The high school students can write different modules for this software
Products of this topic is a good learning materials to cater for the teaching, learning and research topics on "bridge design automation" at postgraduate level and subject "Applied Informatics bridges "higher education
Trang 7DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
CÁC KÝ HIỆU
Ai – Diện tích mặt cắt ngang của loại kết cấu i
Ei – Mô đun đàn hồi của loại vật liệu i
Ji – Moment quán tính của loại kết cấu i
Wi – trọng lượng riêng của loại vật liệu i
θmax – góc lệch giữa ứng suất phát và ứng suất tiếp, được dùng như là một tiêu chí để kiểm tra điều kiện bền của vật liệu
Trang 8DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 2-1 Đường cong hỏng hóc của phần cứng (a) và của phần mềm (b) 14
Hình 2-2 Một số mô hình phát triển phần mềm 17
Hình 2-3 Mô hình xoắn ốc - Boehm 20
Hình 2-4 Mô hình phát triển phần mềm thế hệ thứ tư 4GT 21
Hình 3-11 Qui đổi lực phân bố về nút 51
Hình 4-1 Một sơ đồ của kết cấu nhịp dầm liên tục 54
Hình 4-2 Mặt cắt ngang của kết cấu nhịp có dạng hộp 54
Hình 4-3 Sơ đồ thi công theo công nghệ đúc hẫng cân bằng 54
Hình 4-4 Thi công cầu đúc hẫng [10] 55
Hình 4-5 Đúc hẫng từ trụ ra hai phía 58
Hình 4-6 Tiến độ thi công đúc hẫng từ trụ ra hai phía 59
Hình 4-7 Sơ đồ tính áp dụng cho hoạt tải và một số tĩnh tải 61
Hình 4-8 Biểu đồ mô men uốn trong dầm liên tục 3 nhịp qua các giai đoạn thi công 61Hình 4-9 Một số sơ đồ phân tích mặt cắt ngang cầu 62
Trang 9Hình 4-10 Sơ đồ 2-D để phân tích mặt cắt ngang cầu 63
Hình 4-11 Các vị trí cần tính toán nội lực 63
Hình 4-12 Mặt cắt ngang dầm hộp 64
Hình 4-13 Biểu đồ mô-men do trọng lượng bản thân 65
Hình 4-14 Biểu đồ lực cắt do trọng lượng bản thân 65
Hình 4-15 Mô hình tải trọng bánh xe và tải trọng làn 67
Hình 4-16 Mặt cắt ngang dầm hộp 80
Hình 4-17 Xe đúc hẫng kiểu dàn hình thoi của Pháp 81
Hình 4-18 Phân chia kết cấu nhịp 81
Hình 4-19 Tải trọng thi công hẫng trên các đốt dầm 83
Hình 4-20 Tải trọng trên đốt hợp long biên khi bê tông chưa đông cứng 84Hình 4-21 Tải trọng trên đốt hợp long biên khi bê tông đã đông cứng 84Hình 4-22 Tải trọng khi tháo liên kết tạm ở đỉnh trụ 85
Hình 4-23 Tải trọng khi bê tông đốt hợp long giữa chưa đông cứng 85
Hình 4-24 Tải trọng khi bê tông đốt hợp long giữa đã đông cứng 86
Hình 4-25 Tải trọng khi dỡ tải thi công 86
Hình 4-26 Tải trọng bản thân hệ xe đúc 87
Hình 4-27 Tiết diện chữ I quy đổi 93
Hình 4-28 Mặt cắt ngang tiết diện giảm yếu 93
Trang 10LỜI CẢM ƠN
Tôi xin chân thành cảm ơn các cán bộ, giảng viên thuộc các Phòng, Ban, Khoa Kỹ thuật Xây dựng, Bộ môn Cầu – Đường, Ban giám hiệu của trường Đại học Bách khoa – Đại học quốc gia Tp HCM đã giúp đỡ, tạo điều kiện để tôi hoàn thành tốt đề tài nghiên cứu này
Tôi xin chân thành cảm ơn Đại học quốc gia Tp HCM, Ban Khoa hoc Công nghệ - Đại học quốc gia Tp HCM đã tạo cơ hộ cho tôi được triển khai đề tài nghiên cứu về tự động hoá thiết kế cầu dầm hộp Đây là một trong các lãnh vực nghiên cứu đã ấp ủ từ lâu của tôi, đến nay tôi mới có cơ hội để triển khai nó
Chúng tôi đã cố gắng để thực hiện tốt đề tài, tuy vậy kết quả nghiên cứu vẫn có thể còn những thiếu sót Nhóm nghiên cứu rất mong nhận được sự góp ý để đề tài nghiên cứu được hoàn thiện hơn
Chủ nhiệm đề tài
TS Lê Bá Khánh
Trang 11GIỚI THIỆU
Tự động hóa giúp năng suất lao động được nâng cao, chất lượng sản phẩm ổn định và tốt hơn Các công ty trong lĩnh vực tư vấn thiết kế công trình giao thông đều rất chú trọng thực hiện tự động hóa công tác thiết kế
Trong lĩnh vực phân tích kết cấu có rất nhiều phần mềm nổi tiếng như: MIDAS/Civil,
RM, SAP, ANSYS, LUSAS, ABAQUS…
Ưu điểm của những phần mềm trên: giải quyết được rất nhiều bài toán phức tạp về cơ học, truyền nhiệt, v.v …
Nhược điểm của những phần mềm trên:
Một số phần mềm tương đối khó hiểu đối với sinh viên, không đưa ra những trợ giúp cần thiết trong quá trình tính toán – thiết kế, không có khả năng chỉnh sửa, phát triển code của phần mềm, chi phí mua phần mềm cao, sinh viên và học viên không tận dụng hết chức năng của phần mềm
Từ thực tế giảng dạy và nhu cầu của xã hội về tự động hoá, nhóm nghiên cứu của BM Cầu – Đường đã quyết định “XÂY DỰNG PHẦN MỀM TỰ ĐỘNG HOÁ TÍNH TOÁN THIẾT KẾ KẾT CẤU DẦM HỘP BÊ TÔNG CỐT THÉP, NHỊP LIÊN TỤC ĐỂ PHỤC VỤ ĐÀO TẠO”
Mã nguồn và phần mềm của đề tài là nền tảng cơ sở cho thầy cô, học viên phát triển tiếp các nghiên cứu về tự động hóa tính toán kết cấu cầu Các học viên cao học có thể viết tiếp các mô-đun khác cho bộ phần mềm này
Sản phẩm của đề tài này là một học liệu tốt để phục vụ cho công tác giảng dạy, nghiên cứu và học tập chuyên đề về “Tự động hóa thiết kế cầu” ở bậc sau đại học và môn “Tin học ứng dụng cầu đường” ở bậc đại học
Trang 121 TỔNG QUAN VỀ TỰ ĐỘNG HÓA THIẾT KẾ CẦU
1.1 Nội dung hồ sơ thiết kế
Công tác thiết kế luôn có một vị trí quan trọng từ khi lập dự án cho đến khi thi công và đưa công trình vào sử dụng
Thông thường hồ sơ thiết kế bao gồm những thành phần cơ bản như sau:
Thuyết minh: nơi thể hiện những cơ sở cho công tác thiết kế, lập luận của người
thiết kế và giải thích những vấn đề cơ bản của phương án thiết kế;
Bảng tính, bảng thống kê: nơi trình bày các kết quả tính toán trong quá trình thiết
kế, là cơ sở cho việc lập bản vẽ và xác định chi phí đầu tư cho công trình;
Bản vẽ: nơi thể hiện chi tiết nhất cấu tạo của công trình cũng như phương pháp chủ
đạo để thi công công trình;
Dự toán: nơi thể hiện cách thức xác định tổng mức đầu tư cho công trình;
Mức độ chi tiết của những thành phần trong hồ sơ thiết kế phụ thuộc vào yêu cầu trong từng giai đoạn của quá trình đầu tư cho công trình
1.2 Khái niệm về tự động hóa một công việc
Hệ thống thông tin bao gồm phần cứng (máy tính, máy in, máy quét ), phần mềm (các chương trình ứng dụng) và một số thành phần khác
Tự động hóa một công việc được hiểu là công việc đó được thực hiện tự động hoàn toàn hay một phần nhờ có sự trợ giúp của hệ thống công nghệ thông tin
Tùy theo từng công việc cụ thể, mức độ tự động hóa thiết kế công trình hiện nay đang ở nhiều cấp độ khác nhau Ví dụ, phần phân tích kết cấu có mức độ tự động hóa rất cao, nhưng việc tạo bản vẽ lại có mức độ tự động hóa thấp hơn nhiều
Trong lĩnh vực thiết kế công trình giao thông, do sản phẩm của công tác này là hồ sơ thiết kế, cho nên thiết bị trợ giúp phù hợp là các hệ thống có khả năng tạo văn bản, tính toán kết cấu, vẽ các đối tượng hình học, dựng mô hình
1.3 Tổng quan về phần mềm cho thiết kế kết cấu cầu
Những phần mềm dùng cho thiết kế kết cấu nên có những yêu cầu sau
Phải tính được chuyển vị và nội lực;
Có thể tính duyệt được mặt cắt (theo quy trình thiết kế);
Có thể tạo bản vẽ (cần nêu cụ thể mức độ chi tiết của bản vẽ) và hỗ trợ in ra máy in;
Trang 13 Có thể kết nối dữ liệu với các phần mềm khác (ví dụ yêu cầu nhập/xuất cấu tạo hình học của kết cấu từ/sang định dạng *.DXF);
Có thể thêm các tính năng mới cho phần mềm bằng các công cụ dạng Add-in (không bắt buộc phải có);
Trong lĩnh vực phân tích kết cấu có rất nhiều phần mềm nổi tiếng như: MIDAS/Civil,
RM, SAP, ANSYS, LUSAS, ABAQUS…
Ưu điểm của những phần mềm trên: giải quyết được rất nhiều bài toán phức tạp về cơ
học, truyền nhiệt, v.v …
Nhược điểm của những phần mềm trên:
Khó hiểu đối với sinh viên, không đưa ra những trợ giúp cần thiết trong quá trình tính toán – thiết kế, không có khả năng chỉnh sửa, phát triển code của phần mềm, chi phí mua phần mềm cao, sinh viên và học viên không tận dụng hết chức năng của phần mềm
Từ thực tế giảng dạy và nhu cầu của xã hội về tự động hoá, nhóm nghiên cứu của BM Cầu – Đường đã quyết định “XÂY DỰNG PHẦN MỀM TỰ ĐỘNG HOÁ TÍNH TOÁN THIẾT KẾ KẾT CẤU DẦM HỘP BÊ TÔNG CỐT THÉP, NHỊP LIÊN TỤC ĐỂ PHỤC VỤ ĐÀO TẠO”
Mã nguồn và phần mềm của đề tài là nền tảng cơ sở cho thầy cô, học viên phát triển tiếp các nghiên cứu về tự động hóa tính toán kết cấu cầu Các học viên cao học có thể viết tiếp các mô-đun khác cho bộ phần mềm này
Sản phẩm của đề tài này là một học liệu tốt để phục vụ cho công tác giảng dạy, nghiên cứu và học tập chuyên đề về “Tự động hóa thiết kế cầu” ở bậc sau đại học và môn “Tin học ứng dụng cầu đường” ở bậc đại học
Trang 14Đặc trưng 1: Phần mềm được phát triển hay được kỹ nghệ hoá, nó không được chế tạo
theo nghĩa cổ điển
Đặc trưng 2: Phần mềm không “hỏng đi”
Hình 2-1 Đường cong hỏng hóc của phần cứng (a) và của phần mềm (b)
Đặc trưng 3: Phần lớn phần mềm được xây dựng theo đơn đặt hàng, chứ ít khi được lắp
ráp từ các thành phần có sẵn
2.1.3 Thách thức đối với phát triển phần mềm máy tính hiện nay
2.1.3.1 Những thách thức đối với công nghệ phần mềm
Cứ 6 đề án triển khai thì có 2 bị huỷ bỏ
Trung bình thời gian thực hiện thực tế bị kéo dài 50% (cá biệt 200-300%)
Các đề án lớn dễ thất bại
3/4 các hệ thống lớn có lỗi khi thực thi
Quá trình phân tích yêu cầu (5% công sức): để lại 55% lỗi, có 18% phát hiện được
Trang 15Quá trình thiết kế (25% công sức): để lại 30% lỗi, có 10% phát hiện được
Quá trình mã hoá, kiểm tra và bảo trì: để lại 15% lỗi, có 72% phát hiện được
2.1.3.2 Nguyên nhân
Phát triển phần mềm giống như một nghệ thuật, chưa được xem như một ngành khoa học
Quá trình phát triển phần mềm chưa được thống nhất
Phải viết lại phần mềm mỗi khi có sự thay đổi về ngôn ngữ, phần cứng hoặc hệ điều hành
Chưa đạt được 1 chuẩn cho việc đo lường hiệu suất và sản phẩm
Kỹ thuật đặc tả để lại sự nhập nhằng trong các yêu cầu phần mềm
2.2 Công nghệ phần mềm
2.2.1 Tổng quan về thiết kế phần mềm
Theo cách hiểu bình dân công nghệ phần mềm là ngành khoa học nghiên cứu về việc xây dựng những phần mềm có chất lượng, có giá thành hợp lý trong khoảng thời gian hợp lý Còn theo định nghĩa của IEEE công nghệ phần mềm (software engineering): là sự áp dụng những phương pháp có tính hệ thống, có qui tắc và có thể định lượng được nhằm phát triển, vận hành và bảo trì phần mềm, tức là áp dụng những kiến thức công nghệ vào phần mềm
Thiết kế phần mềm có thể được xem xét hoặc theo cách nhìn kỹ thuật hoặc theo cách nhìn quản lý dự án Theo quan điểm kỹ thuật, thiết kế bao gồm 4 hoạt động: thiết kế dữ liệu, thiết kế kiến trúc, thiết kế thủ tục và thiết kế giao diện Theo quan điểm quản lý, thiết kế tiến hóa từ thiết kế sơ bộ sang thiết kế chi tiết Ký pháp thiết kế, đi kèm với các khái niệm lập trình
có cấu trúc làm cho người thiết kế biểu diễn được chi tiết thủ tục theo cách thức làm thuận tiện cho việc dịch sang mã chương trình Chúng ta có thể sử dụng các ký pháp đồ họa, bảng và ngôn ngữ mô tả
Có nhiều phương pháp thiết kế phần mềm quan trọng như thiết kế hướng chức năng, hướng đối tượng Những phương pháp này, được kết hợp với những nền tảng đã trình bày ở trên tạo nên cơ sở cho một cách nhìn đầy đủ về thiết kế phần mềm
Phương pháp Scrum, mô hình Agile và quá trình phát triển phần mềm hướng đến khách hàng:
Trang 16 Chuyển giao phần mềm cho khách hàng sớm và liên tục
Thu thập các phản hồi từ khách hàng sau mỗi lần chuyển giao phần mềm và chia sẻ chúng với cả nhóm phát triển
Để khách hàng tham gia vào quá trình review và đặt mức ưu tiên cho các chức năng
Đừng thực hiện bất kỳ thứ gì một khi khách hàng chưa đồng ý
Không gì có thể thay thế cho một khách hàng thực sự
2.2.2 Khảo sát và phân tích yêu cầu
Công việc ở bước này là tìm hiểu xem chúng ta phải phát triển cái gì, chứ không phải là phát triển như thế nào
Hoạt động phân tích là hoạt động phối hợp giữa khách hàng và người phân tích (bên phát triển) Khách hàng phát biểu yêu cầu và người phân tích hiểu, cụ thể hóa và biểu diễn lại yêu cầu Hoạt động phân tích giữ một vai trò đặc biệt quan trọng trong phát triển phần mềm, giúp cho đảm bảo chất lượng của phần mềm (phần mềm đáng tin cậy) Phần mềm đáng tin cậy có nghĩa là phải thực hiện được chính xác, đầy đủ yêu cầu của người sử dụng Nếu phân tích không tốt dẫn đến hiểu lầm yêu cầu thì việc sửa chữa sẽ trở nên rất tốn kém
Việc phân tích, nắm bắt yêu cầu thường gặp các khó khăn như
- Các yêu cầu thường mang tính đặc thù của tổ chức đặt hàng nó, do đó nó thường khó hiểu, khó định nghĩa và không có chuẩn biểu diễn;
- Các hệ thống thông tin lớn có nhiều người sử dụng thì các yêu cầu thường rất đa dạng
và có các mức ưu tiên khác nhau, thậm chí mâu thuẫn lẫn nhau;
- Người đặt hàng nhiều khi là các nhà quản lý, không phải là người dùng thực sự do đó việc phát biểu yêu cầu thường không chính xác
Trong phân tích cần phân biệt giữa yêu cầu và mục tiêu của hệ thống Yêu cầu là một đòi hỏi mà chúng ta có thể kiểm tra được còn mục tiêu là cái trừu tượng hơn mà chúng ta hướng tới
Ví dụ, giao diện của hệ thống phải thân thiện với người sử dụng là một mục tiêu và nó tương đối không khách quan và khó kiểm tra
Kết quả của bước phân tích là tạo ra bản đặc tả yêu cầu phần mềm (Software
Requirement Specification - SRS) Đặc tả yêu cầu phải chỉ rõ được phạm vi của sản phẩm, các chức năng cần có, đối tượng người sử dụng và các ràng buộc khi vận hành sản phẩm Có
Trang 17nhiều chuẩn khác nhau trong xây dựng tài liệu, dưới đây là một định dạng RSR thông dụng (theo chuẩn IEEE 830-1984)
2.2.3 Một số mô hình xây dựng phần mềm
Tùy theo quy mô và công nghệ phát triển, có các mô hình sản xuất khác nhau:
Mô hình tuần tự tuyến tính- waterfall;
Mô hình Prototyping - Evolutionary Development;
Mô hình xoắn ốc – Boehm's Spiral Model;
Mô hình RAD – Rapid Application Development
Mô hình nào tốt hơn? Mỗi mô hình phù hợp với trình độ phát triển, quy mô sản phẩm và yêu cầu ràng buộc cụ thể về thời gian và tính chất của hệ thống
Hình 2-2 Một số mô hình phát triển phần mềm
Trang 182.2.3.1 Trình tự xây dựng một dự án phần mềm
Về mặt trình tự thực hiện, việc xây dựng một dự án phần mềm bao gồm các bước sau:
1 Xác định rõ nhu cầu xây dựng chương trình: nhu cầu này được xác định dựa trên hoạt
động thực tế của người dùng và thường do chính người dùng đề xuất Đây là bước xác định các chức năng của chương trình
2 Xác định rõ mục tiêu mà chương trình cần đạt được: bước này là phần cụ thể hóa của
bước 1, ví dụ như bước 1 có nhu cầu hoàn thiện bản vẽ kết cấu BTCT, còn bước này sẽ cụ thể mức độ hoàn thiện (đến đâu và như thế nào)
3 Thiết kế hệ thống cho chương trình (hay dự án): bao gồm việc lập sơ đồ khối, xác định
các mô-đun của chương trình, thiết kế giao diện nhập xuất dữ liệu và kết quả, xây dựng hệ thống cơ sở dữ liệu sao cho thỏa mãn những đề xuất ở bước 1 và 2
5 Viết mã lệnh (lập trình): là việc sử dụng công cụ lập trình để tạo ra chương trình phù
hợp với hệ thống đã được thiết kế ở bước 4
6 Kiểm thử chương trình: là công đoạn hoàn thiện và chuẩn bị đưa chương trình vào sử
dụng
Những công việc chính của bước này bao gồm:
Kiểm tra xem các chức năng của chương trình đã thỏa mãn các yêu cầu đề ra từ trước chưa bằng cách chạy thử tất cả các tính năng của chương trình dựa trên một kịch bản cụ thể;
Kiểm tra hiệu năng của chương trình: xem thời gian thực hiện và quy trình sử dụng chương trình có hợp lý không;
Kiểm tra khả năng chịu lỗi của chương trình, ví dụ như khi nhập số liệu sai hoặc thao tác sai
7 Đóng gói, đưa chương trình vào sử dụng: bao gồm việc xây dựng tài liệu hướng dẫn
cài đặt và sử dụng chương trình nhằm mục đích giúp người dùng có thể triển khai chương trình vào thực tế
8 Tiếp nhận các góp ý, phản hồi của người dùng: để bổ sung hay hoàn thiện những
khiếm khuyết của chương trình mà trong quá trình thiết kế hệ thống hay kiểm thử chưa phát hiện được
9 Nâng cấp chương trình: sau một thời gian sử dụng, dựa trên những phản hồi của
người dùng, nếu thấy rằng chương trình cần bổ sung thêm những tính năng mới thì người phát triển phần mềm sẽ thực hiện sự bổ sung này dựa trên những thành phần đã có từ trước
Trang 192.2.3.2 Mô hình thác nước (Waterfall model)
Mô hình phát triển phần mềm đầu tiên, nó vẫn còn là một mô hình thủ tục được dùng rộng rãi cho kĩ nghệ phần mềm Các công việc tiếp nối nhau một cách tuần tự Đặt nền móng cho các phương pháp phân tích, thiết kế, kiểm tra
Một số khuyết điểm:
Bản chất của phát triển phần mềm là quá trình lặp đi lặp lại chứ không phải tuần tự;
Các bước thực chất không tách biệt hoàn toàn mà có chồng lấn và tham khảo lại;
Bắt buộc khách hàng đặc tả tất cả yêu cầu một cách chính xác và đầy đủ ngay từ ban đầu;
Khách hàng thường phải chờ đợi rất lâu để thấy được phiên bản đầu tiên của sản phẩm;
Tồn tại “delay” tích lũy trong nhóm làm việc -> dự án thường bị trễ;
Chỉ phù hợp cho dự án nhỏ, đơn giản
2.2.3.3 Mô hình Prototype
Mô hình Prototype được áp dụng trong một số trường hợp sau:
Khi mới rõ mục đích chung chung của phần mềm, chưa rõ chi tiết đầu vào hay xử lý ra sao hoặc chưa rõ yêu cầu đầu ra;
Dùng như “Hệ sơ khai” để thu thập yêu cầu người dùng qua các thiết kế nhanh;
Các giải thuật, kỹ thuật dùng làm bản mẫu có thể chưa nhanh, chưa tốt, miễn là có mẫu
để thảo luận gợi yêu cầu của người dùng
2.2.3.4 Mô hình xoắn ốc - Boehm's spiral model
Được thực hiện theo một chuỗi lặp kiểu xoắn ốc, mỗi lần lặp cải thiện sản phẩm;
Mỗi vòng lặp đại diện cho một pha của quy trình phần mềm Vòng trong cùng tập trung
về tính khả thi, vòng kế lo về định nghĩa các yêu cầu, kế đến là thiết kế,
Không có một pha nào được xem là cố định trong vòng xoắn Mỗi vòng có 4 phần tương ứng với một pha
1 Cài đặt đối tượng: Chỉ ra các đối tượng của pha trong đề án Những khó khăn hay cưỡng bức của quy trình và của sản phẩm được xác định và được lên kế hoạch chi tiết Xác
Trang 20định các yếu tố rủi ro của đề án Các phương án thay thế tùy theo các rủi ro này có thể được
Trang 21Sử dụng các thành phần có sẵn càng nhiều càng tốt
Sử dụng công cụ lập trình ở dạng tự động sinh mã chứ không phải các ngôn ngữ truyền thống
Phụ thuộc vào công nghệ phát triển có tính reusable cao
Pattern system development
2.2.3.6 Các mô hình hiện đại (Fourth generation techniques)
Thuật ngữ kĩ thuật thế hệ thứ tư (4GT) bao gồm một phạm vi rộng các công cụ phần mềm có một điểm chung: mỗi công cụ đều cho phép người kĩ sư phần mềm xác định đặc trưng nào đó của phần mềm ở mức cao Rồi công cụ đó tự động sinh ra mã chương trình gốc dựa trên đặc tả của người phát triển Người ta gần như không còn bàn cãi về việc phần mềm
có thể được xác định đối với một máy càng ở mức cao thì chương trình có thể được xây dựng càng nhanh hơn Mô hình 4GT cho kĩ nghệ phần mềm tập trung vào khả năng xác định phần mềm bằng việc dùng các khuôn mẫu ngôn ngữ đặc biệt hay kí pháp đồ hoạ vốn mô tả cho vấn
đề cần được giải quyết dưới dạng khách hàng có thể hiểu được
Hình 2-4 Mô hình phát triển phần mềm thế hệ thứ tư 4GT
2.2.4 Cơ sở về ngôn ngữ lập trình
Ngôn ngữ lập trình là phương tiện để liên lạc giữa con người và máy tính Lập trình là bước cốt lõi trong tiến trình kỹ nghệ phần mềm
Trang 22Các đặc trưng của ngôn ngữ lập trình sẽ quyết định miền ứng dụng của ngôn ngữ Miền ứng dụng là yếu tố chính để chúng ta lựa chọn ngôn ngữ cho một dự án phần mềm C thường
là một ngôn ngữ hay được chọn cho việc phát triển phần mềm hệ thống
Trong lĩnh vực khoa học kỹ thuật thì FORTRAN với khả năng tính toán với độ chính xác cao và thư viện toán học phong phú vẫn còn là ngôn ngữ thống trị Từ phiên bản "Fortran 90"
đã hỗ trợ tính năng lập trình hướng đối tượng
BASIC vẫn đang tiến hóa (Visual Basic) và được đông đảo người dùng máy tính cá nhân ủng hộ mặc dù ngôn ngữ này rất hiếm khi được những người phát triển hệ thống dùng Visual Basic không phải ngôn ngữ hướng đối tượng (Object Oriented)
Delphi là hậu duệ của Turbo Pascal của Borland Nó cũng tương đối dễ dùng như Visual Basic Delphi là một ngôn ngữ hướng đối tượng Các điều khiển dùng trên Form của Delphi đều được tự động khởi tạo mã nguồn Sau khi công ty Borland bị bán, người ta không dám đầu tư triển khai phần mềm vào Delphi
Ngôn ngữ C# là một ngôn ngữ được dẫn xuất từ C và C++ Microsoft đưa ra một số mục đích khi xây dựng ngôn ngữ này: đơn giản, hiện đại, hướng đối tượng, mạnh và mềm dẻo, hướng mô-đune
Sau khi khảo sát về một số khía cạnh (tính phổ biến, dễ dùng, hiện đại, mạnh), mặc dù C# và NET của Microsoft rất có tương lai, nhưng hiện nhóm nghiên cứu có nhiều kinh
nghiệm về PASCAL và Delphi nên nhóm quyết định dùng Delphi (Pascal) làm ngôn ngữ lập trình chính Trong quá trình lập trình nhóm cũng cố gắng viết thật trong sáng và dễ hiểu
2.2.5 Xác minh và thẩm định
2.2.5.1 Khái niệm
Xác minh và thẩm định là sự kiểm tra việc phát triển phần mềm Là công việc xuyên suốt quá trình phát triển phần mềm, chứ không chỉ ở khâu kiểm thử khi đã có mã nguồn Xác minh (verification) là sự kiểm tra xem sản phầm có đúng với đặc tả không, chú trọng vào việc phát hiện lỗi lập trình Thẩm định (validation) là sự kiểm tra xem sản phẩm có đáp ứng được nhu cầu người dùng không, có hoạt động hiệu quả không, tức là chú trọng vào việc phát hiện lỗi phân tích, lỗi thiết kế
Có hai khái niệm là thẩm định/xác minh tĩnh và thẩm định/xác minh động
Thẩm định và xác minh tĩnh là sự kiểm tra mà không thực hiện chương trình, ví dụ như xét duyệt thiết kế, xét duyệt yêu cầu, nghiên cứu mã nguồn, sử dụng các biến đổi hình thức
Trang 23(suy luận) để kiểm tra tính đúng đắn của chương trình Thẩm định và xác minh tĩnh được tiến hành ở mọi khâu trong vòng đời phần mềm Về lý thuyết, có thể phát hiện được hầu hết các lỗi lập trình, tuy nhiên phương pháp này không thể đánh giá được tính hiệu quả của chương trình
Thẩm định và xác minh động là sự kiểm tra thông qua việc thực hiện chương trình, được tiến hành sau khi đã phát triển chương trình (mã nguồn) Hiện vẫn là kỹ thuật kiểm tra chính
Cả hai hướng nêu trên đều rất quan trọng và chúng bổ khuyết lẫn nhau Trong chương này, chúng ta đi sâu vào tìm hiểu về thẩm định và xác minh động, gọi là sự thử nghiệm (kiểm thử) chương trình
Có hai loại thử nghiệm (động) là:
Thử nghiệm (tìm) khuyết tật: được thiết kế để phát hiện khuyết tật của hệ thống (đặc biệt
là lỗi lập trình)
Thử nghiệm thống kê: sử dụng các dữ liệu (thao tác) phổ biến của người dùng (dựa trên
sự thống kê) để đánh giá tính dùng được của hệ thống
Thử nghiệm cần phải có
Tính lặp lại: thử nghiệm phải lặp lại được để phát hiện thêm lỗi và kiểm tra xem lỗi đã được sửa hay chưa Bất cứ khi nào sửa mã chương trình chúng ta phải thử nghiệm lại (kể cả đối với các thử nghiệm đã thành công)
Tính hệ thống: việc thử nghiệm phải tiến hành một cách có hệ thống để đảm bảo kiểm thử được mọi trường hợp, nếu tiến hành thử nghiệm một cách ngẫu nhiên thì không đảm bảo được điều này
Được lập tài liệu: để kiểm soát xem cái nào đã được thực hiện, kết quả như thế nào
2.2.5.2 Chiến lược thử nghiệm
Khi thử nghiệm hệ con và thử nghiệm hệ thống (tích hợp), có các chiến lược thử nghiệm chính là thử nghiệm dưới lên (bottom-up testing) và thử nghiệm trên xuống (top-down
testing)
Thử nghiệm dưới lên tiến hành thử nghiệm với các mô đun ở mức độ thấp trước Mô đun thượng cấp (mô đun gọi) được thay thế bằng chương trình kiểm thử có nhiện vụ đọc dữ liệu kiểm thử, gọi mô đun cần kiểm thử và kiểm tra kết quả Nhược điểm của thử nghiệm dưới lên là: chậm phát hiện các lỗi thiết kế và chậm có phiên bản thực hiện được của hệ thống
Trang 24Thử nghiệm trên xuống tiến hành thử nghiệm với các mô đun ở mức cao trước, các mô đun mức thấp được tạm thời phát triển với các chức năng hạn chế, có giao diện giống như trong đặc tả Mô đun mức thấp có thể chỉ đơn giản là trả lại kết quả với một vài đầu vào định trước Thử nghiệm trên xuống có ưu điểm là
- Phát hiện sớm các lỗi thiết kế, do đó có thể thiết kế, cài đặt lại với giá rẻ
- Có phiên bản hoạt động sớm (với tính năng hạn chế) do đó có thể sớm tiến hành thẩm định
Nhược điểm của kiểm thử trên xuống là các chức năng của mô đun cấp thấp nhiều khi rất phức tạp do đó khó có thể mô phỏng được, dẫn đến không kiểm thử đầy đủ chức năng hoặc phải đình chỉ kiểm thử cho đến khi các mô đun cấp thấp xây dựng xong
2.2.6 Quản lý dự án phần mềm
Quản lý dự án là tầng đầu tiên trong phát triển phần mềm Chúng ta gọi là tầng quản lý
vì nó là bước kỹ thuật cơ sở kéo dài suốt vòng đời phần mềm Mục tiêu của việc quản lý dự án phát triển phần mềm là đảm bảo cho dự án: Đúng thời hạn; Không vượt dự toán; Đầy đủ các chức năng đã định và Thỏa mãn yêu cầu của khách hàng (tạo ra sản phẩm tốt)
Quản lý dự án bao gồm các pha công việc sau: Thiết lập: viết đề án; Ước lượng chi phí; Phân tích rủi ro; Lập kế hoạch; Chọn người; Theo dõi và kiểm soát dự án; Viết báo cáo và trình diễn sản phẩm
Dự án hệ điều hành OS360 của IBM bị chậm 2 năm so với kế hoạch do quản lý không tốt
Quản lý rủi ro là một công việc đặc biệt quan trọng và khó khăn trong phát triển phần mềm Một số rủi ro thường xẩy ra khi phát triển phần mềm:
Thiếu người phát triển: sử dụng những người tốt nhất; xây dựng nhóm làm việc; đào tạo người mới
Kế hoạch, dự toán không sát thực tế: ước lượng bằng các phương pháp khác nhau; lọc, loại bỏ các yêu cầu không quan trọng
Phát triển sai chức năng: chọn phương pháp phân tích tốt hơn; phân tích tính tổ chức/mô hình nghiệp vụ của khách hàng
2.3 Nhận xét của chương
Nội dung của chương đã đưa ra được những khái niệm cơ bản về qui trình xây dựng phần mềm cùng với một số phương pháp xây dựng phần mềm
Trang 253 CƠ SỞ VỀ PTHH ỨNG DỤNG
3.1 Các nội dung cơ bản của phương pháp phần tử hữu hạn
3.1.1 Khái niệm về phương pháp phần tử hữu hạn
Phương pháp phần tử hữu hạn (PP PTHH) là một phương pháp số để tìm nghiệm gần đúng của một hàm chưa biết trong miền xác định V Tuy nhiên PP PTHH không tìm dạng xấp
xỉ của hàm cần tìm trên toàn miền V mà chỉ trong từng miền con Ve ( phần tử) thuộc miền xác định V Chính vì lẽ đó nên phương pháp này rất thích hợp để tìm nghiệm gần đúng cho các bài toán vật lý, kỹ thuật khi mà hàm cần tìm được xác định trên những miền phức tạp là những vùng nhỏ có các đặc trưng hình học, vật lý khác nhau, chịu các điều kiện biên khác nhau Phương pháp được phát biểu một cách tổng quát chặt chẽ như một phương pháp biến phân hay phương pháp dư có trọng số trên mỗi phần tử
Trong PP PTHH, miền V được chia thành một số hữu hạn các miền con được gọi là các phần tử Các phần tử này được kết nối với nhau tại các điểm trên biên được gọi là các nút Trong phạm vi mỗi phần tử, đại lượng cần tìm ( chẳng hạn đó là các biến dạng, dịch chuyển, ứng suất ,…) được lấy xấp xỉ theo một dạng hàm đơn giản – được gọi là các hàm xấp xỉ ( approximation function) Các hàm xấp xỉ này được được tính thông qua các giá trị của nó ( đôi khi qua các giá trị đạo hàm) tại các điểm nút trên phần tử và các giá trị này được gọi các bậc tự do của phần tử mà ta xem như là các ẩn cần tìm của bài toán
Trong bài toán cơ học vật rắn biến dạng và cơ kết cấu tùy theo ý nghĩa vật lý của các hàm xấp xỉ ta có thể áp dụng bài toán theo ba loại mô hình sau:
1 Mô hình tương thích : Xem chuyển vị là đại lượng cần tìm trước và hàm xấp xỉ biểu
diễn gần đúng dạng phân bố của chuyển vị trong phần tử Các ẩn số được xác định từ hệ phương trình thiết lập trên cơ sở nguyên lý thế năng toàn phần ( hay nguyên lý biến phân Lagrange) Mô hình tương thích được áp dụng rộng rãi
2 Mô hình cân bằng : Hàm xấp xỉ biểu diễn gần đúng dạng phân bố của ứng suất hay
nội lực trong phần tử Các ẩn số được xác định từ hệ phương trình thiết lập trên cơ sở nguyên
lý năng lượng hệ toàn phần dừng ( hay nguyên lý biến phân về ứng suất – nguyên lý
Castigliano)
3 Mô hình hỗn hợp : Xem các đại lượng chuyển vị và ứng suất là hai hai yếu tố độc
lập Các hàm xấp xỉ biểu diễn gần đúng dạng phân bố của chuyển vị và ứng suất trong phần
Trang 26tử Các ẩn cần tìm được xác định từ hệ phương trình thiết lập trên cơ sở nguyên lý biến phân Reisner
Sau khi tìm được giá trị các ẩn số ( bằng việc giải một hệ phương trình đại số), như vậy
ta đã tìm được xấp xỉ các đại lượng cần tìm, từ đó tìm được giá trị của các đại lượng còn lại
3.1.2 Trình tự các bước phân tích bài toán theo phương pháp PTHH
Bước 1a: Rời rạc hóa miền khảo sát
Miền khảo sát V được chia thành các miền con Ve ( phần tử) có dạng hình học thích hợp Dạng hình học của phần tử, số điểm nút mỗi phần tử phải được xác định theo quy ước
Các phần tử có các dạng hình học đơn giản :
Trang 27Kết quả nhận được phương trình có dạng : [K]e {q}e = {P}e;
Bước 3: Ghép nối các phần tử trên cơ sở mô hình mà kết quả là hệ thống phương trình :
{P} là véc tơ số hạng tự do tổng thể ( tức là véc tơ tải tổng thể )
sau đó sử dụng điều kiện biên của bài toán sẽ nhận được hệ phương trình :
Trang 28[K*] {q*} = {P*} - là hệ phương trình hệ thống hay còn gọi là hệ phương trình để giải
Bước 4: Giải hệ phương trình đại số : [K*] {q*} = {P*} , tìm được chuyển vị của các
nút Việc giải hệ phương trình [K*] {q*} = {P*} đối với bài toán tuyến tính không gặp khó khăn, nhưng với bài toán phi tuyến thì sẽ dùng phương pháp lặp ( mà được tuyến tính hóa , chẳng hạn như phương pháp Newton – Raphson) mà ở mỗi bước lặp ma trận độ cứng [K*] và {P*} sẽ thay đổi
Bước 5: tính ứng suất, biến dạng
3.1.3 Hàm xấp xỉ - đa thức xấp xỉ Phép nội suy
3.1.3.1 Hàm xấp xỉ :
Tư tưởng chính của PP PTHH là xấp xỉ hóa đại lượng cần tìm trong mỗi miền con – phần tử Ve Do đó đầu tiên phải chọn hàm số đơn giản mô tả gần đúng đại lượng cần tìm trong mỗi phần tử Hàm số đơn giản hay được chọn có dạng đa thức, vì:
Đa thức được xem như tổ hợp tuyến tính các đơn thức, các đơn thức này thỏa mãn yêu cầu của Ritz , Galerkin
Hàm xấp xỉ dạng đa thức thường dễ tính toán, dễ thiết lập công thức khi xây dựng các phương trình PP PTHH, dễ đạo hàm, dễ lấy tích phân Có khả năng tăng độ chính xác ( bằng cách tăng số bậc của đa thức), tuy nhiên trong thực tế thường chỉ lấy bậc thấp mà thôi
Trang 29Nội suy hằng số (u)x ~ u0 = u(a/2+b/2)
Nội suy tuyến tính : (u)x ~ u0 = [b.u(a) - a.u(b)]/(b-a) + x·[u(b)-u(a) ]/(b-a)
Nội suy bậc hai : (u)x ~ u0 = a1 + a2·x + a3·x2;
Các đa thức xấp xỉ cần thỏa mãn được các yêu cầu: hội tụ, tính đẳng hướng hình học
3.1.3.4.1 Các đa thức xấp xỉ phải thỏa mãn điều kiện hội tụ
Do PP PTHH là một phương pháp số nên phải đảm bảo được rằng khi kích thước các phân tử giảm đi thì kết quả tính phải hội tụ đến giá trị chính xác Để có được điều này thì các
đa thức xấp xỉ ue phải thỏa mãn 3 điều kiện sau:
Trang 30- Liên tục trong phần tử Ve Điều này được thỏa mãn vì xấp xỉ là đa thức
- Bảo đảm trong phần tử có trạng thái đơn vị ( hằng số) và có các đạo hàm riêng của nó đến bậc cao nhất mà phiếm hàm I(u) đòi hỏi
- x là tọa độ điểm, u là hàm xấp xỉ
- Trên biên phần tử , u và các đạo hàm của nó có đến cấp m -1 liên tục
Chẳng hạn như khi u là chuyển vị thì muốn đảm bảo trạng thái đơn vị và dịch chuyển cứng thì trong đa thức xấp xỉ không được bỏ qua số hạng a1, hay không được bỏ qua thành phần 1 trong [P(x,y,z)]
Khi làm mịn lưới các phần tử cần tuân theo các quy tắc sau :
+ Lưới sau mịn hơn trên cơ sở lưới trước, các điểm nút lưới trước cũng có trong tập các nút lưới sau
+ Các phần tử có kích thước nhỏ hơn trước, nhưng dạng hình học vẫn phải được giữ như trước
+ Dạng đa thức không đổi trong quá trình mịn hóa lưới phần tử
3.1.3.4.2 Tính đẳng hướng hình học
Các đa thức xấp xỉ được chọn sao cho không làm mất tính đẳng hướng hình học Dạng
đa thức được chọn từ tam giác Passcal ( cho bài toán 2 chiều) hoặc tháp Passcal cho bài toán 3 chiều
Hình 3-3 Tam giác Passcal và bậc của đa thức xấp xỉ
Trang 313.1.3.4.3 Có thể nội suy đa thức xấp xỉ theo giá trị đại lượng cần tìm tại nút phần
ẩn số của bài toán PP PTHH
Ví dụ : Trong bài toán phẳng đàn hồi , khi dùng phần tử tam giác có 3 điểm nút, mỗi nút
có 2 bậc tự do: đó là các chuyển vị theo phương x và y , do đó tập hợp chuyển vị ở 3 nút là véc tơ chuyển vị của phần tử :
Tức là:
Trang 32Chú ý rằng ma trận [A] là ma trận vuông có ne × ne phần tử và chỉ chứa tọa độ các điểm nút của phần tử => {a} = A-1.{q}e Sau khi tính được {a} ta thay vào ( 3-1 ) tức là :
Ta có các phương trình Cô-si cho sự liên hệ giữa trạng thái biến dạng và chuyển vị, do
đó trạng thái biến dạng của các điểm trong phần tử sẽ là :
Trang 33Trạng thái ứng suất tại một điểm thuộc phần tử trong trường hợp vật liệu tuân theo
Trang 34Vật thể V được chia thành Ne miền con hay là phần tử ( Ve) bởi R điểm nút Nếu mỗi nút
có s bậc tự do thì số bậc tự do của cả hệ sẽ là : n = R × s Gọi {q} là véc tơ chuyển vị nút tổng thể ( còn gọi là véc tơ chuyển vị nút kết cấu) , {q} có n thành phần và là tập hợp tất cả các bậc
trong đó [L]e được gọi là ma trận định vị của phần tử có kích thước (ne × n)
3.1.4.2.2 Ma trận cứng - véc tơ tải tổng thể
Sử dụng ( 3-12 ) ta sẽ có thế năng toàn phần :
;
( 3-16 )
Trang 35Áp dụng nguyên lý Lagrange ( nguyên lý thế năng toàn phần dừng) về điều kiện cân bằng của toàn hệ tại các điểm nút:
2 Khi thiết lập phương trình ( 3-17 ) ta chưa đưa vào các điều kiện biên động học (liên quan đến dịch chuyển), vật thể lúc này là tự do, do đó ma trận [K] là suy biến ( tức là định
Trang 36thức của [K] bằng 0) do vậy không tồn tại [K]-1 Nhưng sau khi đưa vào các điều kiện biên động học ta sẽ dẫn về phương trình : [K*] {q*} = {P*}
3 Việc sử dụng ma trận định vị [L]e để tính ma trận cứng [K] và {P} thực chất là sắp xếp các phần tử [K]e và {P}e vào vị trí của nó trong [K] và {P} Tuy nhiên trong khi thực hành người ta sử dụng ma trận chỉ số tiện lợi hơn trong quá trình ghép nối
4 Do [K]e đối xứng nên [K] đối xứng [K] có dạng băng Bề rộng của băng tùy thuộc theo cách đánh thứ tự số nút
3.1.4.3 Phép chuyển trục tọa độ
Trong các phần trên ta đều tính giá trị các đại lượng : chuyển vị, biến dạng , ứng suất, ma trận hàm dạng [N]e , ma trận cứng phần tử [K]e , véc tơ tải phần tử {P}e đều trong hệ tọa độ thích hợp cho mỗi phần tử - là hệ tọa độ địa phương ( local coordinate system), do vậy
phương của các bậc tự do cũng lấy theo hệ tọa độ này
Thực tế các kết cấu mà các phần tử khác nhau thì có các hệ tọa độ địa phương khác nhau, do đó các bậc tự do của các phần tử cũng khác nhau về phương Chính vì lẽ đó cần có một hệ tọa độ chung cho toàn hệ - gọi là hệ tọa độ tổng thể ( global coordinate system)
Nếu gọi :
* hệ tọa độ địa phương là xyz và hệ tọa độ tổng thể là x'y'z'
* {q}e , {P}e , [K]e là véc tơ chuyển vị, véc tơ tải , ma trận cứng phần tử trong hệ tọa độ địa phương xyz
* {q'}e , {P'}e , [K']e là véc tơ chuyển vị, véc tơ tải , ma trận cứng phần tử trong hệ tọa độ tổng thể x'y'z'
khi đó ta có mối liên hệ giữa chúng :
{q}e = [T]e {q'}e và {P}e = [T]e {P'}e ; ( 3-18 )
ma trận {T}e là ma trận biến đổi ( transformation matrix) các thành phần chuyển vị nút
từ hệ tọa độ tổng thể x'y'z' về hệ tọa độ địa phương xyz
Trang 37Sử dụng ở đây hai hệ thống chỉ số để đánh số cho các bậc tự do của các nút :
1 Hệ thống chỉ số tổng thể:
Đánh số các bậc tự do của toàn hệ thống tức là thứ tự của các bậc tự do đang xét trong {͞q} hoặc {͞q'} , nó được đánh thứ tự là 1 , 2 , 3 ,…, n = R× s
2 Hệ thống chỉ số phần tử : Để chỉ thứ tự các bậc tự do trong phần tử , hay là thứ tự các bậc tự do trong {q}e hoặc {q'}e , nó được đánh số 1, 2 , 3 , …, ne = r × s trong đó R – số nút của cả hệ , r – số nút của phần tử , s – bậc tự do của một nút
Để xác định tương ứng mỗi thành phần của {q}e trong {͞q} ( hoặc của {q'}e trong {͞q}) người ta đưa ra khái niệm ma trận chỉ số [b] ( còn gọi là ma trận liên hệ Boolean) mà mỗi giá trị của thành phần bij chính là chỉ số bậc tự do trong hệ thống chỉ số tổng thể tương ứng với bậc tự do thứ j trong hệ thống chỉ số phần tử của phần tử thứ i
Ma trận chỉ số [b] có số hàng bằng số phần tử của hệ : Ne , có số cột bằng số bậc tự do của một phần tử
Khi sử dụng ma trận chỉ số [b] để xây dựng ma trận cứng tổng thể [K] và véc tơ tổng thể {P} ( hoặc [K'] và {P'}) thì cần nhớ rằng :
mỗi thành phần Ke_ij của ma trận cứng phần tử [K]e ( của phần tử thứ e ) sẽ được cộng thêm vào thành phần Kmn của ma trận cứng tổng thể [K] ,
Điều này cũng thực hiện cho :
mỗi thành phần Ke_ij của ma trận cứng phần tử [K']e ( của phần tử thứ e ) sẽ được cộng thêm vào thành phần K'mn của ma trận cứng tổng thể [K'],
với m = bei; n = bej ( chú ý bei , bej là giá trị của thành phần hàng e cột i và cột j trong ma trận [b]
3.1.4.5 Áp đặt điều kiện biên
Hệ phương trình tổng thể (II.26) : [K']{q'} = {P'} sắp xếp lại dạng như sau:
Trang 38Thay {q'}1 vừa tìm được vào (b) ta tính được {p'}2 => véc tơ tải tổng thể được xác định
Chú ý : Trường hợp các chuyển vị nút bằng 0 thì (II.30) có dạng :
[K']11{q'}1 = {p'}1b hệ này nhận được từ hệ [K']{q'} = {P'} bằng cách bỏ đi các hàng, các cột ứng với các bậc tự do trong {q'} bằng 0
3.2 Phần tử hữu hạn ứng dụng trong tính toán hệ thanh
Q15
Q16 Q13
Q14 Q11
Q12
Trang 39Trong hệ thanh dàn, tải trọng hoặc phản lực liên kết đặt ở các khớp nối; bỏ qua ma sát trong các khớp nối Mỗi phần tử của hệ thanh dàn hoặc chịu kéo, hoặc chịu nén
3.2.1.2 Hệ toạ độ địa phương, hệ toạ độ chung
Hệ thanh khác với các kết cấu một chiều đã xét trong Chương 4 ở chỗ: trong hệ thanh, các phần tử (các thanh) có các phương khác nhau Để có thể tính đến sự khác nhau về phương của các phần tử trong hệ, ta cần phải đưa ra khái niệm hệ toạ độ địa phương và hệ toạ độ chung
Một phần tử thanh được mô tả trong hệ toạ độ địa phương và hệ toạ độ chung như trong Hình 5.2
Hình 3-5 (a) Phần tử thanh trong hệ toạ độ địa phương và (b) trong hệ toạ độ chung
Trong sơ đồ đánh số nút địa phương, hai nút của phần tử được đánh số 1 và số 2 Hệ toạ
độ địa phương hướng theo trục x', chạy từ nút 1 đến nút 2 Tất cả các đại lượng trong hệ toạ
độ địa phương được ký hiệu bởi dấu (') Hệ toạ độ chung (x, y) là cố định và không phụ thuộc
vào phương của các phần tử
Trong hệ toạ chung, mỗi nút cũng có hai bậc tự do Chẳng hạn, nút “j” sẽ có hai chuyển
vị là Q 2j-1 và Q 2j
Gọi q1' và q2' là các chuyển vị của nút 1 và 2 tương ứng trong hệ toạ độ địa phương Ta
ký hiệu véctơ chuyển vị trong hệ toạ độ địa phương bởi:
Trang 40m l T
00
00
11'
e
e e
l
A E
Để thiết lập ma trận độ cứng của phần tử trong hệ toạ độ chung, ta chú ý tới biểu thức năng lượng biến dạng của phần tử
'''2
1
q k q