Pull to refresh

Численное моделирование: OpenFOAM. Введение

«OpenFOAM — открытая интегрируемая платформа для численного моделирования задач механики сплошной среды» — вот что отвечает нам Википедия на вопрос «Что такое OpenFOAM?».
Что все это значит я разберу в этой заметке.

Итак, представим, что вы инженер. У вас есть задание — рассчитать, к примеру, обтекание воздухом автомобиля. Вы берете специализированное ПО, формулируете задачу, решаете, интерпретируете результат.
Соответствующее ПО делится на платное и бесплатное. К последней категории относится OpenFOAM. Распространяется эта система под лицензией GNU-LGPL. Это значит, что код можно самостоятельно расширять и, что немаловажно, использовать в любых проектах, даже коммерческих.
Впрочем, расширение возможностей нас пока не интересует, для начала неплохо было бы просто научиться всем этим пользоваться.
Итак, смысл программы в следующем: на вход ей подаются некоторые начальные данные, она их обрабатывает и на выходе выдает распределение искомых величин во времени и пространстве.
Теперь рассмотрим какие необходимы начальные данные:
  • Система уравнений для решения, диктуемая исходной задачей;
  • Сетка, на которой будет рассчитываться решение;
  • Начальные условия;
  • Граничные условия;
  • Свойства объектов, важные для рассчета;
  • Настройки методов аппроскимации исходных ДУ.


Ну вот, самое важное перечислил. Есть еще всякие мелочи, типа настроек выходных данных, но пока останавливаться на них не стоит, разберемся с главным. Пройдемся по пунктам подробнее.
Систему уравнений явно задавать, как правило, не требуется — это одни и те же законы сохранения. Достаточно выбрать правильный решатель.
Сетка создается в других программах, например, blockMesh или SALOME. Вообще, создание сетки — тема для долгой и обстоятельной беседы.
Начальные условия — распределения искомых величин в начале рассчета. Все проще некуда.
Граничные условия — поведение искомых величин на границах. Поскольку величины могут вести себя на границах очень непросто, существует много типов ГУ. Наиболее употребимых, впрочем, немного.
Свойства объектов зависят от задачи — для упомянутого выше примера с обтеканием машины это будут термофизические свойства воздуха. Тут есть где развернуться.
С методами аппроксимации тоже полный порядок — есть наиболее известные, правда, максимум второго порядка точности. Считается, что инженерам этого достаточно и что дальнейшее увеличение точности несопоставимо с расходами на вычисление.
Все параметры лежат в виде текста в файлах и ждут, когда их начнут изменять. Исключением может быть сетка, хотя и ее можно описать в текстовом виде для blockMesh.
В завершение этого во всех смыслах начального поста скажу, что OpenFOAM имеет внушительную базу примеров — именно с их изучения и стоит начать осваивать эту славную систему.
Если сообществу будет интересно — продолжу публикацию статей про OF.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.