Skip to content

Instantly share code, notes, and snippets.

@PedroBern
Last active June 22, 2020 11:17
Show Gist options
  • Save PedroBern/5767ea0b401f31c0e97e7878b74f1412 to your computer and use it in GitHub Desktop.
Save PedroBern/5767ea0b401f31c0e97e7878b74f1412 to your computer and use it in GitHub Desktop.
---
title: "A2 - Hidrologia"
author:
- "Pedro Bernardino Alves Moreira - 20142104155"
date: "18/06/2020"
abstract: "Resolução da prova A2 de Hidrologia 2020.1 do professor Moacir Porto na UVA. Deve ser lido em conjunto com a folha de questões. Esse relatório foi calculado e gerado em linguagem de programação *R* com um arquivo *Rmd* que se encontra disponível [**nesse link**](https://gist.github.com/PedroBern/5767ea0b401f31c0e97e7878b74f1412)."
output:
pdf_document:
number_sections: no
header-includes:
- \renewcommand{\abstractname}{Resumo}
- \usepackage{booktabs}
- \usepackage{longtable}
- \usepackage{supertabular}
- \usepackage{array}
- \usepackage{multirow}
- \usepackage{wrapfig}
- \usepackage{colortbl}
- \usepackage{pdflscape}
- \usepackage{tabu}
- \usepackage{threeparttable}
- \usepackage[normalem]{ulem}
- \usepackage{caption}
- \usepackage{floatrow}
- \floatsetup[table]{capposition=top}
- \floatsetup[figure]{capposition=top}
- \captionsetup{options=chunk}
- \DeclareNewFloatType{chunk}{placement=H, fileext=chk, name=}
- \renewcommand{\thechunk}{\arabic{chunk}}
- \usepackage{indentfirst}
- \setlength{\parindent}{20pt}
# - \setlength{\mathindent}{40pt}
---
```{r setup, include=FALSE, cache=F}
# Install libraries, if not already installed
if(!require(knitr)) install.packages("knitr")
if(!require(kableExtra)) install.packages("kableExtra")
# Load libraries
library(knitr)
library(kableExtra)
# Set global options
options(knitr.kable.NA = '')
opts_chunk$set(echo = FALSE, fig.align = 'center', cache=F, prompt=F, highlight=T )
```
\renewcommand{\figurename}{Figura}
\renewcommand{\tablename}{Tabela}
\renewcommand{\contentsname}{Sumário}
\tableofcontents
\newpage
# Questão 1
```{r questao1}
df <- data.frame(
de=c(NA, 35, 40, 45, 50, 55, 60),
ate=c(35, 40, 45, 50, 55, 60, NA),
area=c(80, 130, 140, 150, 250, 210, 40),
pontos=c(1,2,2,3,0,2,2),
A=c(NA, 35, 44.6, 49.4, NA, 59, 63.4),
B=c(NA, 38.6, NA, 48.2, NA, 56.2, NA),
C=c(35, NA, 42.8, 47.8, NA, NA, 61.2),
Calculo=c(
"35",
"(35 + 38.6)/2",
"(44.6 + 42.8)/2",
"(47.8 + 48.2 + 49.4)/3",
"(50 + 55)/2",
"(56.2 + 59)/2",
"(61.2 + 63.4)/2"),
Pm=c(35, 36.8, 43.7, 48.5, 52.5, 57.6, 62.3)
)
colnames(df) <- c("De", "Até", "Área", "Pontos", "A", "B", "C", "Cálculo do Pm" ,"Pm")
rownames(df) <- NULL
# letra A
P <- sum(df$Área * df$Pm)/sum(df$Área)
ano_s <- 60 * 60 * 24 * 365
semana_s <- 60 * 60 * 24 * 7
constant <- ano_s/semana_s
P_ano <- constant * P
# letra B
fator_t <- 0.24
fator_i <- 0.1
Area_ha <- 9.4 * 10^6 # ha
Area_m <- 9.4 * 10^6 * 10^4 # m
P_ano_m <- P_ano * 10^-3 # m
Vp <- P_ano_m * Area_m # m3/ano
Vt <- Vp * fator_t # m3/ano
Vi <- Vp * fator_i # m3/ano
Ve <- Vp - (Vt + Vi) # m3/ano
# letra C
consumo_per_capta_m3_por_hab_s <- 3.2407 * 10^-6 # m3/(hab.s)
consumo_per_capta_m3_por_hab_dia <- consumo_per_capta_m3_por_hab_s * 3600 * 24 # m3/(hab.dia)
populacao <- 512000
consumo_cidade_dia <- populacao * consumo_per_capta_m3_por_hab_dia # m3/dia
# Letra D
Vol_capt <- 0.06 * Ve
```
## Cálculo do $Pm$
```{r tabela1}
kable(
df,
escape = F,
booktabs = T,
caption = "Cálculos iniciais",
linesep = "\\addlinespace",
align = "c",
digits=2
) %>%
kable_styling(latex_options = c("HOLD_position"))
# %>%
# column_spec(8, width = "5cm")
```
## Letra A
$$\overline{P} = \frac{\sum \overline{P_i} \cdot A_i}{A}$$
$$\overline{P}_{semana} = \frac{ \sum \Big[`r df$Área` \Big] \times \Big[`r round(df$Pm, 2)` \Big]}{`r sum(df$Área)`} = `r P` mm/semana$$
$$fator = \frac{ano}{semana} = \frac{`r ano_s`s}{`r semana_s`s} \implies `r constant`$$
$$\therefore$$
$$\overline{P}_{ano} = \overline{P}_{semana} \cdot fator = `r P_ano` mm/ano$$
## Letra B
$$A = 9.4 \times 10^6 ha \implies 9.4 \times 10^6 \times 10^4 m \implies `r Area_m`m^2$$
$$P = `r P_ano` \times 10^{-3} m \implies `r P_ano_m`m$$
$$V_p = A \times P \implies `r Area_m` \times `r P_ano_m` \implies `r Vp` m^3/ano$$
$$V_t = V_p \times `r fator_t` \implies `r Vt` m^3/ano$$
$$V_i = V_p \times `r fator_i` \implies `r Vi` m^3/ano$$
$$V_e = V_p - (V_t + V_i) \implies `r Vp` - (`r Vt` - `r Vi`) \implies `r Ve` m^3/ano$$
## Letra C
$$C_{per\;capta,dia} = `r consumo_per_capta_m3_por_hab_s` \times 60 \times 60 \times 24 \implies `r consumo_per_capta_m3_por_hab_dia` \: m^3/(hab \cdot dia)$$
$$C_{cidade,dia} = população \times C_{per\;capta,dia} \implies `r populacao` \times `r consumo_per_capta_m3_por_hab_dia` \implies `r consumo_cidade_dia` m^3/dia$$
## Letra D
$$C_{cidade,ano} = 365 \times C_{cidade,dia} \implies `r 365 * consumo_cidade_dia` \: m^3/ano$$
$$Vol_{captação,ano} = 0.06 \times V_e \implies 0.06 \times `r Ve` \implies `r Vol_capt` m^3/ano$$
$$Vol_{captação,ano} > C_{cidade,ano} \implies OK$$
Não haverá problema de abastecimento, pois o volume permitido de captação é muito superior ao volume de consumo da população para um mesmo período.
\newpage
# Questão 2
```{r questao2}
total <- 16000
perda <- 0.37
df <- data.frame(
per_capta=c(2.8935, 1.1574, 3.1250, 2.0833),
memorial=c(1, 1/5, 1/100, 7/20)
)
df$per_capta <- df$per_capta * 10^-3 * 3600 # de l/h
df$populacao <- df$memorial * total
df$consumo <- df$per_capta * df$populacao
df$consumo_com_perda <- df$consumo / (1 - perda)
sums <- colSums(df)
df[nrow(df) + 1,] = sums
rownames(df) <- c("Residencias", "Escola", "Hospital", "Outros", "Total")
colnames1 <- c("per_capta", "fracao", "pop", "consumo", "consumo_perda")
colnames2 <- c("Per capta $(l/h)$", "Fração dos habitantes", "População", "Consumo $(l/h)$", "Consumo com perda $(l/h)$")
colnames(df) <- colnames1
R <- 8 #m
D <- 1.5 #m
k <- 9.8 #m/dia
Q <- df["Total",]$consumo_perda * 10^-3 * 24
h2 <- sqrt(Q * log(2*R/D) / (k * pi * (1 - (2/3)^2)))
h1 <- h2 * 2 / 3
profundidade_poco <- 43 #m
pior_epoca <- 12.569 #m
h_pior <- profundidade_poco - pior_epoca
c_min <- h2 - profundidade_poco
```
## Cálculos iniciais
```{r tabela2}
colnames(df) <- colnames2
kable(
df,
escape = F,
booktabs = T,
caption = "Cálculos iniciais",
linesep = "\\addlinespace",
align = "c"
) %>%
kable_styling(latex_options = c("HOLD_position", "scale_down")) %>%
row_spec(nrow(df), bold = TRUE, italic = TRUE)
colnames(df) <- colnames1
```
## Letra A
$$Consumo_{com\;perda} = \frac{\sum per\;capta \times população}{1 - perda} \implies \frac{`r df["Total",]$per_capta` \times `r df["Total",]$pop`}{1 - `r perda`} = `r df["Total",]$consumo_perda` l/h$$
## Letra B
![Esquema do poço com cota mínima do lençol freático](imagem1.jpeg)
$$R = `r R`m$$
$$D = `r D`m$$
$$k = `r k`m$$
$$h_1 = \frac{2}{3}h_2$$
$$Q_{com\;perda} = `r df["Total",]$consumo_perda` l/h \implies `r df["Total",]$consumo_perda * 10^-3 * 24` m^3/dia$$
$$Q = \frac{k \cdot \pi \cdot (h_2^2 - h_1^2)}{ln(\frac{2R}{D})} \Longleftrightarrow h2 = \sqrt{\frac{Q \cdot ln(\frac{2R}{D})}{k \cdot \pi \cdot (1 - \big(\frac{2}{3}\big)^2)}}$$
$$\therefore$$
$$h2 = \sqrt{\frac{`r Q` \cdot ln(\frac{2 \cdot `r R`}{`r D`})}{`r k` \cdot \pi \cdot (1 - \big(\frac{2}{3}\big)^2)}} \implies `r h2`m$$
$$\therefore$$
$$h1 = `r h1`m$$
$$\text{Cota mímima lençol} = h_{lençol} - h_{poço}\implies `r round(h2,2)` - 43 = `r round(c_min,2)`m$$
## Letra C
A cota mínima que o lençol freático pode atingir para suprir a demanda da cidade e ao mesmo tempo cumprir com o limite imposto pelo poder público é de $`r round(c_min,2)`m$. Como nos meses de Julho a Setembro essa cota chega a $`r round(-pior_epoca, 2)`m$, representa risco.
<!-- O prejuizo no abastecimento ocorre caso a lâmina de água chegue a um nível menor do que o nível necessário para suprir a demanda da cidade. No item *B* foi calculado que o nível mínimo para suprir a demanda e se manter dentro da restrição imposta pelo poder público é de $`r round(h1,2)`m\:(h1)$. De acordo com os dados hidrogeológicos a pior cota do lençol é atingida nos meses de *Jul.-Set*, com valor de $`r pior_epoca`m\:(\Delta h)$. Como a profundiade do poço é de $`r profundidade_poco`m\:(h_{poço})$, a cota do nível de água na pior época resulta em $`r h_pior`m \: (h_{poço} - \Delta h)$. **Apesar de ser suficiente para suprir a demanda, não é suficiênte para suprir a demanda e estar de acordo com o limite imposto pelo poder público**, pois $\frac{2}{3}\cdot `r h_pior`$ (limite imposto) é igual a $`r round( h_pior *2/3, 2)`m$, que é menor do que o valor de $h_1$, ou seja, representa risco legal. Esse mesmo raciocínio é apresentado a seguir de forma matemática: -->
<!-- $$h_{poço,max} = `r profundidade_poco`m$$ -->
<!-- $$h_{poço,min} = `r round(h1,2)`m$$ -->
<!-- $$h_{lençol,min} = `r round(h2,2)`m$$ -->
<!-- $$\Delta h = `r pior_epoca`m$$ -->
<!-- $$h_{lençol,jul-set,min} = h_{poço} - \Delta h \implies `r round(h_pior,2)`m$$ -->
<!-- $$h_{poço,min} = `r round(h1,2)`m \implies \text{ Altura mínima para suprir a demanda numericamente}$$ -->
<!-- $$h_{lençol,min} = `r round(h2,2)`m \implies \text{ Suprir a demanda com limite imposto pelo poder público}$$ -->
<!-- $$h_{poço,max} = `r profundidade_poco`m$$ -->
<!-- $$\Delta h = `r pior_epoca`m \implies \text{Diferença em Jul-Set, pior época do ano}$$ -->
<!-- $$h_{jul-set,min} = h_{poço} - \Delta h \implies `r round(h_pior,2)`m$$ -->
<!-- $$h_{jul-set,min,legal} = \frac{2}{3} \cdot h_{jul-set,min} \implies `r round(h_pior*2/3,2)`m$$ -->
<!-- $$Logo,$$ -->
<!-- $$h_{jul-set,min} > h_{min} \implies \text{Supre a demanda}$$ -->
<!-- $$porém,$$ -->
<!-- $$h_{jul-set,min,legal} < h_{min,legal} \implies \text{Não atende o limite imposto pelo poder público, então representa risco legal.}$$ -->
\newpage
# Questão 3
```{r questao3}
df <- data.frame(
area=c(317, 87, 204, 301, 244),
Pm=c(57, 110, 94, 129, 86)
)
df$AxPm <- df$area * df$Pm
sum_area <- sum(df$area)
sum_Pm <- sum(df$Pm)
sum_AxPm <- sum(df$AxPm)
df[nrow(df) + 1,] = c(sum_area, sum_Pm, sum_AxPm)
rownames(df) <- c("A", "B", "C", "D", "E", "Soma")
colnames1 <- c("A", "Pm", "AxPm")
colnames2 <- c("Área de influência $(km^2)$", "Altura da chuva $(mm)$", "$A \\times Pm$ $(km^2 \\cdot mm)$")
colnames(df) <- colnames1
thiesen <- sum_AxPm / sum_area
vol <- sum_area * 10^6 * thiesen * 10^-3
vol <- vol / 10^6
```
## Cálculos iniciais
```{r tabela3}
colnames(df) <- colnames2
kable(
df,
escape = F,
booktabs = T,
caption = "Cálculos iniciais",
linesep = "\\addlinespace",
align = "c"
) %>%
kable_styling(latex_options = c("HOLD_position")) %>%
row_spec(nrow(df), bold = TRUE, italic = TRUE)
colnames(df) <- colnames1
```
## Altura da chuva média pelo método de *polígonos de Thiessen*
$$Pm = \frac{\sum{A \times Pm}}{\sum A}$$
$$Pm = \frac{`r sum_AxPm`}{`r sum_area`} \implies `r thiesen` mm$$
## Desflúvio pluvial pelo método de *polígonos de Thiessen*
$$Vol = \sum A \cdot \sum A \times Pm$$
$$Vol = `r sum_area` \cdot `r thiesen` \cdot `r 1e-06` \implies `r sum_area * thiesen * 1e-06` km^3 \implies `r vol` hm^3$$
\newpage
# Questão 4
```{r questao4}
Tc <- function(L, Dh){57 * (L^3/Dh)^0.385}
Kc <- function(P, A){0.28 * P / sqrt(A)}
Kf <- function(A, L){A / L^2}
df <- data.frame(
A=c(2818, 5357, 1010, 1, 965, 1010 - 1),
B=c(2991, 5850, 960, 1.3, 949, 960 - 1.3)
)
rownames1 <- c("P", "A", "CN", "CF","L", "Dh")
rownames2 <- c("Perímetro $(km)$", "Área $(km^2)$", "Cota nascente $(m)$", "Cota foz $(m)$",
"Comprimento $(m)$", "$\\Delta h$ $(m)$")
rownames(df) <- rownames1
Tc_A <- Tc(df["L",]$A, df["Dh",]$A)
Kc_A <- Kc(df["P",]$A, df["A",]$A)
Kf_A <- Kf(df["A",]$A, df["L",]$A)
Tc_B <- Tc(df["L",]$B, df["Dh",]$B)
Kc_B <- Kc(df["P",]$B, df["A",]$B)
Kf_B <- Kf(df["A",]$B, df["L",]$B)
```
## Conversões de unidade
```{r tabela4}
rownames(df) <- rownames2
kable(
df,
col.names = c("A", "B"),
escape = F,
booktabs = T,
caption = "Conversão das unidades e cálculo do $\\Delta h$.",
linesep = "\\addlinespace",
align = "c"
) %>%
kable_styling(latex_options = c("HOLD_position"))
rownames(df) <- rownames1
```
## $Tc$
$$Tc = 57 \cdot \Bigg(\frac{L^3}{\Delta h}\Bigg) ^{0.385}$$
$$Tc_A = 57 \cdot \Bigg(\frac{`r df["L",]$A`^3}{`r df["Dh",]$A`}\Bigg) ^{0.385} \implies `r Tc_A`$$
$$Tc_B = 57 \cdot \Bigg(\frac{`r df["L",]$B`^3}{`r df["Dh",]$B`}\Bigg) ^{0.385} \implies `r Tc_B`$$
O $Tc$ é **inversamente proporcional** a probabilidade de cheia, logo quanto maior o $Tc$, menor a probabilidade:
$$P_{cheia, T_c}^A < P_{cheia, T_c}^B$$
## $Kc$
$$Kc = 0.28 \cdot \frac{P}{\sqrt{A}}$$
$$Kc_A = 0.28 \cdot \frac{`r df["P",]$A`}{\sqrt{`r df["A",]$A`}} \implies `r Kc_A`$$
$$Kc_B = 0.28 \cdot \frac{`r df["P",]$B`}{\sqrt{`r df["A",]$B`}} \implies `r Kc_B`$$
O $Kc$ é **inversamente proporcional** a probabilidade de cheia, logo quanto maior o $Kc$, menor a probabilidade:
$$P_{cheia, K_c}^A > P_{cheia, K_c}^B$$
## $Kf$
$$Kf = \frac{A}{L^2}$$
$$Kf_A = \frac{`r df["A",]$A`}{`r df["L",]$A`^2} \implies `r Kf_A`$$
$$Kf_B = \frac{`r df["A",]$B`}{`r df["L",]$B`^2} \implies `r Kf_B`$$
O $Kf$ é **proporcional** a probabilidade de cheia, logo quanto maior o $Kf$, maior a probabilidade:
$$P_{cheia, K_f}^A < P_{cheia, K_f}^B$$
\newpage
# Questão 5
```{r questao5}
Pm = 800 # mm/ano
Q = 170 # m3/s
A = 15000 # km2
Pm_ms <- Pm * 10^-3 / (365*24*3600)
A_m <- A * 10^6
Vp <- Pm_ms * A_m
Ev <- Vp - Q
porc <- Ev/Vp
```
$$Pm = `r Pm`mm/ano \implies `r Pm_ms`m^3/s$$
$$A = `r A`km^2 \implies `r A_m`m^2$$
$$Q = `r Q`m^3/s$$
$$V_p = Pm \times A \implies `r Pm_ms` \times `r A_m` \implies `r Vp` m^3/s$$
$$E_v = V_p - Q \implies `r Vp` - `r Q` \implies `r Ev`m^3/s \implies \frac{`r Ev`}{`r Vp`} \implies `r porc`$$
$$E_v = `r round(Ev,2)`m^3/s = `r round(porc * 100,2)`\%$$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment