Inzicht in het lucht-standaard Otto-cyclusmodel

De Otto-cyclus is de thermodynamische idealisering van de viertaktmotor met vonkontsteking. Het vervangt de complexe inlaat-, compressie-, verbrandings- en uitlaatprocessen door vier omkeerbare stappen die de essentiële energieconversiemechanismen isoleren. In het luchtstandaardmodel is de werkende vloeistof lucht (behandeld als ideaal gas met constante warmte), de verbranding wordt benaderd als onmiddellijke warmteaanvulling bij constant volume en de uitlaat wordt vervangen door warmteafstoting in constante volume. Deze vereenvoudiging maakt het mogelijk om direct gesloten vorm te berekenen van temperaturen, druk, werkoutput en thermische efficiëntie, waardoor het een onmisbare eerste stap is om de motorprestaties te begrijpen.

De vier processen die de cyclus vormen zijn:

  • Isentrope compressie (1→2): De zuiger comprimeert de lading zonder warmteoverdracht, verhoging van temperatuur en druk.
  • Aanvulling van warmte in constante volumes (2→3): Een onmiddellijke uitstoot van energie (die verbranding vertegenwoordigt) in het bovenste dode centrum verhoogt de temperatuur en druk tot hun piekwaarden.
  • Isentrope expansie (3→4): De hogedrukgassen duwen de zuiger naar beneden en leveren netto werk aan de krukas.
  • Constant-volume warmteafstoting (4→1): De cilinderinhoud verliest warmte terug naar de begintoestand, waardoor de lus wordt gesloten.

Omdat het model een constante specifieke warmteverhouding gebruikt en gasuitwisseling negeert, biedt het een snelle benchmark die systematisch kan worden verfijnd. De implementatie van deze cyclus in MATLAB geeft u een flexibel, interactief instrument om te onderzoeken hoe compressieverhouding, warmte-toevoeging en vloeistofeigenschappen de prestaties beïnvloeden. De lucht-standaard veronderstelling biedt ook een handige bovengrens aan efficiëntie; echte motoren komen altijd tekort door wrijving, warmteverlies en onvolledige verbranding.

Een gestructureerde MATLAB-omgeving instellen

Begin met het aanmaken van een nieuw script of functiebestand. Een schone werkruimte maakt debuggen en toekomstige wijzigingen eenvoudig. Gebruik een beschrijvende header die het doel, de invoerparameters en de outputs documenteert. Pre-allocatie arrays voor toestandsvariabelen bij het overspannen van parameters om dynamische groottes overhead te vermijden. Neem betekenisvolle variabele namen aan zoals in plaats van alleen (hoewel standaard is in thermodynamicateksten) en houd eenheden consistent in alle (SI-eenheden aanbevolen). Een typisch headerblok kan lezen:

% 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

Met behulp van MATLAB

Definieer de kritieke motorparameters

De nauwkeurigheid van de simulatie hangt af van de inputgegevens. Geef ten minste de compressieverhouding, de inlaatdruk en de temperatuur, de specifieke warmteverhouding en de toegevoegde energie per massa-eenheid. Typische waarden voor een benzinemotor zijn:

  • Compressieverhouding r: 8
  • Innametemperatuur T1: 300 K (ambient) of 350 K indien rekening houdend met de luchtverhitting van het inlaatspruitstuk en de restgassen.
  • Inname van druk P1: 101325 Pa (1 pink) voor natuurlijk aangezogen; tot 200 kPa of meer voor turbomotoren.
  • Specific heat ratio γ: 1,4 voor droge lucht; 1,3
  • Specifieke warmte-aanvulling Q in: ongeveer 2,5

Definieer deze als MATLAB variabelen bovenaan het script zodat ze gemakkelijk kunnen worden gewijzigd voor gevoeligheidsstudies.

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)

U kunt ook de molaire massa van lucht (28,97 g/mol) opnemen als u later overschakelt op mol-gebaseerde berekeningen. Het houden van de gasconstante expliciet voorkomt eenheidsfouten.

De vier landen in de hoek

Met de parametersset geven de lucht-standaard relaties de toestandspunten direct. De analyse is per massa-eenheid, dus we werken met een specifiek volume. Het instellen van het klaringsvolume op eenheid (v2 = 1) vereenvoudigt de relatieve schaalverdeling; dan v1 = r omdat de compressieverhouding v1/v2 = r. Deze normalisatie is handig omdat alle volumes worden uitgedrukt in verhouding tot het klaringsvolume.

Staat 1 (Intake, Bottom Dead Centre)

v1 = r; % relative to clearance volume
% T1 and P1 are inputs

Staat 2 (Isentrope compressie naar het hoogste dode centrum)

Voor een isentroop proces met constante γ:

v2 = 1;
T2 = T1 * r^(gamma-1);
P2 = P1 * r^gamma;

Deze relaties vloeien voort uit de ideale gaswet en de polytroop verband P v^γ = constant. De temperatuurstijging over compressie is significant: voor r=9 en γ=1.35, T2 ≈ 300 × 9^(0,35) ≈ 690 K.

Staat 3 (Constant-Volume warmte-toevoeging)

Bereken eerst de specifieke warmte bij constant volume:

cv = R_air / (gamma-1);
T3 = T2 + Q_in / cv;
P3 = P2 * (T3 / T2);
v3 = v2; % no volume change

De temperatuur bij toestand 3 kan hoger zijn dan 2500 K voor typische benzineverbranding. Piekdruk P3 bereikt vaak 60 .80 bar, die structurele eisen stelt voor het motorblok en de kop.

Staat 4 (Isentrope uitbreiding naar oorspronkelijk volume)

De uitbreidingsverhouding van TDC naar BDC is r, maar in termen van specifieke volumes v3 = v2 = 1 en v4 = v1 = r, dus de volumeverhouding is 1/r.

v4 = v1;
T4 = T3 * (1/r)^(gamma-1);
P4 = P3 * (1/r)^gamma;

Deze vier punten definiëren de cyclus volledig in termen van temperatuur, druk en specifiek volume. Bewaar ze in arrays voor latere plotting en berekening. Een nuttige validatie is om te controleren of P4 iets boven P1 ligt; het verschil drijft de uitlaat af.

Berekenen van netto-arbeid, thermische efficiëntie en gemiddelde effectieve druk

Het netto specifieke werk is het verschil tussen warmte toegevoegd en warmte afgewezen. Voor het lucht-standaard model, de warmte afgewezen in proces 4→1 is:

Q_out = cv * (T4 - T1);
W_net = Q_in - Q_out;

De thermische efficiëntie is:

eta = W_net / Q_in; % from energy balance
eta_direct = 1 - 1/r^(gamma-1); % direct formula
% Both should match within numerical round-off

De gemiddelde effectieve druk (MEP) is een prestatie-indicator die nettowerk per cyclus vergelijkt met het verplaatsingsvolume. Voor de lucht-standaardcyclus is het specifieke verplaatsingsvolume v1

mep = W_net / (v1 - v2); % Pa

De EPEP is onafhankelijk van de grootte van de motor en is een handige indicator van de kwaliteit van het motorontwerp. Typische waarden voor natuurlijk aangezogen benzinemotoren zijn 8

Inclusief variabele specifieke warmte voor verbeterde nauwkeurigheid

De constante-γ veronderstelling kan de efficiëntie overschatten omdat echte uitlaatgassen lagere specifieke warmteverhoudingen hebben bij hoge temperaturen. Om dit te verklaren, vervang de constante γ door een temperatuurafhankelijke correlatie.Een robuuste methode is om de NASA polynomiale coëfficiënten te gebruiken voor cp[ van de belangrijkste soorten (O2, N2, CO2, H2O). [NIST Chemistry WebBook[]] levert deze coëfficiënten voor zuivere stoffen. Voor het luchtstandaardmodel kunt u de werkende vloeistof benaderen als droge lucht of een ..combustion product .. mengsel met een vaste samenstelling.

De implementatie van variabele γ vereist een iteratieve oplossing omdat de isentrope exponent zelf afhankelijk is van de onbekende temperatuur. Gebruik MATLAB

% 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);

De NASA polynomiale hulpbron biedt downloadbare coëfficiënten voor lucht- en verbrandingssoorten. Wijzig uw script om deze coëfficiënten te laden en bel ze tijdens staatberekeningen. U zult zien dat variabele specifieke warmte de voorspelde efficiëntie met 2

Voor een snelle benadering zonder volledige polynomiale integratie, gebruik een gemiddelde specifieke warmteverhouding die lineair varieert met temperatuur: γ(T) = 1.4

Een modulaire functie-gedreven analyse bouwen

In plaats van een monolithisch script, inkapselen de cyclus logica in een MATLAB functie. Dit maakt het herbruikbaar voor parameter sweeps en vermindert code duplicatie. Een functie skelet wordt hieronder weergegeven:

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

Voor variabele specifieke warmte, voeg een vloeistof vlag:

function [states, performance] = ottoCycle(r, T1, P1, Q_in, fluid_type)
 % fluid_type: 'constant_gamma' or 'variable_cp'
 % (logic branches based on flag)
end

Met de functie op zijn plaats, kan een driver script door compressieverhoudingen vegen:

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--');

Deze modulaire aanpak toont onmiddellijk het dalende rendement van toenemende compressieverhouding na 12 jaar. Het plot markeert een belangrijke afweging: de efficiëntie blijft stijgen maar neemt af, terwijl het EP voor typische warmte-inputs vaak een piek heeft rond r=10.

Diagnostische P‐V- en T‐S-diagrammen genereren

Visualisatie helpt het model te verifiëren en resultaten te communiceren. MATLAB complotteert functies produceren publicatiekwaliteitsdiagrammen.

Druk-volumediagram (P-V)

De compressie- en expansiecurves volgen P v^γ = constant. Genereer een reeks tussenliggende punten voor gladde curven:

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;

Het afgesloten gebied vertegenwoordigt het netto werk. U kunt de lus numeriek integreren met om de berekende W net te verifiëren. Integreer bijvoorbeeld de bovenste curve (compressie + uitbreiding) en trek de onderste curve af (warmteafstotingslijn). Raadpleeg de MATLAB documentatie over numerieke integratie voor details.

Schema voor temperatuur-entropie (T-S)

Voor een ideaal gas met constante specifieke warmte is de entropieverandering ten opzichte van toestand 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);

Voor variabele γ, gebruik numerieke integratie van dQ/T om entropie te berekenen. Het T‐S diagram toont de isentroop karakter van processen 1-2 en 3-4 (verticale lijnen) en de constante-volume verwarming/afstoten (gebogen paden). Het gebied onder de verwarmingscurve vertegenwoordigt de warmte toegevoegd, terwijl het gebied onder de koelcurve de warmte verworpen vertegenwoordigt; het verschil is het netto werk.

Om het T‐S-plan te verbeteren, worden overlaylijnen van constante druk (isobars) vanuit de ideale gasverhouding overgedaan. Dit helpt de cyclus in een breder thermodynamisch kader te contextualiseren.

Onderzoek naar gevoeligheid

Zodra het basismodel werkt, systematisch variëren de input parameters om hun invloed te begrijpen.

  • Compressieratiove veeg : Perceelefficiëntie en EPEP versus r. Efficiëntie neemt snel toe bij lage r en dan plateau's; EP-lid piekt vaak bij een matige r vanwege de wisselwerking tussen drukstijging en warmtetoevoeging. Gebruik subplots om beide metrieken op hetzelfde cijfer te laten zien.
  • Verandering van de toevoeging van de huid : het veranderen van Q in-modellen verschillende brandstof- of luchtbrandstofverhoudingen. Toename van Q in verhoogt de piekdruk en het werk, maar kan de materiaalgrenzen overschrijden; omvat een beperking die P3 < 150 bar (15 MPa) om de typische motorsterkte weer te geven.
  • Specifieke warmteverhoudingseffect: Lagere γ vermindert de efficiëntie. Overlay constant-γ en variabele-γ resultaten om de correctie te tonen. Dit is vooral belangrijk bij het analyseren van alternatieve brandstoffen zoals aardgas of waterstof.

Voor een twee-komma sweep, gebruik geneste lussen en bewaar resultaten in een matrix. Maak vervolgens een contour plot of kleurenkaart om het gecombineerde effect te visualiseren:

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 (%)');

Dergelijke gevoeligheidskaarten zijn van onschatbare waarde voor de afweging van de verschillen in motorontwerp en helpen bij het identificeren van operationele gebieden waar de efficiëntie hoog is, terwijl piekdruk aanvaardbaar blijft.

Valideren van uw resultaten

Voordat het model voor technische beslissingen wordt gebruikt, moet u de bekende benchmarks vergelijken. De luchtstandaardefficiëntieformule η = 1 − 1/r^(γ−1) zorgt voor een directe validatie voor de constante-γ-case. Vergelijk bovendien de berekende piekdruk P3 met gegevens uit gepubliceerde motorkaarten of studieboekenvoorbeelden (bijv. Stone, Introductie aan interne verbrandingsmotoren). Discreties ontstaan vaak uit de veronderstelde γ of Q in. Voor een grondige validatie downloadt u een openbaar cilinderdrukspoor uit bronnen zoals de Sandia National Laboratories engine database[] en overlay uw P

Een andere validatietechniek is het controleren van de energiebalans : het netto werk plus afgewezen warmte moet de inputwarmte binnen de precisie van het drijvende punt gelijk maken. Controleer ook of de compressie- en expansieprocessen voldoen aan de isentrope relatie T v^(γ‐1) = constante om codeerfouten te detecteren.

Uitbreiding van het model voor realistische effecten

Het basiskader kan worden uitgebreid tot reële verschijnselen:

  • Fijne verbrandingsduur: Vervang de onmiddellijke warmte-toevoeging door een Wiebe-functie die energie-afgifte over een crank-hoekinterval distribueert. Gebruik MATLAB
  • Verliezen van de overdracht van de warmte: Neem een correlatie van het Woschni-type op voor convectieve warmteoverdracht naar de cilinderwanden. Dit vereist een krukas-vereffend temperatuur en druk. De correlatie geeft de warmteoverdrachtscoëfficiënt als functie van boring, zuigersnelheid, temperatuur en druk.
  • Uitputtende gasrecirculatie (EGR): Stel de specifieke warmteverhouding en de gassamenstelling in om verdunning weer te geven.Het MATLAB Simscape Engine Cilinderblok] biedt een kant-en-klare component voor dergelijke studies, maar u kunt ook een vereenvoudigd verdunningsmodel implementeren door lineair de specifieke warmte van lucht en inert gas te combineren.

Voor een snelle uitbreiding, start met de Wiebe functie. Voorbeeld approximaten zijn te vinden in de MATLAB File Exchange. Deze eenvoudige toevoeging legt het effect van vonk timing op efficiëntie en piekdruk vast.

Integratie van de analyse in een grotere workflow

In een technisch project moet de cyclusanalyse worden gebruikt voor simulaties op voertuigniveau of voor rapportages. Gebruik MATLAB

results = table(r_values', eta', mep', ...
 'VariableNames', {'CompressionRatio','Efficiency','MEP_bar'});
writetable(results, 'otto_sweep.csv');

U kunt ook MATLAB van Python of Simulink bellen om het thermodynamische model te koppelen met andere subsystemen. Voor een hybride voertuigstudie kan de Otto-cyclusefficiëntiekaart worden geïmporteerd als een opzoektabel in Simulink.

Conclusie

Het bouwen van een lucht-standaard Otto-cyclusmodel in MATLAB biedt een krachtig maar eenvoudig platform voor het verkennen van de thermodynamica van de motor met vonkontsteking. Door systematisch parameters, computertoestanden en het berekenen van prestatie-indicatoren zoals netto-werk, thermische efficiëntie en gemiddelde effectieve druk te definiëren, krijgt u onmiddellijk inzicht in hoe ontwerpkeuzes de output beïnvloeden. De modulaire benadering die hier wordt gepresenteerd, stelt u in staat om het model uit te breiden tot variabele specifieke warmte, eindige verbranding en warmteoverdracht zonder het herschrijven van kernlogica. Het resulterende instrument is niet alleen voor academische oefeningen .Het levert bruikbare antwoorden op de .what-if-vragen die motorontwikkeling stimuleren. Met de volgende stappen van gevoeligheidsstudies en validatie tegen echte gegevens, wordt uw MATLAB-script een betrouwbare basis voor meer geavanceerde motorsimulatie.