Você pode calcular facilmente a tensão de cisalhamento para fluidos plásticos de Bingham usando a biblioteca Python UliEngineering. O modelo plástico de Bingham descreve fluidos que se comportam como sólidos em baixa tensão de cisalhamento e fluem como líquidos acima de uma tensão de escoamento:
from UliEngineering.Physics.Viscosity import bingham_stress, BinghamConstants
from UliEngineering.EngineerIO import *
# Calcular tensão de Bingham com constantes padrão
gamma = 10.0 # Taxa de cisalhamento em s^-1
tau = bingham_stress(gamma)
print(f"Shear stress at {gamma} s^-1: {format_value(tau, 'Pa')}")
# Calcular tensão de Bingham para lama de perfuração
drilling_mud = BinghamConstants(name='Drilling mud', tau0=20.0, mu_p=0.3)
gamma = 25.0
tau = bingham_stress(gamma, drilling_mud)
print(f"Drilling mud shear stress at {gamma} s^-1: {format_value(tau, 'Pa')}")
# Calcular tensão de Bingham para pasta de dente
toothpaste = BinghamConstants(name='Toothpaste', tau0=50.0, mu_p=0.5)
gamma = 5.0
tau = bingham_stress(gamma, toothpaste)
print(f"Toothpaste shear stress at {gamma} s^-1: {format_value(tau, 'Pa')}")Exemplo de saída
Shear stress at 10.0 s^-1: 11.0 Pa
Drilling mud shear stress at 25.0 s^-1: 27.5 Pa
Toothpaste shear stress at 5.0 s^-1: 52.5 PaO modelo plástico de Bingham é dado por:
$$ \tau = \tau_0 + \mu_p \cdot \dot{\gamma} $$onde $\tau$ é a tensão de cisalhamento, $\tau_0$ é a tensão de escoamento (tensão mínima necessária para iniciar o fluxo), $\mu_p$ é a viscosidade plástica, e $\dot{\gamma}$ é a taxa de cisalhamento.
Plásticos de Bingham são fluidos não-Newtonianos que exibem uma tensão de escoamento abaixo da qual se comportam como sólidos. Acima desta tensão de escoamento, eles fluem com uma viscosidade plástica constante. Exemplos comuns incluem lamas de perfuração, pasta de dente, tintas e certos produtos alimentícios como ketchup.
O gráfico acima mostra o modelo plástico de Bingham para vários materiais ao longo de uma faixa de taxas de cisalhamento. Note que todos os materiais têm uma interceptação não-zero (tensão de escoamento) e então aumentam linearmente com a taxa de cisalhamento, com a inclinação determinada pela viscosidade plástica.
A biblioteca UliEngineering fornece o dataclass BinghamConstants para definir parâmetros de tensão de escoamento e viscosidade plástica específicos do material. Se nenhuma constante for fornecida, valores de exemplo padrão (τ₀ = 10 Pa, μₚ = 0,1 Pa·s) são usados.
Posts relacionados
- Como calcular a taxa de fluxo de Poiseuille em Python usando UliEngineering
- Como calcular o arrasto de Stokes em Python usando UliEngineering
- Como calcular o número de Reynolds em Python usando UliEngineering
Script de geração do gráfico
#!/usr/bin/env python3
import matplotlib.pyplot as plt
import numpy as np
import sys
sys.path.insert(0, '/home/uli/dev/UliEngineering')
from UliEngineering.Physics.Viscosity import (
bingham_stress,
BinghamConstants,
)
# Faixa de taxa de cisalhamento para plotagem
gamma = np.linspace(0, 50, 100) # 0 a 50 s^-1
# Criar gráfico
plt.figure(figsize=(10, 6))
# Plotar para diferentes materiais Bingham
materials = [
('Drilling mud', BinghamConstants(name='Drilling mud', tau0=20.0, mu_p=0.3), 'blue'),
('Toothpaste', BinghamConstants(name='Toothpaste', tau0=50.0, mu_p=0.5), 'green'),
('Paint', BinghamConstants(name='Paint', tau0=10.0, mu_p=0.1), 'red'),
('Clay slurry', BinghamConstants(name='Clay slurry', tau0=15.0, mu_p=0.2), 'purple'),
]
for name, constants, color in materials:
tau = bingham_stress(gamma, constants)
plt.plot(gamma, tau, label=name, color=color, linewidth=2)
plt.xlabel('Shear Rate (s⁻¹)', fontsize=12)
plt.ylabel('Shear Stress (Pa)', fontsize=12)
plt.title('Bingham Plastic Model for Various Materials', fontsize=14, fontweight='bold')
plt.legend(loc='upper left', fontsize=10)
plt.grid(True, alpha=0.3)
plt.tight_layout()
plt.savefig('bingham_plot.svg', format='svg', dpi=300)
print("Plot saved to bingham_plot.svg")