Các chương trình Add-on được chạy trên nềncủa phần mềm Ansys, sử dụng các ngôn ngữ lập trình mà Ansys cho phép nhưAPDL, TCL/TK, JPDL, Jscript,…Chính việc này lại bó hẹp các nhà kỹ sư thi
Trang 1MỤC LỤC Trang
MỤC LỤC……… 1
LỜI NÓI ĐẦU……….
4 I YÊU CẦU THỰC TIỄN, Ý TƯỞNG THIẾT KẾ, MỤC ĐÍCH 6 I.1 Yêu cầu thực tiễn………
6 I.2 Ý tưởng thiết kế……… 7
I.3 Mục đích………
8 II GIỚI THIỆU CHUNG………
9 II.1 Một số ngôn ngữ lập trình ứng dụng……… 9
II.1.1 Ngôn ngữ lập trình TCK/TK……… 9
II.1.2 Ngôn ngữ lập trình Asembly……… 10
II.1.3 Ngôn ngữ lập trình VBA……… 11
II.1.4 Ngôn ngữ lập trình Jscript……… 11
II.1.5 Ngôn ngữ lập trình Csharp (C#) ………
13 II.2 Phân tích phần tử hữu hạn – FEA là gì?
13 II.2.1 Giới thiệu về FEA – Finite Element Analysis………
13 II.2.2 Lợi ích FEA mang lại? 14
II.3 Công ty Ansys Inc và bộ phần mềm Ansys………. 14
II.3.1 Công ty Ansys……… 14
II.3.2 Phần mềm Ansys……… 16
III CƠ SỞ LÝ THUYẾT………. 18
Phương pháp PTHH (FEM – Finite Element Method)……… 18
III.1 Khái niệm……… 18
III.2 Lịch sử phát triển………
18 III.3 Nội dung………
20
Trang 2III.3.1 Xấp xỉ bằng phần tử hữu
hạn………
20 III.3.2 Định nghĩa hình học các phần tử hữu hạn………
21 III.3.3 Các dạng phần tử……… 21
III.3.4 Phần tử quy chiếu, phần tử thực……… 22
III.3.5 Lực, chuyển vị, biến dạng, ứng suất……… 25
III.3.6 Nguyên lý cực tiểu hóa thế năng toàn phần……… 26
III.3.7 Trình tự phân tích bài toán theo PPPTHH………
26 III.3.8 Sơ đồ tính toán bằng PPPTHH………
28 III.4 Ứng dụng……….
29 IV LẬP TRÌNH TRONG ANSYS……… 30
IV.1 Giới thiệu về các chương trình ứng dụng Add-ons………. 30
IV.2 Lập trình Add-ons trên nền phần mềm Ansys……… 34
IV.2.1 Giới thiệu……… 34
IV.2.2 Lập trình tương tác trên nền Ansys Cổ điển (Multiphysics)……… 34
IV.2.3 Lập trình tương tác trên nền Ansys WorkBench………
35 IV.2.4 Cấu trúc phần mềm Ansys WorkBench………
36 IV.2.5 Ngôn ngữ lập trình ứng dụng trong ANSYS WorkBench
………
36 IV.2.6 Các phương pháp tương tác với Ansys WorkBench………
37 IV.2.7 Ứng dụng của chương trình Add-on trên nền AnsysWorkBench… 37 IV.3 Công cụ lập trình………
37 IV.3.1 Chương trình ActiveX Helper v1.12……… 37
IV.3.2 Chương trình DLL Export Viewer v1.25……… 40
IV.3.3 Chương trình Visual Studio 2005……… 43
V BÀI TOÁN ÁP DỤNG……… 45
Trang 3V.1.1 Cầu trục một dầm hộp……… 45
Trang 5LỜI NÓI ĐẦU
Tính toán thiết kế là một công việc hết sức quan trọng của người kỹ sư thiết kế.Công việc này không chỉ đòi hỏi trình độ, mà nó còn cần ở người kỹ sư một tư duysáng tạo, biết đột phá, áp dụng những tiến bộ mới của khoa học kỹ thuật vào quátrình thiết kế
Trước những yêu cầu đặt ra của những bài toán thiết kế, người kỹ sư phải tínhtoán rất nhiều các thông số kỹ thuật như : hình dáng, các kích thước cơ bản cũng nhưcác kích thước chính xác của vật thể cần thiết kế, các chỉ số vật liệu, chế độ làm việc,
độ bền,… để từ đó tổng hợp lại và đưa ra lời giải cho bài toán
Thời đại công nghệ thông tin đã và đang đi vào cuộc sống và dần trở thành mộtcông cụ đắc lực trong kỹ thuật, các sản phẩm phần mềm tin học kỹ thuật có vai tròhết sức quan trọng trong công việc thiết kế của người kỹ sư, nó giúp cho các kỹ sưnhanh chóng tính toán, thẩm định khảo sát kết quả thiết kế và thực nghiệm mô phỏngtrên máy tính thay vì phải chế tạo thử nghiệm hết sức tốn kém
Trong phạm vi đồ án tốt nghiệp, bên cạnh việc nghiên cứu các phương pháptruyền thống để tính toán và thiết kế em đã tìm hiểu và sử dụng một số phần mềmtính toán thiết kế mô phỏng và tối ưu để bước đầu giải quyết một số dạng bài toán cơhọc
Bản thuyết minh đồ án được phân thành 6 phần:
Phần 1: Yêu cầu thực tiễn, ý tưởng thiết kế, mục đích
Phần 2: Giới thiệu chung
Phần 3: Cơ sở lý thuyết
Phần 4: Lập trình trong ANSYS
Phần 5: Bài toán áp dụng
Phần 6: Kết luận
Trang 6Trong quá trình thực hiện đồ án tốt nghiệp em đã nhận được sự hướng dẫn nhiệttình của PGS TS Nguyễn Việt Hùng cũng như sự giúp đỡ và tạo điều kiện của cácthầy cô cùng các anh chị trong trung tâm Phát triển và ứng dụng phần mềm Côngnghiệp DASI.
Em xin chân thành cảm ơn các thầy cô đã giúp đỡ em hoàn thành đồ án tốtnghiệp này
Hà Nội Ngày tháng năm 2009
Vũ Tuấn Anh
Trang 7I YÊU CẦU THỰC TIỄN, Ý TƯỞNG THIẾT KẾ, MỤC ĐÍCH.
I.1 Yêu cầu thực tiễn
Ngày nay, với sự phát triển thần kỳ của công nghệ thông tin (CNTT), cùngvới sự ra đời của những chiếc máy tính có dung lượng bộ nhớ lớn và tốc độ cao,phương pháp PTHH đã thực sự trở thành một phương pháp phổ biến được sử dụngtrên máy tính để giải quyết các bài toán kết cấu, thực hiện các bài toán cơ học mộtcách dễ dàng và tốn ít thời gian, thay vì việc phải tính toán thủ công bằng cácphương pháp truyền thống như phương pháp lực, phương pháp chuyển vị, … mấtnhiều thời gian và công sức Đó là vì các thuật toán của phương pháp PTHH rấtgần gũi với những ý tưởng của CNTT như: kiến trúc thông tin phân tầng, có thểđóng gói trong các ma trận để chuyển, hợp và xử lý…Hơn nữa, dưới sự trợ giúpcủa máy tính điện tử, việc tính toán trở nên chính xác, nhanh chóng và gọn gànghơn khi phải tính toán bằng tay Xuất phát từ những điều kiện trên lần lượt cáccông ty phần mềm công nghiệp đã cho ra đời hàng loạt các phần mềm tính toánthiết kế và mô phỏng số dựa trên thuật toán của phương pháp PTHH như SAP,COSMOS, NASTRAN, ANSYS, ABAQUS…
Sự ra đời của các phần mềm tính toán sử dụng phương pháp PTHH kéo theoviệc sử dụng chúng trở nên rất cần thiết Để mọi người có thể sử dụng thành thạomột trong các phần mềm công cụ phải mất 1 khoảng thời gian và 1 khoản chi phícho việc đào tạo Trước vấn đề đó nhiều ý tưởng đã nảy ra trong đầu các nhà kỹ sưthiết kế rằng:
Tại sao không thiết kế riêng cho mình một công cụ mà có thể dễ dàng thaotác với các câu lệnh điều khiển của phần mềm gốc, giao diện thân thiện màkhông làm ảnh hưởng đến thuật toán của nó?
Tại sao không tạo một công cụ thiêt kế riêng có đầy đủ các thuật toán củaphần mềm gốc và tích hợp thêm các thuật giải của bản thân vào công cụ
Trang 8tính toán thiết kế mô phỏng trung gian tiện lợi hơn cho những bài toán cụthể?
I.2 Ý tưởng thiết kế
Phần mềm Ansys là phần mềm rất nổi tiếng về lĩnh vực tính toán thiết kế môphỏng sử dụng phương pháp phần tử hữu hạn Việc tích hợp thêm các phần tiện íchcho từng bài toán đối với Ansys trở nên hết sức dễ dàng khi Ansys cung cấp chocác kỹ sư cách thức để lập trình, đưa thêm những thuật giải của mình vào, kết hợpvới thuật giải của Ansys để đưa ra một lời giải tối ưu cho bài toán cơ học cụ thể, đóchính là các chương trình Add-on Các chương trình Add-on được chạy trên nềncủa phần mềm Ansys, sử dụng các ngôn ngữ lập trình mà Ansys cho phép nhưAPDL, TCL/TK, JPDL, Jscript,…Chính việc này lại bó hẹp các nhà kỹ sư thiết kếtrong việc lựa chọn ngôn ngữ lập trình trong việc xây dựng các phần mềm Add-on
Có nhiều ngôn ngữ lập trình mạnh mẽ và hiệu quả hơn các ngôn ngữ mà Ansys chophép bên trên khi chạy trên nền hệ điều hành Windows, nhưng lại không được chophép bởi các kỹ sư thiết kế của Ansys vì nó can thiệp quá sâu vào bên trong phầnmềm Ansys, khiến họ bắt buộc phải hạn chế các ngôn ngữ lập trình có thể canthiệp vào cấu trúc phần mềm Ansys Tuy nhiên, nếu là một kỹ sư am hiểu về côngnghệ thông tin và kiến trúc phần mềm thì việc can thiệp vào cấu trúc phần mềmAnsys là hoàn toàn có thể Bởi lẽ, cũng giống như các chương trình khác, phiênbản Ansys 11.0 cài trên nền hệ điều Hành Windows cũng được xây dựng dựa trêncác thư viện hàm động DLL và các đối tượng ActiveXObject của hệ điều hànhWindows Thực chất các ngôn ngữ lập trình mà Ansys cho phép các kỹ sư sử dụngcũng là gọi đến các hàm chức năng, các đối tượng chứa trong các thư viện DLL vàcác đối tượng ActiveXObject mà Ansys định nghĩa ra và đưa vào trong hệ thốngcủa Hệ điều hành Windows trong quá trình cài đặt Chính các file thư viện DLL vàcác đối tượng ActiveXObject (ocx) này mới là phần cốt lõi bên trong của quá trìnhthực hiện tính toán trên Ansys Thêm vào đó, phần mềm Ansys đã định nghĩa ra
Trang 9các hàm và sử dụng chúng chủ yếu để thao tác xuống các hàm bên dưới của cácthư viện DLL bằng các đoạn mã Jscript bên trong chương trình, người lập trình cóthể liệt kê chúng thông qua các chương trình đọc file văn bản bình thường Nếunắm được các thư viện hàm mà Ansys định nghĩa ra khi xây dựng phần mềmAnsys này, các kỹ sư hoàn toàn có thể tạo ra các phần mềm tiện ích sử dụng cácthuật toán của Ansys và chạy một cách độc lập mà ko cần phải khởi động Ansystrước khi chạy phần mềm Add-on của mình.
Trước những tiền đề vô cùng thuật lợi đó em đã có ý tưởng xây dựng mộtphần mềm Add-on mà có thể thực hiện các thuật toán của mình để xây dựng lêncác mô hình và gọi Ansys ra để vẽ và tính toán Sau khi tính toán lại có thể lấy kếtquả giải trong Ansys để đưa vào phần mềm của mình, khiến cho phần mềm Add-
on trở lên tiện lợi, trực quan, sinh động và dễ dàng sử dụng hơn cho các kỹ sưtrong quá trình sử dụng Ansys áp dụng vào bài toán cơ học cụ thể
I.3 Mục đích
Xây dựng chương trình Add-on có đầy đủ các đặc điểm dưới đây:
Giao diện thân thiện với người dùng
Thao tác đơn giản
Thiết kế nhỏ gọn
Dễ dàng triển khai
Chi phí ít tốn kém
Kết quả trực quan sinh động
Có thể tái sử dụng cho các bài toán cụ thể khác
Mở rộng phạm vi sử dụng ra nhiều máy khác nhau mà trên đó có thể không cài đặt phần mềm ANSYS (Lập trình phân tán)
Trang 10II GIỚI THIỆU CHUNG
II.1 Một số ngôn ngữ lập trình ứng dụng
II.1.1 Ngôn ngữ lập trình TCL/TK
Tcl hay TCL (viết tắt từ Tool Command Language) là một ngôn ngữ thôngdịch mạnh mẽ và dễ sử dụng Nó có thể chạy trên nhiều hệ điều hành khác nhau.Tcl được Giáo sư John Ousterhout của Đại học California tại Berkeley xây dựngvào năm 1988, đầu tiên từ ý tưởng xây dựng một ngôn ngữ thông dịch hiệu quả, vàsau đó là bộ thư viện kèm theo có thể tái sử dụng trong các chương trình sau này.Mục tiêu chính của Tcl là một “embedded command language” (ngôn ngữlệnh nhúng được) thể hiện ở 3 nội dung:
Ngôn ngữ có thể mở rộng được: mỗi chương trình đều có thể bổ sung các đặc điểm vào ngôn ngữ một cách tự nhiên như chính thư viện vốn có của ngôn ngữ
Ngôn ngữ phải đơn giản và có tính tổng quát, do đó có thể làm việc với nhiều chương trình mà không làm giới hạn tính năng của chúng
Ngôn ngữ có tính gắn kết giữa các phần mở rộng khác nhau trong một chương trình
Tcl được ứng dụng trong các lĩnh vực từ trên máy tính cá nhân cho đến cácứng dụng mạng, quản trị, kiểm tra và một số ứng dụng phần mềm công nghiệp.Các gói mở rộng (package) của Tcl bao gồm:
Expect: là gói được Don Libes viết bằng ngôn ngữ Tcl vào đầu năm 1990 Khi
sử dụng cùng với gói Expect, Tcl trở thành một công cụ để kiểm tra các ứng dụngchạy trên console (cửa sổ dòng lệnh)
Tk: là gói mở rộng để xây dựng giao diện người dùng đồ họa (GUI) với ngônngữ Tcl Tk được Ousterhout bắt đầu viết vào năm 1988 và đến 1990 thì có nhiềutính năng sử dụng được Bộ Tk hiện giờ không chỉ hoạt động trong Tcl mà còn
Trang 11được cặp với các ngôn ngữ khác (dưới dạng các bindings) như Perl/Tk với ngônngữ Perl và Tkinter với ngôn ngữ Python
II.1.2 Ngôn ngữ lập trình Asembly
Ngôn ngữ Assembly (còn gọi là hợp ngữ) là một ngôn ngữ bậc thấp đượcdùng trong việc viết các chương trình máy tính Ngôn ngữ Assembly sử dụng các
từ có tính gợi nhớ, các từ viết tắt để giúp ta dễ ghi nhớ các chỉ thị phức tạp và làmcho việc lập trình bằng Assembly dễ dàng hơn Mục đích của việc dùng các từ gợinhớ là nhằm thay thế việc lập trình trực tiếp bằng ngôn ngữ máy được sử dụngtrong các máy tính đầu tiên thường gặp nhiều lỗi và tốn thời gian Một chươngtrình viết bằng ngôn ngữ Assembly được dịch thành mã máy bằng một chươngtrình tiện ích được gọi là Assembler (Một chương trình Assembler khác với mộttrình biên dịch ở chỗ nó chuyển đổi mỗi lệnh của chương trình Assembly thànhmột lệnh của máy)
Các chương trình viết bằng ngôn ngữ Assembly liên quan rất chặt chẽ đếnkiến trúc của máy tính Điều này khác với ngôn ngữ lập trình bậc cao, ít phụ thuộcvào phần cứng
Trước đây ngôn ngữ Assembly được sử dụng khá nhiều nhưng ngày nay phạm
vi sử dụng khá hẹp, chủ yếu trong việc thao tác trực tiếp với phần cứng hoặc hoặclàm các công việc không thường xuyên Ngôn ngữ này thường được dùng cho trìnhđiều khiển (tiếng Anh: driver), hệ nhúng bậc thấp (tiếng Anh: low-level embeddedsystems) và các hệ thời gian thực Những ứng dụng này có ưu điểm là tốc độ xử lícác lệnh Assembly nhanh
Định nghĩa Assembly trong môi trường NET: Trong phát triển phần mềmtrên nền NET, mỗi một module là một file có thể thực thi Mỗi module có thể làmột thư viện động (.dll) hoặc là một file thực thi (.exe) Một gói kết hợp Assembly
là sự kết hợp của một hoặc nhiều module, hoặc file (dll, exe,html) cần để ứng dụnghoạt động, Assembly là đơn vị nhỏ nhất của đoạn mã có khả năng thực thi, đó là
Trang 12đoạn mã có thể nâng cấp và sửa đổi được Các gói Assembly có thể chứa chỉ sốphiên bản ứng dụng.
Trang 13II.1.3 Ngôn ngữ lập trình VBA - Visual Basic for Applications
Visual Basic for Applications (VBA) là một sự bổ sung của Microsoft's VisualBasic, được xây dựng trong tất cả các ứng dụng Microsoft Office (bao gồm cảphiên bản cho hệ điều hành Mac OS), một số ứng dụng của Microsoft khác nhưMicrosoft MapPoint và Microsoft Visio - một ứng dụng trước đây của Microsoft; ítnhất đã được bổ sung thành công trong những ứng dụng khác như AutoCAD,WordPerfect và ESRI ArcGIS Nó đã được thay thế và mở rộng trên khả năng củangôn ngữ macro đặc trưng như WordBasic của Word, và có thể được sử dụng đểđiều khiển hầu hết tất cả khía cạnh của ứng dụng chủ, kể cả vận dụng nét riêng biệt
về giao diện người dùng như các menu và toolbar và làm việc với các hình tháihoặc hộp thoại tùy ý VBA có thể được sử dụng để tạo ra các bộ lọc xuất nhập chocác định dạng tập tin khác nhau như ODF
Như tên gọi của mình, VBA khá gần gũi với Visual Basic, nhưng nó chỉ cóthể chạy trong ứng dụng chủ chứ không phải 1 chương trình độc lập Nó có thểđược dùng để điều khiển 1 ứng dụng từ 1 OLE tự động (ví dụ, tự động tạo 1 bảnbáo cáo bằng Word từ dữ liệu trong Excel)
VBA có nhiều khả năng và cực kì mềm dẻo nhưng nó có một số hạn chế quantrọng, bao gồm hỗ trợ hạn chế cho các hàm gọi lại Nó có khả năng sử dụng(nhưng không tạo ra) các thư viện động, và các phân bản sau hỗ trợ cho các mô-đun lớp (class modules)
Microsoft có kế hoạch thay thế VBA bằng Visual Studio Tools forApplications (VSTA), một bộ công cụ thay đổi ứng dụng có nền tảng NET Tuynhiên những kĩ thuật này vẫn đang được nghiên cứu, vì vậy ít nhất bộ Office 2007vẫn sẽ dùng công nghệ VBA
II.1.4 Ngôn ngữ lập trình Jscript
Trang 14Windows Script scripting là một phần trong cơ sở hạ tầng được xây dựng chonền tảng Microsoft Windows Script cung cấp hai mô đun , Visual Basic Scripting
và Microsoft JScript , có thể được nhúng vào các ứng dụng Windows Nó cungcấp mảng lớn các công nghệ hỗ trợ giúp việc viết các ứng dụng windows trở nên
dễ dàng hơn cho người lập trình trên windows
Ban đầu Jscript của Microsoft ra đời nhằm mục đích phục vụ cho việc kết nốiInternet Sau này phiên bản JScript 5.6 thuộc thế hệ kế tiếp của Microsoft được ápdụng trong việc triển khai thực hiện các dự án theo chuẩn ngôn ngữ ECMA 262.Các thế hệ phiên bản sau cung cấp cho ngươi lập trình dễ dàng tạo ra các thànhphần COM sử dụng công cụ Microsoft Windows Script Host (WSH)
JScript của Microsoft là một phần triển khai thực hiện của ngôn ngữ đặc tảECMA 262 (ECMAScript ver 3) Với chỉ một số ít trường hợp ngoại lệ (để duy trìtính tương thích), JScript là một phần triển khai thực hiện đầy đủ các tiêu chuẩnECMA
JScript được giải thích như là một đối tượng dựa trên ngôn ngữ kịch bản Mặc
dù nó có ít khả năng hơn các ngôn ngữ lập trình hướng đối tượng như C / C + +,nhưng JScript lại mạnh mẽ hơn với các mục đích cụ thể khác
JScript không phải là phần đã được cắt giảm của một ngôn ngữ khác (ví dụ,Jscript có nét gì đó gián tiếp liên quan đến Java), và cũng không phải là một phầnđơn giản hóa của bất cứ điều gì hoặc có, tuy nhiên rất hạn hạn chế Người lập trìnhkhông thể viết các ứng dụng độclaapj bằng ngôn ngữ Jscript, chẳng hạn nó không
có công cụ hỗ trợ cho việc đọc hay viết các tập tin Hơn nữa, JScript chỉ có thểchạy trong một trình biên dịch hay "máy chủ", chẳng hạn như Active Server Pages(ASP), trình duyệt Internet Explorer, hoặc Windows Script Host…
Jscript là một ngôn ngữ “loosely typed” “loosely typed” có nghĩa là người lậptrình không cần phải tuyên bố loại dữ liệu của các biến rõ ràng Trong thực tế,JScript đưa nó tiến một bước xa hơn Bạn có thể không rõ ràng tuyên bố loại dữ
Trang 15liệu trong JScript Hơn nữa, trong nhiều trường hợp JScript tự động thực hiệnchuyển đổi khi cần thiết Ví dụ, nếu bạn thêm một số đến một mục bao gồm vănbản (một chuỗi ký tự), số là chuyển đổi sang văn bản…
Trang 16II.1.5 Ngôn ngữ lập trình Csharp (C#)
C# là ngôn ngữ lập trình thiết kế dùng để phát triển ứng dụng chạy trên NETframework, được phát triển bởi tập đoàn Microsoft C# là ngôn ngữ lập trình đơngiản và mạnh, kiểu an toàn (type-safe) và hướng đối tượng (object-oriented).Microsoft phát triển C# dựa trên C++ và Java C# được miêu tả là ngôn ngữ cóđược sự cân bằng giữa C++, Visual Basic, Delphi và Java
C# được thiết kế chủ yếu bởi kiến trúc sư phần mềm Anders Hejlsberg, tác giảcủa các ngôn ngữ lập trình nổi tiếng như: Turbo Pascal, Delphi, J++, WFC
C#, theo một hướng nào đó, là ngôn ngữ lập trình phản ánh trực tiếp nhấtđến NET Framework mà tất cả các chương trình NET chạy, và nó phụ thuộcmạnh mẽ vào Framework này Mọi dữ liệu cơ sở đều là đối tượng, được cấp phát
và hủy bỏ bởi trình dọn rác Garbage-Collection (GC), và nhiều kiểu trừu tượngkhác chẳng hạn như class, delegate, interface, exception, v.v, phản ánh rõ ràngnhững đặc trưng của môi trường thực thi NET
II.2 Phân tích phần tử hữu hạn – FEA là gì?
II.2.1 Giới thiệu về FEA – Finite Element Analysis
Phân tích bằng phần tử hữu hạn (Finite Element Analysis, FEA) là mộtphương pháp số dùng để mô phỏng các điều kiện tải trọng trên một hệ vật lý và xácđịnh ứng xử của hệ
Hệ vật lý được mô hình hóa bằng các phần tử rời rạc (elements):
Mỗi phần tử có các phương trình chính xác mô tả ứng xử của nó với một tảixác định
“Tổng” ứng xử của tất cả các phần tử trong mô hình sẽ cho ta ứng xử chungcủa hệ vật lý
Các phần tử có số lượng ẩn hữu hạn, do đó chúng là các phần tử hữu hạn(finite elements)
Trang 17Mô hình phần tử hữu hạn có số ẩn hữu hạn nên chỉ có thể mô phỏng gần đúngứng xử của hệ vật lý (có vô hạn số ẩn).
Vì thế sẽ nảy sinh câu hỏi: Độ chính xác của nghiệm xấp xỉ ?
Câu hỏi này không dễ trả lời Nó phụ thuộc hoàn toàn vào cách mô phỏng vàcông cụ được sử dụng để mô phỏng
II.2.2 Lợi ích FEA mang lại?
Giảm số lượng mẫu thí nghiệm vì mô phỏng trên máy tính cho phép giả lậpcác kịch bản “nếu… thì…” một cách nhanh chóng và thuận tiện
Mô phỏng những thiết kế khó (hoặc không thể) thực hiện với mẫu thực
Tiết kiệm chi phí, tiết kiệm thời gian
Tạo ra các thiết kế có chất lượng tốt hơn và tin cậy hơn
Để mang lại cái nhìn tổng quát nhất, nôi dung của phương pháp này sẽ đượctrình bày kỹ trong Chương II: Cơ Sở Lý thuyết
II.3 Công ty Ansys Inc và bộ phần mềm Ansys
II.3.1 Công ty Ansys
ANSYS Inc là một tổ chức phần mềm chuyên cung cấp các phần mềm môphỏng kỹ thuật có trụ sở chính được đặt tại Canonsburg, Pennsylvania, UnitedStates Ansys Inc ANSYS có đội ngũ nhân viên xấp xỉ 1400 người và có khoảng
25 đại lý phân phối sản phẩm và các kênh đối tác tại hơn 40 quốc gia trên thế giới.Công ty có mối quan hệ lâu dài với các khách hàng trong phạm vi ngành côngnghiệp, bao gồm giao thông vận tải chuyên chở, gắn kết các thiết bị điện, điện tử, ysinh, trang thiết bị công nghiệp, và hàng tiêu dùng
Từ năm 2000 trở lại đây, Ansys Inc đã mua lại một số công ty, trong đó baogồm: ICEM CFD Engineering, CADOE, CFX, Century Dynamics, HarvardThermal và cụ thể, năm 2006 Ansys đã thu mua “Swanson Analysis Systems”-Công ty được thành lập vào năm 1970 bởi kỹ sư phần mềm John Swanson và đổitên nó thành Fluent Inc
Trang 18ANSYS chuyên phát triển các sản phần phần mềm sử dụng phương pháp phântích phần tử hữu hạn và các phần mềm phân tích động lực học chất lỏng Trong sốcác phần mềm Công nghiệp được phát triển bởi Ansys, có lẽ được mọi người biếtđến nhiều nhất là sản phẩm phần mềm ANSYS dành cho tính toán cơ học (AnsysMechanical), Ansys Workbench (DesignMolder, DesignSpace, DesignExplorer…),Ansys Multiphysics và nhiều phần mềm khác
Peter J Smith: Chủ tịch hội đồng quản trị kiêm giám đốc điều hành.
Dr John A Swanson: Kỹ sư trưởng của ANSYS Inc., người đặt nền móng
cho sự phát triển của phần mềm Ansys
Và nhiều thành viên khác điển hình như: James E Cashman III, Paul A Johnson, John M Sherbin II, Dr Joseph S Solecki, Dr Shah M Yunus, Brian Butcher, Paul A Chilensky, David Conover, Karen C Harker, Mark C Imgrund, David S Secunda, James C Tung, Leonard Zera, v.v….
Hình 1 Công ty ANSYS
Trang 19II.3.2 Phần mềm Ansys
Phần mềm ANSYS do công ty phần mềm Ansys phát triển, là một gói phầnmềm hoàn chỉnh dựa trên Phân tích phần tử hữu hạn ( Finite Element Analysis,FEA), để mô phỏng ứng xử của một hệ vật lý khi chịu tác động của các loại tảitrọng khác nhau Phần mềm ANSYS được sử dụng rộng rãi trên toàn thế giới đểgiải quyết các bài toán thiết kế mô phỏng tối ưu két cấu và các quá trình truyềnnhiệt, dòng chảy (bao gồm cả Mô phỏng số động lực học dòng chảy - CFD), điện/tĩnh điện, điện từ… và tương tác giữa các môi trường hay các hệ vật lý Chính vìthế phần mềm ANSYS đã trở thành một công cụ mô phỏng rất hữu hiệu trong cáclĩnh vực công nghiệp như:
công nghiệp hàng không vũ trụ
công nghiệp ôtô
y sinh
xây dựng và cầu đường
Điện tử và thiết bị
Máy móc và thiết bị công nghiệp nặng
Các hệ vi cơ điện tử (Micro Electromechanical Systems, MEMS)
Dụng cụ thể thao
v.v…
* Một số chương trình phần mềm điển hình tích hợp trong bộ phần mềm
ANSYS được phát triển bởi ANSYS Inc.:
ANSYS Multiphysics: phần mềm Ansys Multiphysics là một công cụ tổng
hợp các bài toán về kết cấu, nhiệt, tính toán động học dòng chảy, âm thanh
và khả năng mô phỏng điện từ vào bên trong một phần mềm giải pháp kỹthuật
Trang 20 ANSYS DesignSpace: là một gói phần mềm mô phỏng dễ sử dụng cung cấp
công cụ để đưa ra các khái niệm, thiết kế, thực hiện các ý tưởng trên máytính để bàn DesignSpace cho phép người sử dụng dễ dàng triển khai môhình trong thực tế, các cấu trúc tĩnh, nhiệt độ, tối ưu hóa khối lượng, chế độrung, …trên các mô hình thiết kế, mà không cần phải phân tích kỹ bởiDesignSpage đã làm việc đó cho bạn
ANSYS DesignModeler: là phần mềm cung cấp chức năng cho việc xây
dựng các mô hình mô phỏng bao gồm tạo mô hình hình học chi tiết, môhình CAD, sửa đổi, bổ sung và định nghĩa các công cụ tạo ra mô hình
ANSYS DesignXplorer: cung cấp thêm các điều khiển tham số nâng cao
cho phép nghiên cứu mô phỏng nhằm đáp ứng các thay đổi dự kiến, tránhcác điều kiện làm việc không mong muốn của mô hình thực tế Module nàycho phép các kỹ sư thiết kế trong phòng thí nghiệm phân tích bất kỳ một
mô phỏng nào, bao gồm tất cả việc tham số về hình học (CAD) để tối ưuhóa mô hình
ANSYS AUTODYN: là một công cụ phân tích rõ ràng cho các mô hình
động học vật rắn phi tuyến, chất lỏng và chất khí cũng như những tương táccủa nó
ANSYS CFX: là một phần mềm tính toán động học chất lỏng mạnh mẽ và
linh hoạt sử dụng để mô phỏng kỹ thuật các cấp độ phức tạp Nó cung cấpmột loạt các mô hình vật lý có thể áp dụng trong phạm vi rộng các ngànhcông nghiệp và ứng dụng
ANSYS LS-DYNA: dùng để mô phỏng các hiện tượng phi tuyến phức tạp,
đưa ra các kết quả từ quá trình phát sinh biến dạng
v.v…
II.4 Trung tâm Phát triển và Ứng dụng Phần mềm Công nghiệp DASI
Trang 21Trung tâm Phát triển và Ứng dụng Phần mềm Công nghiệp (Trung tâm DASI)
- tên giao dịch quốc tế là DASI Center, được thành lập ngày 28/12/2001 theoQuyết định 685/QĐ-TC của Hiệu trưởng Trường Đại học Bách Khoa Hà Nội,nhằm mục đích hỗ trợ phát triển lĩnh vực phần mềm công nghiệp của Trường và làđịa chỉ hợp tác nghiên cứu, đào tạo và chuyển giao công nghệ với các đơn vị trongnước và quốc tế (DASI là địa chỉ hợp tác của ANSYS Inc.)
Hoạt động của DASI tập trung giải quyết những nhu cầu cấp thiết trong quátrình ứng dụng công nghệ thông tin và các công nghệ mới vào sản xuất, kinh doanh
và quản lý của doanh nghiệp Việt Nam, theo các định hướng chủ yếu:
Ứng dụng công nghiệp
Phát triển phần mềm
Đào tạo-chuyển giao công nghệ
Địa chỉ:
Tầng 6 - Thư Viện Tạ Quang Bửu Trường Đại học Bách Khoa Hà Nội
Số 1 Đại Cồ Việt - Hai Bà Trưng - Hà Nội
Tel: (84-4) 3.8.683.209 Fax: (84-4) 3.8.683.209
Hình 2 Thư viện Tạ Quang Bửu
Trang 22III CƠ SỞ LÝ THUYẾT
Phương pháp phần tử hữu hạn (FEM – Finite Element Method)
III.1 Khái niệm
Phương pháp phần tử hữu hạn là một phương pháp số đặc biệt hiệu quả đểgiải các bài toán được mô tả bởi các phương trình vi phân riêng phần cùng với cácđiều kiện biên cụ thể
Cơ sở của phương pháp này là làm rời rạc hóa các miền liên tục phức tạp củabài toán Các miền liên tục được chia thành nhiều miền con (phần tử) Các miềnnày được liên kết với nhau tại các điểm nút Trên miền con này, dạng biến phântương đương với bài toán được giải xấp xỉ dựa trên các hàm xấp xỉ trên từng phần
tử, thoả mãn điều kiện biên cùng với sự cân bằng và liên tục giữa các phần tử
Về mặt toán học, phương pháp phần tử hữu hạn (PPPTHH) được sử dụng đểgiải gần đúng bài toán phương trình vi phân từng phần (PTVPTP) và phương trìnhtích phân, ví dụ như phương trình truyền nhiệt Lời giải gần đúng được đưa ra dựatrên việc loại bỏ phương trình vi phân một cách hoàn toàn (những vấn đề về trạngthái ổn định), hoặc chuyển PTVPTP sang một phương trình vi phân thường tươngđương mà sau đó được giải bằng cách sử dụng phương pháp sai phân hữu hạn III.2 Lịch sử phát triển
Phương pháp phần tử hữu hạn được hình thành từ nhu cầu cần thiết để giảiquyết các bài toán đàn hồi phức tạp và những khó khăn khi phân tích cấu trúc trong
kỹ thuật xây dựng và kỹ thuật hàng không
Nó được bắt đầu phát triển bởi Alexander Hrennikoff (1941) và RichardCourant (1942) Mặc dù hướng tiếp cận của những người đi tiên phong là khácnhau nhưng họ đều có chung một quan điểm, đó là chia những miền liên tục thànhnhững miền con rời rạc Hrennikoff rời rạc những miền liên tục bằng cách sử dụnglưới tương tự, trong khi Courant chia những miền liên tục thành những miền có
Trang 23hình tam giác cho cách giải thứ hai của phương trình vi phân từng phần elliptic,xuất hiện từ các bài toán về xoắn của phần tử thanh hình trụ Sự đóng góp củaCourant là phát triển, thu hút một số người nhanh chóng đưa ra kết quả choPPVPTP elliptic được phát triển bởi Rayleigh, Ritz, và Galerkin Sự phát triểnchính thức của PPPTHH được bắt đầu vào nửa sau những năm 1950 trong việcphân tích kết cấu khung máy bay và công trình xây dựng, và đã thu được nhiều kếtquả ở Berkeley trong những năm 1960 trong ngành xây dựng Phương pháp nàyđược cung cấp nền tảng toán học chặt chẽ vào năm 1973 với việc tổng kết và xuấtbản cuốn “An Analysis of The Finite element Method” của tác giả GilbertStrang(1934) và George Fix(1939), kể từ đó PPPTHH được tổng quát hóa thànhmột ngành của toán ứng dụng, một mô hình số học cho các hệ thống tự nhiên, đượcứng dụng rộng rãi trong kĩ thuật, ví dụ như điện từ học và động lực học chất lỏng.
Sự phát triển của PPPTHH trong cơ học kết cấu đặt cơ sở cho nguyên lý nănglượng, ví dụ như: nguyên lý công khả dĩ, PPPTHH cung cấp một cơ sở tổng quátmang tính trực quan theo quy luật tự nhiên, đó là một yêu cầu lớn đối với những kỹ
sư cơ học kết cấu
III.3 Nội dung
III.3.1 Xấp xỉ bằng phần tử hữu hạn
Giả sử V là miền xác định của một đại lượng cần khảo sát nào đó (chuyển vị,ứng suất, biến dạng, nhiệt độ ) Ta chia V ra nhiều miền con ve có kích thước vàbậc tự do hữu hạn Đại lượng xấp xỉ của đại lượng trên sẽ được tính trong tập hợpcác miền ve
Phương pháp xấp xỉ nhờ các miền con ve được gọi là phương pháp xấp xỉbằng các phần tử hữu hạn, nó có một số đặc điểm sau:
Xấp xỉ nút trên mỗi miền con ve chỉ liên quan đến những biến nút gắn vào nútcủa ve và biên của nó
Trang 24Các hàm xấp xỉ trong mỗi miền con ve được xây dựng sao cho chúng liên tụctrên ve và phải thoả mãn các điều kiện liên tục giữa các miền con khác nhau.
Các miền con ve được gọi là các phần tử hữu hạn
Trang 25III.3.2 Định nghĩa hình học các phần tử hữu hạn
Nút hình học:
Nút hình học là tập hợp n điểm trên miền V để xác định hình học các phần tửhữu hạn Chia miền V theo các nút trên, rồi thay miền V bằng một tập hợp cácphần tử ve có dạng đơn giản hơn Mỗi phần tử ve cần chọn sao cho nó được xácđịnh giải tích duy nhất theo các toạ độ nút hình học của phần tử đó, có nghĩa là cáctoạ độ nằm trong ve hoặc trên biên của nó
Quy tắc chia miền thành các phần tử (Elements):
Việc chia miền V thành các phần tử ve phải thoả mãn hai quy tắc sau:
Hai phần tử khác nhau chỉ có thể có những điểm chung nằm trên biên của chúng Điều này loại trừ khả năng giao nhau giữa hai phần tử Biên giới giữa các phần tử có thể là các điểm, đường hay mặt
Hình 3 Sự giao nhau giữa các phần tử (biên giới)
Tập hợp tất cả các phần tử ve phải tạo thành một miền càng gần với miền V cho trước càng tốt Tránh không được tạo lỗ hổng giữa các phần tử
Trang 26III.3.4 Phần tử quy chiếu, phần tử thực
Với mục đích đơn giản hoá việc xác định giải tích các phần tử có dạng phứctạp, chúng ta đưa vào khái niệm “phần tử quy chiếu” hay “phần tử chuẩn hoá”, kýhiệu vt Phần tử quy chiếu thường là phần tử đơn giản ,được xác định trong khônggian quy chiếu mà ta có thể biến đổi nó thành từng phần tử ve nhờ một phép biếnđổi hình học, ví dụ trong trường hợp phần tử tam giác:
Trang 27Hình 8 Hình chiếu các phần tử theo các phương khác nhau.
Các phép biến đổi hình học phải sinh ra các phần tử thực và phải thoả mãn cácquy tắc chia phần tử đã trình bày ở trên Muốn vậy, mỗi phép biến đổi hình họcphải được chọn sao cho nó có các tính chất sau:
Phép biến đổi phải có tính chất hai chiều (song ánh) đối với mọi điểm trong phần tử quy chiếu hoặc trên biên, mỗi điểm của vt ứng với một vàchỉ một điểm của ve và ngược lại
Mỗi phần biên của phần tử quy chiếu được xác định bởi các nút hình họccủa biên đó ứng với phần biên của phần tử thực được xác định bởi các núttương ứng
Chú ý:
Một phần tử quy chiếu vt được biến đổi thành tất cả các phần tử thực ve cùngloại nhờ các phép biến đổi khác nhau Vì vậy, phần tử quy chiếu còn được gọi làphần tử bố mẹ
Có thể coi phép biến đổi hình học nói trên như một phép biến đổi đơn giản ( , )
được xem như hệ toạ độ địa phương gắn với mỗi phần tử
* Một số phần tử quy chiếu:
Trang 29Hình 12 Các phần tử 3 chiều - 6 mặt.
III.3.5 Lực, chuyển vị, biến dạng, ứng suất
Có thể chia lực tác dụng ra ba loại và biểu diễn chúng dưới dạng véctơ cột:
Lực tập trung Pi: P P P P P i i x, ,y zT (III.3)Chuyển vị của một điểm thuộc vật được ký hiệu bởi: uu v w, , T, các thành phầncủa tenxơ biến dạng được ký hiệu bởi ma trận cột :
và biến dạng (định luật Hook):
Trang 30E : mô đun đàn hồi, : hệ số Poat-xông của vật liệu.
III.3.6 Nguyên lý cực tiểu hóa thế năng toàn phần
Thế năng toàn phần của một vật thể đàn hồi là tổng của năng lượng biến dạng U
Trong đó u là véc tơ chuyển vị và P i là lực tập trung tại i có chuyển vị là u i
Áp dụng nguyên lý cực tiểu hoá thế năng: “đối với hệ bảo toàn trong tất cả các di
chuyển khả dĩ, di chuyển thực ứng với trạng thái cân bằng sẽ làm cho thế năng đạt cực trị Khi thế năng đạt giá trị cực tiểu thì vật thể ở trạng thái cân bằng ổn định”.
III.3.7 Trình tự phân tích bài toán theo PPPTHH
Trang 31Bước 1: Rời rạc hóa miền khảo sát.
Trong bước này, miền khảo sát V được chia thành các miền con ve hay thành các phần tử có dạng hình học thích hợp
Các phần tử thường có dạng hình học đơn giản (các dạng hình học được trình bày trong phần III.3)
Số điểm nút mỗi phần tử không lấy được một cách tùy tiện mà tùy thuộc vào hàm xấp xỉ định chọn
Trang 32- q : véctơ tập hợp các giá trị đại lượng cần tìm tại các nút (còn gọi là véctơ chuyển vị nút tổng thể).
- P : véctơ các số hạng tự do tổng thể (hay véctơ tải tổng quát)
Rồi sử dụng điều kiện biên của bài toán, mà kết quả là nhận được hệ phương trìnhsau:
Đây chính là phương trình hệ thống hay còn gọi là hệ phương trình để giải
Bước 5: Giải hệ phương trình đại số
Nhưng với bài toán phi tuyến thì nghiệm sẽ đạt được sau một chuỗi các bước lặp
mà sau mỗi bước ma trận cứng K thay đổi (trong bài toán phi tuyến vật lý) hayvéctơ, lực nút P thay đổi (trong bài toán phi tuyến hình học)
Bước 6: Hoàn thiện
Từ kết quả trên tiếp tục tìm ứng suất, chuyển vị hay biến dạng của tất cả các phầntử
III.3.8 Sơ đồ tính toán bằng PPPTHH
Một chương trình tính toán bằng phương pháp phần tử hữu hạn thường gồm cáckhối chính sau:
Khối 1: Đọc, kiểm tra, tổ chức các dữ liệu mô tả nút và phần tử (lưới phần tử), các thông số vật lý (môđun đàn hồi, hệ số dẫn nhiệt, hệ số poisson v.v), tải trọng tác dụng và điều kiện biên
Khối 2: Xây dựng ma trận độ cứng phần tử ke và véctơ lực nút f sau đó xây
Trang 33 Khối 3: Nhập điều kiện biên và giải hệ phương trình đại số tuyến tính.
Khối 4: Tính toán các đại lượng khác: ứng suất, biến dạng, gradient nhiệt, v.v
và in kết quả
Sơ đồ khối tính toán bằng phương pháp phần tử hữu hạn:
Sơ đồ khối chương trình tính toán theo phương pháp PTHH
III.4 Ứng dụng
Phương pháp phần tử hữu hạn được ứng dụng trong nhiều bài toán cơ học kỹ thuật:
Bài toán tính toán hệ thanh
Các bài toán phẳng của lý thuyết đàn hồi
Đọc, kiểm tra, tổ chức dữ liệu
Đọc và in
Toạ độ nút - Tải trọng tác dụng Thông tin ghép nối các phần tử - Điều kiện biên
Xây dựng ma trận độ cứng K và véctơ lực chung F Với mỗi phần tử :
- Trích những thông tin liên quan đến phần tử
- Xây dựng ma trận độ cứng k và véc tơ lực f
- Xây dựng ma trận độ cứng K và véctơ lực F cho cả hệ
Giải hệ phương trình Kq = F Nhập điều kiện biên (Biến đổi K và F) Giải hệ phương trình đại số tuyến tính để tìm q (Gauss)
In kết quả Tính các đại lượng khác (ứng suất, biến dạng v.v)
In kết quả (Bảng số, đồ thị )
Trang 34 Bài toán tấm chịu uốn.
Bài toán Động lực học kết cấu
IV LẬP TRÌNH TRONG ANSYS
IV.1 Giới thiệu về các chương trình ứng dụng Add-ons
Chương trình Add-on là sản phẩm của lập trình nhúng tương tác với các phầnmềm khác, là 1 lĩnh vực không còn xa lạ đem lại nhiều lợi nhuận Hiện nay hầu hếtcác phần mềm lớn trên thế giới cho phép người dùng có thể lập trình nhúng để mởrộng, điều khiển các tính năng và ghép nối với các mô đun khác của người dùng.Chương trình Add-on có hai cách tương tác và thực hiện:
Thực hiện sau khi chương trình chính được chạy, tức là phụ thuộc vào quátrình khởi động của phần mềm chính
Thực hiện trước khi chương trình chính chạy, chương trình Add-on gửi cáclệnh tương tác và điều khiển đến chương trình chính để chương trình thựchiện thao tác mong muốn
Ta có thể đưa ra 1 vài ví dụ về chương trình Add-ons:
Lập trình VBA trong bộ công cụ MS OFFICE của Microsoft ( Word, Excel, Access…)
Lập trình tương tác với PhotoShop…
Lập trình tương tác với MathCAD, MatLab…
Lập trình API trong AutoCAD (VBA, Autolisp, C/C++, Java…)
Trang 35Ví dụ: Phần mềm thương mại LITIO 3D: sử dụng để cho tấm kim loại, tính toán
khai triển để làm ống, chuyển từ hình Chữ nhật sang dang trụ, dạng tròn, nón, nối ống,…
Liên hệ : Juan Mario Lavric (www.Litio3D.com.ar)
Lập trình API trong SolidWorks (VBA, C/C++, Java…)
Ví dụ: Phần mềm vẽ tự động bánh răng trụ do kỹ sư Nguyễn Đức Trọng (Lớp Cơ Điện Tử 2 - K47) phát triển trong thời gian thực tập tốt nghiệp tại trung tâm Ứng dụng và Phát triển phầm mềm công nghiệp DASI năm 2006 – 2007
Hình 14 Phần mềm vẽ bánh răng trụ tự động.
Hình 13 Giao diện phần mềm LITIO 3D.
Trang 36 Lập trình Nhúng trong môi trường ANSYS cổ điển
Ví dụ: Phần mềm thiết kế vòi cho bình chứa hình trụ Được viết hoàn toàn bằng APDL và Tcl/Tk
Liên hệ: Công ty Belcan (http://ansys.belcan.com/)
Lập trình Applet trong môi trường ANSYS WORKBENCH
Ví dụ: Phần mềm thương mại của hãng CASTOR
Hình 16 Phần mềm thương mại của hãng CASTOR Hình 15 Phần mềm thiết kế vòi cho bình đựng hình trụ.
Trang 37Ví dụ: Phần mềm thương mại ESOP
Ví dụ phần mềm thương mại RoboBAT
Hình 18 Phần mềm thương mại RoboBAT.
Hình 17 Phần mềm thương mại ESOP
Trang 38* Một số thông tin về phát triển phần mềm lập trình Add-on tại Việt Nam:
Theo những thông tin không chính thức, tại Việt Nam cũng đã có các đề tài làm
về lập trình nhúng và đã được triển khai
Ví dụ, tại Bộ môn cơ sở thiết kế máy và Rô bốt đã từng triển khai chương trình thiết kế hộp giảm tốc, thiết kế bơm, sử dụng lập trình API trên nền AutoCAD.Hiện nay với sự bùng nổ về lĩnh vực CAD 3D, cũng có nhiều tác giả đã nghiên cứu lập trình API cho các hệ thống CAD này, ví dụ như lập trình API cho
SolidWorks là 1 điển hình
Lập trình API tương tác với hệ thống CAE là 1 lĩnh vực còn khá mới mẻ tại Việt Nam nên hiện tại chưa chưa thống kê được hoặc chưa có thông tin gì về các
đề tài và sản phẩm(Năm 2007)
IV.2 Lập trình Add-ons trên nền phần mềm Ansys
IV.2.1 Giới thiệu
Lập trình Add-on trên nền phần mềm Ansys là viết các ứng dụng Add-on trênnền phần mềm Ansys áp dụng vào một hoặc nhiều bài toán cơ học cụ thể Cácchương trình Add-on được viết bằng các ngôn ngữ lập trình cho phép bởi phầnmềm Ansys Ví dụ như: Ngôn ngữ lập trình APDL (ANSYS Parametric DesignLanguage), TCL/TK, JPDL, SDK Applet Generator, Jscript…
Ngoài ra có thể thực hiện các chương trình Add-on trên nền Ansys thông quacác thư viện DLL được thiết kế riêng cho phần mềm Ansys, mà không cần thiếtphải được hỗ trợ bởi Ansys trên phiên bản 11.0 Đây có lẽ sẽ là hướng phát triểnchính cho các ứng dụng Add-on sau này, bởi lẽ theo như thông tin Ansys cung cấp,với phiên bản 12.0, người dùng có thể sử dụng NET framework để phát triển cácứng dụng Add-on thông qua ngôn ngữ lập trình Csharp và một số ngôn ngữ lậptrình cấp cao khác trong môi trường Windows
IV.2.2 Lập trình tương tác trên nền Ansys Cổ điển (Multiphysics)
Trang 39Lập trình tương tác Add-on trên nền Ansys Cổ điển – Multiphysics chủ yếudựa trên 2 ngôn ngữ lập trình chính là APDL và ngôn ngữ TCL/TK.
APDL (ANSYS Parametric Design Language) : là ngôn ngữ script giúp tự
động hóa cho các tác vụ tính toán và tham số hóa mô hình tính toán
APDL không chỉ thể hiện khả năng mạnh mẽ trong những công việc phức tạp
như thiết kế tối ưu hay chỉnh sửa lưới linh hoạt mà còn giúp giải quyết các vấn đề
có tính chất lặp đi lặp lại ngày qua ngày
Với khả năng tạo ra các macro ghi lại log của chương trình (quá trình thực
hiện chương trình 1 cách tuần tự) Dùng APDL ta có thể chạy lại các tác vụ của
chương trình chỉ với 1 thao tác chạy macro Điều này giúp giảm thiểu thời gian vàcông sức
Tcl/Tk : như ở chương 1 đã nói, TCL (Tool Command Language) là một
ngôn ngữ thông dịch mạnh mẽ và dễ sử dụng Nó có thể chạy trên nhiều hệ điềuhành khác nhau
Nó có khả năng tạo GUI (Graphic User Interface), là các giao diện người
dùng thông qua các gói thư viện mở rộng TK Các mô đun chương trình bên ngoài
được lưu dưới dạng file có đuôi mở rộng là *.tcl và có thể kết nối với ANSYS cổ
điển
IV.2.3 Lập trình tương tác trên nền Ansys WorkBench
JPDL (JScript Parametric Design Language) : là ngôn ngữ script giúp tự
động hóa cho các tác vụ tính toán và tham số hóa mô hình tính toán, sử dụng ngôn
ngữ JScript của hệ điều hành Window.
Cũng như APDL, JPDL có đầy đủ khả năng để có thể thao tác một cách linh
hoạt với phần mềm ANSYS, giúp người dùng có thể thực hiện các câu lệnh điềukhiển trong ANSYS một cách dễ dàng
JPDL có điểm hơn APDL ở chỗ, nó có thể sinh ra code câu lệnh APDL và
thực hiện chúng thông qua một ứng dụng trung gian, ví dụ một trang html có sử
Trang 40dụng ngôn ngữ JScript chứa mã lệnh JPDL thao tác với ANSYS, hoặc có thể sử
dụng ANSYS WorkBench để thao tác với ANSYS Multiphysics
JScript: Thực chất Jscript chính là các câu lệnh JPDL nhưng có khả năng sử
dụng linh động hơn JPDL Các câu lệnh JPDL phụ thuộc nhiều vào sự hỗ trợ và
cho phép của phần mềm ANSYS WorkBench Jscript hơn ở chỗ, nó có thể sử
dụng để gọi đến các hàm bên trong các file script mà ANSYS WorkBench định
nghĩa ra để xây dựng chương trình chứ không phải phục vụ cho hướng mở rộng bàitoán của người sử dụng Nắm được phần này, người sử dụng sẽ có thể dễ dàng thaotác hơn với ANSYS mà không lo ngại nhiều về sự hỗ trợ hay cho phép của
ANSYS WorkBench giống như câu lệnh JPDL.
IV.2.4 Cấu trúc phần mềm ANSYS WorkBench
Để có thể thực hiện lập trình với ANSYS trên nền tảng hệ điều hànhWindows, trước hết phải hiểu được cấu trúc phần mền ANSYS WorkBench, tiếpđến là nghiên cứu quá trình hoạt động của ANSYS để từ đó đưa ra hướng lập trình
có hiệu quả cao, điều khiển được hầu hết các thao tác từ cơ bản đến nâng cao bêntrong ANSYS
Toàn bộ phần mềm ANSYS WorkBench được gói gọn trong thư mục C:\Program Files\ANSYS Inc\v110\AISOL bao gồm các ứng dụng chạy trên nềnANSYS WorkBench như: DesignModeler, DesignSpage, DesignXplorer,Engineering Data, AutoDYN,…
Bên trong thư mục chứa các ứng dụng lại chứa các thư viện của phần mềm đó, baogồm:
Các file DLL chứa thư viện hàm tính toán và thực hiện điều khiển ứng dụng
Các file HTML vẽ một số giao diện của phần mềm
Các file Jscript thực hiện các thao tác gọi đến các hàm có chứa trong các file thư viện DLL nói bên trên