Vấn đề
Tôi hiện đang làm việc trên một mô phỏng Finier Element Navier Stokes và tôi muốn nghiên cứu các hiệu ứng của một loạt các tham số. Một số tham số được chỉ định trong tệp đầu vào hoặc thông qua tùy chọn dòng lệnh; các tham số khác được cung cấp dưới dạng cờ trong Makefile để mã của tôi phải được biên dịch lại bất cứ khi nào tôi thay đổi các tùy chọn đó. Tôi sẽ quan tâm để có được một số lời khuyên về một cách tốt để khám phá một cách có hệ thống không gian tham số.
- Có thư viện / khung công tác C ++ / Python hữu ích nào có thể giúp với loại điều này không? Ví dụ: khám phá boost.Program_options là một trợ giúp lớn vì có thể quá tải các tùy chọn tệp đầu vào với các đối số dòng lệnh. Tôi cũng đã thấy một số người sử dụng một tệp công việc mô tả từng trường hợp khá hiệu quả và một đồng nghiệp đề nghị rằng việc viết tham số vào các tệp vtu vì các khối nhận xét cũng có thể hoạt động.
- Có lẽ nó không đáng để đầu tư nhiều thời gian vào việc này? Có phải nó chỉ là một sự xao lãng và lãng phí thời gian và tốt nhất là chỉ cơ bắp thông qua quá trình thử nghiệm sức mạnh vũ phu và ad hoc?
Một vài suy nghĩ
Tôi hiện đang làm mọi thứ chủ yếu bằng tay và tôi đã gặp phải các vấn đề sau:
- Đặt tên các trường hợp thử nghiệm . Tôi đã thử lưu trữ kết quả trong các thư mục có tên với các tham số chạy được phân tách bằng dấu gạch dưới, ví dụ
Re100_dt02_BDF1...
. Chúng nhanh chóng trở nên dài hoặc khó đọc / khó hiểu nếu chúng được viết tắt quá nhiều. Ngoài ra, các tham số số thực bao gồm một.
lúng túng / xấu xí. - Ghi nhật ký dữ liệu chạy . Đôi khi tôi muốn xem kết quả được ghi vào thiết bị đầu cuối và cũng được lưu vào một tệp văn bản. Câu trả lời này từ StackOverflow chẳng hạn có phần hữu ích nhưng các giải pháp có vẻ hơi khó chịu.
- Vẽ dữ liệu theo tham số . Phải mất khá nhiều thời gian để thu thập dữ liệu có liên quan từ nhiều tệp nhật ký khác nhau thành một tệp mà sau đó tôi có thể vẽ, với một hệ thống tốt hơn có lẽ điều này sẽ trở nên dễ dàng hơn.
- Ghi nhận xét về dữ liệu . Sau khi kiểm tra kết quả, tôi viết một số bình luận trong một tệp văn bản nhưng việc giữ cho nó được đồng bộ hóa với các thư mục kết quả đôi khi rất khó.