Summary of the invention
The purpose of this invention is to provide a kind of method of inhaling/putting the hydrogen thermodynamic parameter for definite hydrogen bearing alloy, fast, efficiently, accurately, having overcome in the past hydrogen bearing alloy, to inhale/put hydrogen thermodynamic parameter data error large, reliability is low, the analytic process workload is large, can't realize the shortcoming of computer automatic analysis.
The objective of the invention is to be achieved through the following technical solutions, a kind of method of inhaling/putting the hydrogen thermodynamic parameter for definite hydrogen bearing alloy comprises the following steps:
(1) take the sample chamber that the hydrogen bearing alloy sample is put into hydrogen bearing alloy suction/hydrogen discharging performance tester;
(2) by low temperature to high temperature, under different temperatures, the hydrogen bearing alloy sample is carried out to hydrogen bearing alloy suction/the put isothermal test of hydrogen pressure-concentration, obtain hydrogen bearing alloy and inhale/put hydrogen pressure-concentration isotherm test data;
(3) set up an array that includes the multiple row test data in the Workspace of MATLAB software, sample chamber temperature, hydrogen concentration and hydrogen pressure data in hydrogen pressure-concentration isotherm test data are inhaled/put to the hydrogen bearing alloy of acquisition and insert respectively sequentially in corresponding array and obtain the experimental data array;
(4) the experimental data array is cut apart, obtained corresponding different temperatures and the hydrogen bearing alloy that is mutually related and inhale/put hydrogen pressure-concentration isotherm data array;
(5) each hydrogen bearing alloy is inhaled/put in hydrogen pressure-concentration isotherm data array containing zero data line and remove;
(6) each hydrogen bearing alloy is inhaled/put hydrogen pressure-concentration isotherm data array and continue to be divided into Hydrogen absorption and desorption two parts, cut-point is that the isothermal molecular balance pressure of hydrogen pressure-concentration maximum value position is inhaled/put to every hydrogen bearing alloy;
(7) respectively each hydrogen bearing alloy suction is put to Hydrogen absorption and desorption data in hydrogen pressure-concentration isotherm data array and carry out the conforming interpolation processing, obtain a large amount of interpolative data points;
(8) horizontal ordinate of the interpolative data point that step (7) obtains means hydrogen concentration
n, ordinate means the molecular balance pressure
p, the interpolation data point is carried out
differential is processed the maximum value obtained, the corresponding molecular balance of its maximum value is pressed as inhaling/put the isothermal reaction platform of hydrogen pressure-concentration and is pressed, in succession obtain hydrogen bearing alloy suction under different temperatures and put hydrogen pressure-concentration isotherm reaction platform pressure, hydrogen bearing alloy under different temperatures is inhaled and put the array of formation that belongs to suction hydrogen process in hydrogen pressure-concentration isotherm reaction platform pressure, belong to an array of formation of putting the hydrogen process;
(9) will inhale/put sample chamber temperature corresponding to all test points of hydrogen process averages, the isothermal temperature of reaction of hydrogen pressure-concentration is inhaled/put to this mean value as hydrogen bearing alloy, hydrogen bearing alloy is inhaled/is put in the isothermal temperature of reaction of hydrogen pressure-concentration the array of formation that belongs to suction hydrogen process, belong to an array of formation of putting the hydrogen process, and guarantee that in each temperature array, the data order is pressed the data sequence consensus in array with above-mentioned correlated response platform;
(10) according to the Van't Hoff formula
, wherein
for the reaction platform is pressed,
for standard atmospheric pressure,
rmean gas law constant,
tmean temperature of reaction, return out the enthalpy change Δ of suction/hydrogen discharge reaction
h o, the Entropy Changes Δ
s o, then according to gibbs free energy change computing formula Δ
g o=Δ
h o-
tΔ
s oobtain the gibbs free energy change Δ
g o;
(11) that according to Workspace, sets up comprises the multiple row test data, take hydrogen concentration as horizontal ordinate, take the molecular balance pressure as the ordinate mapping, its ordinate adopts the natural logarithm coordinate, hydrogen pressure-concentration isothermal map is inhaled/put to the hydrogen bearing alloy that obtains different temperatures, take 1000/T as ordinate, and the natural logarithm value that the corresponding reaction platform of take is pressed is the ordinate mapping simultaneously, guarantee consistently with the ordinate force value bound of aforementioned isothermal map, data point is carried out to the Van't Hoff formula fitting simultaneously;
(12) hydrogen pressure-concentration isothermal map is inhaled/put to the output hydrogen bearing alloy, Van't Hoff curve map, the enthalpy change Δ of suction/hydrogen discharge reaction
h o, the Entropy Changes Δ
s oand gibbs free energy change Δ under design temperature
g o.
Preferably, while carrying out hydrogen bearing alloy suction/put hydrogen pressure-concentration isotherm test, the sample size of using is 1-5g.
Preferably, carry out hydrogen bearing alloy and inhale while putting hydrogen pressure-concentration isotherm test, the sample chamber thermostat temperature is chosen 3-6 different temperatures, and temperature interval is 10-30 ℃.
Preferably, the test data array of setting up in the Workspace of MATLAB software includes the 9-18 row, and arranges by the order of a row temperature, a row hydrogen concentration, a row hydrogen pressure.
Preferably, the Hydrogen absorption and desorption data are carried out respectively to the conforming interpolation processing, the interpolative data point of acquisition is respectively 8000-10000.
Preferably, above-mentioned steps (4) to the data handling procedure of step (12) completes automatically by the MATLAB program.
Preferably, above-mentioned steps (4) to the data handling procedure of step (12) is carried out according to the array operation rule, and does not have any loop structure.
Compared with prior art, the present invention has following beneficial effect: (1) can realize the computer automatic analysis of whole data handling procedure; (2) data plot output is arranged simultaneously, guarantee the intuitive of analytic process; (3) these data plot output formats meet conventional publication requirement, can be directly used in research report and journal article; (4) greatly improve the efficiency that hydrogen thermodynamic parameter analytic process is inhaled/put to hydrogen bearing alloy; (5) greatly improve accuracy and the reliability that the hydrogen thermodynamic parameter is inhaled/put to hydrogen bearing alloy.
Embodiment
Below in conjunction with accompanying drawing, the present invention is further described:
A kind of method of inhaling/putting the hydrogen thermodynamic parameter for definite hydrogen bearing alloy comprises the following steps:
(1) take the sample chamber that the hydrogen bearing alloy sample is put into hydrogen bearing alloy suction/hydrogen discharging performance tester;
(2) by low temperature to high temperature, under different temperatures, the hydrogen bearing alloy sample is carried out to hydrogen bearing alloy suction/the put isothermal test of hydrogen pressure-concentration, obtain hydrogen bearing alloy and inhale/put hydrogen pressure-concentration isotherm test data;
(3) set up an array that includes the multiple row test data in the Workspace of MATLAB software, sample chamber temperature, hydrogen concentration and hydrogen pressure data in hydrogen pressure-concentration isotherm test data are inhaled/put to the hydrogen bearing alloy of acquisition and insert respectively sequentially in corresponding array and obtain the experimental data array;
(4) the experimental data array is cut apart, obtained corresponding different temperatures and the hydrogen bearing alloy that is mutually related and inhale/put hydrogen pressure-concentration isotherm data array;
(5) each hydrogen bearing alloy is inhaled/put in hydrogen pressure-concentration isotherm data array containing zero data line and remove;
(6) each hydrogen bearing alloy is inhaled/put hydrogen pressure-concentration isotherm data array and continue to be divided into Hydrogen absorption and desorption two parts, cut-point is that the isothermal molecular balance pressure of hydrogen pressure-concentration maximum value position is inhaled/put to every hydrogen bearing alloy;
(7) respectively each hydrogen bearing alloy suction is put to Hydrogen absorption and desorption data in hydrogen pressure-concentration isotherm data array and carry out the conforming interpolation processing, obtain a large amount of interpolative data points;
(8) horizontal ordinate of the interpolative data point that step (7) obtains means hydrogen concentration
n, ordinate means the molecular balance pressure
p, the interpolation data point is carried out
differential is processed the maximum value obtained, the corresponding molecular balance of its maximum value is pressed as inhaling/put the isothermal reaction platform of hydrogen pressure-concentration and is pressed, in succession obtain hydrogen bearing alloy suction under different temperatures and put hydrogen pressure-concentration isotherm reaction platform pressure, hydrogen bearing alloy under different temperatures is inhaled and put the array of formation that belongs to suction hydrogen process in hydrogen pressure-concentration isotherm reaction platform pressure, belong to an array of formation of putting the hydrogen process;
(9) will inhale/put sample chamber temperature corresponding to all test points of hydrogen process averages, the isothermal temperature of reaction of hydrogen pressure-concentration is inhaled/put to this mean value as hydrogen bearing alloy, hydrogen bearing alloy is inhaled/is put in the isothermal temperature of reaction of hydrogen pressure-concentration the array of formation that belongs to suction hydrogen process, belong to an array of formation of putting the hydrogen process, and guarantee that in each temperature array, the data order is pressed the data sequence consensus in array with above-mentioned correlated response platform;
(10) according to the Van't Hoff formula
, wherein
for the reaction platform is pressed,
for standard atmospheric pressure,
rmean gas law constant,
tmean temperature of reaction, return out the enthalpy change Δ of suction/hydrogen discharge reaction
h o, the Entropy Changes Δ
s o, then according to gibbs free energy change computing formula Δ
g o=Δ
h o-
tΔ
s oobtain the gibbs free energy change Δ
g o;
(11) that according to Workspace, sets up comprises the multiple row test data, take hydrogen concentration as horizontal ordinate, take the molecular balance pressure as the ordinate mapping, its ordinate adopts the natural logarithm coordinate, hydrogen pressure-concentration isothermal map is inhaled/put to the hydrogen bearing alloy that obtains different temperatures, take 1000/T as ordinate, and the natural logarithm value that the corresponding reaction platform of take is pressed is the ordinate mapping simultaneously, guarantee consistently with the ordinate force value bound of aforementioned isothermal map, data point is carried out to the Van't Hoff formula fitting simultaneously;
(12) hydrogen pressure-concentration isothermal map is inhaled/put to the output hydrogen bearing alloy, Van't Hoff curve map, the enthalpy change Δ of suction/hydrogen discharge reaction
h o, the Entropy Changes Δ
s oand gibbs free energy change Δ under design temperature
g o.
While carrying out hydrogen bearing alloy suction/put hydrogen pressure-concentration isotherm test, the sample size of using is 1-5g.
Carry out hydrogen bearing alloy and inhale while putting hydrogen pressure-concentration isotherm test, the sample chamber thermostat temperature is chosen 3-6 different temperatures, and temperature interval is 10-30 ℃.
The test data array of setting up in the Workspace of MATLAB software includes the 9-18 row, and arranges by the order of a row temperature, a row hydrogen concentration, a row hydrogen pressure.
The Hydrogen absorption and desorption data are carried out respectively to the conforming interpolation processing, and the interpolative data point of acquisition is respectively 8000-10000.
Above-mentioned steps (4) to the data handling procedure of step (12) completes automatically by the MATLAB program.
Above-mentioned steps (4) to the data handling procedure of step (12) is carried out according to the array operation rule, and does not have any loop structure.
Embodiment
Prepare hydrogen bearing alloy LaNi
5, its feed metal is La 99 wt%, Ni 99.9 wt% adopt the vacuum induction melting under argon shield, and in the quartz ampoule that the vacuum tightness of after melting, alloy being packed into is 1 Pa, annealed, and in the water of quenching rapidly after insulation 6 h under 1000 ℃.Annealing specimen is through chemical analysis, with the accuracy of checking composition.Finally, the sample that takes about 1g is put into the sample chamber of hydrogen bearing alloy hydrogen storage property tester, in the environment of water bath with thermostatic control, carries out the suction of 40 ℃, 60 ℃ and 80 ℃/the put isothermal test of hydrogen pressure-concentration.Test obtains as following table 1, in the data of table 2 and table 3.Then open MATLAB software and set up the array of PCT by name in the Workspace window, these isotherm measured datas are copied in the PCT array, determine that the accounting temperature of gibbs free energy change is T=298 K simultaneously.The enthalpy change that calculates hydrogen abstraction reaction in the command window (Command window) of MATLAB after fill order HSG=cal_HSG (PCT, T) is Δ H
o=-29.6071 kJ/molH
2, Entropy Changes is Δ S
o=-0.1076 kJ/ (molH2K), gibbs free energy change is Δ G
o 298 K=2.4511 kJ/molH
2; The enthalpy change of hydrogen discharge reaction is Δ H
o=30.1288 kJ/molH
2, Entropy Changes is Δ S
o=0.1076 kJ/ (molH
2k), gibbs free energy change is Δ G
o 298 K=-1.9413 kJ/molH
2, hydrogen pressure-concentration isothermal map (Fig. 2) and Van't Hoff curve map (Fig. 3) are inhaled/are put in output.
Hydrogen pressure-concentration isotherm test data is inhaled/put to 40 ℃ of lower LaNi5 alloys of table 1
。
Hydrogen pressure-concentration isotherm test data is inhaled/put to 60 ℃ of lower LaNi5 alloys of table 2
Hydrogen pressure-concentration isotherm test data is inhaled/put to 80 ℃ of lower LaNi5 alloys of table 3
Wherein order HSG=cal_HSG (PCT, T) to complete following process:
(1) the PCT array is cut apart, hydrogen pressure-concentration isotherm data array is inhaled/put to 3 hydrogen bearing alloys that are mutually related that obtain corresponding different thermostat temperatures;
(2) each hydrogen bearing alloy is inhaled/put in hydrogen pressure-concentration isotherm data array containing zero data line and remove;
(3) each hydrogen bearing alloy is inhaled/put hydrogen pressure-concentration isotherm data array and continue to be divided into Hydrogen absorption and desorption two parts, cut-point is that the isothermal molecular balance pressure of hydrogen pressure-concentration maximum value position is inhaled/put to every hydrogen bearing alloy;
(4) respectively each hydrogen bearing alloy suction is put to Hydrogen absorption and desorption data in hydrogen pressure-concentration isotherm data array and carry out the conforming interpolation processing, obtain respectively 10000 interpolative data points;
(5) all these interpolative data points are carried out
differential is processed, and find the corresponding equilibrium pressure of its maximum value, this molecular balance is pressed as inhaling/put the isothermal reaction platform of hydrogen pressure-concentration and is pressed, hydrogen pressure-concentration isotherm reaction platform pressure is inhaled/put to the hydrogen bearing alloy that in succession obtains by this method different temperatures, these reaction platforms are pressed and belonged to an array of formation of inhaling the hydrogen process, belong to an array of formation of putting the hydrogen process;
(6) each being inhaled/puts sample chamber temperature corresponding to all test points of hydrogen process averages, the isothermal temperature of reaction of hydrogen pressure-concentration is inhaled/put to this mean value as hydrogen bearing alloy, these temperature of reaction are belonged to an array of formation of inhaling the hydrogen process, belong to an array of formation of putting the hydrogen process, and guarantee that in each temperature array, the data order is pressed the data sequence consensus in array with above-mentioned correlated response platform;
(7) then according to Van't Hoff formula and array operation rule, return out the enthalpy change Δ of suction/hydrogen discharge reaction
h o, the Entropy Changes Δ
s o, then according to gibbs free energy change computing formula Δ
g o=Δ
h o-
tΔ
s oobtain the gibbs free energy change Δ under design temperature
g o;
(8) take hydrogen concentration as horizontal ordinate, take the molecular balance pressure as the ordinate mapping, and ordinate employing natural logarithm coordinate, hydrogen pressure-concentration isothermal map is inhaled/put to the hydrogen bearing alloy that obtains different temperatures, simultaneously with 1000/
tfor ordinate, the natural logarithm value that the corresponding reaction platform of take is pressed is the ordinate mapping, guarantees consistently with the ordinate force value bound of inhaling/putting hydrogen pressure-concentration isothermal map, data point is carried out to the Van't Hoff formula fitting simultaneously;
(9) finally export hydrogen bearing alloy and inhale/put hydrogen pressure-concentration isothermal map, Van't Hoff curve map, the enthalpy change Δ of suction/hydrogen discharge reaction
h o, the Entropy Changes Δ
s oand gibbs free energy change Δ under design temperature
g o.
Below the MATLAB program of above-mentioned data handling procedure:
function?HSG=cal_HSG(PCT,T)
PCT1=PCT(:,1:3);
[i1,~]=find(PCT1==0);
if?isempty(i1)
PCT1=PCT1;
else
PCT1=PCT1(1:i1-1,:);
end
t1=PCT1(:,1);
c1=PCT1(:,2);
p1=PCT1(:,3);
[~,j1]=max(p1);
abt1=mean(t1(1:j1));
det1=mean(t1(j1:end));
abHM1=c1(1:j1);
abP1=p1(1:j1);
abx1=linspace(abHM1(1),abHM1(end),10000);
abfitResults1=pchip(abHM1,abP1);
aby1?=?ppval(abfitResults1,?abx1);
[~,abk1]=max(diff(abx1)./diff(log(aby1)));
abPe1=aby1(abk1);
deHM1=c1(j1:end);
deP1=p1(j1:end);
dex1=linspace(deHM1(end),deHM1(1),10000);
defitResults1=pchip(deHM1,deP1);
dey1?=?ppval(defitResults1,?dex1);
[~,dek1]=max(diff(dex1)./diff(log(dey1)));
dePe1=dey1(dek1);
%PCT2
PCT2=PCT(:,4:6);
[i2,~]=find(PCT2==0);
if?isempty(i2)
PCT2=PCT2;
else
PCT2=PCT2(1:i2-1,:);
end
t2=PCT2(:,1);
c2=PCT2(:,2);
p2=PCT2(:,3);
[~,j2]=max(p2);
abt2=mean(t2(1:j2));
det2=mean(t2(j2:end));
abHM2=c2(1:j2);
abP2=p2(1:j2);
abx2=linspace(abHM2(1),abHM2(end),10000);
abfitResults2=pchip(abHM2,abP2);
aby2?=?ppval(abfitResults2,?abx2);
[~,abk2]=max(diff(abx2)./diff(log(aby2)));
abPe2=aby2(abk2);
deHM2=c2(j2:end);
deP2=p2(j2:end);
dex2=linspace(deHM2(end),deHM2(1),10000);
defitResults2=pchip(deHM2,deP2);
dey2?=?ppval(defitResults2,?dex2);
[~,dek2]=max(diff(dex2)./diff(log(dey2)));
dePe2=dey2(dek2);
%PCT3
PCT3=PCT(:,7:9);
[i3,~]=find(PCT3==0);
if?isempty(i3)
PCT3=PCT3;
else
PCT3=PCT3(1:i3-1,:);
end
t3=PCT3(:,1);
c3=PCT3(:,2);
p3=PCT3(:,3);
[~,j3]=max(p3);
abt3=mean(t3(1:j3));
det3=mean(t3(j3:end));
abHM3=c3(1:j3);
abP3=p3(1:j3);
abx3=linspace(abHM3(1),abHM3(end),10000);
abfitResults3=pchip(abHM3,abP3);
aby3?=?ppval(abfitResults3,?abx3);
[~,abk3]=max(diff(abx3)./diff(log(aby3)));
abPe3=aby3(abk3);
deHM3=c3(j3:end);
deP3=p3(j3:end);
dex3=linspace(deHM3(end),deHM3(1),10000);
defitResults3=pchip(deHM3,deP3);
dey3?=?ppval(defitResults3,?dex3);
[~,dek3]=max(diff(dex3)./diff(log(dey3)));
dePe3=dey3(dek3);
abt=[abt1;abt2;abt3];
det=[det1;det2;det3];
abPe=[abPe1;abPe2;abPe3];
dePe=[dePe1;dePe2;dePe3];
subplot(1,2,1);
hold?on
plot(c1,p1,'-rs','DisplayName','40?℃');
plot(c2,p2,'-bo','DisplayName','60?℃');
plot(c3,p3,'-k>','DisplayName','80?℃');
set(gca,'YScale','log','FontSize',18,'FontName','times?new?roman');
%?Create?xlabel
xlabel('Hydrogen?Content?(wt.%)','FontSize',20,'FontName','Times?New?Roman');
%?Create?ylabel
ylabel('Pressure?(MPa)','FontSize',20,'FontName','Times?New?Roman');
set(gca,'YLim',[0.1?10])
box(gca,'on');
%?Create?legend
legend2?=?legend(gca,'show');
set(legend2,'YColor',[1?1?1],'XColor',[1?1?1],...
'Position',[0.283040364583333?0.719823340900192?0.109375?0.144770736733642]);
subplot(1,2,2);
abplot=plot(1000./(abt+273.15),log(abPe./0.101325),...
'MarkerFaceColor',[1?0?0],...
'MarkerEdgeColor',[1?0?0],...
'Marker','square',...
'LineStyle','none',...
'DisplayName','absorption');
hold?on
set(gca,'FontSize',18,'FontName','times?new?roman');
box(gca,'on');
%?Get?xdata?from?plot
abxdata?=?get(abplot,?'xdata');
%?Get?ydata?from?plot
abydata?=?get(abplot,?'ydata');
%?Make?sure?data?are?column?vectors
abxdata?=?abxdata(:);
abydata?=?abydata(:);
%?Find?x?values?for?plotting?the?fit?based?on?xlim
abxplot?=?linspace(min(abxdata)-0.1,max(abxdata)+0.1);
%?Find?coefficients?for?polynomial?(order?=?1)
abfit?=?polyfit(abxdata,?abydata,?1);
%?Evaluate?polynomial
abyplot?=?polyval(abfit,?abxplot);
%?Plot?the?fit
abLine?=?plot(abxplot,abyplot,'DisplayName','fitting?line','Color',[0?0?0]);
HSG(1,1)=-abs(abfit(1)*8.314472);
HSG(1,2)=-abs(abfit(2)*8.314472)/1000;
deplot=plot(1000./(det+273.15),log(dePe/0.101325),'MarkerFaceColor',[1?1?1],...
'MarkerEdgeColor',[1?0?0],...
'Marker','square',...
'LineStyle','none',...
'DisplayName','desorption');
%?Get?xdata?from?plot
dexdata?=?get(deplot,?'xdata');
%?Get?ydata?from?plot
deydata?=?get(deplot,?'ydata');
%?Make?sure?data?are?column?vectors
dexdata?=?dexdata(:);
deydata?=?deydata(:);
%?Find?x?values?for?plotting?the?fit?based?on?xlim
dexplot?=?linspace(min(dexdata)-0.1,max(dexdata)+0.1);
%?Find?coefficients?for?polynomial?(order?=?1)
defit?=?polyfit(dexdata,?deydata,?1);
%?Evaluate?polynomial
deyplot?=?polyval(defit,?dexplot);
%?Plot?the?fit
deLine?=?plot(dexplot,deyplot,'LineStyle','--','DisplayName','fitting?line',...
'Color',[0?0?0]);
set(gca,'YLim',log([0.1?10]./0.101325),'XTickLabel',{'2.7','3','3.3'},...
'XTick',[2.7?3?3.3]);
%?Create?xlabel
xlabel('1000?/?\itT\rm?(K^-^1)','FontSize',20,'FontName','Times?New?Roman');
%?Create?ylabel
ylabel('ln(\itp?/?\rmp_0)','FontSize',20,'FontName','Times?New?Roman');
%?Create?legend
legend1?=?legend(gca,'show');
set(legend1,'YColor',[1?1?1],'XColor',[1?1?1],...
'Position',[0.709309895833333?0.653714054642302?0.1552734375?0.190623390005152]);
HSG(2,1)=abs(defit(1)*8.314472);
HSG(2,2)=abs(defit(2)*8.314472)/1000;
HSG(:,3)=HSG(:,1)-T*HSG(:,2);