Você está aqui: Python ::: Python para Engenharia ::: Engenharia Civil - Cálculo Estrutural

Como calcular o Momento Fletor Mínimo e a Excentricidade Mínima de 1ª Ordem de um pilar em Python - Python para Engenharia Civil e Cálculo Estrutural

Quantidade de visualizações: 221 vezes


O cálculo e dimensionamento de pilares, sejam pilares de canto, extremidade ou intermediários, sempre seguem alguns passos cujas ordens são muito importantes, pois os dados de entrada de um passo podem vir de um ou mais passos anteriores.

Em dicas anteriores do uso da linguagem Python no cálculo de pilares eu mostrei como calcular os esforços solicitantes majorados em pilares e também como calcular o índice de esbeltez de um pilar nas direções x e y.

Nesta dica mostrarei como calcular o Momento Fletor Mínimo e a Excentricidade Mínima de 1ª Ordem de um pilar. Estes dados são muito importantes para a aplicação das fórmulas que embasam a área de aço a ser usada no pilar. Note que a Excentricidade Mínima de 1ª Ordem pode ser desprezada no caso de pilares intermediários (também chamados pilares de centro).

O Momento Fletor Mínimo é o momento mínimo que deve ser considerado, mesmo em pilares nos quais a carga está centrada, e é calculado por meio da seguinte fórmula:

\[M_\text{1d,min} = Nd \cdot (1,5 + (0,03 \cdot h) \]

Onde:

M1d,min é o momento fletor mínimo na direção x ou y em kN.cm.

Nd são os esforços solicitantes majorados em kN.

h é a dimensão do pilar na direção considerada (x ou y) em cm.

A Excentricidade Mínima de 1ª Ordem do pilar pode ser calculada por meio da fórmula:

\[e_\text{1,min} = \frac{M_\text{1d,min}}{Nd} \]

Onde:

e1,min é excentricidade mínima de 1ª ordem na direção escolhida.

Nd são os esforços solicitantes majorados em kN.

Note que, a exemplo do momento fletor mínimo, a excentricidade mínima de 1ª ordem também deve ser calculada nas direções x e y do pilar.

Vamos ao código Python agora? Veja que o código pede para o usuário informar as dimensões do pilar nas direções x e y em centímetros, a carga total que chega ao pilar em kN e mostra o momento fletor mínimo e a excentricidade mínima de 1ª ordem no pilar, tanto na direção x quanto na direção y:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# método principal
def main():
  # vamos pedir as dimensões do pilar
  hx = float(input("Informe a dimensão do pilar na direção x (em cm): "))
  hy = float(input("Informe a dimensão do pilar na direção y (em cm): "))

  # vamos pedir a carga total no pilar em kN
  Nk = float(input("Informe a carga total no pilar (em kN): "))

  # vamos obter o menor lado do pilar (menor dimensão da seção transversal)
  if (hx < hy):
    b = hx
  else:
    b = hy
   
  # agora vamos calcular a área do pilar em centímetros quadrados
  area = hx * hy
 
  # a área está de acordo com a norma NBR 6118 (ABNT, 2014)
  if (area < 360):
    print("A área do pilar não pode ser inferior a 360cm2")
    return

  # vamos calcular a força normal de projeto Nd
  yn = 1.95 - (0.05 * b) # de acordo com a norma NBR 6118 (ABNT, 2014) Tabela 13.1
  yf = 1.4 # regra geral para concreto armado
  Nd = yn * yf * Nk

  # e agora vamos calcular o momento fletor mínimo na direção x do pilar
  M1d_min_x = Nd * (1.5 + (0.03 * hx))

  # e agora vamos calcular o momento fletor mínimo na direção y do pilar
  M1d_min_y = Nd * (1.5 + (0.03 * hy))

  # agora vamos calcular a excentricidade mínima de 1ª ordem na direção x do pilar
  e1x_min = M1d_min_x / Nd

  # e finalmente a excentricidade mínima de 1ª ordem na direção y do pilar
  e1y_min = M1d_min_y / Nd

  # e mostramos os resultados
  print("\nO momento fletor mínimo na direção x é: {0} kN.cm".format(
    round(M1d_min_x, 2)))
  print("O momento fletor mínimo na direção y é: {0} kN.cm".format(
    round(M1d_min_y, 2)))
  print("A excentricidade mínima de 1ª ordem na direção x é: {0} cm".format(
    round(e1x_min, 2)))
  print("A excentricidade mínima de 1ª ordem na direção y é: {0} cm".format(
    round(e1y_min, 2)))

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

Informe a dimensão do pilar na direção x (em cm): 40
Informe a dimensão do pilar na direção y (em cm): 19
Informe a carga total no pilar (em kN): 841.35

O momento fletor mínimo na direção x é: 3180.3 kN.cm
O momento fletor mínimo na direção y é: 2438.23 kN.cm
A excentricidade mínima de 1ª ordem na direção x é: 2.7 cm
A excentricidade mínima de 1ª ordem na direção y é: 2.07 cm

Link para compartilhar na Internet ou com seus amigos:

Python ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como criar um laço while() infinito na linguagem Python

Quantidade de visualizações: 9955 vezes
Nesta dica eu mostrarei como é possível criar um laço (loop) while infinito em Python. Esta técnica é útil para as situações nas quais queremos interagir com o usuário do nosso programa até que um determinado valor seja informado.

No exemplo abaixo temos um laço while() que será executado até que o texto "fim" seja informado pelo usuário.

Veja o código completo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

def main():
  while True:
    frase = input("Digite uma frase: ");
    print("Você digitou: ", frase)
 
    # vamos sair do laço
    if frase == "fim":
      print("Você acaba de sair do laço while()")
      break
 
if __name__== "__main__":
  main()

Ao executar este código nós teremos o seguinte resultado:

Digite uma frase: Estou estudando Python
Você digitou: Estou estudando Python
Digite uma frase: Preciso viajar amanhã
Você digitou: Preciso viajar amanhã
Digite uma frase: fim
Você digitou: fim
Você acaba de sair do laço while()


Python ::: Python para Engenharia ::: Cálculo Diferencial e Integral

Como calcular o limite de uma função usando Python e a biblioteca Sympy - Python para Engenharia

Quantidade de visualizações: 4282 vezes
Como calcular o limite de uma função usando Python e a biblioteca Sympy

Citando a Wikipédia: Na matemática, o limite de uma função é um conceito fundamental em cálculo e análise sobre o comportamento desta função quando próxima a um valor particular de sua variável independente. Informalmente, diz-se que __$\text{L}__$ é o limite da função __$\text{f(x)}__$ quando __$\text{x}__$ tende a __$\text{p}__$, escreve-se

\[ \lim_{x \to p} f(x) = L \]

quando __$\text{f(x)}__$ está arbitrariamente próximo de __$\text{L}__$ para todo __$\text{x}__$ suficientemente próximo de __$\text{p}__$. O conceito de limite pode ser estendido para funções de varias variáveis.

A biblioteca SymPy da linguagem Python facilita muito o trabalho de se calcular limites. É claro que é sempre uma boa idéia saber calcular o limite de uma função "na mão" mesmo, até para sabermos se nosso código Python está correto. No entanto, em algumas situações, lançar mão da função limit() da SymPy nos poupará um tempo incrível.

Dessa forma, a sintáxe para o cálculo do limite na SymPy segue o padrão limit(função, variável, ponto). Então, se quisermos calcular o limite de f(x) com x tendendo a 0, só precisamos fazer limit(f, x, 0).

Vamos colocar esse conhecimento em prática então? Veja o seguinte limite:

\[ \lim_{x \to 1} 5x^2 + 2x \]

Agora observe o código Python completo que calcula e retorna o limite desta função:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# vamos importar a biblioteca SymPy
from sympy import * 

def main():
  # vamos definir o símbolo x
  x = symbols("x")
  # definimos a função
  f = (5 * x ** 2) + (2 * x) 
  # finalmente calculamos o limite
  limite = limit(f, x, 1)
  # e mostramos o resultado
  print("O limite da função é: %f." % limite)

if __name__== "__main__":
  main()

Ao executar este código nós teremos o seguinte resultado:

O limite da função é: 7.000000.

Logo, o limite da função no ponto __$\text{x}__$ = 1 vale 7, em outras palavras, 7 é o valor que __$f(5x^2 + 2x)__$ deveria ter em 1 para ser contínua nesse ponto.

Vamos ver mais um exemplo? Observe o seguinte limite:

\[ \lim_{x \to 1} \left(\frac{x^2 - 1}{x - 1}\right) \]

Aqui temos um situação interessante. Note que temos que fazer uma manipulação algébrica na expressão, fatorando os termos. Porém, mesmo em situações assim o método limit() da Sympy consegue interpretar a expressão simbólica corretamente e nos devolver o limite esperado. Veja o código Python completo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# vamos importar a biblioteca SymPy
from sympy import * 

def main():
  # vamos definir o símbolo x
  x = symbols("x")
  # definimos a função
  f = (x ** 2 - 1) / (x - 1) 
  # finalmente calculamos o limite
  limite = limit(f, x, 1)
  # e mostramos o resultado
  print("O limite da função é: %f." % limite)

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

O limite da função é: 2.000000.


Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear

Como converter Coordenadas Polares para Coordenadas Cartesianas usando Python - Python para Engenharia

Quantidade de visualizações: 5527 vezes
Nesta nossa série de Python para Geometria Analítica e Álgebra Linear, mostrarei um código 100% funcional para fazer a conversão entre coordenadas polares e coordenadas cartesianas. Esta operação é muito frequente em computação gráfica e é parte integrante das disciplinas dos cursos de Engenharia (com maior ênfase na Engenharia Civil).

Na matemática, principalmente em Geometria e Trigonometria, o Sistema de Coordenadas Polares é um sistema de coordenadas em duas dimensões no qual cada ponto no plano é determinado por sua distância a partir de um ponto de referência conhecido como raio (r) e um ângulo a partir de uma direção de referência. Este ângulo é normalmente chamado de theta (__$\theta__$). Assim, um ponto em Coordenadas Polares é conhecido por sua posição (r, __$\theta__$).

Já o sistema de Coordenadas no Plano Cartesiano, ou Espaço Cartesiano, é um sistema que define cada ponto em um plano associando-o, unicamente, a um conjuntos de pontos numéricos.

Dessa forma, no plano cartesiano, um ponto é representado pelas coordenadas (x, y), com o x indicando o eixo horizontal (eixo das abscissas) e o y indicando o eixo vertical (eixo das ordenadas). Quando saímos do plano (espaço 2D ou R2) para o espaço (espaço 3D ou R3), temos a inclusão do eixo z (que indica profundidade).

Antes de prosseguirmos, veja uma imagem demonstrando os dois sistemas de coordenadas:



A fórmula para conversão de Coordenadas Polares para Coordenadas Cartesianas é:

x = raio × coseno(__$\theta__$)
y = raio × seno(__$\theta__$)

E aqui está o código Python completo que recebe as coordenadas polares (r, __$\theta__$) e retorna as coordenadas cartesianas (x, y):

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# importamos a biblioteca NumPy
import math as math
  
def main():
  # vamos ler o raio e o ângulo
  raio = float(input("Informe o raio: "))
  theta = float(input("Informe o theta: "))
  graus = input("Theta em graus (1) ou radianos (2): ")

  # o theta está em graus?
  if graus == "1":
    theta = theta * (math.pi / 180.0)      
  
  # fazemos a conversão para coordenadas cartesianas 
  x = raio * math.cos(theta)
  y = raio * math.sin(theta)

  # exibimos o resultado
  print('As Coordenadas Cartesianas são: (x = %0.2f, y = %0.2f)' %(x, y)) 

if __name__== "__main__":
  main()

Ao executar este código nós teremos o seguinte resultado:

Informe o raio: 1
Informe o theta: 1.57
Theta em graus (1) ou radianos (2): 2
As Coordenadas Cartesianas são: (x = 0.00, y = 1.00)


Desafios, Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 19 usuários muito felizes estudando em nosso site.