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

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

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

На входе установлена расходомерная установка и датчик давления.

Мне необходимо "пощупать" значения распределения поля скоростей в критических местах.

Построил соответствующую геометрию, существующей топологии. Подготовил в препроцессоре сетку, импортировал ее во Fluent.

Задаю следущие граничные условия:

1) mass-flow-inlet - массовый расход на входе, соответствующий показаниям расходомерной установки

2) pressure outlet - на выходе нулевое значение относительного давления

3) wall - стенки.

В Operating Conditions задаю

- значение рабочего давления Operating Pressure , равного показанию датчика давления, установленного на входе в систему.

В силу заданной комбинации граничных условий я получаю

1) на выходе значение абсолютного давления, равного рабочему давлению, а

2) на входе - получаю уже как-бы "поджатое" давление для заданного расхода.

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

Таким образом, на выходе давление не может быть равным рабочему давлению, строго говоря.

При попытке задать на выходе граничное условие Outflow Fluent выдает сообщение

- outflow boundary conditions cannot be used with ideal gases

Каким образом мне правильно задать граничные условия во Fluent-е, чтобы соблюдалась физика процесса?

Заранее благодарен за помощь.

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


а давление на выходе из системы не известно ??

это было бы самым оптимальным вариантом

а по поводу распределения расходов в системах коллекторов хотелось бы кое на чем акцентировать внимание

к примеру схема следующая

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

задача равномерно распределить расход.

при расчете подобной задачи без учета насадок запросто можно получить большие разбросы расходов и т.д.

не стоит забывать что раздача будет определяться наиболее зажатыми местами в схеме и соответсвенно их нужно включать в расчетную модель

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


Одна из самых простых топологий систем трубопроводов с протекающим газовым потоком имеет вид:


Изображение

где МС - местное сопротивление (1 - первое, 2 - второе и т.д.);
Q - расход, соответствующий показаниям расходомерной установки;
P - давление на входе, в месте расположения расходомерной установки.

Ниже приведен список местных сопротивлений(МС):

1) МС1 - разветвляющиеся потоки (группа колен типа "тройник").

2) МС2, МС5 - запорная арматура (открывающие шаровые краны, имеющие свои геометрические параметры и предназначенные для открытия/закрытия соответствующей трубопроводной системы).

3) МС3, МС6 - исследуемые местные сопротивления с соответствующими им специфическими геометрическими характеристиками.

4) МС4, МС7 - запорная арматура (закрывающие шаровые краны, имеющие свои геометрические параметры и предназначенные для открытия/закрытия соответствующей трубопроводной системы).

5) МС8 - смешивающиеся потоки (группа колен типа "тройник").

Сейчас, я спроектировал в CAD-е такого рода систему в 3-D исполнении со всеми геометрическими характеристиками местных сопротивлений и соединяющих их трубопроводов.

Построил сетку в препроцессоре, импортировал ее во Fluent. Задал расход - на входе в систему, нулевой pressure-outlet - на выходе из системы. Просчитал, что получилось. :clap_1:

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

Для моего случая экспериментальные исследования проводится специально не будут (это дорого :blink: ), а результаты расчетов по теории гидравлических цепей вполне заслуживают доверия. Гидравлические сопротивления взял из справочников, и старым дедовским способом обсчитал эту задачку. И принял результаты в качестве эталонных.

В результате CFD-моделирования я получил результаты, имеющие хорошую степень сходимости с эталонными. Но необходимо получить бОльшую :surrender: степень сходимости, т.к. исследуемое местное сопротивление имеет прецизионные геометрические характеристики.

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


from Miki:

а давление на выходе из системы не известно ??



К сожалению, давление на выходе из системы не известно. Известно только значение давления на входе P, т.к. датчик давления является одним из измерительных каналов самого расходомерного комплекса.

В качестве рабочего давления я задаю показания датчика давления на входе в систему, но нулевой pressure-outlet автоматически подразумевает, что на выходе давление у меня равно рабочему.

В этом случае на входе - получаю уже как-бы "поджатое" :mad: давление для заданного расхода.

Все-таки, мне кажется, что можно как-то выкрутится, чтобы соблюсти правильность постановки задачи. Такой монстр на рынке CFD-кода как Fluent должен иметь средства для выполнения этой задачи. :sad:

Может нужно написать как какие-то дополнительные функции типа User-defined functions (UDFs) или что-то в этом роде?

Каким же образом мне правильно задать граничные условия во Fluent-е, чтобы соблюдалась физика процесса?
:g:
Ссылка на сообщение
Поделиться на других сайтах

исходя из схемы

можно задать на выходе из 8-го сопротивления расход, а на входе поставить opening с нулевым давлением

вот если бы было несколько выходов, тогда конечно такое не прокатит.

кстати раз основная цель задачи определение гидр характеристик 3 и 6-го,

то стоит посчитать их отдельно, заодно и с сеточной сходимостью разобраться

точность связана не только с гран условиями, еще есть модель турбулентности и сеточная сходимость к каждой модели как правило несколько разная. имеется ввиду параметр Y+

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

Мне кажется, что подгонять CFD-результаты по "дедовской" (пусть даже хорошей) теории -- в принципе порочная затея. Ибо верно одно из двух:

- старая теория дает бесподобное качество (тогда зачем Вам CFD?);

- старая теория дает чувствительную погрешность (тогда её нельзя считать "эталонной").

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

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

Для решения задачи нужно использовать граничные условия Pressure Inlet + Pressure Outlet, а для Pressure outlet задать target-mass-flow-rate c помощью текстовой команды. Процедура описана в главе 6.8.3 Fluent UG.

Изменено пользователем chupal
Ссылка на сообщение
Поделиться на других сайтах

Fwd: Система трубопроводов (граничные условия)

Прежде всего - большое спасибо за дельные советы!

Теперь дальше и по-порядку.

==>Miki

Вы действительно правы по поводу того, что основной целью данной задачи является определение гидравлических характеристик 3-его и 6-ого сопротивлений. Для их индивидуальных геометрических характеристик в первую очередь были построены отдельные CFD-модели, которые были тщательно оптимизированы с точки зрения качества построения сетки, выбора подходящей модели турбулентности и подбора плотности сетки в пристеночной области исходя из подходящего Y+.

И только затем они были "вставлены" в систему трубопроводов.

исходя из схемы можно задать на выходе из 8-го сопротивления расход, а на входе поставить opening с нулевым давлением

Просветите меня, плиз, по поводу 2-х моментов в этом высказывании:

1.Как мне задать на выходе из 8-ого сопротивления расход?

2.Как на входе поставить opening с нулевым давлением?

В списке перечисления возможных граничных условий (Define->Boundary Conditions) присутствует только mass-flow-inlet. Какое из перечисленных в списке граничных условий позволяет задавать массовый расход на выходе?

Мне не совсем понятно, что такое opening с нулевым давлением. В том же списке граничных условий я его не нашел. Какое из перечисленных в списке граничных условий позволяет задавать это opening с нулевым давлением?

вот если бы было несколько выходов, тогда конечно такое не прокатит

У меня действительно есть ряд топологий для которых есть несколько выходов. Я сейчас ломаю голову над тем, как задать граничные условия для этого случая. Одна из типовых схем такого рода объектов приведена ниже.

Изображение

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

-----------------------------------------------------------------------------------------------

==>Iatsouk

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

Но когда эти элементы были "вставлены" в CFD-модель трубопроводной системы, то они стали как-бы ее частью. Постановка задачи подразумевает под собой изучение их поведения совместно с остальными элементами трубопроводной системы. Экспериментальные данные получить невозможно (точнее очень дорого), поэтому было принято решение использовать для этой цели CFD-моделирование.

В связи с этим появилась промежуточная задача - проверка результатов CFD-моделирования с теоретическими расчетами.

Теория гидравлических цепей просто подошла нам.

старая теория дает чувствительную погрешность (тогда её нельзя считать "эталонной")

Эта старая теория имеет свою определенную методическую погрешность и принимается за "эталонную" именно в кавычках.

Кстати, не встречалось кому-нибудь случайно какое-нибудь програмное обеспечение, автоматизирующее процесс проведения расчетов по теории гидравлических цепей?

Может быть даже исходники. Скажем на Fortran-е? В свое время западная промышленность хорошо инвестировала разработку решения прикладных задач на Fortran-е.

Если у кого есть сведения по возможному местонахождению в сети такого рода информация - выложите URL-линки, плиз. Или намекните где можно покопать в этом направлении? Скажем - адреса сайтов западных или наших университетов или других организаций, которые иногда практикуют такого рода обмен информацией.

старая теория дает бесподобное качество (тогда зачем Вам CFD?);

Любая теория, как известно, имеет некоторые ограничения. Следовательно она не может иметь бесподобное качество. Именно в этом случае и нужно CFD. С этим, я думаю, согласятся все.

А истина, как обычно, лежит где-то посередине этих 2-х утверждений.

-----------------------------------------------------------------------------------------------

==>chupal

Для решения задачи нужно использовать граничные условия Pressure Inlet + Pressure Outlet, а для Pressure outlet задать target-mass-flow-rate c помощью текстовой команды.

В главе 6.8.3 Fluent User's Guide действительно описаны 2 метода задания граничных условий с так называемой опцией "Target Mass Flow Rate Option".

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

Изображение

Изображение

Изображение

Как я понял мне предпочтительнее использовать 2-й метод, т.к. 1-й метод рекоммендуется применять в области турбомашинных установок. Я прав?

Для 2-ого метода задания граничных условий с так называемой опцией "Target Mass Flow Rate Option" коротко, в моем литературном переводе, заключается в следующем.

1. Просмотеть (loop) грани, где установлено граничное условие типа pressure-outlet на выходе, для того чтобы рассчитать среднее статическое давление и массовый расход.

2.Использовать требующийся массовый расход (так называемый искомый массовый расход - Target Mass Flow Rate), текущий вычисленный расход и среднее статическое давление в уравнении Бернулли для того, чтобы получить новое среднее статическое давление, применяя при этом релаксационные параметры для стабилизации решения.

Активизация опции Target Mass Flow Rate (TMR) осуществляется при помощи команды, доступ к которой осуществляется посредством меню текстового пользовательского интерфейса:

define->boundary-conditions->target-mass-flow-rate-settings

Далее следует вполне понятное описание последующих шагов.

Ниже приведен перечень непонятных для меня моментов.

1.Target Mass Flow Rate - это тот искомый расход, который протекает через мою трубопроводную систему?

2.Что обозначает "Просмотеть (loop) грани..." ?

3.Что подразумевается под фразой "рассчитать среднее статическое давление и массовый расход" говорится в первом шаге?

4.Что это за загадочный текущий массовый расход, о котором говорится на следующем шаге? Это тот самый, что мы "рассчитали" пунктом выше?

5.Что обозначает 2-й шаг метода задания Target Mass Flow Rate?

6.Как можно использовать требующийся массовый расход (так называемый искомый массовый расход - Target Mass Flow Rate), текущий вычисленный расход и среднее статическое давление в моем случае?

7.На сколько я понял это итерационный процесс, где первый раз мы как бы "угадываем" среднее статическое давление и массовый расход, а затем итерационно получаем схождение этих значений к "истинным" ?

Для решения задачи нужно использовать граничные условия Pressure Inlet + Pressure Outlet

8.На выходе, как я понял, мне нужно по-прежнему задавать нулевой Pressure Outlet. Я прав? А какое значение давления я должен задать для Pressure Inlet?

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

Если это возможно, попытайтесь описать последовательность действий для моего случая.

-----------------------------------------------------------------------------------------------

Заранее всем благодарен за помощь!

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

Итак, на входе у Вас известны статическое давление и расход - по ним определяем полное давление и указываем его в Operating Pressure. В Pressure Inlet на входе задаем Gauge Total Pressure равным 0 (то есть абсолютное полное давление равно Operating Pressure). На всех выходах задаем Gauge Pressure 0 - это первое приближение.

В окне консоли Fluent даем команду:

def/bc/tmfr/e

отвечаем: y (включили target mass flow rate)

здесь же в /define/boundary-conditions/target-mass-flow-rate-settings> даем команду:

set

Отвечаем: 2 (установили второй метод)

Остальные пункты оставляем по умолчанию

Затем переходим в главное меню (вводя q)

и даем команду

def/bc/po

вводим имя границы, затем, пропускаем ненужные нам пункты, нажимая ENTER, до пункта

Specify targeted mass-flow rate, где вводим y (yes)

следующий пункт

Targeted mass-flow (kg/s) - вводим наш массовый расход через данную границу

Затем снова даем команду def/bc/po и аналогично вводим массовые расходы на других выходах.

Таким образом мы включим итерационную процедуру, позволяющую автоматически подстраивать статические давления на выходах, чтобы получить требуемые массовые расходы.

Далее проводим расчет как обычно

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

report->surface integrals

Не следует забывать, что значения давления относительны - то есть, чтобы получить абсолютное давление на выходе, надо к относительному статическоиму давлению на выходе (которое может быть отрицательным) прибавить Operating Pressure.

Изменено пользователем chupal
Ссылка на сообщение
Поделиться на других сайтах

Привет всем!

Рад за оперативный ответы, сейчас проверяю Ваши советы на том, что приходится называть КЛАСТЕРОМ. На самом деле это несколько P4, которые я оставляю на ночь просчетов, проводимых на разряженной сетке, для того, чтобы приближенно просчитать Ваши советы для своей задачи.

chupal

Затем снова даем команду def/bc/po и аналогично вводим массовые расходы на других выходах

В моей исходной задаче расход на входе равен расходу на выходе. Я должен задать второй раз тот же Targeted mass-flow, что и впервый раз (на входе)? Это утверждение верно?

У меня возникает ошибка:

Error: divergence detected in AMG solver: temperature

Я попробывал задать другие релаксационные параметры, выполнив предыдущие шаги с заданием более подходящих релаксационных параметров. Это временно заработало, но я не уверен, что при заданных релаксационных параметров я смогу "досчитать до конца".

Может быть у Вас есть уже наработанные методики задания подходящих релаксационных параметров? Если есть, то поделитесь опытом, плиз! :doh:

Второй интересный момент - а какой алгоритм задания параметров, если у меня известнен расход и давление на входе и неизвестно давление в случае нескольких методов?

-----------------------------------------------------------------------------------------------

Снова жду от всех ответов на соответствующие вопросы и желаю всего лучшего!

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

-> Astor

В моей исходной задаче расход на входе равен расходу на выходе. Я должен задать второй раз тот же Targeted mass-flow, что и впервый раз (на входе)? Это утверждение верно?

Если модель имеет один вход и один выход, то верно. Но только следует помнить, что в Pressure Inlet расход не задается явно. и не поддерживается постоянным при изменении статического давления на выходе. Просто на основании известных Вам данных о статическом давлении и массовом расходе на входе (по показаниям датчиков) Вам нужно рассчитать полное давление и задать его в Pressure Inlet. Соответствие же расхода требуемому обеспечит итерационная процедура, подбирающая статическое давление на выходе таким, чтобы обеспечить заданный расход. После того, как решение сойдется, массовый расход будет примерно равен заданному (поскольку процедура итерационная). А поскольку полное давление на входе поддерживается постоянным, то и статическое давление на входе будет примерно равно тому статическому давлению на входе, какое Вы хотите там получить.

У меня возникает ошибка:

Error: divergence detected in AMG solver: temperature

Я попробывал задать другие релаксационные параметры, выполнив предыдущие шаги с заданием более подходящих релаксационных параметров. Это временно заработало, но я не уверен, что при заданных релаксационных параметров я смогу "досчитать до конца".

Может быть у Вас есть уже наработанные методики задания подходящих релаксационных параметров? Если есть, то поделитесь опытом, плиз!

Чтобы решение не разваливалось на старте, можно начинать расчет с моделью постоянной плотности газа (задавать плотность примерно равной плотности на входе или средней плотности в рассматриваемой области). После того, как решение утрясется, нужно переключиться на идеальный газ. Кроме того можно поварьировать параметрами начального поля течения при инициализации. Можно вначале отключить target mass flow rate на выходах (def/bc/po Specify targeted mass-flow rate, вводим n), задать разумные значения статического давления на выходах, просчитать некоторое количество итераций, а затем остановить расчет, включить target mass flow rate на границах и снова запустить. Это позволит задать разумные начальные значения расхода для итерационного процесса.

Второй интересный момент - а какой алгоритм задания параметров, если у меня известнен расход и давление на входе и неизвестно давление в случае нескольких методов?

Не понял Вашего вопроса, если можно поподробнее.

Изменено пользователем chupal
Ссылка на сообщение
Поделиться на других сайтах

-> Astor

Если я Вас правильно понял, то я действую по следующей процедуре

1. На основании эмпирических уравнений состояния газа, нормированных соответствующими ГОСТами, я рассчитываю полное давление на входе в зависимости от рабочего статического давления, измеренного датчиком давления, и известной плотности газа при стандартных условиях.

2.Устанавливаю Operating Pressure равное этому значению.

3. Задаю на входе в трубопроводную систему это рассчитанное давление в качестве первого приближения устанавливая в Pressure Inlet соответствующее Gauge Total Pressure равным 0.

4. На выходе задаю:

- Gauge Total Pressure равным 0, которое используется в качестве первого приближения

- targeted mass-flow rate, соответствующий показаниям расходомерного устройства

5. Запускаю на расчет

6. Получаю сходящееся решение, имеющее рабочее давление на входе и соответствующее ему давление на выходе с учетом падения давления на гидравлическом сопротивлении.

Я все правильно понял?

1. В принципе верно, только, наверное желательно пользоваться тем же законом состояния газа, что используется Вами в расчете Fluent. Если это идеальный газ, то желательно законом для идеального газа. Плотность газа необходимо брать во входном сечении (где Вы и задаете Pressure Inlet), поэтому для определения плотности Вам надо знать еще и температуру во входном сечении.

Собственно говоря, смысл п. 1-3 это установить во входном расчетном сечении значения полного давления и полной температуры, соответствующие условиям Вашей задачи.

2. В качестве Operating Pressure можно задавать любую величину (можно, например, статическое давление на входе), самое главное, чтобы было Operating Pressure+Gauge Pressure=Absolute Pressure.

Смысл введения Operating Pressure это уменьшение погрешности расчета в случае, если изменение давления в поле течения незначительно по сравнению с абсолютным давлением.

3. Gauge Total Pressure=0 это не первое приближение, а окончательное значение, которое не будет меняться в процессе решения. Оно означает, что Absolute Total Pressure на входе=Operating Pressure.

4. A вот на выходе задается статическое давление (Gauge Pressure). Здесь лучше даже задавать не 0 (т.е. Absolute Pressure=Operating Pressure), а более близкое к реальным условим статическое давление. Это значение используется в качестве первого приближения.

Теперь по поводу варианта с несколькими выходами: поскольку нам известно только, что сумма массовых расходов на выходах равна Q, для однозначного определения параметров нам необходимо знать дополнительное соотношение между расходами на выходах или между давлениями на выходах. Если известо соотношение между расходами, то мы сначала определяем расходы, а затем решаем задачу как предыдущую. Если известно соотношение между давлениями, то здесь по-видимому сложнее. Я думаю, что напрямую решить такую задачу не удастся и потребуется вручную менять давления на выходах в процессе расчета таким образом, чтобы приблизиться к заданным соотношениям. Например, если известно статическое давление на одном из выходов, а на другом не известно, то можно поступить так: Задаем как обычно Pressure Inlet на входе, на одном извыходов задаем Pressure Outlet c известным статическим давлением, а на другом задаем Pressure Outlet c некоторым давлением в качестве первого приближения. Запускаем расчет, ждем, пока параметры более-менее установятся и смотрим на расход во входном сечении, если он больше требуемого, то останавливаем расчет и увеличиваем давление, если меньше, то уменьшаем и запускаем расчет и т.д. Здесь можно использовать и вариант с Мass Flow Inlet на входе. В этом случае, изменяя статическое давление на выходе мы добиваемся примерного совпадения полного давления на входе с требуемым. В принципе, я думаю, подобные итерационные процедуры можно реализовать в виде пользовательских функций.

P.S. К сожалению на последующие Ваши вопросы смогу ответить только в понедельник, поскольку в выходные не буду иметь доступа в Internet.

Желаю успехов!

Изменено пользователем chupal
Ссылка на сообщение
Поделиться на других сайтах

по поводу задачи с двумя выходами

ИМХО самое разумное это или написать макрос изменяющий давление на входе в процессе расчета ( уж не знаю как с этим во Fluent) или вручную посчитать несколько точек по давлению и построив график найти нужное давление и на него опять посчитать

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

Прежде всего – еще раз спасибо за дельные советы!:bleh:

->chupal

По предварительным результатам просчетов на грубой сетке у меня НАКОНЕЦ-ТО :rule: появились основания полагать о возможности повышения сходимости результатов CFD-модели с эталонными.

Просчеты пока провожу еще к тому же на простой геометрии в целях экономии вычислительных ресурсов, но данная геометрия – один из «кирпичиков» из которых собирается топология трубопроводной системы.

В процессе проведения расчетов я столкнулся со следующими «подводными камнями», соображениями, по поводу которых, и хочу поделиться:

1. Проблема сходимости и устойчивости самого решения во многом зависит от геометрии и качества построения сетки. В случае использования метода задания граничных условий target-mass-flow-rate , по всей видимости, накладываются еще и особенности реализации метода.

Это хорошо заметно при сравнении графиков сходимости степеней свободы для случая задания граничных условий:

- flow-mass-inlet + pressure outlet

Изображение

- target-mass-flow-rate

Изображение

Как можно уменьшить время проведения расчетов?

2. Из графиков также видно о значительном увеличении количества итераций для одних и тех же значений критериев сходимости и одной и той же геометрии. Этот факт несколько удручает по той простой причине, что требует увеличения длительности просчета в десятки, а то и больше раз.

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

При использовании граничных условий с нулевым Pressure Inlet и нулевым Pressure Outlet , а для Pressure outlet заданием target-mass-flow-rate выход системы представляет собой подобие насоса, который при каждой итерации как бы понемногу «отсасывает» из полости трубопроводной системы такое количество среды, которое было бы пропорционально заданному target-mass-flow-rate -у и полученному падению давления.

Графики выше приведены, к сожалению, для этого случая (Pressure Inlet= Pressure Outlet=0 ), т.к. я сначала не понял, как нужно действовать с давлением на входе, а просчитав половину задачи, я решил досчитать с этим «немного неправильным» заданием граничных условий «до конца», чтобы посмотреть на сходимость решения с эталонным.

В связи с этим у меня вопрос.

Для уменьшения времени проведения расчетов я могу задать на выходе сразу искомое падение давления, рассчитанное приблизительно на основании данных из справочников по гидравлическим сопротивлениям. Pressure Inlet так и остается нулевым, а на Pressure Outlet я задаю минусовое значение давления, равное рассчитанному значению падения давления.

Это дает выигрыш во времени просчетов и экономии вычислительных ресурсов?

Мне кажется, что эта процедура должна дать какой-то выигрыш за счет того, что мы как бы правильно «угадываем» значение давления на выходе, и target-mass-flow-rate -метод должен работать быстрее, т.к. он начинает итерационную процедуру с более «правильного» значения и начинает «подсасывание» из трубы быстрее.

Этим я правильно протрактовал Ваше высказывание?

A вот на выходе задается статическое давление (Gauge Pressure ). Здесь лучше даже задавать не 0 (т.е. Absolute Pressure=Operating Pressure ), а более близкое к реальным условим статическое давление. Это значение используется в качестве первого приближения

4. Если у Вас есть еще какие-нибудь наработанные рекомендации, то, пожалуйста, поделитесь опытом!

5. Еще один вариант ускорения расчетов в моем случае я вижу в том, что можно проводить инициализацию решения

- на входе

- на выходе.

Правильный выбор «места» инициализации решения иногда позволяет несколько снизить нагрузку на вычислительные ресурсы.

Каково Ваше мнение по этому вопросу в контексте моей задачи? Где мне лучше проводить инициализацию?

6. Но все-таки самое главное правильно выбрать давление на выходе . Я прав?

----------------------------------------------------------------------------------------------

->Miki

С тем, что необходимо как-то автоматизировать всю эту процедуру, Вы, безусловно, правы. То, что касается

самое разумное это или написать макрос изменяющий давление на входе в процессе расчета (уж не знаю как с этим во Fluent) или вручную посчитать несколько точек по давлению и построив график найти нужное давление и на него опять посчитать

На сколько я понял, просматривая поля распределения скоростей и давлений на выходе, то они «подстраиваются» с каждой итерацией. Привожу ниже два скриншота распределения поля скоростей (они более показательные) для поперечного сечения в месте стока газа из трубы (выхода) с разницей в 1000 итераций.

1-й скриншот

Изображение

2-й скриншот

Изображение

Именно поэтому у меня возникло ощущение при target-mass-flow-rate-граничном условии, что происходит как бы «подсасывание» из трубы, в отличии от mass-flow-inlet -граничного условия, где происходит «выдавливание» со входа на выход.

Скриншоты приведены для итераций, которые «ближе» к началу проведения расчетов, т.к. так лучше видно распространение своеобразного «фронта» по поперечному сечению трубы.

Как в свете этих моих высказываний можно протрактовать Ваш совет? :g:

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

->chupal

Сейчас пытаюсь "играть" с теми параметрами, которые Вы пососветовали. Предварительные выводы следующие:

1. Так называемые осцилляции в графиках сходимости не прекращаются. Они продолжают усугублятся :thumbdown: , и в конечном случае приводят к искажению распределения потока газа, хотя где-то в "середине" получения решения. Мне приходится переинициализировать решение с другими параметрами для релаксации, но это, я боюсь, что это не приведет к получению сходящегося решения. (Это то, что Вы называете 1-м путем).

2.Второй путь Вы формулируете как

Второй путь - это вообще отказаться от target mass flow rate и перейти граничным условиям mass flow inlet + pressure outlet

Этот путь меня НЕМНОГО растраивает по той простой причине, что мне предварительно известнен mass flow inlet с operating pressure на входе + эмпирическая зависимость для pressure outlet. Таким образом, использовать задание этих граничных условий как-бы "не честно", т.к. я использую для задания граничных условий эмпирическую зависимость.

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

3.Именно по этому я считаю наиболее эффективным Ваш совет

Если же даже с фиксированными параметрами на выходе параметры на входе сильно пульсируют, то точно подобрать давление на выходе не удасться и нужно добиваться сходимости другими путями, в первую очередь нужно проверить качество сетки. Можно попробовать переключиться в нестационарный режим. Иногда это помогает получить более качественное стационарное решение

Опишите, пожалуйста, подробнее эту процедуру.

Заранее благодарен, Astor.

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

-> Astor

Этот путь меня НЕМНОГО растраивает по той простой причине, что мне предварительно известнен mass flow inlet с operating pressure на входе + эмпирическая зависимость для pressure outlet. Таким образом, использовать задание этих граничных условий как-бы "не честно", т.к. я использую для задания граничных условий эмпирическую зависимость.

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

Возможно, Вы недооцениваете пользу такого способа получения решения. Ничего нечестного здесь нет, поскольку Вам наверняка придется в процессе решения несколько раз скорректировать выходное давление вручную, ведь Ваше эмпирическое значение давления на выходе всего лишь первое приближение и влияния этого приближения на окончательное решение не будет. Кроме того в процессе поиска нужного давления вы "почувствуете" как ведет себя решение при изменении давления, а также увидите насколько хорошая сходимость имеет место при фиксированных параметрах (в промежутках между изменением давления на выходе). Если параметры пульсируют и сходимости нет, Вы не сможете подобрать нужное давление. в этом случае нужно улучшать расчетную модель. (изменить сетку, сменить солвер, поиграть параметрами солвера и т. д.)

Опишите, пожалуйста, подробнее эту процедуру.

Для расчетов лучше, я думаю, использовать segregated solver, поскольку скорости в трубопроводе не могут быть очень большими (меньше скорости звука) и segregated solver обеспечит более быструю сходимость. (При переходе на другой солвер лучше начинать расчет сначала, поскольку иначе возможен "развал" решения).

Сначала попробуйте посчитать на стационарном режиме, подбирая по ходу подходящее давление на выходе (примерно). Затем посмотрите, как ведет себя сходимость этого решения при фиксированном давлении на выходе (которое Вы примерно подобрали). Если сходимость хорошая, то можно попробовать подобрать давление точнее (при помощи target mass flow rate или вручную). Если сходимость плохая, попробуйте переключиться в нестационарный режим (только лучше пользоваться фиксированным шагом по времени, который примерно определяется по характерной скорости и характерному размеру расчетной области и по рекомендациям в руководстве Fluent). Бывает, что в нестационарном режиме решение сходится к стационарному лучше. Если стационарного решения не получается, то возможно в этом "виновата" физика течения (присутствуют крупные вихри, которые не моделируются k-e моделью турбулентности). Но прежде чем решать, что "виновата" физика течения нужно попробовать решать на разных сетках.

Изменено пользователем chupal
Ссылка на сообщение
Поделиться на других сайтах
  • 5 недель спустя...

Удалось установить более точную систему измерения контролируемых параметров для исследуемой системы трубопроводов.

Монтаж проводился в полевых условиях. Хорошо, что получилось установить, настроить и откалибровать все к наступлению холодов. Ушла куча времени, но теперь класс точности датчиков и метрологические характеристики расходомерного устройства значительно улучшены.

Сейчас снова речь идет о повышении степени сходимости новых экспериментальных значений с результатами моделирования во Fluent-е.

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

При помощи игр с under-relaxation factor в опциях target-mass-flow-rate добился подходящего решения, но только оно получается с некоторой погрешностью.

Контроль Mass Flow Rate -а дает разницу между показаниями на входе и выходе в абсолютных значениях ~ 0,1-0,2 кг/с на расходах 100-200 кг/с. Это, в принципе, неплохо.

Если бы не одно «но». :g: Когда задается определенное значение target-mass-flow-rate -а на выходе и запускается итерационная процедура, то при «подходе» к необходимым значениям массового расхода приходится вручную останавливать расчет.

Иначе солвер «перескакивает» искомое значение массового расхода и продолжает его увеличивать, и считает до тех пор, пока не будут достигнуты соответствующие значения параметров сходимости в Residual Monitors Convergence .

Таким образом, останавливая решение перед тем как итерационная процедура «перепрыгнет» заданный массовый расход, я получаю решение с как бы «недосчитанными» параметрами сходимости Residual Monitors Convergence (continuity, velocities, energy, k-epsilon) .

Как можно продолжить расчет для достижения необходимых критериев сходимости, но при этом, чтобы не происходило дальнейшего роста расхода?

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

->Astor

Проверьте, включена ли итерационная процедура. Включите вывод информации о ходе работы итерационной процедуры в процессе решения (находясь в /define/boundary-conditions/target-mass-flow-rate-settings> нужно выбрать verbosity?) Откключите останов расчета в Residual Monitors Convergence (снимите галочки check convergence в окне Residual Monitors)

Проверьте не слишком ли малое значение Вы задали в under-relaxation factor.

Если under-relaxation factor будет очень малым, итерационная процедура будет менять давление на выходе очень медленно.

При нормальной работе итерационной процедуры расход после установления решения должен соответствовать заданному с некоторой небольшой погрешностью.

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

->chupal

По вашему совету установил verbosity в yes и снял галочки с Residual Monitors Convergence . Получается маленькая разница между Mass Flow Rate-ом на входе и выходе, которая меня вполне устраивает. Большое спасибо.

Но снова приходится останавливать итерационную процедуру вручную, т.к. солвер не знает критерия по которому нужно остановить расчет.

Как задать значение наподобие Convergence Criterion для total mass flow rate-a, чтобы при достижении заданной невязки между расходами на входе и выходе прекращалась итерационная процедура?

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

-> Astor

Если Вы используете граничные условия Pressure Inlet на входе и Pressure Outlet на выходе с использованием итерационной процедуры с заданием target mass flow rate, то основное внимание надо уделять не только соответствию расходов на входе и выходе, но и, самое главное, соответствию расхода тому расходу, который Вы задали в target mass flow rate. Если расход примерно равен заданному в target mass flow rate, то это говорит о том, что итерационная процедура в процессе расчета сработала нормально и Вы получили требуемый расход.

Что касается возможности автоматической остановки расчета по достижении массовым расходом заданного значения (или при достижении другим параметром заданного значения), то по-моему во Fluent ее нет. Поэтому остановку расчета надо производить вручную (если отключена проверка сходимости в residual monitors).

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Snake 60
      @eljer0n  Откройте макрос SaveDRW.swp редактором VBA Найдите вот эти строки: Поменяйте выделенную цифру на нужную вам 3 или 4 - это количество символов которое останется от имени конфигурации. PS При сохранении в PDF тоже ругается на неправильное название чертежа, т.к. тоже обрезает название конфигурации до двух знаков, там тоже надо править при желании...
    • eljer0n
      @malvi.dp в общем порядок следующий (на каждое исполнение свой чертеж и позиция в спецификации):   Для исполнения с 2мя знаками. 1. Есть деталь с именем формата ХХ-01.01-01 (последнее -01 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации (как у вас на картинке). Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с корректным именем. 5. В спецификации сборки все отображается корректно.     Для исполнения с 3мя знаками. 1. Есть деталь с именем формата ХХ-01.01-011 (последнее -011 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации. Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с некорректным именем, а именно - с обрезанным до двух знаков исполнением (-01). 5. В спецификации сборки шифр отображается (внезапно! может какой глюк был: у солида или у меня ) корректно, как и у вас на рисунке.     Выходит, загвоздка все-таки только в сохранялке чертежа.
    • gudstartup
      да информация о решенной проблеме очень важна так что будем ждать хороших новостей!
    • mrVladimir
      @gudstartup Спасибо Вам за помощь. Теперь дело в приобретении платы. Как что-то получится (сперва приобрести, потом поставить) обязательно отпишусь.
    • gudstartup
      а как вы taxid фирмы нашли?
    • gudstartup
      все что я написал в цитате выше по теме полная фигня в связи с вновь приобретённой информацией. можно менять любые компоненты в пределах серии чпу если только не меняете по или записываете oprminf но  всегда могут быть нюансы  @mrVladimir все должно получиться извините за то что выдал непроверенную информацию за мнение типа знающего эксперта оказывается я 
    • malvi.dp
      Какое у детали имя файла и как формируете Обозначение и Наименование? Вы каждое исполнение сохраняете в новый чертеж? Или это групповой чертеж? Если групповой-то имя конфигурации в нем быть не должно. Стоит ли галочка "Исполнение" "Из конфигурации"? На сколько мне не изменяет память макрос сохраняет файл чертежа с тем же именем что и файл модели в папке модели. В спецификации все правильно отображается, даже если знаков исполнений больше трех  
    • gudstartup
      и главная деталь чтобы на системе была remote option system а именно файл oprminf.000 c сертификатами и были ли проблемы с ними после замены компонентов.
    • boomeeeer
      с него родимого
    • Grundick
×
×
  • Создать...