Ứng dụng phần mềm CADCAM Cimatron trong thiết kế chế tạo khuôn mẫu.
CHƯƠNG ỨNG DỤNG PHẦN MỀM CAD/CAM CIMATRON TRONG THIẾT KẾ, CHẾ TẠO KHUÔN MẪU Để đáp ứng nhu cầu ngày tăng lĩnh vực thiết kế gia công Nhiều công ty phát triển phần mềm viện nghiên cứu giới đưa hàng loạt phần mềm trợ giúp lĩnh vực không ngừng phát triển chúng để tăng cường thêm chức cho chúng làm cho việc sử dụng chúng trở nên thuận tiện Các hệ thống phần mềm trợ giúp việc thiết kế gia cơng phát triển theo hai hướng chính: Các phần mềm tích hợp hình thành việc liên kết nhiều mô đul khác hệ thống thống Mỗi mô đul thực công đoạn trình thiết kế - chế tạo Trong năm gần hệ thống tích hợp nhiều nhà thiết kế chế tạo hàng đầu giới quan tâm đưa vào sử dụng nhờ lý sau: Các hệ thống tích hợp dùng chung sở liệu tạo điều kiện cho việc nhanh chóng cập nhật thay đổi Một ưu điểm bật hệ tích hợp khả kiểm tra độ tương thích chi tiết thiết kế khối lắp ráp tổng thể thực hiệu chỉnh cần thiết Ở Việt nam, năm gần phần mềm trợ giúp thiết kế - chế tạo biết đến đưa vào áp dụng mức độ khác Tuy nhiên phần mềm chủ yếu thuộc nhóm " Best in Class " với tính tương đối hạn chế ví dụ như: Các phần mềm thuộc nhóm " Best in Class" Các phần mềm tích hợp " Integrated System " Các phần mềm " Best in Class" Các phần mềm thuộc nhóm thường thực chức trợ giúp cụ thể ví dụ : Thiết kế mơ hình hình học, phân tích phần tử hữu hạn, Tính tốn động học động lực học cấu Các phần mềm có hàng loạt ưu điểm sau: Giá thành rẻ nhiều so với hệ tích hợp Trong lĩnh vực thiết kế hình học Autocad Autodesk đưa vào sử dụng rộng rãi nhiều lĩnh vực khác Chế tạo máy, Xây dựng, Kiến trúc Tuy nhiên Autocad hạn chế mức độ đưa vẽ phẳng in ấn chúng, cịn khả xây dựng mơ hình khơng gian cịn nhiều hạn chế Trong lĩnh vực phân tích phần tử hữu hạn, phần mềm khác SHAP 90, ANSYS nhiều người biết tới Việc khai thác tính chúng tương đối đơn giản Khơng địi hỏi cấu hình máy tính cao Chính lý chúng đưa vào sử dụng rộng rãi Tuy nhiên phần mềm loại có số hạn chế sau: Phần mềm ALASKA đức đưa vào sử dụng rộng rãi viện nghiên cứu trường đại học nước, đặc biệt lĩnh vực phân tích động học động lực học hệ nhiều vật Do phần mềm thực chức trợ giúp, nên để thực tồn quy trình từ thiết chế tạo sản phẩm ta phải sử dụng nhiều phần mềm khác yêu cầu phần mềm phải có tính tương thích cao để trao đổi liệu cách dễ dàng Các hệ tích hợp có tính mạnh mẽ mẻ Trong số hệ thống tích hợp khác giới, CIMATRON biết đến hệ thống thành công nhất: Do không dùng chung sở liệu nên việc cập nhật thay đổi khâu trình tạo sản phẩm tương đối khó khăn CIMATRON hệ thống tích hợp đặc sắc dùng lĩnh vực thiết kế gia cơng khí nhóm chun gia Nhật Israel hợp tác xây dựng từ năm 1990 Nó nối kết CAD - CAM thành hệ thống hồn chỉnh, ngồi CIMATRON cịn cho phép tạo mơ hình phần tử hữu hạn từ mơ hình hình học dựng CAD dùng việc tính tốn trạng thái vật lý chi tiết ví dụ như: tính nhiệt (tính tốn q trình truyền nhiệt, ứng suất nhiệt), tính bền Các hạn chế hệ phần mềm " Best in Class " giải hệ thống tích hợp Các phần mềm tích hợp Tồn hệ thống Cimatron bao gồm bốn Modul: 124 125 DỰNG BẢN VẼ CIMATRON - MODELING CIMATRON - DRAFTING Cimatron Draft thiết kế để mở rộng tối đa chất lượng thiết kế khí Nó cung cấp vẽ cách nhanh chóng thơng minh, trì mối quan hệ với mơ hình hình học CIMATRON - FEM CIMATRON - NC Tạo chu trình tích hợp khép kín trợ giúp bước khác trình Thiết kế - Gia công : THIẾT KẾ Trong lĩnh vực thiết kế mơ hình, Cimatron cung cấp cho công cụ hiệu để xây dựng kiểu mơ hình hình học khác như: Mơ hình khung dây ( Wire - Frame ) Các hình chiếu hình chiếu riêng phần chiếu tự động từ mơ hình 2D 3D bạn góc chiếu mà bạn muốn Các hình chiếu nối kết với mơ hình tự động cập nhật mơ hình bị thay đổi dễ dàng tạo vẽ phức hợp chứa đựng nhiều hình chiếu, mà chúng xếp xắp thẳng hàng với hiệu chỉnh cách riêng rẽ Tất kích thước, dung sai, mặt cắt, thích hiệu chỉnh mà khơng cần nhập lại liệu đưa vào trước TRONG LĨNH VỰC TÍNH TỐN PHÂN TÍCH Mơ hình bề mặt ( Surfaces ) ứng dụng FEM Cimatron công cụ giúp phân tích trạng thái vật lý chi tiết thiết kế, trình thực qua bước: Mơ hình thể đặc ( Solid ) Với công cụ này, cho dù bạn làm việc với mơ hình khung dây, bề mặt mơ hình thể đặc, Cimatron cho phép bạn xây dựng tất mà bạn tưởng tượng Làm việc theo trình tự từ xuống từ lên, cho phù hợp cơng việc thực Tính thống phép tốn lơ gíc, giao diện đồ hoạ trực quan sở liệu dùng chung xúc tiến việc chuẩn bị cho việc gia công mô hình bạn Mơ hình khung dây bề mặt Pre-Processing (Tiền sử lý ) Analyze ( phân tích ) Post - Processing ( trình hậu sử lý ) Trong Cimatron trợ giúp hai bước phức tạp bước tiền sử lý hậu sử lý Pre-Processing Mơ hình khung dây bề mặt cimatron cung cấp đầy đủ phần tử hình học bao gồm mặt Bezie, Gregory Nurbs Tạo chí bề mặt điêu khắc phức tạp cách dễ dàng Các lệnh thiết kế, công cụ mềm dẻo, mạnh mẽ toàn diện chứa đựng phép pha trộn tinh xảo, vê tròn cắt tỉa nhiều mặt Một số lượng lớn công cụ thẩm tra hiệu chỉnh cho phép thay đổi nhanh chóng đảm bảo độ xác tuyệt đối Mơ hình thể rắn Việc mơ hình hố phương thức khối thuộc tính sở thiết kế mơ hình tự trực quan Hệ thống hướng dẫn bạn cách trực quan, tự động gọi công cụ vẽ phác hiển thị cách thích hợp đường trợ giúp thiết kế để bắt đối tượng nhắc bạn đối tượng vượt bên ràng buộc Định nghĩa ràng buộc bạn vẽ phác, thêm vào sau Bạn ln trì kiểm sốt cách hồn tồn mối quan hệ thơng số với khả thay đổi thời điểm 126 Trong q trình phân tích, tính tốn bước tiền sử lý thực chất việc tạo mô hình phần tử hữu hạn bề mặt mơ hình hình học chia thành lưới phần tử, khối thể đặc phân thành số lớn phần tử, Ngoại lực, vật liệu điều kiện biên ràng buộc gán cho mơ hình Đây cơng việc tỉ mỉ thời gian Tuy nhiên Cimatron FEM, việc thực cách nhẹ nhàng nhanh chóng: Trên sở mơ hình hình học tạo dựng CIM - Modeling, việc chia phần tử tiến hành cách tự động theo độ xác yêu cầu, hệ thống tự động tính cho ta toạ độ điểm nút Hệ thống cung cấp sẵn cho thư viện loại phần tử, vật liệu, kiểu tác dụng ngoại lực để dễ dàng gán đặt chúng lên mơ hình 127 Cho phép hiển thị kết tính tốn khác ứng suất, nhiệt độ, biến dạng, phản lực, Gradient ứng suất lựa chọn: CIMATRON Kết đưa dạng số hay đồ hoạ Hiển thị riêng hay đồng thời mơ hình bị biến dạng mơ hình ngun thuỷ CSDL Lựa chọn màu sắc tỷ lệ xích khác để dễ dàng quan sát CIMATRON-NC CIMATRON-FEM POSTPROCESSING PREPROCESSING DRAFTING SOLID MODELING WIRE-FRAME SURFACES Nếu kết đưa dạng đồ hoạ, ta lưu lại dạng ảnh để dễ dàng sử dụng lại cần phải so sánh kết khác q trình hiệu chỉnh, cải tiến mơ hình Mơ hình hình học mơ hình phần tử hữu hạn hiệu chỉnh Post - Processing Như với trợ giúp công cụ mà Cimatron cung cấp hồn tồn kiểm tra kết tính tốn, lập vùng nguy hiểm, đưa hiệu chỉnh cần thiết thông qua sở liệu dùng chung để cập nhật kịp thời thay đổi GIA CƠNG Trong cơng nghiệp khơng có coi hiển nhiên, nhiên Cimatron ngoại lệ Các thao tác trực tiếp sở liệu mơ hình thiết kế, Cimatron NC tạo đường chạy dao xác cho điều khiển số q trình gia cơng Nó cung cấp giải pháp toàn diện cho máy tiện, phay, khoan, dập máy cắt xung điện từ 2.5 đến trục Công cụ quản lý đường chạy dao cung cấp khả kiểm soát cách tổng thể việc tạo ra, thay đổi hiển thị tất thao tác NC ANALYZE Hình 3.1 Sơ đồ tổng quan chức Cimatron Ngoài khả sau công cụ biên tập Cimatron - FEM cho phép ta đạt lưới tối ưu phần tử: Nối tự động trực quan điểm nút Trộn, nhập lưới có mật độ khác Thay đổi vị trí điểm nút với việc tự động cân đối phần tử liên kết với điểm nút Thay đổi vị trí, chép, xoá, xoay phần lưới tạo Với đặc tính tiện dụng sức mạnh mình, yêu cầu cấu hình phần cứng cao: Tối thiểu máy 486, nhớ 16 MB , Card hình 1MB, khơng gian tự đĩa cứng lớn 150 MB , giá thành phần mềm đắt, sau thời gian ngắn hệ thống phần mềm công ty hàng đầu giới sử dụng Theo số liệu thống kê hãng SEILO, khoảng 85 % sản phẩm ngành công nghệ cao tạo trợ giúp CIMATRON 3.1 Giao diện CIMATRON 3.1.1 Màn hình đồ hoạ Cimatron Post - Processing Màn hình đồ hoạ Cimatron giúp dễ dàng thực lệnh khác mà cung cấp cho ta thông tin khác chế 128 129 độ làm việc thời thông báo, dịng nhắc trực tuyến mà hình cung cấp dẫn cho biết cần phải làm bước cơng việc Các khối lệnh Cimatron bố trí theo cấu trúc hình mà ta dễ dàng tiếp cận với thơng qua chuột bàn phím, Màn hình đồ hoạ Cimatron chia số vùng thực chức xác định hình vẽ : Dòng nhắc (Prompt Area): Trong thực lệnh Cimatron vùng lời nhắc, hướng dẫn người sử dụng phải làm việc bước Đơi vùng xuất dịng nhắc mơ tả việc lựa chọn thông số, phương án, trường hợp ta phải thay đổi lựa chọn cần thiết sau ú n Enter Dòng nhắc Vùng quan hệ Vùng trạng thái Vùng hàm tham chiếu tức thời Dr af t i ng No t e Các hàm øng dơng hiƯn thêi Thơng báo số tình trạng thời vẽ : phương pháp xác định điểm (END, SCREEN, MID, ), Màu sắc nét vẽ, lớp thời Vùng hàm số (bảng điều khiển) Bảng điều khiển nằm bên lề phải hình chứa lệnh dùng Cimatron, bao gồm vùng sau: Các hàm truy xuất tức thời: gồm hàm dùng để điều khiển hình, lớp vẽ hàm gọi thời điểm mà hệ thống trạng thái chờ tín hiệu điều khiển từ chuột Vùng đường dẫn thời : có phím hiển thị ứng dụng thời, hàm thực lựa chọn (option) thực Vùng hàm ứng dụng riêng: vùng tên hàm Cimatron ứng dụng xác định Do không gian bị hạn chế nên phần tên hàm để hiển thị phần phần phía trước danh sách tên hàm ta dùng chức chức chuột Để hiển thị toàn danh sách tên hàm ứng dụng hoạt động ta dùng chức chuột Các hàm truy xuất lời nhắc xuất Vùng hàm hệ thống dùng chung: nhóm hàm bao gồm hàm dùng để quản lý điều khiển, hàm chung cho tất ứng dụng Cimatron tiếp cận xuất lời nhắc Vùng vẽ: Đó vùng dành cho việc hiển thị đối tượng vẽ ta tiếp cận vùng menu xuất vùng quan h Con tr : UNDO Các hàm dùng chung Mặc định dấu cộng xuất vùng vẽ ta thay đổi hình dạng trỏ nhờ lệnh DISPLAY Dịng thơng báo: Dßng h−íng dÉn EXIT Hình 3.2 Cấu trúc giao diện đồ hoạ Cimatron Vùng quan hệ : Nằm phần hình thường xuyên đưa thông tin trợ giúp báo lỗi úng dụng NC xuất dịng thơng báo toạ độ thời dụng cụ cắt tốc độ, tên dụng cụ cắt 3.1.2 Sử dụng chuột Cimatron Vùng lựa chọn, tham số hình thức lệnh thực vùng trạng thái: 130 Cimatron sử dụng chuột phím thiết bị chủ yếu để thực thao tác vẽ lựa chọn hàm Option Trong Cimatron ta sử dụng phím chuột cách riêng rẽ phối hợp chúng với nhau: 131 Phím trái chuột : Thực chức sau: MARK Tạo chấm điểm điểm mà ta nháy chuột Lựa chọn hàm Option hàm, NO-MARK không tạo chấm điểm Chỉ vị trí xác định vùng đồ hoạ CLEAR xố tất dấu chấm điểm tạo trình vẽ Chọn đối tượng vẽ (Entity) Phím chuột: Thực chức (Exit) tình sau: Kết thúc việc chọn đối tượng thực bước Phối hợp phím chuột : Sẽ hiển thị danh sách tất hàm có ứng dụng thời 3.1.3 Bàn phím Thốt khỏi lựa chọn thời trở bước bước trước hàm Thốt khỏi hàm thời Phím F5 có chức tương đương phím Trong Cimatron bàn phím dùng để nhập liệu dạng ký tự số tiếp cận sửa đổi tham số hình thức Đơi bàn phím dùng để thực lệnh khác chuột không hoạt động Thêm vào số phím có chức đặc biệt sau: Gọi menu Các phím mũi tên dùng để dịch chuyển hàm danh sách hàm Ở phím dùng thay chức chuột Để lật trang có danh sách dài Phím xố lùi (Back space) dùng để xố ký tự phía trước Phím phải chuột: Thực chức tình sau: Phím trái kết hợp với phím giữa: Thực chức để: Huỷ bỏ thao tác vừa thực trở trạng thái trước Phím ENTER dùng để kết thúc việc nhập liệu số/chữ khẳng định thao tác Cuốn ngược, ví dụ hiển thị hình danh sách trước hàm ứng dụng thời CTRL giữ chức phím điều khiển ln phối hợp với phím khác Phím F6 có chức tương đương CTRL + B gọi tiện ích COLOR SETUP, cho phép xác định màu menu đối tượng vẽ Phím kết hợp với phím phải : Dùng để gọi hàm truy xuất tức thời Phím F8 có tính tương tự Phím trái kết hợp với phím phải :Dùng để gọi Menu điều khiển chế độ sau: INDICATE & EXIT INDICATE/ CROSS/ MARK/ PICK CROSS-HAIR CTRL + D xoá điểm, đường thẳng, đường tròn bề mặt vừa vẽ xong mà hàm dùng để vẽ chúng hoạt động khoảng 100 đối tượng vẽ xố cách CTRL + F dùng để làm tươi toàn hình, chức khơng dùng hệ thống chờ nhập văn CLEAR NO MARK Những lựa chọn tiện ích cho việc trình bày vùng đồ hoạ hình mà khơng phải chọn hàm CTRL + G tạo GIF file từ tồn hình thời File có phần mở rộng GIF CTRL + X ngừng hoạt động hàm thời đây: ESC thoát khỏi hàm hoạt động trở lời nhắc NIDICATE điểm vị trí hình PICK chọn làm sáng đối tượng, CROSS hiển thị trỏ dạng dấu chữ thập CROSS- HAIR Hiển thị trỏ giống hai đường thẳng giao 132 F10 thoát tạm thời khỏi Cimatron DOS Để trở lại Cimatron ta gõ EXIT 133 Phím bước trống để chọn hàm Option nó, thay chức phím trái chuột Kiểm tra xem liệu có cần phải thực thao tác bổ trợ với lệnh cắt xén (TRMSRF) Nếu tồn nhiều giải pháp cho vấn đề đặt ra, bạn xem xét giải pháp khác, so sánh chúng hình trước đưa định cuối 3.2 Xây dựng mơ hình bề mặt Cimatron 3.2.1 Trình tự tiến hành xây dựng mơ hình bề mặt Để đảm bảo chất lượng tốc độ tạo dựng mơ hình, tránh sai sót để tránh phải thực cơng việc vơ ích Sau nhận nhiệm vụ thiết kế phải tiến hành thực theo bước sau: Phân tích kết cấu thiết kế, xác định bề mặt cần tạo dựng thông số yêu cầu chất lượng bề mặt đó, Lựa chọn kiểu bề mặt, lệnh Cimatron tuỳ chọn dùng để tạo dựng bề mặt cần thiết kế, Phân lớp vẽ, Nếu bạn tìm lúc nhiều giải pháp cho kết tốt không giải pháp tỏ trội hơn, dùng giải pháp đơn giản Ví dụ như: Để tạo bề mặt nằm hai đường cong (Section ) mà khơng cần quy định độ dốc theo hướng đường Cross-Section, việc sử dụng mặt kẻ ( RULED ) tốt nhiều so với dùng mặt BLEND với tuỳ chọn FREE - SLOPES 3.2.3 Các bề mặt sở tạo Cimatron Như phân tích phần trước, sức mạnh phần mềm Cimatron cung cấp cho số lượng lớn loại bề mặt, để tiện khai thác khả Cimatron, phần giới thiệu cách tổng quan loại bề mặt mà Cimatron cung cấp phương thức tạo chúng: Dựng khung vẽ, hệ quy chiếu đường sở, Tiến hành tạo dựng mặt sở, Tiến hành hiệu chỉnh, sửa đổi cần thiết, Kiểm tra chất lượng bề mặt kiểm tra tổng thể thiết kế 3.2.2 Các nguyên tắc chung chọn lựa bề mặt Cimatron cung cấp cho số lượng lớn loại bề mặt khác nhau, bước chuẩn bị, trước bắt tay vào vẽ phải tự đặt câu hỏi: Loại bề mặt dùng để xây dựng mơ hình ? Lệnh tùy chọn sử dụng ? khơng có câu trả lời cho câu hỏi này, việc lựa chọn hoàn toàn tuỳ thuộc vào thói quen kinh nghiệm người thiết kế Tuy nhiên tồn số nguyên tắc sau định hướngcho việc lựa chọn: Bề mặt kẻ (RULED SURFACE) Đây loại bề mặt tạo việc cuộn đương thẳng cách trơn tru dọc theo hai đường cong Section tương điểm nối Kết bề mặt nhận có đường Cross-Section đường thẳng Hướng U dọc theo Section, hướng V dọc theo Cross - Section ( đường thẳng ) Hình dạng đường Section thay đổi cách tuyến tính từ đường biên thứ sang đường biên thứ hai, đường sở thứ hai biến thành điểm ta có mặt nón Mặt trụ, mặt nón cụt trường hợp riêng mặt kẻ Để tạo bề mặt ta phải dựng hai đường sở ( Section ) sau dùng lệnh RULED đường sở (Xem hình vẽ) Tuỳ thuộc vào thơng số mà bạn có, bạn xác định lệnh tuỳ chọn phù hợp với vấn đề mà bạn cần giải Sau chọn sơ ( bước trên), bạn nghiên cứu tính chất bề mặt xác định xem bề mặt thích hợp tạo bề mặt 134 135 Sử dụng tuỳ chọn PARALLEL SEC (các đường section song song với nhau), ta nhận DRIVE SURFACE Chän ®−êng cong Nếu sử dụng tuỳ chọn khác ta nhận bề mặt kiểu BEZIER (xem giải thích phần sau ) Các bề mặt kiểu BEZIER Các bề mặt BEZIER GREGORY cho phép mô tả kết cấu phức tạp ngành công nghiệp ô tô công nghiệp hàng khơng Các bề mặt có nhiều ưu điểm, đặc biệt chúng dễ dàng hiệu chỉnh dễ dàng thực thay đổi cục Rất nhiều lệnh tạo dựng hiệu chỉnh Cimatron tạo bề mặt Chän ®−êng cong Hình 3.3 Phương thức xây dựng bề mặt kẻ Trong Cimatron ta cịn dựng mặt kẻ nằm đường sở mặt cong cách định nghĩa đường sở, hướng chiếu xuống mặt cong, đường sở hướng mà đường sinh hợp với mặt cong, tình thường xảy tạo dựng bề mặt có quan hệ tương Tuỳ chọn TRIM ON/OFF cho phép xén bỏ không phần thừa bề mặt, làm tăng tốc độ tạo dựng mơ hình Các bề mặt tròn xoay (REVOLUTE SURFACE) Đây bề mặt tạo việc xoay đường cong (hoặc đường chu tuyến) góc định quanh trục xoay Các đường cong Section ( hướng V ) bề mặt Cross-Section (hướng U ) cung trịn có tâm nằm trục quay Để tạo bề mặt ta cần sử dụng lệnh REVOL sau đường section trục quay Các bề mặt cuộn ( DRIVE - SURFACES ) Đây bề mặt tạo việc dịch trượt đường cong ( chu tuyến ) dọc theo đường cong khác dọc theo hướng quy định đường cong khác Hướng U bề mặt hướng dọc theo đường cong trượt ( Section ) hướng V bề mặt hướng đường định hướng ( Cross - Section ) Mặt BEZIER bao gồm chuỗi mảnh nối với nhau, mảnh định nghĩa 16 điểm điều khiển Hình dạng mảnh phụ thuộc vào vị trí điểm 12 điểm định nghĩa cạnh biên mảnh, có điểm nằm góc nằm bề mặt cịn điểm khác khơng nằm bề mặt mà gây ảnh hưởng đến hình dạng mảnh Trong bề mặt BEZIER Sự nối kết mảnh không thiết phải trơn tru có góc nhọn bên bề mặt Điều kiện trơn tru hai mảnh kề điểm điều khiển sau thẳng hàng: điểm bên trong, điểm nằm cạnh biên điểm thứ ba nằm bên mảnh kế cạnh (cả ba điểm phải nằm hướng đường thông số) Kết cấu mảnh định nghĩa điểm điều khiển cho phép dễ dàng thực thay đổi cục bề mặt Cấu trúc mảnh tất nhiên bề mặt thay đổi việc sử dụng lệnh MODIFY sau: Dời chuyển điểm điều khiển ( ngoại trừ điểm nằm góc ) lệnh MODIFY POINTS Định nghĩa lại độ dốc đường bao bề mặt ( MODIFY SLOPES ) Các độ dốc định nghĩa sau: - độ dốc dọc theo đường biên số ( CONSTANT ) - độ dốc dọc theo đường biên thay đổi tuyến tính từ đầu sang đầu ( LINEAR ) Lệnh tạo bề mặt ( DRIVE ) chứa nhiều tuỳ chọn, tuỳ chọn phân làm hai nhóm theo định nghĩa toán học bề mặt tạo ra: - độ dốc dọc theo đường biên định bề mặt tiếp tuyến với độ dốc cạnh bề mặt thứ hai ( SURFACE ) 136 137 - Độ dốc điểm nút ( điểm nằm góc mảnh ) dọc theo đường biên bề mặt xác định ( GENERAL ) Tất dạng bề mặt khác chuyển thành mặt BEZIER lệnh MODIFY/ APPROX TO BEZIER Bằng lệnh với việc sử dụng hợp lý giá trị độ xác chuyển đổi ta giảm bớt mức gợn sóng bề mặt nguyên thuỷ Bề mặt GREGORY Bề mặt GREGORY mở rộng nâng cao bề mặt BEZIER, có tất đặc tính mặt BEZIER nhiên khác với bề mặt BEZIER luôn trơn tru Mỗi mảnh bề mặt định nghĩa 20 điểm điều khiển, 12 điểm định nghĩa cạnh điểm bên Hình dạng mảnh phụ thuộc hoàn toàn vào điểm điều khiển điểm điều khiển bên đảm bảo trơn tru mảnh Bằng việc sử dụng MODIFY/ SMOOTH, ta chuyển bề mặt không trơn tru thành bề mặt GREGORY trơn tru, nhiên điều không thực bề mặt nguyên thuỷ có điểm bất thường chuyển đổi tạo thay đổi rõ nét bề mặt nguyên thuỷ Các lệnh tạo bề mặt khác DRIVE, BLEND, RULED, MESH COMSRF , bề mặt tạo không trơn tru, tự động chuyển sang mặt GREGORY Bề mặt pha trộn BLEND SURFACE Đây bề mặt tạo chuỗi liên tiếp đường cong, (hoặc) điểm, ( ) đường bao bề mặt Kết nhận mặt BEZIER, bề mặt liên tục trơn tru Khi chọn đường biên bề mặt, đường cong ngầm định tạo xoá sau bề mặt BLEND tạo Để tạo bề mặt dùng lệnh BLEND sau đường Section mà cần phải qua Mặt lưới - MESH SURFACE Đây bề mặt định nghĩa chuỗi đường Section Cross - Section Bề mặt tạo lưới mảnh nhỏ Bề mặt qua cách trơn tru chuỗi đường Section ( hướng U ) đường Cross - Section ( hướng V ) Sự tiếp nối hai mảnh kề liên tục trơn tru Bên mảnh, hình dạng bề mặt định nghĩa hàm số tuỳ thuộc vào hình dạng đường cong tạo mảnh khoảng cách từ điểm xét tới đường biên mảnh Để tạo bề mặt lưới ta dùng lệnh MESH sau hai nhóm đường cong cắt nhau: Bộ đường cong chọn tạo nên đường Section, cịn nhóm đường cong chọn thứ hai tạo đường Cross - Section Thuật toán tạo mặt lưới cho phép tạo bề mặt có hình dạng tương đối phức tạp có quy luật Bề mặt NURB SURFACE Đây bề mặt có cấu trúc phức tạp, tạo từ ma trận điểm nằm hướng Section Cross section Các điểm có vai trò điểm điều khiển để tạo nên đường Section Cross - Section Bề mặt NURB ( Non - Uniform Rational B-Spline Surface ) cho phép định nghĩa mức độ ảnh hưởng tương đối cho điểm điều khiển bề mặt tạo ta cập nhật sau cần hiệu chỉnh Các đường Section Cross - Section định nghĩa điểm điều khiển đường cong dạng NURB ( Non - Uniform Rational B-Spline) Bậc ngoại suy đường cong thay đổi Ưu điểm bật mặt cong dễ dàng thay đổi hình dạng bề mặt kể thay đổi cục nhờ việc thay đổi vị trí mức độ ảnh hưởng điểm điều khiển ( dùng lệnh MODIFY/ POINTS) Để tạo bề mặt ta dùng lệnh NURB sau điểm điều khiển với lưu ý : Số lượng điểm điều khiển phía phải lớn số bậc đa thức ngoại suy 3.2.4 Sử dụng công cụ hiệu chỉnh Cimatron cung cấp cho hàng loạt công cụ để hiệu chỉnh sửa đổi bề mặt tạo ra: Lệnh cắt tỉa mặt cong Mỗi cặp đường Section đường Cross - Section kề tạo mảnh bề mặt Đây công cụ tiện lợi làm tăng tốc độ xây dựng mô hình: sau có bề mặt sở ta dùng lệnh cắt tỉa với tuỳ chọn ( TRIM ) để loại bớt phần thừa máy tự động tính cho tác giao tuyến với độ xác u cầu Ngồi việc cắt tỉa cịn chia bề mặt thành 138 139 nhiều phần ( Sử dụng tuỳ chọn DIVIDE) Điều cần thiết cắt xén bề mặt phức tạp với pháp tuyến đổi dấu Trong lệnh vê trịn ta cịn lựa chọn TRIM ON muốn phần thừa hai bề mặt sở xoá bỏ TRIM OFF muốn giữ chúng Để thực việc cắt tỉa chia nhỏ bề mặt ta dùng lệnh TRMSRF Lệnh ngồi việc có hai tuỳ chọn TRIM DIVIDE trình bày trên, cịn có cung cấp cho ta nhiều phương thức cắt tỉa khác nhau: Để tăng tốc độ vê tròn Cimatron cung cấp cho chúng nhiều tuỳ chọn vê tròn khác : - PLANE : cắt tỉa ( chia bề mặt) cách mặt phẳng cắt qua bề mặt - SURFACES : tạo mặt lượn bề mặt giao đơi một, trường hợp góc ba mặt sở tạo mặt lưới nối trơn tru mặt lượn mặt sở - SURFACES : tạo mặt lượn hai bề mặt giao - SURFACE : cắt tỉa ( chia bề mặt) cách mộtbề mặt khác cắt qua bề mặt đó, ta lựa chọn xén hai bề mặt xén bề mặt thứ - DIF RADI : cho phép tạo ba mặt lượn với bán kính khác ba mặt sở cắt - PARAMETER cắt chia bề mặt đương Section Cross - Section định - MULTI : tạo mặt lượn nằm mặt đáy nhiều mặt thành cắt mặt đáy - CONTOURS Chia cắt bề mặt cách đường chu tuyến, đường chu tuyến nằm bề mặt khơng (khi mặt cong chia, cắt hình chiếu lên bề mặt Sau tiến hành chia, cắt ta dễ dàng nhận lại bề mặt ban đầu cách dùng tuỳ chọn ORIGINAL Các đảo bị khoét lệnh phục hồi tuỳ chọn CANCEL CONTOURS Các bề mặt sở sau bị cắt tỉa chuyển sang loại bề mặt với tên gọi TRIMED SURFACES, khác với bề mặt bình thường bề mặt có nhiều cạnh biên Để thuận tiện cho việc thực hiệu chỉnh khác mặt số trường hợp Cimatron cho phép chuyển đổi chúng thành mặt cong bình thường ( xem lệnh Modify ) Tạo mặt lượn nối bề mặt Thông thường bề mặt chi tiết thường nối với cung lượn đó, nhiên xây dựng mơ hình bề mặt Cimatron ta khơng cần phải tạo dựng chúng làm bề mặt sở: Sau có bề mặt sở ta cần thực lệnh FILLET cung cấp cho máy thông tin cần thiết bao gồm: Chỉ bề mặt giao mà chúng mặt lượn tạo Các công cụ trợ giúp việc nâng cao chất lượng bề mặt mơ hình Việc nâng cao chất lượng bề mặt, đảm bảo nối liên tục, trơn tru bề mặt sở công việc quan trọng Nó định đến chất lượng, độ thẩm mỹ sản phẩm tránh lỗi phát sinh q trình gia cơng chi tiết sau Việc cải thiện chất lượng bề mặt nối kết trơn tru chúng thực lệnh MODIFY, cung cấp cho nhiều khả hiệu chỉnh: Khi muốn chuyển bề mặt thành mặt BEZIER, tạo điều kiện dễ dàng cho việc thực thay đổi khác nhau, sử dụng tuỳ chọn APPROX TO BEZIER Để kiểm tra xem bề mặt có trơn tru không chuyển mặt BEZIER không trơn sang mặt GREGORY trơn tru, ta dùng tuỳ chọn SMOOTH, nhiên cần phải lưu ý tuỳ chọn khơng thực bề mặt có điểm bất thường bề mặt mà để chuyển đổi thành trơn tru thay đổi cách rõ nét Trong trường hợp ta phải tiến hành thực thêm hiệu chỉnh khác trước thực tuỳ chọn SMOOTH Tuỳ chọn FAIR dùng để giảm bớt gợn sóng bề mặt Trường hợp bạn muốn kiểm tra toạ độ, thay đổi vị trí mức độ ảnh hưởng điểm điều khiển mặt BEZIER GREORY, sử dụng tuỳ chọn MODIFY POINTS Xác định bán kính cung lượn Chỉ hướng để xác định tâm cung lượn 140 141 Khi việc nối kết mặt kề không trơn tru, thường phải thay đổi độ dốc bề mặt dọc theo đường bao chung chúng tuỳ chọn MODIFY SLOPES ( xem thêm phần bề mặt BEZIER ) Tuỳ chọn SURFACE EXTENSION cho phép kéo dài cách tuyến tính bề mặt cạnh định cách tạo mặt kẻ với chiều dài yêu cầu Sử dụng VERIFY/ SURFACE Một nét độc đáo Cimatron cho phép hiệu chỉnh, kéo dãn/ thu ngắn bề mặt tạo thông số bề mặt Như biết bề mặt đặc trưng phương trình tham số với hai tham số U V theo phương Section Cross - Section: X= F1(U,V), Y= F2(U, V), Z= F3(U, V), Trong nhiều trường hợp để thuận tiện cho việc sử dụng giá trị U V quy chuẩn khoảng ( 0, ), có nghĩa là: Start U=0, End U=1; Start V=0, End V=1 Dùng lệnh VERIFY/ SURFACES / SURFACE DATA ta thẩm tra giá trị bề mặt, trương hợp muốn kéo dài mặt cong phía trước theo phương U V ta thay đổi cho giá trị Start U1 Trong số trường hợp sau thay đổi bề mặt muốn trở bề mặt nguyên thuỷ ta dùng lệnh 3.2.5 Công cụ trợ giúp Cimatron trở nên đơn giản Ngồi lớp vẽ cịn tạo điều kiện cho dễ dàng hiệu chỉnh, in ấn Khi bắt tay vào xây dựng vẽ phức tạp phải tiến hành phân lớp đối tượng vẽ cuả vẽ Một vẽ có nhiều cách phân lớp khác nhau, tuỳ thuộc vào kinh nghiệm thói quen người vẽ Tuy nhiên để sử dụng hiệu lớp, việc phân lớp phải đựa nguyên tắc sau: - Đơn giản hố : có nghĩa nét vẽ lớp phải không chồng chéo, đảm bảo vẽ chúng dễ dàng - Tính đặc trưng : Mỗi nét vẽ phải đặc trưng cho phần định vẽ, không nên chia vẽ nhiều lớp - Tính thống xác : Các lớp phân cho vẽ riêng lớp đảm bảo vị trí tương đối vẽ tổng thể Đối với mơ hình với bề mặt phức tạp cần phải tạo lớp sau: Một lớp tham chiếu để định vị bề mặt Mỗi bề mặt nên đặt lớp riêng rẽ Các đường thẳng, cong dùng để định nghĩa bề mặt nên vẽ lớp riêng Thông thường làm việc với lớp vẽ phải thực thao tác sau: Tạo lớp vẽ Gán, thay đổi thuộc tính lớp vẽ Các cơng cụ trợ giúp mà Cimatron cung cấp làm cho công việc xây dựng mơ hình thực cách dễ dàng nhanh chóng Các cơng cụ trợ giúp bao gồm : Lớp vẽ (LEVEL) Lớp vẽ tập hợp đối tượng vẽ vẽ có thuộc tính Việc phân lớp kỹ thuật độc đáo CIMATRON phần mềm CAD Một vẽ phức tạp thường phân thành nhiều lớp riêng biệt chứa phần đơn giản vẽ việc vẽ lớp thực đơn giản Sau có tất lớp vẽ cần xếp chồng khít chúng lên ta nhận vẽ yêu cầu, công việc vẽ 142 Đưa lớp vẽ trở thành thời Đổi tên lớp vẽ Chuyển đối tượng vẽ từ lớp sang lớp vẽ Các thao tác hoàn toàn thực dễ dàng Cimatron với việc sử dụng lệnh LEVELS, lệnh có lựa chọn sau: ACTIVE Thay đổi lớp hoạt động thêm vào lớp DISPLAY Hiển thị cách có lựa chọn lớp có 143 Các thơng số xe là: function f = myfun(x) TT f = -x(1) * x(2) * x(3); Thông số Ký hiệu (đơn vị đo) giá trị Chiều dài sở l (m) 3.7 Toạ độ trọng tâm a, b (m) 2.795; 0.905 Bề rộng nhíp b (Cm) 6.5 1/2 Chiều dài l1 (Cm) Bước 3: gọi lệnh Matlab x0 = [10; 10; 10]; 7400 với m (Kg) Được chuyển dạng ma trận sau: Trọng lượng toàn xe Bước 2: Chuyển ràng buộc tuyến tính dạng chuẩn: ứng xuất cho phép [σ] (Kg/cm ) Các biến thiết kế: Bề dầy nhóm nhíp: h1, h2 b=[0; 72]; Số nhíp: n Chiều dài nhíp: li với i=2→n [x,fval] = fmincon('myfun',x0,A,b) Sau 66 lần tính tốn Matlab đưa kết quả: Hàm mục tiêu: x= Trong trường hợp nhíp có tiết diện chữ nhật, hàm mục tiêu là: 24.0000 n Min F(n , h1 , h , li ) = ∑ ρ.b.h i li k =1 12.0000 12.0000 Giá trị ban đầu biến thiết kế: xác định phương pháp thiết kế cổ điển Parchilovskii: Với giá trị cực tiểu hàm fval = -3.4560e+03 Ví dụ 2: Tính tốn thơng số tối ưu nhíp Cơng việc tối ưu nhíp bao gồm việc xác định chiều dài, chiều dầy nhíp để đạt mục đích tiết kiệm vật liệu đảm bảo điều kiện sau: ứng suất nhíp khơng vượt q giá trị cho phép Độ cứng nhíp khơng vượt q giá trị yêu cầu (để đảm bảo độ êm dịu chuyển động) 210 Chỉ số Bề dầy (cm) 1/2 Chiều dài nhíp Chỉ số Bề dầy (cm) 1/2 Chiều dài nhíp 1,2 0.7 58.3 0.7 23.03 0.7 46.58 0.7 18.32 0.7 41.87 10 0.7 13.61 0.7 37.16 11 0.7 10.25 0.7 32.45 12 0.7 8.9 Nhíp phận đàn hồi thường dùng cho xe tải Nó gồm nhiều thép có chiều dài thay đổi bó với thành khối ngàm chặt vào cầu xe bu lơng quang nhíp Tải trọng tác động lên nhíp đặt quang treo đầu mút cụm nhíp 9400 Bước 1: Xác định thông số thiết kế, hàm mục tiêu % điểm xuất phát A=[-1, -2, -2; 1, 2, 2]; 58.3 0.7 27.74 13 0.7 4.2 Bước 2: Xác định ràng buộc Ràng buộc độ cứng: 211 Từ tính tốn dao động xác định độ cứng nhíp cần phải khơng vượt giá trị C1=85 Kg/cm Để xác định độ cứng theo biến thiết kế, sử dụng công thức bán thực nghiệm Parchilovskii: C= Chiều dài nhíp xác định sở bố trí chung xe: l1=58.3 cm Chiều dài nhíp thứ k+1 phải ngắn chiều dài nhíp thứ k: lk+1- lk≤0 với k=1→n-1 E.α n ∑a k +1 (Yk − Yk +1 ) k Trong đó: C(x ) ≤ + n số nhíp, E mơ đun đàn hồi (Kg/cm2) + độ lệch chiều dài nhíp: a1=li-1-li Bước 3: Viết M-file mô tả hàm mục tiêu hàm ràng buộc ; i=2 →n + Yi=1/Ji ; Ji mơ men qn tính mặt cắt ngang phần thứ i khối nhíp; mặt cắt ngang nhíp có dạng hình chữ nhật, Ji xác định biểu thức : i b.h i k =1 12 Ji = ∑ Ràng buộc ứng suất: ứng suất nhíp xác định sở tính tốn giá trị tải trọng đặt đầu mút nhíp Theo Parchilovskii, tải trọng xác định hệ phương trình: A P + B X + C X = A X + B X + C X = A X + B X + C X = A n X n −1 + B n X n = Trong hệ số Ak, Bk, Ck xác định biểu thức: J k l k −1 − 1 ; k = → n J k −1 l k l C k = k +1 l k J η(l k − l k +1 ) ; B k = − 1 + k + k=2→n l3 k J k −1 l k − 1 l k +1 Các giá trị chiều dài, bề dầy nhíp phải số dương: h1>0, h2 >0, lk>0 với k=2→n Các điều kiện viết dạng chung: , với x Ceq(x ) = véc tơ biến thiết kế + α hệ số giảm độ cứng, thường có giá trị = 0.83 đến 0.87 A k = 0.5 k = → n −1 Trong biểu thức η hệ số xét đến hình dạng đầu nhíp (tra bảng) [ ] Trong trường hợp đầu nhíp khơng bị vuốt ta có η=0 Từ giá trị phản lực xác định biểu đồ mô men lá, tìm mơ men lớn từ xác định giá trị ứng xuất lớn Các điều kiện ràng buộc khác: 212 M-file mô tả hàm mục tiêu: function y=nhip(x) n=13; h=x(3)*ones(1,n);h(1)=x(2); h(2)=x(2); b=x(1); l=x(4:end); y=sum(b*h.*l)*0.0087; M-file mô tả hàm ràng buộc: function [y,yy]=rangbuoc(x) nn=13; h=x(3)*ones(1,nn);h(1)=x(2); h(2)=x(2); b=x(1);al=0.85;E=2000000; l=x(4:end); l(nn+1)=0; %% Tính tốn đặc tính hình học nhíp Jk=b*h.^3/12;Jk=cumsum(Jk); Yk=1./Jk;Yk(nn+1)=0;DYk=-diff(Yk); a=l(1)*ones(1,nn+1)-l;a=a(2:nn+1); %% Tính độ cứng nhíp Ck=al*6*E/sum(a.^3.*DYk) yy(1)=Ck-85; %% ràng buộc độ cứng %% Tính ứng suất lớn nhíp Q=1110*1.8;l=l(1:end-1); Jk=b*h.^3/12; Ak=0.5*Jk(2:end)./Jk(1:end-1).*(3*l(1:end-1)./l(2:end)-1); Bk=-(1+Jk(2:end)./Jk(1:end-1)); Ck=0.5*(l(3:end)./l(2:end-1)).^3.*(3*l(2:end-1)./l(3:end)-1); z=size(l);z=z(2)-1; V=zeros(z,1); V(1)=-Q/2*Ak(1); M=diag(Ak(2:end),-1)+diag(Bk)+diag(Ck,1); X=inv(M)*V; P=[Q/2 X'];lbc=l(1:end-1);lbd=l(2:end); 213 So sánh tiêu đánh giá ta nhận thấy nhíp sau tối ưu hố có đặc tính vượt trội hẳn nhíp tính sơ như: Khối lượng giảm 50%, độ cứng giảm 4% (đảm bảo tốt tính êm dịu chuyển động) ứng suất nhíp tối ưu giảm 14% Điều khẳng định hiệu rõ rệt phương pháp tối ưu đưa gt1=P(1:end-1).*(lbc-lbd); gt2=P(1:end-1).*lbc-P(2:end).*lbd; gt=[gt1;gt2];gtm=max(gt); %% ứng suất lớn gtm=[gtm P(end)*l(end)]; us=gtm./Jk.*h/2 y(1:z+1)=us-9500; %% ràng buộc ứng suất y=[y -x+0.004]; %% thêm ràng buộc chiều dài dương yy(2)=58.3-x(4); %% ràng buộc chiều dài thứ yy(3)=6.5-x(1); %% ràng buộc chiều rộng yyk=l(2:end)-l(1:end-1); %% ràng buộc sau ngắn trước y=[y yyk]; %% ràng buộc dạng bất phương trình 6.3 Giải hệ phương trình vi phân thường 6.3.1 Giới thiệu hệ phương trình vi phân thường a Dạng chuẩn hệ phương trình vi phân Phần lớn hệ động lực mô tả dạng tốn học chuẩn có tên gọi dạng Cauchy, hệ n phương trình vi phân bậc sau: Bước 4: gọi lệnh fmincon từ Matlab W(′1) (t ) = f (1) (t , w ) W ′ ( t ) = f ( t , w ) (n) (n) x0=[6.5, 0.7, 0.7, 58.3, 46.58, 41.87, 37.16, 32.45, 27.74, 23.03, 18.32, 13.61, 10.25, 8.9, 4.2] (2-1) Trong : [x, fval] = fmincon('nhip',x0,[ ], [ ], [ ], [ ], [ ],[ ],'rangbuoc') Chúng ta xác định giá trị tối ưu: Chỉ số Bề dầy (cm) 1/2 Chiều dài nhíp (Cm) 1.0911 58.30 1.0911 37.39 0.7530 0.7530 8.68 0.7530 2.79 f(i)(t) thành phần thứ i véc tơ n hàm phụ thuộc vào t, w: F(t,w) Trong dạng véc tơ viết : W'(t)=F(t,w) (2-2) Các lệnh giải phương trình vi phân Matlab sử dụng dạng chuẩn này, phải chuyển hệ phương trình vi phân dạng Cauchy trước áp dụng lệnh giải phương trình vi phân Matlab b Dạng hệ phương trình vi phân có ma trận khối lượng Dưới số tiêu đánh giá chất lượng hai nhíp dước tác dụng tải trọng 1110 Kg (tải trọng lên nhíp): TT w(i) (t) thành phần thứ i véc tơ W(t) có n phần tử đạo hàm theo biến t ký hiệu w'(t) 17.94 t biến độc lập (thường thời gian), Chỉ tiêu so sánh Nhíp sau tối ưu Nhíp cũ Khối lượng (1/2 nhíp khơng kể phần ngàm) 7.157 (Kg) 15.456 (Kg) Độ cứng 84.53 Kg/cm 87.62 Kg/cm ứng suất lớn 9140 Kg/cm2 Trong thực tế tính tốn, khơng phải lúc dễ dàng chuyển hệ phương trình vi phân mơ tả hệ thống dạng tường minh Chính từ phiên 5.0, Matlab cho phép giải hệ phương trình vi phân dạng ẩn (có ma trận khối lượng) sau: 10605 Kg/cm2 M.W'(t)=F(t,w) (2-3) Trong đó: 214 215 M ma trận vuông n,n : phần tử ma trận số, hàm phụ thuộc vào t : M(t) phụ thuộc vào thời gian biến trạng thái M(t,w) 6.3.2 Phương pháp giải hệ phương trình Cauchy MATLAB Để giải hệ phương trình vi phân Matlab phải thực bước sau đây: c Các phương trình cứng (stiff equation) a Chuyển đổi hệ phương trình vi phân dạng chuẩn Các hệ phương trình vi phân có giá trị riêng khác biệt lớn gọi hệ phương trình cứng Khác với hệ phương trình vi phân thơng thường, hệ phương trình vi phân cứng yêu cầu khác biệt lớn giá trị bước thời gian sử dụng phương pháp số để giải chúng Chính số phương pháp số dùng để giải hệ phương trình vi phân thơng thường tỏ khơng hiệu dùng để giải hệ phương trình vi phân cứng Dạng chuẩn hiểu theo nghĩa rộng dạng Cauchy ( 2-2) dạng mở rộng có ma trận khối lượng M, M(t) hay M(t,w) Chú ý: phải ý đến trật tự đặt biến véc tơ biến trạng thái để không nhầm lẫn chúng gán điều kiện đầu xử lý kết Ví dụ hệ phương trình vi phân cứng Chúng ta cần xác định nghiệm theo thời gian hệ phương trình: ′ X1 = 998X1 + 1998X X′2 = −999X1 − 1999X X1 (0) = Ví dụ: có hệ phương trình vi phân mơ tả chuyển động hệ sau: X (0) = (1 + cos t ).Y′′′ + 2.e15.t Y′′ + Y = e30 t Sin (10 t ) Trong dạng không gian trạng thái, phương trình viết: Để chuyển dạng chuẩn, đổi biến: Trong đó: A= 1998 − 999 − 1999 , B= (2-4) Với điều kiện đầu là: Y(0)=0; Y'(0)=1; Y"(0)=2 x'= A.x +B.u 998 Khi chuyển đổi dạng chuẩn trước hết phải đổi biến để chuyển đạo hàm bậc cao thành đạo hàm bậc nhất, sau chuyển hệ dạng véc tơ (dạng 2-2) chuyển điều kiện đầu về dạng véc tơ Y=Y1; Y'=Y2; Y"=Y3 (2-5) Khi có: Y'1=Y2; Y'2=Y3; Các giá trị riêng ma trận A λ1=-1, λ2=-1000 (2-6) Thế phương trình 2-6 vào phương trình 2-4 chuyển vế được: Nghiệm xác phương trình có dạng: e 30 t Sin (10t ) − Y1 − 2e15 t Y3 (2-7) + cos t Kết hợp phương trình 2-6 2-7, nhận hệ dạng chuẩn: X1 = C1e − t + C e −1000 t Y3′ = X = C3 e −t + C e −1000 t Chúng ta nhận thấy hệ thống có thành phần có số thời gian khác biệt lớn Bước thời gian cần thiết tích phân số phương trình điều khiển thành phần số thời gian có giá trị lớn hơn, để đảm bảo độ xác phải chọn bước thời gian nhỏ: ví dụ chọn độ lớn bước tính 1/10 giá trị ngịch đảo λ2 giá trị bước thời gian phải ∆t=0.00001 s Tuy nhiên ảnh hưởng thành phần thứ giảm nhanh thời gian tăng lên Như thời gian đủ lớn tăng giá trị bước thời gian lên nhiều lần để đẩy nhanh tốc độ tính tốn Y′ = Y ′ Y2 = Y3 (2-8) e30 t sin(10t ) − Y1 − 2e15 t Y3 Y3′ = + cos t Véc tơ điều kiện đầu tương ứng [0, 1, 2]T b Viết M-file mơ tả hệ phương trình vi phân (ODE File) ODE File tệp dạng m code người dùng viết để định nghĩa phương trình vi phân dùng cho lệnh giải phương trình vi phân Matlab 216 217 (lệnh ODE) tương ứng M- file tham chiếu đến câu lệnh ODE với tên 'ODE File' nhiên đặt cho tên Mặc định lệnh ODE giải toán với điều kiện đầu dạng: dy/dt=F(t,y), t biến độc lập Y véc tơ biến phụ thuộc Để thực điều lệnh ODE trình giải phương trình gọi hàm F = odefile(t,Y), t dẫy số vô hướng, Y véc tơ cột kết đưa hàm véc tơ cột Chú ý tệp ODE phải chấp nhận đối số t Y cho dù không dùng đến đối số Trong trường hợp đơn giản tệp ODE viết dạng: ode15s Cứng Thấp đến trung bình Dùng để giải hệ cứng có ma trận độ cứng ode23s Cứng thấp Dùng ước lượng sai số giải hệ cứng hặc có ma trận khối lượng số ode23t Cứng trung bình Thấp Nếu toán cứng cần lời giải khơng có giảm chấn ode23tb Cứng Thấp Sử dụng để ước lượng sai số giải hệ cứng có ma trận khối lượng function F = odefile(t,y) Bảng 2-1: Các lệnh giải phương trình vi phân Matlab F = < chèn hàm t (hoặc) y >; Tất lệnh có chung cách sử dụng Cú pháp đơn giản chúng là: Ví dụ: Để giải phương trình 2-4 chuyển thành dạng chuẩn 2-8, cần phải viết Odefile sau: [t,Y] = solver('F',tspan,y0) Trong đó: Solver tên lệnh ODE (ví dụ ode45, ode15s ) function F=Ptvp(t,Y) 'F' F(2,1)=Y(3); F(3,1)=(exp(30*t)*sin(10*t)-Y(1)-2*exp(15*t)*Y(3))/(1+cos(t)^2) tên tệp m-file mơ tả hệ phương trình vi phân y0 F(1,1)= Y(2); véc tơ điều kiện đầu (các điều kiện đầu phải đặt véc tơ cột) tspan: xác định khoảng tích phân: tspan véc tơ có hai giá trị: giá trị quy định thời gian bắt đầu giá trị thứ hai quy định thời gian kết thúc q trình tính toán Nếu tspan véc tơ nhiều phần tử, quy định mốc thời gian cần xuất kết phân tích Và ghi vào tệp có tên Ptvp.m c Gọi lệnh ODE t véc tơ mốc thời gian xuất kết phân tích Matlab cung cấp cho lệnh giải phương trình vi phân khác Đặc điểm phạm vi sử dụng lệnh dẫn bảng 2-1: Y ma trận, cột tương ứng véc tơ biến trạng thái, trật tự biến trạng thái quy định m-file Lệnh Kiểu tốn Bậc xác Phạm vi sử dụng ode45 Khơng cứng Trung bình Thường dùng nhất, hay dùng cho lần thử ode23 Không cứng Thấp Dùng để ước lượng thô sai số ode113 Khơng cứng thấp đến cao Ví dụ: để giải hệ 2-4 khoảng thời gian từ đến 10s, cần gọi lệnh ODE sau: [t,y]=ode45('Ptvp',[0, 10], [0; 1; 2]) Để vẽ đường y(t); y'(t); y"(t), gọi lệnh sau matlab: plot(t, y(:,1)); plot(t,y(:,2); plot(t, y(:,3)) Dùng yêu cầu sai số tương đối nghiêm khắc tính tốn tệp ODE cần nhiều thời gian tính tốn 218 Chú ý: Nếu gọi lệnh ODE khơng có vế trái, kết xuất dạng đồ thị hàm y(t); y'(t); y"(t) 219 6.3.3 Giải hệ phương trình vi phân có ma trận khối lượng ODE file chặt chẽ nên phải đưa tham số vào vị trí nó: Việc giải hệ phương trình vi phân có ma trận khối lượng tương tự giải hệ dạng chuẩn có nghĩa cần thực qua ba bước Các điểm khác biệt là: Cách viết ODE file: Trong ODE file cần định nghĩa thêm ma trận khối lượng bật chế độ giải hệ có ma trận khối lượng Lựa chọn lệnh ODE phù hợp (xem chi tiết bảng 2-1) a Cấu trúc tệp ODE function F=ODEFILE(t,y,flag, p1,p2, ) F=f(t,y,p1,p2 ) % chèn hàm dy/dt với thông số p1, p2 vào b Cú pháp câu lệnh ODE [t,Y] = solver('F',tspan,y0, [ ], val1, val2 ) Cách viết ODE file để giải hệ có ma trận khối lượng Để định nghĩa ma trận khối lượng bật chế độ giải hệ có ma trận khối lượng, cấu trúc ODE file có dạng sau: Trong đó: val1, val2 giá trị tương ứng thơng số p1, p2 function [out1, out2, out3] = odefile(t,y,flag) Các đối số cịn lại có ý nghĩa giống phần trên.(chú ý đối số thứ bắt buộc giá trị rỗng [ ]) switch flag case '' 6.3.5 Xác định điểm cực trị, điểm uốn đường cong nghiệm % đưa hàm dy/dt = f(t,y) Tương tự giải hệ có ma trận khối lượng, để xác định điểm đặc biệt như: cực trị, điểm uốn đường cong biến trạng thái phải gọi lệnh Ode viết ode-file theo cấu trúc khác: out1 = f(t,y); case 'init' % bật chế độ tính với ma trận khối lượng out1=[ ]; a Viết Ode-file: out2=[ ]; Trong Ode-file phải bật chế độ xác định "sự kiện" định nghĩa kiện cần xác định Ode-file trường hợp có cấu trúc sau: out3=odeset('mass', 'giá trị'); case 'mass' % đưa ma trận khối lượng out1= function [out1, out2, out3] = odefile(t,y,flag) end; switch flag Chú ý: Khi flag='init' gán thông số 'mass' lệnh odeset giá trị sau: case '' % đưa giá trị dy/dt = f(t,y) Out1 = f(t,y); 'M' ma trận khối lượng có phần tử số, case 'init' 'M(t)' ma trận khối lượng có giá trị phụ thuộc vào thời gian 'M(t,y)' ma trận khối lượng có giá trị phụ thuộc vào thời gian biến trạng thái % bật chế độ xác định kiện Out1 = [ ]; Out2= [ ]; Out3=odeset('Events', 'on'); 6.3.4 Giải hệ phương trình vi phân có tham số case 'events' Để đưa tham số vào phương trình vi phân phải truyền tham số vào ODE file câu lệnh ODE phải đưa giá trị tham số vào câu lệnh Do trật tự đối số câu lệnh ODE định nghĩa 220 % Định nghĩa kiện Out1 = < Chèn véc tơ hàm kiện vào > Out2 = < Chèn véc tơ lơ gíc vào đây.>; 221 Options = ODESET('Name1',Value1,'Name2',Value2, ) Out3 = < Chèn véc tơ hướng vào đây.>; otherwise Trong đó: error(['Unknown flag ''' flag '''.']); end; 'Name1', 'Name2' Là tên thuộc tính quy định Matlab Trong đó: a Các thuộc tính ODESET Véc tơ hàm kiện: véc tơ cột hàm phụ thuộc vào biến trạng thái thời gian Tuỳ thuộc vào yêu cầu xác định kiện mà chọn hàm kiện Ví dụ để xác định cực trị hàm số, cần xác định điểm mà đạo hàm bậc có nghĩa hàm y' chọn hàm kiện, xác định điểm uốn hàm kiện y" Véc tơ lơ gíc: véc tơ cột giá trị Nếu giá trị lơ gíc 0, việc phân tích khơng dừng lại tìm thấy kiện, cịn giá trị lơgic 1, chương trình dừng lại sau xác định kiện Véc tơ hướng: Véc tơ hướng véc tơ cột giá trị 0, -1, dùng để xác định hướng phát triển hàm số xác định kiện: giá trị 1, -1, tương ứng kiện xác định hàm tăng, giảm, khơng xét tới chiều biến thiên hàm Ví dụ muốn xác định điểm cực đại hàm số cần phải chọn hàm kiện y', giá trị lơ gíc =0, giá trị hướng b Gọi lệnh Ode [t,Y,te,ye,ie] = solver('F',tspan,y0) AbsTol: Giá trị sai số tuyệt đối, giá trị mặc định 1e-6, giá trị áp dụng cho tất véc tơ tính tốn Refine: Hệ số độ mịn liệu xuất Thuộc tính tăng số lượng điểm liệu Giá trị mặc định OutputFcn: Tên hàm dùng để xuất liệu Hàm xuất gọi bước tích phân Khi lệnh ODE gọi khơng có đối số ra, máy dùng hàm quy định thuộc tính này, giá trị mặc định 'odeplot' Giá trị thuộc tính chuỗi tên hàm cần gọi OutputSel: Các số lựa chọn cho việc xuất kết Véc tơ số hàm véc tơ hàm xuất gửi tới hàm OutputFcn Mặc định tất hàm đưa Giá trị thuộc tính véc tơ số nguyên Stats: Hiển thị thống kê q trình tính Giá trị 'on' - bật chế độ hiển thị 'off' - tắt chế độ hiển thị Mặc định 'off' JConstant: Ma trận Jacobi số [on/off] Ấn định thuộc tính on ma trận Jacobi số Trong đó: Retol: Sai số tương đối, giá trị mặc định 1e-3 sai số bước tính cần thoả mãn điều kiện: e(i) % Return [value,isterminal,direction] isterminal = < Chèn véc tơ lơ gíc vào đây.>; [varargout{1:3}] = events(t,y,p1,p2); direction = < Chèn véc tơ hướng vào đây.>; otherwise error(['Unknown flag ''' flag '''.']); end; 6.3.8 Các ví dụ giải phương trình vi phân MATLAB Các hàm gọi ode- file viết sau: Cho phương trình Van der Pol: Hàm định nghĩa phương trình vi phân Phương trình chuyển thành hệ phương trình: function dydt = f(t,y,p1,p2) dydt = < Chèn hàm phụ thuộc vào t và/hoặc y , p1, p2 đây.> Giải phương trình với : µ=1; t=[0 20]; y0=2; y'0=0 Hàm xác định điều kiện đầu tuỳ chọn M-file function [tspan,y0,options] = init(p1,p2) tspan = < Chèn véc tơ phân bố thời gian >; function out1 = vdp1(t,y) y0 = < Chèn điều kiện đầu đây>; out1 = [y(2); (1-y(1)^2)*y(2) - y(1)]; options = < Chèn tuỳ chọn lệnh ODE [ ] >; Câu lệnh gọi Matlab [t,y] = ode45('vdp1',[0 20],[2; 0]); plot(t,y(:,1),'-',t,y(:,2),'-.') Hàm định nghĩa ma trận Jacobi Giải phương trình với việc đưa điều kiện đầu trực tiếp vào ODE File function dfdy = jacobian(t,y,p1,p2) M-file dfdy = < Chèn ma trận Gia cô bi >; function [out1,out2,out3] = vdp1(t,y,flag) Hàm định nghĩa ma trận khối lượng switch flag function M = mass(t,y,p1,p2) case '' M = < Chèn ma trận khối lượng vào >; out1 = [y(2); (1-y(1)^2)*y(2) y(1)]; Hàm định nghĩa kiện case 'init' 226 227 ode45('vdp1',[0, 20],[2;0],[ ], 2) out1=[0 20]; out2=[2;0]; Ta có nghiệm µ=2, out3=[ ]; Nếu gọi câu lệnh: ode45('vdp1',[0, 20], [2;0]) end; Ta có nghiệm µ=1 (trường hợp mặc định) Câu lệnh gọi Matlab 3.3, Trường hợp mở rộng cho nhiều tình khác nhau: [t,y] = ode45('vdp1') M-file plot(t,y(:,1),'-',t,y(:,2),'-.') function [out1,out2,out3] = vdp1(t,y,flag,m) Giải phương trình vi phân với khả nhập giá trị µ từ dịng lệnh if nargin