You do not have permission to edit this page, for the following reason:
You can view and copy the source of this page.
<!-- metadata commented in wiki content
==ESQUEMA NUMÉRICO HÍBRIDO PARA SIMULAÇÃO DE ESCOAMENTO TRANSIENTE EM ÁGUAS RASAS==
'''Sara Coelho da Silvacor1<sup>a,b</sup>, , , Liliana M. Gramani<sup>a</sup>, Ricardo V. P. Rezende<sup>c</sup>, Regiani Aparecida Almeida<sup>d</sup>'''
{|
|-
|<sup>a</sup> Programa de Pós-Graduação em Métodos Numéricos em Engenharia, UFPR, Centro Politécnico, Curitiba, Paraná, Brasil
|}
{|
|-
|<sup>b</sup> Departamento de Matemática da Universidade Tecnologia Federal do Paraná, UTFPR, Campo Mourão, Paraná, Brasil
|}
{|
|-
|<sup>c</sup> Departamento de Engenharia Urbana da Universidade Estadual de Maringá, UEM, Maringá, Paraná, Brasil
|}
{|
|-
|<sup>d</sup> Departamento de Engenharia Química, UEM, Maringá, Paraná, Brasil
|}
-->
==Abstract==
Este trabalho apresenta a simulação hidráulica do escoamento em um reservatório, utilizando o método dos volumes finitos para resolver o sistema de equações que modelam o fluxo bidimensional em águas rasas, negligenciando as tensões tangenciais. Para resolver as equações, utilizou-se um esquema híbrido de volumes finitos. A solução do sistema de equações linearizadas foi obtida por implementação computacional do método iterativo de Gauss-Seidel. Para ilustrar a aplicação do esquema numérico em engenharia hidráulica, apresenta-se o estudo do escoamento em um reservatório subterrâneo com pilares internos, cujo fluxo é gerado pela abertura de dois portões de saída. O código desenvolvido permite a análise temporal do volume e do fluxo no reservatório, a interpretação gráfica do fenômeno físico investigado bem como o cálculo da precisão do modelo. Os resultados obtidos mostram a interpretação física esperada, boa concordância com os dados da literatura, boa precisão, estabilidade e baixo custo computacional.
'''keywords'''
Equações de águas rasas, Volumes Finitos, Interpolação híbrida, Estabilidade numérica, Simulação de leito seco, Reservatório de contenção.
==HYBRID NUMERICAL SCHEME FOR SIMULATION OF TRANSIENT FLOW IN A PLUVIAL WATER RESERVOIR==
'''Abstract'''
This work presents the numeric simulation of flow in a reservoir, using the finite volume method for solver the system of equations that model the two-dimensional flow in shallow water, neglecting the tangential tensions. The solution of the system of linearized equations was obtained by computational implementation of the Gauss-Seidel iterative method. To illustrate the application of the numerical scheme in hydraulic engineering, it was considered the study of flow in an underground reservoir with internal pillars, whose flow is generated by the opening of two outlet gates. The employed code allowed the temporal analysis of the volume and the flow in the reservoir, the graphical interpretation of the investigated physical phenomenon as well as, the calculation of the precision of the model. The results obtained show the expected physical interpretation, good agreement with literature data, good precision,stability and low computational cost.
''Keywords'': Shallow water equations, Finite volumes, Hybrid interpolation, Numerical stability, Dry bed simulation, Containment reservoir.
==1 Introdução==
A ocorrência ou agravamento de inundações nas grandes cidades, bem como a quebra de barragens, tornaram-se problemas cada vez mais recorrentes, causando mortes e fortes impactos ambientais. Nesse cenário, fica evidente a necessidade de conhecimento prévio do comportamento dos fluxos de superfície livre e simulações de abertura de comportas de barragens para manejo de recursos hídricos, avaliação de riscos e usos para obtenção de melhor disponibilidade visando a preservação ambiental. Para tanto, é necessário utilizar metodologias que possam descrever as variáveis hidrodinâmicas envolvidas, como campo de velocidade do fluxo, turbulência e mudanças temporais na altura da superfície da água <span id='citeF-1'></span><span id='citeF-2'></span>[[#cite-1|[1,2]]]. Em <span id='citeF-3'></span>[[#cite-3|[3]]] sugere-se o uso de modelos matemáticos para entender os padrões de fluxo em corpos de água. Modelos matemáticos adequados são ferramentas úteis no gerenciamento de recursos hídricos, pois reduzem o tempo de análise, custos e riscos envolvidos em levar dados experimentais em fluxos reais auxiliando na tomada de decisões e na definição de ações corretivas diante de vazamentos iminentes. Matematicamente, os fluxos de superfície livre podem ser descritos de várias maneiras. Uma abordagem mais simples e muito aplicada é dada pelas Equações de Águas Rasas, que representam uma simplificação das Equações de Navier-Stokes e é aplicável aos fluxos nos quais as tensões e acelerações verticais podem ser negligenciadas sem prejuízo do resultado. Essas equações são derivadas por meio da integração das equações governantes (Navier-Stokes e Continuidade) na direção vertical. Sua derivação está fora do escopo deste trabalho, mas pode ser vista em detalhes em <span id='citeF-4'></span>[[#cite-4|[4]]] . Esse sistema de equações, embora definido em um domínio bidimensional, fornece a altura da coluna de água e as componentes de velocidade em um fluxo instável. No entanto, a obtenção de uma solução analítica para o sistema de equações de águas rasas é, na maioria dos casos, uma tarefa difícil, pois trata-se de um conjunto de equações diferenciais parciais hiperbólicas não lineares com termos fontes. O que requer um tratamento numérico robusto para evitar instabilidades numéricas. Ao longo das últimas três décadas, muitos avanços foram realizados na solução numérica das equações de águas rasas para simulação de escoamentos unidimensionais aplicados a hidráulica fluvial em rios, canais e tubulações
<span id='citeF-5'></span><span id='citeF-6'></span><span id='citeF-7'></span><span id='citeF-8'><span id='citeF-9'></span>[[#cite-5|[5,6,7,8,9]]], e modelos bidimensionais aplicados à análise de escoamentos causados pela abertura instantânea de comportas e ruptura de barragens <span id='citeF-10'></span><span id='citeF-11'></span><span id='citeF-12'></span><span id='citeF-13'></span>[[#cite-10|[10,11,12,13]]]. Em <span id='citeF-10'></span>[[#cite-10|[10]]] utilizaram esquemas explícitos de diferenças finitas, na discretização das equações de águas rasas bidimensionais, adicionando condições de estabilidade e viscosidade artificial para suavizar as oscilações de alta frequência. Para validar, os esquemas discretos foram aplicados em um problema típico de engenharia hidráulica: abertura parcial de uma barragem e passagem de uma onda de inundação através de uma contração do canal, adotando a razão entre o nível de água a jusante <math> (h_r) </math> e à montante <math> (h_l ) </math> como sendo, <math> h_r / h_l = 0.5 </math>. Os resultados dos diferentes esquemas foram comparados e a ocorrência de oscilações numéricas foi observada, evidenciando a necessidade de se utilizar esquemas implícitos. O estudo de caso apontado em <span id='citeF-10'></span>[[#cite-10|[10]]] foi analisado por <span id='citeF-15'></span>[[#cite-15|[15]]] usando um esquema de elementos finitos de alta ordem e uma melhoria na relação <math> h_r / h_l </math> para <math> 0,05 </math> foi obtida, buscando simular a condição de leito seco em uma determinada região do domínio. Em <span id='citeF-12'></span>[[#cite-12|[12]]] usaram dados experimentais em um evento de quebra de barragem para verificar a precisão, estabilidade e confiabilidade de uma solução numérica das equações de águas rasas obtidas por um esquema de volumes finitos bidimensional. O modelo numérico permitiu uma precisão de segunda ordem, tanto no espaço como no tempo, acarretando porém um alto custo computacional, apresentando algumas discrepâncias entre os resultados reais dos medidores e os resultados numéricos nos pontos pesquisados. Os autores destacam a necessidade de simular a propagação de uma onda de inundação para um fundo seco e áspero e otimizar o algoritmo para reduzir o tempo de computação. Um esquema de volumes finitos não estruturado para malhas triangulares para simular fluxos bidimensionais instáveis em águas rasas com frentes molhadas/secas sobre topografia complexa é apresentado em <span id='citeF-11'></span>[[#cite-11|[11]]]. Utiliza-se em <span id='citeF-11'></span>[[#cite-11|[11]]] para o esquema temporal o método explícito de Runge-Kutta e para o espacial a malha não estruturada. Comparações satisfatórias foram obtidas com dados mensurados e numéricos. Todavia, os autores sugerem a incorporação de um procedimento de escalonamento num esquema implícito temporal, e uma implementação paralela do algoritmo, a fim de reduzir o tempo computacional. A eficiência de um esquema implícito de volumes finitos é explorada em <span id='citeF-13'></span>[[#cite-13|[13]]] para simulação de fluidos em águas rasas bidimensionais, com frentes secas/molhadas. Adotou-se em <span id='citeF-13'></span>[[#cite-13|[13]]] um tratamento complexo para a discretização espacial, fazendo uso de uma malha não estruturada flexível para obter um melhor ajuste à geometrias irregulares. No entanto, é feito ressalvas quanto ao tempo computacional para obtenção da solução por esquemas implícitos, pois embora um método implícito normalmente exija menos etapas da solução, cada uma exige mais tempo computacional do que as soluções obtidas por um esquema explícito. Os autores apontam a necessidade de se utilizar um solucionador de matrizes que com um número reduzido de iterações alcance a convergência. Neste contexto, o objetivo principal deste trabalho é formular um esquema híbrido e totalmente implícito de volumes finitos para discretização das equações de águas rasas, a fim de obter uma solução numérica estável com um algoritmo iterativo otimizado, com convergência rápida e baixo custo computacional, para aplicação na simulação de fluxos bidimensionais transitórios em topografias complexas (com declives e sujeitos a resistência ao fluxo). Condições iniciais descontínuas representando leitos úmidos/secos foram adotadas. Para tanto, o trabalho está organizado da seguinte forma: A seção [[#2 Modelo Matemático e Solução Numérica|2]] apresenta as equações hiperbólicas, que regem a natureza das águas rasas, considerando as perdas de atrito e declives da topografia do domínio computacional e detalhando a configuração numérica destas equações; na seção [[#3 O algoritmo|3]], o modelo é validado e uma comparação é feita com os resultados obtidos com o trabalho apresentado em <span id='citeF-10'></span>[[#cite-10|[10]]]. A robustez da solução numérica é verificada com uma extrapolação na relação <math> h_r / h_l </math> para <math>0.00002</math>, na seção [[#4 |4]]; o esquema é aplicado na análise de um problema hidráulico real na seção [[#5 Verificação Numérica|5]] e; as conclusões são apresentadas na seção [[#6 Escoamento em um reservatório de contenção subterrâneo: uma aplicação do modelo completo|6]].
==2 Modelo Matemático e Solução Numérica==
Na análise do escoamento bidimensional transiente em um canal, cuja topografia do fundo é descrita por uma superfície <math>z_0(x,y)</math>, busca-se determinar o nível do fluido de superfície livre <math>h(x,y,t)</math> e o campo de velocidade do fluxo <math>U(u,v)</math> para cada instante de tempo <math>t</math>, conforme Fig. [[#img-1|1]]. <div id='img-1'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:Draft_Coelho_632154385-fig1.png|300px|Notação adotada na análise de fluxo em águas rasas]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 1:''' Notação adotada na análise de fluxo em águas rasas
|}
===2.1 Sistema de Equações Governantes===
O sistema de equações diferenciais que descreve o escoamento hidrostático de um fluido incompressível em águas rasas com superfície superior livre é obtido pela integração ao longo da profundidade das equações tridimensionais que modelam a quantidade de movimento e conservação de massa num escoamento, assumindo distribuição de velocidade uniforme na direção vertical. Como em <span id='citeF-3'></span>[[#cite-3|[3]]], adota-se as seguintes simplificações: (i) a distribuição de pressão na vertical é puramente hidrostática; (ii) não há contribuições laterais ao escoamento no reservatório analisado; (iii) a massa específica e a viscosidade do fluido no reservatório não sofrem variações significativas ao longo do tempo e do espaço; (iv) as tensões tangenciais são desprezíveis. Deste modo, as equações governantes do modelo hidrodinâmico, também ditas equações de águas rasas ou equações bidimensionais de Saint Venant, podem ser escritas na forma conservativa (com os fluxos dentro do sinal da derivada):
<span id="eq-1"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \frac{\partial h}{\partial t} +\frac{\partial }{\partial x}(uh)+\frac{\partial }{\partial y}(vh)= 0, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (1)
|}
<span id="eq-2"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \frac{\partial }{\partial t}(uh) +\frac{\partial }{\partial x}(u^2h+\frac{1}{2}gh^2)+\frac{\partial }{\partial y}( uvh)= gh(S_{0}^x - S_{f}^x), </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (2)
|}
<span id="eq-3"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \frac{\partial }{\partial t}(vh) +\frac{\partial }{\partial x}(uvh)+\frac{\partial }{\partial y}(v^2h+\frac{1}{2}gh^2)= gh(S_{0}^y - S_{f}^y), </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (3)
|}
onde <math> x </math> e <math> y </math> representam as componentes cartesianas nas direções longitudinal e transversal, respectivamente; <math>h</math> é profundidade da água no reservatório; <math>u</math> e <math>v</math> são as componentes cartesianas da velocidade; <math>g</math> é a aceleração da gravidade, <math>t</math> é o tempo, e <math>S_y</math> e <math>S_x</math> são os declives do fundo do reservatório definidos como:
<span id="eq-4"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> S_{0}^x=-\frac{\partial z_0}{\partial x},\,\,\,\,\,\,\,\,\,\,S_{0}^y=-\frac{\partial z_0}{\partial y}, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (4)
|}
enquanto os declives de resistência ao escoamento (perda de energia), nas direções <math>x</math> e <math>y</math>, respectivamente, são dadas por:
<span id="eq-5"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> S_{f}^x=\frac{c_M^2u\sqrt{u^2+v^2}}{h^{\frac{4}{3}}},\,\,\,\,\,\,\,\,\,\,S_{f}^y=\frac{c_M^2v\sqrt{u^2+v^2}}{h^{\frac{4}{3}}}, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (5)
|}
onde <math>c_M(m/s^{\frac{1}{3}})</math> é o coeficiente de rugosidade de Manning, que quantifica o atrito do fluxo com o fundo do canal. As equações de águas rasas ([[#eq-1|1]]) - ([[#eq-3|3]]) não possuem solução analítica fechada, portanto, uma abordagem numérica é empregada para resolvê-las de forma discreta e linearizada, onde o domínio é dividido em um número finito de células resultando em um sistema linear algébrico que é resolvido por um algoritmo computacional apropriado codificado em FORTRAN 90. Neste estudo, diferentes condições de contorno e topografia de fundo foram impostas para verificar a robustez e aplicabilidade do código. Na etapa inicial, o nível da água é sempre conhecido e todas as velocidades são iguais a zero para todo o domínio. Essas condições estão detalhadas nas Subseções 3.1 e 3.2.
===2.2 Discretização do domínio e linearização das equações governantes===
A solução numérica do modelo hidrodinâmico descrito pelas equações ([[#eq-1|1]]) - ([[#eq-3|3]]) é obtida por meio do método dos volumes finitos (MVF). Os fundamentos matemáticos e físicos do MVF são bem discutidos por <span id='citeF-16'></span>[[#cite-16|[16]]], <span id='citeF-14'></span>[[#cite-17|[17]]], <span id='citeF-18'></span>[[#cite-18|[18]]] e <span id='citeF-19'></span>[[#cite-19|[19]]]. De acordo com <span id='citeF-20'></span>[[#cite-20|[20]]], o MVF consiste na integração espacial e temporal das equações diferenciais na forma conservativa (com todos os fluxos envolvidos pelo operador derivada) em um volume genérico de controle. O sistema de equações ([[#eq-1|1]]) - ([[#eq-3|3]]) é integrado espacialmente (sobre um volume de controle retangular) e no tempo (de <math>t</math> a <math>t + \Delta t</math>) e é empregado para a integração temporal a seguinte aproximação numérica:
<span id="eq-6"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> I_T = \int \limits _t^{t+\Delta t} \phi (P,t)dt = \left[\theta \, \phi (P,t+\Delta t) + (1-\theta )\, \phi (P,t)\right]\Delta t, \,\,\,\,0 \leq \theta \leq 1. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (6)
|}
Adota-se aqui uma notação mais compacta:
<span id="eq-7"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \phi (P,t+\Delta t) = \phi _P,\,\,\,\,\phi (P,t)=\phi _P^0, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (7)
|}
E assim, a Eq. ([[#eq-6|6]]) pode ser reescrita como:
<span id="eq-8"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> I_T = \int \limits _t^{t+\Delta t} \phi (P,t)dt = \left[\theta \phi _P + (1-\theta )\phi _P^0\right]\Delta t, \,\,\,\,0 \leq \theta \leq 1. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (8)
|}
Neste artigo, adota-se a formulação totalmente implícita, <math>(\theta = 1)</math>, ou seja, todas as derivadas são avaliadas no nível de tempo <math>t + \Delta \,t </math>. Com uma implementação mais complexa, a formulação totalmente implícita é limitada apenas pela precisão e não sofre instabilidades numéricas devido à mudança de coeficientes de sinal pela variação do intervalo de tempo. E assim, permite o uso de etapas de tempo maiores com menor tempo de computação. Esse é um método incondicionalmente estável no tempo. Obviamente, esta estabilidade pode ser alterada devido às não linearidades do acoplamento e ao comportamento dos termos de fontes, como a perda de energia devido à declividade, o que pode gerar oscilações numéricas. Portanto, faz-se necessário um tratamento cuidadoso na obtenção de uma solução numérica estável e também precisa. A derivada temporal é avaliada com uma aproximação de Euler regressiva de <math>1^a</math> ordem:
<span id="eq-9"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \displaystyle \frac{d}{dt}\displaystyle \int _{\Delta V}\phi dt \Delta V \approx \left(\phi - \phi ^0 \right), </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (9)
|}
onde <math>\phi </math> representa uma variável. Na integração espacial é utilizado o Teorema Fundamental do Cálculo para reescrever as integrais das equações ([[#eq-1|1]]) - ([[#eq-3|3]]) como um sistema de equações constituído pelos valores das variáveis avaliadas nos pontos de integração <math>w, e, s, n </math>, que por sua vez, são avaliados por funções de interpolação. Para o cálculo destes valores, adota-se uma combinação dos esquemas de diferenciação central de <math>2^a</math> ordem ''(CDS - Central Differencing Scheme)'' e um esquema ''upwind (UDS - Upwind Differencing Scheme)'' de <math>1^a</math> ordem. Na interpolação central, os valores das variáveis nas faces do volume de controle são dados pelo valor médio dos centróides vizinhos, isto é,
<span id="eq-10"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \phi _e =\frac{\phi _E+\phi _P}{2}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (10)
|}
No esquema ''upwind'', os valores das variáveis nas faces do volume de controle são dados considerando primeiramente a direção do fluxo que transporta alguma propriedade do centróide vizinho para a face onde o fluxo é avaliado, por exemplo,
<span id="eq-11"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \phi _w =\phi _W\,\,\,\textrm{e}\,\,\,\phi _e=\phi _P,\,\,\, \textrm{se}\,\,\,\,u>0, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (11)
|}
O sistema ([[#eq-1|1]]) - ([[#eq-3|3]]) apresenta produtos de variáveis envolvendo <math>u</math>, <math>v</math> e <math>h</math>. Esta característica é a natureza não-linear das equações de Saint-Venant e uma das razões pelas quais não existe uma solução analítica para problemas complexos de águas rasas, e assim, o sistema deve ser linearizado para permitir que o método numérico gere um sistema linear resolvido por qualquer solucionador linear. A linearização é feita considerando no produto de variáveis apenas uma delas como a variável ativa, e as outras são constantes ou variáveis secundárias calculadas a partir da condição inicial da iteração de ''looping'' do tempo anterior e/ou do último passo de tempo, por exemplo,
<span id="eq-12"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \left(u v h\right)_e\approx (u^0v^0)_e h_e, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (12)
|}
onde neste exemplo, o índice <math>0</math> representa os valores disponíveis do cálculo anterior e esses valores são usados para calcular o coeficiente da matriz para a variável ativa <math>h</math>. Naturalmente, outras equações estão disponíveis para resolver <math>u</math> e <math>v</math> como a variável ativa (ou variável principal), e estas são empregadas para calcular cada coeficiente, assim, quando uma nova solução é alcançada, um novo cálculo é iniciado e novos coeficientes são definidos, e uma nova solução é executada até a convergência. Na combinação ''CDS/UDS'', o esquema ''UDS'' é escolhido para a variável principal e a aproximação ''CDS'' para a variável secundária conhecida, por exemplo na integral da Eq. ([[#eq-1|1]]) o ''UDS'' é usado para a variável principal <math>h</math>, e para <math>u </math> e <math>v</math> é aplicada a interpolação ''CDS'' usando os valores nodais vizinhos conhecidos <math>u^0,\,v^0</math> do nó <math>P</math>. Todos os valores nas faces são funções dos valores nodais <math>P,W, E, S </math>, usando coeficientes <math>\alpha ^,s</math> que representam o sinal das componentes <math>u</math> e <math>v</math> nas faces do volume de controle, isto é, a direção do vetor de velocidade:
<span id="eq-13"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> h_w =(1-\alpha _w)\frac{h_P}{2}+(1+\alpha _w)\frac{h_W}{2}, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (13)
|}
<span id="eq-14"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> h_e =(1+\alpha _e)\frac{h_P}{2}+(1-\alpha _e)\frac{h_E}{2}, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (14)
|}
<span id="eq-15"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> h_s =(1-\alpha _s)\frac{h_P}{2}+(1+\alpha _s)\frac{h_S}{2}, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (15)
|}
<span id="eq-16"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> h_n =(1+\alpha _n)\frac{h_P}{2}+(1-\alpha _n)\frac{h_N}{2}, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (16)
|}
onde,
<span id="eq-17"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \alpha _i =1,\,\,\,\textrm{se}\,\,\,\,u>0,\,\,\, c.c.\,\,\,\alpha _i =-1,\textrm{para}\,\,\, i=w,e </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (17)
|}
<span id="eq-18"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \alpha _j =1,\,\,\,\textrm{se}\,\,\,\,v>0,\,\,\, c.c.\,\,\,\alpha _j =-1,\textrm{para}\,\,\, j=s,n </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (18)
|}
Portanto, a partir da formulação totalmente implícita e da interpolação híbrida ''CDS/UDS'', a equação algébrica discreta para a Eq. ([[#eq-1|1]]) é dada por:
<span id="eq-19"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> a_{hP}h_P +a_{hE}h_E+ a_{hW}h_W +a_{hN}h_N+a_{hS}h_S=b_{hP}, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (19)
|}
onde,
<span id="eq-20"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> a_{hP}=1+\frac{\Delta t}{2\Delta x}\left[u^0_e(1+\alpha _e)-u^0_w(1-\alpha _w)\right]+\frac{\Delta t}{2\Delta y}\left[v^0_n(1+\alpha _n)-v^0_s(1-\alpha _s)\right], </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (20)
|}
<span id="eq-21"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> a_{hE}=\,\,\,\,\,\frac{\Delta t}{2\Delta x}u^0_e(1-\alpha _e), </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (21)
|}
<span id="eq-22"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> a_{hW}=-\frac{\Delta t}{2\Delta x}u^0_w(1+\alpha _w), </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (22)
|}
<span id="eq-23"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> a_{hN}=\,\,\,\,\,\frac{\Delta t}{2\Delta y}v^0_n(1-\alpha _n), </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (23)
|}
<span id="eq-24"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> a_{hS}=-\frac{\Delta t}{2\Delta y}v^0_s(1+\alpha _s), </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (24)
|}
<span id="eq-25"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> b_{hP}=h_P^0. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (25)
|}
Para integrar a Eq. ([[#eq-2|2]]) aplica-se o Teorema Fundamental do Cálculo considerando a formulação totalmente implícita. Deste modo, o lado esquerdo desta equação é reescrita em função das variáveis calculadas em <math>P</math> e nas faces <math>w,e,s,n</math>, conforme a expressão <math>(</math>[[#eq-26|26]]<math>)</math>:
<span id="eq-26"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \left[(uh)_P - (uh)_P^0\right]\frac{\Delta x \Delta y}{\Delta t}+ \left(\Delta y\left[(u^2h+\frac{1}{2}gh^2)_e- (u^2h+\frac{1}{2}gh^2)_w\right]+\Delta x\left[(uvh)_n - (uvh)_s\right]\right)_{t+\Delta t}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (26)
|}
Na expressão <math>(</math>[[#eq-26|26]]<math>)</math> o termo <math>u^2</math> é escrito como <math>(u^0\,u) </math> onde <math>u^0</math> é conhecido e <math>u</math> é a variável ativa a ser calculada. A interpolação ''UDS'' é usada para avaliar <math>u</math>, enquanto a interpolação ''CDS'' para avaliar <math>u^0</math> nas faces. Por exemplo,
<span id="eq-27"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> (u_e)^2 = u_e^0.u_e = \left(\frac{u_E^0+u_P^0}{2}\right)\left[(1+\alpha _e)\frac{u_P}{2}+(1-\alpha _e)\frac{u_E}{2}\right], </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (27)
|}
com <math>\alpha _e</math> definido na equação ([[#eq-17|17]]). O termo quadrático da expressão ([[#eq-26|26]]) da variável secundária <math>h</math> é calculado usando a interpolação ''CDS'' com os valores disponíveis da Eq. ([[#eq-19|19]]) e assim,
<span id="eq-28"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> (h_e)^2 = \left(\frac{h_E+h_P}{2}\right)^2 </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (28)
|}
A mesma abordagem é usada nos termos advectivos da expressão ([[#eq-26|26]]). O produto <math>(uvh)</math> é dividido em <math> (hv^0)u </math> com ''UDS'' para variável ativa <math>u</math> e ''CDS'' para as variáveis secundárias, <math>h</math> atualizada e <math>v^0</math>. Para a integração do lado direito da Eq. ([[#eq-2|2]]), que representa a resistência à declividade, o valor de <math>h</math> é calculada no centróide <math>P</math>, pois fisicamente a fonte representa a média integral no volume discreto centrado em <math>P</math>, isto é, o fonte não flui, é um termo volumétrico. Portanto, <math>h = h_P</math> e a magnitude da velocidade é constante. Dessa forma, a integral do lado direito da Eq. ([[#eq-2|2]]) é reescrita da seguinte forma:
<span id="eq-29"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \left[gh_P(-1)(z_e-z_w)\Delta y + (-1)\left(\frac{gc_M^2}{h_P^{1/3}}\sqrt{(u_P^0)^2+(v_P^0)^2}\right)\frac{u_e+u_w}{2}\Delta x \Delta y\right]_{t+\Delta t}, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (29)
|}
onde os valores da variável principal <math>u</math> nas faces são obtidos por ''UDS''. Assim, a forma discreta linearizada da Eq. ([[#eq-2|2]]) é dada por:
<span id="eq-30"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> a_{uP}u_P +a_{uE}u_E+ a_{uW}u_W +a_{uN}u_N+a_{uS}u_S=b_{uP}, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (30)
|}
onde,
<span id="eq-31"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> a_{uE}=\,\,\,\,\,\,(1-\alpha _e)\left[\frac{\Delta t}{2\Delta x}u^0_eh_e+\frac{\Delta t}{4}\frac{gc_M^2}{h^{1/3}_P}\sqrt{(u_P^0)^2+(v_P^0)^2}\right], </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (31)
|}
<span id="eq-32"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> a_{uW}=-(1+\alpha _w)\left[\frac{\Delta t}{2\Delta x}u^0_wh_w+\frac{\Delta t}{4}\frac{gc_M^2}{h^{1/3}_P}\sqrt{(u_P^0)^2+(v_P^0)^2}\right], </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (32)
|}
<span id="eq-33"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> a_{uN}=\,\,\,\frac{\Delta t}{2\Delta y}v^0_n(1-\alpha _n)h_n, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (33)
|}
<span id="eq-34"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> a_{uS}=-\frac{\Delta t}{2\Delta y}v^0_s(1+\alpha _s)h_s, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (34)
|}
<span id="eq-35"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> b_{uP}=u_P^0h_P^0+\frac{\Delta t}{2\Delta x}g(h^2_w-h^2_e)-gh_P\frac{\Delta t}{\Delta x}(z_e-z_w), </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (35)
|}
<span id="eq-36"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> a_{uP}=h_P+\frac{\Delta t}{2\Delta x}\left[u^0_e(1+\alpha _e)h_e-u^0_w(1-\alpha _w)h_w\right]+\frac{\Delta t}{2\Delta y}\left[v^0_n(1+\alpha _n)h_n-v^0_s(1-\alpha _s)h_s\right]+S_u, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (36)
|}
com
<span id="eq-37"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> S_u= \frac{\Delta t}{4}g\frac{c_M^2}{h^{1/3}_P}\sqrt{(u_P^0)^2+(v_P^0)^2}\left[\left({1+\alpha _e}\right)+\left({1-\alpha _w}\right)\right]. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (37)
|}
A mesma abordagem é usada para o cálculo de <math>v</math>, integrando a Eq. ([[#eq-3|3]]). Assim, são obtidos três sistemas lineares a serem resolvidos:
<span id="eq-38"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> A^h h = B^h,\,\, A^u u = B^u,\,\,A^v v = B^v, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (38)
|}
onde <math>A^\phi </math> representa a matriz de coeficientes da variável <math>\phi </math> (<math>h,u</math> ou <math>v</math>), enquanto <math>B^\phi </math> é o vetor que contém as condições de contorno e termos fontes.
==3 O algoritmo==
O código de simulação computacional foi programado em Linguagem Fortran, compilado na versão Fortran Power Station 4.0 licenciada pela Microsoft Corporation. A escolha por esse programa deve-se à sua velocidade de execução e alta capacidade de armazenamento de dados. Neste trabalho, o domínio físico retangular <math> D = [x_a, x_b] \times [y_a, y_b] </math> é dividido em <math> N_x </math> e <math> N_y </math> volumes de controle com comprimentos dados por <math> \Delta x, \Delta y </math> nas direções <math> x </math> e <math> y </math>, respectivamente. Da mesma forma, o espaço temporal <math> [t_0, t_f] </math> é dividido em <math> N_t </math> passos de tempo uniformes iguais a <math> \Delta t </math>. A malha cartesiana ordenada e estruturada é varrida de acordo com o par <math>(i, j)</math> da esquerda para a direita aumentando o comprimento <math>(i - 1)\Delta x</math> na direção <math>x</math>, e de baixo para cima aumentando o comprimento <math>(j - 1) \Delta y</math> na direção <math>y</math>, começando no centróide <math>(1, 1)</math> que representa o ponto <math>(x_a + \Delta x/2, y_a + \Delta y/2)</math>. Desta forma, faz-se a seguinte correspondência:,
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> (i,j)\longmapsto ((x_a+\Delta x/2)+(i-1)\Delta x, (y_a+\Delta y/2)+(j-1)\Delta y) </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (39)
|}
Após a discretização do domínio, são lidas a topografia da parte inferior, representada pela superfície <math> z_0 (x, y) </math>, e as condições iniciais <math> h_0, u_0 </math> e <math> v_0 </math>. O sistema linear é resolvido por um método de Gauss-Seidel de acordo com a direção varrida anteriormente descrita. Ele itera até que um dos dois critérios seja atingido: o número máximo residual <math>tol</math> ou máximo de iterações <math>itmax</math>. Se for atingido resíduo <math>R<tol</math> em um número <math>k</math> de iterações e <math>2k<itmax</math>, então continua-se o processo iterativo até <math>2k</math> iterações. Ou seja, ao atingir a tolerância do resíduo máximo, faz-se mais <math>k</math> iterações, isso torno o resíduo bem inferior ao residual máximo permitido. Para este trabalho, o número máximo de iterações para cada intervalo de tempo é fixado em <math>itmax=1000</math> iterações, enquanto a tolerância para o resíduo máximo global permitido é igual a <math>tol=10 ^ {- 11} </math>, sendo o resíduo global <math>R</math> definido como:
<span id="eq-40"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> R= \frac{1}{N_x N_y}\left[\frac{r_h+r_u+r_v}{3}\right], </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (40)
|}
onde <math> N_x N_y </math> é o número total de volume de controles, e os resíduos <math>r_h, r_u, r_v </math> são a soma dos resíduos individuais de cada volume de controle,calculados incrementalmente de acordo com a Eq. ([[#eq-41|41]]):
<span id="eq-41"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> r_\phi = r_\phi + d_\phi , </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (41)
|}
onde <math>d_\phi </math> representa a diferença absoluta entre os dois lados da equação linearizada para a variável <math>\phi </math>. O algoritmo completo é apresentado abaixo. O código também permite usar a última solução para inicializar uma nova execução com novas condições de contorno, se necessário.
{| style="margin: 1em auto;border: 1px solid darkgray;"
|-
|
: Declare as matrizes principais <math>h, u</math> e <math>v</math> e as variáveis secundárias <math>h_0, v_0</math> e <math>u0.</math>
Leia os dados do modelo: tamanho da malha espacial e temporal, coeficiente de atrito.
Calcule o comprimento dos passos espaciais e temporal
Faça a leitura da topografia <math>(z_0).</math>
Leia as condições iniciais <math>h_0,u_0</math> e <math>v_0.</math>
Calcule em cada passa de tempo as variáveis principais <math>h,u,v</math>
<math> 1 \leq k \leq N_t</math>
Calcular as variáveis no contorno
<math> 2\leq i \leq N_{x} -1 </math> e <math> 2\leq j \leq N_{y} -1 </math>
Interpolar <math>h,u,v,</math> e <math>z_0</math> nos pontos de integração nas faces do volume de controle
Calcular os coeficientes do sistema linear de <math>h</math>
Calcular o resíduo <math>r_h</math> <math>h(i,j)> z(i,j)</math> ]
Calcular <math>h(i,j)</math>
Calcular a coluna de água <math>H(i,j)=h(i,j)-z(i,j)</math>
Atualizar os valores de <math>h</math> nas faces dos volumes de controle
Calcular os coeficientes do sistema linear de <math>u</math>
Calcular o resíduo <math>r_u</math>
Calcular <math>u(i,j)</math>
Atualizar os valores de <math>u</math> nas faces dos volumes de controle
Calcular os os coeficientes do sistema linear de <math>v</math>
Calcular o resíduo <math>r_v</math>
Calcular <math>v(i,j)</math>
Faça <math>h(i,j)=z(i,j)</math> e <math>r_h,u,v</math> iguais a zero <math>\,\,\,</math>
(o nível da água é calculado até <math>h=z_0</math>.) <math>\,\,\,</math> (fim da malha varrida)
Teste de Convergência
Atualização de <math>u,v</math> e <math>h</math> no tempo <math>(u_0=u,v_0=v,h_0=h)</math>
<math>\,\,\,</math> (fim do ''loop'' temporal)
Faça o pós-processamento (tabelas e gráficos)
|}
==4 ==
Validação da solução numérica Com o objetivo de validar a abordagem numérica apresentada na seção anterior, esta seção apresenta uma comparação com os resultados obtidos para um modelo de abertura instantânea de comportas apresentado em <span id='citeF-8'></span>[[#cite-8|[8]]]. Este problema consiste em um domínio quadrado com <math>200\,m </math> de comprimento com uma barragem interna com <math>10\,m </math> de largura, disposta na faixa de <math> 90-100\,m</math>, que divide o domínio como é mostrado na Fig. ([[#img-2|2]]) . Para simulação da abertura de comportas, considera-se uma abertura não simétrica e instantânea com <math>75\,m</math> de largura entre <math>30</math> e <math>105\,m</math>. Essa abertura causa uma liberação sutil da coluna de água a jusante, resultando em um fluxo com gradientes espaciais e temporais acentuados. <div id='img-2'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:Draft_Coelho_632154385-fig2.png|396px|Domínio do modelo]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 2:''' Domínio do modelo
|}
Todos os parâmetros numéricos e físicos são mostrados na Tabela ([[#table-1|1]]). De acordo com <span id='citeF-8'></span>[[#cite-8|[8]]], neste problema a resistência ao escoamento é desprezada e sua parte inferior é plana.
{| class="floating_tableSCP wikitable" style="text-align: center; margin: 1em auto;min-width:50%;"
|+ <span id='table-1'></span>
|- style="border-top: 2px solid;"
| Tamanho da malha
| Tamanho dos elementos
| <math>z_0</math>
| Passo de tempo
| Coeficiente de Manning
| <math>g</math>
|- style="border-top: 2px solid;border-bottom: 2px solid;"
| <math>200\,m\,\times \,200\,m</math>
| <math>5\,m\,\times \,5\,m</math>
| <math>0</math>
| <math>0.01\,s</math>
| <math>0.0</math>
| <math>9.81\,m/s^2</math>
|}
===4.1 Condições Iniciais===
Para o tempo inicial, o fluido é quiescente, ou seja, <math> u = v = 0</math> para todo o domínio, enquanto a coluna d'água inicial é dada por:
<span id="eq-42"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> h_0(x,y):\left\{\begin{array}{lll} h_l,\,{\hbox{se}}\,x\,\leq \,100\,m\\ h_r,\,{\hbox{se}}\,x\,>\,100\,m,\\ \end{array} \right. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (42)
|}
com o nível da água à montante <math>h_l=10\,m,\,</math> e a jusante <math>h_r=5\,m</math>. Consequentemente, a razão entre os níveis de água é <math>h_r/h_l=0.5\,m.</math>
===4.2 Condições de Contorno===
Por uma questão de clareza, esta seção é apresentada aqui para mostrar de forma prática como as condições de contorno são tratadas neste trabalho usando para isso, o caso de validação como exemplo. As abordagens apresentadas aqui também são aplicadas a outros casos de maneira similar, respeitando, é claro, a configuração geométrica de cada um. Como abordagem teórica, existem pelo menos três maneiras de lidar com as condições de contorno: realizar um balanço para cada volume de controle na fronteira, chamado simplesmente de equilíbrio de contorno; considerar um meio volume na fronteira com seu centróide pertencente ao próprio limite; e, por último, considerar volumes fictícios em torno dos limites, isso significa que o valor de limite prescrito deve ser igual à interpolação (qualquer que seja) entre os centróides do volume real de controle e o novo volume de controle fictício. Esta última abordagem é preferida, pois a primeira implica um tratamento matemático distinto para cada fronteira, o que torna o código mais complexo de acordo com a geometria. O caminho de <math>2^a</math> ordem, o meio volume, não é conservador porque o valor é imposto, em vez disso, como resultado de um balanço de fluxo. A abordagem de volume fictício permite que toda a malha seja constituída por volumes inteiros, o que é fácil de codificar e tem a mesma natureza conservadora para todos os volumes. Embora este artifício aumente o número de incógnitas do problema, acarretando custo computacional, é um procedimento útil com codificação fácil. Na Fig. ([[#img-3|3]]) é apresentado um esboço deste conceito. <div id='img-3'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:Draft_Coelho_632154385-fig3.png|330px|Volumes fictícios ao redor da malha real]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 3:''' Volumes fictícios ao redor da malha real
|}
Utiliza-se a Condição de Neumann nula para o nível da água nas paredes externas e nos contornos da represa. Desse modo,
<span id="eq-43"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \frac{\partial h\,(w)}{\partial x}= \frac{\partial h\,(e)}{\partial x}=0, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (43)
|}
<span id="eq-44"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \frac{\partial h\,(s)}{\partial y}= \frac{\partial h\,(n)}{\partial y}=0, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (44)
|}
onde <math>w</math> e <math>e</math> são os pontos dos contornos esquerdo e direito, respectivamente; e <math>s</math> e <math>n</math> são os pontos dos contornos inferior e superior, respectivamente, como descrito na Fig. ([[#img-4|4]]). <div id='img-4'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:Draft_Coelho_632154385-fig4.png|360px|Esquema da condição de contorno para o nível h do fluido]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 4:''' Esquema da condição de contorno para o nível <math>h</math> do fluido
|}
Todas as derivadas nas faces fronteiras (<math>w,e,n,</math> e <math>s</math>) podem ser interpoladas como funções dos centróides vizinhos destacados na Fig. 4: um externo fictício (<math>W, E, S</math> ou <math>N</math>) e um interno <math>(P)</math> pertencente ao domínio. Consequentemente,
<span id="eq-45"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \frac{\partial h(w)}{\partial x} =\frac{h_{P_w} - h_W}{\Delta x}=0 </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (45)
|}
<span id="eq-46"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \frac{\partial h(e)}{\partial x} = \frac{h_E -h_{P_e}}{\Delta x}=0, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (46)
|}
<span id="eq-47"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \frac{\partial h(s)}{\partial y} = \frac{h_{P_s} - h_S}{\Delta y}=0, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (47)
|}
<span id="eq-48"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \frac{\partial h(n)}{\partial y} = \frac{h_N - h_{P_n}}{\Delta y}=0, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (48)
|}
o que resulta em,
<span id="eq-49"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> h_W=h_{P_w},\,\,\,h_E=h_{P_e},\,\,\,\,h_S=h_{P_s} \,\,\textrm{e}\,\,h_N=h_{P_n}. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (49)
|}
Para as variáveis de fluxo (<math>u</math> e <math>v</math>), as paredes são consideradas impermeáveis e todas as componentes de velocidade normal aos contornos são nulas. Esta condição de Dirichlet é imposta considerando o esquema de diferenciação central, ou seja,
<span id="eq-50"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> u(w) =\frac{u_{P_w} + u_W}{2}=0, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (50)
|}
<span id="eq-51"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> u(e) = \frac{u_E + u_{P_e}}{2}=0, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (51)
|}
<span id="eq-52"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> v(s) = \frac{v_{P_s} +v_S}{2}=0, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (52)
|}
<span id="eq-53"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> v(n)= \frac{v_N + v_{P_n}}{2}=0, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (53)
|}
e portanto,
<span id="eq-54"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> u(W)= -u(P_w),\,\,\,\,\,u(E)= -u(P_e), </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (54)
|}
<span id="eq-55"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> v(S)= -v(P_s),\,\,\,\,\,v(N)= -v(P_n). </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (55)
|}
Por outro lado, as componentes da velocidade tangencial são calculados considerando derivada nula para cada uma, ou seja, uma Condição de Neumann nula para cada componente tangencial, e então
<span id="eq-56"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \frac{\partial u(s)}{\partial y} =\frac{u_{P_s} - u_S}{\Delta y}=0, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (56)
|}
<span id="eq-57"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \frac{\partial u(n)}{\partial y} = \frac{u_N -u_{P_n}}{\Delta y}=0, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (57)
|}
<span id="eq-58"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \frac{\partial v(w)}{\partial x} = \frac{v_{P_w} - v_W}{\Delta x}=0, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (58)
|}
<span id="eq-59"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \frac{\partial v(e)}{\partial x} = \frac{v_E - v_{P_e}}{\Delta x}=0, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (59)
|}
e portanto,
<span id="eq-60"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> u(S) = u(P_s),\,\,\,\,u(N) = u(P_n), </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (60)
|}
<span id="eq-61"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> v(W) = v(P_w),\,\,\,\,v(E) = v(P_e). </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (61)
|}
===4.3 Resultados===
O algoritmo proposto e a formulação numérica devem ser validados para determinar sua precisão e robustez. Isso é feito por meio da aplicação do modelo e do código numérico a um problema representativo de águas rasas: o problema da abertura instantânea de comportas, amplamente utilizado para testar códigos numéricos ou modelos matemáticos que tratam de vazões superficiais sujeitas a mudanças abruptas, mudanças no tempo e no espaço, e a abertura instantânea de comportas tem esses detalhes físicos e é amplamente estudada na literatura [Fennema1990,Adriano2018,Rezende:2015, Hirt:1981, Jahanbakhsh2007,Villota2017].
====4.3.1 Nível da água====
A Fig. ([[#img-5|5]]) mostra a superfície livre de água após <math>7.1</math> segundos após a abertura da comporta. Os resultados são comparados com aqueles obtidos em <span id='citeF-8'></span>[[#cite-8|[8]]]. Observa-se na Fig. ([[#img-5|5]]) uma frente de onda após a abertura da eclusa e uma onda de depressão no lado esquerdo à barreira. Os níveis de superfície computados estão de acordo com os apresentados por <span id='citeF-8'></span>[[#cite-8|[8]]] para o mesmo instante de tempo. <div id='img-5a'></div>
<div id='img-5b'></div>
<div id='img-5'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:Draft_Coelho_632154385-fig5a.png|534px|Resultado obtido pelo esquema híbrido proposto]]
|[[Image:Draft_Coelho_632154385-fig5b.png|496px|Resultado obtido em <span id='citeF-8'></span>[[#cite-8|[8]]]]]
|- style="text-align: center; font-size: 75%;"
| (a) Resultado obtido pelo esquema híbrido proposto
| (b) Resultado obtido em <span id='citeF-8'></span>[[#cite-8|[8]]]
|- style="text-align: center; font-size: 75%;"
| colspan="2" | '''Figure 5:''' Comparação do comportamento da superfície livre <math>3D</math> após <math>7.1 \, s </math> após a abertura da comporta
|}
A Tabela ([[#4.3.1 Nível da água|4.3.1]]) mostra os valores de nível para algumas posições do domínio para fins de comparação quantitativa.
{| class="floating_tableSCP wikitable" style="text-align: center; margin: 1em auto;min-width:50%;"
|+ <span id='table-2'></span><math>h_r/h_l=0.5</math>
|- style="border-top: 2px solid;"
| style="border-right: 2px solid;" | yx
| style="border-left: 2px solid;" | <math>0</math>
| <math>25</math>
| <math>50</math>
| <math>75</math>
| <math>100</math>
| <math>125</math>
| <math>150</math>
| <math>175</math>
| <math>200</math>
|- style="border-top: 2px solid;"
| style="border-right: 2px solid;" | <math>0</math>
| style="border-left: 2px solid;" | <math>9.99932</math>
| <math>9.96352</math>
| <math>9.43066</math>
| <math>8.76246</math>
| <math>5.06748</math>
| <math>7.08372</math>
| <math>5.31831</math>
| <math>5.00090</math>
| <math>5.0</math>
|-
| style="border-right: 2px solid;" | <math>25</math>
| style="border-left: 2px solid;" | <math>9.99497</math>
| <math>9.88268</math>
| <math>9.18459</math>
| <math>8.70866</math>
| <math>5.16149</math>
| <math>6.34225</math>
| <math>6.43242</math>
| <math>5.01876</math>
| <math>5.0</math>
|-
| style="border-right: 2px solid;" | <math>50</math>
| style="border-left: 2px solid;" | <math>9.98848</math>
| <math>9.77139</math>
| <math>8.67804</math>
| <math>8.08645</math>
| <math>7.28272</math>
| <math>6.84739</math>
| <math>7.01455</math>
| <math>5.08294</math>
| <math>5.0</math>
|-
| style="border-right: 2px solid;" | <math>75</math>
| style="border-left: 2px solid;" | <math>9.98760</math>
| <math>9.75073</math>
| <math>8.51860</math>
| <math>7.88839</math>
| <math>7.52336</math>
| <math>6.87814</math>
| <math>7.10481</math>
| <math>5.09955</math>
| <math>5.0</math>
|-
| style="border-right: 2px solid;" | <math>100</math>
| style="border-left: 2px solid;" | <math>9.99177</math>
| <math>9.83175</math>
| <math>8.98309</math>
| <math>8.49358</math>
| <math>5.82968</math>
| <math>6.54152</math>
| <math>6.75214</math>
| <math>5.04260</math>
| <math>5.0</math>
|-
| style="border-right: 2px solid;" | <math>125</math>
| style="border-left: 2px solid;" | <math>9.99851</math>
| <math>9.95297</math>
| <math>9.51005</math>
| <math>9.17919</math>
| <math>5.68769</math>
| <math>5.94785</math>
| <math>5.60476</math>
| <math>5.00278</math>
| <math>5.0</math>
|-
| style="border-right: 2px solid;" | <math>150</math>
| style="border-left: 2px solid;" | <math>9.99996</math>
| <math>9.99796</math>
| <math>9.93089</math>
| <math>9.72443</math>
| <math>5.48812</math>
| <math>5.30022</math>
| <math>5.00670</math>
| <math>5.00001</math>
| <math>5.0</math>
|-
| style="border-right: 2px solid;" | <math>175</math>
| style="border-left: 2px solid;" | <math>9.99999</math>
| <math>9.99997</math>
| <math>9.99829</math>
| <math>9.98574</math>
| <math>5.00626</math>
| <math>5.00135</math>
| <math>5.00001</math>
| <math>5.00000</math>
| <math>5.0</math>
|- style="border-bottom: 2px solid;"
| style="border-right: 2px solid;" | <math>200</math>
| style="border-left: 2px solid;" | <math>10.0000</math>
| <math>9.99999</math>
| <math>9.99999</math>
| <math>9.99985</math>
| <math>3.75001</math>
| <math>5.00000</math>
| <math>5.00000</math>
| <math>5.00000</math>
| <math>5.0</math>
|}
Duas linhas de amostra foram extraídas em <math>7.1</math> segundos antes da abertura da comporta <math>(x = 75\, m) </math> e após a abertura <math> (x = 105\, m) </math> e os dados foram comparados a <span id='citeF-8'></span>[[#cite-8|[8]]], onde são confrontados outros dois esquemas numéricos: MacCormack e Gabutti (descritos em <span id='citeF-22'></span>[[#cite-22|[22]]] e <span id='citeF-23'></span>[[#cite-23|[23]]], respectivamente), e ambos os métodos são de precisão de segunda ordem e requerem um cálculo mais complexo, uma vez que uma etapa do preditor deve ser avaliada em <math> t + \Delta t/2.</math> A Fig. ([[#img-6|6]]) apresenta a comparação dos perfis transversais do nível da água após <math>7.1</math> segundos da abertura da barreira interna, e os dados estão em boa concordância com <span id='citeF-8'></span>[[#cite-8|[8]]]. Algumas diferenças podem ser observadas antes e depois da abertura da barragem, principalmente com a onda de depressão antes do portão, mas os níveis estão na mesma ordem e com o mesmo comportamento físico. Além disso, observa-se algumas elevações locais na frente de onda. <div id='img-6'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:Draft_Coelho_632154385-fig6.png|276px|Comparação do perfil do nível de água em duas linhas de amostra em x=115\,m e x=75\,m]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 6:''' Comparação do perfil do nível de água em duas linhas de amostra em <math>x=115\,m</math> e <math>x=75\,m</math>
|}
A Fig. ([[#img-7|7]]) mostra os perfis longitudinais em <math> y = 70 \, m </math> e <math> y = 150 \, m </math> a <math> 7.1 </math> segundos. A linha <math> h (x, 150) </math> está quebrada porque intercepta a parede da barragem, enquanto a linha <math> h (x, 75) </math> passa pela abertura da comporta. Pode ser visto na linha <math> h (x, 150) </math> que a onda frontal após a abertura da eclusa mostra uma elevação de pico que é devida à diferença de velocidade entre a frente de onda e a onda de depressão em movimento a jusante. A frente de onda é desacelerada pelo corpo de água em repouso na frente dela. Embora esse comportamento não seja mostrado nos resultados de <span id='citeF-8'></span>[[#cite-8|[8]]], a posição da frente de onda e o início da onda de depressão são coincidentes. O perfil <math>h (x, 150)</math> tem uma melhor correspondência, uma vez que nesta posição o comportamento do fluido é mais suave e menos dinâmico devido à presença da parede. É evidente que o local mais sensível a ser resolvido é a região de abertura da comporta devido ao abrupto colapso da coluna de água. <div id='img-7'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:Draft_Coelho_632154385-fig7.png|282px|Comparação das linhas de amostra longitudinais do nível de água em y=70\,m e y=150\,m]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 7:''' Comparação das linhas de amostra longitudinais do nível de água em <math>y=70\,m</math> e <math>y=150\,m</math>
|}
As mudanças no nível da água podem ser monitoradas por um período de tempo, em um ponto fixo do domínio. Na Fig. ([[#img-8|8]]), pode-se ver a amostragem do nível de água em <math>P(115,70)</math>, localizado na frente da abertura da comporta que permite capturar o avanço da frente de onda, durante <math>7.1</math> segundos. <div id='img-8'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:Draft_Coelho_632154385-fig8.png|276px|Comparação do tempo de amostragem do nível da água em P(115,70)]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 8:''' Comparação do tempo de amostragem do nível da água em <math>P(115,70)</math>
|}
Pode ser visto em ambos os resultados que a frente de onda leva <math>1</math> segundo após a abertura para alcançar o ponto de teste <math>P</math>, e depois de <math>3</math> segundos, o nível da água está próximo de <math>7\,m </math> em ambos os casos. Novamente, há um comportamento mais dinâmico em comparação com os resultados de <span id='citeF-8'></span>[[#cite-8|[8]]], que é mais suave com oscilações brandas devido a utilização de termos dissipativos artificiais, enquanto os resultados obtidos pelo esquema híbrido proposto apresentam uma onda de pico que tende a ser atenuada com o tempo, de acordo com o fenômeno físico esperado.
====4.3.2 Campo de Velocidade====
A Fig. ([[#img-9|9]]) compara os resultados de <span id='citeF-8'></span>[[#cite-8|[8]]] e deste trabalho para o campo de velocidade no instante de tempo igual a <math> 7.1 </math> segundos. Os vetores do campo de velocidade estão em muito boa concordância apresentando as mesmas direções, magnitudes (representadas pelos tamanhos das flechas) com um espalhamento pela mesma área ao redor da abertura da comporta. <div id='img-9a'></div>
<div id='img-9b'></div>
<div id='img-9'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:Draft_Coelho_632154385-fig9a.png|471px|Campo de velocidade usando o esquema híbrido]]
|[[Image:Draft_Coelho_632154385-fig9b.png|471px|Campo de velocidade apresentado em <span id='citeF-8'></span>[[#cite-8|[8]]]]]
|- style="text-align: center; font-size: 75%;"
| (a) Campo de velocidade usando o esquema híbrido
| (b) Campo de velocidade apresentado em <span id='citeF-8'></span>[[#cite-8|[8]]]
|- style="text-align: center; font-size: 75%;"
| colspan="2" | '''Figure 9:''' Comparação do campo de velocidade em torno da abertura da comporta em <math>7.1</math> segundos
|}
===4.4 Considerações===
Apesar das oscilações locais ou da suavidade, os resultados estão em boa concordância geral com as frentes de onda e ondas de depressão de acordo com os dados da literatura, o que reflete a habilidade da abordagem numérica proposta em lidar e capturar o comportamento físico do fluxos de águas rasas que validam o modelo e a abordagem numérica. É importante enfatizar que, em <span id='citeF-8'></span>[[#cite-8|[8]]] artifícios numéricos foram usados como uma viscosidade artificial para lidar com as oscilações da superfície livre, o que torna o resultado de <span id='citeF-8'></span>[[#cite-8|[8]]] mais difusivo e quase sem flutuações locais no nível da superfície. Por outro lado, neste trabalho, nenhuma abordagem similar foi empregada para lidar com uma possível instabilidade numérica devido à aproximação de tempo de alta ordem. O esquema de tempo implícito proposto de <math>1^a</math> ordem neste trabalho mostrou-se capaz de capturar o comportamento físico e os gradientes de tempo rígidos sem etapas de tempo proibitivas. E a formulação ''UDS'' em associação com a abordagem ''CDS'' foi capaz de lidar com mudanças abruptas nos campos de variáveis sem instabilidades ou oscilações não físicas. Todas as oscilações de superfície livre têm um significado físico quando as diferenças de velocidade entre as porções distintas da onda são contabilizadas porque essas diferenças compactam a onda e aumentam sua amplitude. Como apontado em <span id='citeF-8'></span>[[#cite-8|[8]]], as oscilações numéricas puras não são amortecidas com o tempo, em vez disso, elas tendem a ser amplificadas com gradientes rígidos, o que faz com que o sistema divirja. Porém fazendo uso do esquema numérico híbrido aqui apresentado, a solução se mantêm suave com resíduos muito baixo, inferiores a tolerância máxima de <math>10^{-11}</math>. Mesmo para grandes intervalos de tempo, não há crescimento no valor destes resíduos, atingindo valores inferiores a tolerância máxima em poucas iterações.
==5 Verificação Numérica==
Uma validação numérica assegura que o modelo é capaz de fornecer uma resposta física correta sob certas condições iniciais e de contorno. No entanto, mais testes são feitos para descobrir se, sob outro cenário, o modelo computacional é capaz de prever o comportamento físico do sistema. Esta etapa, juntamente com a validação anterior, permite definir se o modelo computacional é útil como uma ferramenta preditiva para qualquer fluxo de água superficial sob condições diversas.
===5.1 Teste da condição de leito seco===
Para avaliar a robustez do código, o modelo da seção [[#3 O algoritmo|3]] é considerado, fazendo a razão <math> h_r / h_l </math> tender a zero, isto é, <math> h_r </math> é considerado com uma fina película líquida, como uma ''“wet condition”''. Esta situação é geralmente uma situação física difícil de resolver devido às singularidades que podem surgir nos termos fontes de atrito, e o possível mau condicionamento da matriz de coeficientes devido a valores nulos que surgirão ao longo dos cálculos quando <math>h</math> tende a zero. Nesta situação, as equações de águas rasas tendem a enfraquecer seu significado físico. Em vista disso, <math> h_r </math> não pode ser exatamente zero, e o código deve ser capaz de lidar com essa situação. Na Fig.([[#img-10|10]]), pode-se observar o nível da água para os primeiros <math> 7.1 </math> segundos com <math> h_r / h_l = 0.00002 </math>. <div id='img-10'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:Draft_Coelho_632154385-fig10.png|300px|Visão tridimensional da superfície livre em 7.1 segundos após a abertura da comporta com h<sub>r</sub>/hₗ=0.00002]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 10:''' Visão tridimensional da superfície livre em <math>7.1</math> segundos após a abertura da comporta com <math>h_r/h_l=0.00002</math>
|}
Os valores dos níveis são reproduzidos na Tabela 3, com todas as unidades em metros.
{| class="floating_tableSCP wikitable" style="text-align: center; margin: 1em auto;min-width:50%;"
|+ <span id='table-3'></span><math>hr/hl=0.00002</math>
|- style="border-top: 2px solid;"
| style="border-right: 2px solid;" | yx
| style="border-left: 2px solid;" | <math>0</math>
| <math>25</math>
| <math>50</math>
| <math>75</math>
| <math>100</math>
| <math>125</math>
| <math>150</math>
| <math>175</math>
| <math>200</math>
|- style="border-top: 2px solid;"
| style="border-right: 2px solid;" | <math>0</math>
| style="border-left: 2px solid;" | <math>9.9984</math>
| <math>9.9274</math>
| <math>9.1889</math>
| <math>8.4453</math>
| <math>0.0303</math>
| <math>0.8589</math>
| <math>1.2135</math>
| <math>0.0002</math>
| <math>0.0002</math>
|-
| style="border-right: 2px solid;" | <math>25</math>
| style="border-left: 2px solid;" | <math>9.9904</math>
| <math>9.8118</math>
| <math>8.9461</math>
| <math>8.3330</math>
| <math>0.4597</math>
| <math>1.1416</math>
| <math>1.1143</math>
| <math>0.0583</math>
| <math>0.0002</math>
|-
| style="border-right: 2px solid;" | <math>50</math>
| style="border-left: 2px solid;" | <math>9.9789</math>
| <math>9.6532</math>
| <math>8.3391</math>
| <math>7.3257</math>
| <math>5.4764</math>
| <math>3.3378</math>
| <math>1.9742</math>
| <math>0.4390</math>
| <math>0.0002</math>
|-
| style="border-right: 2px solid;" | <math>75</math>
| style="border-left: 2px solid;" | <math>9.9773</math>
| <math>9.6221</math>
| <math>8.1432</math>
| <math>6.9206</math>
| <math>5.6710</math>
| <math>3.7372</math>
| <math>2.1506</math>
| <math>0.6072</math>
| <math>0.0002</math>
|-
| style="border-right: 2px solid;" | <math>100</math>
| style="border-left: 2px solid;" | <math>9.9848</math>
| <math>9.7398</math>
| <math>8.7161</math>
| <math>8.0375</math>
| <math>3.4672</math>
| <math>1.9603</math>
| <math>1.4454</math>
| <math>0.1380</math>
| <math>0.0002</math>
|-
| style="border-right: 2px solid;" | <math>125</math>
| style="border-left: 2px solid;" | <math>9.9969</math>
| <math>9.9163</math>
| <math>9.3453</math>
| <math>8.9770</math>
| <math>0.1084</math>
| <math>0.5429</math>
| <math>0.6798</math>
| <math>0.0058</math>
| <math>0.0002</math>
|-
| style="border-right: 2px solid;" | <math>150</math>
| style="border-left: 2px solid;" | <math>9.9999</math>
| <math>9.9950</math>
| <math>9.8806</math>
| <math>9.6130</math>
| <math>0.0002</math>
| <math>0.0235</math>
| <math>0.0028</math>
| <math>0.0002</math>
| <math>0.0002</math>
|-
| style="border-right: 2px solid;" | <math>175</math>
| style="border-left: 2px solid;" | <math>9.9999</math>
| <math>9.9999</math>
| <math>9.9960</math>
| <math>9.9728</math>
| <math>0.0002</math>
| <math>0.0002</math>
| <math>0.0002</math>
| <math>0.0002</math>
| <math>0.0002</math>
|- style="border-bottom: 2px solid;"
| style="border-right: 2px solid;" | <math>200</math>
| style="border-left: 2px solid;" | <math>10.000</math>
| <math>9.9999</math>
| <math>9.9999</math>
| <math>9.9996</math>
| <math>0.00015</math>
| <math>0.0002</math>
| <math>0.0002</math>
| <math>0.0002</math>
| <math>0.0002</math>
|}
===5.2 Considerações===
Em <span id='citeF-8'></span>[[#cite-8|[8]]], <span id='citeF-12'></span>[[#cite-12|[12]]] e <span id='citeF-11'></span>[[#cite-11|[11]]] são apontadas as dificuldades em lidar com modelo que representam leitos quase secos, devido as possíveis singularidades. O esquema numérico híbrido ''CDS/UDS'' aqui proposto mostrou-se eficaz e com baixo custo computacional para simular escoamentos transientes em águas rasas para leitos quase secos, o que evidencia a acurácia e robustez do esquema.
==6 Escoamento em um reservatório de contenção subterrâneo: uma aplicação do modelo completo==
Os reservatórios subterrâneos são projetados para zonas urbanas populosas, onde não há lugar para armazenar água da chuva. Eles são construídos com uma rede de pilares de sustentação e canais de drenagem na parte inferior, como ilustrado na Fig. ([[#img-11|11]]) <div id='img-11'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:Draft_Coelho_632154385-fig11.png|360px|Reservatório de águas pluviais subterrâneas]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 11:''' Reservatório de águas pluviais subterrâneas
|}
Para testar a solução numérica obtida para as equações completas das águas rasas, analisou-se o fluxo em um reservatório com obstáculos como colunas estruturais, e drenos controlados por saídas estreitas como fendas na barragem. A topografia de fundo foi considerada com inclinações não nulas e com resistência ao escoamento no fundo do canal, com coeficiente de atrito de Manning <math>N = 0.013 m/s^{1/3}</math>, que quantifica a resistência ao escoamento no fundo do canal para superfícies de cimento, apresentado em <span id='citeF-24'></span>[[#cite-24|[24]]]. O fundo tem a presença de canais que conduzem a água pelas aberturas de saída até uma área aberta sem paredes. Pode-se dizer que o problema considerado é uma composição do problema de abertura instantânea de comportas, para leitos molhado/seco, com topografia mais complexa e configuração de domínio. A Fig. ([[#img-12|12]]) representa a configuração do domínio físico. O domínio consiste em um reservatório retangular de <math> 12 m \times 24 m </math> de dimensão com nove pilares de sustentação. <div id='img-12'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:Draft_Coelho_632154385-fig12.png|600px|Domínio físico do reservatório subterrâneo]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 12:''' Domínio físico do reservatório subterrâneo
|}
Como ilustrado na Fig. ([[#img-13|13]]), a parte inferior do reservatório possui dois canais de drenagem com seção trapezoidal e um declive sutil em direção às fendas da barragem. <div id='img-13a'></div>
<div id='img-13b'></div>
<div id='img-13'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:Draft_Coelho_632154385-fig13a.png|471px|representação tridimensional do fundo]]
|[[Image:Draft_Coelho_632154385-fig13b.png|471px|Perfil frontal do fundo do reservatório]]
|- style="text-align: center; font-size: 75%;"
| (a) representação tridimensional do fundo
| (b) Perfil frontal do fundo do reservatório
|- style="text-align: center; font-size: 75%;"
| colspan="2" | '''Figure 13:''' Topografia do fundo do reservatório
|}
As configurações da topografia do fundo são descritas por <math>z_0</math> na Eq.([[#eq-62|62]]).
<span id="eq-62"></span>
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> z_0(x,y,t)= \left\{\begin{array}{lll} 0.2, \,\,\,\,\,\,\,\,\,\,\textrm{se} \,\,\,\,0\leq \,x\,\leq 0.5 \,\,\,\textrm{e}\,\,\,\,0\leq \,y\,\leq 8,\\ \\ 1.2-2x,\,\,\,\,\,\,\,\,\,\,\textrm{se} \,\,\,\,0.5<\,x\,<0.6\,\,\,\textrm{e}\,\,\,\, 0\leq \,y\,\leq 8,\\ \\ 0.0,\,\,\,\,\,\,\,\,\,\,\textrm{se} \,\,\,\,0.6\leq \,x\,\leq 0.9\,\,\,\textrm{e}\,\,\,\, 0\leq \,y\,\leq 8,\\ \\ -1.8+2x,\,\,\,\,\,\,\,\,\,\textrm{se} \,\,\,\,\,0.9<\,x\,<1.0\,\,\,\textrm{e}\,\,\,\, 0\leq \,y\,\leq 8,\\ \\ 0.2, \,\,\,\,\,\,\,\,\,\,\textrm{se} \,\,\,\,1.0\leq \,x\,\leq 11.0\,\,\,\textrm{e}\,\,\,\,0\leq \,y\,\leq 8,\\ \\ 22.0-2x,\,\,\,\,\,\,\,\,\,\,\textrm{se} \,\,\,\,11.0<\,x\,<11.1\,\,\,\textrm{e}\,\,\,\, 0\leq \,y\,\leq 8, \\ \\ 0.0,\,\,\,\,\,\,\,\,\,\,\textrm{se} \,\,\,\,11.1\leq \,x\,\leq 11.4\,\,\,\textrm{e}\,\,\,\, 0\leq \,y\,\leq 8,\\ \\ -22.8+2x\,\,\,\,\,\,\,\,\,\,\,\textrm{se} \,\,\,\,11.4<\,x\,<11.5\,\,\, \textrm{e}\,\,\,\,0\leq \,y\,\leq 8,\\ \\ 0.2, \,\,\,\,\,\,\,\,\,\,\textrm{se} \,\,\,\,11.5\leq \,x\,\leq 12.0\,\,\,\textrm{e}\,\,\,\, 0\leq \,y\,\leq 8,\\ \\ 0.0, \,\,\,\,\,\,\,\,\,\,\textrm{se} \,\,\,\,0\leq \,x\,\leq 12.0\,\,\,\textrm{e}\,\,\,\, 8.15\leq \,y\,\leq 24.\\ \end{array} \right. </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (62)
|}
No reservatório, o nível da água está inicialmente em repouso e tem <math> 2.5\,m</math> de profundidade, enquanto na zona de inundação, há apenas uma camada fina de água, ou seja, “wet condition”, a altura da água é tão pequena quanto possível, como foi testado na Seção 5.1. Neste caso, a razão fixada é <math> h_r / h_l = 0.0002 </math>, como mostrado na Fig. ([[#img-14|14]]). Todas as condições de contorno para o nível da água são as mesmas do problema apresentado na Seção [[#4 |4]]. <div id='img-14'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:Draft_Coelho_632154385-fig14.png|300px|Condições iniciais para o nível da água]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 14:''' Condições iniciais para o nível da água
|}
Com relação aos componentes de velocidade, é necessário dizer que: como as paredes do reservatório, os pilares e paredes laterais do domínio externo são considerados impermeáveis; o fluxo da água que é armazenada no reservatório ocorre apenas nas saídas da parede norte do reservatório e na extremidade norte do domínio externo, como indicado na Fig. ([[#img-12|12]]). Mais precisamente, a componente de velocidade <math>u</math> nas paredes internas leste-oeste e nos contornos internos é nula, enquanto a componente de velocidade <math>v</math> é considerada nula no limite sul e nos limites internos norte-sul. Por outro lado, nos contornos norte-sul para a componente <math>u</math> e nos contornos leste-oeste para o componente <math>v</math> respectivamente, é adotada a condição de Neumann nula, como na Seção [[#4 |4]]. Para o domínio externo, uma vez que existem apenas paredes laterais, o fluxo é livre para todos os pontos da extremidade norte. Essa condição de contorno é descrita pelas expressões:
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> v(x,24,t)=Ch^{\frac{1}{2}}(x,24,t),\,\,\,\,\,\, t\neq 0,\,\,\,\,\,\,0\,\leq \,x\leq \,12, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (63)
|}
{| class="formulaSCP" style="width: 100%; text-align: left;"
|-
|
{| style="text-align: left; margin:auto;width: 100%;"
|-
| style="text-align: center;" | <math> \frac{\partial }{\partial x} u(x,24,t) = 0,\,\,\,\,\,\, 0\,\leq \,x\leq \,12, </math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | (64)
|}
sendo <math>C=1.0(2g)^{\frac{1}{2}}</math> um coeficiente arbitrário, <math>h(m)</math> o nível da água e <math>g(m/s^2)</math> a aceleração da gravidade. Para a simulação computacional do modelo proposto utilizamos uma malha estruturada, de espaçamento <math> \Delta \, x = \Delta y = 0.05\,m, </math> no espaço bidimensional, com intervalo de tempo de <math> \Delta \, t = 0.001\,s</math>. Como há uma topografia especificada na parte inferior do reservatório, é necessário estabelecer uma condição compatível com a física do modelo: se o nível da água atingir o fundo do reservatório, o fluxo será considerado nulo neste ponto. Mais precisamente se, <math> h(x, y, t)> z_0 (x, y, t) </math> os cálculos para <math> h, u, v </math> são feitos para o próximo passo de tempo, caso contrário faz-se: <math> h (x , y, t) = z_0 (x, y, t) </math> e as componentes de velocidade são anuladas neste ponto. O volume de fluido armazenado no interior do reservatório foi calculado em cada ponto de tempo. E foi estabelecido como critério de parada no código, o volume mínimo <math> V = 0.01 \, m^3. </math>
===6.1 Resultados===
Devido às aberturas na parede norte do reservatório, há um declínio no nível da água dentro do reservatório e ondas de elevação no domínio externo, especialmente nas proximidades das aberturas. A Fig. ([[#img-15|15]]) é uma representação em perspectiva da superfície da água em todo o domínio para <math> t = 21 \, s </math> e <math> t = 70 \, s </math> após a abertura das saídas. <div id='img-15a'></div>
<div id='img-15b'></div>
<div id='img-15'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:Draft_Coelho_632154385-fig15a.png|582px|t=21\,s]]
|[[Image:Draft_Coelho_632154385-fig15b.png|582px|t=70\,s]]
|- style="text-align: center; font-size: 75%;"
| (a) <math>t=21\,s</math>
| (b) <math>t=70\,s</math>
|- style="text-align: center; font-size: 75%;"
| colspan="2" | '''Figure 15:''' Visão tridimensional do nível da água após o início do despejo
|}
A representação gráfica do campo vetorial é usada para a análise da intensidade e direção do fluxo, em cada ponto da malha. A Fig. ([[#img-16|16]]) mostra as direções e a intensidade do fluxo nos primeiros <math> 4 \, s </math> do fluxo. Observa-se que a direção do fluxo ocorre de dentro para fora do reservatório, a partir das saídas, com gradientes mais acentuados próximos às aberturas. <div id='img-16a'></div>
<div id='img-16b'></div>
<div id='img-16c'></div>
<div id='img-16d'></div>
<div id='img-16'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:Draft_Coelho_632154385-fig16a.png|474px|t=1\,s]]
|[[Image:Draft_Coelho_632154385-fig16b.png|474px|t=2\,s]]
|- style="text-align: center; font-size: 75%;"
| (a) <math>t=1\,s</math>
| (b) <math>t=2\,s</math>
|-
|[[Image:Draft_Coelho_632154385-fig16c.png|474px|t=3\,s]]
|[[Image:Draft_Coelho_632154385-fig16d.png|474px|t=4\,s]]
|- style="text-align: center; font-size: 75%;"
| (c) <math>t=3\,s</math>
| (d) <math>t=4\,s</math>
|- style="text-align: center; font-size: 75%;"
| colspan="2" | '''Figure 16:''' Campo de velocidade nos primeiros <math>4</math> segundos
|}
Para <math> t = 15 \, s </math> observa-se que ainda não há fluxo na região estreita à frente da parede norte do reservatório, nas seções onde não há aberturas. Por sua vez, nas regiões à frente das aberturas, o fluxo é mais acentuado e o campo de velocidade assume um perfil hiperbólico no domínio externo, como na Fig. ([[#img-17|17]])a. Por outro lado, como mostra a Fig. ([[#img-17|17]])b, a magnitude do vetor velocidade torna-se menos acentuada e mais uniforme, após <math> 70 \, s </math> de simulação do fluxo. <div id='img-17a'></div>
<div id='img-17b'></div>
<div id='img-17'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:Draft_Coelho_632154385-fig17a.png|471px|t=15\,s]]
|[[Image:Draft_Coelho_632154385-fig17b.png|471px|t=70\,s]]
|- style="text-align: center; font-size: 75%;"
| (a) <math>t=15\,s</math>
| (b) <math>t=70\,s</math>
|- style="text-align: center; font-size: 75%;"
| colspan="2" | '''Figure 17:''' Campo de velocidade após o início do despejo
|}
O perfil transversal do nível da água pode ser analisado em um determinado instante de tempo. Na Fig. ([[#img-18|18]]), o perfil <math> h (0,75, y) </math> é representado para <math> t = 10 \, s </math>. Uma inclinação significativa no nível da água é observada na faixa de <math> 8 \, m <y <8.15 \, m </math>, o que era esperado devido à condição inicial descontínua imposta. <div id='img-18'></div>
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 100%;max-width: 100%;"
|-
|[[Image:Draft_Coelho_632154385-fig18.png|240px|Perfil do nível de água em uma linha de amostra em x = 0.75\,m para t = 10\,s ]]
|- style="text-align: center; font-size: 75%;"
| colspan="1" | '''Figure 18:''' Perfil do nível de água em uma linha de amostra em <math>x = 0.75\,m</math> para <math>t = 10\,s</math>
|}
O código implementado foi utilizado para análises como: variação de volume no reservatório em função do tempo, o comportamento do fluxo ao redor dos pilares e na vizinhança das paredes. Em todas essas análises, os resultados obtidos são satisfatórios e consistentes com a física do problema.
==7 Conclusões==
Foi proposto um método de volume finito implícito de <math>1^a</math> ordem com uma discretização híbrida CDS/UDS para resolver as equações completas de águas rasas. O algoritmo mostrou-se capaz de lidar com fortes problemas instáveis como a abertura instantânea de comportas, vazão em topografias não uniformes com condição ''dry/wet'', com e sem condições de saídas. Os resultados mostram boa concordância com a literatura com dinâmica de frente de onda mais complexa. Essas diferenças locais são explicadas devido à ausência de artifício numérico, como a viscosidade artificial, que amortece o comportamento da superfície livre e suaviza as ondas. A formulação numérica proposta tem a vantagem de ser mais fácil de codificar em comparação com aquelas disponíveis na literatura e, além disso, o apelo físico para a conservação de fluxo que é característica do método de volumes finitos, torna-se uma opção com a mesma precisão física, porém simples e rápida para ser implementada. A convergência do método iterativo de Gauss-Seidel, mesmo impondo máximo residual muito pequeno, é obtida com poucas iterações, o que garante baixo custo computacional. Como ferramenta preditiva, o modelo computacional tem mostrado bons resultados desde a configuração simples até a mais complexa, com precisão e robustez. A solução numérica obtida pode ser usada para simular fluxos sobre topografias reais encontradas na natureza.
==8 Declaração de disponibilidade de dados==
Todos os dados, modelos ou códigos gerados ou utilizados durante o estudo estão disponíveis pelo autor correspondente por solicitação. Lista de itens:
* o algoritmo utilizado para obtenção da solução numérica híbrida proposta;
* o arquivo de dados da Tabela 2;
* o arquivo de dados da Tabela 3;
* os dados usados para gerar as figuras.
==Agradecimentos==
Este estudo foi financiado em parte pela Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - Brasil (CAPES) - Finance Code 001. Os autores agradecem também ao Departamento de Matemática da Universidade Tecnológica Federal do Paraná (UTFPR), Campus Campo Mourão e ao Programa de Pós-Graduação em Métodos Numéricos (PPGMNE) da Universidade Federal do Paraná (UFPR).
==9 Referências==
===BIBLIOGRAPHY===
<div id="cite-1"></div>
'''[[#citeF-1|[1]]]''' Imbonden, D. M. (2004) "The Lakes Handbook, Limmnology and Limnectic Ecology". Blackwell Scienc Ltd
<div id="cite-2"></div>
'''[[#citeF-2|[2]]]''' Reynolds, C. (1984) "The ecology of freshwater phytoplankton". Cambridge University Press
<div id="cite-3"></div>
'''[[#citeF-3|[3]]]''' Mahmood, K. and Yevjevich, V. (1975) "Unsteady flow in open channels". Water Resources Publications, 1 th Edition
<div id="cite-4"></div>
'''[[#citeF-4|[4]]]''' Vreugdenhil, C. B. (1994) "Numerical Methods for Shallow-Water flow". Springer Science+Business Media Dordrecht
<div id="cite-5"></div>
'''[[#citeF-5|[5]]]''' García-Navarro, P. and Alcrudo, F. and Priestley, A. (1994) "An implicit method for water flow modelling in channels and pipes", Volume 32. J. Hydraul. Eng. 721–742
<div id="cite-6"></div>
'''[[#citeF-6|[6]]]''' Burguete, J. and García-Navarro, P. (2004) "Implicit schemes with large time step for non-linear equations: Application to river flow hydraulic", Volume 46. Internat. J. Numer. Methods Fluids 607–636
<div id="cite-7"></div>
'''[[#citeF-7|[7]]]''' Cantero-Chinchilla, F. N. and Castro-Orgaz, O. and Dey, S. and Ayuso, J. L. (2016) "Nonhydrostatic Dam Break Flows. I: Physical Equations and Numerical Schemes", Volume 142. J. Hydraul. Eng. 12 1–19
<div id="cite-8"></div>
'''[[#citeF-8|[8]]]''' Soler, J., Bladé, E., Sánchez-Juny, M. (2012) "Ensayo comparativo entre modelos unidimensionales y bidimensionales en la modelización de la rotura de una balsa de materiales sueltos erosionables", Volume 28 (2). Revista International de Métodos Numéricos para Cálculo y Diseño en Ing. 103–105
<div id="cite-9"></div>
'''[[#citeF-9|[9]]]''' Brufau, P., García-Navarro, P., (2000) "Esquemas de alta resolución para resolver las ecuaciones de "shallow water"", Volume 16 (4). Revista International de Métodos Numéricos para Cálculo y Diseño en Ing. 493–512
<div id="cite-10"></div>
'''[[#citeF-10|[10]]]''' Fennema, R. J. and Chaudhry, M.H. (1990) "Explicit Methods for 2-D transient free surface flows", Volume 116. J. Hydraul. Eng. 8 1013–1034
<div id="cite-11"></div>
'''[[#citeF-11|[11]]]''' Nikolos, I.K. and Delis, A.I. (2009) "An unstructured node-centered finite volume scheme for shallow water flows with wet/dry fronts over complex topography", Volume 198. Comput. Methods. Appl. Mech. Engrg 3723–3750
<div id="cite-12"></div>
'''[[#citeF-12|[12]]]''' Valiani, A. and Caleffi, V. and Zanni, A. (2002) "Case Study: Malpasset Dam-Break Simulation using a Two-Dimensional Finite Volume Method", Volume 128. J. Hydraul. Eng. 5 460–472
<div id="cite-13"></div>
'''[[#citeF-13|[13]]]''' Fernández-Pato, J. and Morales-Hernández, M. and García-Navarro, P. (2018) "Implicit finite volume simulation of 2D shallow water flows in flexible meshes", Volume 328. Comput. Methods. Appl. Mech. Engrg 1–25
<div id="cite-14"></div>
'''[[#citeF-14|[14]]]''' Melo, A. R., Gramani, L. M., Kaviski, E. (2018) "High-order CE/SE scheme for dam-break flow simulation", Volume 34 (1). Revista International de Métodos Numéricos para Cálculo y Diseño en Ing. 1–12
<div id="cite-15"></div>
'''[[#citeF-15|[15]]]''' Sheu, T. W. H. and Fang, C. C. (2001) "High resolution finite-element analysis of shallow water equations in two dimensions", Volume 190. Comput. Methods. Appl. Mech. Engrg 2581–2601
<div id="cite-16"></div>
'''[[#citeF-16|[16]]]''' Hirsch, J. J. (2007) "Water Waves: The Mathematical Theory with Applications", Volume. Interscience Publishers, Edition
<div id="cite-17"></div>
'''[[#citeF-17|[17]]]''' Blazek, J. (2001) "Computational fluid dynamics: principles and applications.". Elsevier Science Ltd, 1 th Edition
<div id="cite-18"></div>
'''[[#citeF-18|[18]]]''' Versteeg, H.K. and Malalasekera, W. (2007) "An Introduction to Computational Fluid Dynamics. The finite volume method". Pearson Education Limited, 2 th Edition
<div id="cite-19"></div>
'''[[#citeF-19|[19]]]''' Maliska, C. R. (2013) "Transferência de Calor e Mecânica dos Fluidos Computacional". LTC, 2 th Edition
<div id="cite-20"></div>
'''[[#citeF-20|[20]]]''' Patankar, S. (1980) "Numerical heat transfer and fluid flow". Hemisphere Publishing Corporation, Edition
<div id="cite-21"></div>
'''[[#citeF-21|[21]]]''' Lemos, E. M. D. (2011) "Implementação de um método de volumes finitos de ordem superior com tratamento multibloco aplicado à simulação de escoamentos de fluídos viscoelásticos". UFRJ, Phd. Thesis
<div id="cite-22"></div>
'''[[#citeF-22|[22]]]''' Rezende, R. V. P. and Almeida, R. A. and Souza, A. A. U. and Souza, S. M. A. G. U. (2015) "A two-fluid model with a tensor closure model approach for free surface flow simulations.", Volume 122. Elsevier. Chemical Engineering Science 596–613
<div id="cite-23"></div>
'''[[#citeF-23|[23]]]''' Hirt, C. W. and Nichols, B. D. (1981) "Volume of fluid (VOF) method for the dynamics of free boundaries", Volume 39. ScienceDirect. Journal of Computational Physics 201–225
<div id="cite-24"></div>
'''[[#citeF-24|[24]]]''' Jahanbakhsh, E. and Panahi, R. and Seif, M. S. (2007) "Numerical simulation of three-dimensional interfacial flows.", Volume 17. Int. J. Numer. Methods Heat Fluid Flow 384–404
<div id="cite-25"></div>
'''[[#citeF-25|[25]]]''' Villota, A., Codina, R. (2018) "Approximation of the shallow water equations with higher order finite elements and variational multiscale methods", Volume 34 (1). Revista International de Métodos Numéricos para Cálculo y Diseño en Ing. 1–25
<div id="cite-26"></div>
'''[[#citeF-26|[26]]]''' MacCormack, R. W. (1969) "The effect of viscosity in hypervelocity impact cratering", Volume. American Institutue Aeronautics Astronautics 69–354
<div id="cite-27"></div>
'''[[#citeF-27|[27]]]''' Gabutti, B. (1983) "On two upwind finite-difference schemes for hyperbolic equations in non-conservative form", Volume 11. Comput. Fluids 3 207–230
<div id="cite-28"></div>
'''[[#citeF-28|[28]]]''' Porto, R. M. (2006) "Hidráulica Básica". EESC-USP, 4 th Edition
Return to Coelho et al 2019b.
Published on 02/04/20
Accepted on 30/03/20
Submitted on 20/08/19
Volume 36, Issue 2, 2020
DOI: 10.23967/j.rimni.2020.03.007
Licence: CC BY-NC-SA license
Are you one of the authors of this document?