Você está aqui: Python ::: Python para Engenharia ::: Engenharia Civil - Cálculo Estrutural |
Como calcular a Posição da Linha Neutra em vigas de concreto armado usando Python - Python para Engenharia Civil - Cálculo EstruturalQuantidade de visualizações: 50 vezes |
O concreto possui excelente resistência à compressão, porém, sua resistência à tração é muito pequena, chegando em torno de 10% da sua resistência à compressão. O aço, por sua vez, apresenta alta resistência à tração. Por esta razão a combinação destes dois materiais resulta no que conhecemos por concreto armado, no qual o concreto, no caso das vigas, resiste às solicitações de compressão (em geral na parte superior da viga) e o aço se encarrega da tração (na parte inferior da viga). Entre as forças de compressão e tração da viga de concreto armado existe uma região na qual as tensões são nulas, ou seja, não há nem tração nem compressão. Essa região é conhecida como linha neutra da viga e é usada, entre outras coisas, para verificarmos se a viga se encontra nas condições mínimas de dutibilidade exigidas pela ABNT NBR 6118/2014. Outra característica muito importante da linha neutra é que ela nos permite indicar em qual domínio de deformação as nossas vigas de concreto armado estão trabalhando. A posição da linha neutra em vigas de concreto armado pode ser calculada por meio da seguinte fórmula: \[x = 1,25 \cdot d \cdot \left(1 - \sqrt{1 - \frac{M_d}{0,425 \cdot b_w \cdot d^2 \cdot f_\text{cd}}}\right)\] Onde: x é a posição da linha neutra a partir da fibra mais comprimida da viga, em metros (que depois convertemos para cm); d é a altura útil da viga em metros; Md é o momento solicitante de cálculo na viga, em kN.m; bw é a largura da viga, em metros; fcd é a resistência de cálculo do concreto, em kN/m2; Veja agora o código Python completo que pede para o usuário informar a altura e largura da viga em centímetros, o momento solicitante na viga em kN.m e o FCK do concreto em Mpa, mostra a posição da linha neutra da viga e informa se ela obedece ao valor máximo imposto pela ABNT NBR 6118/2014 e também o domínio de deformação que ela está atuando: ---------------------------------------------------------------------- Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar) Este código foi útil? Paga um cafezinho pra mim :-( PIX: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # precisamos importar o módulo Math import math # função principal do programa Python def main(): # vamos pedir para o usuário informar a altura da viga altura = float(input("Informe a altura H da viga em cm: ")) # vamos converter de centímetros para metros altura = altura / 100.00 # vamos pedir para o usuário informar a largura da viga largura = float(input("Informe a largura bw da viga em cm: ")) # vamos converter de centímetros para metros largura = largura / 100.00 # vamos calcular a altura útil da viga # aqui eu usei 0.9 mas alguns engenheiros usam 0.95 altura_util = 0.9 * altura # vamos pedir para o usuário informar o momento # máximo solicitante Mk (calculado no Ftool ou outra ferramenta) Mk = float(input("Informe o momento solicitante Mk em kN.m: ")) # vamos definir o valor do gama f yf = 1.4 # calculamos o md, ou seja, o momento solicitante de cálculo Md = Mk * yf # vamos pedir para o usuário informar o FCK do concreto fck = float(input("Informe o FCK do concreto em Mpa: ")) # vamos definir o valor do gama c yc = 1.4 # calculamos o fcd, ou seja, a resistência de cálculo do concreto fcd = fck / yc # finalmente vamos calcular a posição da linha neutra # note que converti o fcd de Mpa para kN/m2 x = 1.25 * altura_util * (1 - math.sqrt(1 - (Md / (0.425 * largura * math.pow(altura_util, 2) * (fcd * 1000.0))))) # vamos mostrar os resultados print("\nA altura útil da viga é: {0} cm ({1} m)".format( round(altura_util * 100, 5), round(altura_util, 5))) print("O momento solicitante de cálculo é: {0} kN.m".format( round(Md, 5))) print("O fcd do concreto é: {0} Mpa".format(round(fcd, 5))) print("A posição da linha neutra é: {0} cm".format(round(x * 100.0, 5))) # vamos verificar se a posição da linha neutra está dentro do # limite máximo imposto pela ABNT NBR 6118/2014 para FCK até 50 Mpa if ((x / altura_util) <= 0.45): print("Garante condições mínimas de dutibilidade? SIM") else: print("Garante condições mínimas de dutibilidade? NÃO") # vamos verificar o domínio de deformação da vaga temp = x / altura_util if (temp <= 0.167): print("A viga está trabalhando no domínio 1") elif ((temp > 0.167) and (temp <= 0.259)): print("A viga está trabalhando no domínio 2") elif ((temp > 0.259) and (temp <= 0.628)): print("A viga está trabalhando no domínio 3") else: print("A viga está trabalhando no domínio 4/5") if __name__ == "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Informe a altura H da viga em cm: 35 Informe a largura bw da viga em cm: 19 Informe o momento solicitante Mk em kN.m: 32.3 Informe o FCK do concreto em Mpa: 25 A altura útil da viga é: 31.5 cm (0.315 m) O momento solicitante de cálculo é: 45.22 kN.m O fcd do concreto é: 17.85714 Mpa A posição da linha neutra é: 6.81136 cm Garante condições mínimas de dutibilidade? SIM A viga está trabalhando no domínio 2 |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
JavaScript - Como remover elementos duplicados de um array em JavaScript usando as funções filter() e indexOf() do objeto Array Python - Como repetir os elementos de um vetor ou matriz usando a função repeat() da NumPy do Python |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |