Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit CHILDWIN;
- interface
- uses Winapi.Windows, System.Classes, Vcl.Graphics, Vcl.Forms, Vcl.Controls,
- Vcl.StdCtrls, Vcl.ComCtrls, Vcl.ExtCtrls, Vcl.Grids, ComObj, Math, SysUtils, Dialogs,
- Vcl.OleServer, Variants, ExcelXP;
- type
- a = array [1..1000] of extended;
- aa = array [1..100, 1..100] of extended; // 10.03.2019
- TMDIChild = class(TForm)
- Memo1: TMemo;
- PageControl1: TPageControl;
- Panel1: TPanel;
- TabSheet1: TTabSheet;
- TabSheet2: TTabSheet;
- TabSheet3: TTabSheet;
- PageControl2: TPageControl;
- TabSheet4: TTabSheet;
- TabSheet5: TTabSheet;
- PageControl3: TPageControl;
- TabSheet6: TTabSheet;
- TabSheet7: TTabSheet;
- Panel2: TPanel;
- StringGrid1: TStringGrid;
- Label1: TLabel;
- Panel3: TPanel;
- Label2: TLabel;
- StringGrid2: TStringGrid;
- StringGrid3: TStringGrid;
- StringGrid4: TStringGrid;
- StringGrid5: TStringGrid;
- Panel4: TPanel;
- Label3: TLabel;
- StringGrid6: TStringGrid;
- StringGrid7: TStringGrid;
- Panel5: TPanel;
- StringGrid8: TStringGrid;
- Label4: TLabel;
- StringGrid9: TStringGrid;
- Panel6: TPanel;
- Label5: TLabel;
- PageControl4: TPageControl;
- TabSheet8: TTabSheet;
- TabSheet9: TTabSheet;
- Panel7: TPanel;
- Label6: TLabel;
- StringGrid10: TStringGrid;
- Button1: TButton;
- Label7: TLabel;
- Label8: TLabel;
- Panel8: TPanel;
- Panel9: TPanel;
- Label9: TLabel;
- StringGrid11: TStringGrid;
- CheckBox1: TCheckBox;
- Panel10: TPanel;
- StringGrid12: TStringGrid;
- Panel11: TPanel;
- Button2: TButton;
- Panel12: TPanel;
- Edit1: TEdit;
- Edit2: TEdit;
- Label10: TLabel;
- Label11: TLabel;
- Edit3: TEdit;
- StringGrid13: TStringGrid;
- Panel13: TPanel;
- function getON (c, o:a):extended;
- function mix (density1, volflow1, comp1, density2, volflow2, comp2:extended): extended;
- function iC4_Ratio(c: a): extended;
- function d(density, c: a):extended;
- procedure mol(masdoli, density, Mr: a; var mol_l: a);
- procedure mas(mol_l, Mr: a; var mas_percent: a);
- procedure Kinetic(t:extended; var C, f: a);
- procedure RK (var C: a);
- procedure FormCreate(Sender: TObject);
- procedure Button1Click(Sender: TObject);
- procedure Wilson(xf:a; var Ki: a);
- procedure getMol(Fmas: extended; xmas: a; var xmol: a; var Fmol: extended);
- procedure Rashford_Rice (xf, Ki: a; var e: extended; var xw, xp: a); // 10.03.2019
- procedure getF(xw, xp: a; var Fw, Fp: a); // Проедура для определения коэффициентов сжимаемости для жидкости и газа // 10.03.2019
- procedure podborKi(Fp, Fw: a; var Ki, xw, xp:a); // Подбор коэффициентов распределения // 10.03.2019
- private
- { Private declarations }
- public
- { Public declarations }
- end;
- const
- v = 43.525; // объем контактора из регламента, м3
- h = 1e-1; // шаг по времени контакта
- NProp = 40;
- NKonst = 82;
- NBBF = 22;
- NIzobutHlad = 19;
- NIzobutCirc = 18;
- NTehPar = 13;
- NSerKis = 8;
- NSosAlk = 40;
- NSyrC4 = 18;
- //начало---------------------------------Долганов-----------19,02,2019
- //свойства компонентов
- FProperConst: array[1..NProp, 1..12] of string =
- (('Компонент', 'Молярная масса, г/моль', 'Плотность, кг/м3', 'A', 'B', 'C', 'D', 'ОЧ ИМ', 'ОЧ ММ', 'Pкритич., бар', 'Ткритич., К', 'ω'),
- ('Бутен-1', '56,1077003479004', '593,789001464844', '-0,715', '0,08436', '-0,00004754', '0,00000001066', '94,2963814413153', '76,9383346106406', '40,2260009765625', '419,450006103516', '0,187000006437302'),
- ('Бутен-2', '56,1077003479004', '625,953002929688', '0,105', '0,07054', '-0,00002431', '-0,000000000147', '97,4894864213387', '95,1420451525046', '41,5406005859375', '431,952508544922', '0,210565000772476'),
- ('Изобутен', '56,1077003479004', '592,793029785156', '3,834', '0,06698', '-0,00002607', '0,000000002173', '97,9884090744673', '83,6767247007228', '40,02330078125', '417,748010253906', '0,189980000257492'),
- ('Н(+)', '1,008', '70,811', '0', '0', '0', '0', '0', '0', '0', '0', '0'),
- ('Изобутан', '58,1240005493164', '561,966003417969', '-0,332', '0,09189', '-0,00004409', '0,000000006915', '101,780221238245', '98,1592347450787', '36,476201171875', '407,946008300781', '0,184790000319481'),
- ('iC4H9(+)', '57,1160005493164', '561,966003417969', '0', '0', '0', '0', '0', '0', '0', '0', '0'),
- ('nC4H10', '58,1240005493164', '583,223022460938', '2,266', '0,07913', '-0,00002647', '-0,000000000674', '93,3983206656837', '90,6162607636434', '37,966201171875', '425,049005126953', '0,20100000500679'),
- ('TMC5(+)', '113,224002258301', '694,955017089844', '0', '0', '0', '0', '0', '0', '0', '0', '0'),
- ('224TMC5', '114,232002258301', '694,955017089844', '-2,201', '0,1877', '-0,0001051', '0,00000002316', '104,274834503888', '103,590176011712', '25,6757006835938', '543,810021972656', '0,310000002384186'),
- ('233TMC5', '114,232002258301', '729,041015625', '-2,201', '0,1877', '-0,0001051', '0,00000002316', '111,858458831444', '101,679289269749', '28,198701171875', '573,409020996094', '0,28999000787735'),
- ('234TMC5', '114,232002258301', '721,9580078125', '-2,201', '0,1877', '-0,0001051', '0,00000002316', '105,771602463274', '105,601635740095', '27,296201171875', '566,258020019531', '0,319990009069443'),
- ('ДMC6(+)', '113,224002258301', '696,671020507813', '0', '0', '0', '0', '0', '0', '0', '0', '0'),
- ('25ДMC6', '114,232002258301', '696,671020507813', '-2,201', '0,1877', '-0,0001051', '0,00000002316', '55,5799835585319', '55,8180074626216', '24,8651000976563', '549,909020996094', '0,345990002155304'),
- ('24ДMC6', '114,232002258301', '703,263000488281', '-2,201', '0,1877', '-0,0001051', '0,00000002316', '69,7493869073856', '65,573587145278', '25,563701171875', '553,37001953125', '0,340990006923676'),
- ('23ДMC6', '114,232002258301', '715,013000488281', '-2,201', '0,1877', '-0,0001051', '0,00000002316', '77,2332267043154', '72,9154151538751', '26,283701171875', '563,339013671875', '0,340000003576279'),
- ('C3H6', '42,0806007385254', '520,955017089844', '0,886', '0,05602', '-0,00002771', '0,000000005266', '105,472248871397', '100,572986419138', '46,2041015625', '364,85', '0,148000001907349'),
- ('24ДMC5', '100,205001831055', '675,994018554688', '-11,966', '0,2139', '-0,0001519', '0,00000004146', '83,6194366643621', '83,5761517143037', '27,3678002929688', '519,639001464844', '0,307000011205673'),
- ('223TMC4', '100,205001831055', '693,25', '-5,48', '0,1796', '-0,0001056', '0,000000024', '111,858458831444', '101,679289269749', '29,536201171875', '531,019006347656', '0,259990006685257'),
- ('2MC6', '100,205001831055', '681,539001464844', '-9,408', '0,2064', '-0,0001502', '0,00000004386', '44,3043315978243', '40,6314865133318', '27,336201171875', '530,219018554688', '0,340000003576279'),
- ('23ДMC5', '100,205001831055', '698,046020507813', '-11,966', '0,2139', '-0,0001519', '0,00000004146', '90,9037074000405', '89,0070929809372', '29,0802001953125', '537,198022460938', '0,305000007152557'),
- ('3MC6', '100,205001831055', '690,200012207031', '-1,683', '0,1633', '-0,00008919', '0,00000001871', '53,8836465378945', '51,2922230737604', '28,137900390625', '535,1', '0,326990008354187'),
- ('I7', '100,205001831055', '701,168029785156', '-9,408', '0,2064', '-0,0001502', '0,00000004386', '69,1506797236312', '65,3724411724397', '28,9080004882813', '540,490014648438', '0,314000010490417'),
- ('I8', '114,232002258301', '716,465026855469', '-2,201', '0,1877', '-0,0001051', '0,00000002316', '99,7845306257305', '93,5328773697984', '24,843701171875', '559,488000488281', '0,38400000333786'),
- ('C5H10', '70,1350009765625', '638,723022460938', '-0,032', '0,1034', '-0,00005534', '0,00000001118', '93,4981051963095', '78,0446374612511', '35,2869995117188', '464,549005126953', '0,232960000634193'),
- ('I9', '128,259002685547', '730,927001953125', '-2,201', '0,1877', '-0,0001051', '0,00000002316', '79,8276245005844', '70,4010904933966', '22,898701171875', '586,6', '0,416680008172989'),
- ('C3H8', '44,0970001220703', '506,678009033203', '-1,009', '0,07315', '-0,00003789', '0,000000007678', '105,472248871397', '100,572986419138', '42,5666015625', '369,748010253906', '0,152400001883507'),
- ('iC5H12', '72,1510009765625', '623,442016601563', '-2,275', '0,121', '-0,00006519', '0,00000001367', '92,7996134819294', '91,2196986821582', '33,3359008789063', '460,248010253906', '0,222240000963211'),
- ('23ДMC4', '86,1779022216797', '665,168029785156', '-3,489', '0,1469', '-0,00008063', '0,00000001629', '102,578497483251', '96,3489209895342', '31,268701171875', '499,830010986328', '0,246950000524521'),
- ('22ДMC4', '86,1779022216797', '652,565002441406', '-3,973', '0,1503', '-0,00008314', '0,00000001636', '93,1987516044323', '92,3260015327687', '31', '488,85', '0,231940001249313'),
- ('2MC5', '86,1779022216797', '656,507019042969', '-2,524', '0,1477', '-0,00008533', '0,00000001931', '73,3416300099119', '73,8205720316473', '30,1036010742188', '497,347009277344', '0,279100000858307'),
- ('3MC5', '86,1779022216797', '667,684020996094', '0,57', '0,1359', '-0,00006854', '0,00000001202', '74,3394753161692', '74,7257289094196', '31,2384008789063', '504,299005126953', '0,275000005960464'),
- ('iC12H25(+)', '169,331004516602', '751,14501953125', '0', '0', '0', '0', '0', '0', '0', '0', '0'),
- ('iC12H26', '170,339004516602', '751,14501953125', '-14,932', '0,2362', '-0,0001384', '0,00000003084', '49,8922653128652', '40,2291945676552', '18,2992004394531', '658,149011230469', '0,561990022659302'),
- ('I10', '142,285003662109', '751,544006347656', '-3,928', '0,1671', '-0,00009841', '0,00000002228', '59,8707183754383', '50,286493209569', '23,096201171875', '619,889001464844', '0,409990012645721'),
- ('I11', '156,313003540039', '742,846008300781', '-7,473', '0,1788', '-0,0001099', '0,00000002582', '49,8922653128652', '40,2291945676552', '19,6493005371094', '638,149011230469', '0,535000026226044'),
- ('C2H6', '30,0699005126953', '355,683013916016', '1,292', '0,04254', '-0,00001657', '0,000000002081', '106,869232300157', '104,595905875904', '48,8385009765625', '305,278009033203', '0,0986000001430511'),
- ('HSO4', '97,0720018310547', '1840', '0', '0', '0', '0', '0', '0', '0', '0', '0'),
- ('H2SO4', '98,0800018310547', '1840', '', '', '', '', '0', '0', '0', '0', '0'),
- ('Polymer', '504,969303131104', '1025', '', '', '', '', '0', '0', '0', '0', '0')
- );
- //константы скорости
- FKonstantConst: array[1..NKonst, 1..6] of string =(('№', 'Реагенты', '', 'Продукты', 'Предэкспоненциальный множитель', 'Ea, кДж/моль'),
- ('1', '1-C4H8', '--->', '2-C4H8', '0', '40'),
- ('2', '2-C4H8', '--->', '1-C4H8', '0', '40'),
- ('3', '1-C4H8', '--->', 'i-C4H8', '0', '40'),
- ('4', 'i-C4H8', '--->', '1-C4H8', '0', '40'),
- ('5', '2-C4H8', '--->', 'i-C4H8', '0', '40'),
- ('6', 'i-C4H8', '--->', '2-C4H8', '0', '40'),
- ('7', '1-C4H8 + H(+) + i-C4H10', '--->', 'i-C4H9(+) + n-C4H10', '973,643079538067', '42'),
- ('8', 'i-C4H9(+) + n-C4H10', '--->', '1-C4H8 + H(+) + i-C4H10', '0', '58'),
- ('9', 'i-C4H8 + H(+)', '--->', 'i-C4H9(+) ', '973,643079538067', '42'),
- ('10', 'i-C4H9(+) ', '--->', 'i-C4H8 + H(+)', '0', '58'),
- ('11', '2-C4H8 + H(+) + i-C4H10', '--->', 'i-C4H9(+) + n-C4H10', '973,643079538067', '42'),
- ('12', 'i-C4H9(+) + n-C4H10', '--->', '2-C4H8 + H(+) + i-C4H10', '0', '58'),
- ('13', 'i-C4H9(+) + 2-С4Н8', '--->', 'TMC5(+)', '729,915013772956', '40'),
- ('14', 'i-C4H9(+) + i-С4Н8', '--->', 'TMC5(+)', '405,508340984976', '40'),
- ('15', 'TMC5(+) + i-C4H10', '--->', '2,2,4-TMC5 + i-C4H9(+)', '3008,55711577263', '42'),
- ('16', 'TMC5(+) + i-C4H10', '--->', '2,3,3-TMC5 + i-C4H9(+)', '6520,37045376731', '45'),
- ('17', 'TMC5(+) + i-C4H10', '--->', '2,3,4-TMC5 + i-C4H9(+)', '12959,4336851955', '47'),
- ('18', 'i-C4H9(+) + 1-С4Н8', '--->', 'ДМС6(+)', '54707,9448858251', '47'),
- ('19', 'ДМС6(+) + i-C4H10', '--->', '2,5ДМС6 + i-C4H9(+)', '104,852634538551', '48'),
- ('20', 'ДМС6(+) + i-C4H10', '--->', '2,4ДМС6 + i-C4H9(+)', '135,741642994039', '49'),
- ('21', 'ДМС6(+) + i-C4H10', '--->', '2,3ДМС6 + i-C4H9(+)', '177,976404624525', '50'),
- ('22', 'i-C4H10 + C3H6', '--->', '2,4-ДМС5', '5332730,92744861', '59'),
- ('23', 'i-C4H10 + C3H6', '--->', '2,2,3-ТМС4', '1666478,41482769', '59'),
- ('24', 'i-C4H10 + C3H6', '--->', '2-МС6', '1166534,89037938', '59'),
- ('25', 'i-C4H10 + C3H6', '--->', '2,3-ДМС5', '8332392,07413846', '59'),
- ('26', 'i-C4H10 + C3H6', '--->', '3-МС6', '2166421,939276', '59'),
- ('27', 'i-C4H10 + C3H6', '--->', 'I7', '0', '59'),
- ('28', 'i-C4H10 + i-C4H8', '--->', 'I8', '1666,47841482769', '59'),
- ('29', 'i-C4H10 + 1-C4H8', '--->', 'I8', '1666,47841482769', '59'),
- ('30', 'i-C4H10 + 2-C4H8', '--->', 'I8', '1666,47841482769', '59'),
- ('31', 'i-C4H10 + C5H10', '--->', 'I9', '133318273,186215', '59'),
- ('32', '2 i-C4H10 + C3H6', '--->', '2,2,4-TMC5 + C3H8', '0', '59'),
- ('33', '2 i-C4H10 + C3H6', '--->', '2,3,3-TMC5 + C3H8', '0', '59'),
- ('34', '2 i-C4H10 + C3H6', '--->', '2,3,4-TMC5 + C3H8', '0', '59'),
- ('35', '2 i-C4H10 + C3H6', '--->', '2,5ДМС6 + C3H8', '0', '59'),
- ('36', '2 i-C4H10 + C3H6', '--->', '2,4ДМС6 + C3H8', '0', '59'),
- ('37', '2 i-C4H10 + C3H6', '--->', '2,3ДМС6 + C3H8', '0', '59'),
- ('38', ' i-C4H10 + 1-C4H8', '--->', 'i-C5H12 + C3H6', '1666,47841482769', '59'),
- ('39', ' i-C4H10 + 2-C4H8', '--->', 'i-C5H12 + C3H6', '16664,7841482769', '59'),
- ('40', ' i-C4H10 + i-C4H8', '--->', 'i-C5H12 + C3H6', '14998,3057334492', '59'),
- ('41', '2 i-C4H8 + C3H6', '--->', 'i-C5H12 + 2,3-ДМС4', '88323355,9858676', '59'),
- ('42', '2 i-C4H8 + C3H6', '--->', 'i-C5H12 + 2,2-ДМС4', '0', '59'),
- ('43', '2 i-C4H8 + C3H6', '--->', 'i-C5H12 + 2-МС5', '23330697,8075877', '59'),
- ('44', '2 i-C4H8 + C3H6', '--->', 'i-C5H12 + 3-МС5', '11665348,9037938', '59'),
- ('45', '2 i-C4H8 + C4H8', '--->', 'i-C5H12 + 2,4-ДМС5', '0', '59'),
- ('46', '2 i-C4H8 + C4H8', '--->', 'i-C5H12 + 2,2,3-ТМС4', '0', '59'),
- ('47', '2 i-C4H8 + C4H8', '--->', 'i-C5H12 + 2-МС6', '0', '59'),
- ('48', '2 i-C4H8 + C4H8', '--->', 'i-C5H12 + 2,3-ДМС5', '0', '59'),
- ('49', '2 i-C4H8 + C4H8', '--->', 'i-C5H12 + 3-МС6', '0', '59'),
- ('50', 'TMC5(+) + 2-C4H8', '--->', 'i-C12H25(+)', '183,312625631046', '59'),
- ('51', 'ДМС6(+) + 2-C4H8', '--->', 'i-C12H25(+)', '1166534,89037938', '59'),
- ('52', 'i-C12H25(+) + i-C4H10', '--->', 'i-C12H26 + i-C4H9(+)', '8332,39207413846', '59'),
- ('53', '2,3-ДМС4 + 2-С4Н8', '--->', 'I10', '1583154,49408631', '59'),
- ('54', '2,2-ДМС4 + 2-С4Н8', '--->', 'I10', '1583154,49408631', '59'),
- ('55', '2-МС5 + 2-С4Н8', '--->', 'I10', '916563,12815523', '59'),
- ('56', '3-МС5 + 2-С4Н8', '--->', 'I10', '916563,12815523', '59'),
- ('57', '2,4-ДМС5 + 2-С4Н8', '--->', 'I11', '86656,8775710399', '59'),
- ('58', '2,2,3-ТМС4 + 2-С4Н8', '--->', 'I11', '131651,794771388', '59'),
- ('59', '2-МС6 + 2-С4Н8', '--->', 'I11', '149983,057334492', '59'),
- ('60', '2,3-ДМС5 + 2-С4Н8', '--->', 'I11', '12498588,1112077', '59'),
- ('61', '3-МС6 + 2-С4Н8', '--->', 'I11', '83323,9207413846', '59'),
- ('62', '2,2,4-ТМС5', '--->', 'i-C4H10 + i-C4H8', '0', '59'),
- ('63', '2,3,4-ТМС5', '--->', 'i-C5H12 + C3H8', '0', '59'),
- ('64', '2,3,3-ТМС5', '--->', '2,3-ДМС4 + С2Н6', '0', '59'),
- ('65', '2,5-ДМС6', '--->', 'С3Н6 + i-C5H12', '0', '59'),
- ('66', '2,4-ДМС6', '--->', 'С3Н6 + i-C5H12', '0', '59'),
- ('67', '2,3-ДМС6', '--->', 'С3Н6 + i-C5H12', '0', '59'),
- ('68', 'i-C12H26', '--->', 'I9 + C3H6', '14165066526035,4', '59'),
- ('69', 'i-C12H26', '--->', 'I8 + 1-C4H8', '0', '59'),
- ('70', 'i-C12H26', '--->', 'I8 + 2-C4H8', '0', '59'),
- ('71', 'i-C12H26', '--->', '2,4-ДМС5 + С5Н10', '16664,7841482769', '59'),
- ('72', 'i-C12H26', '--->', '2,2,3-ТМС4 + С5Н10', '1333182,73186215', '59'),
- ('73', 'i-C12H26', '--->', '2-МС6 + С5Н10', '116653489,037938', '59'),
- ('74', 'i-C12H26', '--->', '2,3-ДМС5 + С5Н10', '14998305,7334492', '59'),
- ('75', 'i-C12H26', '--->', '3-МС6 + С5Н10', '149983057,334492', '59'),
- ('76', 'i-C4H9(+) + HSO4(-)', '--->', 'i-C4H8 + H2SO4', '0', '59'),
- ('77', 'H2SO4', '--->', 'H(+) + HSO4(-)', '628,347348124414', '41'),
- ('78', 'H(+) + HSO4(-)', '--->', 'H2SO4', '628,347348124414', '41'),
- ('79', '1-C4H8', '--->', 'Polymer', '0', '59'),
- ('80', '2-C4H8', '--->', 'Polymer', '0', '59'),
- ('81', 'i-C4H8', '--->', 'Polymer', '0', '59'));
- //бинарные коэффициенты
- FBinKoeff: array [1..NProp] of array [1..NProp] of string = (('', 'Бутен-1', 'Бутен-2', 'Изобутен', 'Н(+)', 'Изобутан', 'iC4H9(+)', 'nC4H10', 'TMC5(+)', '224TMC5', '233TMC5', '234TMC5', 'ДMC6(+)', '25ДMC6', '24ДMC6', '23ДMC6', 'C3H6', '24ДMC5', '223TMC4', '2MC6', '23ДMC5', '3MC6', 'I7', 'I8', 'C5H10', 'I9', 'C3H8', 'iC5H12', '23ДMC4', '22ДMC4', '2MC5', '3MC5', 'iC12H25(+)', 'iC12H26', 'I10', 'I11', 'C2H6', 'HSO4', 'H2SO4', 'Polymer' ),
- ('Бутен-1', '0', '0,00298308907076716', '-0,00112131319474429', '0', '-0,000337440549628809', '0', '-0,00430000014603138', '0', '0,0365192480385304', '0,0317998826503754', '0,0387585014104843', '0', '0,0446275770664215', '0,0435423217713833', '0,0433285012841225', '-0,00270000007003546', '0,03542809933424', '0,023536704480648', '0,0434411354362965', '0,0347208045423031', '0,040261447429657', '0,0371174439787865', '0,0529845505952835', '0,013658132404089', '0,0587591454386711', '0,0100345015525818', '0,0109295006841421', '0,0191836766898632', '0,0152783198282123', '0,0277606695890427', '0,0266961883753538', '0', '0,0756538510322571', '0,0576223321259022', '0,075098067522049', '0,0272161979228258', '0', '0', '0' ),
- ('Бутен-2', '0,00298308907076716', '0', '0,00205013458617032', '0', '0,00460988329723477', '0', '-0,00048090485506691', '0', '0,0330476835370064', '0,0283327735960484', '0,0352108255028725', '0', '0,0410890206694603', '0,0399718396365643', '0,0397410467267036', '0,0164812970906496', '0,0316948145627975', '0,0198485106229782', '0,0396095700562', '0,0308573246002197', '0,0363849550485611', '0,0333491861820221', '0,049323808401823', '0,00946305133402348', '0,055208545178175', '0,0143577177077532', '0,00681023951619864', '0,0152998045086861', '0,0114448303356767', '0,02382942289114', '0,0227773413062096', '0', '0,07203259319067', '0,0540599152445793', '0,0714457333087921', '0,0311121642589569', '0', '0', '0' ),
- ('Изобутен', '-0,00112131319474429', '0,00205013458617032', '0', '0', '-0,00100000004749745', '0', '0,00194285437464714', '0', '0,0358590818941593', '0,0311391949653625', '0,0380851402878761', '0', '0,043957743793726', '0,0428662672638893', '0,0426492691040039', '0,0131005560979247', '0,0347200408577919', '0,0228341314941645', '0,0427171960473061', '0,0339889079332352', '0,0395284742116928', '0,0364034399390221', '0,0522951930761337', '0,0128626869991422', '0,0580930337309837', '0,0108413072302938', '0,0101473033428192', '0,0184450428932905', '0,0145480716601014', '0,0270150490105152', '0,0259526092559099', '0', '0,0749927386641502', '0,0569534040987492', '0,0744267180562019', '0,0279396902769804', '0', '0', '0' ),
- ('Н(+)', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0' ),
- ('Изобутан', '-0,000337440549628809', '0,00460988329723477', '-0,00100000004749745', '0', '0', '0', '0,00044334409176372', '0', '0,0100278835743666', '0,0115735111758113', '0,00759202102199197', '0', '0,00597491953521967', '0,00558876013383269', '0,00526887690648437', '-0,0355000011622906', '0,00434362562373281', '0,00892096664756536', '-0,000325787579640746', '0,00156126206275076', '-0,000391123961890116', '0,0030326887499541', '0,000560226326342672', '0,0134564517065883', '0,00109055114444345', '0,00831524841487408', '0,00252065830864012', '0,00564188556745648', '0,00794588401913643', '0,00204798043705523', '0,00264576124027371', '0', '-0,00764581561088562', '0,00121817109175026', '-0,00753172766417265', '0,0161370262503624', '0', '0', '0' ),
- ('iC4H9(+)', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0' ),
- ('nC4H10', '-0,00430000014603138', '-0,00048090485506691', '0,00194285437464714', '0', '0,00044334409176372', '0', '0', '0', '0,0144354198127985', '0,0159396100789309', '0,0119395013898611', '0', '0,0103972349315882', '0,00996221695095301', '0,0096207233145833', '0,01676981523633', '0,00845768861472607', '0,0129896020516753', '0,00375111075118184', '0,0055288877338171', '0,00360715575516224', '0,00712323654443026', '0,00494398921728134', '0,00907906051725149', '0,00570504320785403', '0,00459793256595731', '0,00608017528429627', '0,00948229338973761', '0,0118138240650296', '0,00589366815984249', '0,00649740733206272', '0', '-0,00248833722434938', '0,00579669512808323', '-0,00256689079105854', '0,0122999995946884', '0', '0', '0' ),
- ('TMC5(+)', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0' ),
- ('224TMC5', '0,0365192480385304', '0,0330476835370064', '0,0358590818941593', '0', '0,0100278835743666', '0', '0,0144354198127985', '0', '0', '-0,000167586898896843', '0,000689112988766283', '0', '-0,00225589098408818', '-0,00234367023222148', '-0,00251590250991285', '0,0445642620325089', '0,00541766593232751', '0,000948693719692528', '0,00144321937114', '0,00772964814677835', '0,00489791296422482', '0,00547651993110776', '-0,00690267886966467', '0,0240257140249014', '-0,00755858654156327', '0,0223968140780926', '0,00724720861762762', '0,00365750677883625', '0,00138967658858746', '0,00719620613381267', '0,00661416538059711', '0', '-0,017275795340538', '-0,00727541605010629', '-0,0165055636316538', '0,0370704717934132', '0', '0', '0' ),
- ('233TMC5', '0,0317998826503754', '0,0283327735960484', '0,0311391949653625', '0', '0,0115735111758113', '0', '0,0159396100789309', '0', '-0,000167586898896843', '0', '-0,00204892875626683', '0', '-0,00391448754817247', '-0,00400438997894526', '-0,00417849561199546', '0,0409839041531086', '0,00238648219965398', '0,00256414222531021', '-0,00236121658235788', '0,00514850160107017', '0,00100330682471395', '0,00162333506159484', '-0,0085946973413229', '0,0185861941426992', '-0,00925386976450682', '0,0238717682659626', '0,00880555063486099', '0,00524662062525749', '0,00299793691374362', '0,00875664874911308', '0,00817943550646305', '0', '-0,0190867222845554', '-0,00896843429654837', '-0,0182938352227211', '0,038520660251379', '0', '0', '0' ),
- ('234TMC5', '0,0387585014104843', '0,0352108255028725', '0,0380851402878761', '0', '0,00759202102199197', '0', '0,0119395013898611', '0', '0,000689112988766283', '-0,00204892875626683', '0', '0', '-0,000362994964234531', '-0,000466853816760704', '-0,000646081636659801', '0,0464208386838436', '0,00344835268333554', '-0,00104215554893017', '0,00221111299470067', '0,00569950137287378', '0,00564878573641181', '0,00459380587562919', '-0,00501856533810496', '0,0264886282384396', '-0,00559689803048968', '0,0195445343852043', '0,00499364081770182', '0,00156379281543195', '-0,00069128698669374', '0,00510717369616032', '0,00452773412689567', '0', '-0,0151182636618614', '-0,00532603450119495', '-0,0144152510911226', '0,0336499325931072', '0', '0', '0' ),
- ('ДMC6(+)', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0' ),
- ('25ДMC6', '0,0446275770664215', '0,0410890206694603', '0,043957743793726', '0', '0,00597491953521967', '0', '0,0103972349315882', '0', '-0,00225589098408818', '-0,00391448754817247', '-0,000362994964234531', '0', '0', '0,00157114781904966', '0,00175637856591493', '0,0506556928157806', '0,00167512497864664', '-0,0028568129055202', '0,00592559715732932', '0,00397455552592874', '0,00586237339302897', '0,00283622997812927', '-0,00314024090766907', '0,0333947688341141', '-0,00374015863053501', '0,0181203298270702', '0,00331951584666967', '-0,000189859623787925', '-0,00247639999724925', '0,00339568546041846', '0,00280844117514789', '0', '-0,0131687996909022', '-0,00346826063469052', '-0,0124742574989796', '0,0323811173439026', '0', '0', '0' ),
- ('24ДMC6', '0,0435423217713833', '0,0399718396365643', '0,0428662672638893', '0', '0,00558876013383269', '0', '0,00996221695095301', '0', '-0,00234367023222148', '-0,00400438997894526', '-0,000466853816760704', '0', '0,00157114781904966', '0', '0,00164733163546771', '0,0499977543950081', '0,00151971401646733', '-0,00300585851073265', '0,0057488321326673', '0,00377928419038653', '0,0056679118424654', '0,00267209578305483', '-0,00305519578978419', '0,0320310890674591', '-0,00361760752275586', '0,0175094809383154', '0,00302212266251445', '-0,000399086100514978', '-0,00266980356536806', '0,00317347748205066', '0,00258994637988508', '0', '-0,0130001725628972', '-0,0033508709166199', '-0,0123291537165642', '0,0315013825893402', '0', '0', '0' ),
- ('23ДMC6', '0,0433285012841225', '0,0397410467267036', '0,0426492691040039', '0', '0,00526887690648437', '0', '0,0096207233145833', '0', '-0,00251590250991285', '-0,00417849561199546', '-0,000646081636659801', '0', '0,00175637856591493', '0,00164733163546771', '0', '0,0499026589095593', '0,00131605088245124', '-0,00320897391065955', '0,0055368859320879', '0,0035570755135268', '0,00544718978926539', '0,0024647384416312', '-0,00287761446088552', '0,0317379273474216', '-0,00342069217003882', '0,0170793645083904', '0,00274717109277844', '-0,000631054688710719', '-0,00289529282599688', '0,00293736415915191', '0,00235532317310572', '0', '-0,0127717964351177', '-0,00315674510784447', '-0,0121143301948905', '0,0309339202940464', '0', '0', '0' ),
- ('C3H6', '-0,00270000007003546', '0,0164812970906496', '0,0131005560979247', '0', '-0,0355000011622906', '0', '0,01676981523633', '0', '0,0445642620325089', '0,0409839041531086', '0,0464208386838436', '0', '0,0506556928157806', '0,0499977543950081', '0,0499026589095593', '0', '0,044317115098238', '0,0346646793186665', '0,0508328378200531', '0,0440406911075115', '0,0484995655715466', '0,0457292683422565', '0,0569610707461834', '0,0265192203223705', '0,0597170293331146', '0,00749990018084645', '0,0240870695561171', '0,0311613660305738', '0,0278129521757364', '0,0384404435753822', '0,0375333279371262', '0', '0,0613845139741898', '0,0591827072203159', '0,0648484230041504', '0,000600000028498471', '0', '0', '0' ),
- ('24ДMC5', '0,03542809933424', '0,0316948145627975', '0,0347200408577919', '0', '0,00434362562373281', '0', '0,00845768861472607', '0', '0,00541766593232751', '0,00238648219965398', '0,00344835268333554', '0', '0,00167512497864664', '0,00151971401646733', '0,00131605088245124', '0,044317115098238', '0', '-0,00301987631246448', '-0,00266028637997806', '0,00351665518246591', '5,36315492354333E-05', '0,000711528351530433', '-0,00307633448392153', '0,0223359353840351', '-0,00343429297208786', '0,0150968106463552', '0,00223504076711833', '-0,000727371138054878', '-0,00291287223808467', '0,00277251238003373', '0,00220905034802854', '0', '-0,0126248029991984', '-0,00319474190473557', '-0,0120711224153638', '0,0277041811496019', '0', '0', '0' ),
- ('223TMC4', '0,023536704480648', '0,0198485106229782', '0,0228341314941645', '0', '0,00892096664756536', '0', '0,0129896020516753', '0', '-0,00104215554893017', '-0,0028568129055202', '-0,00300585851073265', '0', '-0,0028568129055202', '-0,00300585851073265', '-0,00320897391065955', '0,0346646793186665', '-0,00301987631246448', '0', '-0,0072008054703474', '-0,00406351825222373', '-0,00691138952970505', '-0,00413504103198648', '-0,00768049340695143', '0,00903783459216356', '-0,00810087192803621', '0,0197495948523283', '0,00674651516601443', '0,00376170594245195', '0,00160450313705951', '0,00202436675317585', '0,0025803956668824', '0', '-0,0177009496837854', '-0,00784732308238745', '-0,017046669498086', '0,0325890779495239', '0', '0', '0' ),
- ('2MC6', '0,0434411354362965', '0,0396095700562', '0,0427171960473061', '0', '-0,000325787579640746', '0', '0,00375111075118184', '0', '0,00221111299470067', '0,00592559715732932', '0,0057488321326673', '0', '0,00592559715732932', '0,0057488321326673', '0,0055368859320879', '0,0508328378200531', '-0,00266028637997806', '-0,0072008054703474', '0', '-0,000664266350213438', '0,00125584262423217', '-0,00155697169248015', '0,00119667768012732', '0,0312729999423027', '0,000956057920120656', '0,00997510645538569', '-0,00221999804489315', '-0,00501206004992127', '-0,00719896657392383', '-0,00148061686195433', '-0,00204519368708134', '0', '-0,0078243687748909', '0,00117514375597239', '-0,00739337783306837', '0,0219008475542068', '0', '0', '0' ),
- ('23ДMC5', '0,0347208045423031', '0,0308573246002197', '0,0339889079332352', '0', '0,00156126206275076', '0', '0,0055288877338171', '0', '0,00569950137287378', '0,00397455552592874', '0,00377928419038653', '0', '0,00397455552592874', '0,00377928419038653', '0,0035570755135268', '0,0440406911075115', '0,00351665518246591', '-0,00406351825222373', '-0,000664266350213438', '0', '-0,000452305161161348', '0,00238855765201151', '-0,000839502492453903', '0,0213238708674908', '-0,00102225446607918', '0,0115097537636757', '-0,000212761035072617', '-0,00286272843368351', '-0,00500707607716322', '0,000617568904999644', '6,33984309388325E-05', '0', '-0,00990636460483074', '-0,000808299926575273', '-0,00947941280901432', '0,023088663816452', '0', '0', '0' ),
- ('3MC6', '0,040261447429657', '0,0363849550485611', '0,0395284742116928', '0', '-0,000391123961890116', '0', '0,00360715575516224', '0', '0,00564878573641181', '0,00586237339302897', '0,0056679118424654', '0', '0,00586237339302897', '0,0056679118424654', '0,00544718978926539', '0,0484995655715466', '5,36315492354333E-05', '-0,00691138952970505', '0,00125584262423217', '-0,000452305161161348', '0', '0,000812531681731343', '0,00108724308665842', '0,0275463256984949', '0,000916699296794832', '0,00957269594073296', '-0,00215526949614286', '-0,00481443526223302', '-0,00697471154853702', '-0,00130749319214374', '-0,00186575204133987', '0', '-0,00780848320573568', '0,00112663663458079', '-0,00741575378924608', '0,0211072862148285', '0', '0', '0' ),
- ('I7', '0,0371174439787865', '0,0333491861820221', '0,0364034399390221', '0', '0,0030326887499541', '0', '0,00712323654443026', '0', '0,00459380587562919', '0,00283622997812927', '0,00267209578305483', '0', '0,00283622997812927', '0,00267209578305483', '0,0024647384416312', '0,0457292683422565', '0,000711528351530433', '-0,00413504103198648', '-0,00155697169248015', '0,00238855765201151', '0,000812531681731343', '0', '-0,00191652833018452', '0,0241922289133072', '-0,00223094969987869', '0,0136031713336706', '0,00100574421230704', '-0,00188686430919915', '-0,00406830944120884', '0,00161775178276002', '0,00105503329541534', '0', '-0,0113000059500337', '-0,00199849344789982', '-0,0107861813157797', '0,0259547047317028', '0', '0', '0' ),
- ('I8', '0,0529845505952835', '0,049323808401823', '0,0522951930761337', '0', '0,000560226326342672', '0', '0,00494398921728134', '0', '-0,00501856533810496', '-0,00314024090766907', '-0,00305519578978419', '0', '-0,00314024090766907', '-0,00305519578978419', '-0,00287761446088552', '0,0569610707461834', '-0,00307633448392153', '-0,00768049340695143', '0,00119667768012732', '-0,000839502492453903', '0,00108724308665842', '-0,00191652833018452', '0', '0,0430208928883076', '0,000971067056525499', '0,0121594816446304', '-0,00183262676000595', '-0,0051370351575315', '-0,00742871034890413', '-0,00150741811376065', '-0,00209689629264176', '0', '-0,00807475298643112', '0,00122446194291115', '-0,00749269407242537', '0,0255826860666275', '0', '0', '0' ),
- ('C5H10', '0,013658132404089', '0,00946305133402348', '0,0128626869991422', '0', '0,0134564517065883', '0', '0,00907906051725149', '0', '0,0264886282384396', '0,0333947688341141', '0,0320310890674591', '0', '0,0333947688341141', '0,0320310890674591', '0,0317379273474216', '0,0265192203223705', '0,0223359353840351', '0,00903783459216356', '0,0312729999423027', '0,0213238708674908', '0,0275463256984949', '0,0241922289133072', '0,0430208928883076', '0', '0,0507339760661125', '0,0246301926672459', '0,00143296632450074', '0,00409875391051173', '0,000434659596066922', '0,0134860007092357', '0,0123249161988497', '0', '0,0772536173462868', '0,0492127537727356', '0,0741448402404785', '0,0391637608408928', '0', '0', '0' ),
- ('I9', '0,0587591454386711', '0,055208545178175', '0,0580930337309837', '0', '0,00109055114444345', '0', '0,00570504320785403', '0', '-0,00559689803048968', '-0,00374015863053501', '-0,00361760752275586', '0', '-0,00374015863053501', '-0,00361760752275586', '-0,00342069217003882', '0,0597170293331146', '-0,00343429297208786', '-0,00810087192803621', '0,000956057920120656', '-0,00102225446607918', '0,000916699296794832', '-0,00223094969987869', '0,000971067056525499', '0,0507339760661125', '0', '0,0135964704677463', '-0,0016409280942753', '-0,00530503829941154', '-0,00767881516367197', '-0,00159135775174946', '-0,00220053340308368', '0', '-0,00776507193222642', '0,00119372189510614', '-0,00708310445770621', '0,0280276704579592', '0', '0', '0' ),
- ('C3H8', '0,0100345015525818', '0,0143577177077532', '0,0108413072302938', '0', '0,00831524841487408', '0', '0,00459793256595731', '0', '0,0195445343852043', '0,0181203298270702', '0,0175094809383154', '0', '0,0181203298270702', '0,0175094809383154', '0,0170793645083904', '0,00749990018084645', '0,0150968106463552', '0,0197495948523283', '0,00997510645538569', '0,0115097537636757', '0,00957269594073296', '0,0136031713336706', '0,0121594816446304', '0,0246301926672459', '0,0135964704677463', '0', '0,0106336493045092', '0,0152438739314675', '0,0177976675331593', '0,0114809749647975', '0,0121385026723146', '0', '0,00573941087350249', '0,013603107072413', '0,00532805966213346', '0,00650981580838561', '0', '0', '0' ),
- ('iC5H12', '0,0109295006841421', '0,00681023951619864', '0,0101473033428192', '0', '0,00252065830864012', '0', '0,00608017528429627', '0', '0,00499364081770182', '0,00331951584666967', '0,00302212266251445', '0', '0,00331951584666967', '0,00302212266251445', '0,00274717109277844', '0,0240870695561171', '0,00223504076711833', '0,00674651516601443', '-0,00221999804489315', '-0,000212761035072617', '-0,00215526949614286', '0,00100574421230704', '-0,00183262676000595', '0,00143296632450074', '-0,0016409280942753', '0,0106336493045092', '0', '0,00397450895980001', '0,00616419827565551', '0,000471877719974145', '0,00104195217136294', '0', '-0,0105195250362158', '-0,00147113634739071', '-0,0102435639128089', '0,0200366210192442', '0', '0', '0' ),
- ('23ДMC4', '0,0191836766898632', '0,0152998045086861', '0,0184450428932905', '0', '0,00564188556745648', '0', '0,00948229338973761', '0', '0,00156379281543195', '-0,000189859623787925', '-0,000399086100514978', '0', '-0,000189859623787925', '-0,000399086100514978', '-0,000631054688710719', '0,0311613660305738', '-0,000727371138054878', '0,00376170594245195', '-0,00501206004992127', '-0,00286272843368351', '-0,00481443526223302', '-0,00188686430919915', '-0,0051370351575315', '0,00409875391051173', '-0,00530503829941154', '0,0152438739314675', '0,00397450895980001', '0', '-0,000426527840318158', '-0,00197465973906219', '-0,00142721075098962', '0', '-0,0145696867257357', '-0,00508663943037391', '-0,0140783982351422', '0,0265270993113518', '0', '0', '0' ),
- ('22ДMC4', '0,0152783198282123', '0,0114448303356767', '0,0145480716601014', '0', '0,00794588401913643', '0', '0,0118138240650296', '0', '-0,00069128698669374', '-0,00247639999724925', '-0,00266980356536806', '0', '-0,00247639999724925', '-0,00266980356536806', '-0,00289529282599688', '0,0278129521757364', '-0,00291287223808467', '0,00160450313705951', '-0,00719896657392383', '-0,00500707607716322', '-0,00697471154853702', '-0,00406830944120884', '-0,00742871034890413', '0,000434659596066922', '-0,00767881516367197', '0,0177976675331593', '0,00616419827565551', '-0,000426527840318158', '0', '-0,00407735724002123', '-0,00353029230609536', '0', '-0,0171965919435024', '-0,00744664575904608', '-0,0166256986558437', '0,0294412802904844', '0', '0', '0' ),
- ('2MC5', '0,0277606695890427', '0,02382942289114', '0,0270150490105152', '0', '0,00204798043705523', '0', '0,00589366815984249', '0', '0,00510717369616032', '0,00339568546041846', '0,00317347748205066', '0', '0,00339568546041846', '0,00317347748205066', '0,00293736415915191', '0,0384404435753822', '0,00277251238003373', '0,00202436675317585', '-0,00148061686195433', '0,000617568904999644', '-0,00130749319214374', '0,00161775178276002', '-0,00150741811376065', '0,0134860007092357', '-0,00159135775174946', '0,0114809749647975', '0,000471877719974145', '-0,00197465973906219', '-0,00407735724002123', '0', '0,000922293169423938', '0', '-0,0104734720662236', '-0,00138906494248658', '-0,0100864646956325', '0,0224655717611313', '0', '0', '0' ),
- ('3MC5', '0,0266961883753538', '0,0227773413062096', '0,0259526092559099', '0', '0,00264576124027371', '0', '0,00649740733206272', '0', '0,00452773412689567', '0,00280844117514789', '0,00258994637988508', '0', '0,00280844117514789', '0,00258994637988508', '0,00235532317310572', '0,0375333279371262', '0,00220905034802854', '0,0025803956668824', '-0,00204519368708134', '6,33984309388325E-05', '-0,00186575204133987', '0,00105503329541534', '-0,00209689629264176', '0,0123249161988497', '-0,00220053340308368', '0,0121385026723146', '0,00104195217136294', '-0,00142721075098962', '-0,00353029230609536', '0,000922293169423938', '0', '0', '-0,01114656124264', '-0,00199488457292318', '-0,0107398666441441', '0,0232107322663069', '0', '0', '0' ),
- ('iC12H25(+)', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0' ),
- ('iC12H26', '0,0756538510322571', '0,07203259319067', '0,0749927386641502', '0', '-0,00764581561088562', '0', '-0,00248833722434938', '0', '-0,0151182636618614', '-0,0131687996909022', '-0,0130001725628972', '0', '-0,0131687996909022', '-0,0130001725628972', '-0,0127717964351177', '0,0613845139741898', '-0,0126248029991984', '-0,0177009496837854', '-0,0078243687748909', '-0,00990636460483074', '-0,00780848320573568', '-0,0113000059500337', '-0,00807475298643112', '0,0772536173462868', '-0,00776507193222642', '0,00573941087350249', '-0,0105195250362158', '-0,0145696867257357', '-0,0171965919435024', '-0,0104734720662236', '-0,01114656124264', '0', '0', '-0,00802091415971518', '0,000738524075131863', '0,0063999998383224', '0', '0', '0' ),
- ('I10', '0,0576223321259022', '0,0540599152445793', '0,0569534040987492', '0', '0,00121817109175026', '0', '0,00579669512808323', '0', '-0,00532603450119495', '-0,00346826063469052', '-0,0033508709166199', '0', '-0,00346826063469052', '-0,0033508709166199', '-0,00315674510784447', '0,0591827072203159', '-0,00319474190473557', '-0,00784732308238745', '0,00117514375597239', '-0,000808299926575273', '0,00112663663458079', '-0,00199849344789982', '0,00122446194291115', '0,0492127537727356', '0,00119372189510614', '0,013603107072413', '-0,00147113634739071', '-0,00508663943037391', '-0,00744664575904608', '-0,00138906494248658', '-0,00199488457292318', '0', '-0,00802091415971518', '0', '-0,00735085178166628', '0,0279116686433554', '0', '0', '0' ),
- ('I11', '0,075098067522049', '0,0714457333087921', '0,0744267180562019', '0', '-0,00753172766417265', '0', '-0,00256689079105854', '0', '-0,0144152510911226', '-0,0124742574989796', '-0,0123291537165642', '0', '-0,0124742574989796', '-0,0123291537165642', '-0,0121143301948905', '0,0648484230041504', '-0,0120711224153638', '-0,017046669498086', '-0,00739337783306837', '-0,00947941280901432', '-0,00741575378924608', '-0,0107861813157797', '-0,00749269407242537', '0,0741448402404785', '-0,00708310445770621', '0,00532805966213346', '-0,0102435639128089', '-0,0140783982351422', '-0,0166256986558437', '-0,0100864646956325', '-0,0107398666441441', '0', '0,000738524075131863', '-0,00735085178166628', '0', '0,0195555612444878', '0', '0', '0' ),
- ('C2H6', '0,0272161979228258', '0,0311121642589569', '0,0279396902769804', '0', '0,0161370262503624', '0', '0,0122999995946884', '0', '0,0336499325931072', '0,0323811173439026', '0,0315013825893402', '0', '0,0323811173439026', '0,0315013825893402', '0,0309339202940464', '0,000600000028498471', '0,0277041811496019', '0,0325890779495239', '0,0219008475542068', '0,023088663816452', '0,0211072862148285', '0,0259547047317028', '0,0255826860666275', '0,0391637608408928', '0,0280276704579592', '0,00650981580838561', '0,0200366210192442', '0,0265270993113518', '0,0294412802904844', '0,0224655717611313', '0,0232107322663069', '0', '0,0063999998383224', '0,0279116686433554', '0,0195555612444878', '0', '0', '0', '0' ),
- ('HSO4', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0' ),
- ('H2SO4', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0' ),
- ('Polymer', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0' ));
- //исходные данные
- FBBFConst: array [1..NBBF, 1..2] of string = (('Параметр', 'Значение'),
- ('Плотн. при 20°С, г/см3', '0,582'),
- ('МД метана', '0'),
- ('МД этана', '0'),
- ('МД этилена', '0'),
- ('МД суммы С2', '0'),
- ('МД пропана', '0,3'),
- ('МД пропилена', '0,03'),
- ('МД суммы пропан+пропилена', '0,33'),
- ('МД изо-бутана', '43,41'),
- ('МД н-бутана', '8,43'),
- ('МД бутилена', '15,75'),
- ('МД изо-бутилена', '5,76'),
- ('МД транс-бутилена', '16,07'),
- ('МД цис-бутилена', '9,92'),
- ('МД бутадиена-1,3', '0,3'),
- ('МД суммы бутиленов', '47,5'),
- ('МД изо-пентана', '0,03'),
- ('МД н-пентана', '0'),
- ('МД суммы С6+', '0'),
- ('МД суммы УВ С5 и выше', '0,03'),
- ('МД H2S+RSH', '0,0002'));
- FIzobutHladConst: array [1..NIzobutHlad, 1..2] of string = (('Параметр', 'Значение'),
- ('МД метана', '0'),
- ('МД этана', '0'),
- ('МД этилена', '0'),
- ('МД суммы С2', '0'),
- ('МД пропана', '8,4'),
- ('МД пропилена', '0'),
- ('МД суммы пропан+пропилена', '8,4'),
- ('МД изо-бутана', '79,04'),
- ('МД н-бутана', '11,01'),
- ('МД бутилена', '0'),
- ('МД изо-бутилена', '0'),
- ('МД транс-бутилена', '0'),
- ('МД цис-бутилена', '0'),
- ('МД суммы бутиленов', '0'),
- ('МД изо-пентана', '1,55'),
- ('МД н-пентана', '0'),
- ('МД суммы С5', '1,55'),
- ('МД суммы С6+', '0'));
- FIzobutCircConst: array [1..NIzobutCirc, 1..2] of string = (('Параметр', 'Значение'),
- ('МД метана', '0'),
- ('МД этана', '0'),
- ('МД этилена', '0'),
- ('МД суммы С2', '0'),
- ('МД пропана', '3,08'),
- ('МД пропилена', '0'),
- ('МД суммы пропан+пропилена', '3,08'),
- ('МД изо-бутана', '84,73'),
- ('МД н-бутана', '11,01'),
- ('МД изо-бутилена', '0'),
- ('МД бутилена', '0'),
- ('МД транс-бутилена', '0'),
- ('МД цис-бутилена', '0'),
- ('МД суммы бутиленов', '0'),
- ('МД изо-пентана', '0,31'),
- ('МД н-пентана', '0'),
- ('МД суммы С5', '0,31'));
- FTehParConst: array [1..NTehPar, 1..2] of string = (('Параметр', 'Значение'),
- ('Расход олефинового сырья, м3/ч', '41,1598014831542'),
- ('Расход циркулирующего изобутана, м3/ч', '120,160858154296'),
- ('Расход хладоагента в R-311A, м3/ч', '25,0332489013671'),
- ('Расход хладоагента в R-311B, м3/ч', '40,9003677368164'),
- ('Расход хладоагента в R-311C, м3/ч', '40,897346496582'),
- ('Расход хладоагента в R-311D, м3/ч', '37,0884399414062'),
- ('Температура на входе в R-311A, °С', '1,64329051971435'),
- ('Температура на входе в R-311B, °С', '1,88445091247558'),
- ('Температура на входе в R-311C, °С', '0,514559030532836'),
- ('Температура на входе в R-311D, °С', '-0,354238390922546'),
- ('Давление комбинированного сырья, МПа', '0,636030673980712'),
- ('Сырье С4 насыщенное, т/ч', '5,073291779'));
- FSerKisConst: array [1..NSerKis, 1..2] of string = (('Параметр', 'Значение'),
- ('МД H2SO4 (свежая кислота), %', '96,1'),
- ('Кислота в R-311A, м3/ч', '84,3854370117187'),
- ('Кислота в R-311В, м3/ч', '84,2852401733398'),
- ('Кислота в R-311С, м3/ч', '91,1081848144531'),
- ('Кислота в R-311D, м3/ч', '91,3201904296875'),
- ('Свежая кислота в реакционный контур 1, т/ч', '5,7554874420166'),
- ('Свежая кислота в реакционный контур 2, м3/ч', '3,59131789207458'));
- FSosAlkConst: array [1..NSosAlk, 1..2] of string = (('Компонент', 'Содержание, мас. %'),
- ('Бутен-1', '0'),
- ('Бутен-2', '0'),
- ('Изобутен', '0'),
- ('Н(+)', '0'),
- ('Изобутан', '0'),
- ('iC4H9(+)', '0'),
- ('nC4H10', '4,917'),
- ('TMC5(+)', '0'),
- ('224TMC5', '29,991'),
- ('233TMC5', '16,666'),
- ('234TMC5', '13,922'),
- ('ДMC6(+)', '0'),
- ('25ДMC6', '3,548'),
- ('24ДMC6', '2,915'),
- ('23ДMC6', '2,563'),
- ('C3H6', '0'),
- ('24ДMC5', '2,71'),
- ('223TMC4', '0,17'),
- ('2MC6', '0,162'),
- ('23ДMC5', '1,411'),
- ('3MC6', '0,116'),
- ('I7', '0'),
- ('I8', '2,324'),
- ('C5H10', '0'),
- ('I9', '3,587'),
- ('C3H8', '0'),
- ('iC5H12', '5,15'),
- ('23ДMC4', '3,787'),
- ('22ДMC4', '0'),
- ('2MC5', '0,869'),
- ('3MC5', '0,415'),
- ('iC12H25(+)', '0'),
- ('iC12H26', '0,185'),
- ('I10', '1,132'),
- ('I11', '3,501'),
- ('C2H6', '0'),
- ('HSO4', '0'),
- ('H2SO4', '0'),
- ('Polymer', '0'));
- FSyrC4Const: array [1..NSyrC4, 1..2] of string = (('Параметр', 'Значение'),
- ('МД метана', '0'),
- ('МД этана', '0'),
- ('МД этилена', '0'),
- ('МД суммы С2', '0'),
- ('МД пропана', '0'),
- ('МД пропилена', '0'),
- ('МД суммы пропан+пропилена', '0'),
- ('МД изо-бутана', '95'),
- ('МД н-бутана', '5'),
- ('МД изо-бутилена', '0'),
- ('МД бутилена', '0'),
- ('МД транс-бутилена', '0'),
- ('МД цис-бутилена', '0'),
- ('МД суммы бутиленов', '0'),
- ('МД изо-пентана', '0'),
- ('МД н-пентана', '0'),
- ('МД суммы С5', '0'));
- //конец---------------------------------Долганов-----------19,02,2019
- var
- C0, C, Cm, R, k, f: a;
- BBF: a; // массив для бутан-бутиленовой фракции
- RecIsobutane: a; // массив для циркулирующего изобутана
- IHA: a; // массив для изобутана-хладоагента
- TechPar: a; // массив для технологических параметров
- CombFeed: a; // массив для состава комбинированного сырья
- AcidPar: a; // массив с параметрами серной кислоты
- Acid: a; // массив состава кислоты
- Alkylat,AlkylatL,AlkylatG : a; // состав алкилата
- Mr: a; // молярные массы компонентов
- Density: a; // плотность компонентов
- RON: a; // ОЧ ИМ
- MON: a;// ОЧ ММ
- tk: extended; // время контакта
- iC4_Yeild, Alkylate_Yeild, iC4_Rating: extended;
- SyrC4: a; // Сырье С4 наыщенное // 23.02.2019
- xf: a; // Мольные доли в составе потока алкилата // 05.03.2019
- xw: a; // Мольные доли в составе жидкости // 05.03.2019
- xp: a; // Мольные доли в составе пара // 05.03.2019
- Fmol: extended; // Мольный расход потока
- Ki: a; // Коэффициенты распределения // 10.03.2019
- Fw, Fp: a; // Коэффициенты летучести для жидкости и пара // 10.03.2019
- e: extended; // Доля отгона // 10.03.2019
- //Долганов
- FBBFIn: array [1..NBBF, 1..2] of string;
- FIzobutHladIn: array [1..NIzobutHlad, 1..2] of string;
- FIzobutCircIn: array [1..NIzobutCirc, 1..2] of string;
- FTehParIn: array [1..NTehPar, 1..2] of string;
- FSerKisIn: array [1..NSerKis, 1..2] of string;
- FSosAlkIn: array [1..NSosAlk, 1..2] of string;
- FSyrC4In: array [1..NSyrC4, 1..2] of string;
- implementation
- {$R *.dfm}
- function TMDIChild.getON (c, o:a):extended;
- var
- i: integer;
- s: extended;
- begin
- s:= 0;
- for I := 1 to 1000 do
- s:= s + c[i] * o[i] / 100;
- result:= s;
- end;
- function TMDIChild.mix (density1, volflow1, comp1, density2, volflow2, comp2: extended): extended;
- begin
- result:= {10 *} (density1 * volflow1 * comp1 + density2 * comp2 * volflow2) / 100;
- end;
- function TMDIChild.iC4_Ratio(c: a): extended;
- var
- s: extended;
- i: integer;
- begin
- s:= 0;
- for I := 1 to 3 do
- s:= s + c[i]; // 1-C4=; 2-C4=; iC4=
- s:= s + c[24] + c[16]; // C5=; C3=
- result:= c[5] / s
- end;
- procedure TMDIChild.Wilson(xf:a; var Ki: a); //05.03.2019
- const
- h = 1e-5;
- eps = 1e-3;
- var
- i: integer;
- Pc, Tc: a; // Киртические давление и температура
- omega: a; // Ацентрический фактор
- e: extended; // Доля отгона
- Ps: a; // Парциальное давление пара
- P, T: extended; // Давление и температура в системе
- sw, sp: extended; // Сумма мольных долей жидкости и пара
- n: integer; // число итераций
- begin
- // Инитциализация параметров
- with StringGrid4 do
- for I := 1 to RowCount-1 do
- begin
- Pc[i]:= StrToFloat(Cells[ 9, i]);
- Tc[i]:= StrToFloat(Cells[10, i]);
- omega[i]:= StrToFloat(Cells[11, i]);
- end;
- P:= techpar[11] * 10; // Перевод в бары
- T:= techpar[ 7] + 273;
- {T:= techpar[ 7] * 1.8 + 491.67;
- P:= techpar[11] * 1000 * 0.145;
- for I := 1 to StringGrid4.RowCount-1 do
- begin
- Tc[i]:= (Tc[i] - 273) * 1.8 + 494.67;
- Pc[i]:= 0.145 * Pc[i] * 100
- end; }
- // Расчет парциальных давлений и коэффициентов распределения
- for I := 1 to StringGrid4.RowCount-1 do
- begin
- Ps[i]:= Pc[i] * exp(5.372697 * (1 + omega[i]) * (1 - Tc[i] / T));
- Ki[i]:= Ps[i] / P; // 5 - коэффициент Долганова))
- end;
- (*
- repeat//Подбор доли отгона
- n:= n + 1;
- sw:= 0;
- sp:= 0;
- // Расчет мольного состава жидкости и пара
- for I := 1 to StringGrid4.RowCount-1 do
- begin
- if K[i] = 0 then
- xw[i]:= 0
- else
- xw[i]:= xf[i] / (1 + e * (K[i] - 1));
- xp[i]:= K[i] * xw[i];
- sw:= sw + xw[i];
- sp:= sp + xp[i];
- end;
- if (n = 2e5) or (e < 0) then
- begin
- ShowMessage('200 000 итераций или е < 0');
- break;
- end;
- e:= e - h;
- until abs(1 - sp) <= eps;
- for I := 1 to StringGrid4.RowCount-1 do
- begin
- xw[i]:= xw[i] / sw;
- xp[i]:= xp[i] / sp;
- end;
- ShowMessage(FloatToStr(e)); *)
- end;
- procedure TMDIChild.Rashford_Rice (xf, Ki: a; var e: extended; var xw, xp: a); // Решение уравнения Рашфорда-Райса 10.03.2019
- const
- eps = 1e-6;
- var
- a, b: extended;
- I: Integer;
- function fn (e: extended): extended;
- var
- s: extended;
- i: integer;
- begin
- s:= 0;
- for I := 1 to StringGrid4.RowCount-1 do
- if Ki[i] > 0 then
- s:= s + xf[i] * (Ki[i] - 1) / (1 + e * (Ki[i] - 1));
- result:= s;
- end;
- begin
- a:= 0.5;
- b:= 1;
- if fn(a) * fn(b) < 0 then
- begin
- repeat
- e:= (a + b) / 2;
- if fn(a) * fn(e) > 0 then
- a:= e
- else
- b:= e;
- until abs(a - b) <= eps;
- e:= (a + b) / 2
- end; (*e:= 0.8680;*)
- //showmessage(floattostr(e));
- for I := 1 to StringGrid4.RowCount-1 do
- begin
- xw[i]:= xf[i] / (1 + e * (Ki[i] - 1));
- xp[i]:= Ki[i] * xw[i]
- end
- end;
- procedure TMDIChild.getF(xw, xp: a; var Fw, Fp: a); // 10.03.2019
- var
- i, j: integer;
- m, alpha, Ap, Bp: a; // Параметры для определения коэффициента сжимаемости
- Ab: array [1..100, 1..100] of extended;
- Av, Bv: extended;
- omega: a; // Ацентрический фактор;
- Tc, Pc: a; // Критические температура (К) и давление (бар)
- Tr, Pr: a; // Приведенные температура и давление
- T, P: extended; // Температура(°С) и давление(МПа) в системе
- //Параметры для решения кубического уравнения
- vA, vB, vC, vD, ppv, qqv, SSv, fiv, vA1, vB1, vC1, x1v, x2v, x3v, FFv, plbsv, y1v, y2v, y3v: extended;
- lA, lB, lC, lD, ppl, qql, SSl, fil, lA1, lB1, lC1, x1l, x2l, x3l, FFl, plbsl, y1l, y2l, y3l: extended;
- zw, zp: extended; // Коэффицииенты сжимаемости для жидкости и пара
- kij: aa; // Коэффициенты бинарного взаимодействия
- begin
- //with StringGrid14 do
- for i := 2 to NProp do
- for j := 2 to NProp do
- kij[i, j]:= StrToFloat(FBinKoeff[j, i]);
- with StringGrid4 do
- for I := 1 to RowCount-1 do
- begin
- omega[i]:= StrToFloat(Cells[11, i]);
- Pc[i]:= StrToFloat(Cells[ 9, i]);
- Tc[i]:= StrToFloat(Cells[10, i]);
- end;
- //Перевод температуры в °Рэнкина
- T:= techpar[ 7] * 1.8 + 491.67;
- for I := 1 to StringGrid4.RowCount-1 do
- if Tc[i] <> 0 then
- Tr[i]:= T / ((Tc[i] - 273) * 1.8 + 494.67)
- else
- Tr[i]:= 0;
- //Перевод давления
- P:= techpar[11] * 1000 * 0.145;
- for I := 1 to StringGrid4.RowCount-1 do
- if Pc[i] <> 0 then
- Pr[i]:= P / (0.145 * Pc[i] * 100)
- else
- Pr[i]:= 0;
- // Расчет пара
- for I := 1 to StringGrid4.RowCount-1 do
- begin
- m[i]:= 0.48 + 1.574 * omega[i] - 0.176 * sqr(omega[i]);
- alpha[i]:= sqr(1 + m[i] * (1 - sqrt(Tr[i])));
- if Tr[i] <> 0 then
- Ap[i]:= 0.42747 * alpha[i] * Pr[i] / sqr(Tr[i])
- else
- Ap[i]:= 0;
- for j := 1 to StringGrid4.RowCount-1 do
- Ab[i, j]:= (1 - kij[i, j]) * sqrt(Ap[i] * Ap[j]);
- if Tr[i] <> 0 then
- Bp[i]:= 0.08664 * Pr[i] / Tr[i]
- else
- Bp[i]:= 0;
- end;
- Av:= 0;
- Bv:= 0;
- for I := 1 to StringGrid4.RowCount-1 do
- begin
- for j := 1 to StringGrid4.RowCount-1 do
- Av:= Av + xp[i] * xp[j] * Ab[i, j];
- Bv:= Bv + xp[i] * Bp[i];
- end;
- //Решение кубического уравнения
- vA := 1;
- vB := (-1);
- vC := Av - Bv - sqr(Bv);
- vD := (-Av) * Bv;
- ppv := (3 * vA * vC - vB * vB) / (3 * vA * vA);
- qqv := (2 * vB * vB * vB - 9 * vA * vB * vC + 27 * vA * vA * vD) / (27 * vA * vA * vA);
- SSv := (4 * (3 * vA * vC - vB * vB) * (3 * vA * vC - vB * vB) * (3 * vA * vC - vB * vB) + (2 * vB * vB * vB - 9 * vA * vB * vC + 27 * vA * vA * vD) * (2 * vB * vB * vB - 9 * vA * vB * vC + 27 * vA * vA * vD)) / (2916 * vA * vA * vA * vA * vA * vA);
- if SSv < 0 then
- begin
- if qqv < 0 then
- FFv := Arctan(-2 * Sqrt(-SSv) / qqv);
- if qqv > 0 then
- FFv := Arctan(-2 * Sqrt(-SSv) / qqv) + Pi;
- if qqv = 0 then
- FFv := Pi / 2;
- x1v := 2 * Sqrt(-ppv / 3) * Cos(FFv / 3) - vB / vA / 3;
- x2v := 2 * Sqrt(-ppv / 3) * Cos((FFv + 2 * Pi) / 3) - vB / vA / 3;
- x3v := 2 * Sqrt(-ppv / 3) * Cos((FFv + 4 * Pi) / 3) - vB / vA / 3;
- if qqv = 0 then
- x3v := -vB / vA / 3;
- end;
- if SSv > 0 then
- begin
- if -qqv / 2 + Sqrt(SSv) > 0 then
- y1v := exp(ln(abs(-qqv / 2 + Sqrt(SSv))) / 3);
- if -qqv / 2 + Sqrt(SSv) < 0 then
- y1v := -exp(ln(abs(-qqv / 2 + Sqrt(SSv))) / 3);
- if -qqv / 2 + Sqrt(SSv) = 0 then
- y1v := 0;
- if -qqv / 2 - Sqrt(SSV) > 0 then
- y2v := exp(ln(abs(-qqv / 2 - Sqrt(SSv))) / 3);
- if -qqv / 2 - Sqrt(SSv) < 0 then
- y2v := -exp(ln(abs(-qqv / 2 - Sqrt(SSv))) / 3);
- if -qqv / 2 - Sqrt(SSv) = 0 then
- y2v := 0;
- x1v := y1v + y2v - vB / vA / 3;
- x2v := x1v;
- x3v := x1v;
- end;
- if SSv = 0 then
- begin
- if qqv < 0 then
- y1v := exp(ln(abs(-qqv / 2)) / 3);
- if qqv > 0 then
- y1v := -exp(ln(abs(-qqv / 2)) / 3);
- if qqv = 0 then
- y1v := 0;
- x1v := 2 * y1v - vB / vA / 3;
- x2v := -y1v - vB / vA / 3;
- x3v := -y1v - vB / vA / 3;
- end;
- zp := x1v;
- if x2v > x1v then
- zp := x2v
- else
- if x3v > x1v then
- zp := x3v
- else
- zp := x1v;
- for I := 1 to StringGrid4.RowCount-1 do
- Fp[i]:= exp((zp - 1) * Bp[i] / Bv - ln(zp - Bv) - Av / Bv * (2 * sqrt(Ap[i]) / sqrt(Av) - Bp[i] / Bv) * ln((zp + Bv) / zp));
- // Расчет жидкости
- Av:= 0;
- Bv:= 0;
- for I := 1 to StringGrid4.RowCount-1 do
- begin
- for j := 1 to StringGrid4.RowCount-1 do
- Av:= Av + xw[i] * xw[j] * Ab[i, j];
- Bv:= Bv + xw[i] * Bp[i];
- end;
- //Кубическое уравнение
- lA := 1;
- lB := -1;
- lC := Av - Bv - sqr(Bv);
- lD := -(Av * Bv);
- ppl := (3 * lA * lC - lB * lB) / (3 * lA * lA);
- qql := (2 * lB * lB * lB - 9 * lA * lB * lC + 27 * lA * lA * lD) / (27 * lA * lA * lA);
- SSl := (4 * (3 * lA * lC - lB * lB) * (3 * lA * lC - lB * lB) * (3 * lA * lC - lB * lB) + (2 * lB * lB * lB - 9 * lA * lB * lC + 27 * lA * lA * lD) * (2 * lB * lB * lB - 9 * lA * lB * lC + 27 * lA * lA * lD)) / (2916 * lA * lA * lA * lA * lA * lA);
- if SSl < 0 then
- begin
- if qql < 0 then
- FFl := Arctan(-2 * Sqrt(-SSl) / qql);
- if qql > 0 then
- FFl := Arctan(-2 * Sqrt(-SSl) / qql) + Pi;
- if qql = 0 then
- FFl := Pi / 2;
- x1l := 2 * Sqrt(-ppl / 3) * Cos(FFl / 3) - lB / lA / 3;
- x2l := 2 * Sqrt(-ppl / 3) * Cos((FFl + 2 * Pi) / 3) - lB / lA / 3;
- x3l := 2 * Sqrt(-ppl / 3) * Cos((FFl + 4 * Pi) / 3) - lB / lA / 3;
- if qql = 0 then
- x3l := -lB / lA / 3;
- end;
- if SSl > 0 then
- begin
- if -qql / 2 + Sqrt(SSl) > 0 then
- y1l := exp(ln(abs(-qql / 2 + Sqrt(SSl))) / 3);
- if -qql / 2 + Sqrt(SSl) < 0 then
- y1l := -exp(ln(abs(-qql / 2 + Sqrt(SSl))) / 3);
- if -qql / 2 + Sqrt(SSl) = 0 then
- y1l := 0;
- if -qql / 2 - Sqrt(SSl) > 0 then
- y2l := exp(ln(abs(-qql / 2 - Sqrt(SSl))) / 3);
- if -qql / 2 - Sqrt(SSl) < 0 then
- y2l := -exp(ln(abs(-qql / 2 - Sqrt(SSl))) / 3);
- if -qql / 2 - Sqrt(SSl) = 0 then
- y2l := 0;
- x1l := y1l + y2l - lB / lA / 3;
- x2l := x1l;
- x3l := x1l;
- end;
- if SSl = 0 then
- begin
- if qql < 0 then
- y1l := exp(ln(abs(-qql / 2)) / 3);
- if qql > 0 then
- y1l := -exp(ln(abs(-qql / 2)) / 3);
- if qql = 0 then
- y1l := 0;
- x1l := 2 * y1l - lB / lA / 3;
- x2l := -y1l - lB / lA / 3;
- x3l := -y1l - lB / lA / 3;
- end;
- //Выбор коэф сжим жидкости - самый МЕНЬШИЙ из трех
- zw := x1l;
- if x2l < x1l then
- zw := x2l
- else
- if x3l < x1l then
- zw := x3l
- else
- zw := x1l;
- for i := 1 to StringGrid4.RowCount-1 do
- Fw[i]:= exp((zw - 1) * Bp[i] / Bv - ln(zw - Bv) - Av / Bv * (2 * sqrt(Ap[i]) / sqrt(Av) - Bp[i] / Bv) * ln((zw + Bv) / zw));
- end;
- procedure TMDIChild.podborKi(Fp, Fw: a; var Ki, xw, xp:a);
- const
- eps = 1e-5;
- var
- i, n: integer;
- Kr: a; // промежуточные значения коэффициентов распределения
- xr, yr: a;
- Sy, Sx: extended;
- delta: a; //для проверки условия выхода из цикла по Ki
- Sdelta: extended;
- begin
- Sx:= 0;
- Sy:= 0;
- n:= 0;
- Wilson(xf, Ki);
- repeat
- n:= n + 1;
- Sx:= 0;
- Sy:= 0;
- Sdelta:= 0;
- Rashford_Rice (xf, Ki, e, xw, xp);
- getF(xw, xp, Fw, Fp);
- for I := 1 to StringGrid4.RowCount-1 do
- begin
- Kr[i]:= Fw[i] / Fp[i];
- xr[i]:= xf[i] / (1 + e * (Kr[i] - 1));
- yr[i]:= Kr[i] * xr[i];
- Sx:= Sx + xr[i];
- Sy:= Sy + yr[i];
- if Ki[i] <> 0 then
- delta[i]:= abs(Kr[i] - Ki[i]) / abs(Ki[i]);
- Sdelta:= Sdelta + delta[i];
- Ki[i]:= Kr[i];
- end;
- if n > 200 then
- begin
- //ShowMessage('200 000 итераций !!!');
- break;
- end;
- (*until (abs(Sx - 1) <= eps) and (abs(Sy - 1) <= eps); *)
- until Sdelta/StringGrid4.RowCount-1 <= eps;
- //ShowMessage('e = ' + FloatToStr(e) + ' ' + IntToStr(n));
- for i := 1 to StringGrid4.RowCount-1 do
- begin
- xw[i]:= xr[i] / Sx;
- xp[i]:= yr[i] / Sy;
- end;
- end;
- procedure TMDIChild.getMol(Fmas: extended; xmas: a; var xmol: a; var Fmol: extended);
- var
- i: integer;
- s: extended;
- begin
- s:= 0;
- for I := 1 to StringGrid4.RowCount-1 do
- Fmol:= Fmol + Fmas * xmas[i] * 10 / Mr[i];
- for I := 1 to StringGrid4.RowCount-1 do
- xmol[i]:= Fmas * xmas[i] * 10 / Mr[i] / Fmol;
- end;
- function TMDIChild.d(density, c: a):extended;
- var
- s: extended;
- i: integer;
- den: a;
- begin
- s:= 0;
- for i:= 1 to 1000 do
- begin
- if density[i] <> 0 then
- den[i]:= c[i]/density[i]/100
- else
- den[i]:= 0;
- s:= s + den[i]
- end;
- if s <> 0 then
- result:= 1/s
- else
- result:= 0;
- end;
- procedure TMDIChild.mol(masdoli, density, Mr: a; var mol_l:a);
- var
- i: integer;
- s: extended;
- begin
- s:= 0;
- for I := 1 to 1000 do
- if Mr[i] <> 0 then
- mol_l[i]:= 10*masdoli[i]*density[i]/Mr[i] //мас.% ----> моль/л
- else
- mol_l[i]:= 0
- end;
- procedure TMDIChild.mas(mol_l, Mr: a; var mas_percent: a);
- var
- i: integer;
- s: extended;
- begin
- s:= 0;
- for I := 1 to 1000 do
- begin
- if density[i] <> 0 then
- mas_percent[i]:= mol_l[i]*Mr[i]/density[i]*1000
- else
- mas_percent[i]:= 0;
- s:= s + mas_percent[i]
- end;
- for I := 1 to 1000 do
- mas_percent[i]:= mas_percent[i]/s*100
- end;
- procedure TMDIChild.Kinetic(t:extended; var C, f: a);
- var
- i: integer;
- begin
- With StringGrid5 do
- for I := 1 to RowCount-1 do
- k[i]:= StrToFloat(Cells[4, i]) * exp(-StrToFloat(Cells[5, i]) * 1000 / 8.314 / (StrToFloat(StringGrid3.Cells[1, 7]) + 273));
- R[ 1]:= k[ 1] * C[ 1];
- R[ 2]:= k[ 2] * C[ 2];
- R[ 3]:= k[ 3] * C[ 1];
- R[ 4]:= k[ 4] * C[ 3];
- R[ 5]:= k[ 5] * C[ 2];
- R[ 6]:= k[ 6] * C[ 3];
- R[ 7]:= k[ 7] * C[ 1] * C[ 4] * C[ 5];
- R[ 8]:= k[ 8] * C[ 6] * C[ 7];
- R[ 9]:= k[ 9] * C[ 3] * C[ 4];
- R[10]:= k[10] * C[ 6];
- R[11]:= k[11] * C[ 2] * C[ 4] * C[ 5];
- R[12]:= k[12] * C[ 6] * C[ 7];
- R[13]:= k[13] * C[ 6] * C[ 2];
- R[14]:= k[14] * C[ 6] * C[ 3];
- R[15]:= k[15] * C[ 8] * C[ 5];
- R[16]:= k[16] * C[ 8] * C[ 5];
- R[17]:= k[17] * C[ 8] * C[ 5];
- R[18]:= k[18] * C[ 6] * C[ 1];
- R[19]:= k[19] * C[12] * C[ 5];
- R[20]:= k[20] * C[12] * C[ 5];
- R[21]:= k[21] * C[12] * C[ 5];
- R[22]:= k[22] * C[ 5] * C[16];
- R[23]:= k[23] * C[ 5] * C[16];
- R[24]:= k[24] * C[ 5] * C[16];
- R[25]:= k[25] * C[ 5] * C[16];
- R[26]:= k[26] * C[ 5] * C[16];
- R[27]:= k[27] * C[ 5] * C[16];
- R[28]:= k[28] * C[ 5] * C[ 3];
- R[29]:= k[29] * C[ 5] * C[ 1];
- R[30]:= k[30] * C[ 5] * C[ 2];
- R[31]:= k[31] * C[ 5] * C[24];
- R[32]:= k[32] * C[ 5] * C[ 5] * C[16];
- R[33]:= k[33] * C[ 5] * C[ 5] * C[16];
- R[34]:= k[34] * C[ 5] * C[ 5] * C[16];
- R[35]:= k[35] * C[ 5] * C[ 5] * C[16];
- R[36]:= k[36] * C[ 5] * C[ 5] * C[16];
- R[37]:= k[37] * C[ 5] * C[ 5] * C[16];
- R[38]:= k[38] * C[ 5] * C[ 1];
- R[39]:= k[39] * C[ 5] * C[ 2];
- R[40]:= k[40] * C[ 5] * C[ 3];
- R[41]:= k[41] * C[ 3] * C[ 3] * C[16];
- R[42]:= k[42] * C[ 3] * C[ 3] * C[16];
- R[43]:= k[43] * C[ 3] * C[ 3] * C[16];
- R[44]:= k[44] * C[ 3] * C[ 3] * C[16];
- R[45]:= k[45] * C[ 3] * C[ 3] * C[ 1];
- R[46]:= k[46] * C[ 3] * C[ 3] * C[ 1];
- R[47]:= k[47] * C[ 3] * C[ 3] * C[ 1];
- R[48]:= k[48] * C[ 3] * C[ 3] * C[ 1];
- R[49]:= k[49] * C[ 3] * C[ 3] * C[ 1];
- R[50]:= k[50] * C[ 8] * C[ 2];
- R[51]:= k[51] * C[12] * C[ 2];
- R[52]:= k[52] * C[32] * C[ 5];
- R[53]:= k[53] * C[28] * C[ 2];
- R[54]:= k[54] * C[29] * C[ 2];
- R[55]:= k[55] * C[30] * C[ 2];
- R[56]:= k[56] * C[31] * C[ 2];
- R[57]:= k[57] * C[17] * C[ 2];
- R[58]:= k[58] * C[18] * C[ 2];
- R[59]:= k[59] * C[19] * C[ 2];
- R[60]:= k[60] * C[20] * C[ 2];
- R[61]:= k[61] * C[21] * C[ 2];
- R[62]:= k[62] * C[ 9];
- R[63]:= k[63] * C[11];
- R[64]:= k[64] * C[10];
- R[65]:= k[65] * C[13];
- R[66]:= k[66] * C[14];
- R[67]:= k[67] * C[15];
- R[68]:= k[68] * C[33];
- R[69]:= k[69] * C[33];
- R[70]:= k[70] * C[33];
- R[71]:= k[71] * C[33];
- R[72]:= k[72] * C[33];
- R[73]:= k[73] * C[33];
- R[74]:= k[74] * C[33];
- R[75]:= k[75] * C[33];
- R[76]:= k[76] * C[ 6] * C[37];
- R[77]:= k[77] * C[38];
- R[78]:= k[78] * C[37] * C[ 4];
- R[79]:= k[79] * C[ 1];
- R[80]:= k[80] * C[ 2];
- R[81]:= k[81] * C[ 3];
- (*===================================================================================*)
- f[ 1]:= 1/tk*(C0[ 1]-C[ 1]) - R[ 1] + R[ 2] - R[ 3] + R[ 4] - R[ 7] + R[ 8] - R[18] - R[29] - R[38] - R[45] - R[46] - R[47] - R[48] - R[49] + R[69] - R[79];
- f[ 2]:= 1/tk*(C0[ 2]-C[ 2]) + R[ 1] - R[ 2] - R[ 5] + R[ 6] - R[11] + R[12] - R[13] - R[30] - R[39] - R[50] - R[51] - R[53] - R[54] - R[55] - R[56] - R[57] - R[58] - R[59] - R[60] - R[61] + R[70] - R[80];
- f[ 3]:= 1/tk*(C0[ 3]-C[ 3]) + R[ 3] - R[ 4] + R[ 5] - R[ 6] - R[ 9] + R[10] - R[14] - R[28] - R[40] -2* R[41] -2* R[42] -2* R[43] -2* R[44] -2* R[45] -2* R[46] -2* R[47] -2* R[48] -2* R[49] + R[62] + R[62] + R[76] - R[81];
- f[ 4]:= 1/tk*(C0[ 4]-C[ 4]) - R[ 7] + R[ 8] - R[ 9] + R[10] - R[11] + R[12] + R[77] - R[78];
- f[ 5]:= 1/tk*(C0[ 5]-C[ 5]) - R[ 7] + R[ 8] - R[11] + R[12] - R[15] - R[16] - R[17] - R[19] - R[20] - R[21] - R[22] - R[23] - R[24] - R[25] - R[26] - R[27] - R[28] - R[29] - R[30] - R[31] -2*R[32] -2*R[33] -2*R[34] -2*R[35] -2*R[36] -2*R[37] - R[38] - R[39] - R[40] - R[52] + R[62] ;
- f[ 6]:= 1/tk*(C0[ 6]-C[ 6]) + R[ 7] - R[ 8] + R[ 9] - R[10] + R[11] - R[12] - R[13] - R[14] + R[15] + R[16] + R[17] - R[18] + R[19] + R[20] + R[21] + R[52] - R[76];
- f[ 7]:= 1/tk*(C0[ 7]-C[ 7]) + R[ 7] - R[ 8] + R[11] - R[12];
- f[ 8]:= 1/tk*(C0[ 8]-C[ 8]) + R[13] + R[14] - R[15] - R[16] - R[17] - R[50];
- f[ 9]:= 1/tk*(C0[ 9]-C[ 9]) + R[15] + R[32] - R[62];
- f[10]:= 1/tk*(C0[10]-C[10]) + R[16] + R[33] - R[64];
- f[11]:= 1/tk*(C0[11]-C[11]) + R[17] + R[34] - R[63];
- f[12]:= 1/tk*(C0[12]-C[12]) + R[18] - R[19] - R[20] - R[21] - R[51];
- f[13]:= 1/tk*(C0[13]-C[13]) + R[19] + R[35] - R[65];
- f[14]:= 1/tk*(C0[14]-C[14]) + R[20] + R[36] - R[66];
- f[15]:= 1/tk*(C0[15]-C[15]) + R[21] + R[37] - R[67];
- f[16]:= 1/tk*(C0[16]-C[16]) - R[22] - R[23] - R[24] - R[25] - R[26] - R[27] - R[32] - R[33] - R[34] - R[35] - R[36] - R[37] + R[38] + R[39] + R[40] - R[41] - R[42] - R[43] - R[44] + R[65] + R[66] + R[67] + R[68] ;
- f[17]:= 1/tk*(C0[17]-C[17]) + R[22] + R[45] - R[57] + R[71];
- f[18]:= 1/tk*(C0[18]-C[18]) + R[23] + R[46] - R[58] + R[72];
- f[19]:= 1/tk*(C0[19]-C[19]) + R[24] + R[47] - R[59] + R[73];
- f[20]:= 1/tk*(C0[20]-C[20]) + R[25] + R[48] - R[60] + R[74];
- f[21]:= 1/tk*(C0[21]-C[21]) + R[26] + R[49] - R[61] + R[75];
- f[22]:= 1/tk*(C0[22]-C[22]) + R[27];
- f[23]:= 1/tk*(C0[23]-C[23]) + R[28] + R[29] + R[30] + R[69] + R[70];
- f[24]:= 1/tk*(C0[24]-C[24]) - R[31] + R[71] + R[72] + R[73] + R[74] + R[75];
- f[25]:= 1/tk*(C0[25]-C[25]) + R[31] + R[68];
- f[26]:= 1/tk*(C0[26]-C[26]) + R[32] + R[33] + R[34] + R[35] + R[36] + R[37] + R[63];
- f[27]:= 1/tk*(C0[27]-C[27]) + R[38] + R[39] + R[40] + R[41] + R[42] + R[43] + R[44] + R[45] + R[46] + R[47] + R[48] + R[49] + R[63] + R[65] + R[66] + R[67];
- f[28]:= 1/tk*(C0[28]-C[28]) + R[41] - R[53] + R[64];
- f[29]:= 1/tk*(C0[29]-C[29]) + R[42] - R[54];
- f[30]:= 1/tk*(C0[30]-C[30]) + R[43] - R[55];
- f[31]:= 1/tk*(C0[31]-C[31]) + R[44] - R[56];
- f[32]:= 1/tk*(C0[32]-C[32]) + R[50] + R[51] - R[52];
- f[33]:= 1/tk*(C0[33]-C[33]) + R[52] - R[68] - R[69] - R[70] - R[71] - R[72] - R[73] - R[74] - R[75];
- f[34]:= 1/tk*(C0[34]-C[34]) + R[53] + R[54] + R[55] + R[56];
- f[35]:= 1/tk*(C0[35]-C[35]) + R[57] + R[58] + R[59] + R[60] + R[61];
- f[36]:= 1/tk*(C0[36]-C[36]) + R[64];
- f[37]:= 1/tk*(C0[37]-C[37]) - R[76] + R[77] - R[78];
- f[38]:= 1/tk*(C0[38]-C[38]) + R[76] - R[77] + R[78];
- f[39]:= 1/tk*(C0[39]-C[39]) + R[79] + R[80] + R[81];
- end;
- procedure TMDIChild.RK(var C: a);
- var
- k1, k2, k3, k4, z: a;
- t: extended;
- i: integer;
- begin
- t:= 0;
- With StringGrid4 do
- begin
- repeat
- Kinetic(t, C, f);
- for I := 1 to RowCount-1 do
- begin
- k1[i]:= h*f[i];
- z[i]:= c[i] + k1[i]/2
- end;
- Kinetic(t+h/2, z, f);
- for I := 1 to RowCount-1 do
- begin
- k2[i]:= h*f[i];
- z[i]:= c[i] + k2[i]/2
- end;
- Kinetic(t+h/2, z, f);
- for I := 1 to RowCount-1 do
- begin
- k3[i]:= h*f[i];
- z[i]:= c[i] + k3[i];
- end;
- Kinetic(t+h, z, f);
- for I := 1 to RowCount-1 do
- begin
- k4[i]:= h*f[i];
- c[i]:= c[i] + (k1[i] + 2*k2[i] + 2*k3[i] + k4[i])/6;
- if c[i] < 0 then c[i]:= 0;
- end;
- t:= t + h;
- until RoundTo(t, -4) > RoundTo(tk, -4);
- end;
- //ShowMessage(FloatToStrf(tk, fffixed, 7, 1));
- end;
- procedure TMDIChild.FormCreate(Sender: TObject);
- var
- R, C, i, j:integer;
- s: extended;
- begin
- //начало-------Долганов-------19,02,2019
- s:= 0;
- //PageControl1.ActivePageIndex:= 0;
- {==============Считывание Праметров модели и Исходных данных======================}
- //'Свойства компонентов'
- R:= Length(FProperConst);
- C:= Length(FProperConst[1]);
- with StringGrid4 do
- begin
- RowCount:= R;
- ColCount:= C;
- for i := 0 to R-1 do
- for j := 0 to C-1 do
- Cells[j, i]:= FProperConst [i+1, j+1];
- end;
- //'Кинетические параметры'
- R:= Length(FKonstantConst);
- C:= Length(FKonstantConst[1]);
- with StringGrid5 do
- begin
- RowCount:= R;
- ColCount:= C;
- for i := 0 to R-1 do
- for j := 0 to C-1 do
- Cells[j, i]:= FKonstantConst [i+1, j+1];
- end;
- //исходные данные
- //'Бутан-бутиленовая фракция'
- //все с In я беру на входе в dll
- R:= Length(FBBFIn);
- C:= Length(FBBFIn[1]);
- with StringGrid1 do
- begin
- RowCount:= R;
- ColCount:= C;
- for i := 0 to R-1 do
- for j := 0 to C-1 do
- Cells[j, i]:= FBBFIn [i+1, j+1];
- end;
- //'Циркулирующий изобутан'
- R:= Length(FIzobutCircIn);
- C:= Length(FIzobutCircIn[1]);
- with StringGrid2 do
- begin
- RowCount:= R;
- ColCount:= C;
- for i := 0 to R-1 do
- for j := 0 to C-1 do
- Cells[j, i]:= FIzobutCircIn [i+1, j+1];
- end;
- //'Изобутан-хладоагент'
- R:= Length(FIzobutHladIn);
- C:= Length(FIzobutHladIn[1]);
- with StringGrid8 do
- begin
- RowCount:= R;
- ColCount:= C;
- for i := 0 to R-1 do
- for j := 0 to C-1 do
- Cells[j, i]:= FIzobutHladIn [i+1, j+1];
- end;
- //'Технологические параметры'];
- R:= Length(FTehParIn);
- C:= Length(FTehParIn[1]);
- with StringGrid3 do
- begin
- RowCount:= R;
- ColCount:= C;
- for i := 0 to R-1 do
- for j := 0 to C-1 do
- Cells[j, i]:= FTehParIn [i+1, j+1];
- end;
- //'Серная кислота'
- R:= Length(FSerKisIn);
- C:= Length(FSerKisIn[1]);
- with StringGrid11 do
- begin
- RowCount:= R;
- ColCount:= C;
- for i := 0 to R-1 do
- for j := 0 to C-1 do
- Cells[j, i]:= FSerKisIn [i+1, j+1];
- end;
- {+++++++++++++Инициализация массивов BBF, RecIsobutane, IHA, TechPar++++++++++++++++++}
- with StringGrid6 do
- begin
- RowCount:= StringGrid4.RowCount;
- Cols[0]:=StringGrid4.Cols[0] ;
- Cells[1, 0]:= 'Значение';
- for I := 1 to RowCount-1 do
- Cells[1, i]:= '0,00'
- end;
- with StringGrid1 do
- begin
- for I := 1 to StringGrid4.RowCount-1 do
- BBF[i]:= 0.00;
- BBF[ 1]:= StrToFloat(Cells[1,11]);
- BBF[ 2]:= StrToFloat(Cells[1,13]) + StrToFloat(Cells[1,14]);
- BBF[ 3]:= StrToFloat(Cells[1,12]);
- BBF[ 5]:= StrToFloat(Cells[1, 9]);
- BBF[ 7]:= StrToFloat(Cells[1,10]);
- BBF[16]:= StrToFloat(Cells[1, 7]);
- BBF[26]:= StrToFloat(Cells[1, 6]);
- BBF[27]:= StrToFloat(Cells[1,17]) + StrToFloat(Cells[1,19]);
- end;
- with StringGrid2 do
- begin
- for I := 1 to StringGrid4.RowCount-1 do
- RecIsobutane[i]:= 0.00;
- RecIsobutane[ 1]:= StrToFloat(Cells[1,11]);
- RecIsobutane[ 2]:= StrToFloat(Cells[1,12]) + StrToFloat(Cells[1,13]);
- RecIsobutane[ 3]:= StrToFloat(Cells[1,10]);
- RecIsobutane[ 5]:= StrToFloat(Cells[1, 8]);
- RecIsobutane[ 7]:= StrToFloat(Cells[1, 9]);
- RecIsobutane[16]:= StrToFloat(Cells[1, 6]);
- RecIsobutane[26]:= StrToFloat(Cells[1, 5]);
- RecIsobutane[27]:= StrToFloat(Cells[1,15]);
- end;
- with StringGrid8 do
- begin
- for I := 1 to StringGrid4.RowCount-1 do
- IHA[i]:= 0.00;
- IHA[ 1]:= StrToFloat(Cells[1,10]);
- IHA[ 2]:= StrToFloat(Cells[1,12]) + StrToFloat(Cells[1,13]);
- IHA[ 3]:= StrToFloat(Cells[1,11]);
- IHA[ 5]:= StrToFloat(Cells[1, 8]);
- IHA[ 7]:= StrToFloat(Cells[1, 9]);
- IHA[16]:= StrToFloat(Cells[1, 6]);
- IHA[26]:= StrToFloat(Cells[1, 5]);
- IHA[27]:= StrToFloat(Cells[1,15]);
- end;
- with StringGrid3 do
- for I := 1 to RowCount-1 do
- TechPar[i]:= StrToFloat(Cells[1, i]);
- {++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++}
- {\\\\\\\\\\\\\\\\\\\\\\\\\Инициализация массива параметров кислоты///////////////////////////}
- with StringGrid11 do
- begin
- for I := 2 to RowCount-1 do
- AcidPar[i]:= StrToFloat(Cells[1, i]);
- Acid[38]:= StrToFloat(Cells[1, 1]);
- Acid[39]:= 100 - StrToFloat(Cells[1, 1]);
- end;
- {\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\////////////////////////////////////////////////}
- // Массивы Mr, Density
- {.............................................................................................}
- with StringGrid4 do
- for I := 1 to RowCount-1 do
- begin
- Mr[i]:= StrToFloat(Cells[1, i]);
- Density[i]:= StrToFloat(Cells[2, i]);
- end;
- {.............................................................................................}
- //Комбинированное сырье
- with StringGrid6 do
- begin
- Cells[1, 1]:= FloatToStr(mix(d(density, BBF), TechPar[1], BBF[ 1], d(density, RecIsobutane), TechPar[2], RecIsobutane[ 1]));
- Cells[1, 2]:= FloatToStr(mix(d(density, BBF), TechPar[1], BBF[ 2], d(density, RecIsobutane), TechPar[2], RecIsobutane[ 2]));
- Cells[1, 3]:= FloatToStr(mix(d(density, BBF), TechPar[1], BBF[ 3], d(density, RecIsobutane), TechPar[2], RecIsobutane[ 3]));
- Cells[1, 5]:= FloatToStr(mix(d(density, BBF), TechPar[1], BBF[ 5], d(density, RecIsobutane), TechPar[2], RecIsobutane[ 5]));
- Cells[1, 7]:= FloatToStr(mix(d(density, BBF), TechPar[1], BBF[ 7], d(density, RecIsobutane), TechPar[2], RecIsobutane[ 7]));
- Cells[1,16]:= FloatToStr(mix(d(density, BBF), TechPar[1], BBF[16], d(density, RecIsobutane), TechPar[2], RecIsobutane[16]));
- Cells[1,26]:= FloatToStr(mix(d(density, BBF), TechPar[1], BBF[26], d(density, RecIsobutane), TechPar[2], RecIsobutane[26]));
- Cells[1,27]:= FloatToStr(mix(d(density, BBF), TechPar[1], BBF[27], d(density, RecIsobutane), TechPar[2], RecIsobutane[27]));
- for I := 1 to RowCount-1 do
- s:= s + StrToFloat(Cells[1, i]);
- for I := 1 to RowCount-1 do
- Cells[1, i]:= FloatToStrf(StrToFloat(Cells[1, i])/s*100, fffixed, 7, 2)
- end;
- {--------------------------Инициализация массива CombFeed-----------------------------------}
- with StringGrid6 do
- for I := 1 to RowCount-1 do
- CombFeed[i]:= StrToFloat(Cells[1, i]);
- {-------------------------------------------------------------------------------------------}
- {===============================================================================}
- with stringGrid9 do
- begin
- Cells[0, 0]:= 'Наименование потока';
- Cells[0, 1]:= 'Комбинированное сырье';
- Cells[0, 2]:= 'Изобутан-хладоагент';
- Cells[1, 0]:= 'Коэффициент распределения R-311A';
- Cells[2, 0]:= 'Коэффициент распределения R-311B';
- Cells[3, 0]:= 'Коэффициент распределения R-311C';
- Cells[4, 0]:= 'Коэффициент распределения R-311D';
- for I := 1 to ColCount-1 do
- for j := 1 to RowCount-1 do
- Cells[i, j]:= '0,25';
- end;
- with StringGrid7 do
- begin
- RowCount:= StringGrid4.RowCount;
- Cols[0]:= StringGrid4.Cols[0];
- Cells[1, 0]:= 'Контактор R-311A';
- Cells[2, 0]:= 'Контактор R-311B';
- Cells[3, 0]:= 'Контактор R-311C';
- Cells[4, 0]:= 'Контактор R-311D';
- for I := 1 to ColCount-1 do
- for j := 1 to RowCount-1 do
- Cells[i, j]:= '0,00';
- end;
- with StringGrid10 do
- begin
- RowCount:= StringGrid4.RowCount;
- Cols[0]:= StringGrid4.Cols[0];
- Cells[1, 0]:= 'Контактор R-311A';
- Cells[2, 0]:= 'Контактор R-311B';
- Cells[3, 0]:= 'Контактор R-311C';
- Cells[4, 0]:= 'Контактор R-311D';
- for I := 1 to ColCount-1 do
- for j := 1 to RowCount-1 do
- Cells[i, j]:= '0,00';
- end;
- //'Состав алкилата'
- //R:= WorkSheet.UsedRange.Rows.Count;
- //C:= WorkSheet.UsedRange.Columns.Count;
- with StringGrid12 do
- begin
- RowCount:= StringGrid4.RowCount;
- ColCount:= ColCount + 1;
- Cols[0]:= StringGrid4.Cols[0];
- Cells[1, 0]:= 'Контактор R-311A';
- Cells[3, 0]:= 'Контактор R-311B';
- Cells[4, 0]:= 'Контактор R-311C';
- Cells[5, 0]:= 'Контактор R-311D';
- Cells[2, 0]:= 'Состав алкилата (анализ)';
- for I := 1 to ColCount-1 do
- for j := 1 to RowCount-1 do
- begin
- Cells[i, j]:= '0,00';
- Cells[2, j]:= FSosAlkIn[j+1, 2];
- end;
- end;
- // 23.02.2019 // Считывание параметров потока "Сырье С4 насыщенное"
- (*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*)
- //Сырье С4 насыщенное
- R:= Length(FSyrC4Const);
- C:= Length(FSyrC4Const[1]);
- with StringGrid13 do
- begin
- RowCount:= R;
- ColCount:= C;
- for i := 0 to R-1 do
- for j := 0 to C-1 do
- Cells[j, i]:= FSyrC4In[i+1, j+1];
- end;
- (*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*)
- // 23.02.2019 // Инициализация массива SyrC4
- for I := 1 to StringGrid4.RowCount-1 do
- SyrC4[i]:= 0;
- SyrC4[5]:= StrToFloat(StringGrid13.Cells[1, 8]);
- SyrC4[7]:= StrToFloat(StringGrid13.Cells[1, 9]);
- //------конец Долганов 19,02,2019
- end;
- procedure TMDIChild.Button1Click(Sender: TObject);
- var
- s: extended;
- i: integer;
- begin
- s:= 0;
- tk:= v/(StrToFloat(StringGrid9.Cells[1, 1])*(TechPar[1]+TechPar[2])+TechPar[3]+AcidPar[1]+AcidPar[5])*3600;
- {*****************************Смешение с хладоагентом и кислотой***************************************}
- with StringGrid7 do
- begin
- //R-311A
- Cells[1, 1]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[1, 1])*(TechPar[1]+TechPar[2]), CombFeed[ 1], d(density, IHA), TechPar[3], IHA[ 1]));
- Cells[1, 2]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[1, 1])*(TechPar[1]+TechPar[2]), CombFeed[ 2], d(density, IHA), TechPar[3], IHA[ 2]));
- Cells[1, 3]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[1, 1])*(TechPar[1]+TechPar[2]), CombFeed[ 3], d(density, IHA), TechPar[3], IHA[ 3]));
- //23.02.2019 // Добавление Сырья С4
- ////////
- Cells[1, 5]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[1, 1])*(TechPar[1]+TechPar[2]), CombFeed[ 5], d(density, IHA), TechPar[3], IHA[ 5]) + TechPar[12] * 0.25 * SyrC4[5] * 1000 / 100);
- Cells[1, 7]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[1, 1])*(TechPar[1]+TechPar[2]), CombFeed[ 7], d(density, IHA), TechPar[3], IHA[ 7]) + TechPar[12] * 0.25 * SyrC4[7] * 1000 / 100);
- ////////
- Cells[1,16]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[1, 1])*(TechPar[1]+TechPar[2]), CombFeed[16], d(density, IHA), TechPar[3], IHA[16]));
- Cells[1,26]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[1, 1])*(TechPar[1]+TechPar[2]), CombFeed[26], d(density, IHA), TechPar[3], IHA[26]));
- Cells[1,27]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[1, 1])*(TechPar[1]+TechPar[2]), CombFeed[27], d(density, IHA), TechPar[3], IHA[27]));
- Cells[1,38]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[1, 1])*(TechPar[1]+TechPar[2]), CombFeed[38], d(density, Acid), (AcidPar[1] + AcidPar[5]), Acid[38]));
- Cells[1,39]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[1, 1])*(TechPar[1]+TechPar[2]), CombFeed[39], d(density, Acid), (AcidPar[1] + AcidPar[5]), Acid[39]));
- for I := 1 to RowCount-1 do
- s:= s + StrToFloat(Cells[1, i]);
- for I := 1 to RowCount-1 do
- Cells[1, i]:= FloatToStrf(StrToFloat(Cells[1, i])/s*100, fffixed, 10, 4);
- s:= 0;
- //R-311B
- Cells[2, 1]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[2, 1])*(TechPar[1]+TechPar[2]), CombFeed[ 1], d(density, IHA), TechPar[4], IHA[ 1]));
- Cells[2, 2]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[2, 1])*(TechPar[1]+TechPar[2]), CombFeed[ 2], d(density, IHA), TechPar[4], IHA[ 2]));
- Cells[2, 3]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[2, 1])*(TechPar[1]+TechPar[2]), CombFeed[ 3], d(density, IHA), TechPar[4], IHA[ 3]));
- Cells[2, 5]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[2, 1])*(TechPar[1]+TechPar[2]), CombFeed[ 5], d(density, IHA), TechPar[4], IHA[ 5]));
- Cells[2, 7]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[2, 1])*(TechPar[1]+TechPar[2]), CombFeed[ 7], d(density, IHA), TechPar[4], IHA[ 7]));
- Cells[2,16]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[2, 1])*(TechPar[1]+TechPar[2]), CombFeed[16], d(density, IHA), TechPar[4], IHA[16]));
- Cells[2,26]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[2, 1])*(TechPar[1]+TechPar[2]), CombFeed[26], d(density, IHA), TechPar[4], IHA[26]));
- Cells[2,27]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[2, 1])*(TechPar[1]+TechPar[2]), CombFeed[27], d(density, IHA), TechPar[4], IHA[27]));
- Cells[2,38]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[2, 1])*(TechPar[1]+TechPar[2]), CombFeed[38], d(density, Acid), (AcidPar[2] + AcidPar[5]), Acid[38]));
- Cells[2,39]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[2, 1])*(TechPar[1]+TechPar[2]), CombFeed[39], d(density, Acid), (AcidPar[2] + AcidPar[5]), Acid[39]));
- for I := 1 to RowCount-1 do
- s:= s + StrToFloat(Cells[2, i]);
- for I := 1 to RowCount-1 do
- Cells[2, i]:= FloatToStrf(StrToFloat(Cells[2, i])/s*100, fffixed, 10, 4);
- s:= 0;
- //R-311C
- Cells[3, 1]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[3, 1])*(TechPar[1]+TechPar[2]), CombFeed[ 1], d(density, IHA), TechPar[5], IHA[ 1]));
- Cells[3, 2]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[3, 1])*(TechPar[1]+TechPar[2]), CombFeed[ 2], d(density, IHA), TechPar[5], IHA[ 2]));
- Cells[3, 3]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[3, 1])*(TechPar[1]+TechPar[2]), CombFeed[ 3], d(density, IHA), TechPar[5], IHA[ 3]));
- Cells[3, 5]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[3, 1])*(TechPar[1]+TechPar[2]), CombFeed[ 5], d(density, IHA), TechPar[5], IHA[ 5]));
- Cells[3, 7]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[3, 1])*(TechPar[1]+TechPar[2]), CombFeed[ 7], d(density, IHA), TechPar[5], IHA[ 7]));
- Cells[3,16]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[3, 1])*(TechPar[1]+TechPar[2]), CombFeed[16], d(density, IHA), TechPar[5], IHA[16]));
- Cells[3,26]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[3, 1])*(TechPar[1]+TechPar[2]), CombFeed[26], d(density, IHA), TechPar[5], IHA[26]));
- Cells[3,27]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[3, 1])*(TechPar[1]+TechPar[2]), CombFeed[27], d(density, IHA), TechPar[5], IHA[27]));
- Cells[3,38]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[3, 1])*(TechPar[1]+TechPar[2]), CombFeed[38], d(density, Acid), (AcidPar[3] + AcidPar[6]), Acid[38]));
- Cells[3,39]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[3, 1])*(TechPar[1]+TechPar[2]), CombFeed[39], d(density, Acid), (AcidPar[3] + AcidPar[6]), Acid[39]));
- for I := 1 to RowCount-1 do
- s:= s + StrToFloat(Cells[3, i]);
- for I := 1 to RowCount-1 do
- Cells[3, i]:= FloatToStrf(StrToFloat(Cells[3, i])/s*100, fffixed, 10, 4);
- s:= 0;
- //R-311D
- Cells[4, 1]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[4, 1])*(TechPar[1]+TechPar[2]), CombFeed[ 1], d(density, IHA), TechPar[6], IHA[ 1]));
- Cells[4, 2]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[4, 1])*(TechPar[1]+TechPar[2]), CombFeed[ 2], d(density, IHA), TechPar[6], IHA[ 2]));
- Cells[4, 3]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[4, 1])*(TechPar[1]+TechPar[2]), CombFeed[ 3], d(density, IHA), TechPar[6], IHA[ 3]));
- Cells[4, 5]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[4, 1])*(TechPar[1]+TechPar[2]), CombFeed[ 5], d(density, IHA), TechPar[6], IHA[ 5]));
- Cells[4, 7]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[4, 1])*(TechPar[1]+TechPar[2]), CombFeed[ 7], d(density, IHA), TechPar[6], IHA[ 7]));
- Cells[4,16]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[4, 1])*(TechPar[1]+TechPar[2]), CombFeed[16], d(density, IHA), TechPar[6], IHA[16]));
- Cells[4,26]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[4, 1])*(TechPar[1]+TechPar[2]), CombFeed[26], d(density, IHA), TechPar[6], IHA[26]));
- Cells[4,27]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[4, 1])*(TechPar[1]+TechPar[2]), CombFeed[27], d(density, IHA), TechPar[6], IHA[27]));
- Cells[4,38]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[4, 1])*(TechPar[1]+TechPar[2]), CombFeed[38], d(density, Acid), (AcidPar[2] + AcidPar[6]), Acid[38]));
- Cells[4,39]:= FloatToStr(mix(d(density, CombFeed), StrToFloat(StringGrid9.Cells[4, 1])*(TechPar[1]+TechPar[2]), CombFeed[39], d(density, Acid), (AcidPar[2] + AcidPar[6]), Acid[39]));
- for I := 1 to RowCount-1 do
- s:= s + StrToFloat(Cells[4, i]);
- for I := 1 to RowCount-1 do
- Cells[4, i]:= FloatToStrf(StrToFloat(Cells[4, i])/s*100, fffixed, 10, 4);
- {**************************************************************************************************************************************}
- for I := 1 to RowCount-1 do
- C0[i]:= StrToFloat(Cells[1, i]);
- mol(C0, density, Mr, Cm);
- edit3.Text:= FloatToStrF(iC4_Ratio(Cm), ffFixed, 8, 0);
- //iC4/C=
- iC4_Rating:= iC4_Ratio(Cm);
- for I := 1 to RowCount-1 do
- C0[i]:= Cm[i];
- RK(Cm);
- // Удаляем кислоту
- Cm[ 4]:= 0;
- Cm[37]:= 0;
- Cm[38]:= 0;
- Cm[39]:= 0;
- // Удаляем катионы
- Cm[ 6]:= 0;
- Cm[ 8]:= 0;
- Cm[12]:= 0;
- Cm[32]:= 0;
- mas (Cm, Mr, C);
- for I := 1 to RowCount-1 do
- StringGrid10.Cells[1, i]:= FloatToStrF(C[i], fffixed, 7, 2);
- end;
- // Расчет фазового равновесия 05.03.2019
- getmol(TechPar[2] * d(density, C), C, xf, Fmol);
- podborKi(Fp, Fw, Ki, xw, xp);
- for I := 1 to StringGrid12.RowCount-1 do
- begin
- StringGrid12.Cells[3, i]:= FloatToStrF(xw[i], fffixed, 10, 5);
- StringGrid12.Cells[4, i]:= FloatToStrF(xp[i], fffixed, 10, 5);
- end;
- // Определение выхода алкилата
- Alkylate_Yeild:= (100 - C[1] - C[2] - C[3] - C[5] - 0.09*C[27] - 0.006*C[7] - C[16] - C[26] - C[36])/100
- * (StrToFloat(StringGrid9.Cells[4, 1]) * TechPar[1] * d(density, BBF) + //23.02.2019 Добавлена (
- StrToFloat(StringGrid9.Cells[4, 1]) * TechPar[2] * d(density, RecIsobutane)); //23.02.2019 Добавлена )
- // определение выхода iC4
- iC4_Yeild:= C[5]/100 * ((StrToFloat(StringGrid9.Cells[4, 1]) * TechPar[1] * d(density, BBF) + StrToFloat(StringGrid9.Cells[4, 1]) * TechPar[2] * d(density, RecIsobutane))); ////23.02.2019 Добавлены ()
- // Удаляем газы
- Cm[ 1]:= 0;
- Cm[ 2]:= 0;
- Cm[ 3]:= 0;
- Cm[ 5]:= 0;
- Cm[27]:= 0.09*Cm[27];
- Cm[ 7]:= 0.006*Cm[ 7];
- Cm[16]:= 0;
- Cm[26]:= 0;
- Cm[36]:= 0;
- mas (Cm, Mr, C);
- with StringGrid12 do
- for I := 1 to RowCount-1 do
- Cells[1, i]:= FloatToStrF(C[i], fffixed, 7, 2);
- (* инициализация массива ОЧ и состава алкилата*)
- with StringGrid4 do
- for I := 1 to RowCount-1 do
- begin
- RON[i]:= StrToFloat(Cells[7, i]);
- MON[i]:= StrToFloat(Cells[8, i]);
- Alkylat[i]:= StrToFloat(StringGrid12.Cells[1, i]);
- AlkylatL[i]:= StrToFloat(StringGrid12.Cells[3, i]);
- AlkylatG[i]:= StrToFloat(StringGrid12.Cells[4, i]);
- end;
- Edit1.Text:= FloatToStrF(getON(Alkylat, RON), fffixed, 8, 2);
- Edit2.Text:= FloatToStrF(getON(Alkylat, MON), fffixed, 8, 2);
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement