Перейти к публикации

Вытеснение жидкости из трубопровода


Рекомендованные сообщения

Приветсвую всех!

Решаю нестационарную задачу вытеснения воды сжимаемым газом из трубопровода. Сжимаемый газ - воздух находится в резервуаре под давлением примерно 5 ати и в начальный момент времени вырывается в трубопровод и вытесняет жидкость из нее. У меня вопросы:

1) Достаточно ли для постановки данной задачи следующих телодвижений: я создал два домена. В начальный момент времени указываю, что в одном только воздух, в другом только жидкость. В обоих доменах определил две среды (воздух и вода). В нач. момент установил давление 5 атм в том домене, где воздух. Опеределил интерфейс между доменами GGI, не сильно изменяя настройки, которые по умолчанию. Также сильно не менял настройки на каждой из сторон этого интерфейса. Ну и определил outlet с 1 атм. Также задал в домене с водой g=9.81m/s2. Хочу посмотреть, как влияет.

Будет ли через интерфейс передаваться воздух? (спрашиваю, потому что задача большая, узнаю ответ только в понедельник).

2) Имеет ли смысл в моем случае сначала решить стационарную задачу, прогнав по всему контуру (включая резервуар) воду с давлением на входе 5 атм, а затем сделать рестарт и решить нестационар с разделением фаз? Мое мнение: толку от этого будет мало, потому что несжимаемая жидкость не должна создать проблем со сходимостью на первой итерации ибо нечему там сильно переходничать. Я правильно думаю?

Заранее всем спасибо.

Ссылка на сообщение
Поделиться на других сайтах


1. Интерфейсы будут работать, но почему бы просто не использовать условные экспрешены в инициализации и обойтись одним доменом без интерфейсов?

2. Не вижу что за геометрия, но я бы сделал так: прогнал бы стационар по домену с водой в контуре (без контура/резервуара с воздухом, одна фаза), потом подгрузил бы полный домен и пустил бы воздух (две фазы) в нестационаре стартанув с предыдущего стационарного решения. Тогда и вопрос №1 отпадет.

Ссылка на сообщение
Поделиться на других сайтах

А какой смысл в стационарном расчете будет? Несжимаемая жидкость вытекать будет медленно, без выкрутасов, устанавливаться ей без проблем, - обычная труба внутренний диаметр 10 мм, длина 11 м (одно сужение 4 мм диаметром в середине длины). Впрочем, посмотрим, будет ли сходиться на первой итерации.

На счет выражений, - буду смотреть. Пока не пробовал так делать.

Важный вопрос: Как отключить расчет по моменту полного вытеснения жидкости? Чувствую, надо написать какие-то выражения и по ним отрубать. Может пример где-нибудь есть?

Ссылка на сообщение
Поделиться на других сайтах

А какой смысл в стационарном расчете будет? Несжимаемая жидкость вытекать будет медленно, без выкрутасов, устанавливаться ей без проблем, - обычная труба внутренний диаметр 10 мм, длина 11 м (одно сужение 4 мм диаметром в середине длины). Впрочем, посмотрим, будет ли сходиться на первой итерации.

На счет выражений, - буду смотреть. Пока не пробовал так делать.

Важный вопрос: Как отключить расчет по моменту полного вытеснения жидкости? Чувствую, надо написать какие-то выражения и по ним отрубать. Может пример где-нибудь есть?

Чтоб правильные начальные условия были. Поле скорости постоянным ведь не будет (погран слой, сужение).

Монитор фракции воды или воздуха на выходе - по нему и отключить.

Как сделать это автоматически - можно извратиться и прописать экспрешеном время нестационара, т.е. допустим если фракция воды около нуля -> time duration = (current timestep + 1)* timestep size. Ну а можно просто воспользоваться опцией Interrupt Control в Solver Control с логическим выражением по фракции воды.

Ссылка на сообщение
Поделиться на других сайтах

2. Не вижу что за геометрия, но я бы сделал так: прогнал бы стационар по домену с водой в контуре (без контура/резервуара с воздухом, одна фаза), потом подгрузил бы полный домен и пустил бы воздух (две фазы) в нестационаре стартанув с предыдущего стационарного решения. Тогда и вопрос №1 отпадет.

1) Правильно ли я понимаю, что вместе с подгруженными начальными условиями в виде заранее решенного стационара подгрузится и среда этого стационара, то есть вода?

Другими словами: получится ли само собой разделение двух фаз воздуха и воды? Я думал, что файл для рестарта содержит только поля скоростей давлений и тп, но не содержит привязки к конкретной среде,

которая там протекала.

2) Можно ли вместе с заданием границы раздела фаз с помощью выражений, с помощью них же задать и разность давлений в разделенных областях?

Ибо у меня 5 атм воздух в баллоне.

После выходных получил ошибку: Floating point exception: overflow. Stopped in routine C_FPX_HANDLER. Любые комментарии приветствуются.

Ссылка на сообщение
Поделиться на других сайтах

1) Правильно ли я понимаю, что вместе с подгруженными начальными условиями в виде заранее решенного стационара подгрузится и среда этого стационара, то есть вода?

Другими словами: получится ли само собой разделение двух фаз воздуха и воды? Я думал, что файл для рестарта содержит только поля скоростей давлений и тп, но не содержит привязки к конкретной среде,

которая там протекала.

2) Можно ли вместе с заданием границы раздела фаз с помощью выражений, с помощью них же задать и разность давлений в разделенных областях?

Ибо у меня 5 атм воздух в баллоне.

После выходных получил ошибку: Floating point exception: overflow. Stopped in routine C_FPX_HANDLER. Любые комментарии приветствуются.

1. В начальные условия подгружается вся информация, включая фракции.

2. Да, можно и нужно.

Ссылка на сообщение
Поделиться на других сайтах

Сильно попогаете, Dick. Благодарствую.

Сделал следующее: Отключил домен баллона с воздухом в ansys meshing, затем эту сетку подгрузил в cfx и решил (не сошелся, ну и ладно) стационарную задачу с давлением на входе 5 атм. Этот файл результатов отложил (*).

Затем снова включил домен с воздухом в ansys meshing и все это дело отправил в cfx, там, как раньше, определил два домена (так сделал, потому что долго бить сетку снова в полном домене с баллоном) с интерфейсом (GGI),и начальными условиями только для баллона (все скорости = 0 и давление 5 атм).

Запустил на счет, указав для рестарта сохраненный ранее файл (*).

ПОЛУЧИЛ: Деление на ноль stopped in routine C_FPX_HANDLER. Есть мнение, что double precision решит мою проблему, а также есть мнение, что виноваты выражения, которые я наклепал:

Для завершения расчета Interrupt Control в Solver Control: if(volumeAve(water).vf@pipes<0.005, true, false). Примерно так. Не понятно, решатель на true отключает расчет или наоборот?

Ссылка на сообщение
Поделиться на других сайтах

Может быть ошибка в выражении. Но, если не ошибаюсь, при делении на ноль указывает в каком выражении ошибка.

Еще может быть ошибка из-за интерфейса, из-за free surface model. Ну и конечно шаг времени и сетка. Попробуйте от простого к сложному - 1 домен без интерфейса, гомогенная смесь без free surface и т.п.

Ссылка на сообщение
Поделиться на других сайтах

Завтра я собираюсь:

1) Создать один общий домен с трубой и баллоном, определить в нем две жидкости воздух и воду (задать их потенциальное наличие), в начальный момент времени весь (и трубы и баллон) домен заполнить давлением 5 атм. Затем при старте решателя всунуть файл результатов стационара (где поля только для трубы) в надежде, что этот файл перезапишет НУ в трубе и ждать.

Какие шаги здесь лишние. Есть ли недостающие?

Если первое не прокатит:

2) Создать один домен, разделить его выражениями на фракции, задать выражениями перепад давлений 5 атм. Решать без рестарта.

Может и здесь рестарт не помешает?

В примере прочитал о том, что можно использовать dispersed phase если хочется, чтобы воздух выходил из воды, как происходит в реальности. Не повлияет ли это на остальное состояние воздуха? Там же надо указывать размер дисперсности, на сколько я помню.

Ссылка на сообщение
Поделиться на других сайтах

Завтра я собираюсь:

1) Создать один общий домен с трубой и баллоном, определить в нем две жидкости воздух и воду (задать их потенциальное наличие), в начальный момент времени весь (и трубы и баллон) домен заполнить давлением 5 атм. Затем при старте решателя всунуть файл результатов стационара (где поля только для трубы) в надежде, что этот файл перезапишет НУ в трубе и ждать.

Какие шаги здесь лишние. Есть ли недостающие?

Если первое не прокатит:

2) Создать один домен, разделить его выражениями на фракции, задать выражениями перепад давлений 5 атм. Решать без рестарта.

Может и здесь рестарт не помешает?

В примере прочитал о том, что можно использовать dispersed phase если хочется, чтобы воздух выходил из воды, как происходит в реальности. Не повлияет ли это на остальное состояние воздуха? Там же надо указывать размер дисперсности, на сколько я помню.

Как бы сделал я в идеале. Сделал бы 3 сетки. 1 сетка - труба с водой. 2 сетка - баллон с подводом к трубе. 3 сетка - 1 и 2 сетки вместе в 1 домене. Посчитал бы стационар исключительно с водой на сетке номер 1. Посчитал бы 1 итерацию на сетке 2 исключительно с покоящимся воздухом при 5 атм (может быть необязательно, но так, для успокоения, чтоб получить рез-файл с начальными условиями по воздушной части). Затем оформил бы нестационар для сетки 3, а в начальные условия солвера подгрузил бы результаты с сеток 1 и 2.

Если это закосячит, то тогда бы считал сразу нестационар на сетке 3 без подгрузки результатов с сеток 1 и 2. А инициализацию раздал бы в препроцессоре через экспрешены в соответствующих частях домена по координатам (по давлению, по фракциям, по скорости). Да в момент t=0 в трубе будет ровное поле скорости, ну чтож поделать. Зато просто и быстро.

Dispersed fluid - это эйлеровские пузыри, растворенный в воде воздух. Для сплошной среды не подходит. Вам лучше попробовать сначала без free surface модели на обычной гомогенной смеси воздух-вода. Нефизично, но чтоб прогнать и посмотреть работает ли модель достаточно. Потом можно попробовать гомогенную смесь с free surface, ну и потом уже негомогенную смесь.

Ссылка на сообщение
Поделиться на других сайтах

А как в cfx подгрузить два файла для рестарта? Просто в окне выбрать два файла с ctrl?

Я хочу попробовать с верхнего уровня, самое сложное, затем если не получится, полегче, затем если не получится, еще полегче. :) Тоже стратегия. Буду пробовать сегодня, спасибо. Вечером отпишу.

Ссылка на сообщение
Поделиться на других сайтах

В 12.1 версии во вкладке Initial Values Specifications просто надо несколько раз нажать на иконку New сбоку и для каждого Initial Values выбрать свой рез-файл.

Как же тут все сложно то, а...

Во флоувижине естественно все проще, быстрее + можно скачать демку на сайте... :-)
Ссылка на сообщение
Поделиться на других сайтах

Как конференция наша кончится, то попробую у нас запустить. Если честно то не считали на новой версии такие вещи.

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

Где-то у меня валялась презентация на эту тему.

Ссылка на сообщение
Поделиться на других сайтах

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

Где-то у меня валялась презентация на эту тему.

Выложите, пожалуйста.

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

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

Ссылка на сообщение
Поделиться на других сайтах

А симптомы у вас какие были? Такие же как у меня? Division by zero?

Кто-нибудь сталкивался с проблемой в Ansys Meshing 12.1: Когда бил два тела автоматическим методом с указанием мест сгущения сферами влияния, то получалась отличная сетка, прямо сказка. И призматический слой - конфета. Так не получалось выгладить даже в ICEM. Но начал бить сетку одного объединенного тела и полезли проблемы. От красивой сетки не осталось и следа. Делаю все также как в случае с двумя телами. Сетка получается кривая, призмы косые, переходы жесткие, все ребра обсчитывает, а мог бы и пропустить, ибо я ему говорю patch independent. Ставлю снова автомат, все равно все кривые жестко бьет и опирается на них. Мистика, или у меня руки кривые? Из-за этого все затормозилось.

Ссылка на сообщение
Поделиться на других сайтах

Ребята, почему эта задача оказалась такая зубодробильная и не только у меня? Кто-нибудь решал задачи вообще с двумя фазами так, чтобы одна сжимаемая, а другая нет????

Ссылка на сообщение
Поделиться на других сайтах

Есть версии, почему в CFX такую задачу решить трудно (может даже невозможно)?

Ссылка на сообщение
Поделиться на других сайтах

Есть версии, почему в CFX такую задачу решить трудно (может даже невозможно)?

Кажая задача по своему индивидуальна, иначе расчетчики были бы не нужны :-)

Если есть вопросы по моделям CFX - сделайте плоский кубик 100 на 100 толщиной в 1 и погоняйте воду со сжимаемым воздухом, например, как вода сверху заливается в баллон под давлением и плещется. Сетка гекса с аспектом 1 (кубы), нестационар, никаких турбулентностей и погранслоев. Решаться будет быстро.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...