thermodynamics-and-heat-transfer
Como realizar uma análise termodinâmica de um motor Otto Cycle usando Matlab
Table of Contents
Compreender o modelo de ciclo Air-Standard Otto
O ciclo Otto é a idealização termodinâmica do motor de ignição por faísca de quatro tempos. Substitui os processos complexos de admissão, compressão, combustão e exaustão com quatro passos reversíveis que isolam os mecanismos essenciais de conversão de energia. No modelo padrão do ar, o fluido de trabalho é ar (tratado como um gás ideal com calores específicos constantes), a combustão é aproximada como adição instantânea de calor em volume constante, e o escape é substituído por rejeição de calor de volume constante. Esta simplificação permite o cálculo direto de temperaturas, pressões, saída de trabalho e eficiência térmica, tornando-se um primeiro passo indispensável para compreender o aumento do desempenho do motor.
Os quatro processos que formam o ciclo são:
- Compressão isentrópica (1→2): O pistão comprime a carga sem transferência de calor, aumentando a temperatura e a pressão.
- Adição de calor constante (2→3): Uma libertação instantânea de energia (representando combustão) no centro morto eleva a temperatura e a pressão para os seus valores máximos.
- Expansão isentrópica (3→4): Os gases de alta pressão empurram o pistão para baixo, entregando trabalho líquido para o virabrequim.
- Rejeição de calor constante (4→1): O conteúdo do cilindro perde calor de volta ao estado inicial, fechando o ciclo.
Como o modelo utiliza uma constante relação de calor específica e ignora a troca de gás, fornece uma referência rápida que pode ser sistematicamente refinada. A implementação deste ciclo no MATLAB oferece-lhe uma ferramenta flexível e interativa para explorar como a relação de compressão, a adição de calor e as propriedades dos fluidos afetam o desempenho. A suposição do ar-padrão[] também fornece um limite superior conveniente na eficiência; motores reais sempre ficam aquém devido a atrito, perdas de calor e combustão incompleta.
Configurar um Ambiente MATLAB Estruturado
Comece criando um novo arquivo de script ou função. Um espaço de trabalho limpo torna a depuração e futuras modificações simples. Use um cabeçalho descritivo que documenta o propósito, parâmetros de entrada e saídas. Pré- aloca arrays para variáveis de estado ao varrer parâmetros para evitar redimensionamento dinâmico de sobrecarga. Adote nomes significativos de variáveis como [[FLT: 0]] em vez de apenas [[ FLT: 1]] (embora [[FLT: 2]]] seja padrão em textos termodinâmicos) e mantenha unidades consistentes em toda (unidades do SI recomendadas). Um bloco de cabeçalho típico pode ler:
% otto_cycle_analysis.m % Air‑standard Otto cycle analysis % Inputs: % r – compression ratio (dimensionless) % T1, P1 – intake state (K, Pa) % gamma – specific heat ratio (cp/cv) % Q_in – specific heat addition (J/kg) % Outputs: % state_table – array of T, P, v at four corners % W_net, eta – specific net work (J/kg) and thermal efficiency
Usando os arrays incorporados ou da MATLAB para armazenar os quatro estados melhora a legibilidade quando você plotar ou exportar resultados mais tarde. Por exemplo, criar um array de estrutura com campos , , indexado de 1 a 4. Isso faz com que as propriedades de estado de referência intuitivo: ] dê a temperatura após a combustão.
Definir os Parâmetros Críticos do Motor
A precisão da simulação depende dos dados de entrada. No mínimo, especificar a relação de compressão, pressão de admissão e temperatura, a relação de calor específica, e a energia adicionada por unidade de massa. Os valores típicos para um motor a gasolina são:
- Rácio de compressão r: 8-12 para motores de ignição por faísca modernos; rácios mais elevados melhoram a eficiência mas aumentam o risco de colisão.Em motores de investigação, rácios tão elevados como 14 são por vezes explorados com combustíveis avançados.
- Temperatura de admissão T1: 300 K (ambiente) ou 350 K se for responsável pelo aquecimento do ar de admissão a partir do colector e dos gases residuais.
- Pressão de admissão P1: 101325 Pa (1 atm) para aspirados naturais; até 200 kPa ou mais para motores turboalimentados.
- Rácio específico de calor γ: 1,4 para o ar seco; 1,3–1,35 para as misturas de ar combustível e produtos de combustão devido à presença de moléculas tri-atômicos como CO2 e H2O.
- Adição específica de calor Q in: aproximadamente 2,5-3 MJ/kg para gasolina com base no valor de aquecimento mais baixo e na relação ar-combustível estequiométrico. Para uma gasolina típica, o valor de aquecimento mais baixo é de cerca de 44 MJ/kg, mas misturado com ar (aproximadamente 14,7:1 relação ar-combustível), a densidade de energia da mistura torna-se de cerca de 2,9 MJ/kg de mistura.
Defina como variáveis MATLAB no topo do script para que possam ser facilmente alteradas para estudos de sensibilidade.
r = 9.0; % compression ratio T1 = 300; % K P1 = 101325; % Pa gamma = 1.35; % approximate for fuel‑air mixture Q_in = 2500e3; % J/kg R_air = 287; % J/(kg·K)
Você também pode incluir a massa molar do ar (28,97 g/mol) se você mudar para cálculos baseados em molas. Manter a constante do gás explícita evita erros unitários.
Computação dos Quatro Estados de Canto
Com os parâmetros definidos, as relações ar-padrão dão os pontos de estado diretamente. A análise é por unidade de massa, então trabalhamos com volume específico. Ajustando o volume de depuração para unidade (v2 = 1) simplifica a escala relativa; então v1 = r porque a razão de compressão v1/v2 = r. Esta normalização é conveniente porque todos os volumes são expressos em relação ao volume de depuração.
Estado 1 (Intake, Bottom Dead Centre)
v1 = r; % relative to clearance volume % T1 and P1 are inputs
Estado 2 (Compressão Isentrópica para o Centro Top Dead)
Para um processo isentrópico com γ constante:
v2 = 1; T2 = T1 * r^(gamma-1); P2 = P1 * r^gamma;
Estas relações derivam da lei do gás ideal e da relação politrópica P v^γ = constante. A subida de temperatura através da compressão é significativa: para r=9 e γ=1,35, T2 . .. 300 × 9^(0,35) .
Estado 3 (Adição de calor Constant-Volume)
Primeiro, computar o calor específico em volume constante:
cv = R_air / (gamma-1); T3 = T2 + Q_in / cv; P3 = P2 * (T3 / T2); v3 = v2; % no volume change
A temperatura no estado 3 pode exceder 2500 K para combustão de gasolina típica. P3 pressão de pico muitas vezes atinge 60-80 bar, que define requisitos estruturais para o bloco do motor e cabeça.
Estado 4 (Expansão Isentrópica para Volume Original)
A razão de expansão de TDC para BDC é r, mas em termos de volumes específicos v3 = v2 = 1 e v4 = v1 = r, então a razão de volume é 1/r.
v4 = v1; T4 = T3 * (1/r)^(gamma-1); P4 = P3 * (1/r)^gamma;
Estes quatro pontos definem completamente o ciclo em termos de temperatura, pressão e volume específico. Armazená-los em arrays para posterior plotagem e cálculo. Uma validação útil é verificar se P4 está ligeiramente acima de P1; a diferença impulsiona o escape de explosão.
Calculando o trabalho líquido, eficiência térmica e pressão média eficaz
O trabalho específico líquido é a diferença entre o calor adicionado e o calor rejeitado. Para o modelo padrão de ar, o calor rejeitado no processo 4→1 é:
Q_out = cv * (T4 - T1); W_net = Q_in - Q_out;
A eficiência térmica é:
eta = W_net / Q_in; % from energy balance eta_direct = 1 - 1/r^(gamma-1); % direct formula % Both should match within numerical round-off
A pressão efetiva (MEP) é uma métrica de desempenho que compara o trabalho líquido por ciclo com o volume de deslocamento. Para o ciclo padrão-ar, o volume de deslocamento específico é v1 – v2 = r – 1. Portanto:
mep = W_net / (v1 - v2); % Pa
O PEM é independente do tamanho do motor e é um indicador conveniente da qualidade do design do motor. Valores típicos para motores a gasolina naturalmente aspirados são 8-12 bar (0,8–1,2 MPa). O PEM de saída ao lado da eficiência para fornecer uma imagem mais completa. Você também pode converter para barra para legibilidade: .
Incluindo calores específicos variáveis para uma precisão melhorada
A suposição constante-γ pode superestimar a eficiência porque os gases de escape reais têm menores relações de calor específicas em altas temperaturas. Para explicar isso, substitua o γ constante por uma correlação temperatura-dependente. Um método robusto é usar os coeficientes polinomiais da NASA para cp[[[] das principais espécies (O2, N2, CO2, H2O). A mistura NIST Chemistry WebBook fornece esses coeficientes para substâncias puras. Para o modelo padrão de ar, você pode aproximar o fluido de trabalho como ar seco ou uma mistura de “produto de combustão” com uma composição fixa.
A variável de implementação γ requer uma solução iterativa porque o expoente isentrópico depende da temperatura desconhecida. Use o de MATLAB ou um loop simples. Por exemplo, durante a compressão isentrópica, a relação torna-se:
% Use an anonymous function to find T2 such that % integral of cp dT from T1 to T2 = R * ln(v1/v2) % This replaces the constant‑gamma formula. % For air, cp(T) can be approximated by: % cp = a0 + a1*T + a2*T^2 + a3*T^3 + a4*T^4 % Using NASA 7-coefficient polynomials. fun = @(T2) integral(@(T) polyval(cp_coeffs, T), T1, T2) - R_air * log(r); T2 = fzero(fun, T1 * r^0.4);
O recurso polinomial NASA oferece coeficientes para download para espécies de ar e combustão. Modifique seu script para carregar esses coeficientes e chamá-los durante os cálculos de estado. Você observará que os calores específicos variáveis reduzem a eficiência prevista em 2–5 pontos percentuais em razões de compressão típicas, que se alinham de perto com dados reais do motor.
Para uma aproximação rápida sem integração polinomial completa, use uma razão de calor específica média que varia linearmente com a temperatura: γ(T) = 1,4 – 0,00005*(T – 300). Esta correlação simples captura a tendência e pode ser implementada em um loop de tempo até convergência.
Construindo uma Análise Modular-Driven
Em vez de um script monolítico, encapsule a lógica do ciclo numa função MATLAB. Isto torna- o reutilizável para varreduras de parâmetros e reduz a duplicação de código. Um esqueleto de função é mostrado abaixo:
function [states, performance] = ottoCycle(r, T1, P1, Q_in, gamma, R_air) % states: structure with T, P, v for states 1-4 % performance: structure with W_net, eta, mep % (calculation code from previous section goes here) end
Para calores específicos variáveis, adicionar uma bandeira de fluido:
function [states, performance] = ottoCycle(r, T1, P1, Q_in, fluid_type) % fluid_type: 'constant_gamma' or 'variable_cp' % (logic branches based on flag) end
Com a função no lugar, um script do driver pode varrer através de razões de compressão:
r_values = 6:1:14; for i = 1:length(r_values) [~, perf] = ottoCycle(r_values(i), 300, 101325, 2500e3, 'constant_gamma'); eta(i) = perf.eta; mep(i) = perf.mep; end plot(r_values, eta*100, 'b-', r_values, mep/1e5, 'r--');
Esta abordagem modular mostra imediatamente os retornos decrescentes do aumento da taxa de compressão para além de 12. O gráfico destaca um trade-off chave: a eficiência continua a aumentar, mas a uma taxa decrescente, enquanto o PEM muitas vezes atinge um pico em torno de r=10 para entradas de calor típicas.
Gerando Diagramas de Diagnóstico P-V e T-S
A visualização ajuda a verificar o modelo e comunicar resultados. As funções de plotagem da MATLAB produzem diagramas de qualidade de publicação.
Diagrama de pressão-volume (P-V)
As curvas de compressão e expansão seguem P v^γ = constante. Gerar uma série de pontos intermediários para curvas lisas:
n = 50;
v_comp = linspace(v2, v1, n); % reverse direction for plotting
P_comp = P2 * (v_comp ./ v2).^(-gamma);
v_exp = linspace(v3, v4, n);
P_exp = P3 * (v_exp ./ v3).^(-gamma);
figure;
hold on;
plot(v_comp, P_comp, 'b', 'LineWidth', 1.5);
plot(v_exp, P_exp, 'b', 'LineWidth', 1.5);
plot([v2 v3], [P2 P3], 'r--', 'LineWidth', 1.2);
plot([v4 v1], [P4 P1], 'r--', 'LineWidth', 1.2);
xlabel('Specific volume (relative)'); ylabel('Pressure (Pa)');
title('Air‑Standard Otto Cycle P–V Diagram');
legend('Compression', 'Expansion', 'Heat addition', 'Heat rejection');
grid on;
A área fechada representa o trabalho da rede. Você pode integrar numericamente o loop usando para verificar o W net computado. Por exemplo, integrar a curva superior (compressão + expansão) e subtrair a curva inferior (linha de rejeição de calor). Consulte a documentação MATLAB sobre integração numérica] para detalhes.
Diagrama de Temperatura-Entropia (T-S)
Para um gás ideal com calores específicos constantes, a alteração da entropia em relação ao estado 1 é:
% s = cp * log(T / T1) - R * log(P / P1) cp = gamma * R_air / (gamma - 1); s1 = 0; s2 = cp * log(T2/T1) - R_air * log(P2/P1); s3 = cp * log(T3/T1) - R_air * log(P3/P1); s4 = cp * log(T4/T1) - R_air * log(P4/P1);
Trace os quatro processos com estilos de linha adequados. Para a variável γ, use a integração numérica de dQ/T para calcular a entropia. O diagrama T-S revela a natureza isentrópica dos processos 1-2 e 3-4 (linhas verticais) e o aquecimento/rejeição de volume constante (caminhos curvos). A área sob a curva de aquecimento representa o calor adicionado, enquanto a área sob a curva de resfriamento representa o calor rejeitado; sua diferença é o trabalho líquido.
Para melhorar o gráfico T-S, sobreponha linhas de pressão constante (isobars) da relação de gás ideal. Isso ajuda a contextualizar o ciclo em um quadro termodinâmico mais amplo.
Realizando Estudos de Sensibilidade
Uma vez que o modelo de base funciona, sistematicamente variar os parâmetros de entrada para entender a sua influência. Estudos comuns incluem:
- Exploração da relação de compressão: Eficiência do gráfico e PEM versus r. A eficiência aumenta rapidamente em r baixo e depois platôs; PEM muitas vezes atinge um r moderado devido ao trade-off entre aumento de pressão e adição de calor. Use subparcelas para mostrar ambas as métricas na mesma figura.
Variação da adição de calor : Mudando os modelos Q in diferentes energias de combustível ou relações ar-combustível. Aumentar Q in aumenta a pressão de pico e o trabalho, mas pode exceder os limites do material; inclui uma restrição que P3 < 150 bar (15 MPa) para refletir a resistência típica do motor.- Efeito específico da relação de calor: Baixa γ reduz a eficiência. Sobreposição constante-γ e resultados variáveis-γ para mostrar a correção. Isto é especialmente importante quando se analisa combustíveis alternativos como gás natural ou hidrogênio.
Para uma varredura de dois parâmetros, use laços aninhados e guarde resultados em uma matriz. Em seguida, crie um gráfico de contorno ou mapa de cores para visualizar o efeito combinado:
r_vec = 6:1:14;
Q_vec = 2e6:0.2e6:3e6;
for i = 1:length(r_vec)
for j = 1:length(Q_vec)
[~, perf] = ottoCycle(r_vec(i), 300, 101325, Q_vec(j), 1.35, 287);
eta_mat(i,j) = perf.eta;
end
end
contourf(r_vec, Q_vec/1e6, eta_mat', 20);
xlabel('Compression ratio'); ylabel('Q_in (MJ/kg)');
colorbar; title('Thermal Efficiency (%)');
Esses mapas de sensibilidade são valiosos para a análise de trade-off no projeto do motor. Eles ajudam a identificar regiões operacionais onde a eficiência é alta, enquanto a pressão de pico permanece aceitável.
Validando seus resultados
Antes de usar o modelo para decisões de engenharia, verifique os parâmetros de referência conhecidos. A fórmula de eficiência padrão-ar η = 1 - 1/r^(γ−1) fornece uma validação direta para o caso constante-γ. Adicionalmente, compare a pressão de pico calculada P3 com dados de mapas de motores publicados ou exemplos de livros didáticos (por exemplo, Stone, Introdução aos motores de combustão internos). As discrepâncias geralmente surgem a partir do suposto γ ou Q in. Para uma validação completa, baixe um traço de pressão pública de cilindros de recursos como o ]Sandia National Laboratories e sobreponha o seu loop P-V. Este exercício revela onde o modelo padrão-ar diverge da realidade, motivando modelação mais complexa.
Outra técnica de validação é verificar o balanço energético : o trabalho líquido mais calor rejeitado deve igualar o calor de entrada dentro da precisão de ponto flutuante. Também verificar se os processos de compressão e expansão satisfazem a relação isentrópica T v^(γ-1) = constante] para detectar erros de codificação.
Ampliar o Modelo para Efeitos Realísticos
O quadro básico pode ser expandido para incluir os fenómenos do mundo real:
- Duração da combustão finita: Substituir a adição instantânea de calor por uma função Wiebe que distribui a libertação de energia num intervalo de ângulo de manivela. Usar a equação de energia da MATLAB para integrar a equação com o movimento do pistão. A função Wiebe é definida como x b(Δ) = 1 – exp(–a * ((Δ–ω0)/ΔΔΔΔ)^(m+1))].
- Perdas de transferência de calor: Incorpore uma correlação do tipo Woschni para transferência de calor convectiva para as paredes do cilindro. Isto requer temperatura e pressão resolvidas em ângulo de manivela. A correlação dá o coeficiente de transferência de calor em função do furo, velocidade do pistão, temperatura e pressão.
- Recirculação de gases de escape (EGR): Ajuste a relação de calor específica e a composição do gás para refletir a diluição. O bloco do cilindro do motor de Simscape MATLAB fornece um componente pronto para esses estudos, mas você também pode implementar um modelo de diluição simplificado combinando linearmente os calores específicos do ar e do gás inerte.
Para uma extensão rápida, comece com a função Wiebe. As aproximações de exemplo podem ser encontradas no MATLAB File Exchange. Esta adição simples captura o efeito do temporizador de faíscas na eficiência e pressão de pico.
Integrando a Análise em um fluxo de trabalho maior
Em um projeto de engenharia, a análise de ciclo deve ser feita em simulações de nível de veículo ou geração de relatórios. Use a função da MATLAB para exportar tabelas de estado e métricas de desempenho para CSV para processamento posterior no Excel. Combine gráficos em PDF usando a função . Estruturar o código com funções e um script principal de driver desde o início tornará esta integração perfeita. Por exemplo:
results = table(r_values', eta', mep', ...
'VariableNames', {'CompressionRatio','Efficiency','MEP_bar'});
writetable(results, 'otto_sweep.csv');
Você também pode chamar MATLAB de Python ou Simulink para combinar o modelo termodinâmico com outros subsistemas. Para um estudo híbrido de veículo, o mapa de eficiência do ciclo Otto pode ser importado como uma tabela de pesquisa em Simulink.
Conclusão
Construindo um modelo de ciclo padrão de Otto em MATLAB, uma plataforma poderosa e simples para explorar a termodinâmica do motor de ignição por faísca. Ao definir sistematicamente parâmetros, pontos de estado de computação e calcular métricas de desempenho, como trabalho em rede, eficiência térmica e pressão média eficaz, você obtém uma visão imediata de como as escolhas de design afetam a saída. A abordagem modular apresentada aqui permite estender o modelo para calores específicos variáveis, combustão finita e transferência de calor sem reescrever a lógica do núcleo. A ferramenta resultante não é apenas para exercícios acadêmicos – ela fornece respostas acionáveis para as questões “qualquer-se” que impulsionam o desenvolvimento do motor. Com os próximos passos de estudos de sensibilidade e validação contra dados reais, seu script MATLAB se torna uma base confiável para simulação de motores mais avançados.