Kikokotoa joto la kikokotoa la vitu mbalimbali kwa shinikizo tofauti kwa kutumia kanuni ya Antoine. Chagua kutoka kwa kemikali maarufu au ingiza vigezo vya kipekee vya dutu kwa matokeo sahihi.
Kihesabu kiwango cha kuchemsha ni chombo muhimu kwa kemisti, wahandisi, na wanasayansi wanaohitaji kubaini joto ambalo kioevu hubadilika kuwa mvuke chini ya hali tofauti za shinikizo. Kiwango cha kuchemsha cha dutu ni joto ambalo shinikizo lake la mvuke linafanana na shinikizo la anga linalozunguka, na kusababisha kioevu kubadilika kuwa gesi. Sifa hii muhimu ya kimwili inatofautiana sana na shinikizo—uhusiano ambao ni muhimu katika matumizi mengi ya kisayansi na viwandani. Kihesabu chetu cha kiwango cha kuchemsha kinatumia kanuni ya Antoine, mfano wa kihesabu ulioimarishwa, ili kutabiri kwa usahihi viwango vya kuchemsha kwa dutu mbalimbali katika hali tofauti za shinikizo.
Iwe unabuni michakato ya kemikali, unapanga shughuli za kutenganisha, au unachunguza jinsi urefu wa baharini unavyoathiri joto la kupikia, kuelewa tofauti za kiwango cha kuchemsha ni muhimu. Kihesabu hiki kinatoa utabiri sahihi wa kiwango cha kuchemsha kwa dutu maarufu kama maji, ethanol, na acetone, huku pia kikikuruhusu kuingiza dutu za kawaida zenye vigezo vya kanuni ya Antoine.
Kiwango cha kuchemsha cha dutu ni joto ambalo shinikizo lake la mvuke linafanana na shinikizo la nje. Katika hatua hii, mabubbles ya mvuke yanaundwa ndani ya kioevu na kupanda hadi juu, na kusababisha kuchemka kwa kawaida tunayoona. Sababu kadhaa zinaathiri kiwango cha kuchemsha cha dutu:
Uhusiano kati ya shinikizo na kiwango cha kuchemsha ni muhimu sana. Maji, kwa mfano, yanachemka kwa 100°C (212°F) katika shinikizo la anga la kawaida (1 atm au 760 mmHg), lakini katika shinikizo lililopunguzwa linalopatikana katika urefu mkubwa, yanachemka kwa joto la chini sana.
Kanuni ya Antoine ni formula ya nadharia ambayo inahusisha shinikizo la mvuke na joto kwa vipengele safi. Ni msingi wa kihesabu cha kiwango chetu cha kuchemsha na imeelezwa kama:
Ambapo:
Ili kuhesabu kiwango cha kuchemsha katika shinikizo fulani, tunabadilisha kanuni hiyo ili kutafuta joto:
Kila dutu ina vigezo vya Antoine vya kipekee ambavyo vimepatiwa kupitia vipimo vya majaribio. Vigezo hivi kwa kawaida vinatumika ndani ya maeneo maalum ya joto, ndiyo sababu kihesabu chetu kinajumuisha onyo linapokuwa matokeo yanatoka nje ya maeneo yaliyopendekezwa.
Kihesabu chetu kimeundwa kuwa rahisi na wazi. Fuata hatua hizi ili kuhesabu kiwango cha kuchemsha cha dutu unayotaka:
Kihesabu kinatoa:
Kwa watumiaji wanaovutiwa na hisabati ya msingi, kihesabu kinajumuisha kitufe cha "Chaguzi za Juu" ambacho kinaonyesha kanuni ya Antoine na kuelezea jinsi inavyotumiwa katika hesabu.
Hesabu sahihi za kiwango cha kuchemsha ni muhimu katika nyanja na matumizi mengi:
Maji katika urefu mkubwa (5,000 ft):
Kutenganisha ethanol viwandani:
Kutenganisha toluene kwa njia ya vacuum:
Ingawa kanuni ya Antoine inatumika sana kwa urahisi na usahihi wake, njia nyingine za kuhesabu viwango vya kuchemsha ni pamoja na:
Kila njia ina faida zake, lakini kanuni ya Antoine inatoa usawa mzuri wa urahisi na usahihi kwa matumizi mengi, ndiyo sababu inatekelezwa katika kihesabu chetu.
Kuelewa viwango vya kuchemsha na uhusiano wao na shinikizo kumepitia mabadiliko makubwa kwa karne nyingi:
Katika karne ya 17, wanasayansi kama Robert Boyle walianza masomo ya mfumo wa jinsi shinikizo linavyoathiri mali za gesi na kioevu. Ubunifu wa Denis Papin wa chombo cha shinikizo mwaka 1679 ulionyesha kuwa kuongezeka kwa shinikizo kunaweza kuongeza kiwango cha kuchemsha cha maji, kuruhusu kupikia kwa haraka zaidi.
Katika karne ya 19, wanasayansi ikiwa ni pamoja na Sadi Carnot, Rudolf Clausius, na William Thomson (Lord Kelvin) walitengeneza sheria za msingi za thermodynamics, ambazo ziliweka msingi wa kuelewa mabadiliko ya awamu kama kuchemsha.
Mnamo mwaka wa 1888, mhandisi wa Kifaransa Louis Charles Antoine alichapisha kanuni yake ya eponymous, ambayo ilitoa uhusiano rahisi lakini mzuri wa kihesabu kati ya shinikizo la mvuke na joto. Formula hii ya nadharia ilikua chombo cha kawaida katika uhandisi wa kemikali na kemia ya kimwili.
Katika karne ya 20, watafiti walikusanya hifadhidata kubwa za vigezo vya Antoine kwa maelfu ya dutu. Mbinu za kisasa za kompyuta zimeimarisha zaidi thamani hizi na kupanua matumizi ya kanuni hiyo kwa maeneo pana ya joto na shinikizo.
Leo, kanuni ya Antoine inabaki kuwa msingi wa hesabu za usawa wa mvuke-kioevu, ikipata matumizi katika kila kitu kutoka kutenganisha viwandani hadi mfano wa mazingira.
Hapa kuna mifano ya jinsi ya kutekeleza hesabu za kiwango cha kuchemsha kwa kutumia kanuni ya Antoine katika lugha mbalimbali za programu:
1' Excel VBA Function for Boiling Point Calculation
2Function CalculateBoilingPoint(A As Double, B As Double, C As Double, Pressure As Double) As Double
3 ' Calculate boiling point using Antoine equation
4 ' Pressure should be in mmHg
5 CalculateBoilingPoint = B / (A - Log(Pressure) / Log(10)) - C
6End Function
7
8' Example usage:
9' Water constants: A=8.07131, B=1730.63, C=233.426
10' =CalculateBoilingPoint(8.07131, 1730.63, 233.426, 760) ' Result: 100.0°C at 1 atm
11
1import math
2
3def calculate_boiling_point(a, b, c, pressure_mmhg):
4 """
5 Calculate boiling point using the Antoine equation.
6
7 Parameters:
8 a, b, c: Antoine constants for the substance
9 pressure_mmhg: Pressure in mmHg
10
11 Returns:
12 Boiling point in Celsius
13 """
14 return b / (a - math.log10(pressure_mmhg)) - c
15
16# Example for water at standard pressure (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"Water boils at {boiling_point:.2f}°C at {pressure} mmHg")
28
1function calculateBoilingPoint(a, b, c, pressureMmHg) {
2 // Calculate boiling point using Antoine equation
3 // Returns temperature in Celsius
4 return b / (a - Math.log10(pressureMmHg)) - c;
5}
6
7// Convert between temperature units
8function convertTemperature(temp, fromUnit, toUnit) {
9 // First convert to Celsius
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 // Then convert from Celsius to target unit
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// Example usage for water at different pressures
36const waterConstants = { A: 8.07131, B: 1730.63, C: 233.426 };
37const standardPressure = 760; // mmHg (1 atm)
38const highAltitudePressure = 630; // mmHg (approximately 5000 ft elevation)
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(`Water boils at ${boilingPointAtSeaLevel.toFixed(2)}°C at sea level`);
55console.log(`Water boils at ${boilingPointAtAltitude.toFixed(2)}°C at high altitude`);
56console.log(`That's ${convertTemperature(boilingPointAtAltitude, 'C', 'F').toFixed(2)}°F`);
57
1public class BoilingPointCalculator {
2 /**
3 * Calculate boiling point using Antoine equation
4 *
5 * @param a Antoine constant A
6 * @param b Antoine constant B
7 * @param c Antoine constant C
8 * @param pressureMmHg Pressure in mmHg
9 * @return Boiling point in Celsius
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 * Convert pressure between different units
17 *
18 * @param pressure Pressure value to convert
19 * @param fromUnit Source unit ("atm", "mmHg", "kPa", "psi", "bar")
20 * @param toUnit Target unit
21 * @return Converted pressure value
22 */
23 public static double convertPressure(double pressure, String fromUnit, String toUnit) {
24 // Conversion factors to mmHg
25 double mmHg = 0;
26
27 // Convert to mmHg first
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 // Convert from mmHg to target unit
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; // Should not reach here
46 }
47
48 public static void main(String[] args) {
49 // Antoine constants for water
50 double a = 8.07131;
51 double b = 1730.63;
52 double c = 233.426;
53
54 // Calculate boiling point at different pressures
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("Water boils at %.2f°C at %.2f atm (%.2f mmHg)%n",
60 boilingPoint, standardPressure, standardPressureMmHg);
61
62 // Calculate boiling point at reduced pressure (high altitude)
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("At high altitude (0.8 atm), water boils at %.2f°C%n",
68 reducedBoilingPoint);
69 }
70}
71
1#include <iostream>
2#include <cmath>
3#include <string>
4
5// Calculate boiling point using Antoine equation
6double calculateBoilingPoint(double a, double b, double c, double pressureMmHg) {
7 return b / (a - log10(pressureMmHg)) - c;
8}
9
10// Convert temperature between units
11double convertTemperature(double temp, const std::string& fromUnit, const std::string& toUnit) {
12 // First convert to Celsius
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("Invalid temperature unit");
23 }
24
25 // Then convert from Celsius to target unit
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("Invalid temperature unit");
34 }
35}
36
37int main() {
38 // Antoine constants for water
39 double a = 8.07131;
40 double b = 1730.63;
41 double c = 233.426;
42
43 // Calculate boiling point at standard pressure
44 double standardPressure = 760.0; // mmHg (1 atm)
45 double boilingPoint = calculateBoilingPoint(a, b, c, standardPressure);
46
47 std::cout << "Water boils at " << boilingPoint << "°C at standard pressure (760 mmHg)" << std::endl;
48
49 // Calculate boiling point at reduced pressure
50 double reducedPressure = 500.0; // mmHg
51 double reducedBoilingPoint = calculateBoilingPoint(a, b, c, reducedPressure);
52
53 std::cout << "Water boils at " << reducedBoilingPoint << "°C at reduced pressure (500 mmHg)" << std::endl;
54 std::cout << "That's " << convertTemperature(reducedBoilingPoint, "C", "F") << "°F" << std::endl;
55
56 return 0;
57}
58
Maji yanachemka kwa 100°C (212°F) katika shinikizo la kawaida la anga (1 atm au 760 mmHg). Hii mara nyingi inatumika kama kipimo cha rejea katika viwango vya joto na maelekezo ya kupikia.
Katika urefu mkubwa, shinikizo la anga linapungua, ambalo linapelekea viwango vya kuchemsha vya kioevu kupungua. Kwa maji, kiwango cha kuchemsha hupungua kwa takriban 1°C kwa kila mita 285 (feet 935) ya kuongezeka kwa urefu. Hii ndiyo sababu nyakati za kupikia zinahitaji kurekebishwa katika urefu mkubwa.
Vitu tofauti vina viwango tofauti vya kuchemsha kutokana na tofauti katika muundo wa molekuli, uzito wa molekuli, na nguvu za mvuto wa kati. Vitu vyenye nguvu zaidi za mvuto wa kati (kama vile uhusiano wa hidrojeni katika maji) vinahitaji nishati zaidi ili kutenganisha molekuli kuwa katika awamu ya gesi, na kusababisha viwango vya kuchemsha kuwa vya juu.
Vigezo vya Antoine (A, B, na C) ni parameta za majaribio zinazotumiwa katika kanuni ya Antoine kuhusisha shinikizo la mvuke na joto kwa dutu maalum. Vinapatikana kupitia vipimo vya majaribio vya shinikizo la mvuke katika joto tofauti, kisha uchambuzi wa kurudiwa unafanywa ili kufananisha data na kanuni ya Antoine.
Kanuni ya msingi ya Antoine inatumika kwa dutu safi pekee. Kwa mchanganyiko, mifano tata zaidi kama Sheria ya Raoult au mifano ya coefficient ya shughuli zinahitajika kuzingatia mwingiliano kati ya vipengele tofauti. Kihesabu chetu kimeundwa kwa ajili ya dutu safi.
Kuchemka kunatokea wakati shinikizo la mvuke la kioevu linafanana na shinikizo la nje, na kusababisha mabubbles kuunda ndani ya kioevu. Uvukizi unafanyika tu kwenye uso wa kioevu na unaweza kutokea katika joto lolote. Kuchemka ni mchakato wa wingi unaotokea kwa joto maalum (kiwango cha kuchemsha) kwa shinikizo fulani.
Kanuni ya Antoine kwa kawaida inatoa usahihi ndani ya 1-2% ya thamani za majaribio ndani ya eneo lililopendekezwa kwa kila dutu. Nje ya maeneo haya, usahihi unaweza kupungua. Kwa shinikizo kali sana au joto karibu na viwango vya juu, mifano tata zaidi ya hali ya hewa inashauriwa.
Kanuni ya Antoine inafanya kazi bora ndani ya maeneo ya shinikizo ya wastani. Katika shinikizo kubwa sana (karibu na shinikizo kikuu) au shinikizo dogo sana (katika vacuum ya kina), kanuni hiyo inaweza kupoteza usahihi. Kihesabu chetu kitakujulisha unapokuwa matokeo yanatoka nje ya eneo lililopendekezwa kwa vitu vilivyotajwa kabla.
Fomu ya kawaida ya kanuni ya Antoine inatumia joto katika Celsius (°C) na shinikizo katika mmHg. Ikiwa vigezo vyako vinategemea vitengo tofauti, vinahitaji kubadilishwa kabla ya kutumia katika kanuni hiyo.
Kiwango cha kuchemsha ni joto ambalo shinikizo la mvuke la dutu linafanana na shinikizo la nje. Kadri joto linavyoongezeka, shinikizo la mvuke linaongezeka. Wakati shinikizo la mvuke linapofanana na shinikizo la mazingira, kuchemka kunatokea. Uhusiano huu ndio hasa ambao kanuni ya Antoine inaelezea.
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.
Sasa kwamba umeelewa sayansi nyuma ya viwango vya kuchemsha na jinsi kihesabu chetu kinavyofanya kazi, uko tayari kufanya utabiri sahihi kwa matumizi yako maalum. Iwe wewe ni mwanafunzi unayejifunza kuhusu thermodynamics, mhandisi wa kitaalamu unayeunda michakato ya kemikali, au akili yenye udadisi inayoangazia dhana za kisayansi, kihesabu chetu cha kiwango cha kuchemsha kinatoa usahihi na kubadilika unayohitaji.
Rahisi tu chagua dutu yako (au ingiza vigezo vya kanuni ya Antoine vya kawaida), eleza hali za shinikizo, na mara moja ona kiwango kilichohesabiwa cha kuchemsha pamoja na uonyeshaji wa kusaidia wa uhusiano kati ya shinikizo na joto. Kiolesura rahisi cha kihesabu kinafanya hesabu ngumu kuwa inapatikana kwa kila mtu, bila kujali asili ya kiufundi.
Anza kuchunguza uhusiano wa kuvutia kati ya shinikizo na viwango vya kuchemsha leo!
Gundua zana zaidi ambazo zinaweza kuwa na manufaa kwa mtiririko wako wa kazi