temperatura_agua <- mean(23, 23) #°C
temperatura_oleo <- mean(23, 23) #°C
load("agua.rda")
massa_picnometro_agua_vazio <- 15.170 / 1000 # kg
massa_picnometro_agua <- 40.111 / 1000 # kg
massa_picnometro_oleo_vazio <- 15.345 / 1000 # kg
massa_picnometro_oleo <- 37.540 / 1000# kg
capac_picnometro <- 25 / 1000000 # m3
# calcular massa dos fluidos
massa_agua <- massa_picnometro_agua - massa_picnometro_agua_vazio
massa_oleo <- massa_picnometro_oleo - massa_picnometro_oleo_vazio
# calcular densidade dos fluidos
densidade_agua <- massa_agua/capac_picnometro
densidade_oleo <- massa_oleo/capac_picnometro
# outros dados gerais
massa_bequer_vazio <- 16.596 / 1000 # kg
volume_limite <- 40 #mL
comp_capilar <- 77 / 100 #m
# Dados da agua
# transformar tudo para o SI
agua$altura <- agua$altura / 100
agua$massa <- agua$massa / 1000
agua$massa <- agua$massa - massa_bequer_vazio
# exibir dados
k(agua)
| medicao | altura | tempo | massa |
|---|---|---|---|
| 1,1 | 0,088 | 37,10 | 0,040133 |
| 1,2 | 0,088 | 37,11 | 0,039052 |
| 2,1 | 0,134 | 28,30 | 0,040900 |
| 2,2 | 0,134 | 27,71 | 0,041016 |
| 3,1 | 0,185 | 22,70 | 0,043610 |
| 3,2 | 0,185 | 22,41 | 0,040929 |
| 3,3 | 0,185 | 23,83 | 0,042732 |
| 4,1 | 0,238 | 18,30 | 0,040321 |
| 4,2 | 0,238 | 19,13 | 0,041844 |
| 5,1 | 0,283 | 16,51 | 0,041078 |
| 5,2 | 0,283 | 16,56 | 0,042029 |
| 6,1 | 0,334 | 14,06 | 0,041642 |
| 6,2 | 0,334 | 14,08 | 0,040389 |
| 7,1 | 0,378 | 11,52 | 0,036924 |
| 7,2 | 0,378 | 13,28 | 0,042571 |
| 7,3 | 0,378 | 12,65 | 0,040062 |
| 7,4 | 0,378 | 12,13 | 0,038137 |
| 8,1 | 0,434 | 11,09 | 0,039332 |
| 8,2 | 0,434 | 11,35 | 0,039660 |
| 9,1 | 0,488 | 10,53 | 0,040852 |
| 9,2 | 0,488 | 10,41 | 0,040578 |
| 10,1 | 0,570 | 8,68 | 0,038551 |
| 10,2 | 0,570 | 9,31 | 0,040446 |
| 10,3 | 0,570 | 8,95 | 0,039844 |
# agrupar dados por altura
agua_agregado <- agua %>%
group_by(altura) %>%
summarise(tempo_medio = mean(tempo) %>% round(2),
massa_media = mean(massa) %>% round(6))
k(agua_agregado)
| altura | tempo_medio | massa_media |
|---|---|---|
| 0,088 | 37,11 | 0,039592 |
| 0,134 | 28,01 | 0,040958 |
| 0,185 | 22,98 | 0,042424 |
| 0,238 | 18,71 | 0,041082 |
| 0,283 | 16,54 | 0,041553 |
| 0,334 | 14,07 | 0,041016 |
| 0,378 | 12,39 | 0,039424 |
| 0,434 | 11,22 | 0,039496 |
| 0,488 | 10,47 | 0,040715 |
| 0,570 | 8,98 | 0,039614 |
# criar variaveis de vazao massica e vazao volumetrica
agua_agregado$vazao_massica <- agua_agregado$massa_media / agua_agregado$tempo_medio # unidade: kg/s, simbolo: w
agua_agregado$vazao_volumetrica <- agua_agregado$vazao_massica / densidade_agua
# calculo da pressao
agua_agregado$dif_pressao <- 9.81 * densidade_agua * agua_agregado$altura
k(agua_agregado)
| altura | tempo_medio | massa_media | vazao_massica | vazao_volumetrica | dif_pressao |
|---|---|---|---|---|---|
| 0,088 | 37,11 | 0,039592 | 0,0010669 | 1,1e-06 | 861,2427 |
| 0,134 | 28,01 | 0,040958 | 0,0014623 | 1,5e-06 | 1.311,4377 |
| 0,185 | 22,98 | 0,042424 | 0,0018461 | 1,9e-06 | 1.810,5670 |
| 0,238 | 18,71 | 0,041082 | 0,0021957 | 2,2e-06 | 2.329,2699 |
| 0,283 | 16,54 | 0,041553 | 0,0025123 | 2,5e-06 | 2.769,6781 |
| 0,334 | 14,07 | 0,041016 | 0,0029151 | 2,9e-06 | 3.268,8074 |
| 0,378 | 12,39 | 0,039424 | 0,0031819 | 3,2e-06 | 3.699,4287 |
| 0,434 | 11,22 | 0,039496 | 0,0035201 | 3,5e-06 | 4.247,4922 |
| 0,488 | 10,47 | 0,040715 | 0,0038887 | 3,9e-06 | 4.775,9820 |
| 0,570 | 8,98 | 0,039614 | 0,0044114 | 4,4e-06 | 5.578,5036 |
# na tabela do çengel, não tem valor de viscosidade dinâmica para 23°C, por isso precisamos interpolar
t = c(20, 25)
u = c(1.002/1000, 0.891/1000)
u_interp = (((u[2] - u[1]) * (23 - t[1]))/(t[2] - t[1])) + u[1] # vazao massica calculada = 0,891 x 10^3
u_interp
## [1] 0.0009354
# para achar R, vamos fazer um gráfico da vazao massica versus DELTA P (diferença de temperatura)
ggplot(agua_agregado, aes(x = dif_pressao, y = vazao_massica)) +
geom_point() + geom_smooth(method = "lm") +
meu_tema() +
labs(x = "Diferença de Pressão (Pa)", y = "Vazão mássica (kg)") +
annotate("text", x = 1500, y = 0.0035, parse = TRUE, size = 3, hjust = 0.25,
label = lm.equation(lm(vazao_massica ~ dif_pressao, data = agua_agregado),
digits = 10, digitsR2 = 4))
ggsave(filename = "agua-pressao x vazao.png")
A inclinação da reta corresponde ao coeficiente da a na equação y = ax + b. Para achar esse valor, é feita uma regressão linear:
reg_linear <- lm(vazao_massica ~ dif_pressao, data = agua_agregado)
reg_linear$coefficients
## (Intercept) dif_pressao
## 5.447046e-04 7.031589e-07
tangente <- unname(reg_linear$coefficients[2])
# agora já podemos achar o R
R_numerador <- 8 * u_interp * comp_capilar * tangente
R_denominador <- pi * densidade_agua
R <- (R_numerador / R_denominador)^(1/4) # achamos o R: 0,001066294 m
R
## [1] 0.001066294
# calcular tensão de cisalhamento
agua_agregado$tensao_cisalhamento <- agua_agregado$dif_pressao * R/(2 * comp_capilar)
# calcular taxa de cisalhamento
agua_agregado %<>% mutate(taxa_cisalhamento = (4 * vazao_volumetrica) / (R^3 * pi))
k(agua_agregado)
| altura | tempo_medio | massa_media | vazao_massica | vazao_volumetrica | dif_pressao | tensao_cisalhamento | taxa_cisalhamento |
|---|---|---|---|---|---|---|---|
| 0,088 | 37,11 | 0,039592 | 0,0010669 | 1,1e-06 | 861,2427 | 0,5963233 | 1.123,109 |
| 0,134 | 28,01 | 0,040958 | 0,0014623 | 1,5e-06 | 1.311,4377 | 0,9080377 | 1.539,327 |
| 0,185 | 22,98 | 0,042424 | 0,0018461 | 1,9e-06 | 1.810,5670 | 1,2536342 | 1.943,421 |
| 0,238 | 18,71 | 0,041082 | 0,0021957 | 2,2e-06 | 2.329,2699 | 1,6127834 | 2.311,443 |
| 0,283 | 16,54 | 0,041553 | 0,0025123 | 2,5e-06 | 2.769,6781 | 1,9177215 | 2.644,675 |
| 0,334 | 14,07 | 0,041016 | 0,0029151 | 2,9e-06 | 3.268,8074 | 2,2633179 | 3.068,772 |
| 0,378 | 12,39 | 0,039424 | 0,0031819 | 3,2e-06 | 3.699,4287 | 2,5614796 | 3.349,614 |
| 0,434 | 11,22 | 0,039496 | 0,0035201 | 3,5e-06 | 4.247,4922 | 2,9409580 | 3.705,661 |
| 0,488 | 10,47 | 0,040715 | 0,0038887 | 3,9e-06 | 4.775,9820 | 3,3068837 | 4.093,673 |
| 0,570 | 8,98 | 0,039614 | 0,0044114 | 4,4e-06 | 5.578,5036 | 3,8625486 | 4.643,845 |
# gráfico da tensao de cisalhamento vs taxa de cisalhamento
ggplot(agua_agregado, aes(y = tensao_cisalhamento, x = taxa_cisalhamento)) +
geom_point() + geom_smooth(method = "lm") +
meu_tema() +
labs(x = "Taxa de Cisalhamento (1/s)", y = "Tensão de cisalhamento (kg/(m x s²))") +
annotate("text", x = 1500, y = 3.5, parse = TRUE, size = 3, hjust = 0.25,
label = lm.equation(lm(tensao_cisalhamento ~ taxa_cisalhamento,
data = agua_agregado),
digits = 9, digitsR2 = 4))
ggsave("agua-taxa vs tensao.png")
# existe um relacionamento linear, portanto é possível calcular a viscosidade do fluid
reg_linear <- lm(tensao_cisalhamento ~ taxa_cisalhamento, data = agua_agregado)
reg_linear
##
## Call:
## lm(formula = tensao_cisalhamento ~ taxa_cisalhamento, data = agua_agregado)
##
## Coefficients:
## (Intercept) taxa_cisalhamento
## -0.5317456 0.0009338
u_calculada_agua <- unname(reg_linear$coefficients[2])
# calcular o erro
abs(u_calculada_agua - u_interp)
## [1] 1.626671e-06
abs((u_calculada_agua - u_interp)/u_interp)*100
## [1] 0.1739011
# cálculo da velocidade média
agua_agregado %<>% mutate(velocidade_media = dif_pressao * R^2/(8 * u_calculada_agua * comp_capilar))
Para analisar o perfil do escoamento no experimento da água e do óleo, o número de Reynolds foi calculado para cada uma das alturas.
agua_agregado %<>% mutate(reynolds = densidade_agua * velocidade_media * R * 2/u_calculada_agua)
agua_agregado$reynolds
## [1] 387.8793 590.6344 815.4281 1049.0372 1247.3846 1472.1783 1666.1180
## [8] 1912.9502 2150.9671 2512.4001
k(agua_agregado)
| altura | tempo_medio | massa_media | vazao_massica | vazao_volumetrica | dif_pressao | tensao_cisalhamento | taxa_cisalhamento | velocidade_media | reynolds |
|---|---|---|---|---|---|---|---|---|---|
| 0,088 | 37,11 | 0,039592 | 0,0010669 | 1,1e-06 | 861,2427 | 0,5963233 | 1.123,109 | 0,1702383 | 387,8793 |
| 0,134 | 28,01 | 0,040958 | 0,0014623 | 1,5e-06 | 1.311,4377 | 0,9080377 | 1.539,327 | 0,2592265 | 590,6344 |
| 0,185 | 22,98 | 0,042424 | 0,0018461 | 1,9e-06 | 1.810,5670 | 1,2536342 | 1.943,421 | 0,3578873 | 815,4281 |
| 0,238 | 18,71 | 0,041082 | 0,0021957 | 2,2e-06 | 2.329,2699 | 1,6127834 | 2.311,443 | 0,4604172 | 1.049,0372 |
| 0,283 | 16,54 | 0,041553 | 0,0025123 | 2,5e-06 | 2.769,6781 | 1,9177215 | 2.644,675 | 0,5474709 | 1.247,3846 |
| 0,334 | 14,07 | 0,041016 | 0,0029151 | 2,9e-06 | 3.268,8074 | 2,2633179 | 3.068,772 | 0,6461317 | 1.472,1783 |
| 0,378 | 12,39 | 0,039424 | 0,0031819 | 3,2e-06 | 3.699,4287 | 2,5614796 | 3.349,614 | 0,7312509 | 1.666,1180 |
| 0,434 | 11,22 | 0,039496 | 0,0035201 | 3,5e-06 | 4.247,4922 | 2,9409580 | 3.705,661 | 0,8395843 | 1.912,9502 |
| 0,488 | 10,47 | 0,040715 | 0,0038887 | 3,9e-06 | 4.775,9820 | 3,3068837 | 4.093,673 | 0,9440488 | 2.150,9671 |
| 0,570 | 8,98 | 0,039614 | 0,0044114 | 4,4e-06 | 5.578,5036 | 3,8625486 | 4.643,845 | 1,1026799 | 2.512,4001 |
# os dois últimos valores deram > 2100. precisamos então desconsiderá-los e recalcular
# a viscosidade dinâmica da água
agua_agregado <- subset(agua_agregado, reynolds < 2100)
# gráfico da tensao de cisalhamento vs taxa de cisalhamento
ggplot(agua_agregado, aes(y = tensao_cisalhamento, x = taxa_cisalhamento)) +
geom_point() + geom_smooth(method = "lm") +
meu_tema() +
labs(x = "Taxa de Cisalhamento (1/s)", y = "Tensão de cisalhamento (kg/(m x s²))") +
annotate("text", x = 1500, y = 3.5, parse = TRUE, size = 3, hjust = 0.25,
label = lm.equation(lm(tensao_cisalhamento ~ taxa_cisalhamento,
data = agua_agregado),
digits = 9, digitsR2 = 4))
ggsave("agua-taxa vs tensao.png")
# refazer regressao
reg_linear <- lm(tensao_cisalhamento ~ taxa_cisalhamento, data = agua_agregado)
reg_linear
##
## Call:
## lm(formula = tensao_cisalhamento ~ taxa_cisalhamento, data = agua_agregado)
##
## Coefficients:
## (Intercept) taxa_cisalhamento
## -0.4746885 0.0009068
u_calculada_agua2 <- unname(reg_linear$coefficients[2])
# calcular o erro
abs(u_calculada_agua2 - u_interp)
## [1] 2.857565e-05
abs((u_calculada_agua2 - u_interp)/u_interp)*100
## [1] 3.054913
# transformar tudo para o SI
oleo$altura <- oleo$altura / 100
oleo$massa <- oleo$massa / 1000
# calcular a massa real do oleo
oleo$massa <- oleo$massa - massa_bequer_vazio
k(oleo)
| medicao | altura | tempo | massa |
|---|---|---|---|
| 1,1 | 0,088 | 277,77 | 0,012064 |
| 1,2 | 0,088 | 295,53 | 0,013959 |
| 2,1 | 0,134 | 151,80 | 0,012218 |
| 2,2 | 0,134 | 165,32 | 0,013106 |
| 3,1 | 0,185 | 118,37 | 0,010111 |
| 3,2 | 0,185 | 110,74 | 0,013130 |
| 4,1 | 0,238 | 90,14 | 0,013736 |
| 4,2 | 0,238 | 85,12 | 0,012817 |
| 5,1 | 0,283 | 74,80 | 0,013218 |
| 5,2 | 0,283 | 75,27 | 0,013630 |
| 6,1 | 0,334 | 59,33 | 0,012789 |
| 6,2 | 0,334 | 60,04 | 0,012796 |
| 7,1 | 0,378 | 51,67 | 0,012895 |
| 7,2 | 0,378 | 53,32 | 0,013654 |
| 8,1 | 0,434 | 44,64 | 0,012849 |
| 8,2 | 0,434 | 45,45 | 0,013329 |
| 9,1 | 0,488 | 43,44 | 0,014174 |
| 9,2 | 0,488 | 42,72 | 0,014076 |
| 10,1 | 0,570 | 37,42 | 0,013928 |
| 10,2 | 0,570 | 36,58 | 0,014026 |
### fazer gráfico de pontos com media, minimo e maximo de cada medição
oleo_agregado <- oleo %>%
group_by(altura) %>%
summarise(tempo_medio = mean(tempo) %>% round(2),
massa_media = mean(massa) %>% round(6))
k(oleo_agregado)
| altura | tempo_medio | massa_media |
|---|---|---|
| 0,088 | 286,65 | 0,013012 |
| 0,134 | 158,56 | 0,012662 |
| 0,185 | 114,56 | 0,011620 |
| 0,238 | 87,63 | 0,013277 |
| 0,283 | 75,03 | 0,013424 |
| 0,334 | 59,69 | 0,012792 |
| 0,378 | 52,50 | 0,013274 |
| 0,434 | 45,05 | 0,013089 |
| 0,488 | 43,08 | 0,014125 |
| 0,570 | 37,00 | 0,013977 |
# criar variáveis de vazão mássica e vazão volumétrica
oleo_agregado$vazao_massica <- oleo_agregado$massa_media / oleo_agregado$tempo_medio # unidade: kg/s, simbolo: w
oleo_agregado$vazao_volumetrica <- oleo_agregado$vazao_massica / densidade_oleo
# cálculo da pressão
oleo_agregado$dif_pressao <- 9.81 * densidade_oleo * oleo_agregado$altura
k(oleo_agregado)
| altura | tempo_medio | massa_media | vazao_massica | vazao_volumetrica | dif_pressao |
|---|---|---|---|---|---|
| 0,088 | 286,65 | 0,013012 | 0,0000454 | 1e-07 | 766,420 |
| 0,134 | 158,56 | 0,012662 | 0,0000799 | 1e-07 | 1.167,049 |
| 0,185 | 114,56 | 0,011620 | 0,0001014 | 1e-07 | 1.611,224 |
| 0,238 | 87,63 | 0,013277 | 0,0001515 | 2e-07 | 2.072,818 |
| 0,283 | 75,03 | 0,013424 | 0,0001789 | 2e-07 | 2.464,737 |
| 0,334 | 59,69 | 0,012792 | 0,0002143 | 2e-07 | 2.908,912 |
| 0,378 | 52,50 | 0,013274 | 0,0002528 | 3e-07 | 3.292,122 |
| 0,434 | 45,05 | 0,013089 | 0,0002905 | 3e-07 | 3.779,844 |
| 0,488 | 43,08 | 0,014125 | 0,0003279 | 4e-07 | 4.250,147 |
| 0,570 | 37,00 | 0,013977 | 0,0003778 | 4e-07 | 4.964,311 |
# Como o óleo é de natureza desconhecida, ele não tem valor tabela de viscosidade dinâmica
# O R JÁ FOI ENCONTRADO NA PARTE SOBRE A ÁGUA
R
## [1] 0.001066294
# calcular tensão de cisalhamento
oleo_agregado$tensao_cisalhamento <- oleo_agregado$dif_pressao * R/(2 * comp_capilar)
# calcular taxa de cisalhamento
oleo_agregado %<>% mutate(taxa_cisalhamento = (4 * vazao_volumetrica) / (R^3 * pi))
k(oleo_agregado, d = 10)
| altura | tempo_medio | massa_media | vazao_massica | vazao_volumetrica | dif_pressao | tensao_cisalhamento | taxa_cisalhamento |
|---|---|---|---|---|---|---|---|
| 0,088 | 286,65 | 0,013012 | 0,0000453933 | 5,110e-08 | 766,420 | 0,5306682 | 53,69776 |
| 0,134 | 158,56 | 0,012662 | 0,0000798562 | 8,990e-08 | 1.167,049 | 0,8080629 | 94,46540 |
| 0,185 | 114,56 | 0,011620 | 0,0001014316 | 1,143e-07 | 1.611,224 | 1,1156093 | 119,98784 |
| 0,238 | 87,63 | 0,013277 | 0,0001515120 | 1,707e-07 | 2.072,818 | 1,4352163 | 179,23022 |
| 0,283 | 75,03 | 0,013424 | 0,0001789151 | 2,015e-07 | 2.464,737 | 1,7065807 | 211,64650 |
| 0,334 | 59,69 | 0,012792 | 0,0002143073 | 2,414e-07 | 2.908,912 | 2,0141270 | 253,51343 |
| 0,378 | 52,50 | 0,013274 | 0,0002528381 | 2,848e-07 | 3.292,122 | 2,2794611 | 299,09325 |
| 0,434 | 45,05 | 0,013089 | 0,0002905438 | 3,273e-07 | 3.779,844 | 2,6171590 | 343,69702 |
| 0,488 | 43,08 | 0,014125 | 0,0003278784 | 3,693e-07 | 4.250,147 | 2,9427963 | 387,86167 |
| 0,570 | 37,00 | 0,013977 | 0,0003777568 | 4,255e-07 | 4.964,311 | 3,4372826 | 446,86500 |
# gráfico da tensao de cisalhamento vs taxa de cisalhamento
ggplot(oleo_agregado, aes(x = taxa_cisalhamento, y = tensao_cisalhamento)) +
geom_point() + geom_smooth(method = "lm") +
meu_tema() +
labs(x = "Taxa de Cisalhamento (1/s)", y = "Tensão de cisalhamento (kg/(m x s²))") +
annotate("text", x = 100, y = 3, parse = TRUE, size = 3, hjust = 0.25,
label = lm.equation(lm(tensao_cisalhamento ~ taxa_cisalhamento,
data = oleo_agregado),
digits = 9, digitsR2 = 4))
ggsave("oleo-taxa vs tensao.png")
# existe um relacionamento linear, portanto é possível calcular a viscosidade do fluid
reg_linear <- lm(tensao_cisalhamento ~ taxa_cisalhamento, data = oleo_agregado)
reg_linear$coefficients
## (Intercept) taxa_cisalhamento
## 0.160866417 0.007229238
u_calculada_oleo <- unname(reg_linear$coefficients[2])
u_calculada_oleo
## [1] 0.007229238
# cálculo da velocidade média
oleo_agregado %<>% mutate(velocidade_media = dif_pressao * R^2/(8 * u_calculada_oleo * comp_capilar))
# diferença entre óleo e água
u_calculada_oleo/u_calculada_agua # o óleo é quase 8 vezes mais viscoso que a água
## [1] 7.741963
# salvar arquivo
write.csv2(oleo_agregado, "oleo_agg.csv")
oleo_agregado %<>% mutate(reynolds = densidade_oleo * velocidade_media * R * 2/u_calculada_oleo)
k(oleo_agregado)
| altura | tempo_medio | massa_media | vazao_massica | vazao_volumetrica | dif_pressao | tensao_cisalhamento | taxa_cisalhamento | velocidade_media | reynolds |
|---|---|---|---|---|---|---|---|---|---|
| 0,088 | 286,65 | 0,013012 | 0,0000454 | 1e-07 | 766,420 | 0,5306682 | 53,69776 | 0,0195680 | 5,124802 |
| 0,134 | 158,56 | 0,012662 | 0,0000799 | 1e-07 | 1.167,049 | 0,8080629 | 94,46540 | 0,0297968 | 7,803675 |
| 0,185 | 114,56 | 0,011620 | 0,0001014 | 1e-07 | 1.611,224 | 1,1156093 | 119,98784 | 0,0411374 | 10,773731 |
| 0,238 | 87,63 | 0,013277 | 0,0001515 | 2e-07 | 2.072,818 | 1,4352163 | 179,23022 | 0,0529227 | 13,860259 |
| 0,283 | 75,03 | 0,013424 | 0,0001789 | 2e-07 | 2.464,737 | 1,7065807 | 211,64650 | 0,0629291 | 16,480896 |
| 0,334 | 59,69 | 0,012792 | 0,0002143 | 2e-07 | 2.908,912 | 2,0141270 | 253,51343 | 0,0742696 | 19,450951 |
| 0,378 | 52,50 | 0,013274 | 0,0002528 | 3e-07 | 3.292,122 | 2,2794611 | 299,09325 | 0,0840537 | 22,013352 |
| 0,434 | 45,05 | 0,013089 | 0,0002905 | 3e-07 | 3.779,844 | 2,6171590 | 343,69702 | 0,0965061 | 25,274590 |
| 0,488 | 43,08 | 0,014125 | 0,0003279 | 4e-07 | 4.250,147 | 2,9427963 | 387,86167 | 0,1085137 | 28,419354 |
| 0,570 | 37,00 | 0,013977 | 0,0003778 | 4e-07 | 4.964,311 | 3,4372826 | 446,86500 | 0,1267476 | 33,194738 |