Найти в Дзене
Гидравлика & bim

Как Hec-Ras считает установившееся течение (steady flow step method).

Очень часто при постановке гидравлической задачи в HEC-RAS возникают вопросы по граничным условиям (boundary conditions): ставить нормальную или критическую глубину, или задать уровни воды в нижнем сечении или кривую Q(h). И еще чаще слышу вопросы про сертификат программы. Скажу честно, я реагирую болезненно на вопрос о сертификации, и мне хочется ответить: "а сертификат на 2*2=4 вам надо предоставить тоже?". Я не понимаю какой сертификат надо получить на уравнение энергии или уравнение неразрывности.
Вместо того, чтобы давать пространные советы по граничным условиям, я решил в этой статье привести простенький расчет по алгоритму программы на установившееся течение,
а читающий сам прочувствует важность этого фактора.
Ниже вы видите окно задания граничных условий с реальным примером:
- в нижнем сечении
уровень воды WSE (так как в задаче река втекает в озеро с заданным уровнем.
- в верхнем сечении
нормальная глубина (так как сечение выбрано в заведомо равнинном месте без явных препятствий потоку)


Civil 3d River and flood analysis: окно граничных условий.
Civil 3d River and flood analysis: окно граничных условий.

1. Установившееся неравномерное течение.
Для начала вспомним, что такое установившееся неравномерное течение. Это такое течение, в котором расходы воды Q постоянны в любом сечении. Скорости и глубины могут перераспределяться, неизменным остается только их произведение (а это и есть расход). Ниже на рисунке расходы в точках А, B, С, D одинаковы (пускай Q=1м3/с).
Но из рисунка видно, что на участках разные глубины (а где меньше глубина при постоянном сечении русла, там и меньше площадь потока
А), значит будут повышенные скорости V.

Установившееся неравномерное течение. Продольный профиль по оси канала с постоянным сечением.
Установившееся неравномерное течение. Продольный профиль по оси канала с постоянным сечением.

Описание этого потока по участкам:
-
А-В: равномерное спокойное течение срывается к точке В повышением скорости.
-
В-С: вода несется по быстротоку, сечение воды сжимается все больше и больше.
-
С-D: вода с огромной скоростью влетает в пологое русло, у нее накоплен большой импульс из-за которого в начале участка мы наблюдаем сжатое сечение. Но потом баланс природы берет свое, происходит гидравлический прыжок. Поток к концу участка обретает плавный равномерный характер.
С этим разобрались. Идем дальше.

2. Матчасть.
Теперь немного классических закономерностей, которые были открыты при изучении установившегося равномерного течения:

Уравнение Шези и частный случай уравнение Маннинга: когда y=1/6.
Уравнение Шези и частный случай уравнение Маннинга: когда y=1/6.

Прошу обратить внимание на то, как я перешел в уравнении Маннинга со скорости V на расход Q: я умножил правую часть уравнения на площадь сечения потока А. При таком написании уравнение приобретает вид Q=K*I.

Где К=модуль расхода. Это расход в русле заданного живого сечения при гидравлическом уклоне, равном единице. (си)=м3/сек

Для согласования символов формул и HEC-RAS, запишем гидравлический уклон как Sf. Запомните эти параметры, они нам пригодятся.

А вот формулы из Hec-Ras, которые мы будем использовать в нашем примере:

HEC-RAS: уравнения энергии и потерь на установившемся неравномерном течении.
HEC-RAS: уравнения энергии и потерь на установившемся неравномерном течении.

(1): это уравнение указывает на то, что полная энергия в нижнем сечении №1 плюс потери на трении равна полной энергии в вышележащем сечении №2.
(2): это уравнение показывает чему равна потеря энергии на трении на участке длиной L.

3. Пример расчета установившегося течения Steady flow.
Пускай нам дано русло потока прямоугольного сечения с шириной по дну 2м. Уклон канала 0,005( 5 промилле). Шероховатость n=0,025. Мы решаем задачу с тремя сечениями, которые расположены друг от друга на расстоянии 5м. Граничные условия в downstream condition выставляем normal depth. Схема указана на рисунке (для удобства, я подписал отметки z на дне каждого сечения, начало вертикальной оси z=0 на первом, в реалиях эти отметки носят абсолютный характер)

Hec-Ras: расчетная схема на steady flow.
Hec-Ras: расчетная схема на steady flow.

Алгоритм расчета:
1. На основании указанного граничного условия normal depth, а также заданного пользователем расхода и уклона в ГУ, программа по уравнению Маннинга рассчитывает уровень воды, скорость потока, смоченный периметр, критическую глубину и площадь сечения. Я не стал считать руками, а приведу здесь результат из гидравлического калькулятора hydraflow express:

hydraflow express: гидравлический расчет канала по Шези-Маннингу.
hydraflow express: гидравлический расчет канала по Шези-Маннингу.

Глубина =0,4054 м (а точнее отметка, в нашей системе координат, смотри где z=0)
Площадь потока = 0,811 м2
Скорость = 1,2334 м/с
Смоченный периметр = 2,8108 м
Гидравлический радиус =0,2885 м

2. Программа в первой итерации предполагает отметку уровня воды Y`2 (заметьте, я указал игрек штрих, а не просто игрек) в следующем сечении №2. В нашем случае подъем дна через 5м длины составил 0,025м, так как сечение канала у нас не меняется, можно предположить что глубина потока остается та-же (0,4054м). Тогда предположенная отметка уровня воды составит Y`2=0,4054+0,025=0,4304 м.

3. Для второго сечения программа находит параметр К: в нашем простом случае сечение прямоугольное и неизменное, поэтому я вставлю данные в расчет К из уже посчитанного выше Сечения 1:
К= (А*R^2/3)/n = (0.811*0.2885^2/3) / 0.025 = 14.16492
Также для второго сечения программа считает Sf=(Q/K)^2=0,004984
Зная Sf, программа подставляет значения в формулу ht. Так как в первой итерации программа перенесла уровень на отметку Y`2 по Шези, то скоростные напоры в обоих сечениях у нас одинаковы, а их разница равна нулю.
ht = l*Sf+C*0
=5м*0,004984=0,02492

4. А теперь в уравнение (1) подставляем полученные данные. Скоростные напоры у нас взаимно уничтожаются:
Y2 + Z2 +скоростной напор 2 = Y1+Z1+скоростной напор 1 +ht, тогда:
Y2 = Y1+Z1+ht -Z2 = 0.4054+0+0.02492 = 0.40532 м

5. Программа сравнивает Y2 vs Y`2. Как мы видим, рассчитанное 0,40532 < 0.4304. Если эта разница находится в допусках tolerance (по умолчанию там указано 0,03, то все ок и программа переходит к следующему сечению. В нашем случае подойдет отметка Y2=0,4304 которая выше чем Y1 на выливе).

6. Если разница слишком большая, программа осуществляет следующую итерацию и переподбирает Y`2, пересчитывает К и Sf и пытается снизить разлет до установленной точности.

Кому по душе запись от руки, я подготовил и аналоговый вариант расчета:

Пример ручного расчета пошагового метода установившегося неравномерного течения.
Пример ручного расчета пошагового метода установившегося неравномерного течения.

А вот так программа оценивает ошибку в подобранном WS и куда ей двигаться. (цитата от разрабов:)

Критерий, используемый для предположения высоты водной поверхности в итеративной процедуре, варьируется от первого шага подбора к следующему. Первая пробная поверхность воды основана на проецировании глубины воды предыдущего сечения на текущее сечение. Высота второй пробной поверхности воды устанавливается равной предполагаемой высоте водной поверхности плюс 70% ошибки первого испытания (вычисленное WS – предполагаемое WS). Другими словами, новый WS = предполагаемый WS + 0,70 * (вычисленный WS – предполагаемый WS). Третье и последующие испытания обычно основаны на методе «Секущего» прогнозирования скорости изменения разницы между вычисленными и предполагаемыми высотами для двух предыдущих испытаний.

7. На этом одномерный солвер не заканчивается. Например, он в состоянии определить сверхкритическое течение, подключить прыжковую функцию (momentum equation) и рассчитать сопряжённые глубины гидравлического прыжка. Об этом я рассказывал в видео "Математика гидравлического прыжка": https://dzen.ru/video/watch/6251b36ef937bf23b5e436f5?share_to=link

Либо более полно почитать у разрабов: https://www.hec.usace.army.mil/confluence/rasdocs/ras1dtechref/latest/theoretical-basis-for-one-dimensional-and-two-dimensional-hydrodynamic-calculations/1d-steady-flow-water-surface-profiles/applications-of-the-momentum-equation

Выводы:
Как было видно из примера, фундаментом для расчета является высотная отметка уровня воды в нижнем сечении. Эта отметка была определена исходя из поставленного граничного условия normal depth. А теперь сами задайте себе вопрос, что бы произошло, если бы поставили граничное условие critical depth или water surface?

А теперь пару советов по граничным условиям от меня:
а)
используйте ГУ normal depth только в том случае, если железобенно уверены в том, что сечение попало на равнинный участок с докритическим течением.
б) ГУ water surface elevation или Rating curve более надежные, но только если у вас 100% уверенность в их соблюдении: например, наличие на выливе здоровенного водоема или гидротехнического сооружения.


PS: надеюсь что кто-нибудь из программистов прочтет эту записку и по мотивам запилит модуль на подобии River and Flood analysis в отечественный CAD с генерацией поверхностей воды. Примером подобной гидрологической Bim модели, созданной в Civil 3d можно полюбоваться тут: https://autode.sk/3Z06od5
Засим, господа, разрешите мне откланяться, до скорых встреч. :)