def test_bet(self): # Carbon black reference material isotherm (N2 at 77K) Qads = np.array([ 4.39005, 4.67017, 4.79068, 4.9767, 5.14414, 5.31144, 5.47106, 5.63297, 5.80559, 5.96663, 6.13574, 6.31214, 6.49764, 6.67154, 6.85255, 7.04053, 7.22571, 7.40778, 7.59634, 7.7832, 7.96568, 8.1623, 8.34863, 8.54383, 8.74695, 8.94871, 9.16214, 9.38208, 9.61289, 9.8577, 10.12, 10.397, 10.6852, 11.0089, 11.3574, 11.7373, 12.1611, 12.6289, 13.1794, 13.819, 14.57, 15.4858, 16.6535, 18.2409 ]) Prel = np.array([ 0.0433547, 0.0672921, 0.0796994, 0.0999331, 0.119912, 0.140374, 0.159884, 0.179697, 0.200356, 0.219646, 0.239691, 0.259671, 0.280475, 0.299907, 0.320048, 0.340746, 0.360882, 0.380708, 0.400956, 0.421168, 0.440603, 0.460924, 0.480902, 0.500572, 0.521144, 0.540715, 0.560852, 0.580887, 0.600803, 0.62089, 0.64084, 0.66093, 0.68071, 0.70082, 0.72096, 0.74084, 0.76081, 0.78045, 0.80084, 0.82107, 0.84075, 0.86069, 0.88041, 0.90023 ]) pmin = 0.05 pmax = 0.3 r = bet.bet(Prel, Qads, Pmin=pmin, Pmax=pmax, csa=0.162) np.testing.assert_almost_equal(r.sa, 20.7049, 3) np.testing.assert_almost_equal(r.sa_err, 0.0289, 4) np.testing.assert_almost_equal(r.C, 149.959660, 2) np.testing.assert_almost_equal(r.q_m, 4.7569, 4) Pfit, Qfit = util.restrict_isotherm(Prel, Qads, pmin, pmax) roq = bet.Isotherm2RoquerolBET(Pfit, Qfit) np.testing.assert_almost_equal(roq[0], 4.3559, 4) np.testing.assert_almost_equal(roq[6], 4.62074, 4)
def test_bet(self): # Carbon black reference material isotherm (N2 at 77K) Qads = np.array([4.39005, 4.67017, 4.79068, 4.9767, 5.14414, 5.31144, 5.47106, 5.63297, 5.80559, 5.96663, 6.13574, 6.31214, 6.49764, 6.67154, 6.85255, 7.04053, 7.22571, 7.40778, 7.59634, 7.7832, 7.96568, 8.1623, 8.34863, 8.54383, 8.74695, 8.94871, 9.16214, 9.38208, 9.61289, 9.8577, 10.12, 10.397, 10.6852, 11.0089, 11.3574, 11.7373, 12.1611, 12.6289, 13.1794, 13.819, 14.57, 15.4858, 16.6535, 18.2409]) Prel = np.array([0.0433547, 0.0672921, 0.0796994, 0.0999331, 0.119912, 0.140374, 0.159884, 0.179697, 0.200356, 0.219646, 0.239691, 0.259671, 0.280475, 0.299907, 0.320048, 0.340746, 0.360882, 0.380708, 0.400956, 0.421168, 0.440603, 0.460924, 0.480902, 0.500572, 0.521144, 0.540715, 0.560852, 0.580887, 0.600803, 0.62089, 0.64084, 0.66093, 0.68071, 0.70082, 0.72096, 0.74084, 0.76081, 0.78045, 0.80084, 0.82107, 0.84075, 0.86069, 0.88041, 0.90023]) pmin = 0.05 pmax = 0.3 r = bet.bet(Prel, Qads, Pmin = pmin, Pmax = pmax, csa=0.162) np.testing.assert_almost_equal( r.sa, 20.7049, 3 ) np.testing.assert_almost_equal( r.sa_err, 0.0289, 4 ) np.testing.assert_almost_equal( r.C, 149.959660, 2 ) np.testing.assert_almost_equal( r.q_m, 4.7569, 4 ) Pfit, Qfit = util.restrict_isotherm(Prel,Qads,pmin,pmax) roq = bet.Isotherm2RoquerolBET(Pfit,Qfit ) np.testing.assert_almost_equal( roq[0], 4.3559, 4 ) np.testing.assert_almost_equal( roq[6], 4.62074, 4 )
def test_bet(self): Qads = np.array([4.67017, 4.79068, 4.9767, 5.14414, 5.31144, 5.47106, 5.63297, 5.80559, 5.96663, 6.13574, 6.31214, 6.49764, 6.67154]) Prel = np.array([0.0672921, 0.0796994, 0.0999331, 0.119912, 0.140374, 0.159884, 0.179697, 0.200356, 0.219646, 0.239691, 0.259671, 0.280475, 0.299907]) r = bet.bet(Qads, Prel, csa=0.162) np.testing.assert_almost_equal( r.sa, 20.7049, 4 ) np.testing.assert_almost_equal( r.sa_err, 0.0289, 4 ) np.testing.assert_almost_equal( r.C, 149.959660, 2 ) np.testing.assert_almost_equal( r.q_m, 4.7569, 4 ) roq = bet.Isotherm2RoquerolBET(Qads, Prel) np.testing.assert_almost_equal( roq[0], 4.3559, 4 ) np.testing.assert_almost_equal( roq[6], 4.62074, 4 )
from micromeritics import tplot, bet, thickness, util, plots from micromeritics import isotherm_examples as ex # Setup the raw data for the calculation. # using example isotherm data from Silica Alumina analyzed with N2. s = ex.silica_alumina() # Compute the BET surface area for this sample # using the range 0.05 to 0.30, and the Cross-sectional area # for Nitrogen 0.162 BET_calc = bet.bet(s.Prel, s.Qads, Pmin = 0.05, Pmax = 0.3 , csa = 0.162) # Do the tplot calculation. TP_calc = tplot.tplot(s.Prel, s.Qads, thickness.HarkinsJura(), tmin = 3.0, tmax = 5.0, dcf = 0.0015468, sacf = 1.0, sa = BET_calc.sa ) plots.plotTPlot( TP_calc ) plots.show() # Show the results of the tplot calculation. print("Micropore Volume: %.4f cm^3/g" % TP_calc.mv) print("Micropore Area: %.4f m^2/g" % TP_calc.ma) print("External surface area: %.4f" % TP_calc.ext_sa) print("Total surface area (BET): %.4f" % TP_calc.tot_sa)
from micromeritics import tplot, bet, thickness, util, plots from micromeritics import isotherm_examples as ex # Setup the raw data for the calculation. # using example isotherm data from Silica Alumina analyzed with N2. s = ex.silica_alumina() # Compute the BET surface area for this sample # using the range 0.05 to 0.30, and the Cross-sectional area # for Nitrogen 0.162 BET_calc = bet.bet(s.Prel, s.Qads, Pmin=0.05, Pmax=0.3, csa=0.162) # Do the tplot calculation. TP_calc = tplot.tplot(s.Prel, s.Qads, thickness.HarkinsJura(), tmin=3.0, tmax=5.0, dcf=0.0015468, sacf=1.0, sa=BET_calc.sa) plots.plotTPlot(TP_calc) plots.show() # Show the results of the tplot calculation. print("Micropore Volume: %.4f cm^3/g" % TP_calc.mv) print("Micropore Area: %.4f m^2/g" % TP_calc.ma) print("External surface area: %.4f" % TP_calc.ext_sa) print("Total surface area (BET): %.4f" % TP_calc.tot_sa)