Применение динамических в ANSYS Fluent
В рамках вебинара будут рассмотрены следующие вопросы: введение в методологию динамических сеток, типы движения границ или сеточных зон, методы динамических сеток, использование решателя с шестью степенями свободы (6DOF solver), дополнительные опции.
- Добавить комментарий
- 15247 просмотров
Комментарии
На моменте 51:39 используется файл "****.prof" можно ли узнать какие команды можно туда писать, список или какой-нибудь туториал по профилям этим, не совсем понятно как создавать такой код.
Здравствуйте!
Можете в данном разделе документации почитать: Fluent > User Guide > 6.Cell Zone and Boundary Conditions > 6.6. Profiles
Добрый день!
Попробовал сделать простейший 2d поршень в цилиндре в виде прямоугольника с движущейся нижней стенкой botton layering , согласно UDF файла Все работает отлично.
А вот с так называемым top layering возникает проблема.
Добавил в Dynamic Mesh Zones, как было показано в вебинаре, еще стенки/зоны:
Файл UDF оставил неизменным (как и был для botton layering)- он для прошлой задачи работал.
И получил следующую проблему после команды Preview:
Сетка начала двигаться вверх, как и должно быть. Самая верхняя строчка ячеек (возле верхней стенки) начала сжиматься, как и должно быть. Но почему то не «схлопнулась» в ничто, чтобы в дальнейшем начать сжимать следующую строку ячеек. А продолжала сжиматься до тех пор, пока не слилась с верхней стенкой поршня.
После чего вылетела такая ошибка: Update Dynamic Mesh failed. Negative cell volume detected.
В чем может быть причина этой ошибки и как ее исправить?
Проблема в том, что вы для внутренней зоны задали значение высоты ячейки сетки, а это делать не нужно, так как Fluent надо указывать значение высоты ячейки только для границ, на которых непосредственно происходит перестроение сетки. Оставьте значения по нулям и все будет OK!
Спасибо! Все получилось. Сейчас пробую более сложнуюю геометрию поршня и метод remesing. Выбираю Local cell и region face. Под этот метод перестроил прямоугольную сетку на треугольную. Доходит до 73 временного шага и выдает ошибку- отрицательный объем ячеек. В чем может быть причина?
Здравствуйте.
Надо модель посмотреть.
Добрый день!
Можно посмотреть по ссылке
https://cloud.mail.ru/public/qxXW/yrZTSHWNy
Там cas и UDF файлы.
Вы забыли задать деформацию левой (left_bottom) и правой границы (right_bottom). Сетка у вас перестраивается, а боковые границы стоят на месте - отсюда и возникает конфликт. В отличие от метода layering, в котором достаточно указать движение одной границы и деформация боковых границ будет происходить автоматически, то в методе remeshing такой вариант не прокатит. Т.е. ему нужно явно указать какие из границ будут деформироваться и в какой плоскости.
P.S. Уменьшите значение временного шага до 1e-05 и size remeshing interval до 2.
Сделал, как Вы написали. Но начиная с 31 шага- начинает считать очень медленно, а на 33 шаге практически совсем остановился. И начинает писать предупреждение:
Warning: minimum orthogonnal quality less then 0.05. Что здесь можно исправить?
Всегда когда у вас возникают такие проблемы, то сперва надо попробовать поварьировать глобальные параметры метода remeshing (minimum length scale, maximum length scale). В качестве начального приближения обычно рекомендуется использовать значения Minimum length scale = 0.4*минимальный размер ячейки, который указан в окне Mesh Scale Info, Maximum length scale = 1.4*максимальный размер ячейки. Если проблема осталась, то увеличивайте частоту перестроения сетки. Далее можно попробовать уменьшить размер временного шага. Если после этого все равно продолжают появляться негативные ячейки или качество ортогональности становится меньше 0.05, то стоит подключить деформацию сетки.
Настройки модели можете посмотреть по ссылке:
https://drive.google.com/open?id=0BxL0SxP-AcLpNkkzU3BYc1ZpbEU
А чем открыть файл настроек? Пишет, что поврежден.
Через консоль file/read-settings
Вы имеете в виду во Fluent? У меня предлагает после file/read 4 варианта: mesh, case, data и case$data.
setting там нет.
В консоли Fluent пишите file/read-settings
Добрый день!
Разобрался))) Спасибо.
Вы писали, что Если после этого все равно продолжают появляться негативные ячейки или качество ортогональности становится меньше 0.05, то стоит подключить деформацию сетки. Как ее можно подключить, если такое будет происходить? Через основные настройки smoothing/spring, а затем в Dynamic mesh zone и на типе RigidBody поставить галку Deform Adjacent Boundary Layer?
И можно ли сразу ее подключать совместно с варьированием глобальных параметров метода remeshing ? Или лучше все таки сначала поварьировать эти параметры?
Опция Deform Adjacent Boundary Layer with Zone подключается, когда у вас в задаче имеется призматический слой. Подробнее можете почитать в документации 10.6.2.1.5. Boundary Layer Smoothing Method.
Можете сразу подключать smoothing совместно с методом remeshing. Все зависит от задачи и ваших вычислительных ресурсов. Если ресурсов достаточно, то можно смело пользоваться методом remeshing. Если же ресурсов недостаточно, то подключайте дополнительно метод smoothing, так как в данном случае можно избежать слишком частого обновления (перестроения) сетки и тем самым сэкономить время. Вообще, если деформация незначительная то обычно применяют метод smoothing. Если объект перемешается на большое расстояние (движение поршня), то придется подключать метод remeshing, чтобы обеспечить приемлемое качество сетки и избежать появления вырожденных элементов.
Добрый день! Решил немного изменить геометрию. На верхней стенке по центру добавил входное отверстие с заданными параметрами (pressure intlet). Почему то сразу динамическая сетка перестала работать. С 1-го шага пишет про негативные ячейки. С чем это может быть связано? И как это исправить?
Здравствуйте! Надо проект посмотреть.
С сеткой разобрался. По крайней мере в режиме preview проходит полностью. Теперь другая проблема: как только запускаю расчет, то расчет "разваливается" практически сразу. Может быть из-за добавленного отверстия вверху? Или неверно введенных параметров по нему? Первоначально была идея "вручную" закрывать его переодически и без новой инициализации продолжать расчет. Посмотрите, пож-та, проект по ссылке https://cloud.mail.ru/public/9TgC/GAftK4T75
Там cas и udf файлы.
А вас не смущает сообщение "Warning: Incorrect Specific Heat value"? Вы забыли задать количество степеней свободы в панели Create/Edit Materials при указании kinetic-theory для Сp.
Благодарю! Я, честно говоря, не знал этого. Сейчас установил степень свободы 2 и расчет пошел. А какую степень свободы лучше устанавливать для двумерной задачи? Каким правилом руководствоваться?
В итоге расчет все равно развалился на временном шаге 812 (из 5000). Подскажите, с чем связано?
Пишет следующее:
Flow time = 0.004060014616698027s, time step = 812
4188 more time steps
Updating solution at time level N... done.
Updating mesh at time level N... done.
iter continuity x-velocity y-velocity energy time/iter
15568 1.5228e-03 1.4608e-05 3.2494e-05 2.8620e-06 0:00:03 20
reversed flow in 4 faces on pressure-inlet 13.
Divergence detected in AMG solver: temperature
Divergence detected in AMG solver: temperature
Divergence detected in AMG solver: temperature
Divergence detected in AMG solver: temperature
Divergence detected in AMG solver: temperature
Divergence detected in AMG solver: temperature
Error at host: floating point exception
# Divergence detected in AMG solver: temperature -> Increasing relaxation sweeps!
# You may try the enhanced divergence recovery with (rpsetvar 'amg/protective-enhanced? #t)
Error at Node 0: floating point exception
Error at Node 1: floating point exception
Error at Node 2: floating point exception
Error at Node 3: floating point exception
Error at Node 4: floating point exception
Error at Node 5: floating point exception
Error: floating point exception
Error Object: #f
Все зависит от того, какой у вас газ (одноатомный или двухатомный). Если одноатомный, то число степеней свободы = 3 (три поступательные), если двухатомный газ, то число стпепеней свободы = 5 (три поступаьельные + две вращательные).
Во-первых, у вас образуется возвратное течение (reversed flow in 4 faces on pressure-inlet 13). Поэтому, предлагаю вам вытянуть входную границу.
Вероятнее всего значение URF (коэффициент нижней релаксации) для уравнения по энергии сильно завышено. Уменьшите URF на 10% и запустите расчет заново.
Еще одна причина это плохое качество сетки. С математической точки зрения из-за сильно искаженных ячеек возникают дополнительные источниковые слагаемые, приводящие к возникновению неустойчивости численных схем. Данная проблема может и не разрешится без перестроения сеточной модели. Минимальное качество ортогональности должно быть на уровне 0.01. Особенно важно избегать сильно искаженных ячеек в близи областей с высокими значениями градиента. Так как величина ошибки в данном случае будет удваиваться.
Также это может быть связано с не правильно заданными ГУ. Если вы уверены в качестве сеточной модели и снизили URF, но все равно решатель останавливается с появлением данной ошибки, то стоит пересмотреть правильность задания ГУ и значений заданных параметров.
Кирилл, здравствуйте! Не могли бы Вы дать посмотреть файл UDF для создания контакта динамической сетки в примере клапана, который приводится в видео. Для изучения и построения динамической модели.
Добрый день! Можно ли сейчас получить доступ к udf-файлу из видео? Лучше на почту .
Заранее благодарен.
День добрый! такой вопрос - вот у меня задача смоделировать движение пули в стволе в 3D. пуля двигается просто поступательно с постоянной скоростью. мне нужно задать в cell zones - mesh motion движение с какой-то скоростью, или можно использовать Six-Dof? или обе опции нужно включать ? просто когда выбираешь rigid body, там нужен либо udf, либо профиль, либо эта функция включается через включание six-Dof, и прописания там условия движения пули.
Добавить комментарий