Tải bản đầy đủ (.doc) (84 trang)

ĐỒ ÁN TỐT NGHIỆP xây dựng phần mềm Add-on

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.4 MB, 84 trang )

Đại học Bách Khoa Hà Nội
ĐỒ ÁN TỐT NGHIỆP
MỤ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
III.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
Vũ Tuấn Anh _ CĐT2 _ K49 Trang 1
Đại học Bách Khoa Hà Nội
ĐỒ ÁN TỐT NGHIỆP
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
V.1 Giới thiệu về bài toán……………………………………………. 45
V.1.1 Cầu trục một dầm hộp…………………………………………… 45
V.1.2 Tính toán lựa chọn kết cấu, vật liệu………………………………. 46
V.1.3 Tính toán kết cấu thép cầu trục…………………………………… 47
V.1.4 Xây dựng mô hình………………………………………………… 53
V.1.5 Mô hình chia lưới …………………………………………………. 55

V.1.6 Điều kiện biên…… …………………………………………….…. 56
V.1.7 Tham số hóa mô hình……………………………………………… 56
V.2 Chương trình Ứng dụng…………………………………………. 57
V.2.1 Module “Vật liệu”…………………………………………………. 59
V.2.1.1 Mô tả chức năng…………………………………………………… 59
V.2.1.2 Mô hình thuật toán………………………………………………… 60
V.2.1.3 Mô tả hoạt động…………………………………………………… 60
V.2.1.4 Giao diện và ứng dụng…………………………………………… 61
V.2.2 Module “Kiểm nghiệm độ bền”…………………………………… 61
V.2.2.1 Mô tả chức năng…………………………………………………… 61
V.2.2.2 Mô hình thuật toán………………………………………………… 62
V.2.2.3 Mô tả hoạt động…………………………………………………… 63
V.2.2.4 Giao diện và ứng dụng……………………………………………. 63
V.2.3 Module “Xuất kết quả”……………………………………………. 65
V.2.4 Module “Thiết kế tối ưu”… ……………………………………… 66
V.2.4.1 Mô tả chức năng…………………………………………………… 66
V.2.4.2 Mô hình thuật toán………………………………………………… 67
V.2.4.3 Mô tả hoạt động…………………………………………………… 67
V.2.4.4 Giao diện và ứng dụng…………………………………………… 68
VI. KẾT LUẬN……………………………………………………… 69
VI.1 Kết quả thu được………………………………………………… 69
VI.2 Định hướng phát triển…………………………………………… 69
PHỤ LỤC…………………………………………………………. 70
TÀI LIỆU THAM KHẢO……………………………………… 79
Vũ Tuấn Anh _ CĐT2 _ K49 Trang 2
Đại học Bách Khoa Hà Nội
ĐỒ ÁN TỐT NGHIỆP
LỜ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ư duy

sá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ính
toá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ột
cô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ỏng
trê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áp
truyề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ềm
tí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.
Trong quá trình thực hiện đồ án tốt nghiệp em đã nhận được sự hướng dẫn nhiệt
tì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ác
Vũ Tuấn Anh _ CĐT2 _ K49 Trang 3
Đại học Bách Khoa Hà Nội
ĐỒ ÁN TỐT NGHIỆP
thầ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ông
nghiệ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ốt

nghiệp này.
Hà Nội Ngày tháng năm 2009
Vũ Tuấn Anh
Vũ Tuấn Anh _ CĐT2 _ K49 Trang 4
Đại học Bách Khoa Hà Nội
ĐỒ ÁN TỐT NGHIỆP
I. 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ùng
vớ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ụng
trê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ột
cá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ác
phương pháp truyền thống như phương pháp lực, phương pháp chuyển vị, … mất
nhiề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ất
gầ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úp
củ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àng
hơ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ác
cô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án
thiế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 theo
việ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ạo
mộ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 thao
tá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ủa
phầ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ụ
Vũ Tuấn Anh _ CĐT2 _ K49 Trang 5
Đại học Bách Khoa Hà Nội
ĐỒ ÁN TỐT NGHIỆP
tí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 ích
cho 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 cho
cá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ợp
vớ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ền
củ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 cho
phé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 cho
phé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ần
mề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ể can
thiệ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ông
nghệ 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ềm
Ansys là hoàn toàn có thể. Bởi lẽ, cũng giống như các chương trình khác, phiên
bả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ên
các thư viện hàm động DLL và các đối tượng ActiveXObject của hệ điều hành
Windows. Thực chất các ngôn ngữ lập trình mà Ansys cho phép các kỹ sư sử dụng
cũ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ống
củ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ình
thực hiện tính toán trên Ansys. Thêm vào đó, phần mềm Ansys đã định nghĩa ra
Vũ Tuấn Anh _ CĐT2 _ K49 Trang 6
Đại học Bách Khoa Hà Nội
ĐỒ ÁN TỐT NGHIỆP
cá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ác
thư 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ếu
nắm được các thư viện hàm mà Ansys định nghĩa ra khi xây dựng phần mềm
Ansys 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ác
thuậ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 Ansys
trướ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ột
phầ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ên
cá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ết
quả 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).
Vũ Tuấn Anh _ CĐT2 _ K49 Trang 7

Đại học Bách Khoa Hà Nội
ĐỒ ÁN TỐT NGHIỆP
II. 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ông
dị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ựng
và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ụng
chạ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ôn
ngữ Tcl. Tk được Ousterhout bắt đầu viết vào năm 1988 và đến 1990 thì có nhiều
tính năng sử dụng được. Bộ Tk hiện giờ không chỉ hoạt động trong Tcl mà còn
Vũ Tuấn Anh _ CĐT2 _ K49 Trang 8
Đại học Bách Khoa Hà Nội

ĐỒ ÁN TỐT NGHIỆP
đượ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ôn
ngữ 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 được
dù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àm
cho 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ợi
nhớ 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ụng
trong 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ương
trình viết bằng ngôn ngữ Assembly được dịch thành mã máy bằng một chương
trình tiện ích được gọi là Assembler (Một chương trình Assembler khác với một
trình biên dịch ở chỗ nó chuyển đổi mỗi lệnh của chương trình Assembly thành
mộ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ẽ đến
kiế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ộc
và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ặc
là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 embedded
systems) 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ềm
trê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ụng
hoạt động, Assembly là đơn vị nhỏ nhất của đoạn mã có khả năng thực thi, đó là
Vũ Tuấn Anh _ CĐT2 _ K49 Trang 9
Đại học Bách Khoa Hà Nội

ĐỒ ÁN TỐT NGHIỆP
đ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.
Vũ Tuấn Anh _ CĐT2 _ K49 Trang 10
Đại học Bách Khoa Hà Nội
ĐỒ ÁN TỐT NGHIỆP
II.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 Visual
Basic, đượ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; ít
nhấ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ủa
ngô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ái
hoặ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 cho
cá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ản
bá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ế quan
trọ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 for
Applications (VSTA), một bộ công cụ thay đổi ứng dụng có nền tảng .NET. Tuy
nhiên những kĩ thuật này vẫn đang được nghiên cứu, vì vậy ít nhất bộ Office 2007
vẫn sẽ dùng công nghệ VBA.

II.1.4. Ngôn ngữ lập trình Jscript
Vũ Tuấn Anh _ CĐT2 _ K49 Trang 11
Đại học Bách Khoa Hà Nội
ĐỒ ÁN TỐT NGHIỆP
Windows Script scripting là một phần trong cơ sở hạ tầng được xây dựng cho
nề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ó cung
cấ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ối
Internet. Sau này phiên bản JScript 5.6 thuộc thế hệ kế tiếp của Microsoft được áp
dụ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ành
phầ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ẩn
ECMA.
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ình
khô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ập
trì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ữ
Vũ Tuấn Anh _ CĐT2 _ K49 Trang 12
Đại học Bách Khoa Hà Nội
ĐỒ ÁN TỐT NGHIỆP
liệu trong JScript. Hơn nữa, trong nhiều trường hợp JScript tự động thực hiện
chuyể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ăn
bản (một chuỗi ký tự), số là chuyển đổi sang văn bản…
Vũ Tuấn Anh _ CĐT2 _ K49 Trang 13
Đại học Bách Khoa Hà Nội
ĐỒ ÁN TỐT NGHIỆP
II.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 .NET
framework, được phát triển bởi tập đoàn Microsoft. C# là ngôn ngữ lập trình đơn
giả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ộc
mạ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ượng
khác chẳng hạn như class, delegate, interface, exception, v.v, phản ánh rõ ràng
nhữ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ột
phươ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ải
xá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ử chung
củ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).
Vũ Tuấn Anh _ CĐT2 _ K49 Trang 14
Đại học Bách Khoa Hà Nội
ĐỒ ÁN TỐT NGHIỆP
Mô 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ập
cá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ẽ được
trì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, United
States. 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ông
nghiệ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ử, y

sinh, 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 đó bao
gồm: ICEM CFD Engineering, CADOE, CFX, Century Dynamics, Harvard
Thermal 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à đổi
tên nó thành Fluent Inc.
Vũ Tuấn Anh _ CĐT2 _ K49 Trang 15
Đại học Bách Khoa Hà Nội
ĐỒ ÁN TỐT NGHIỆP
ANSYS chuyên phát triển các sản phần phần mềm sử dụng phương pháp phân
tí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 (Ansys
Mechanical), Ansys Workbench (DesignMolder, DesignSpace, DesignExplorer…),
Ansys Multiphysics và nhiều phần mềm khác.
* Trụ sở chính của ANSYS:
ANSYS , Inc. Southpointe 275
Technology Drive,
Canonsburg, PA 15317, USA.
Email :

Website :

* Một số thành viên chủ chốt của
ANSYS Inc.:
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….
Vũ Tuấn Anh _ CĐT2 _ K49 Trang 16
Hình 1 Công ty ANSYS
Đại học Bách Khoa Hà Nội
ĐỒ ÁN TỐT NGHIỆP
II.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ần
mề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ải
trọ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ền
nhiệ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ác
lĩ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.
 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áy
tí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ế độ
Vũ Tuấn Anh _ CĐT2 _ K49 Trang 17
Đại học Bách Khoa Hà Nội
ĐỒ ÁN TỐT NGHIỆP
rung, …trên các mô hình thiết kế, mà không cần phải phân tích kỹ bởi
DesignSpage đã 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ánh
các điều kiện làm việc không mong muốn của mô hình thực tế. Module này
cho 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 ưu hó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ác
củ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ấp
mộ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ành
cô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

Trung 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 theo
Quyế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ị trong
nước và quốc tế. (DASI là địa chỉ hợp tác của ANSYS Inc.).
Vũ Tuấn Anh _ CĐT2 _ K49 Trang 18
Đại học Bách Khoa Hà Nội
ĐỒ ÁN TỐT NGHIỆP
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
Vũ Tuấn Anh _ CĐT2 _ K49 Trang 19
Hình 2 Thư viện Tạ Quang Bửu
Đại học Bách Khoa Hà Nội
ĐỒ ÁN TỐT NGHIỆP
III. 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ủa

bà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ền
nà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ân
tươ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ình
tí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ựa
trê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ạng
thá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ải
quyế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à Richard
Courant (1942). Mặc dù hướng tiếp cận của những người đi tiên phong là khác
nhau nhưng họ đều có chung một quan điểm, đó là chia những miền liên tục thành
nhữ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ụng
lưới tương tự, trong khi Courant chia những miền liên tục thành những miền có
Vũ Tuấn Anh _ CĐT2 _ K49 Trang 20
Đại học Bách Khoa Hà Nội
ĐỒ ÁN TỐT NGHIỆP
hì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ủa
Courant là phát triển, thu hút một số người nhanh chóng đưa ra kết quả cho
PPVPTP elliptic được phát triển bởi Rayleigh, Ritz, và Galerkin. Sự phát triển
chính thức của PPPTHH được bắt đầu vào nửa sau những năm 1950 trong việc
phâ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ết
quả ở 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ất

bản cuốn “An Analysis of The Finite element Method” của tác giả Gilbert
Strang(1934) và George Fix(1939), kể từ đó PPPTHH được tổng quát hóa thành
mộ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ăng
lượng, ví dụ như: nguyên lý công khả dĩ, PPPTHH cung cấp một cơ sở tổng quát
mang 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 v
e
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ợp
các miền v
e
.
Phương pháp xấp xỉ nhờ các miền con v
e
đượ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 v
e
chỉ liên quan đến những biến nút gắn vào nút
của v
e
và biên của nó.
Vũ Tuấn Anh _ CĐT2 _ K49 Trang 21
Đại học Bách Khoa Hà Nội

ĐỒ ÁN TỐT NGHIỆP
Cá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ục
trên v
e
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 v
e
được gọi là các phần tử hữu hạn.
Vũ Tuấn Anh _ CĐT2 _ K49 Trang 22
Đại học Bách Khoa Hà Nội
ĐỒ ÁN TỐT NGHIỆP
III.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ác
phần tử v
e
có dạng đơn giản hơn. Mỗi phần tử v
e
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ác
toạ độ nằm trong v
e
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ử v
e
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ử v
e
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ử.
III.3.3 Các dạng phần tử
Phần tử 1 chiều:
Hình 4 Phần tử một chiều
Phần tử 2 chiều:
Vũ Tuấn Anh _ CĐT2 _ K49 Trang 23
v
1
v
2
v
1
v
2
v
1
v
2
Đại học Bách Khoa Hà Nội
ĐỒ ÁN TỐT NGHIỆP
Hình 5 Phần tử 2 chiều
Phần tử 3 chiều:
- Phần tử tứ diện:
Hình 6 Phần tử 3 chiều
- Phần tử lăng trụ:

Hình 7 Phần tử lăng trụ
III.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ức
tạ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 v
t
. Phần tử quy chiếu thường là phần tử đơn giản ,được xác định trong không
gian quy chiếu mà ta có thể biến đổi nó thành từng phần tử v
e
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:
Vũ Tuấn Anh _ CĐT2 _ K49 Trang 24
Đại học Bách Khoa Hà Nội
ĐỒ ÁN TỐT NGHIỆP
Hì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ác
quy 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ọc
phả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ọc
củ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út
tương ứng.
Chú ý:
Một phần tử quy chiếu v
t
được biến đổi thành tất cả các phần tử thực ve cùng

loạ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:
- Phần tử một chiều:
Vũ Tuấn Anh _ CĐT2 _ K49 Trang 25

×