Skip to content

Instantly share code, notes, and snippets.

@PedroBern
Created June 17, 2020 22:21
Show Gist options
  • Save PedroBern/a351b798003c01d54e73389a9f417f4a to your computer and use it in GitHub Desktop.
Save PedroBern/a351b798003c01d54e73389a9f417f4a to your computer and use it in GitHub Desktop.
---
title: "A2 Concreto Protendido e Pré Moldado"
abstract: "O presente trabalho faz a especificação e memória de cálculo de lajes pré-moldadas, inclui também o esquema de cálculo de vãos e cargas das vigas e a carga que chega nas fundações para o galpão especificado. Esse relatório foi calculado e gerado de forma automatizado em um arquivo Rmd, disponível [**nesse link**](https://gist.github.com/PedroBern/a351b798003c01d54e73389a9f417f4a)."
author: |
| Pedro Bernardino Alves Moreira - 20142104155
| Ygor Garcia Moreira - 20151109365
date: "27/05/2020"
output:
pdf_document:
number_sections: yes
toc_depth: 2
# classoption: fleqn
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}
# - \usepackage{sectsty} \sectionfont{\centering}
---
```{r setup, include=FALSE, cache=F}
# Install libraries, if not already installed
if(!require(tidyverse)) install.packages("tidyverse")
if(!require(knitr)) install.packages("knitr")
if(!require(kableExtra)) install.packages("kableExtra")
if(!require(dplyr)) install.packages("dplyr")
if(!require(tidyr)) install.packages("tidyr")
# Load libraries
library(tidyverse)
library(knitr)
library(kableExtra)
library(dplyr)
library(tidyr)
# Set global options
options(pillar.sigfig = 5)
options(knitr.kable.NA = '')
opts_knit$set(eval.after = "fig.cap")
opts_chunk$set(echo = FALSE, fig.align = 'center', cache=F, prompt=F, highlight=T )
```
\renewcommand{\figurename}{Figura}
\renewcommand{\tablename}{Tabela}
\renewcommand{\contentsname}{Sumário}
\renewcommand{\listtablename}{Lista de tabelas}
\newpage
\tableofcontents
\listoftables
\newpage
# Introdução
O presente trabalho faz a especificação e memória de cálculo de lajes alveolares, inclui também o esquema de cálculo de vãos e cargas das vigas, e a carga que chega nas fundações para o galpão especificado pelo professor da disciplina.
## Dados
Dados do projeto fornecidos no enunciado.
```{r tabela-dados}
dados <- data.frame(grupo=c(9), rev=c(0.6), piso=c(5.5), ca=c(2), ponte=c(45))
header = c(
"Grupo",
"Revestimento (A)",
"Piso elevado +\nEquipamentos (B)",
"Sobrecarga\n acidental (C)",
"Ponte rolante\n(carga + peso próprio)")
kable(
dados,
col.names = c("", "$kN/m^2$", "$kN/m^2$", "$kN/m^2$", "$kN$"),
escape = F,
booktabs = T,
caption = "Dados do projeto",
linesep = "\\addlinespace",
align = "c"
) %>%
add_header_above(header = header, line = F, align = "c") %>%
kable_styling(latex_options = c("HOLD_position"))
```
\newpage
# Definição dos modelos de lajes
O dimensionamento das lajes alveoláres foi realizado com as tabelas disponíveis no slide da aula 5 forncecido pelo professor. O dimensionamento foi separado em duas etapas:
- Menor vão: LP12 e LP13.
- Maior vão: todas as outras lajes.
## Sobrecarga inicial
```{r lajes-sobrecarga}
Q_inicial <- dados$rev + dados$ca + dados$piso
```
Sobrecarga calculado de acordo com os dados fornecidos.
$$ Q_{inicial} = A + B + C \therefore `r dados$rev` + `r dados$piso` + `r dados$ca` \implies `r Q_inicial` kN/m^2$$
## Definição dos modelos
### Menor vão
![Esquema das lajes](laje1.jpg)
```{r lajes-menor}
l0 <- 3.4 # m
t1 <- 0.3 # m
t2 <- 0.3 # m
ht <- 0.16 # arbitrado, m
a1 <- min(t1/2, 0.3 * ht)
a2 <- min(t2/2, 0.3 * ht)
l_ef <- l0 + a1 + a2
```
- CONFERIR VALOR DE L0, T1, T2 NO DWG
$$l_0 = `r l0`m $$
$$t_1 = `r t1`m $$
$$t_2 = `r t2`m $$
$$ht = `r ht`m $$
$$a_1 \leqslant \begin{cases}
\frac{t_1}{2} = `r t2/2`m\\
0.3Ht = `r ht * 0.3`m
\end{cases} \implies `r a1`m$$
$$a_2 \leqslant \begin{cases}
\frac{t_2}{2} = `r t2/2`m\\
0.3Ht = `r ht * 0.3`m
\end{cases} \implies `r a2`m$$
$$l_{ef} = l_0 + a_1 + a_2 \implies `r l_ef`m $$
```{r q-menor}
pp <- 3.20
Q <- Q_inicial + pp
modelos <- data.frame(
ids=c("12, 13"),
modelo=c("PA1209606"),
pp=c(pp),
h=c(ht*100),
Q=c(Q),
L=c(l_ef),
C=c(10.5),
stringsAsFactors=FALSE)
```
A solução adotada foi a **Laje PA1209606** com capa e peso prórprio de $`r pp` kN/m^2$, altura total de $`r ht * 100` cm$.
### Maior vão
![Esquema das lajes](laje2.jpg)
```{r lajes-maior}
l0 <- 10.5 # m
t1 <- 0.3 # m
t2 <- 0.3 # m
ht <- 0.35 # arbitrado, m
a1 <- min(t1/2, 0.3 * ht)
a2 <- min(t2/2, 0.3 * ht)
l_ef <- l0 + a1 + a2
```
- CONFERIR VALOR DE L0, T1, T2 NO DWG
$$l_0 = `r l0`m $$
$$t_1 = `r t1`m $$
$$t_2 = `r t2`m $$
$$ht = `r ht`m $$
$$a_1 \leqslant \begin{cases}
\frac{t_1}{2} = `r t2/2`m\\
0.3Ht = `r ht * 0.3`m
\end{cases} \implies `r a1`m$$
$$a_2 \leqslant \begin{cases}
\frac{t_2}{2} = `r t2/2`m\\
0.3Ht = `r ht * 0.3`m
\end{cases} \implies `r a2`m$$
$$l_{ef} = l_0 + a_1 + a_2 \implies `r l_ef`m $$
```{r q-maior}
pp <- 5.20
Q <- Q_inicial + pp
modelos[nrow(modelos) + 1,] = c(
"4, 5, 6, 9, 10, 11","PE3012709", pp, ht*100, Q, l_ef, 10.5 * 2)
modelos[nrow(modelos) + 1,] = c(
"1, 2, 3, 7, 8","PE3012709", pp, ht*100, Q, l_ef, 17.60)
```
A solução adotada foi a **Laje PE3012709** com capa e peso prórprio de $`r pp` kN/m^2$, altura total de $`r ht * 100` cm$.
## Modelos adotados
```{r modelos-lajes}
header = c(
"Lajes"=1,
"Modelo"=1,
"$\\pp$"=1,
"$\\h$"=1,
"$\\Q$"=1,
"$\\l_{ef}$"=1,
"Comprimento"=1)
kable(
modelos,
col.names = c("", "", "$kN/m^2$", "$cm$", "$kN/m^2$", "$m$", "m"),
escape = F,
booktabs = T,
caption = "Modelos adotados de lajes",
linesep = "\\addlinespace",
align = "c"
) %>%
add_header_above(header = header, line = F, align = "c", escape=F) %>%
kable_styling(latex_options = c("HOLD_position")) %>%
add_footnote(c(
"$Q = Q_{inicial} + pp_{laje}$"
), notation = "none", escape = F)
```
\newpage
# Cálculo das reações de apoio das lajes
As reações de apoio das lajes foram calculadas para três casos, definidos a seguir:
- Vão de $3.4m$
- Vão de $10.5m$
- Vão de $9.35m$
```{r carga_vigas}
# são 8 vigas
q_vigas <- c(0, 0, 0, 0, 0, 0, 0, 0)
```
## Vão de $3.4m$
<!-- ![Esquema das lajes](laje1.jpg) -->
```{r apoio-menor}
L2 <- 10.5 # m
L1 <- 3.4 # m
a_laje <- L1 * L2
R <- a_laje * Q
R_viga <- R/2
q <- Q * L1 / 2
q_lateral <- 0.25 * Q * L2 / 2
q_vigas[8]<- q
q_vigas[1] <- q_lateral
```
- CONFERIR L1, L2 NO DWG
$$Q = Q_{pp} + Q_{inicial} \therefore `r pp` + `r Q_inicial` \implies `r Q`kN/m^2$$
$$L_1 = `r L1`m$$
$$L_2 = `r L2`m$$
<!-- $$A_{laje} = L_1 \times L_2 \implies`r a_laje`m^2$$ -->
<!-- $$R = Q \times A_{Laje} \therefore `r Q` \times `r a_laje` \implies `r R`kN$$ -->
<!-- $$R_{viga} = R/2 \implies `r R_viga`kN$$ -->
$$q = QL_1/2 \therefore `r Q`\times `r L1`/2 \implies `r q` kN/m$$
$$q_{lateral} = 0.25QL_2/2 \therefore 0.25 \times`r Q`\times`r L2`/2 \implies `r q_lateral` kN/m$$
## Vão de $10.5m$
<!-- ![Esquema das lajes](laje4.jpg) -->
```{r apoio-maior}
L2 <- 10.5 # m
L1 <- 10.5 # m
a_laje <- L1 * L2
R <- a_laje * Q
R_viga <- R/2
q <- Q * L1 / 2
q_lateral <- 0.25 * Q * L2 / 2
q_vigas[3] <- q
q_vigas[7] <- q_lateral
```
- CONFERIR L1, L2 NO DWG
$$Q = Q_{pp} + Q_{inicial} \therefore `r pp` + `r Q_inicial` \implies `r Q`kN/m^2$$
$$L_1 = `r L1`m$$
$$L_2 = `r L2`m$$
<!-- $$A_{laje} = L_1 \times L_2 \implies`r a_laje`m^2$$ -->
<!-- $$R = Q \times A_{Laje} \therefore `r Q` \times `r a_laje` \implies `r R`kN$$ -->
<!-- $$R_{viga} = R/2 \implies `r R_viga`kN$$ -->
$$q = QL_1/2 \therefore `r Q`\times `r L1`/2 \implies `r q` kN/m$$
$$q_{lateral} = 0.25QL_2/2 \therefore 0.25 \times`r Q`\times`r L2`/2 \implies `r q_lateral` kN/m$$
## Vão de $9.35m$
<!-- ![Esquema das lajes](laje5.jpg) -->
```{r apoio-maior-3}
L2 <- 7.1 # m
L1 <- 9.35 # m
a_laje <- L1 * L2
R <- a_laje * Q
R_viga <- R/2
q <- Q * L1 / 2
q_lateral <- 0.25 * Q * L2 / 2
q_vigas[8] <- q_vigas[8] + q_lateral
q_vigas[2] <- q
q_vigas[4] <- q
q_vigas[5] <- q
```
- CONFERIR L1, L2 NO DWG
$$Q = Q_{pp} + Q_{inicial} \therefore `r pp` + `r Q_inicial` \implies `r Q`kN/m^2$$
$$L_1 = `r L1`m$$
$$L_2 = `r L2`m$$
<!-- $$A_{laje} = L_1 \times L_2 \implies`r a_laje`m^2$$ -->
<!-- $$R = Q \times A_{Laje} \therefore `r Q` \times `r a_laje` \implies `r R`kN$$ -->
<!-- $$R_{viga} = R/2 \implies `r R_viga`kN$$ -->
$$q = QL_1/2 \therefore `r Q`\times `r L1`/2 \implies `r q` kN/m$$
$$q_{lateral} = 0.25QL_2/2 \therefore 0.25 \times`r Q`\times`r L2`/2 \implies `r q_lateral` kN/m$$
\newpage
# Vigas
O projeto possui $8$ tipos de vigas diferentes apresentadas na tabela \ref{tab:tipos-vigas}. Todas as vigas são biapoiadas e o momento máximo ocorre no meio do vão, logo todos os momentos fletores máximos foram calculados com a seguinte equação:
$$M_{max}^+ = \frac{Q \cdot l_{vão}^2}{8}$$
Para a situação de içamento, os momentos máximos negativo e positivo foram considerados calculando as duas reações de apoio do guindaste com balanço sendo o menor valor entre $1m$ e $1/6$ do vão, com as seguintes equações:
$$Mk_{içamento}^- = \frac{pp \cdot l_{balanço}^2}{2}$$
$$Mk_{içamento}^+ = R \cdot \bigg( \frac{l_{vão}}{2}-l_{balanço} \bigg) - \frac{pp \cdot l_{vão}^2}{8}$$
$$R = \frac{pp \cdot l_{vão}}{2}$$
$$l_{balanço} \leq \begin{cases} 1m \\
\frac{l_{vão}}{6}
\end{cases}$$
**O esquema das vigas nos dois cálculos está disponível na prancha em anexo**.
```{r tipos-vigas}
vigas <- data.frame(
viga=1:8,
comprimento=c(3.40, 7.10, 10.50, 7.10, 10.50, 7.10, 10.50, 10.50),
largura=c(0.3,0.3,0.3,0.25,0.25,0.3,0.3,0.3),
altura=c(0.675, 0.685, 0.685, 0.685, 0.685, 0.685, 0.685, 0.675),
carga_de_lajes=q_vigas
)
vigas <- vigas %>% mutate(pp = largura * altura * 25)
vigas <- vigas %>% mutate(Q = pp + carga_de_lajes)
vigas <- vigas %>% mutate(Mk = Q * comprimento**2 / 8)
vigas <- vigas %>% mutate(Md = Mk * 1.4)
vigas <- vigas %>% mutate(R = pp * comprimento / 2)
vigas <- vigas %>% mutate(l_balanco = pmin(comprimento / 6, 1))
vigas <- vigas %>% mutate(Mk_ic_min = pp * l_balanco^2 / 2)
vigas <- vigas %>% mutate(Mk_ic_max = R * (comprimento/2 - l_balanco) - pp * comprimento^2 / 8)
header <- c(
"Viga",
"$\\l_{vão}$",
"$\\b$",
"$\\h$",
"$\\Q_{laje}$",
"$\\pp$",
"$\\Q$",
"$\\M_k^+$",
"$\\M_d^+$",
"$\\R$",
"$\\l_{balanço}$",
"$\\M_k^-$",
"$\\M_k^+$"
)
header2 <- c(
" " = 10,
"Içamento" = 3
)
kable(
vigas,
col.names = c( "", "$m$", "$m$", "$m$", "$kN/m$", "$kN/m$", "$kN/m$", "$kN.m$", "$kN.m$","kN" ,"$m$", "$kN.m$", "$kN.m$"),
escape = F,
booktabs = T,
caption = "Cáculo das vigas",
linesep = "\\addlinespace",
align = "c",
digits=c(2,2,2,3,2,2,2,2,2,2,2,2,2)
) %>%
add_header_above(header = header, line = F, align = "c", escape = F) %>%
add_header_above(header = header2, line = T, align = "c", escape = F) %>%
kable_styling(latex_options = c("HOLD_position", "scale_down"))
```
\newpage
# Pilares
<!-- A carga em cada pilar foi calculada somando os valores de reações de apoio ($R$) das vigas que chegam em cada pilar, junto com o valor da ponte rolante disponível nos dados do trabalho, quando aplicável. -->
A origem e número de reações em cada pilar proveniente de cada viga é apresentada na tabela \ref{tab:pilares}, com matriz $M_1$.
```{r pilares}
# pilares <- data.frame(
# pilar = 1:12,
#
# )
# pilares_matrix <- matrix(
# c(
# vigas[1,]$R,0,0,0,0,0,0,0,vigas[8,]$R,
# vigas[1,]$R,vigas[2,]$R,0,0,0,0,0,0,vigas[8,]$R,
# 0,vigas[2,]$R,vigas[3,]$R,0,0,0,0,0,0,
# 0,0,vigas[3,]$R * 2,0,0,0,0,0,0,
# 0,0,vigas[3,]$R * 2,0,0,0,0,0,0,
# 0,0,vigas[3,]$R,0,0,vigas[7,]$R,0,0,0,
# 0,0,0,0,0,0,0,0,0,
# 0,0,0,0,0,0,0,0,0,
# 0,0,0,0,0,0,0,0,0,
# 0,0,0,0,0,0,0,0,0,
# 0,0,0,0,0,0,0,0,0,
# 0,0,0,0,0,0,0,0,0
# ),
# nrow = 12,
# ncol = 9)
pilares_matrix <- matrix(
c(
# 1,2,3,4,5,6,7,8,PR
1,0,0,0,0,0,0,1,0, # 1
1,1,0,0,0,0,0,1,0, # 2
0,1,1,0,0,0,0,0,0, # 3
0,0,2,0,0,0,0,0,0, # 4
0,0,2,0,0,0,0,0,0, # 5
0,0,1,0,0,1,0,0,0, # 6
1,0,0,0,0,0,0,1,0, # 7
1,0,0,1,0,0,1,0,1, # 8
0,0,1,1,0,1,0,0,1, # 9
0,0,1,0,1,0,1,0,1, # 10
0,0,1,0,1,0,1,0,1, # 11
0,0,1,0,0,0,1,0,0 # 12
),
nrow = 12,
ncol = 9,
byrow=TRUE)
rownames(pilares_matrix) <- paste0("P", seq(1:12))
colnames(pilares_matrix) <- c(paste0("V", seq(1:8)), "PR")
kable(
pilares_matrix,
escape = F,
booktabs = T,
caption = "Matriz $M_1$: Número e origem de reações em cada pilar",
linesep = "\\addlinespace",
align = "c"
) %>%
kable_styling(latex_options = c("HOLD_position"))
```
Fazendo a multiplicação da matriz $M_1^t$ (matriz transposta) pela coluna das reações da tabela \ref{tab:tipos-vigas} (adicionando o valor da ponte volante na linha 9), com a equação seguinte, obtemos os valores de reações em cada pilar apresentados na tabela \ref{tab:pilares-2}. Após esse cálculo, foi adicionado a coluna do somatório $R$ em cada pilar.
$$M_2^t = M_1^t \times R$$
```{r pilares-2}
Rs <- c(vigas$R, dados$ponte)
R_pilares <- t(t(pilares_matrix) * Rs)
R_pilares_df <- as.data.frame(R_pilares)
R_pilares_df <- R_pilares_df %>% mutate(R = rowSums(.))
rownames(R_pilares_df) <- paste0("P", 1:12)
kable(
R_pilares_df,
escape = F,
booktabs = T,
caption = "Matriz $M_2$: Carga em cada pilar em $kN$",
linesep = "\\addlinespace",
align = "c",
digits=2
) %>%
kable_styling(latex_options = c("HOLD_position")) %>%
column_spec(11, width="3cm", bold=T)
```
\newpage
# Conclusão
Foram definidos dois modelos de lajes diferentes, com esses modelos, foram obtidas as reações que chegam nas vigas. Nas vigas, foram calculados os momentos máximos no meio do vão e também foram calculados os momentos máximos e mínimos durante o içamento, assim como foi definido o comprimento do balanço. Para finalizar, foi realizado o somatório das reações que chegam em cada pilar, definindo a carga que chega em cada fundação.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment