Isochores

In [1]:
%config InlineBackend.close_figures=False
%matplotlib inline
from matplotlib import interactive
interactive(False)
In [2]:
from sur import *
setup_database()
In [3]:
m = Mixture()
m.add_many('methane propane n-pentane n-decane n-hexadecane',
           '0.822  0.088  0.050  0.020  0.020')

s = EosSetup.objects.create(eos='RKPR', kij_mode=EosSetup.T_DEP, lij_mode='constants')


env = m.get_envelope(setup=s)
In [4]:
fig = env.plot()
fig
Out[4]:
../_images/examples_isochore_4_0.png
In [15]:
help(m.get_isochore)
Help on method get_isochore in module sur.models:

get_isochore(self, setup, v, ts, ps, t_sup, t_step=5.0, t_inf=270.0) method of sur.models.Mixture instance
    Get the isochore (isoV) for this mixture, calculated using
    the setup EOS with its selected interaction parameters
    mode.

In [5]:
isochore = m.get_isochore(setup=s, v=10., ts=467.01, ps=3.86, t_sup=465.0, t_step=5.0, t_inf=270.0)

You can get the raw input and output

In [6]:
print(isochore.input_txt)
5               NC
5       nplus
isoV            Spec    v(k), ts and ps
0.822  0.088  0.05  0.02  0.02                  z1,z2...zNC
10.0   467.01    3.86         v(L/mol)+Ts+Ps
465.0  5.0  270.0         T(K)+dT+Tinf
3                               NMODEL (1:SRK / 2:PR / 3:RKPR)
0  1                    ncomb, nTdep
METHANE(1)
190.564  45.99 0.0115478  0.116530154855 1.16          tc, pc, ohm, vc, zrat
2.30376807604   0.0304337956072   0.5   1.54083758839           ac, b, delta1, k
PROPANE(2)
369.83  42.48 0.152291  0.233012170918 1.16          tc, pc, ohm, vc, zrat
9.80216972295   0.0598748909487   1.663687   1.9574557212               ac, b, delta1, k
0.013831          k0
190.564       tstar
-0.047134               lij
n-PENTANE(3)
469.7  33.7 0.251506  0.366506659349 1.16          tc, pc, ohm, vc, zrat
20.2236971345   0.0936309815449   1.957315   2.28798764446              ac, b, delta1, k
0.030221   0.0          k0
190.564   369.83       tstar
-0.084739   -0.010835           lij
n-DECANE(4)
617.7  21.1 0.492328  0.756468369911 1.16          tc, pc, ohm, vc, zrat
56.6610724692   0.192140038284   2.239538   3.11337933794               ac, b, delta1, k
0.068534   0.0   0.0          k0
190.564   369.83   469.7       tstar
-0.145519   -0.032481   -0.02353                lij
n-HEXADECANE(5)
723.0  14.0 0.717404  1.34252502769 1.16          tc, pc, ohm, vc, zrat
116.426356444   0.341676477137   2.14291   3.90352446586                ac, b, delta1, k
0.095928   0.0   0.0   0.0          k0
190.564   369.83   469.7   617.7       tstar
-0.121142   -0.023269   -0.012501   0.049878            lij


In [7]:
print(isochore.output_txt)
  The plus fraction from component            5  is   2.000000000000000E-002
    T(K)   rho(mol/L)   P(bar)    v(L/mol)     beta       betav    xplus   yplus
    iter
  467.01  0.1000E+00  0.3860E+01  0.1000E+02  0.1000E+01  0.1000E+01
  465.00  0.1000E+00  0.3845E+01  0.1000E+02  0.9984E+00  0.9999E+00  0.898332  0.018611   6
  460.00  0.1000E+00  0.3792E+01  0.1000E+02  0.9950E+00  0.9998E+00  0.890882  0.015582   7
  455.00  0.1000E+00  0.3740E+01  0.1000E+02  0.9919E+00  0.9997E+00  0.882580  0.012958   7
  450.00  0.1000E+00  0.3689E+01  0.1000E+02  0.9892E+00  0.9996E+00  0.873347  0.010699   7
  445.00  0.1000E+00  0.3640E+01  0.1000E+02  0.9869E+00  0.9995E+00  0.863099  0.008769   7
  440.00  0.1000E+00  0.3591E+01  0.1000E+02  0.9848E+00  0.9994E+00  0.851757  0.007130   7
  435.00  0.1000E+00  0.3544E+01  0.1000E+02  0.9829E+00  0.9994E+00  0.839247  0.005750   8
  430.00  0.1000E+00  0.3498E+01  0.1000E+02  0.9812E+00  0.9993E+00  0.825509  0.004596   8
  425.00  0.1000E+00  0.3451E+01  0.1000E+02  0.9797E+00  0.9993E+00  0.810500  0.003639   8
  420.00  0.1000E+00  0.3406E+01  0.1000E+02  0.9783E+00  0.9992E+00  0.794204  0.002854   8
  415.00  0.1000E+00  0.3361E+01  0.1000E+02  0.9770E+00  0.9992E+00  0.776641  0.002215   9
  410.00  0.1000E+00  0.3316E+01  0.1000E+02  0.9758E+00  0.9992E+00  0.757877  0.001701   9
  405.00  0.1000E+00  0.3271E+01  0.1000E+02  0.9746E+00  0.9991E+00  0.738030  0.001291   9
  400.00  0.1000E+00  0.3227E+01  0.1000E+02  0.9734E+00  0.9991E+00  0.717280  0.000969   9
  395.00  0.1000E+00  0.3182E+01  0.1000E+02  0.9723E+00  0.9991E+00  0.695871  0.000719   9
  390.00  0.1000E+00  0.3138E+01  0.1000E+02  0.9711E+00  0.9991E+00  0.674107  0.000527   9
  385.00  0.1000E+00  0.3094E+01  0.1000E+02  0.9699E+00  0.9990E+00  0.652340  0.000382   9
  380.00  0.1000E+00  0.3050E+01  0.1000E+02  0.9687E+00  0.9990E+00  0.630950  0.000273   8
  375.00  0.1000E+00  0.3006E+01  0.1000E+02  0.9675E+00  0.9990E+00  0.610313  0.000193   8
  370.00  0.1000E+00  0.2962E+01  0.1000E+02  0.9664E+00  0.9990E+00  0.590768  0.000136   8
  365.00  0.1000E+00  0.2918E+01  0.1000E+02  0.9652E+00  0.9990E+00  0.572588  0.000094   7
  360.00  0.1000E+00  0.2874E+01  0.1000E+02  0.9641E+00  0.9989E+00  0.555955  0.000065   7
  355.00  0.1000E+00  0.2831E+01  0.1000E+02  0.9631E+00  0.9989E+00  0.540952  0.000044   7
  350.00  0.1000E+00  0.2788E+01  0.1000E+02  0.9621E+00  0.9989E+00  0.527568  0.000030   6
  345.00  0.1000E+00  0.2745E+01  0.1000E+02  0.9613E+00  0.9989E+00  0.515708  0.000020   6
  340.00  0.1000E+00  0.2703E+01  0.1000E+02  0.9604E+00  0.9989E+00  0.505214  0.000013   6
  335.00  0.1000E+00  0.2660E+01  0.1000E+02  0.9597E+00  0.9989E+00  0.495883  0.000008   6
  330.00  0.1000E+00  0.2618E+01  0.1000E+02  0.9590E+00  0.9989E+00  0.487479  0.000005   6
  325.00  0.1000E+00  0.2576E+01  0.1000E+02  0.9583E+00  0.9988E+00  0.479748  0.000003   6
  320.00  0.1000E+00  0.2534E+01  0.1000E+02  0.9577E+00  0.9988E+00  0.472422  0.000002   6
  315.00  0.1000E+00  0.2493E+01  0.1000E+02  0.9570E+00  0.9988E+00  0.465218  0.000001   7
  310.00  0.1000E+00  0.2451E+01  0.1000E+02  0.9563E+00  0.9988E+00  0.457840  0.000001   7
  305.00  0.1000E+00  0.2409E+01  0.1000E+02  0.9556E+00  0.9988E+00  0.449965  0.000000   7
  300.00  0.1000E+00  0.2366E+01  0.1000E+02  0.9547E+00  0.9988E+00  0.441244  0.000000   7
  295.00  0.1000E+00  0.2324E+01  0.1000E+02  0.9536E+00  0.9988E+00  0.431283  0.000000   8
  290.00  0.1000E+00  0.2281E+01  0.1000E+02  0.9523E+00  0.9988E+00  0.419647  0.000000   8
  285.00  0.1000E+00  0.2237E+01  0.1000E+02  0.9507E+00  0.9988E+00  0.405877  0.000000   8
  280.00  0.1000E+00  0.2193E+01  0.1000E+02  0.9487E+00  0.9987E+00  0.389552  0.000000   8
  275.00  0.1000E+00  0.2147E+01  0.1000E+02  0.9460E+00  0.9987E+00  0.370439  0.000000   9
  270.00  0.1000E+00  0.2100E+01  0.1000E+02  0.9427E+00  0.9987E+00  0.348747  0.000000   9
  Monophasic Region:
    T(K)   rho(mol/L)   P(bar)    v(L/mol)
  467.01  0.1000E+00  0.3860E+01  0.1000E+02
  472.01  0.1000E+00  0.3910E+01  0.1000E+02
  477.01  0.1000E+00  0.3952E+01  0.1000E+02
  482.01  0.1000E+00  0.3994E+01  0.1000E+02
  487.01  0.1000E+00  0.4036E+01  0.1000E+02
  492.01  0.1000E+00  0.4078E+01  0.1000E+02
  497.01  0.1000E+00  0.4120E+01  0.1000E+02
  502.01  0.1000E+00  0.4162E+01  0.1000E+02
  507.01  0.1000E+00  0.4204E+01  0.1000E+02
  512.01  0.1000E+00  0.4246E+01  0.1000E+02
  517.01  0.1000E+00  0.4288E+01  0.1000E+02
  522.01  0.1000E+00  0.4330E+01  0.1000E+02
  527.01  0.1000E+00  0.4372E+01  0.1000E+02
  532.01  0.1000E+00  0.4414E+01  0.1000E+02
  537.01  0.1000E+00  0.4456E+01  0.1000E+02
  542.01  0.1000E+00  0.4498E+01  0.1000E+02
  547.01  0.1000E+00  0.4540E+01  0.1000E+02
  552.01  0.1000E+00  0.4582E+01  0.1000E+02
  557.01  0.1000E+00  0.4624E+01  0.1000E+02
  562.01  0.1000E+00  0.4666E+01  0.1000E+02
  567.01  0.1000E+00  0.4708E+01  0.1000E+02
  572.01  0.1000E+00  0.4750E+01  0.1000E+02
  577.01  0.1000E+00  0.4792E+01  0.1000E+02
  582.01  0.1000E+00  0.4834E+01  0.1000E+02
  587.01  0.1000E+00  0.4876E+01  0.1000E+02
  592.01  0.1000E+00  0.4918E+01  0.1000E+02
  597.01  0.1000E+00  0.4960E+01  0.1000E+02
  602.01  0.1000E+00  0.5002E+01  0.1000E+02
  607.01  0.1000E+00  0.5044E+01  0.1000E+02
  612.01  0.1000E+00  0.5086E+01  0.1000E+02
  617.01  0.1000E+00  0.5128E+01  0.1000E+02
  622.01  0.1000E+00  0.5170E+01  0.1000E+02
  627.01  0.1000E+00  0.5212E+01  0.1000E+02
  632.01  0.1000E+00  0.5254E+01  0.1000E+02
  637.01  0.1000E+00  0.5296E+01  0.1000E+02
  642.01  0.1000E+00  0.5338E+01  0.1000E+02
  647.01  0.1000E+00  0.5380E+01  0.1000E+02
  652.01  0.1000E+00  0.5422E+01  0.1000E+02
  657.01  0.1000E+00  0.5464E+01  0.1000E+02
  662.01  0.1000E+00  0.5506E+01  0.1000E+02
  667.01  0.1000E+00  0.5548E+01  0.1000E+02
  672.01  0.1000E+00  0.5590E+01  0.1000E+02
  677.01  0.1000E+00  0.5632E+01  0.1000E+02
  682.01  0.1000E+00  0.5674E+01  0.1000E+02
  687.01  0.1000E+00  0.5716E+01  0.1000E+02
  692.01  0.1000E+00  0.5758E+01  0.1000E+02
  697.01  0.1000E+00  0.5800E+01  0.1000E+02
  702.01  0.1000E+00  0.5842E+01  0.1000E+02
  707.01  0.1000E+00  0.5884E+01  0.1000E+02
  712.01  0.1000E+00  0.5926E+01  0.1000E+02
  717.01  0.1000E+00  0.5967E+01  0.1000E+02
  722.01  0.1000E+00  0.6009E+01  0.1000E+02
  727.01  0.1000E+00  0.6051E+01  0.1000E+02
  732.01  0.1000E+00  0.6093E+01  0.1000E+02
  737.01  0.1000E+00  0.6135E+01  0.1000E+02
  742.01  0.1000E+00  0.6177E+01  0.1000E+02
  747.01  0.1000E+00  0.6219E+01  0.1000E+02
  752.01  0.1000E+00  0.6261E+01  0.1000E+02
  757.01  0.1000E+00  0.6303E+01  0.1000E+02
  762.01  0.1000E+00  0.6345E+01  0.1000E+02
  767.01  0.1000E+00  0.6387E+01  0.1000E+02
  772.01  0.1000E+00  0.6429E+01  0.1000E+02
  777.01  0.1000E+00  0.6471E+01  0.1000E+02
  782.01  0.1000E+00  0.6513E+01  0.1000E+02
  787.01  0.1000E+00  0.6554E+01  0.1000E+02
  792.01  0.1000E+00  0.6596E+01  0.1000E+02
  797.01  0.1000E+00  0.6638E+01  0.1000E+02
  802.01  0.1000E+00  0.6680E+01  0.1000E+02
  807.01  0.1000E+00  0.6722E+01  0.1000E+02
  812.01  0.1000E+00  0.6764E+01  0.1000E+02
  817.01  0.1000E+00  0.6806E+01  0.1000E+02
  822.01  0.1000E+00  0.6848E+01  0.1000E+02
  827.01  0.1000E+00  0.6890E+01  0.1000E+02
  832.01  0.1000E+00  0.6932E+01  0.1000E+02
  837.01  0.1000E+00  0.6974E+01  0.1000E+02
  842.01  0.1000E+00  0.7015E+01  0.1000E+02
  847.01  0.1000E+00  0.7057E+01  0.1000E+02
  852.01  0.1000E+00  0.7099E+01  0.1000E+02
  857.01  0.1000E+00  0.7141E+01  0.1000E+02
  862.01  0.1000E+00  0.7183E+01  0.1000E+02
  867.01  0.1000E+00  0.7225E+01  0.1000E+02
  872.01  0.1000E+00  0.7267E+01  0.1000E+02
  877.01  0.1000E+00  0.7309E+01  0.1000E+02
  882.01  0.1000E+00  0.7351E+01  0.1000E+02
  887.01  0.1000E+00  0.7392E+01  0.1000E+02
  892.01  0.1000E+00  0.7434E+01  0.1000E+02
  897.01  0.1000E+00  0.7476E+01  0.1000E+02
  902.01  0.1000E+00  0.7518E+01  0.1000E+02
  907.01  0.1000E+00  0.7560E+01  0.1000E+02
  912.01  0.1000E+00  0.7602E+01  0.1000E+02
  917.01  0.1000E+00  0.7644E+01  0.1000E+02
  922.01  0.1000E+00  0.7686E+01  0.1000E+02
  927.01  0.1000E+00  0.7728E+01  0.1000E+02
  932.01  0.1000E+00  0.7769E+01  0.1000E+02
  937.01  0.1000E+00  0.7811E+01  0.1000E+02
  942.01  0.1000E+00  0.7853E+01  0.1000E+02
  947.01  0.1000E+00  0.7895E+01  0.1000E+02
  952.01  0.1000E+00  0.7937E+01  0.1000E+02
  957.01  0.1000E+00  0.7979E+01  0.1000E+02
  962.01  0.1000E+00  0.8021E+01  0.1000E+02
  967.01  0.1000E+00  0.8063E+01  0.1000E+02
  972.01  0.1000E+00  0.8104E+01  0.1000E+02
  977.01  0.1000E+00  0.8146E+01  0.1000E+02
  982.01  0.1000E+00  0.8188E+01  0.1000E+02
  987.01  0.1000E+00  0.8230E+01  0.1000E+02
  992.01  0.1000E+00  0.8272E+01  0.1000E+02
  997.01  0.1000E+00  0.8314E+01  0.1000E+02
 1002.01  0.1000E+00  0.8356E+01  0.1000E+02

los vectores t y p son recortados en dos partes, como se generan

In [8]:
isochore.t
Out[8]:
array([ 467.01,  465.  ,  460.  ,  455.  ,  450.  ,  445.  ,  440.  ,
        435.  ,  430.  ,  425.  ,  420.  ,  415.  ,  410.  ,  405.  ,
        400.  ,  395.  ,  390.  ,  385.  ,  380.  ,  375.  ,  370.  ,
        365.  ,  360.  ,  355.  ,  350.  ,  345.  ,  340.  ,  335.  ,
        330.  ,  325.  ,  320.  ,  315.  ,  310.  ,  305.  ,  300.  ,
        295.  ,  290.  ,  285.  ,  280.  ,  275.  ,  270.  ])
In [9]:
isochore.p
Out[9]:
array([ 3.86 ,  3.845,  3.792,  3.74 ,  3.689,  3.64 ,  3.591,  3.544,
        3.498,  3.451,  3.406,  3.361,  3.316,  3.271,  3.227,  3.182,
        3.138,  3.094,  3.05 ,  3.006,  2.962,  2.918,  2.874,  2.831,
        2.788,  2.745,  2.703,  2.66 ,  2.618,  2.576,  2.534,  2.493,
        2.451,  2.409,  2.366,  2.324,  2.281,  2.237,  2.193,  2.147,  2.1  ])
In [10]:
isochore.t_monophasic
Out[10]:
array([  467.01,   472.01,   477.01,   482.01,   487.01,   492.01,
         497.01,   502.01,   507.01,   512.01,   517.01,   522.01,
         527.01,   532.01,   537.01,   542.01,   547.01,   552.01,
         557.01,   562.01,   567.01,   572.01,   577.01,   582.01,
         587.01,   592.01,   597.01,   602.01,   607.01,   612.01,
         617.01,   622.01,   627.01,   632.01,   637.01,   642.01,
         647.01,   652.01,   657.01,   662.01,   667.01,   672.01,
         677.01,   682.01,   687.01,   692.01,   697.01,   702.01,
         707.01,   712.01,   717.01,   722.01,   727.01,   732.01,
         737.01,   742.01,   747.01,   752.01,   757.01,   762.01,
         767.01,   772.01,   777.01,   782.01,   787.01,   792.01,
         797.01,   802.01,   807.01,   812.01,   817.01,   822.01,
         827.01,   832.01,   837.01,   842.01,   847.01,   852.01,
         857.01,   862.01,   867.01,   872.01,   877.01,   882.01,
         887.01,   892.01,   897.01,   902.01,   907.01,   912.01,
         917.01,   922.01,   927.01,   932.01,   937.01,   942.01,
         947.01,   952.01,   957.01,   962.01,   967.01,   972.01,
         977.01,   982.01,   987.01,   992.01,   997.01,  1002.01])
In [11]:
isochore.p_monophasic
Out[11]:
array([ 3.86 ,  3.91 ,  3.952,  3.994,  4.036,  4.078,  4.12 ,  4.162,
        4.204,  4.246,  4.288,  4.33 ,  4.372,  4.414,  4.456,  4.498,
        4.54 ,  4.582,  4.624,  4.666,  4.708,  4.75 ,  4.792,  4.834,
        4.876,  4.918,  4.96 ,  5.002,  5.044,  5.086,  5.128,  5.17 ,
        5.212,  5.254,  5.296,  5.338,  5.38 ,  5.422,  5.464,  5.506,
        5.548,  5.59 ,  5.632,  5.674,  5.716,  5.758,  5.8  ,  5.842,
        5.884,  5.926,  5.967,  6.009,  6.051,  6.093,  6.135,  6.177,
        6.219,  6.261,  6.303,  6.345,  6.387,  6.429,  6.471,  6.513,
        6.554,  6.596,  6.638,  6.68 ,  6.722,  6.764,  6.806,  6.848,
        6.89 ,  6.932,  6.974,  7.015,  7.057,  7.099,  7.141,  7.183,
        7.225,  7.267,  7.309,  7.351,  7.392,  7.434,  7.476,  7.518,
        7.56 ,  7.602,  7.644,  7.686,  7.728,  7.769,  7.811,  7.853,
        7.895,  7.937,  7.979,  8.021,  8.063,  8.104,  8.146,  8.188,
        8.23 ,  8.272,  8.314,  8.356])
In [12]:
isochore.rho, isochore.rho_monophasic,
Out[12]:
(array([ 0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,
         0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,
         0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,
         0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1]),
 array([ 0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,
         0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,
         0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,
         0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,
         0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,
         0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,
         0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,
         0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,
         0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,
         0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1]))
In [13]:
isochore.plot()
Out[13]:
../_images/examples_isochore_16_0.png

También se le puede pasar una figura ya generada, para que superponga el nuevo plot

In [14]:
isochore.plot(fig)
Out[14]:
../_images/examples_isochore_18_0.png