LINUX.ORG.RU

OpenFOAM 3.0.0

 , ,


1

3

Не прошло и полгода, как некоммерческое общество OpenFOAM Foundation представило широкой публике новую, мажорную версию пакета OpenFOAM — открытой интегрируемой платформы для численного моделирования задач механики сплошных сред (в частности) и решения дифференциальных уравнений в тензорной форме (в общем). Изменение мажорной версии с 2 на 3 в данном выпуске произошло впервые с 2011 года и связано с нарушением обратной совместимости, что может привести к необходимости небольших изменений в управляющих файлах при постановке задач.

Версия 3.0.0 содержит много изменений, из которых можно отметить следующие:

  • Некоторые изменения в библиотечной компоновке кода
  • Улучшенная систематизация (например, файл описания сетки blockMeshDict перемещён в каталог system)
  • Обновление и исправления в моделях (например, для kkLOmega модели турбулентности)
  • Добавлен метод SIMPLEC решения уравнений Навье-Стокса
  • В утилиту для построения сетки blockMesh добавлена возможность создания множественного сгущения сеточных линий
  • Для визуализации решений используется пакет ParaView версии 4.4.0

Скачать исходные коды (лицензия GPLv3) и deb-пакеты можно здесь.

>>> Подробности

★★★★★

Проверено: Shaman007 ()

о. хороший повод вернуться к попытке осилить его ;)

azazello ★★★ ()
Ответ на: комментарий от azazello

а чего там осиливать - берёшь подходящий пример, чуть модифицируешь его и - вперёд!.. :)

Sahas ★★★★★ ()
Ответ на: комментарий от Sahas

а чего там осиливать

Хз, я думал курсач по сопромату на нём сделать, ничего не понял, забил и ручками на бумаге всё сделал.

DELIRIUM ★★★★★ ()
Ответ на: комментарий от Sahas
 ____________________________________
/ Корову я могу и без этой программы \
\ нарисовать!                        /
 ------------------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
DELIRIUM ★★★★★ ()

Что такое wmake и насколько хорошо он работает?

CYB3R ★★★★★ ()

А разве SIMPLEC не было раньше?

его ж вроде как просто объединили с SIMPLE в этом релизе?

Slackware_user ★★★★★ ()
Ответ на: комментарий от CYB3R

wmake -это часть опенфом которая его собирает

лежит в исходниках самого солвера. не работает под win принципиально емнип)

Slackware_user ★★★★★ ()
Ответ на: комментарий от buddhist

там и для сопромата 1 солвер есть, МКЭ или МКО я не разбирался - не было нужды

Slackware_user ★★★★★ ()
Ответ на: комментарий от Sahas

посчитай профиль) на трансзвуке со сжимаемостью и моделью турбулентности)

Slackware_user ★★★★★ ()

Изменение мажорной версии с 2 на 3 в данном выпуске произошло впервые с 2011 года и связано с нарушением обратной совместимости, что может привести к необходимости небольших изменений в управляющих файлах при постановке задач

так это хорошо или плохо?

gray ★★★★★ ()
Ответ на: комментарий от Slackware_user

Не было, насколько мне известно. Он включается заданием consistent в опциях SIMPLE.

Sahas ★★★★★ ()
Ответ на: комментарий от Slackware_user

Да, с трансзвуковыми задачами у него проблема. В своё время я использовал rhoCentralFoam, это единственный нормальный солвер для трансзвука, но, к сожалению, явный нестационарный. Пришлось для ускорения стационарного расчета добавить схему с локальным шагом. Стало заметно быстрее сходиться, но всё равно не айс...

Sahas ★★★★★ ()
Ответ на: комментарий от gray

Это семантическое версионирование, что хорошо (в отличие от ядра линукс или того же systemd :)

Sahas ★★★★★ ()
Ответ на: комментарий от Sahas

вот я и говорю что объединили код. раньше был rhosimplecfoam точно.

возможно правда в development ветке.

Slackware_user ★★★★★ ()
Ответ на: комментарий от CYB3R

это другое) оно позволяет просто собрать этого монстра и просто собрать написанный для него солвер. для другого его использовать будет мазохизм)

Slackware_user ★★★★★ ()
Ответ на: комментарий от Sahas

я пробовал считать профили на нем, при помощи sonicfoam. считало с катастрофически низким шагом по времени (1е-8 сек) и давало неповторимые результаты)

Slackware_user ★★★★★ ()

Кто знает: оно OpenCL/CUDA умеет?

asaw ★★★★★ ()

Не понял суть данного ПО но очень рад что оно открытое и позволяет решать сложные интересные задачи. Хорошо когда разные компании открывают подобный специализированный софт, если верить вики, и это становится доступным всем.

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от asaw

Если не ошибаюсь, кто-то предлагает на коммерческой основе.

gag ★★★★★ ()
Ответ на: комментарий от I-Love-Microsoft

Не понял суть данного ПО

А там даже если заглянуть в доки, то можно понять только основы.

Хорошо когда разные компании открывают подобный специализированный софт, если верить вики, и это становится доступным всем.

Но без открытия документации, это, по моему мнению, псевдодоступность.

gag ★★★★★ ()
Ответ на: комментарий от Slackware_user

вот я и говорю что объединили код. раньше был rhosimplecfoam точно.

да, действительно был. Но так закопан, что сразу и не найдёшь =) Я в основном с incompressible солверами работаю

Sahas ★★★★★ ()
Ответ на: комментарий от gag

Но без открытия документации, это, по моему мнению, псевдодоступность.

базовая документация открыта, очень много инфы в сети (в частности, на cfd-online.com). Так что не псевдо =) Но, конечно, уровень вхождения высок, но и область применения специфична, это вам не PHP :)

Sahas ★★★★★ ()
Ответ на: комментарий от Sahas

счастливый человек)

я вот ближайшее время планирую посмотреть его сеточный генератор на предмет работы с геометрией отличной от ступенек, профилей нака и прочего что можно задать по точкам)

Slackware_user ★★★★★ ()
Ответ на: комментарий от Slackware_user

а какой именно? У меня был опыт работы с snappyHexMesh (небольшой) - в принципе, если не гнаться за «красивостями», генерит приемлемые сетки

Sahas ★★★★★ ()
Ответ на: комментарий от Sahas

blockMesh

SnappyHex какую геометрию понимает? и какого типа ячейки на выходе?

Slackware_user ★★★★★ ()
Ответ на: комментарий от Slackware_user

blockMesh для сеток, сложнее кубиков - ад и гоморра...

snappy надо на вход сетку из шестигранников, полностью заполняющих расчётную область, и описание поверхностей, ограничивающих рассматриваемый объект (в формате stl или obj). Он «вырезает» из исходной сетки все ячейки, не попадающий собственно в нужную расчётную область, а потом snap-ит ячейки к границам (тут краткий туториал). Если не нужны очень хорошие погран.слои, то у него есть опция их «выращивания», правда, работает кривовато... На выходе, в основном, шестигранные ячейки (но вблизи границы могут быть и весьма экзотические)

Есть ещё foamyHexMesh (тоже автоматический), но его я не тыкал

Кстати, для сложных сеток я также использую SALOME - штука своеобразная, но довольно мощная

Sahas ★★★★★ ()
Последнее исправление: Sahas (всего исправлений: 3)
Ответ на: комментарий от Sahas

ну адекватную сетку у стенки оно вырастить может? в плане чтоб на реальной геометрии считать было можно?

Slackware_user ★★★★★ ()
Ответ на: комментарий от Slackware_user

ну адекватную сетку у стенки оно вырастить может? в плане чтоб на реальной геометрии считать было можно?

можно, но придётся помучиться с подбором оптимальных параметров, что совсем не тривиально... Для 2D сеток, по идее, должно хорошо работать

Sahas ★★★★★ ()
Ответ на: комментарий от Sahas

что имеется в виду под параметрами? считается что толщина первой ячейки и высота пристеночной области заданы, что еще потребуется?

Slackware_user ★★★★★ ()
Ответ на: комментарий от Slackware_user

что имеется в виду под параметрами? считается что толщина первой ячейки и высота пристеночной области заданы, что еще потребуется?

он не при всяких этих параметрах корректно наращивает погран.слой. По крайней мере, у меня не всегда получалось

Ещё надо коэффициент сгущения задавать, кстати

Sahas ★★★★★ ()
Последнее исправление: Sahas (всего исправлений: 1)
Ответ на: комментарий от Sahas

ну само собой. коэффициент у него тупо отношение толщин соседних ячеек, надеюсь?

Slackware_user ★★★★★ ()
Ответ на: комментарий от Slackware_user

ну само собой. коэффициент у него тупо отношение толщин соседних ячеек, надеюсь?

такие тонкости я уже не помню :) Все опции задаются в файле snappyHexMeshDict, и для погран.слоя там есть

    // Expansion factor for layer mesh
    expansionRatio 1.0;

Sahas ★★★★★ ()

А для не сплошных сред? Газы и жидкости ведь из отдельных атомов состоят.

Napilnik ★★★★★ ()
Ответ на: комментарий от Const

В LAMMPS реализована поддержка большинства двухчастичных и многочастичных короткодействующих потенциалов (потенциалы Леннард-Джонса, Морзе, Юкавы, EAM, AI-REBO).

Придётся перекапывать не переведённую документацию, а свои методы сепуления атомов всё равно добавить будет нельзя? Нет пути.

Napilnik ★★★★★ ()
Ответ на: комментарий от Napilnik

А для не сплошных сред? Газы и жидкости ведь из отдельных атомов состоят.

в OpenFOAM есть решатели для молекулярной динамики и разреженных газов (метод Монте-Карло)

Sahas ★★★★★ ()
Ответ на: комментарий от Sahas

Как понимаю, этот метод для того, чтобы хоть как-нибудь подсчитать сложную задачу. А нужен такой симулятор сепуляции, в котором можно брутфорсить кучу конкретных идей за раз.

Napilnik ★★★★★ ()
Ответ на: комментарий от Napilnik

Кстати, решателя для эфиродинамики там ещё нет. Можешь заняться этой проблемой :)

Sahas ★★★★★ ()
Ответ на: комментарий от Sahas

3Д движок с мягкими фигурами изучать надо, для визуализации.

Napilnik ★★★★★ ()
Ответ на: комментарий от Napilnik

Так изучи и напиши документацию, сообщество будет тебе благодарно

Sahas ★★★★★ ()
Ответ на: комментарий от Sahas

Сообщество будет выть от имён транслитом и матюков в коде:)

Napilnik ★★★★★ ()

С анизотропными телами работает?

vada ★★★★★ ()

Скачать исходные коды (лицензия GPLv3) и deb-пакеты можно здесь.

Вот что за мода пошла? Для вычислительных пакетов (Ex: FEniCS) создать deb-пакеты, а rpm на фиг надо. Админы на кластерах, мол, один фиг всё сами из исходников соберут, а остальным и не надо.

AlexVR ★★★★★ ()
Ответ на: комментарий от vada

С анизотропными телами работает?

если имеются в виду анизотропные свойства (вязкость, диффузия), то да

Sahas ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.