# Definir las funciones para el cálculo de la deformación térmica lineal, volumétrica y la tensión térmica def deformacion_lineal(L0, coef_expansion_lineal, delta_T): """ Calcula la deformación lineal térmica.
L0: Longitud inicial (m) coef_expansion_lineal: Coeficiente de expansión térmica lineal (°C^-1) delta_T: Cambio de temperatura (°C)
Retorna la deformación lineal en metros. """ return L0 * coef_expansion_lineal * delta_T def deformacion_volumetrica(V0, coef_expansion_volumetrica, delta_T): """ Calcula la deformación volumétrica térmica.
V0: Volumen inicial (m^3) coef_expansion_volumetrica: Coeficiente de expansión térmica volumétrica (°C^-1) delta_T: Cambio de temperatura (°C)
Retorna la deformación volumétrica en metros cúbicos. """ return V0 * coef_expansion_volumetrica * delta_T def tension_termica(E, delta_epsilon): """ Calcula la tensión térmica debido a la restricción térmica.
E: Módulo de elasticidad (Pa) delta_epsilon: Deformación volumétrica debido a la temperatura (adimensional)
Retorna la tensión térmica en Pascales (Pa). """ return E * delta_epsilon # Coeficientes de expansión térmica (en °C^-1) para algunos metales y materiales comunes # Estos valores son aproximados metales_y_materiales = { "Acero": { "lineal": 12e-6, "volumetrica": 36e-6, "E": 210e9 # Módulo de elasticidad en Pa }, "Aluminio": { "lineal": 22e-6, "volumetrica": 66e-6, "E": 70e9 # Módulo de elasticidad en Pa }, "Cobre": { "lineal": 16.5e-6, "volumetrica": 49.5e-6, "E": 110e9 # Módulo de elasticidad en Pa }, "Plomo": { "lineal": 29e-6, "volumetrica": 87e-6, "E": 14e9 # Módulo de elasticidad en Pa }, "Oro": { "lineal": 14e-6, "volumetrica": 42e-6, "E": 70e9 # Módulo de elasticidad en Pa }, "Hierro": { "lineal": 11e-6, "volumetrica": 33e-6, "E": 210e9 # Módulo de elasticidad en Pa }, "Titanio": { "lineal": 8.6e-6, "volumetrica": 25.8e-6, "E": 116e9 # Módulo de elasticidad en Pa }, "Níquel": { "lineal": 13e-6, "volumetrica": 39e-6, "E": 200e9 # Módulo de elasticidad en Pa }, "Hormigón": { "lineal": 10e-6, "volumetrica": 30e-6, "E": 30e9 # Módulo de elasticidad en Pa (aproximado) }, "Madera": { "lineal": 4.0e-6, # Típico para maderas duras "volumetrica": 12e-6, "E": 12e9 # Módulo de elasticidad en Pa (aproximado para madera dura) }, "Epoxi": { "lineal": 50e-6, # Epoxi típico "volumetrica": 150e-6, "E": 3.5e9 # Módulo de elasticidad en Pa (aproximado para epoxi) }, } # Solicitar los datos al usuario print("Selecciona el tipo de material:") for i, metal in enumerate(metales_y_materiales.keys(), 1): print(f"{i}. {metal}") # Entrada de tipo de material metal_choice = int(input(" Ingresa el número correspondiente al material: ")) - 1 material_selected = list(metales_y_materiales.keys())[metal_choice] # Entrada de longitud, volumen y cambio de temperatura L0 = float(input("Ingresa la longitud inicial (en metros): ")) V0 = float(input("Ingresa el volumen inicial (en metros cúbicos): ")) delta_T = float(input("Ingresa el cambio de temperatura (en °C): ")) # Calcular la deformación térmica y la tensión térmica para el material seleccionado propiedades = metales_y_materiales[material_selected] # Calcular la deformación lineal y volumétrica deformacion_lineal_result = deformacion_lineal(L0, propiedades["lineal"], delta_T) deformacion_volumetrica_result = deformacion_volumetrica(V0, propiedades["volumetrica"], delta_T) # Calcular la deformación con restricción térmica # Considerando una restricción térmica (suponiendo que hay restricción total de expansión) delta_epsilon = propiedades["volumetrica"] * delta_T * (1 - 2 * 0.3) # Suponemos un Poisson de 0.3 tension_termica_result = tension_termica(propiedades["E"], delta_epsilon) # Imprimir resultados print(f" Resultados para el material {material_selected}:") print(f" Deformación lineal: {deformacion_lineal_result*1000:.6f} mm") # Convertir a milímetros print(f" Deformación volumétrica: {deformacion_volumetrica_result*1e6:.6f} cm³") # Convertir a mm³ print(f" Tensión térmica: {tension_termica_result/1e6:.2f} MPa") # Convertir a MPa
# Definir las funciones para el cálculo de la deformación térmica lineal, volumétrica y la tensión térmica
def deformacion_lineal(L0, coef_expansion_lineal, delta_T):
"""
Calcula la deformación lineal térmica.
L0: Longitud inicial (m)
coef_expansion_lineal: Coeficiente de expansión térmica lineal (°C^-1)
delta_T: Cambio de temperatura (°C)
Retorna la deformación lineal en metros.
"""
return L0 * coef_expansion_lineal * delta_T
def deformacion_volumetrica(V0, coef_expansion_volumetrica, delta_T):
"""
Calcula la deformación volumétrica térmica.
V0: Volumen inicial (m^3)
coef_expansion_volumetrica: Coeficiente de expansión térmica volumétrica (°C^-1)
delta_T: Cambio de temperatura (°C)
Retorna la deformación volumétrica en metros cúbicos.
"""
return V0 * coef_expansion_volumetrica * delta_T
def tension_termica(E, delta_epsilon):
"""
Calcula la tensión térmica debido a la restricción térmica.
E: Módulo de elasticidad (Pa)
delta_epsilon: Deformación volumétrica debido a la temperatura (adimensional)
Retorna la tensión térmica en Pascales (Pa).
"""
return E * delta_epsilon
# Coeficientes de expansión térmica (en °C^-1) para algunos metales y materiales comunes
# Estos valores son aproximados
metales_y_materiales = {
"Acero": {
"lineal": 12e-6,
"volumetrica": 36e-6,
"E": 210e9 # Módulo de elasticidad en Pa
},
"Aluminio": {
"lineal": 22e-6,
"volumetrica": 66e-6,
"E": 70e9 # Módulo de elasticidad en Pa
},
"Cobre": {
"lineal": 16.5e-6,
"volumetrica": 49.5e-6,
"E": 110e9 # Módulo de elasticidad en Pa
},
"Plomo": {
"lineal": 29e-6,
"volumetrica": 87e-6,
"E": 14e9 # Módulo de elasticidad en Pa
},
"Oro": {
"lineal": 14e-6,
"volumetrica": 42e-6,
"E": 70e9 # Módulo de elasticidad en Pa
},
"Hierro": {
"lineal": 11e-6,
"volumetrica": 33e-6,
"E": 210e9 # Módulo de elasticidad en Pa
},
"Titanio": {
"lineal": 8.6e-6,
"volumetrica": 25.8e-6,
"E": 116e9 # Módulo de elasticidad en Pa
},
"Níquel": {
"lineal": 13e-6,
"volumetrica": 39e-6,
"E": 200e9 # Módulo de elasticidad en Pa
},
"Hormigón": {
"lineal": 10e-6,
"volumetrica": 30e-6,
"E": 30e9 # Módulo de elasticidad en Pa (aproximado)
},
"Madera": {
"lineal": 4.0e-6, # Típico para maderas duras
"volumetrica": 12e-6,
"E": 12e9 # Módulo de elasticidad en Pa (aproximado para madera dura)
},
"Epoxi": {
"lineal": 50e-6, # Epoxi típico
"volumetrica": 150e-6,
"E": 3.5e9 # Módulo de elasticidad en Pa (aproximado para epoxi)
},
}
# Solicitar los datos al usuario
print("Selecciona el tipo de material:")
for i, metal in enumerate(metales_y_materiales.keys(), 1):
print(f"{i}. {metal}")
# Entrada de tipo de material
metal_choice = int(input("
Ingresa el número correspondiente al material: ")) - 1
material_selected = list(metales_y_materiales.keys())[metal_choice]
# Entrada de longitud, volumen y cambio de temperatura
L0 = float(input("Ingresa la longitud inicial (en metros): "))
V0 = float(input("Ingresa el volumen inicial (en metros cúbicos): "))
delta_T = float(input("Ingresa el cambio de temperatura (en °C): "))
# Calcular la deformación térmica y la tensión térmica para el material seleccionado
propiedades = metales_y_materiales[material_selected]
# Calcular la deformación lineal y volumétrica
deformacion_lineal_result = deformacion_lineal(L0, propiedades["lineal"], delta_T)
deformacion_volumetrica_result = deformacion_volumetrica(V0, propiedades["volumetrica"], delta_T)
# Calcular la deformación con restricción térmica
# Considerando una restricción térmica (suponiendo que hay restricción total de expansión)
delta_epsilon = propiedades["volumetrica"] * delta_T * (1 - 2 * 0.3) # Suponemos un Poisson de 0.3
tension_termica_result = tension_termica(propiedades["E"], delta_epsilon)
# Imprimir resultados
print(f"
Resultados para el material {material_selected}:")
print(f" Deformación lineal: {deformacion_lineal_result*1000:.6f} mm") # Convertir a milímetros
print(f" Deformación volumétrica: {deformacion_volumetrica_result*1e6:.6f} cm³") # Convertir a mm³
print(f" Tensión térmica: {tension_termica_result/1e6:.2f} MPa") # Convertir a MPa