Году в 2018м я впервые столкнулся типовыми альбомами быстротоков. Приведенные там гидравлические расчеты заставляли меня страдать, но время шло и я немного разобрался в вопросе. Этой запиской я постараюсь поделиться накопленным опытом: мы рассмотрим теорию, посчитаем пример руками, потом замоделим успокоитель на стационаре в River and Flood Analysis Civil 3d, и в конце создадим грубоватую нестационарную задачу с контролем полного импульса на 2d Сан-Венане.
Материал далек от идеала: по хорошему сюда надо добавить исследования по различию численных и аналитических моделей, аппроксимации функции f Fr в методе Чертоусова, влиянии шероховатости на длину прыжка... Но это все тянет еще на пяток публикаций, и быть может они появятся! А пока усаживаетесь поудобнее и читайте, я думаю будет интересно!
Задонатить аффтару на развитие канала.
Понравилась картинка? Это модель нашего пациента, мы обязательно рассмотрим ее ниже, но надо начать с базы.
Теория гидравлического прыжка.
Для первого знакомства с гидравлическим прыжком рекомендую посмотреть замечательное видео канала GET a CLASS: https://youtu.be/YyvQ5Twe0kw
Я не буду пересказывать классиков, так как заботливо приготовил принскрины нужных страниц моих любимейших книг Киселева "Справочник по гидравлике" и Недриги "Гидротехнические сооружения". Я лишь ограничусь краткими комментариями к каждой из глав.
Итак, вот что говорит нам Недриги "Гидротехнические сооружения" о гидравлическом прыжке:
Когда я впервые прочитал эту страницу, я нихрена не понял :) Прошел год, я снова открыл на терпеливо ждавшей меня закладке и удивился насколько лаконично и доходчиво все написано. Тезисно в моей интерпретации сказано вот что:
- поток не может нестись в сверхкритическом бурном состоянии долго, он будет стремиться перейти в докритический режим;
- гидравлический прыжок имеет две глубины (их называют сопряженными) h1 - сжатое сечение бурного потока до прыжка, h2 - сечение спокойного потока после гашения энергии;
- очень важный момент: количество движения (читай импульс) до прыжка равен количеству движения после прыжка. Если мы найдем это количество перед прыжком, то без проблем на графике найдем симметричную точку и по ней определим сопряженную глубину после прыжка на соседнем графике удельной энергии сечения. Эта функция количества движения в нашей литературе называется прыжковая функция, а в зарубежном софте - momentum equation;
- длина прыжка считается по эмпирическим зависимостям. Есть целый зоопарк таких формул (ниже посмотрим их в справочнике Киселева), но тут приведена наиболее современная и актуальная Айвазяна.
а теперь давайте почитаем главу о прыжке в Киселеве "Справочник по гидравлике", как мы видим информации тут значительно больше :
Также тезисно дам свои комментарии:
- так-же рассказывается про прыжковую функцию;
- оказывается есть два типа прыжка - совершенный и прыжок-волна. (как выяснится ниже, в нашем случае будет именно прыжок-волна, но пока этот вопрос не поднимаем);
- дается целый зоопарк эмпирических зависимостей для нахождения длины прыжка, а также сказано что формулы Айвазяна и Чертоусова наиболее надежны.
Ручной расчет гидравлического прыжка.
BIM модель рассматриваемого примера вы можете покрутить в браузере: https://autode.sk/3Z06od5. Для ленивых вот картинка и ссылка на мою статью про общую сборку информационной модели: https://dzen.ru/a/ZAWmNnWhG3vWKjSu?share_to=link
Дано:
Q = 0.5 м/с
Быстроток: отделан бетоном n=0.013, уклон 27° (или 0,5095), ширина по дну 0,5м, трапецеидальный тип, откосы 1:1
Успокоитель: отделан габионом n=0.025, уклон 0° в главной части, но средний уклон 0,0015, ширина по дну 2м, трапецеидальный тип, откосы 1:1.
Найти: высоту и длину гидравлического прыжка.
Решение:
Давайте порассуждаем: вода несется по быстротоку и влетает в зону успокоителя. Вода обладает какой-то массой (плотность*объем), а масса как известно, это мера инертности. Из этого можно сделать вывод, что скорость потока не меняется моментально. Тогда можно сделать некоторое допущение, что скорость потока на выходе из быстротока равняется скорости потока в самом начале широкого сечения успокоителя. А так как ширина дна успокоителя 2м против 0,5м быстротока, то при равенстве скоростей у нас возникает сжатое сечение в уширении.
Давайте по уравнению Шези-Маннинга найдем скорость потока на выходе из быстротока. Я человек ленивый и воспользуюсь гидравлическим калькулятором Hydraflow Express Civil 3d:
А теперь, давайте прикинем какая глубина потока будет при такой скорости в широкой части успокоителя. Мы должны "размазать" полученную площадь сечения 0,054м2 на разрезе нашего успокоителя. Но это в общем случае, а у нас задача упрощается подбором высоты и основания обычной равнобедренной трапеции.
У меня получилась глубина 27,5мм (0,0275м). Автокад в размере округлил до 0,03.
А это значит мы знаем условия в начале гидравлического прыжка: вода со скоростью 9,24 м/с и глубиной 0,0275м влетает в успокоитель. Скоростной напор составит V^2/2q=4.356м.
Теперь мы воспользуемся тайным знанием из страницы 82 Недриги "Гидротехнические сооружения", построим на одной сетке координат по точкам прыжковую функцию и удельную энергию сечения, после чего без труда найдем сопряженную глубину потока после прыжка.
График удельной энергии:
И для начала мы построим график удельной энергии сечения. Я это делаю в следующей последовательности:
1. Задаюсь глубиной потока. Минимальная глубина -это глубина сжатого сечения. Потом прикидываю максимальную глубину и критическую глубину.
2. Зная глубины, рисую в CAD площади потока в сечении и в свойстве полилинии смотрю площадь сечения потока.
3. Определяю скорость потока (V=расход/площадь).
4. Определяю скоростной напор H=V^2/2g.
5. Наношу точки, где по оси X удельная энергия сечения (скоростной напор + глубина), а по оси Y -глубина.
6. По необходимости добавляю точки, чтобы уточнить график.
Результат показан на рисунке выше. Точки 4 и 5 я взял дополнительно, чтобы график получился точнее. Также я нанес красным точку критической глубины, которую взял из расчета этого сечения в HE калькуляторе. Как известно, критическая глубина обладает минимальной удельной энергией. И это в целом согласуется с полученным графиком.
График прыжковой функции:
Теперь вспоминаем формулу (3-76) из Недриги или (9-45) из Киселева. Мы должны на этой-же сетке координат построить прыжковую функцию. Расход мы знаем, площади сечений найдем по отрисовке в CAD, а глубину погружения центра тяжести сечения найдем по формуле центра тяжести трапеции y=h/3 * (2a+b)/(a+b), где:
h - высота трапеции
a - ширина дна 2м
b - длина поверхности воды в сечении.
В нашем примере, центр тяжести трапеции будет находиться на оси симметрии чуть выше центра высоты.
В результате получаем вот такой график:
Краткий алгоритм построения:
1. Задаемся глубиной потока. Начинаем с минимальной глубины сжатого сечения, далее по ощущениям.
2. Рисуем в CAD на сечении канала полилинией сечение потока и в свойствах смотрим площадь. Замеряем основание трапеции поверхности потока b.
3. Находим глубину погружения центра тяжести y.
4. Подставляем все значения в прыжковую функцию и по значениям (П, глубина) располагаем на сетке точки. Рисуем график.
5. Максимальную глубину надо задавать до тех пор, пока прыжковая функция не станет равной или больше функции в первой точке (сжатое сечение).
Определение сопряженных глубин:
А теперь самое интересное, мы наносим прыжковый график на сетку с графиком удельной энергии:
И рассуждаем: в точке А у нас сжатое сечение бурного потока, и характеристика количества движения в этом сжатом сечении описывается в точке Б графиком прыжковой функции (на рис красным). Но мы знаем, что это количество движения будет абсолютно таким-же после прыжка. Поэтому находим на графике прыжковой функции точку В, в которой то-же самое значение прыжковой функции. Зная точку В мы без труда найдем сопряженную глубину (ось Y) и удельную энергию потока (на рис розовым).
От себя добавлю, что такой ручной расчет несколько завышает глубины в сравнении с моделями в расчетных программах. Судя по всему, это из-за допущения равенства скоростей в начале успокоителя и быстротока. Детально не изучал этот вопрос.
И еще, посмотрите внимательно на прыжковую функцию: чем больше у нас глубина сжатого сечения, тем меньше высота самого прыжка. В точке критической глубины h1=h2 (то есть высота прыжка равна нулю). Понимание этой зависимости неплохо развивает "прыжковый глазомер".
Определение длины прыжка:
Длину прыжка посчитаем по примеру из справочника Киселева (стр 132) используя формулу Чертоусова:
1. Вычисляем число Фруда. Fr= (1,1*9,24^2)/(2*0.0275)=348
2. по табл 9-9 подбираем функцию fфр=61,1. Я принял максимальное значение, которое соответствует Fr=100. Быть может надо экстраполировать значение, тогда читайте мою статью про метод наименьших квадратов.
3. длина прыжка = 0,0275*61,1=1,68м
Давайте проверочно посчитаем еще по первым двум формулам из Киселева:
(9-52): L= 4*(0.6-0.0272)=2.29м.
(9-53): L=2.5(1.9*0.6-0.0275)=2.78м.
Хм... видимо, функцию Fr в методе Чертоусова надо было экстраполировать примерно до значения 100... :)
Модель гидравлического прыжка River and flood analysis Civil 3d.
А теперь построим модель нашего быстротока с гидравлическим прыжком в модуле River and flood analysis civil 3d 2019. Для тех кто не знает: этот модуль использует стационарный солвер HEC-RAS на уравнении энергии. Как решатель считает уравнение энергии читать тут: https://dzen.ru/a/ZDVJr1qLPXfK43uS, я лишь добавлю, что когда программа понимает, что поток перешел в сверхкритический режим, она подключает прыжковую функцию и находит сопряженную глубину (то есть делает тоже самое, что мы провернули ручным расчетом выше).
Но как говорит мой опыт, длину прыжка RFA не высчитывает, а строит его до ближайшего сечения (если позволяет шероховатость), поэтому для более точного решения задачи следует проводить две итерации:
1. Расставляем сечения, назначаем шероховатости и граничные условия, пускаем расчет.
2. По полученным данным смотрим сопряженные глубины и аналитически рассчитываем длину прыжка.
3. Двигаем сечение сопряженной глубины на расчетную длину прыжка и делаем пересчет модели.
Вы наблюдаем следующие расхождения с нашим ручным расчетом:
1. глубина сжатого сечения составляет 44мм (в ручном расчете 27мм). В месте сопряжения успокоителя с быстротоком есть локальное увеличение глубины а само сжатое сечение до гидравлического прыжка имеет некоторую длину (думаю, зависит от частоты расположения сечений);
2. глубина после прыжка 341мм (в ручном расчете 590мм);
3. длину прыжка мы вольны выбирать сами, двигая сечение сопряженной глубины.
А вот вам в качестве размышления вариант, если шероховатость успокоителя снизать с 0,025 до 0,013 (представить себе что успокоитель тоже отделан бетоном):
1. длина прыжка возросла до величин более 15м. Сам прыжок уже строился на протяжении двух сечений!
2. сопряженная глубина в начале снизилась до 38мм.
3. сопряженная глубина в конце снизилась до 212мм.
Выводы делайте сами!
Модель гидравлического прыжка 2d Full momentum HEC-RAS.
А теперь давайте попробуем решить стационарную задачу нестационарными методами. То-есть мы создадим полноценную расчетную сетку поверхности с довольно точной дискретизацией (ячейки с уточненным размером), зададим зоны шероховатости, в граничных условиях поставим стационарный поток, укажем модель турбулетности и довольно жесткий шаг по времени. Посмотрим на цифровую симуляцию потока, основанной на полных уравнениях мелкой воды. Ниже я выложу пару принтскринов процесса работы. Хочу заметить, пишу на живую в режиме реального времени... чем закончится расчет не знаю.)))))
Как я говорил в видосе https://dzen.ru/video/watch/64610e91d80d414929bb4c2c?share_to=link, надо стараться располагать грани ячеек по планируемым векторам тока. Это особенно актуально в исследовании таких тонких эффектов, как прыжок.
Далее наносим зоны шероховатостей и линии граничных условий, которым потом зададим условия влива и вылива воды в расчетную зону. В целом работа в RAS mapper завершена. Проверяем связи слоев между собой и можем переходить к ГУ и настройке решателя.
Ниже я зафиксирую настройки солвера, чтобы остались для истории метод расчета и настройки турбулентности. Красными галочками я указал те строки, в которые внес изменения. Видно, что турбулентность задрана и не учитывается эффект Кориолиса.
Главное что хочется отметить: для точной картины волны прыжка я выбрал SWE, но немного упрощенный (Эйлер-Лагранж метод). И также для уточнения добавил модель турбулентности "на форсаже". Но для уменьшения нестабильности отказался от консервативного метода. Матричный солвер оставил PARDISO как наиболее стабильный.
Если нас не устроит результат, придется лезть сюда и подбирать другие параметры. Про настройки решателя читать тут: https://dzen.ru/a/ZHz2KonH2xParULE
Далее настраиваем параметры временного шага. Так как HEC-RAS конечно-разностный, то частная производная по времени тут царица всех и вся. Ей придется поклониться:
В первой итерации настройки времени получилось весьма жестковато. Но мы помним, что скорость потока у нас около 10 м/с. При размере ячейки 0,1м, наш целевой шаг по времени составит 0,01с, что находится на пределе возможностей солвера. Чтобы достичь такой цифры, пришлось отказаться от постоянного шага в пользу адаптивного. Посмотрим как обсчитает.....
Что мы видим в окне отчета:
1. минимальный шаг по времени после адаптации CFL составил аж 0,001с
2. невязки по уровню воды выше толерантности есть, и их много и цифры не веселые от 10 до 100мм. Но тем не менее расчет прошел.
3. общая ошибка по объему составляет 4%. На мой взгляд это очень хороший результат для такой высокоимпульсной задачи. Я точно могу сказать: если переключить турбулентность на консервативнывй метод, то ошибка по объему подскочит до 100%, а метод полного контроля импульса SWE-EM вообще не запустится.
Давайте смотреть результаты:
Бросается в глаза, что согласно рис 9-37 справочника Киселева, у нас получился прыжок-волна. Такой прыжок характерен для случаев, когда сопряженная глубина после прыжка не более 1,3 критической глубины. Так и есть: критическая глубина успокоителя примерно 300мм, а глубина потока порядка 400мм. Длина прыжка получилась немногим больше метра.
Также на 2d визуализации можем посмотреть линии тока, по которым видна турбулентность. Можно вывести еще ворох всяких показателей, но это не цель данной статьи.
Ну и в конце я попытался вывернуть 3d модельку так, чтобы был заметен бугор прыжка. Белые линии тока я подрисовал сам. Они должны отображаться автоматически, но 3d просмотрщик сегодня троит.
Выводы: в целом порядок цифр одинаков что в ручном расчете, что в одномерной стационарной задаче, что в полной 2d нестационарной постановке. На мой взгляд инженерная точность удовлетворительна везде.
самый быстрый способ: River and flood analysis. Так как не надо было изгаляться с настройкой времени и метода решения. Имея на руках ЦМР канала, раскидать сечения и назначить граничные условия знаючи можно минут за 5-10.
Но если по быстротоку вам надо пустить гидрограф, то без уравнений Сан-Венана не обойтись.
За сим откланиваюсь, надеюсь чтиво будет полезным и увлекательным.