Tản mạn về tin học và … đóng tàu 1.

Tản mạn về tin học và … đóng tàu.

(Sáng nay vừa viết trên Facebook một entry về cái bệnh nói nhiều của dân IT. Giờ thể hiện luôn. Cái đang mong chờ nhất là một hệ thống cứu hỏa mạnh và hiệu quả cho con tàu cháy thì chắc đang đặt hàng, chưa về đến cảng. Chưa có hệ thống đó, bàn mãi về con tàu cũng thấy nản. Gần đây có trao đổi với một bạn trẻ tâm huyết với tin học trong đóng tàu. Viết lan man vậy, cả hồi ức lẫn những cái thời sự bây giờ.).

Thế hệ chúng tôi bước chân vào IT vào nửa sau của những năm 80, khi còn chưa có máy tính cá nhân và cũng chưa có ngành tin học trong các trường đại học. Do ham mê cái mới mà liều lĩnh, mò mẫm trong cái nguồn tài liệu duy nhất là thư viện Khoa học Kỹ thuật TW.

Khi đăng ký với viện Thiết kế Tàu thủy đề tài “Tính toán kết cấu thép cần trục bằng phương pháp phần tử hữu hạn”, trong đầu tôi chỉ có lơ mơ khái niệm về phương pháp phần tử hữu hạn (FEM) đọc được hồi ở trường, máy tính và ngôn ngữ lập trình hoàn toàn không biết. Vậy mà trưởng phòng hết lòng ủng hộ, mặc dù chắc chắn là ông chẳng hiểu gì. Viện đồng ý cấp kinh phí thuê giờ máy tính và cho thời gian thực hiện trong ánh mắt đầy nghi ngờ của các đồng nghiệp. Đến bây giờ, trải qua nhiều đời lãnh đạo, tôi vẫn kính trọng và biết ơn ông trưởng phòng cũ, trình độ có hạn nhưng rất “người”.

Việc đầu tiên là “cày” về phương pháp phần tử hữu hạn, một trong những phương pháp tính số hiện đại cho đến tận bây giờ. Sau đó đi tìm hiểu về ngôn ngữ lập trình. Sách bảo là ngôn ngữ có Cobol, Fortran, …. trong đó Fortran chuyên cho các bài toán kỹ thuật. Thế là lao vào học Fortran.

Công suất máy tính thời đó rất có hạn. Vì vậy ngay cả bài toán giải bằng FEM cuối cùng quy về một hệ phương trình đại số tuyến tính với hàng nghìn ẩn số cũng không giải trực tiếp trên máy tính được. Phải dùng các thuật toán trung gian, trước tiên đưa hệ phương trình về dạng tam giác và sau đó phải tính đúng dần để tiết kiệm bộ nhớ tối đa.

Hồi đó chưa có máy tính cá nhân. Cả miền Bắc có vài cái Minsk32 của bộ Khoa học và bộ Quốc phòng, chắc là một loại máy tính mainframe vì tôi cũng chưa được nhìn thấy mặt mũi nó bao giờ. Viện thuê giờ chạy máy của quân đội. Chương trình phần mềm được viết bằng tay lên bảng kẻ ô ở mặt sau của những tờ bản đồ cắt thành khổ A4 (giấy cũng thiếu, mà quân đội thì thừa bản đồ).

Mỗi sáng, tôi đến trạm giao nhận đưa các tờ lệnh đã viết cho các em operator sau đó về hồi hộp chờ kết quả. Sáng hôm sau lại đến trạm, nhận một sấp bìa đục lỗ và một chồng giấy listing kết quả. Máy tính hồi đó nhận dữ liệu vào bằng bìa đục lỗ: các lệnh do người lập trình viết được operator gõ vào một dạng máy chữ đục thành mã lỗ trên các tấm bìa. Khi một tập bìa đưa vào, máy tính dùng đèn quét xuyên qua các lỗ để hiểu nó phải làm gì. Đọc listing xem chương trình sai chỗ nào, viết lại lệnh sửa vào giấy, sáng hôm sau lại giao để chạy lại. Chỉ sai một dấu phảy cũng phải chờ một ngày! Mong các em operator còn hơn mong người yêu!

Các bạn trẻ bây giờ lập trình trên máy tính PC đang ở cái thiên đường mà hồi đó chúng tôi không hình dung ra được.

Mất vài tháng, chương trình cũng thông từ đầu đến cuối, thành cả đống bìa đục lỗ chất đầy một ngăn tủ. Sau đó tôi lần được trong một quyển sách tiếng Anh vài bài toán mẫu đơn giản, cũng tính bằng FEM có dữ liệu đầu vào và kết quả. Đó là cái tôi dùng kiểm định chương trình đã viết xem có chính xác không.

Kết quả hơi khác thường: đúng với kết quả trong sách đến chữ số thứ 10 sau dấu phảy, từ số thứ 11 trở đi thì sai. Như vậy là có cái gì không ổn, bài toán mẫu chỉ có vài chục ẩn số đã sai như vậy, bài toán thật vài nghìn ẩn không có gì đảm bảo.

Lập trình không ngại bằng tìm lỗi. Cuối cùng cũng phát hiện ra: khi chuyển đổi đơn vị từ hệ Anh sang hệ mét, mô đun đàn hồi E là một số thập phân vô hạn, tôi tính bằng tay và lấy đến số thập phân thứ 10. Cho máy tự chuyển đơn vị, chính xác đến bao nhiêu tùy nó là xong.

Đến khi tính thử một nắp hầm hàng, tải đối xứng, kết cấu đối xứng nhưng chuyển vị, ứng suất lại không đối xứng! Lại mò toát mồ hôi, đọc được một bài báo nói về hiện tượng mất ổn định nghiệm, càng sợ. Nguyên nhân té ra là do lười: diện tích và mô men quán tính mặt cắt thép hình có quan hệ với nhau, tôi ngại nhập số lằng nhằng cho đại ba số chẵn cho nhanh. Đưa số liệu thật của thép hình vào thì ổn.

Hú vía! Cuối cùng đề tài cũng được thông qua và sau này còn được một phòng khác của viện mượn đi đấu thầu rồi dùng tính chân đế giàn khoan dầu khí. Các bạn đừng cười, cái thời ấy nó thế. Chỉ cần nói tính toán bằng chương trình máy tính là có thể dọa thiên hạ được rồi, không cần biết chất lượng chương trình thế nào. Và cũng rất vô tư: hỏi mượn là cho mượn luôn, không hề do dự. Không tham gia và cũng không được một xu tiếng tăm, tiền bạc gì.

Đến bây giờ, tìm hiểu những phần mềm FEM như Ansys, SAP2000, tôi mới thấy hồi đó ấu trĩ như thế nào. Nhưng lúc đó không có cách nào khác, chúng tôi không có các phần mềm “chùa” thoải mái như bây giờ.

Cái thời “trẻ con” ấy cũng để lại những kinh nghiệm nho nhỏ về sau. Khi được mời họp lần đầu về bể thử mô hình tàu thủy, tôi đã đặt câu hỏi:” Bể thử dùng để kiểm định thiết kế, vậy cái gì kiểm định chất lượng, độ chính xác của bể?” Thời bây giờ, không thể kiểm định bằng vài bài toán mẫu đơn giản như tôi đã làm được.

Một kinh nghiệm khác, “vĩ mô” hơn: phải biết đứng trên vai những người khổng lồ. Bây giờ không ai đi lập trình từ đầu nếu đã có các phần mềm nước ngoài do nhiều thế hệ xây đắp. Một con tàu thiết kế tự nghĩ, không theo tàu mẫu thì chất lượng của nó khỏi phải bàn. Một nhà máy đóng tàu cũ, nâng cấp chắp vá không bao giờ đóng tàu đúng tiến độ và có lãi được.

Internet là một trong những cái vai người khổng lồ như thế. Blogger Hiệu Minh, một trong những người mà tôi thích đọc, có câu slogan hay “Càng đi xa, càng thấy mình nhỏ bé”. Càng “đi” trên mạng tìm hiểu về ngành đóng tàu, càng thấy chúng ta ấu trĩ đến mức nào. Vì thế mới có một loạt bài dịch đăng trên website của Vinashin những năm trước đây (và tập hợp lại trong phần đầu của blog này). Tiếc rằng những người cần quan tâm không có ai để ý.

“Đi trên mạng” vất vả và mất thì giờ rất nhiều nhưng rất có ích và cần thiết. Giả sử hồi đó không tìm hiểu trước, có khái niệm trong đầu thì có được đi thật đến một nhà máy đóng tàu của Nhật thì cũng chỉ “cưỡi ngựa xem hoa”. Hơn nữa, mạng máy tính trong nhà máy, cái hệ thống thần kinh điều khiển mọi thứ, không có cách nào “thăm quan” được.

Ở tầm nhỏ hơn, đã từng có “đề tài nghiên cứu khoa học” của một cây  đại thụ liên quan đến việc số hóa mặt cong vỏ tàu. Nếu tìm trên mạng sẽ thấy ngoài phương pháp NURBS được dùng phổ biến hiện nay, còn có vài phương pháp nữa đang được nghiên cứu để khắc phục nhược điểm của NURBS. Đáng lẽ liệt kê các phương pháp, phân tích ưu nhược điểm rồi chọn lấy một cái, đề tài chọn ngay phương pháp đơn giản nhất và cũng không khả thi nhất là hàm hóa toàn bộ mặt cong phức tạp của vỏ bằng một hàm toán học duy nhất!

Trước đây thông tin thiếu. Dắt lưng được vài quyển sách “quý” mang từ nước ngoài về hoặc vài phần mềm tính toán đơn giản là có thể “ngạo thế” được rồi. Giờ thì không phải thế.

(xem tiếp).

4 thoughts on “Tản mạn về tin học và … đóng tàu 1.

  1. Đọc câu này của Newton: “phải biết đứng trên vai những người khổng lồ” cháu lại nhớ đến một câu chuyện rất ý nghĩa mà cháu nghe lại.
    Một người kỹ sư dẫn một vị khách thăm quan một nhà máy. Vị khách đã trầm trồ khen ngợi: tại sao con người có thể thiết kế được một nhà máy vĩ đại như thế này. Người kỹ sư trả lời: không ai có thể nghĩ ra được ngay cái nhà máy này, để được nhà máy như hiện nay, hàng trăm thế hệ kỹ sư, mỗi thế hệ cải tiến, thay đổi thiết kế một ít mà nó được như ngày nay và nó sẽ tiếp tục thay đổi để hoàn thiện hơn.

    • Để đi tắt đón đầu, nếu ta biết học, biết thuê những ông thày giỏi thì không cần lâu đến thế.
      Nhưng thường ta thích tự đứng trên đôi chân của mình (đi đất, và còn nguyên vết bùn ruộng mạ).
      Thậm chí tôi biết một người đứng trên đôi cà kheo mượn của người khác rồi mặc quần dài vào cho nó giống chân mình và ra sức túm tóc lôi mình lên cho cao!

  2. Thầu giáo Nguyển Bân , trưởng khoa cơ khí trường đại học giao thông đường thủy thời gian 1975-1983, có nhắc lại lời một nhà đóng tàu người Châu Âu , (đại ý ) : đóng tàu , không phải là một ngành khoa học chính xác. nó là một khoa học sống , trong con tàu của hôm nay, có con tàu của nhửng ngày qua, và có con tàu của ngày mai

    • Nhờ có thầy Bân mà tôi, tuy là học sinh Máy xếp dỡ, “bị ép” tự học thiết kế tàu ngay từ khi còn ngồi trên ghế nhà trường. Sau này những kiến thức đó cũng mang lại nhiều thuận lợi.
      Một chút hoài niệm về một thời nghèo khổ nhưng trong sáng, nhẹ nhàng.

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s