Apskaičiuokite įvairių medžiagų virimo tašką skirtinguose slėgiuose naudodami Antoine lygtį. Pasirinkite iš dažnai naudojamų cheminių medžiagų arba įveskite individualius medžiagos parametrus tiksliesiems rezultatams.
Virimo taško skaičiuoklė yra esminis įrankis chemikams, inžinieriams ir mokslininkams, kuriems reikia nustatyti temperatūrą, kurioje skystis keičiasi į garų būseną esant skirtingoms slėgio sąlygoms. Medžiagos virimo taškas yra temperatūra, kurioje jos garų slėgis lygiuoja aplinkos atmosferos slėgiui, sukeldamas skysčio transformaciją į dujas. Ši kritinė fizinė savybė žymiai skiriasi priklausomai nuo slėgio – santykis, kuris yra gyvybiškai svarbus daugybėje mokslinių ir pramoninių taikymų. Mūsų naudotojui patogi virimo taško skaičiuoklė naudoja Antoine lygtį, gerai žinomą matematinį modelį, kad tiksliai numatytų virimo taškus įvairioms medžiagoms per įvairias slėgio sąlygas.
Ar jūs projektuojate cheminius procesus, planuojate distiliavimo operacijas, ar tiesiog tyrinėjate, kaip aukštis veikia virimo temperatūras, supratimas apie virimo taško variacijas yra būtinas. Ši skaičiuoklė teikia tikslius virimo taško prognozes dažniausiai pasitaikančioms medžiagoms, tokioms kaip vanduo, etanolis ir acetonas, tuo pačiu leidžiant jums įvesti pasirinktines medžiagas su žinomais Antoine lygties parametrais.
Medžiagos virimo taškas yra temperatūra, kurioje jos garų slėgis lygiuoja išoriniam slėgiui. Šiuo momentu garų burbuliukai formuojasi skystyje ir kyla į paviršių, sukeldami pažįstamą ritmingą virimą, kurį stebime. Įvairūs veiksniai daro įtaką medžiagos virimo taškui:
Ryšys tarp slėgio ir virimo taško yra ypač svarbus. Pavyzdžiui, vanduo verda 100°C (212°F) standartiniu atmosferos slėgiu (1 atm arba 760 mmHg), tačiau sumažėjus slėgiui, esančiam dideliuose aukščiuose, jis verda žymiai žemesnėmis temperatūromis.
Antoine lygtis yra pusiau empirinė formulė, kuri susieja garų slėgį su temperatūra gryniems komponentams. Tai yra matematinis mūsų virimo taško skaičiuoklės pagrindas ir ji išreiškiama kaip:
Kur:
Norint apskaičiuoti virimo tašką esant tam tikram slėgiui, mes pertvarkome lygtį, kad išspręstume temperatūrą:
Kiekviena medžiaga turi unikalius Antoine konstantus, kurie buvo nustatyti eksperimentiniais matavimais. Šie konstantai paprastai galioja tam tikruose temperatūrų diapazonuose, todėl mūsų skaičiuoklė įtraukia įspėjimus, kai rezultatai patenka už rekomenduojamų ribų.
Mūsų skaičiuoklė yra sukurta taip, kad būtų intuityvi ir paprasta. Sekite šiuos žingsnius, kad apskaičiuotumėte norimos medžiagos virimo tašką:
Skaičiuoklė teikia:
Naudotojams, kurie domisi pagrindine matematika, skaičiuoklė turi "Išplėstinės Parinktys" jungiklį, kuris rodo Antoine lygtį ir paaiškina, kaip ji naudojama skaičiavime.
Tiksli virimo taško skaičiavimų reikšmė yra būtina daugybėje sričių ir taikymų:
Vanduo dideliame aukštyje (5,000 pėdų):
Pramoninis etanolio distiliavimas:
Laboratorinė vakuuminė distiliacija tolueno:
Nors Antoine lygtis plačiai naudojama dėl savo paprastumo ir tikslumo, yra ir kitų metodų virimo taškams apskaičiuoti:
Kiekvienas požiūris turi savo privalumų, tačiau Antoine lygtis suteikia puikų paprastumo ir tikslumo balansą daugumai taikymų, todėl ji įgyvendinta mūsų skaičiuoklėje.
Supratimas apie virimo taškus ir jų ryšį su slėgiu per šimtmečius žymiai išsivystė:
17-ajame amžiuje mokslininkai, tokie kaip Robertas Boyle'as, pradėjo sisteminius tyrimus, kaip slėgis veikia dujų ir skysčių savybes. Denis Papin išradimas – slėgio puodas 1679 m. – parodė, kad padidinus slėgį galima pakelti vandens virimo tašką, leidžiant greičiau virti.
19-ajame amžiuje mokslininkai, tokie kaip Sadi Carnot, Rudolfas Clausius ir Williamas Thomsonas (Lordas Kelvin), sukūrė pagrindines termodinamikos taisykles, kurios suteikė teorinį pagrindą suprasti fazių perėjimus, tokius kaip virimas.
1888 m. Prancūzų inžinierius Louis Charles Antoine paskelbė savo vardu pavadintą lygtį, kuri suteikė paprastą, tačiau efektyvią matematinę priklausomybę tarp garų slėgio ir temperatūros. Ši pusiau empirinė formulė greitai tapo standartiniu įrankiu cheminėje inžinerijoje ir fizinėje chemijoje.
20-ajame amžiuje tyrėjai surinko išsamius Antoine konstantų duomenų bazes tūkstančiams medžiagų. Šiuolaikiniai kompiuteriniai metodai dar labiau patobulino šias vertes ir išplėtė lygties taikymą platesniuose temperatūrų ir slėgių diapazonuose.
Šiandien Antoine lygtis išlieka pagrindiniu garų-skysčio pusiausvyros skaičiavimų akmeniu, randant taikymus visur – nuo pramoninės distiliacijos iki aplinkos modeliavimų.
Štai pavyzdžiai, kaip įgyvendinti virimo taško skaičiavimus naudojant Antoine lygtį įvairiose programavimo kalbose:
1' Excel VBA funkcija virimo taško skaičiavimui
2Function CalculateBoilingPoint(A As Double, B As Double, C As Double, Pressure As Double) As Double
3 ' Apskaičiuoti virimo tašką naudojant Antoine lygtį
4 ' Slėgis turėtų būti mmHg
5 CalculateBoilingPoint = B / (A - Log(Pressure) / Log(10)) - C
6End Function
7
8' Pavyzdžio naudojimas:
9' Vandens konstantos: A=8.07131, B=1730.63, C=233.426
10' =CalculateBoilingPoint(8.07131, 1730.63, 233.426, 760) ' Rezultatas: 100.0°C esant 1 atm
11
1import math
2
3def calculate_boiling_point(a, b, c, pressure_mmhg):
4 """
5 Apskaičiuoti virimo tašką naudojant Antoine lygtį.
6
7 Parametrai:
8 a, b, c: Antoine konstantai medžiagai
9 pressure_mmhg: Slėgis mmHg
10
11 Grąžina:
12 Virimo taškas Celsijuje
13 """
14 return b / (a - math.log10(pressure_mmhg)) - c
15
16# Pavyzdys vandeniui standartiniu slėgiu (760 mmHg)
17water_constants = {"A": 8.07131, "B": 1730.63, "C": 233.426}
18pressure = 760 # 1 atm = 760 mmHg
19
20boiling_point = calculate_boiling_point(
21 water_constants["A"],
22 water_constants["B"],
23 water_constants["C"],
24 pressure
25)
26
27print(f"Vanduo verda {boiling_point:.2f}°C esant {pressure} mmHg")
28
1function calculateBoilingPoint(a, b, c, pressureMmHg) {
2 // Apskaičiuoti virimo tašką naudojant Antoine lygtį
3 // Grąžina temperatūrą Celsijuje
4 return b / (a - Math.log10(pressureMmHg)) - c;
5}
6
7// Temperatūros vienetų konvertavimas
8function convertTemperature(temp, fromUnit, toUnit) {
9 // Pirmiausia konvertuoti į Celsijų
10 let tempInC;
11
12 switch (fromUnit) {
13 case 'C':
14 tempInC = temp;
15 break;
16 case 'F':
17 tempInC = (temp - 32) * 5/9;
18 break;
19 case 'K':
20 tempInC = temp - 273.15;
21 break;
22 }
23
24 // Tada konvertuoti iš Celsijaus į tikslinį vienetą
25 switch (toUnit) {
26 case 'C':
27 return tempInC;
28 case 'F':
29 return (tempInC * 9/5) + 32;
30 case 'K':
31 return tempInC + 273.15;
32 }
33}
34
35// Pavyzdžio naudojimas vandeniui esant skirtingiems slėgiams
36const waterConstants = { A: 8.07131, B: 1730.63, C: 233.426 };
37const standardPressure = 760; // mmHg
38const highAltitudePressure = 630; // mmHg (maždaug 5000 pėdų aukštyje)
39
40const boilingPointAtSeaLevel = calculateBoilingPoint(
41 waterConstants.A,
42 waterConstants.B,
43 waterConstants.C,
44 standardPressure
45);
46
47const boilingPointAtAltitude = calculateBoilingPoint(
48 waterConstants.A,
49 waterConstants.B,
50 waterConstants.C,
51 highAltitudePressure
52);
53
54console.log(`Vanduo verda ${boilingPointAtSeaLevel.toFixed(2)}°C jūros lygyje`);
55console.log(`Vanduo verda ${boilingPointAtAltitude.toFixed(2)}°C dideliame aukštyje`);
56console.log(`Tai ${convertTemperature(boilingPointAtAltitude, 'C', 'F').toFixed(2)}°F`);
57
1public class BoilingPointCalculator {
2 /**
3 * Apskaičiuoti virimo tašką naudojant Antoine lygtį
4 *
5 * @param a Antoine konstantas A
6 * @param b Antoine konstantas B
7 * @param c Antoine konstantas C
8 * @param pressureMmHg Slėgis mmHg
9 * @return Virimo taškas Celsijuje
10 */
11 public static double calculateBoilingPoint(double a, double b, double c, double pressureMmHg) {
12 return b / (a - Math.log10(pressureMmHg)) - c;
13 }
14
15 /**
16 * Konvertuoti slėgį tarp skirtingų vienetų
17 *
18 * @param pressure Slėgio vertė, kurią reikia konvertuoti
19 * @param fromUnit Šaltinio vienetas ("atm", "mmHg", "kPa", "psi", "bar")
20 * @param toUnit Tikslinis vienetas
21 * @return Konvertuota slėgio vertė
22 */
23 public static double convertPressure(double pressure, String fromUnit, String toUnit) {
24 // Konversijos faktoriai į mmHg
25 double mmHg = 0;
26
27 // Pirmiausia konvertuoti į mmHg
28 switch (fromUnit) {
29 case "mmHg": mmHg = pressure; break;
30 case "atm": mmHg = pressure * 760; break;
31 case "kPa": mmHg = pressure * 7.50062; break;
32 case "psi": mmHg = pressure * 51.7149; break;
33 case "bar": mmHg = pressure * 750.062; break;
34 }
35
36 // Konvertuoti iš mmHg į tikslinį vienetą
37 switch (toUnit) {
38 case "mmHg": return mmHg;
39 case "atm": return mmHg / 760;
40 case "kPa": return mmHg / 7.50062;
41 case "psi": return mmHg / 51.7149;
42 case "bar": return mmHg / 750.062;
43 }
44
45 return 0; // Neturėtų pasiekti čia
46 }
47
48 public static void main(String[] args) {
49 // Antoine konstantos vandeniui
50 double a = 8.07131;
51 double b = 1730.63;
52 double c = 233.426;
53
54 // Apskaičiuoti virimo tašką esant standartiniam slėgiui
55 double standardPressure = 1.0; // atm
56 double standardPressureMmHg = convertPressure(standardPressure, "atm", "mmHg");
57 double boilingPoint = calculateBoilingPoint(a, b, c, standardPressureMmHg);
58
59 System.out.printf("Vanduo verda %.2f°C esant %.2f atm (%.2f mmHg)%n",
60 boilingPoint, standardPressure, standardPressureMmHg);
61
62 // Apskaičiuoti virimo tašką esant sumažintam slėgiui (dideliame aukštyje)
63 double reducedPressure = 0.8; // atm
64 double reducedPressureMmHg = convertPressure(reducedPressure, "atm", "mmHg");
65 double reducedBoilingPoint = calculateBoilingPoint(a, b, c, reducedPressureMmHg);
66
67 System.out.printf("Dideliame aukštyje (0.8 atm) vanduo verda %.2f°C%n",
68 reducedBoilingPoint);
69 }
70}
71
1#include <iostream>
2#include <cmath>
3#include <string>
4
5// Apskaičiuoti virimo tašką naudojant Antoine lygtį
6double calculateBoilingPoint(double a, double b, double c, double pressureMmHg) {
7 return b / (a - log10(pressureMmHg)) - c;
8}
9
10// Konvertuoti temperatūrą tarp vienetų
11double convertTemperature(double temp, const std::string& fromUnit, const std::string& toUnit) {
12 // Pirmiausia konvertuoti į Celsijų
13 double tempInC;
14
15 if (fromUnit == "C") {
16 tempInC = temp;
17 } else if (fromUnit == "F") {
18 tempInC = (temp - 32.0) * 5.0 / 9.0;
19 } else if (fromUnit == "K") {
20 tempInC = temp - 273.15;
21 } else {
22 throw std::invalid_argument("Neteisingas temperatūros vienetas");
23 }
24
25 // Tada konvertuoti iš Celsijaus į tikslinį vienetą
26 if (toUnit == "C") {
27 return tempInC;
28 } else if (toUnit == "F") {
29 return (tempInC * 9.0 / 5.0) + 32.0;
30 } else if (toUnit == "K") {
31 return tempInC + 273.15;
32 } else {
33 throw std::invalid_argument("Neteisingas temperatūros vienetas");
34 }
35}
36
37int main() {
38 // Antoine konstantos vandeniui
39 double a = 8.07131;
40 double b = 1730.63;
41 double c = 233.426;
42
43 // Apskaičiuoti virimo tašką esant standartiniam slėgiui
44 double standardPressure = 760.0; // mmHg (1 atm)
45 double boilingPoint = calculateBoilingPoint(a, b, c, standardPressure);
46
47 std::cout << "Vanduo verda " << boilingPoint << "°C esant standartiniam slėgiui (760 mmHg)" << std::endl;
48
49 // Apskaičiuoti virimo tašką esant sumažintam slėgiui
50 double reducedPressure = 500.0; // mmHg
51 double reducedBoilingPoint = calculateBoilingPoint(a, b, c, reducedPressure);
52
53 std::cout << "Vanduo verda " << reducedBoilingPoint << "°C esant sumažintam slėgiui (500 mmHg)" << std::endl;
54 std::cout << "Tai " << convertTemperature(reducedBoilingPoint, "C", "F") << "°F" << std::endl;
55
56 return 0;
57}
58
Vanduo verda 100°C (212°F) standartiniu atmosferos slėgiu (1 atm arba 760 mmHg). Tai dažnai naudojama kaip nuoroda temperatūros skalėse ir virimo instrukcijose.
Dideliame aukštyje atmosferos slėgis sumažėja, o tai sumažina skysčių virimo taškus. Vandeniui virimo taškas sumažėja maždaug 1°C už kiekvienus 285 metrus (935 pėdas) aukščio. Štai kodėl virimo laikai turi būti koreguojami dideliuose aukščiuose.
Skirtingi skysčiai turi skirtingus virimo taškus dėl molekulinės struktūros, molekulinio svorio ir tarpmolekulinių jėgų stiprumo skirtumų. Medžiagos su stipresnėmis tarpmolekulinėmis jėgomis (pavyzdžiui, vandeniliniai ryšiai vandenyje) reikalauja daugiau energijos atskirti molekules į dujinę fazę, dėl to virimo taškai yra aukštesni.
Antoine konstantai (A, B ir C) yra empiriniai parametrai, naudojami Antoine lygties pagrindu, kad susietų garų slėgį su temperatūra konkrečioms medžiagoms. Jie nustatomi eksperimentiniais garų slėgio matavimais skirtingose temperatūrose, o po to atliekama regresinė analizė, kad duomenys būtų pritaikyti Antoine lygtiai.
Pagrindinė Antoine lygtis taikoma tik grynoms medžiagoms. Mišiniams reikia sudėtingesnių modelių, tokių kaip Raoult'o dėsnis arba aktyvumo koeficientų modeliai, kad būtų atsižvelgta į sąveikas tarp skirtingų komponentų. Mūsų skaičiuoklė skirta grynoms medžiagoms.
Virimas įvyksta, kai skysčio garų slėgis lygiuoja išoriniam slėgiui, sukeldamas burbulų formavimąsi visame skystyje. Garavimas vyksta tik skysčio paviršiuje ir gali įvykti bet kurioje temperatūroje. Virimas yra masinis procesas, kuris įvyksta tam tikroje temperatūroje (virimo taške) tam tikram slėgiui.
Antoine lygtis paprastai suteikia tikslumą per 1-2% eksperimentinių verčių tam tikrame nurodytame temperatūrų diapazone kiekvienai medžiagai. Už šių ribų tikslumas gali sumažėti. Labai aukštiems slėgiams arba temperatūroms, artėjančioms prie kritinių taškų, rekomenduojama naudoti sudėtingesnes būsenos lygtis.
Antoine lygtis geriausiai veikia vidutiniuose slėgių diapazonuose. Labai aukštuose slėgiuose (artėjant prie kritinio slėgio) arba labai žemuose slėgiuose (gilus vakuumas) lygtis gali prarasti tikslumą. Mūsų skaičiuoklė įspės jus, kai rezultatai pateks už rekomenduojamo diapazono išankstinėms medžiagoms.
Standartinė Antoine lygties forma naudoja temperatūrą Celsijuje (°C) ir slėgį mmHg. Jei jūsų konstantai pagrįsti kitais vienetais, juos reikia konvertuoti prieš naudojimą lygties.
Virimo taškas yra temperatūra, kurioje medžiagos garų slėgis lygiuoja išoriniam slėgiui. Kai temperatūra didėja, garų slėgis didėja. Kai garų slėgis atitinka aplinkos slėgį, vyksta virimas. Šis santykis tiksliai aprašomas Antoine lygties.
Antoine, C. (1888). "Tensions des vapeurs: nouvelle relation entre les tensions et les températures." Comptes Rendus des Séances de l'Académie des Sciences. 107: 681–684, 778–780, 836–837.
Poling, B.E., Prausnitz, J.M., & O'Connell, J.P. (2001). The Properties of Gases and Liquids (5th ed.). McGraw-Hill.
Smith, J.M., Van Ness, H.C., & Abbott, M.M. (2005). Introduction to Chemical Engineering Thermodynamics (7th ed.). McGraw-Hill.
NIST Chemistry WebBook, SRD 69. National Institute of Standards and Technology. https://webbook.nist.gov/chemistry/
Yaws, C.L. (2003). Yaws' Handbook of Thermodynamic and Physical Properties of Chemical Compounds. Knovel.
Reid, R.C., Prausnitz, J.M., & Poling, B.E. (1987). The Properties of Gases and Liquids (4th ed.). McGraw-Hill.
Gmehling, J., Kolbe, B., Kleiber, M., & Rarey, J. (2012). Chemical Thermodynamics for Process Simulation. Wiley-VCH.
Dabar, kai suprantate mokslą už virimo taškų ir kaip veikia mūsų skaičiuoklė, esate pasiruošę atlikti tikslius prognozes savo specifinėms taikymams. Ar esate studentas, besimokantis apie termodinamiką, profesionalus inžinierius, projektuojantis cheminius procesus, ar smalsus protas, tyrinėjantis mokslinius konceptus, mūsų virimo taško skaičiuoklė suteikia tikslumą ir lankstumą, kurio jums reikia.
Tiesiog pasirinkite savo medžiagą (arba įveskite pasirinktinius Antoine konstantus), nurodykite slėgio sąlygas ir iš karto pamatykite apskaičiuotą virimo tašką kartu su naudingomis vizualizacijomis apie slėgio ir temperatūros ryšį. Skaičiuoklės intuityvi sąsaja leidžia sudėtingus skaičiavimus padaryti prieinamus visiems, nepriklausomai nuo techninio fono.
Pradėkite tyrinėti nuostabų ryšį tarp slėgio ir virimo taškų šiandien!
Raskite daugiau įrankių, kurie gali būti naudingi jūsų darbo eiga.