Проблема
Зараз я працюю над моделюванням Кінцевого елемента Нав'єр Стокса, і я хотів би дослідити вплив різних параметрів. Деякі параметри задаються у вхідному файлі або через параметри командного рядка; інші параметри надаються як прапори в Makefile, тому мій код повинен бути перекомпільований щоразу, коли я змінюю ці параметри. Мені буде цікаво отримати поради щодо хорошого способу систематичного дослідження простору параметрів.
- Чи є корисні бібліотеки / рамки C ++ / Python, які можуть допомогти у подібній справі? Наприклад, виявлення boost.Program_options було великою підмогою, оскільки можна перевантажувати параметри вхідних файлів аргументами командного рядка. Я також бачив, як деякі люди досить ефективно використовують файл завдання, що описує кожен випадок, і колега запропонував, щоб записи параметрів у файли vtu як блоки коментарів могли працювати також.
- Можливо, зовсім не варто вкладати в це багато часу? Це просто відволікання та затримка часу, і найкраще просто м'язити через процес тестування грубої сили та спеціальних дій?
Деякі думки
Зараз я займаюся руками переважно, і у мене виникли такі проблеми:
- Назви тестових справ . Я намагався зберігати результати у папках, названих із параметрами запуску, розділеними підкресленнями, наприклад
Re100_dt02_BDF1...
. Вони швидко стають довгими або важкими для читання / виразними, якщо їх скорочено занадто багато. Крім того, параметри реального числа включають,.
що незручно / негарно. - Журнал даних про виконання . Іноді я хотів би побачити результати, записані в термінал, а також збережені у текстовому файлі. Наприклад, ця відповідь StackOverflow дещо корисна, але рішення здаються трохи нав'язливими.
- Складання даних за параметром . Збирати релевантні дані з різних файлів журналів у єдиний файл, який я можу потім скласти, потрібно досить багато часу, з кращою системою, можливо, це стане простішим.
- Запис коментарів до даних . Після вивчення результатів я записую деякі коментарі у текстовий файл, але зберігати це синхронізується з папками результатів, іноді складно.