1 MÔ PHỎNG SỐ TRONG KỸ THUẬT CƠ KHÍ CHƯƠNG I GIỚI THIỆU CHUNG q Một số định nghĩa cơ bản v Đối tượng (object) là tất cả những sự vật, sự kiện mà hoạt động của con người có liên quan tới v Hệ thống (Sy[.]
Trang 1MÔ PHỎNG SỐ TRONG KỸ THUẬT CƠ KHÍ
Trang 2CHƯƠNG I GIỚI THIỆU CHUNG
thống tại một thời điểm và
trong điều kiện nhất định
Trang 3Một số định nghĩa cơ bản
phản ánh đối tượng, con người
dùng sơ đồ đó để nghiên cứu,
thực nghiệm nhằm tìm ra quy luật
hoạt động của đối tượng hay nói
cách khác mô hình là đối tượng
thay thế của đối tượng gốc để
nghiên cứu về đối tượng gốc.
thế đối tượng gốc bằng một mô
hình nhằm các thu nhận thông tin
quan trọng về đối tượng bằng
cách tiến hành các thực nghiệm
trên mô hình Lý thuyết xây dựng
mô hình và nghiên cứu mô hình
để hiểu biết về đối tượng gốc gọi
lý thuyết mô hình hóa.
Trang 4Một số định nghĩa cơ bản
q Mô phỏng (Simulation, Imitation) là
phương pháp mô hình hóa dựa trên
việc xây dựng mô hình số (Numerical
model) và dùng phương pháp số
(Numerical method) để tìm các lời
giải Chính vì vậy máy tính số là công
cụ hữu hiệu và duy nhất để thực hiện
việc mô phỏng hệ thống
q Một số tính chất:
đúng với đối tượng
quá trình mô hình hóa bao giờ cũng phải
chấp nhận một số giả thiết nhằm giảm
bớt độ phức tạp của mô hình, để mô hình
có thể ứng dụng thuận tiện trong thực tế.
Trang 5Một số định nghĩa cơ bản
v Mô hình hóa luôn luôn là một
phương pháp hữu hiệu để con người
nghiên cứu đối tượng, nhận biết các
quá trình, các quy luật tự nhiên.
v Sự phát triển của khoa học kỹ thuật
và công nghệ thông tin
phương pháp mô hình hóa cho phép
xây dựng các mô hình ngày càng
gần với đối tượng nghiên cứu, đồng
thời việc thu nhận, lựa chọn, xử lý
các thông tin về mô hình rất thuận
tiện, nhanh chóng và chính xác.
Moore observed that the number of
transistors on a computer chip was
doubling about every 18–24 months.
Trang 6Vai trò của phương pháp mô hình hóa
q Khi nghiên cứu trên hệ thống thực gặp nhiều khó khăn do
nhiều nguyên nhân gây ra như sau:
v Giá thành nghiên cứu trên hệ thống thực quá đắt.
Nghiên cứu kết cấu tối ưu, độ bền, khả năng chống dao động của ô
tô, tàu thủy, máy bay,… người ta phải tác động vào đối tượng nghiên cứu các lực đủ lớn đến mức có thể phá hủy đối tượng để từ
đó đánh giá các chỉ tiêu kỹ thuật đã đề ra Như vậy, giá thành nghiên cứu sẽ rất đắt Bằng cách mô hình hóa trên máy tính ta dễ dàng xác định được kết cấu tối ưu của các thiết bị nói trên.
Trang 7Vai trò của phương pháp mô hình hóa
v Nghiên cứu trên hệ thống thực đòi hỏi thời gian quá dài
Nghiên cứu đánh giá độ tin cậy, đánh giá tuổi thọ trung bình của hệ
thống kỹ thuật (thông thường tuổi thọ trung bình của hệ thống kỹ thuật khoảng 30 ÷ 40 năm), Nếu chờ đợi quãng thời gian dài như vậy mới có kết quả nghiên cứu thì không còn tính thời sự nữa
Bằng cách mô phỏng hệ thống và cho “hệ thống” vận hành tương
đương với khoảng thời gian nghiên cứu người ta có thể đánh giá được các chỉ tiêu kỹ thuật cần thiết của hệ thống
Trang 8Vai trò của phương pháp mô hình hóa
v Nghiên cứu trên hệ thực ảnh hưởng
đến sản xuất hoặc gây nguy hiểm cho
người và thiết bị
Ví dụ: Nghiên cứu quá trình cháy
trong lò hơi của nhà máy nhiệt điện,
trong lò luyện clanhke của nhà máy xi
măng… người ta phải thay đổi chế độ
cấp nhiên liệu (than, dầu), tăng giảm
sản lượng gió cấp, thay đổi áp suất
trong lò,…
Việc làm các thí nghiệm như vậy sẽ
cản trở việc sản xuất bình thường,
trong nhiều trường hợp có thể xảy ra
cháy, nổ gây nguy hiểm cho người và
Trang 9Vai trò của phương pháp mô hình hóa
q Trong một số trường hợp không cho phép làm thực nghiệm
trên hệ thống thực
v Ví dụ: Nghiên cứu các hệ thống làm việc ở môi trường độc hại, nguy
hiểm, dưới hầm sâu, dưới đáy biển, hoặc nghiên cứu trên cơ thể người,… Trong những trường hợp này dùng phương pháp mô phỏng là giải pháp duy nhất để nghiên cứu hệ thống
Trang 10Vai trò của phương pháp mô hình hóa
q Phương pháp mô hình hóa cho phép đánh giá độ
nhạy của hệ thống khi thay đổi tham số hoặc cấu
trúc của hệ thống cũng như đánh giá phản ứng của
hệ thống khi thay đổi tín hiệu điều khiển Những số
liệu này dùng để thiết kế hệ thống hoặc lựa chọn
thông số tối ưu để vận hành hệ thống
q Phương pháp mô hình hóa cho phép nghiên cứu
hệ thống ngay cả khi chưa có hệ thống thực
Trang 11Phân loại mô hình hóa hệ thống
q mô hình có được thể chia thành hai nhóm: mô hình
vật lý và mô hình toán học hay còn gọi là mô hình
trừu tượng
Trang 12Mô hình vật lý
q Mô hình vật lý là mô hình được cấu tạo bởi các
phần tử vật lý Các thuộc tính của đối tượng phản
ánh các định luật vật lý xảy ra trong mô hình
Nhóm mô hình vật lý được chia thành mô hình thu
nhỏ và mô hình tương tự
v Mô hình vật lý thu nhỏ có cấu tạo giống đối tượng thực
nhưng có kích thước nhỏ hơn cho phù hợp với điều
kiện của phòng thí nghiệm.
Ví dụ, người ta chế tạo lò hơi của nhà máy nhiệt điện
có kích thước nhỏ đặt trong phòng thí nghiệm để
nghiên cứu các chế độ thủy văn của đập thủy điện.
Trang 13Mô hình vật lý
Ưu điểm của loại mô hình này là các quá trình vật lý
xảy ra trong mô hình giống như trong đối tượng thực,
có thể đo lường quan sát các đại lượng vật lý một cách
trực quan với độ chính xác cao.
Nhược điểm của mô hình vật lý thu nhỏ là giá thành
đắt, vì vậy chỉ sử dụng khi thực sự cần thiết.
Trang 14Mô hình vật lý
v Mô hình vật lý tương tự được cấu
tạo bằng các phần tử vật lý không
giống với đối tượng thực nhưng
các quá trình xảy ra trong mô hình
tương đương với quá trình xảy ra
trong đối tượng thực Ví dụ, có thể
nghiên cứu quá trình dao động của
con lắc đơn bằng mô hình tương
tự là mạch dao động R-L-C vì quá
trình dao động điều hòa trong
mạch R-L-C hoàn toàn tương tự
quá trình dao động điều hòa của
con lắc đơn, hoặc người ta có thể
nghiên cứu đường dây tải điện
Trang 15Mô hình toán học
ánh bằng các biểu thức,
phương trình toán học Mô
hình toán học được chia
thành mô hình giải tích và mô
hình số
v Mô hình giải tích được xây dựng
bởi các biểu thức giải tích.
Ưu điểm của loại mô hình là cho
ta kết quả rõ ràng, tổng quát.
Nhược điểm của mô hình giải
tích là thường phải chấp nhận
một số giả thiết đơn giản hóa để
có thể biểu diễn đối tượng thực
bằng các biểu thức giải tích, vì
vậy loại mô hình này chủ yếu
được dùng cho các hệ tiền định
và tuyến tính.
Trang 16Mô hình toán học-Mô phỏng số
v Mô hình số được xây dựng theo
phương pháp số tức là bằng các
chương trình chạy trên máy tính
số.
Ngày nay, nhờ sự phát triển của
kỹ thuật máy tính và công nghệ
thông tin, người ta đã xây dựng
được các mô hình số có thể mô
phỏng được quá trình hoạt động
của đối tượng thực Những mô
hình loại này được gọi là mô hình
mô phỏng.
Ưu điểm của mô hình mô phỏng
là có thể mô tả các yếu tố ngẫu
nhiên và tính phi tuyến của đối
tượng thực, do đó mô hình càng
gần với đối tượng thực.
Ngày này, mô hình mô phỏng
được ứng dụng rất rộng rãi.
Trang 17Các bước nghiên cứu
Trang 18Đánh giá mô hình
q Tại sao phải phân tích, đánh giá mô hình
v Phân tích số liên quan đến việc phân tích toán học các
phương pháp số để dự đoán cách chúng sẽ cư xử khi
chúng được sử dụng.
v •Đánh giá mô hình quan trọng vì
- Phát triển mô hình bằng cách thử và sai rất mất thời
gian
- Chúng ta không thể thử nghiệm các mô hình cho mọi
tình huống có thể xảy ra Nhưng chúng ta phải chứng
rằng chúng sẽ hoạt động cho mọi tình huống.
- Giúp hiểu rõ hơn về cách hoạt động của các phương
pháp số và cách thiết kế các phương pháp tốt hơn
Trang 19Đánh giá mô hình
q 1 Tính Hội tụ (Convergence): Một lược đồ sai phân
hữu hạn là hội tụ nếu các nghiệm của lược đồ hội tụ
đến các nghiệm của PDE (Partial differential equation)
khi ∆x và ∆t có xu hướng bằng không
q 2 Tính nhất quán (Consistency) : Một lược đồ khác biệt
hữu hạn nhất quán với PDE nếu các lỗi trong xấp xỉ tất
cả các số hạng có xu hướng bằng không vì ∆x và /
hoặc ∆t có xu hướng bằng không (Điều khoản của
lược đồ khác biệt hữu hạn thường được phân tích bằng
cách sử dụng chuỗi Taylor.)
q 3 Cấp độ chính xác (Order of accuracy): Sai số ∝ ∆x n
(sai số là O (∆x n )) có nghĩa là lược đồ là n thứ tự chính
xác Lỗi của một n lược đồ thứ tự hội tụ về 0 với thứ tự
n
Trang 20Đánh giá mô hình
q 4 Tính ổn định: Sai số không có xu hướng vô cùng đối
với bất kỳ số bước thời gian nào Ổn định là thường
được chứng minh bằng cách sử dụng phân tích độ ổn
định von-Neumann (a) Ổn định có điều kiện - nếu chỉ
ổn định trong một bước thời gian đủ nhỏ (b) Ổn định vô
điều kiện - nếu ổn định trong bất kỳ bước thời gian nào
(c) Không ổn định vô điều kiện - nếu không ổn định đối
với bất kỳ bước thời gian nào
q 5 Bảo toàn: Nếu, ví dụ như khối lượng, năng lượng,
lực xoáy tiềm năng được bảo tồn bởi PDE, chúng có
được bảo toàn bởi lược đồ số không?
q 6 Giới hạn: Nếu các điều kiện ban đầu bị giới hạn giữa
các giá trị a và b thì a giải pháp có giới hạn sẽ vẫn bị
giới hạn giữa a và b trong mọi thời điểm.
q 7 Tính đơn điệu: Các lược đồ đơn điệu không tạo ra
cực trị mới hoặc khuếch đại cực trị hiện có.
Trang 21Đánh giá sai số của mô hình
q Để đánh giá kết quả của một mô hình ta cần so
sánh kết quả của mô hình với kết quả thực nghiệm
và đánh giá sự sai khác bằng các loại sai số
v Sai số toàn phương trung bình, viết tắt MSE (Mean
squared error) của một phép ước lượng là trung bình
của bình phương các sai số , tức là sự khác biệt giữa
các ước lượng và những gì được đánh giá.
q Căn của sai số bình phương trung bình
Trang 22Đánh giá sai số của mô hình
v Sai số tuyệt đối trung bình
v Chỉ số tương quan: Hệ số tương quan (r) là một chỉ số thống kê
đo lường mối liên hệ tương quan giữa hai biến số
Hệ số tương quan có giá trị từ -1 đến 1.
Hệ số tương quan bằng 0 (hay gần 0) có nghĩa là hai biến số
không có liên hệ gì với nhau; ngược lại nếu hệ số bằng -1 hay 1
có nghĩa là hai biến số có một mối liên hệ tuyệt đối.
Nếu giá trị của hệ số tương quan là âm (r <0) có nghĩa là khi x
tăng cao thì y giảm (và ngược lại, khi x giảm thì y tăng); nếu giá
trị hệ số tương quan là dương (r > 0) có nghĩa là khi x tăng cao
thì y cũng tăng, và khi x tăng cao thì y cũng tăng theo.
Trang 23q End of chapter 1
Trang 25Câu hỏi
q Thế nào là mô hình, mô hình hóa, mô phỏng? Cho
ví dụ
q Tại sao phải mô hình hóa?
q Phân loại mô hình
q Phân biệt mô hình vật lý và mô hình toán học (mô
hình số) Ưu nhược điểm của mỗi loại
Trang 26CHƯƠNG 2 – KIẾN THỨC CƠ BẢN VỀ MÔ
PHỎNG SỐ TRONG KỸ THUẬT CƠ KHÍ
Giới thiệu về ngôn ngữ lập trình Python
Tại sao lại sử dụng ngôn ngữ lập trình Python
Các ứng dụng của ngôn ngữ lập trình Python
Cài đặt, thiết lập môi trường.
Cách chạy một chương trình
Kiến thức cơ bản về mô phỏng số
Tính tích phân bằng phương pháp số
Giải phương trình bằng phương pháp số
Giải phương trình vi phân bằng phương pháp số
Trang 27Giới thiệu ngôn ngữ lập trình Python
Python là một ngôn ngữ lập trình
Dễ học, dễ tiếp cận với người mới mà nó còn có một hệ
thống cú pháp vô cùng đơn giản và dễ nhớ
Google, Mozilla, Cisco, Microsoft hay Instagram đều
được viết bằng Python
Trí Tuệ Nhân Tạo ( Artificial Intelligence ) và Dữ Liệu
Lớn ( Big Data) …
Trang 28Lịch sử phát triển ngôn ngữ lập trình Python
Trang 29Giới thiệu ngôn ngữ lập trình Python
Tính phổ biến
Trang 30Giới thiệu ngôn ngữ lập trình Python
Tính phổ biến
Trang 31Giới thiệu ngôn ngữ lập trình Python
Dễ học
Gần với ngôn ngữ giao tiếp hang ngày, dễ hơn và các
ngôn ngữ lập trình cấp cao khác như C++, C#,
Javascript, Java…
Không tính phí và mã nguồn mở
Python được phát triển dưới giấy phép mã nguồn mở (
OSI-approved open-source license )
Trang 32Giới thiệu ngôn ngữ lập trình Python
Ngôn ngữ hướng đối tượng
Phương pháp lập trình hướng đối tượng mô tả bài toán dưới
sự tác động giữa các đối tượng và hiện thực vào chương
trình máy tính
Hỗ trợ lập trình giao diện người dùng
hỗ trợ tạo giao diện trong lập trình như PyQt5, PyQt4, Tkinter
Ngôn ngữ thông dịch
Trình biên dịch: source code mà bạn viết ra cần phải được
dịch qua mã máy (machine code) trước khi chạy được
Trang 33Các lĩnh vực sử dụng ngôn ngữ lập trình
Python
Hàng hàng ngàn thư viện hỗ trợ ngôn ngữ lập trình
Python với mục tiêu nhất định Python Package
Index Một vài ứng dụng quan trọng:
Phát triển web và internet (Web and internet
development)
Frameworks nổi bật như Django và Pyramid.
Các thư viện như Flask và Bottle.
Các hệ thống quản trị nội dung như Plone và django
CMS.
Trang 34Các lĩnh vực sử dụng ngôn ngữ lập trình
Python
Games và Đồ Họa 3D (Games and 3D Graphics)
Python cũng được sử dụng trong việc phát triển các trò
chơi Có các thư viện ví dụ PySoy là engine trò chơi
3D hỗ trợ cho Python 3, PyGame cung cấp chức năng
và thư viện để phát triển trò chơi Các trò chơi như
Civilization-IV, Disney’s Toontown Online, Vega Strike,
v.v đã được xây dựng bằng Python.
Trang 35Phục vụ cho khoa học và tính toán (Scientific
Trang 36Các lĩnh vực sử dụng ngôn ngữ lập trình
Python
Sử dụng trong lĩnh vực Trí tuệ nhân tạo (Artificial
Intelligence)
Python có hơn 100 thư viện được xây dựng sẵn
NumPy, Keras, Tensorflow, Pytorch,
Selenium WebDriver v.v
Trang 37Cách cài đặt và chạy một chương trình viết
bằng Python
Truy cập vào trang chủ chính thức của Python, vào
Trang 38Cách cài đặt và chạy một chương trình viết
bằng Python
Code Python ở bất cứ các Text Editor (trình soạn
thảo văn bản) Text Document hay Notepad,
Viết chương trình Python một cách hiệu quả và
nhanh chóng hơn cho người mới học nên IDEs
(môi trường phát triển tích hợp)
PyCharm, Spyder, PyDev, Atom,… thì PyCharm có lẽ
là IDE được ưa chuộng cũng như phổ biến nhất
Cài thư viện: Windows PowerShell (Admin)>
python -m pip install pandas
Trang 39Cách cài đặt và chạy một chương trình viết
bằng Python
Cách chạy một file
Viết file dươi dạng py
Folder >cmd hoặc powershell > python tên_file.py
Trang 40Cách cài đặt và chạy một chương trình viết
bằng Python
Trang 41Cách cài đặt và chạy một chương trình viết
bằng Python
Trang 42Cách cài đặt và chạy một chương trình viết
bằng Python
Trang 43Cách cài đặt và chạy một chương trình viết
bằng Python
Trang 44Cách cài đặt và chạy một chương trình viết
bằng Python
pythonProject -> New -> Python File
Trang 45Cách cài đặt và chạy một chương trình viết bằng Python
Sau đó, nhấp chuột phải vào màn hình và chọn Run
‘<tên file>’ hoặc nhấn tổ hợp phím Ctrt + Shi + F10
Trang 46Cách cài đặt và chạy một chương trình viết
Trang 47Loại dữ liệu
Số trong Python thuộc một trong ba loại sau
int - số nguyên có kích thước là (bị giới hạn bởi bộ nhớ máy
tính (sys.maxsize)
float-được sử dụng trong Python để biểu diễn các số không
ở dạng số nguyên hay nói cách khác là dạng thập phân
A real number in the range ±1.7976931348623157×10 308
Trang 48Biến toàn cục và biến cục bộ
Biến toàn cục là một biến có thể được truy cập từ
tất cả các hàm, ngay cả khi nó không phải là đối số
của hàm đó Điều này có thể rất nguy hiểm và dẫn
đến lỗi trong mã của bạn
Biến cục bộ là một biến chỉ được xác định trong
một hàm cụ thể Tránh các biến toàn cục bằng
cách đặt tất cả mã trong các hàm
Trang 50Các mảng và danh sách (Array and Lists)
Một danh sách có thể được khai báo sử dụng
Trang 51Hàm (Functions)
Xây dựng hàm số
a = 3.5; b = 3.5 + a; a = max(a,b)
Các hàm số có thể thay đổi cấu trúc của chúng
def closerToZero (a, b ):
"""Return the argument that i s close r to zero"""
if abs(a) < abs(b ):
return a else :