Escolar Documentos
Profissional Documentos
Cultura Documentos
Fortaleza
2011
FRANCISCO DE ASSIS AURÉLIO SOARES
Fortaleza – Ceará
Março/2011
FRANCISCO DE ASSIS AURÉLIO SOARES
______________________________________
Prof.: Dr.Sc. Marcos Fábio Porto
Orientador – UNIP
______________________________________
Examinador
______________________________________
Examinador
Dedico este trabalho ao meu Irmão, Aurélio da
Costa Neto (in memoriam) que abriu os
caminhos por mim trilhados na busca de novos
conhecimentos e a quem tenho profundo
respeito e admiração.
AGRADECIMENTOS
This paper presents a study of the major aspects concerning the design of a
concrete pavement, taking into consideration the effect of the traffic, the mechanical
characteristics of the concrete and the foundation support of the pavement
configuration. Discusses the dimensioning method of Portland Cement Association –
PCA/1984, which uses the finite elements method to analyze both stress and
deformation on concrete pavements with the purpose of limit the number of load
repetitions based on the consumption of fatigue and erosion in order to avoid the
destruction of the pavement within the design period. Presents the dimensioning of a
rigid pavement using the PCA/84 method and develops a program with the objective
of systematize the dimensioning method. The developed program substitutes the
abacus and tables used on the publications of the Brazilian Portland Cement
Association – BPCA (Associação Brasileira de Cimento Portland – ABPC) by
equations obtained from linear correlations and equations developed by the Portland
Cement Association.
Keywords: concrete pavement, dimensioning method.
LISTA DE FIGURAS
LOUVAI A DEUS ANTES DE LEVANTAR PARA QUE NÃO CAIS DURANTE A LABUTA................................................. 5
AFONSO SOARES RODRIGUES ............................................................................................................................... 5
INTRODUÇÃO ................................................................................................................................................... 13
2. PROGRAMA SISPAV.................................................................................................................................... 23
CONCLUSÃO ..................................................................................................................................................... 44
REFERÊNCIAS .................................................................................................................................................. 45
INTRODUÇÃO
6 * Me
σ eq = * f 1* f 2 * f 3 * f 4 (1)
h²
Na qual:
σeq = tensão equivalente;
f1 = fator de ajuste para o efeito de cargas sobre os eixos e área de contato;
f2 = fator de ajuste para uma laje sem acostamento de concreto com base nos
resultados do programa de computador MATS;
f3 = fator de ajuste para explicar o efeito do posicionamento do caminhão sobre a
borda (a PCA adota que 6% de caminhão passam próximo a borda, f3 = 0,894);
f4 = fator de ajuste para explicar o aumento da resistência do concreto após os 28
dias, (a PCA adota aCV=15%, f4=0,953);
h = espessura da laje.
Sendo:
− 1600 + 2525 * log(l) + 24,42 * l + 0,204 * l 2 (Eixo Simples / Sem A cos tamento )
3029 − 2966,8 * log(l) + 133,69 * l − 0,0632 * l 2 (Eixo Tanden / Sem A cos tamento )
Me = (6)
( −970,4 + 1202,6 * log(l) + 53,587 * l) *
(0,8742 + 0,01088 * k 0,447 ) (Eixo Simples / Com A cos tamento )
(2005,4 − 1980,9 * log(l) + 99,008 * l) *
(0,8742 + 0,01088 * k 0,447 ) (Eixo Tandem / Com A cos tamento )
E * h3
l=4 (8)
12 * (1 − µ 2 ) * k
Onde:
E = é o módulo de elasticidade do concreto;
µ = é o coeficiente de Poisson.
O número máximo de repetições de cargas permitido (Nf) para evitar o dano
por consumo de fadiga é dado por:
σ eq σ eq
log N = 11,737 − 12,077 * ( ) ≥ 0,55
f fctM, k fctM, k
3,268
σ eq
4,2577 (9)
f
N = 0,45 < < 0,55
σ fctM, k
eq − 0,4325
f
ctM, k
σ eq
N f = i lim itado ≤ 0,45
fctM, k
Onde:
f ctM,k = é a resistência característica à tração aos 28 dias.
O consumo de fadiga é obtido pela razão entre o número de passagem de
carga esperadas e o número de passagem de cargas admissíveis dado em
20
Em que:
δeq = deflexão equivalente no canto da laje.
Em que:
Pc = Pressão sobre a fundação no canto da laje;
l = raio de rigidez relativa.
SAL
18 Eixo Simples (12)
f =
5
TAL Eixo Tandem
36
Em que:
f5 = fator de ajuste para o efeito de cargas axiais;
f6 = fator de ajuste para uma laje sem acostamento de concreto sem juntas
cavilhadas;
f7 = fator de ajuste para explicar o efeito do posicionamento do caminhão sobre o
desvio de canto, e;
SAL e TAL = Cargas por eixo Simples e Tandem, respectivamente.
O número admissível de repetições de carga (Ne) é calculado com base nas
seguinte equações:
pc 2 k 1,27 * δ eq 2
P = 268,7 * = 268,7 *
(15)
h * k 0,73 h* f 2 *f 2 *f 2
5 6 7
11111 * (0,896 * P) 2 * C1
EF = log (16)
h * k 0,73
2
k 4 (17)
C1 = 1 − *
2000 h
2. Programa SISPAV
b. Características
Nesta fase o projetista alimentará o sistema com os dados que caracterizam
as rotinas e definem os parâmetros a serem processados pelo sistema. O primeiro
elemento a ser fornecido nesta tela é tipo de sub-base a ser adotada na
configuração do pavimento. O programa apresenta uma lista dos tipos de sub-base
mais comumente adotadas em pavimentos rodoviários, em seguida é solicitada a
vida útil do projeto em anos. Esse dado é fundamental na avaliação do número
esperado de cargas que atuará sobre o pavimento durante a vida de projeto. O
campo acostamento de concreto está reservado à informação quanto à existência ou
não e deve ser respondido com “S” ou “N”, à resistência característica à tração na
flexão – embora comumente adotada em torno de 4,2 Mpa – preferiu-se deixar como
um valor a ser definido pelo projetista em função do concreto a ser executado. A
espessura tentativa da laje é um número, em cm, próximo ao esperado para o
dimensionamento. O projetista não deve estar preocupado com o valor deste
26
C B R (1 ) k (2 ) C in t( 2 0 ,6 6 9 7 5 4 * L N ( C B R )+ 1 , 2 5 9 6 4 3 9 )
2 16 16
3 24 24
4 30 30
5 34 35
6 38 38
7 41 41
8 44 44
9 47 47
10 49 49
11 51 51
12 53 53
13 54 54
14 56 56
15 57 57
16 59 59
17 60 60
18 61 61
19 62 62
20 63 63
constantes
de sistema (Mpa/m), para
espessura de sub-base iguis a
do subleito (cm) (Mpa/m), pela equação: Ksist = a * (k ^ b)
CBR k 10 15 20 30
10 15 20 30 1,3802453 1,9788200 3,0646988 3,8420925 a
(%) (Mpa/m) 0,9407406 0,8675983 0,7843555 0,7757891 b
9 47 52 56 63 76 52 56 63 76
10 49 54 58 65 79 54 58 65 79
11 51 56 60 67 81 56 60 67 81
12 53 58 62 69 84 58 62 69 84
13 54 59 63 70 85 59 63 70 85
14 56 61 65 72 87 61 65 72 87
15 57 62 66 73 88 62 66 73 88
16 59 64 68 75 91 64 68 75 91
17 60 65 69 76 92 65 69 76 92
18 61 66 70 77 93 66 70 77 93
19 62 67 71 78 94 67 71 78 94
20 63 68 72 79 96 68 72 79 96
constantes
topo de sistema (Mpa/m),
sistema (Mpa/m), pela equação: Ksist =
para espessura de sub-
subleito base iguis a (cm) a * (k ^ b)
10 15 20
CBR (%) k (Mpa/m) 10 15 20 5,96942000 7,63379380 10,3750590 a
0,76820465 0,77899618 0,7753442 b
2 16 50 66 89 50 66 89
3 24 69 91 122 69 91 122
4 30 81 108 145 81 108 145
5 34 90 119 160 90 119 160
6 38 98 130 174 98 130 174
7 41 103 138 185 103 138 185
8 44 48 146 195 109 146 195
9 47 115 153 205 115 153 205
10 49 119 158 212 119 158 212
11 51 122 163 218 122 163 219
12 53 126 168 225 126 168 225
13 54 128 171 229 128 171 229
14 56 131 176 235 131 176 235
15 57 133 178 239 133 178 238
16 59 137 183 245 137 183 245
17 60 139 185 248 139 185 248
18 61 140 188 251 140 188 251
19 62 142 190 255 142 190 255
20 63 144 192 258 144 192 258
constantes
sistema (Mpa/m),
suporte do sistema (Mpa/m), pela equação: Ksist
para espessuras de
sub-base iguais a
subleito (cm) = a * (k ^ b)
k (Mpa/m)
10 15 20
CBR(%)
constantes
que no topo do siste-
suporte do ma (Mpa/m), para es- sistema (Mpa/m), pela equação: Ksist
pessuras de sub-
subleito base iguais a (cm) = a * (k ^ b)
k (Mpa/m)
10 12,5 15
CBR (%)
Não alimentamos o sistema com dados para eixos Tandem triplos, uma vez
que este tipo de eixo não foi considerado no método original da PCA. A previsão de
inclusão dos eixos deve-se a adaptações no método por pesquisadores brasileiros.
As Figuras 11 e 12 apresentam as telas com a saída dos dados processados
e com os cálculos do consumo de fadiga e danos por erosão bem como a espessura
de laje de concreto para o período de projeto indicado. Na Figura 11 são
apresentados o consumo de fatiga e os danos por erosão para o caso de eixos
simples, na Figura 12 são apresentados o consumo de fadiga e os danos por erosão
para o caso dos eixos tandem.
40
estão apresentados nas Figuras 11 e 12. A Tabela 9 mostra o comparativo dos dois
resultados.
CONCLUSÃO
REFERÊNCIAS
BOLIS, Bruno; RENZO, Aldo Di. Pavimentazioni Stradali. Milão: Ulrico Hoepli,
1949.
BALBO, José Tadeu. Pavimentos de Concreto. São Paulo: Oficina de Textos,
2009.
DNIT. Manual de Pavimentos Rígidos. Publicação IPR-714, 2. ed, Rio de Janeiro,
2005.
HUANG, Yang H. Pavement Analysis and Design. Englewood Cliffs: Prentice Hall,
2004.
JONSHON, Ivan.Graph. Free Software Foundation. Inc; Boston, 1991. (V 4.3).
LEE, Ying-Haur Lee and Carpenter, Samuel H.. Program for Jointed Concrete
Pavement Design. Tamkang Journal of Science and Engineering. 2001. 4(4): 293-
300.
PITTA, Márcio Rocha. Dimensionamento dos pavimentos rodoviários de
concreto. São Paulo, ABCP, 1998. 44p (ET-14)
______. Dimensionamento dos pavimentos rodoviários e urbanos de concreto
pelo método da PCA/1984. São Paulo, ABCP, 1998. 91p (ET-97)
______. Projeto de juntas de pavimentos rodoviários de concreto. São Paulo,
ABCP, 1998. 36p (ET-13)
______. Projetos de sub-bases para pavimentos de concreto. São Paulo, ABCP,
1998. 36p (ET-29)
Rodrigues, Públio Penna Firme. Projetos e Critérios Executivos de Pavimentos
Industriais de Concreto Armado. São Paulo, IBTS, 2006.
46
Sub Calcula_coeficiente_de_recalque()
' calculo do capacidade de suporte do subleito em Mpa/m (correlação cbr x
suporte do subleito)
espessura_da_base = Val(nome(13))
cbr_subleito = Val(nome(12))
coef_recalque = CInt(20.669754 * Math.Log(cbr_subleito) + 1.2596439)
' calculo do coeficiente de recalque no topo do sistema para sub-base granular
If InStr(nome(7), "(CG)") Then
If espessura_da_base = 100 Then
coef_recalque_sistema = 1.3802453 * (coef_recalque ^ 0.94074062)
ElseIf espessura_da_base = 150 Then
coef_recalque_sistema = 1.97882 * (coef_recalque ^ 0.86759831)
ElseIf espessura_da_base = 200 Then
coef_recalque_sistema = 3.0646988 * coef_recalque ^ 0.78435554
ElseIf espessura_da_base = 300 Then
coef_recalque_sistema = 3.8420925 * coef_recalque ^ 0.77578907
Else
espessura_da_base = espessura_da_base / 10
coef_recalque_sistema = (-0.0032369916 * espessura_da_base ^ 2 +
0.25776525 * espessura_da_base - 0.95160653) * coef_recalque ^ (0.0006535383 *
espessura_da_base ^ 2 - 0.034731329 * espessura_da_base + 1.2278334)
End If
ElseIf InStr(nome(7), "(BGS)") Then
'provisionada
ElseIf InStr(nome(7), "(BGTC)") Then
' provisionada
ElseIf InStr(nome(7), "(SC)") Then
If espessura_da_base = 100 Then
coef_recalque_sistema = 5.966942 * (coef_recalque ^ 0.76820465)
47
AbreArquivo_projetos()
lerdados()
limpacampos()
End Sub
' grava os dados relativos ao projeto
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button6.Click
tratadados()
Calcula_coeficiente_de_recalque()
tratadados()
gravadados()
Close()
End
End Sub
' atribui ao combobox1 os projetos cadastrados
Private Sub ComboBox1_SelectedValueChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
ComboBox1.SelectedValueChanged
Dim I, J, Inic As Integer
I = ComboBox1.Items.IndexOf(ComboBox1.Text)
'MsgBox("VALOR = " & I)
PatientRecord.ID = I + 1
FileGet(2, PatientRecord.Name, PatientRecord.ID)
For J = 0 To 60
nome(J + 1) = Mid(PatientRecord.Name, 1 + Inic, tamanho(J))
Inic = Inic + tamanho(J)
Next J
ComboBox1.Text = nome(1)
TextBox1.Text = nome(2)
TextBox2.Text = nome(3)
TextBox3.Text = nome(4)
TextBox4.Text = nome(5)
TextBox6.Text = nome(6)
ComboBox2.Text = nome(7)
51
TextBox7.Text = nome(8)
TextBox8.Text = nome(9)
TextBox9.Text = nome(10)
TextBox10.Text = nome(11)
TextBox11.Text = nome(12)
TextBox12.Text = nome(13)
TextBox13.Text = nome(14)
TextBox14.Text = nome(15)
TextBox15.Text = nome(16)
TextBox16.Text = nome(17)
TextBox17.Text = nome(18)
TextBox18.Text = nome(19)
TextBox19.Text = nome(20)
TextBox20.Text = nome(21)
TextBox21.Text = nome(22)
TextBox22.Text = nome(23)
TextBox23.Text = nome(24)
TextBox24.Text = nome(25)
TextBox25.Text = nome(26)
TextBox26.Text = nome(27)
TextBox27.Text = nome(28)
TextBox28.Text = nome(29)
TextBox29.Text = nome(30)
TextBox30.Text = nome(31)
TextBox31.Text = nome(32)
TextBox32.Text = nome(33)
TextBox33.Text = nome(34)
TextBox34.Text = nome(35)
TextBox35.Text = nome(36)
TextBox36.Text = nome(37)
TextBox37.Text = nome(38)
TextBox38.Text = nome(39)
TextBox39.Text = nome(40)
TextBox40.Text = nome(41)
52
TextBox41.Text = nome(42)
TextBox42.Text = nome(43)
TextBox43.Text = nome(44)
TextBox44.Text = nome(45)
TextBox45.Text = nome(46)
TextBox46.Text = nome(47)
TextBox47.Text = nome(48)
TextBox48.Text = nome(49)
TextBox49.Text = nome(50)
TextBox50.Text = nome(51)
TextBox51.Text = nome(52)
TextBox52.Text = nome(53)
TextBox53.Text = nome(54)
TextBox54.Text = nome(55)
TextBox55.Text = nome(56)
TextBox56.Text = nome(57)
TextBox57.Text = nome(58)
TextBox66.Text = nome(59)
TextBox67.Text = nome(60)
TextBox79.Text = nome(61)
End Sub
Dim i As Integer
extensao = 0
For i = 0 To 60
extensao = extensao + tamanho(i)
Next
extensao = extensao + 2
nome(23) = TextBox22.Text
nome(24) = TextBox23.Text
nome(25) = TextBox24.Text
nome(26) = TextBox25.Text
nome(27) = TextBox26.Text
nome(28) = TextBox27.Text
nome(29) = TextBox28.Text
nome(30) = TextBox29.Text
nome(31) = TextBox30.Text
nome(32) = TextBox31.Text
nome(33) = TextBox32.Text
nome(34) = TextBox33.Text
nome(35) = TextBox34.Text
nome(36) = TextBox35.Text
nome(37) = TextBox36.Text
nome(38) = TextBox37.Text
nome(39) = TextBox38.Text
nome(40) = TextBox39.Text
nome(41) = TextBox40.Text
nome(42) = TextBox41.Text
nome(43) = TextBox42.Text
nome(44) = TextBox43.Text
nome(45) = TextBox44.Text
nome(46) = TextBox45.Text
nome(47) = TextBox46.Text
nome(48) = TextBox47.Text
nome(49) = TextBox48.Text
nome(50) = TextBox49.Text
nome(51) = TextBox50.Text
nome(52) = TextBox51.Text
nome(53) = TextBox52.Text
nome(54) = TextBox53.Text
nome(55) = TextBox54.Text
nome(56) = TextBox55.Text
55
nome(57) = TextBox56.Text
nome(58) = TextBox57.Text
nome(59) = TextBox66.Text
nome(60) = TextBox67.Text
nome(61) = TextBox79.Text
For i = 1 To 61
Mid(campo, 1 + inic, tamanho(i - 1)) = nome(i)
inic = inic + tamanho(i - 1)
'nomedoprojeto(i) = nome(i)
Next
Mid(campo, extensao - 1, 2) = Chr(13) & Chr(10)
End Sub
Sub gravadados()
Dim PatientRecord As Person
Dim recordNumber As Integer
recordNumber = CInt(TextBox6.Text)
' Define ID.
recordNumber = recordNumber
PatientRecord.ID = recordNumber
PatientRecord.Name = campo
' Write record to file.
FilePut(2, PatientRecord.Name, PatientRecord.ID)
'Atualização de projetos para seleção
limpacampos()
lerdados()
FileClose(2)
End Sub
Sub limpacampos()
' limpas os string.
ComboBox1.Text = ""
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
56
TextBox6.Text = ""
ComboBox2.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""
TextBox10.Text = ""
TextBox11.Text = ""
TextBox12.Text = ""
TextBox13.Text = ""
TextBox14.Text = ""
TextBox15.Text = ""
TextBox16.Text = ""
TextBox17.Text = ""
TextBox18.Text = ""
TextBox19.Text = ""
TextBox20.Text = ""
TextBox21.Text = ""
TextBox22.Text = ""
TextBox23.Text = ""
TextBox24.Text = ""
TextBox25.Text = ""
TextBox26.Text = ""
TextBox27.Text = ""
TextBox28.Text = ""
TextBox29.Text = ""
TextBox30.Text = ""
TextBox31.Text = ""
TextBox32.Text = ""
TextBox33.Text = ""
TextBox34.Text = ""
TextBox35.Text = ""
TextBox36.Text = ""
TextBox37.Text = ""
TextBox38.Text = ""
57
TextBox39.Text = ""
TextBox40.Text = ""
TextBox41.Text = ""
TextBox42.Text = ""
TextBox43.Text = ""
TextBox44.Text = ""
TextBox45.Text = ""
TextBox46.Text = ""
TextBox47.Text = ""
TextBox48.Text = ""
TextBox49.Text = ""
TextBox50.Text = ""
TextBox51.Text = ""
TextBox52.Text = ""
TextBox53.Text = ""
TextBox54.Text = ""
TextBox55.Text = ""
TextBox56.Text = ""
TextBox57.Text = ""
TextBox66.Text = ""
TextBox67.Text = ""
TextBox79.Text = ""
final = LOF(2) / extensao
TextBox6.Text = "000" & Mid(Str(final + 1), 2, Len(Str(final + 1)) - 1)
TextBox6.Text = Microsoft.VisualBasic.Right(TextBox6.Text, 4)
End Sub
Sub lerdados()
Dim PatientRecord As Person
Dim recordNumber As Integer
final = LOF(2) / extensao
'Limpa a lista de nomes no combobox1
ComboBox1.Items.Clear()
campo = ""
For recordNumber = 1 To final
58
numero_N = Val(TextBox69.Text)
altura_da_laje = Val(TextBox62.Text)
coef_recalque_sistema = Val(TextBox61.Text)
fctMk = Val(TextBox63.Text)
modulo_de_elasticidade = Val(TextBox79.Text) ' Constante - Mpa
Sub CONVERTE_UNIDADES_SI_INGLES()
' CONVERSÃO DE UNIDADES DO SISTEMA INTERNACIONAL PARA O
INGLES
coef_recalque_sistema = coef_recalque_sistema / 0.2714488189
altura_da_laje = altura_da_laje / 2.54
modulo_de_elasticidade = modulo_de_elasticidade / 0.0068948
fctMk = fctMk / 0.00689476
End Sub
CONVERTE_UNIDADES_SI_INGLES()
Ksist = coef_recalque_sistema
coeficiente_de_Poisson = 0.15 'Constante
altura_da_laje = altura_da_laje - 0.1 ' para efeito de não alterar a altura original
proposta
f3 = 0.894 ' constante atribuída pelo método
f4 = 1 / (1.235 * (1 - cv)) ' FATOR DE AJUSTE DEVIDO AO AUMENTO DA
RESISTENCIA DO CONCRETO APÓS OS 28 DIAS
' carga_por_eixo_sim(1) = Val(TextBox16.Text)
carga_por_eixo_sim(2) = Val(TextBox17.Text)
carga_por_eixo_sim(3) = Val(TextBox18.Text)
carga_por_eixo_sim(4) = Val(TextBox19.Text)
carga_por_eixo_sim(5) = Val(TextBox20.Text)
carga_por_eixo_sim(6) = Val(TextBox21.Text)
carga_por_eixo_sim(7) = Val(TextBox22.Text)
' conversão para o sistema ingles de unidades
For contador = 1 To 7
carga_por_eixo_sim(contador) = carga_por_eixo_sim(contador) / 4.448221615
Next
62
TextBox65.Text = TextBox16.Text
TextBox80.Text = TextBox17.Text
TextBox81.Text = TextBox18.Text
TextBox82.Text = TextBox19.Text
TextBox83.Text = TextBox20.Text
TextBox84.Text = TextBox21.Text
TextBox85.Text = TextBox22.Text
TextBox70.Text = TextBox23.Text
TextBox92.Text = TextBox24.Text
TextBox93.Text = TextBox25.Text
TextBox94.Text = TextBox26.Text
TextBox95.Text = TextBox27.Text
TextBox96.Text = TextBox28.Text
TextBox97.Text = TextBox29.Text
num_eixos_simples_por_1000(1) = Val(TextBox23.Text)
num_eixos_simples_por_1000(2) = Val(TextBox24.Text)
num_eixos_simples_por_1000(3) = Val(TextBox25.Text)
num_eixos_simples_por_1000(4) = Val(TextBox26.Text)
num_eixos_simples_por_1000(5) = Val(TextBox27.Text)
num_eixos_simples_por_1000(6) = Val(TextBox28.Text)
num_eixos_simples_por_1000(7) = Val(TextBox29.Text)
' reitrar isto aqui depois
'carga_por_eixo_sim(1) = 30
'carga_por_eixo_sim(2) = 28
'carga_por_eixo_sim(3) = 26
'carga_por_eixo_sim(4) = 24
'carga_por_eixo_sim(5) = 22
'carga_por_eixo_sim(6) = 20
'carga_por_eixo_sim(7) = 18
'msgbox("estou aqui " & fator_de_segurança)
For contador = 1 To 7
carga_por_eixo_sim_cor(contador) = carga_por_eixo_sim(contador) *
fator_de_segurança
63
num_eixos_simples(contador) = Int(num_eixos_simples_por_1000(contador)
* numero_N / 1000)
f1_ES(contador) = (24 / carga_por_eixo_sim_cor(contador)) ^ 0.06 *
(carga_por_eixo_sim_cor(contador) / 18) ' a carga_por_eixo_simples tem que ser
variavel
f5_ES(contador) = carga_por_eixo_sim_cor(contador) / 18
Next
TextBox68.Text = carga_por_eixo_sim_cor(1) * 4.448221615
TextBox86.Text = carga_por_eixo_sim_cor(2) * 4.448221615
TextBox87.Text = carga_por_eixo_sim_cor(3) * 4.448221615
TextBox88.Text = carga_por_eixo_sim_cor(4) * 4.448221615
TextBox89.Text = carga_por_eixo_sim_cor(5) * 4.448221615
TextBox90.Text = carga_por_eixo_sim_cor(6) * 4.448221615
TextBox91.Text = carga_por_eixo_sim_cor(7) * 4.448221615
TextBox71.Text = num_eixos_simples(1)
TextBox98.Text = num_eixos_simples(2)
TextBox99.Text = num_eixos_simples(3)
TextBox100.Text = num_eixos_simples(4)
TextBox101.Text = num_eixos_simples(5)
TextBox102.Text = num_eixos_simples(6)
TextBox103.Text = num_eixos_simples(7)
' INICIA CÁLCULO PARA EIXOS TANDEM DUPLOS
carga_por_ETD(1) = Val(TextBox30.Text)
carga_por_ETD(2) = Val(TextBox31.Text)
carga_por_ETD(3) = Val(TextBox32.Text)
carga_por_ETD(4) = Val(TextBox33.Text)
carga_por_ETD(5) = Val(TextBox34.Text)
carga_por_ETD(6) = Val(TextBox35.Text)
carga_por_ETD(7) = Val(TextBox36.Text)
For contador = 1 To 7
carga_por_ETD(contador) = carga_por_ETD(contador) / 4.448221615
Next
'carga_por_ETD(1) = 52
'carga_por_ETD(2) = 48
64
'carga_por_ETD(3) = 44
'carga_por_ETD(4) = 40
'carga_por_ETD(5) = 36
'carga_por_ETD(6) = 32
'carga_por_ETD(7) = 28
'msgbox("carga por tandem")
TextBox140.Text = TextBox30.Text
TextBox141.Text = TextBox31.Text
TextBox142.Text = TextBox32.Text
TextBox143.Text = TextBox33.Text
TextBox144.Text = TextBox34.Text
TextBox145.Text = TextBox35.Text
TextBox146.Text = TextBox36.Text
num_ETD_por_1000(1) = Val(TextBox37.Text)
num_ETD_por_1000(2) = Val(TextBox38.Text)
num_ETD_por_1000(3) = Val(TextBox39.Text)
num_ETD_por_1000(4) = Val(TextBox40.Text)
num_ETD_por_1000(5) = Val(TextBox41.Text)
num_ETD_por_1000(6) = Val(TextBox42.Text)
num_ETD_por_1000(7) = Val(TextBox43.Text)
For contador = 1 To 7
numero_a_converter(contador) = num_ETD_por_1000(contador)
Next contador
mascara2()
TextBox154.Text = texto_convertido(1)
TextBox155.Text = texto_convertido(2)
TextBox156.Text = texto_convertido(3)
TextBox157.Text = texto_convertido(4)
TextBox158.Text = texto_convertido(5)
TextBox159.Text = texto_convertido(6)
TextBox160.Text = texto_convertido(7)
For contador = 1 To 7
carga_por_ETD_cor(contador) = carga_por_ETD(contador) * fator_de_segurança
num_eixos_ETD(contador) = num_ETD_por_1000(contador) * numero_N / 1000
65
numero_de_ES_admissiveis(contador) = -9999
End If
'MsgBox("contador " & contador & " " &
numero_de_ES_admissiveis(contador))
If numero_de_ES_admissiveis(contador) > 0 Then
consumo_fator_de_fadiga_ES(contador) =
num_eixos_simples(contador) / numero_de_ES_admissiveis(contador)
consumo_fator_de_fadiga_ES(contador) =
consumo_fator_de_fadiga_ES(contador) * 100
consumo_total_fadiga = consumo_total_fadiga +
consumo_fator_de_fadiga_ES(contador)
End If
Next contador
' PARA O CASO DOS EIXOS TANDEM DUPLOS
'calculo do momento para eixos simples com e sem acostamento de concreto
' f2 só é função da espessura da laje e da existencia ou não de acostamento
em concreto
If TextBox64.Text = "S" Then ' "SA/WS - eixos simples com acostametno"
momento = (2005.4 - 1980.9 * (Math.Log10(raio_de_rigidez)) + 99.008 *
raio_de_rigidez) * (0.8742 + 0.01088 * Ksist ^ 0.447)
f2 = 1
Else ' "TA/NS - eixos Tandem Duplo sem acostamento"
momento = 3029 - 2966.8 * (Math.Log10(raio_de_rigidez)) + 133.69 *
raio_de_rigidez - 0.0632 * raio_de_rigidez ^ 2
f2 = 0.894 + altura_da_laje / 85.71 - (altura_da_laje ^ 2) / 3000
End If
' Calculo do Coeficiente F1 - tem um valor para dcada carga
'f1 = (24 / carga_por_eixo_sim_cor(contador)) ^ 0.06 *
(carga_por_eixo_sim_cor(contador) / 18) ' a carga_por_eixo_simples tem que ser
variavel
'f1 = (48 / carga_por_eixo_simples) ^ 0.06 * (carga_por_eixo_simples / 36) ' a
carga_por_eixo_simples tem que ser variavel
For contador = 1 To 7
68
numero_de_etd_admissiveis(contador) = 0
tensao_maxima_etd(contador) = 0
fator_de_fadiga_etd(contador) = 0
consumo_fator_de_fadiga_etd(contador) = 0
'determinação da máxima tensão na flexão
tensao_maxima_etd(contador) = (6 * momento * f1_ETD(contador) * f2 * f3
* f4) / (altura_da_laje ^ 2)
fator_de_fadiga_etd(contador) = tensao_maxima_etd(contador) / fctMk
If fator_de_fadiga_etd(contador) >= 0.55 Then
numero_de_etd_admissiveis(contador) = 10 ^ (11.737 - 12.077 *
(fator_de_fadiga_etd(contador)))
ElseIf fator_de_fadiga_etd(contador) < 0.55 And
fator_de_fadiga_etd(contador) > 0.45 Then
numero_de_etd_admissiveis(contador) = (4.2577 /
(fator_de_fadiga_etd(contador) - 0.4325)) ^ 3.268
Else
numero_de_etd_admissiveis(contador) = -9999
End If
If numero_de_etd_admissiveis(contador) > 0 Then
consumo_fator_de_fadiga_etd(contador) = num_eixos_ETD(contador) /
numero_de_etd_admissiveis(contador)
consumo_fator_de_fadiga_etd(contador) =
consumo_fator_de_fadiga_etd(contador) * 100
consumo_total_fadiga = consumo_total_fadiga +
consumo_fator_de_fadiga_etd(contador)
End If
Next contador
consumo_de_fadiga_acumulado = consumo_total_fadiga
consumo_total_fadiga = 0
End While
TextBox78.Text = Mid(Str(raio_de_rigidez), 2, 5)
TextBox62.Text = Mid(Str(altura_da_laje), 2, 5)
'transfere valores obitidos para campos EIXOS SIMPLES
For contador = 1 To 7
69
numero_a_converter(contador) = fator_de_fadiga_ES(contador)
Next contador
mascara2()
TextBox72.Text = texto_convertido(1)
TextBox104.Text = texto_convertido(2)
TextBox105.Text = texto_convertido(3)
TextBox106.Text = texto_convertido(4)
TextBox107.Text = texto_convertido(5)
TextBox108.Text = texto_convertido(6)
TextBox109.Text = texto_convertido(7)
For contador = 1 To 7
numero_a_converter(contador) = numero_de_ES_admissiveis(contador)
Next contador
mascara3()
TextBox73.Text = texto_convertido(1)
TextBox110.Text = texto_convertido(2)
TextBox111.Text = texto_convertido(3)
TextBox112.Text = texto_convertido(4)
TextBox113.Text = texto_convertido(5)
TextBox114.Text = texto_convertido(6)
TextBox115.Text = texto_convertido(7)
' Transfere dados realtivos ao consumo de fadida
For contador = 1 To 7
numero_a_converter(contador) = consumo_fator_de_fadiga_ES(contador)
Next contador
mascara()
TextBox74.Text = texto_convertido(1)
TextBox116.Text = texto_convertido(2)
TextBox117.Text = texto_convertido(3)
TextBox118.Text = texto_convertido(4)
TextBox119.Text = texto_convertido(5)
TextBox120.Text = texto_convertido(6)
TextBox121.Text = texto_convertido(7)
'transfere Valores obitidos para campos EIXOS TANDEM DUPLO
70
For contador = 1 To 7
numero_a_converter(contador) = fator_de_fadiga_etd(contador)
Next contador
mascara2()
TextBox168.Text = texto_convertido(1)
TextBox169.Text = texto_convertido(2)
TextBox170.Text = texto_convertido(3)
TextBox171.Text = texto_convertido(4)
TextBox172.Text = texto_convertido(5)
TextBox173.Text = texto_convertido(6)
TextBox174.Text = texto_convertido(7)
For contador = 1 To 7
numero_a_converter(contador) = numero_de_etd_admissiveis(contador)
Next contador
mascara3()
TextBox175.Text = texto_convertido(1)
TextBox176.Text = texto_convertido(2)
TextBox177.Text = texto_convertido(3)
TextBox178.Text = texto_convertido(4)
TextBox179.Text = texto_convertido(5)
TextBox180.Text = texto_convertido(6)
TextBox181.Text = texto_convertido(7)
' Transfere dados realtivos ao consumo de fadida
For contador = 1 To 7
numero_a_converter(contador) = consumo_fator_de_fadiga_etd(contador)
Next contador
mascara()
TextBox182.Text = texto_convertido(1)
TextBox183.Text = texto_convertido(2)
TextBox184.Text = texto_convertido(3)
TextBox185.Text = texto_convertido(4)
TextBox186.Text = texto_convertido(5)
TextBox187.Text = texto_convertido(6)
TextBox188.Text = texto_convertido(7)
71
Button7.Visible = True
Button8.Visible = True
Button9.Visible = True
' *************************************************************************************
' Ánálise dos danos por Erosão
' inicia cálculos
'determinação do número de eixos admissíveis
Dim f6 As Single
Dim f7 As Single
Dim Pressao_no_canto_ES(7) As Single
Dim deformacao_no_canto(7) As Single
Dim taxa_trabalho_ES(7) As Single
Dim num_adm_es_erosao(7) As Double
Dim C1 As Single
Dim c2 As Single
Dim consumo_fator_de_erosao_ES(7) As Single
Dim consumo_total_erosao As Single
Dim consumo_de_erosao_acumulado As Single
Dim Pressao_no_canto_etd(7) As Single
Dim taxa_trabalho_ETD(7) As Single
Dim num_adm_ETD_erosao(7) As Double
Dim consumo_fator_de_erosao_etd(7) As Single
consumo_de_erosao_acumulado = 9999
consumo_total_erosao = 0
'*************************************************************************
'EIXOS SIMPLES
'calculo do fator f6
If TextBox59.Text = "S" And TextBox64.Text = "S" Then ' "SD/WS - com barras
de transferencia e com acostametno"
f6 = 0.95
ElseIf TextBox59.Text = "N" And TextBox64.Text = "S" Then ' "SD/WS - sem
barras de trasnferencia e com acostametno"
f6 = 1.001 - (0.26363 - Ksist / 3034.5) ^ 2
Else
72
f6 = 1
End If
If TextBox64.Text = "S" Then ' "WS - com acostametno"
f7 = 1
c2 = 0.94
Else
f7 = 0.896
c2 = 0.06
End If
'*************************************************************************
' fatores C1 e C2
' C1 = =1-(Ksist*4/(2000*altura_da_laje))^2
CONVERTE_UNIDADES_SI_INGLES()
altura_da_laje = altura_da_laje - 0.1
While consumo_de_erosao_acumulado > 100
altura_da_laje = altura_da_laje + 0.1
'msgbox(altura_da_laje)
raio_de_rigidez = (modulo_de_elasticidade * (altura_da_laje ^ 3) / (12 * (1 -
coeficiente_de_Poisson ^ 2) * Ksist)) ^ 0.25
C1 = 1 - (Ksist * 4 / (2000 * altura_da_laje)) ^ 2
' determinação dos Pc's - pressão sobre a fundação - para eixos simples
For contador = 1 To 7
num_adm_es_erosao(contador) = 0
If TextBox64.Text = "N" And TextBox59.Text = "S" Then ' "NS/WD - sem
acostamento e com barras de transferencia"
'para (SA/NS/WD)
Pressao_no_canto_ES(contador) = -0.3019 + (128.85 / raio_de_rigidez)
+ (1105.8 / (raio_de_rigidez ^ 2)) + (3269.1 / (raio_de_rigidez ^ 3))
ElseIf TextBox64.Text = "S" And TextBox59.Text = "S" Then ' "WS/WD -
com acostamento e com barras de transferencia"
'para (SA/WS/WD)
Pressao_no_canto_ES(contador) = 0.018 + 72.99 / raio_de_rigidez +
323.1 / raio_de_rigidez ^ 2 + 1620 / raio_de_rigidez ^ 3
73
num_adm_ETD_erosao(contador) = 0
If TextBox64.Text = "N" And TextBox59.Text = "S" Then ' "NS/WD - sem
acostamento e com barras de transferencia"
'para (TA/NS/WD)
Pressao_no_canto_etd(contador) = 1.258 + 97.491 / raio_de_rigidez +
1484.1 / raio_de_rigidez ^ 2 - 180 / raio_de_rigidez ^ 3
ElseIf TextBox64.Text = "S" And TextBox59.Text = "S" Then ' "WS/WD -
com acostamento e com barras de transferencia"
'para (TA/WS/WD)
Pressao_no_canto_etd(contador) = 0.0345 + 146.25 / raio_de_rigidez -
2385.6 / raio_de_rigidez ^ 2 + 23848 / raio_de_rigidez ^ 3
ElseIf TextBox64.Text = "N" And TextBox59.Text = "N" Then ' "NS/ND -
sem acostamento e sem barras de transferencia"
'para (TA/NS/ND)
Pressao_no_canto_etd(contador) = 1.847 + 213.68 / raio_de_rigidez -
1260.8 / raio_de_rigidez ^ 2 + 22989 / raio_de_rigidez ^ 3
Else
'para (TA/WS/ND)
Pressao_no_canto_etd(contador) = 1.47 + 102.2 / raio_de_rigidez -
1072 / raio_de_rigidez ^ 2 + 14451 / raio_de_rigidez ^ 3
End If
deformacao_no_canto(contador) = Pressao_no_canto_etd(contador) *
F5_ETD(contador) * f6 * f7 / Ksist
taxa_trabalho_ETD(contador) = 268.7 * (Ksist ^ 1.27) *
(deformacao_no_canto(contador) ^ 2) / altura_da_laje
If C1 * taxa_trabalho_ETD(contador) > 9 Then
num_adm_ETD_erosao(contador) = 10 ^ (14.524 - 6.777 * (C1 *
taxa_trabalho_ETD(contador) - 9) ^ 0.103 - Math.Log10(c2))
Else
num_adm_ETD_erosao(contador) = 1 / 0
End If
If num_adm_ETD_erosao(contador) > 0 Then
consumo_fator_de_erosao_etd(contador) = num_eixos_ETD(contador) /
num_adm_ETD_erosao(contador)
75
consumo_fator_de_erosao_etd(contador) =
consumo_fator_de_erosao_etd(contador) * 100
consumo_total_erosao = consumo_total_erosao +
consumo_fator_de_erosao_etd(contador)
End If
'MsgBox(taxa_trabalho_ETD(contador) & " " &
num_adm_ETD_erosao(contador) & " " & consumo_fator_de_erosao_etd(contador))
Next contador
consumo_de_erosao_acumulado = consumo_total_erosao
'msgbox(consumo_de_erosao_acumulado)
End While
For contador = 1 To 7
numero_a_converter(contador) = taxa_trabalho_ES(contador)
Next contador
mascara()
TextBox75.Text = texto_convertido(1)
TextBox122.Text = texto_convertido(2)
TextBox123.Text = texto_convertido(3)
TextBox124.Text = texto_convertido(4)
TextBox125.Text = texto_convertido(5)
TextBox126.Text = texto_convertido(6)
TextBox127.Text = texto_convertido(7)
' NUMERO DE EIXOS ADMISSIVEIS
For contador = 1 To 7
numero_a_converter(contador) = num_adm_es_erosao(contador)
Next contador
mascara1()
TextBox76.Text = texto_convertido(1)
TextBox128.Text = texto_convertido(2)
TextBox129.Text = texto_convertido(3)
TextBox130.Text = texto_convertido(4)
TextBox131.Text = texto_convertido(5)
76
TextBox132.Text = texto_convertido(6)
TextBox133.Text = texto_convertido(7)
' CONSUMO DE EROSAO
For contador = 1 To 7
numero_a_converter(contador) = consumo_fator_de_erosao_ES(contador)
Next contador
mascara()
TextBox77.Text = texto_convertido(1)
TextBox134.Text = texto_convertido(2)
TextBox135.Text = texto_convertido(3)
TextBox136.Text = texto_convertido(4)
TextBox137.Text = texto_convertido(5)
TextBox138.Text = texto_convertido(6)
TextBox139.Text = texto_convertido(7)
' POWER
For contador = 1 To 7
numero_a_converter(contador) = taxa_trabalho_ETD(contador)
Next contador
mascara()
TextBox189.Text = texto_convertido(1)
TextBox190.Text = texto_convertido(2)
TextBox191.Text = texto_convertido(3)
TextBox192.Text = texto_convertido(4)
TextBox193.Text = texto_convertido(5)
TextBox194.Text = texto_convertido(6)
TextBox195.Text = texto_convertido(7)
' NUMERO DE EIXOS ADMISSIVEIS
For contador = 1 To 7
numero_a_converter(contador) = num_adm_ETD_erosao(contador)
Next contador
mascara1()
TextBox196.Text = texto_convertido(1)
TextBox197.Text = texto_convertido(2)
TextBox198.Text = texto_convertido(3)
77
TextBox199.Text = texto_convertido(4)
TextBox200.Text = texto_convertido(5)
TextBox201.Text = texto_convertido(6)
TextBox202.Text = texto_convertido(7)
' CONSUMO DE EROSAO
For contador = 1 To 7
numero_a_converter(contador) = consumo_fator_de_erosao_etd(contador)
Next contador
mascara()
TextBox203.Text = texto_convertido(1)
TextBox204.Text = texto_convertido(2)
TextBox205.Text = texto_convertido(3)
TextBox206.Text = texto_convertido(4)
TextBox207.Text = texto_convertido(5)
TextBox208.Text = texto_convertido(6)
TextBox209.Text = texto_convertido(7)
End Sub
Sub CONVERTE_UNIDADES_INGLES_SI()
' CONVERSÃO DE UNIDADES DO SISTEMA INTERNACIONAL PARA O
INGLES
coef_recalque_sistema = coef_recalque_sistema * 0.271447244
altura_da_laje = altura_da_laje * 2.54
modulo_de_elasticidade = modulo_de_elasticidade * 0.0068948
End Sub
Sub mascara()
Dim contador As Single
Dim posição As Single
Dim linha_alfa As String
'transformação para impressão
For contador = 1 To 7
linha_alfa = Str(numero_a_converter(contador))
posição = InStr(linha_alfa, ".")
If posição Then
linha_alfa = linha_alfa + "00"
78
End If
If posição Then
linha_alfa = Mid$(linha_alfa, 1, posição + 2)
ElseIf numero_a_converter(contador) = 0 Then
linha_alfa = "0.00"
End If
'MsgBox(posição & " " & numero_a_converter(contador) & " " & linha_alfa)
texto_convertido(contador) = linha_alfa
Next contador
End Sub
Sub mascara1()
Dim contador As Single
Dim posição As Single
Dim linha_alfa As String
'transformação para impressão
For contador = 1 To 7
linha_alfa = Str(numero_a_converter(contador))
posição = InStr(linha_alfa, ".")
If posição = 0 And numero_a_converter(contador) > 0 Then
linha_alfa = linha_alfa + "."
posição = InStr(linha_alfa, ".")
End If
If posição Then
linha_alfa = Mid$(linha_alfa, 1, posição)
ElseIf numero_a_converter(contador) = 0 Then
linha_alfa = "0."
End If
'MsgBox(posição & " " & numero_a_converter(contador) & " " & linha_alfa)
texto_convertido(contador) = linha_alfa
Next contador
End Sub
Sub mascara2()
Dim contador As Single
Dim posição As Single
79
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button5.Click
End
End Sub
Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button9.Click
End
End Sub
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button7.Click
Panel2.Visible = False
Panel1.Visible = False
Panel3.Visible = False
Panel4.Visible = True
Panel5.Visible = False
End Sub
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button8.Click
Panel2.Visible = False
Panel1.Visible = False
Panel3.Visible = False
Panel5.Visible = True
End Sub
End Class
81
ANEXOS
82
DECLARAÇÃO
____________________________
Autenticação dessa assinatura, pelo
Francisco de Assis Aurélio Soares funcionário da Secretaria da Pós-
Graduação Lato Sensu
83