pyEQL 1.1.5__py3-none-any.whl → 1.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3366,92 +3366,6 @@
3366
3366
  }
3367
3367
  }
3368
3368
  },
3369
- {
3370
- "formula": "CO32[-1]",
3371
- "charge": -1,
3372
- "molecular_weight": "523.9915 g/mol",
3373
- "elements": [
3374
- "C",
3375
- "O"
3376
- ],
3377
- "chemsys": "C-O",
3378
- "pmg_ion": {
3379
- "C": 1,
3380
- "O": 32,
3381
- "charge": -1,
3382
- "@module": "pymatgen.core.ion",
3383
- "@class": "Ion",
3384
- "@version": null
3385
- },
3386
- "formula_html": "CO<sub>32</sub><sup>-1</sup>",
3387
- "formula_latex": "CO$_{32}$$^{-1}$",
3388
- "formula_hill": "C O32",
3389
- "formula_pretty": "CO32^-1",
3390
- "oxi_state_guesses": {
3391
- "C": 4,
3392
- "O": -0.15625
3393
- },
3394
- "n_atoms": 33,
3395
- "n_elements": 2,
3396
- "size": {
3397
- "radius_ionic": {
3398
- "value": "None",
3399
- "reference": "pymatgen",
3400
- "data_type": "experimental"
3401
- },
3402
- "radius_hydrated": null,
3403
- "radius_vdw": {
3404
- "value": "1.7 Å",
3405
- "reference": "pymatgen",
3406
- "data_type": "experimental"
3407
- },
3408
- "molar_volume": null
3409
- },
3410
- "thermo": {
3411
- "ΔG_hydration": null,
3412
- "ΔG_formation": null
3413
- },
3414
- "transport": {
3415
- "diffusion_coefficient": null
3416
- },
3417
- "model_parameters": {
3418
- "activity_pitzer": {
3419
- "Beta0": null,
3420
- "Beta1": null,
3421
- "Beta2": null,
3422
- "Cphi": null,
3423
- "Max_C": null
3424
- },
3425
- "molar_volume_pitzer": {
3426
- "Beta0": null,
3427
- "Beta1": null,
3428
- "Beta2": null,
3429
- "Cphi": null,
3430
- "V_o": null,
3431
- "Max_C": null
3432
- },
3433
- "viscosity_jones_dole": {
3434
- "B": null
3435
- },
3436
- "diffusion_temp_smolyakov": {
3437
- "a1": {
3438
- "value": "1.12 dimensionless",
3439
- "reference": "https://doi.org/10.1016/j.cemconres.2017.08.030",
3440
- "data_type": "fitted"
3441
- },
3442
- "a2": {
3443
- "value": "2.84 dimensionless",
3444
- "reference": "https://doi.org/10.1016/j.cemconres.2017.08.030",
3445
- "data_type": "fitted"
3446
- },
3447
- "d": {
3448
- "value": "0 dimensionless",
3449
- "reference": "https://doi.org/10.1016/j.cemconres.2017.08.030",
3450
- "data_type": "fitted"
3451
- }
3452
- }
3453
- }
3454
- },
3455
3369
  {
3456
3370
  "formula": "CO3[-2]",
3457
3371
  "charge": -2,
@@ -3545,14 +3459,26 @@
3545
3459
  }
3546
3460
  },
3547
3461
  "diffusion_temp_smolyakov": {
3548
- "a1": null,
3549
- "a2": null,
3550
- "d": null
3462
+ "a1": {
3463
+ "value": "1.12 dimensionless",
3464
+ "reference": "https://doi.org/10.1016/j.cemconres.2017.08.030",
3465
+ "data_type": "fitted"
3466
+ },
3467
+ "a2": {
3468
+ "value": "2.84 dimensionless",
3469
+ "reference": "https://doi.org/10.1016/j.cemconres.2017.08.030",
3470
+ "data_type": "fitted"
3471
+ },
3472
+ "d": {
3473
+ "value": "0 dimensionless",
3474
+ "reference": "https://doi.org/10.1016/j.cemconres.2017.08.030",
3475
+ "data_type": "fitted"
3476
+ }
3551
3477
  }
3552
3478
  }
3553
3479
  },
3554
3480
  {
3555
- "formula": "CSN[-1]",
3481
+ "formula": "SCN[-1]",
3556
3482
  "charge": -1,
3557
3483
  "molecular_weight": "58.0824 g/mol",
3558
3484
  "elements": [
@@ -3570,10 +3496,10 @@
3570
3496
  "@class": "Ion",
3571
3497
  "@version": null
3572
3498
  },
3573
- "formula_html": "CSN<sup>-1</sup>",
3574
- "formula_latex": "CSN$^{-1}$",
3499
+ "formula_html": "SCN<sup>-1</sup>",
3500
+ "formula_latex": "SCN$^{-1}$",
3575
3501
  "formula_hill": "C N S",
3576
- "formula_pretty": "CSN^-1",
3502
+ "formula_pretty": "SCN^-1",
3577
3503
  "oxi_state_guesses": {
3578
3504
  "S": -2,
3579
3505
  "C": 4,
@@ -4364,9 +4290,21 @@
4364
4290
  }
4365
4291
  },
4366
4292
  "diffusion_temp_smolyakov": {
4367
- "a1": null,
4368
- "a2": null,
4369
- "d": null
4293
+ "a1": {
4294
+ "value": "3.4 dimensionless",
4295
+ "reference": "https://doi.org/10.1016/j.cemconres.2017.08.030",
4296
+ "data_type": "fitted"
4297
+ },
4298
+ "a2": {
4299
+ "value": "24.6 dimensionless",
4300
+ "reference": "https://doi.org/10.1016/j.cemconres.2017.08.030",
4301
+ "data_type": "fitted"
4302
+ },
4303
+ "d": {
4304
+ "value": "97 dimensionless",
4305
+ "reference": "https://doi.org/10.1016/j.cemconres.2017.08.030",
4306
+ "data_type": "fitted"
4307
+ }
4370
4308
  },
4371
4309
  "dielectric_zuber": {
4372
4310
  "value": "-0.53 dimensionless",
@@ -11394,7 +11332,7 @@
11394
11332
  }
11395
11333
  },
11396
11334
  {
11397
- "formula": "H4N2O3(aq)",
11335
+ "formula": "NH4NO3(aq)",
11398
11336
  "charge": 0,
11399
11337
  "molecular_weight": "80.04336 g/mol",
11400
11338
  "elements": [
@@ -11413,9 +11351,9 @@
11413
11351
  "@version": null
11414
11352
  },
11415
11353
  "formula_html": "H<sub>4</sub>N<sub>2</sub>O<sub>3</sub>",
11416
- "formula_latex": "H$_{4}$N$_{2}$O$_{3}$",
11354
+ "formula_latex": "NH$_{4}$NO$_{3}$",
11417
11355
  "formula_hill": "H4 N2 O3",
11418
- "formula_pretty": "H4N2O3",
11356
+ "formula_pretty": "NH4NO3",
11419
11357
  "oxi_state_guesses": {
11420
11358
  "N": 1,
11421
11359
  "H": 1,
@@ -11515,7 +11453,7 @@
11515
11453
  }
11516
11454
  },
11517
11455
  {
11518
- "formula": "H4NCl(aq)",
11456
+ "formula": "NH4Cl(aq)",
11519
11457
  "charge": 0,
11520
11458
  "molecular_weight": "53.491460000000004 g/mol",
11521
11459
  "elements": [
@@ -11533,10 +11471,10 @@
11533
11471
  "@class": "Ion",
11534
11472
  "@version": null
11535
11473
  },
11536
- "formula_html": "H<sub>4</sub>NCl",
11537
- "formula_latex": "H$_{4}$NCl",
11474
+ "formula_html": "NH<sub>4</sub>Cl",
11475
+ "formula_latex": "NH$_{4}$Cl",
11538
11476
  "formula_hill": "Cl H4 N",
11539
- "formula_pretty": "H4NCl",
11477
+ "formula_pretty": "NH4Cl",
11540
11478
  "oxi_state_guesses": {
11541
11479
  "N": -3,
11542
11480
  "H": 1,
@@ -11636,7 +11574,7 @@
11636
11574
  }
11637
11575
  },
11638
11576
  {
11639
- "formula": "H4NClO4(aq)",
11577
+ "formula": "NH4ClO4(aq)",
11640
11578
  "charge": 0,
11641
11579
  "molecular_weight": "117.48906 g/mol",
11642
11580
  "elements": [
@@ -11656,14 +11594,14 @@
11656
11594
  "@class": "Ion",
11657
11595
  "@version": null
11658
11596
  },
11659
- "formula_html": "H<sub>4</sub>NClO<sub>4</sub>",
11660
- "formula_latex": "H$_{4}$NClO$_{4}$",
11597
+ "formula_html": "NH<sub>4</sub>ClO<sub>4</sub>",
11598
+ "formula_latex": "NH$_{4}$ClO$_{4}$",
11661
11599
  "formula_hill": "Cl H4 N O4",
11662
- "formula_pretty": "H4NClO4",
11600
+ "formula_pretty": "NH4ClO4",
11663
11601
  "oxi_state_guesses": {
11664
11602
  "N": 5,
11665
11603
  "H": 1,
11666
- "Cl": -1,
11604
+ "Cl": 7,
11667
11605
  "O": -2
11668
11606
  },
11669
11607
  "n_atoms": 10,
@@ -11760,7 +11698,7 @@
11760
11698
  }
11761
11699
  },
11762
11700
  {
11763
- "formula": "H4N[+1]",
11701
+ "formula": "NH4[+1]",
11764
11702
  "charge": 1,
11765
11703
  "molecular_weight": "18.03846 g/mol",
11766
11704
  "elements": [
@@ -11779,7 +11717,7 @@
11779
11717
  "formula_html": "H<sub>4</sub>N<sup>+1</sup>",
11780
11718
  "formula_latex": "H$_{4}$N$^{+1}$",
11781
11719
  "formula_hill": "H4 N",
11782
- "formula_pretty": "H4N^+1",
11720
+ "formula_pretty": "NH4^+1",
11783
11721
  "oxi_state_guesses": {
11784
11722
  "N": -3,
11785
11723
  "H": 1
@@ -12134,7 +12072,7 @@
12134
12072
  }
12135
12073
  },
12136
12074
  {
12137
- "formula": "H8S(NO2)2(aq)",
12075
+ "formula": "(NH4)2SO4(aq)",
12138
12076
  "charge": 0,
12139
12077
  "molecular_weight": "132.13952 g/mol",
12140
12078
  "elements": [
@@ -12157,7 +12095,7 @@
12157
12095
  "formula_html": "H<sub>8</sub>S(NO<sub>2</sub>)<sub>2</sub>",
12158
12096
  "formula_latex": "H$_{8}$S(NO$_{2}$)$_{2}$",
12159
12097
  "formula_hill": "H8 N2 O4 S",
12160
- "formula_pretty": "H8S(NO2)2",
12098
+ "formula_pretty": "(NH4)2SO4",
12161
12099
  "oxi_state_guesses": {
12162
12100
  "N": 1,
12163
12101
  "H": 1,
@@ -14744,7 +14682,7 @@
14744
14682
  }
14745
14683
  },
14746
14684
  {
14747
- "formula": "K2PHO4(aq)",
14685
+ "formula": "K2HPO4(aq)",
14748
14686
  "charge": 0,
14749
14687
  "molecular_weight": "174.175902 g/mol",
14750
14688
  "elements": [
@@ -14764,10 +14702,10 @@
14764
14702
  "@class": "Ion",
14765
14703
  "@version": null
14766
14704
  },
14767
- "formula_html": "K<sub>2</sub>PHO<sub>4</sub>",
14768
- "formula_latex": "K$_{2}$PHO$_{4}$",
14705
+ "formula_html": "K<sub>2</sub>HPO<sub>4</sub>",
14706
+ "formula_latex": "K$_{2}$HPO$_{4}$",
14769
14707
  "formula_hill": "H K2 O4 P",
14770
- "formula_pretty": "K2PHO4",
14708
+ "formula_pretty": "K2HPO4",
14771
14709
  "oxi_state_guesses": {
14772
14710
  "K": 1,
14773
14711
  "H": 1,
@@ -15658,7 +15596,7 @@
15658
15596
  }
15659
15597
  },
15660
15598
  {
15661
- "formula": "KCSN(aq)",
15599
+ "formula": "KSCN(aq)",
15662
15600
  "charge": 0,
15663
15601
  "molecular_weight": "97.18069999999999 g/mol",
15664
15602
  "elements": [
@@ -15678,10 +15616,10 @@
15678
15616
  "@class": "Ion",
15679
15617
  "@version": null
15680
15618
  },
15681
- "formula_html": "KCSN",
15682
- "formula_latex": "KCSN",
15619
+ "formula_html": "KSCN",
15620
+ "formula_latex": "KSCN",
15683
15621
  "formula_hill": "C K N S",
15684
- "formula_pretty": "KCSN",
15622
+ "formula_pretty": "KSCN",
15685
15623
  "oxi_state_guesses": {
15686
15624
  "K": 1,
15687
15625
  "S": -2,
@@ -17042,7 +16980,7 @@
17042
16980
  }
17043
16981
  },
17044
16982
  {
17045
- "formula": "KP(HO2)2(aq)",
16983
+ "formula": "KH2PO4(aq)",
17046
16984
  "charge": 0,
17047
16985
  "molecular_weight": "136.085542 g/mol",
17048
16986
  "elements": [
@@ -17065,7 +17003,7 @@
17065
17003
  "formula_html": "KP(HO<sub>2</sub>)<sub>2</sub>",
17066
17004
  "formula_latex": "KP(HO$_{2}$)$_{2}$",
17067
17005
  "formula_hill": "H2 K O4 P",
17068
- "formula_pretty": "KP(HO2)2",
17006
+ "formula_pretty": "KH2PO4",
17069
17007
  "oxi_state_guesses": {
17070
17008
  "K": 1,
17071
17009
  "H": 1,
@@ -19849,9 +19787,21 @@
19849
19787
  }
19850
19788
  },
19851
19789
  "diffusion_temp_smolyakov": {
19852
- "a1": null,
19853
- "a2": null,
19854
- "d": null
19790
+ "a1": {
19791
+ "value": "2.4 dimensionless",
19792
+ "reference": "https://doi.org/10.1016/j.cemconres.2017.08.030",
19793
+ "data_type": "fitted"
19794
+ },
19795
+ "a2": {
19796
+ "value": "13.7 dimensionless",
19797
+ "reference": "https://doi.org/10.1016/j.cemconres.2017.08.030",
19798
+ "data_type": "fitted"
19799
+ },
19800
+ "d": {
19801
+ "value": "111 dimensionless",
19802
+ "reference": "https://doi.org/10.1016/j.cemconres.2017.08.030",
19803
+ "data_type": "fitted"
19804
+ }
19855
19805
  },
19856
19806
  "dielectric_zuber": {
19857
19807
  "value": "6.69 dimensionless",
@@ -20831,7 +20781,7 @@
20831
20781
  }
20832
20782
  },
20833
20783
  {
20834
- "formula": "N[-0.33333333]",
20784
+ "formula": "N3[-1]",
20835
20785
  "charge": -1,
20836
20786
  "molecular_weight": "14.0067 g/mol",
20837
20787
  "elements": [
@@ -20846,9 +20796,9 @@
20846
20796
  "@version": null
20847
20797
  },
20848
20798
  "formula_html": "N<sup>-1</sup>",
20849
- "formula_latex": "N$^{-1}$",
20799
+ "formula_latex": "N$_3^{-1}$",
20850
20800
  "formula_hill": "N3",
20851
- "formula_pretty": "N^-1",
20801
+ "formula_pretty": "N_3^-1",
20852
20802
  "oxi_state_guesses": {
20853
20803
  "N": -0.3333333333333333
20854
20804
  },
@@ -21031,7 +20981,7 @@
21031
20981
  }
21032
20982
  },
21033
20983
  {
21034
- "formula": "Na2PHO4(aq)",
20984
+ "formula": "Na2HPO4(aq)",
21035
20985
  "charge": 0,
21036
20986
  "molecular_weight": "141.95884056 g/mol",
21037
20987
  "elements": [
@@ -21051,10 +21001,10 @@
21051
21001
  "@class": "Ion",
21052
21002
  "@version": null
21053
21003
  },
21054
- "formula_html": "Na<sub>2</sub>PHO<sub>4</sub>",
21055
- "formula_latex": "Na$_{2}$PHO$_{4}$",
21004
+ "formula_html": "Na<sub>2</sub>HPO<sub>4</sub>",
21005
+ "formula_latex": "Na$_{2}$HPO$_{4}$",
21056
21006
  "formula_hill": "H Na2 O4 P",
21057
- "formula_pretty": "Na2PHO4",
21007
+ "formula_pretty": "Na2HPO4",
21058
21008
  "oxi_state_guesses": {
21059
21009
  "Na": 1,
21060
21010
  "H": 1,
@@ -21846,7 +21796,7 @@
21846
21796
  }
21847
21797
  },
21848
21798
  {
21849
- "formula": "NaCSN(aq)",
21799
+ "formula": "NaSCN(aq)",
21850
21800
  "charge": 0,
21851
21801
  "molecular_weight": "81.07216928 g/mol",
21852
21802
  "elements": [
@@ -21866,10 +21816,10 @@
21866
21816
  "@class": "Ion",
21867
21817
  "@version": null
21868
21818
  },
21869
- "formula_html": "NaCSN",
21870
- "formula_latex": "NaCSN",
21819
+ "formula_html": "NaSCN",
21820
+ "formula_latex": "NaSCN",
21871
21821
  "formula_hill": "C N Na S",
21872
- "formula_pretty": "NaCSN",
21822
+ "formula_pretty": "NaSCN",
21873
21823
  "oxi_state_guesses": {
21874
21824
  "Na": 1,
21875
21825
  "S": -2,
@@ -23499,7 +23449,7 @@
23499
23449
  }
23500
23450
  },
23501
23451
  {
23502
- "formula": "NaP(HO2)2(aq)",
23452
+ "formula": "NaH2PO4(aq)",
23503
23453
  "charge": 0,
23504
23454
  "molecular_weight": "119.97701128 g/mol",
23505
23455
  "elements": [
@@ -23522,7 +23472,7 @@
23522
23472
  "formula_html": "NaP(HO<sub>2</sub>)<sub>2</sub>",
23523
23473
  "formula_latex": "NaP(HO$_{2}$)$_{2}$",
23524
23474
  "formula_hill": "H2 Na O4 P",
23525
- "formula_pretty": "NaP(HO2)2",
23475
+ "formula_pretty": "NaH2PO4",
23526
23476
  "oxi_state_guesses": {
23527
23477
  "Na": 1,
23528
23478
  "H": 1,
@@ -25151,7 +25101,7 @@
25151
25101
  }
25152
25102
  },
25153
25103
  {
25154
- "formula": "P(HO2)2[-1]",
25104
+ "formula": "H2PO4[-1]",
25155
25105
  "charge": -1,
25156
25106
  "molecular_weight": "96.98724200000001 g/mol",
25157
25107
  "elements": [
@@ -25172,7 +25122,7 @@
25172
25122
  "formula_html": "P(HO<sub>2</sub>)<sub>2</sub><sup>-1</sup>",
25173
25123
  "formula_latex": "P(HO$_{2}$)$_{2}$$^{-1}$",
25174
25124
  "formula_hill": "H2 O4 P",
25175
- "formula_pretty": "P(HO2)2^-1",
25125
+ "formula_pretty": "H2PO4^-1",
25176
25126
  "oxi_state_guesses": {
25177
25127
  "H": 1,
25178
25128
  "P": 5,
@@ -25236,7 +25186,7 @@
25236
25186
  }
25237
25187
  },
25238
25188
  {
25239
- "formula": "P(HO2)2[-1]",
25189
+ "formula": "H2PO4[-1]",
25240
25190
  "charge": -1,
25241
25191
  "molecular_weight": "96.98724200000001 g/mol",
25242
25192
  "elements": [
@@ -25257,7 +25207,7 @@
25257
25207
  "formula_html": "P(HO<sub>2</sub>)<sub>2</sub><sup>-1</sup>",
25258
25208
  "formula_latex": "P(HO$_{2}$)$_{2}$$^{-1}$",
25259
25209
  "formula_hill": "H2 O4 P",
25260
- "formula_pretty": "P(HO2)2^-1",
25210
+ "formula_pretty": "H2PO4^-1",
25261
25211
  "oxi_state_guesses": {
25262
25212
  "H": 1,
25263
25213
  "P": 5,
@@ -25737,7 +25687,7 @@
25737
25687
  }
25738
25688
  },
25739
25689
  {
25740
- "formula": "PHO4[-2]",
25690
+ "formula": "HPO4[-2]",
25741
25691
  "charge": -2,
25742
25692
  "molecular_weight": "95.979302 g/mol",
25743
25693
  "elements": [
@@ -25755,10 +25705,10 @@
25755
25705
  "@class": "Ion",
25756
25706
  "@version": null
25757
25707
  },
25758
- "formula_html": "PHO<sub>4</sub><sup>-2</sup>",
25759
- "formula_latex": "PHO$_{4}$$^{-2}$",
25708
+ "formula_html": "HPO<sub>4</sub><sup>-2</sup>",
25709
+ "formula_latex": "HPO$_{4}$$^{-2}$",
25760
25710
  "formula_hill": "H O4 P",
25761
- "formula_pretty": "PHO4^-2",
25711
+ "formula_pretty": "HPO4^-2",
25762
25712
  "oxi_state_guesses": {
25763
25713
  "H": 1,
25764
25714
  "P": 5,
@@ -29250,9 +29200,9 @@
29250
29200
  }
29251
29201
  },
29252
29202
  {
29253
- "formula": "SO3[-1]",
29203
+ "formula": "S2O6[-2]",
29254
29204
  "charge": -2,
29255
- "molecular_weight": "80.0632 g/mol",
29205
+ "molecular_weight": "160.12 g/mol",
29256
29206
  "elements": [
29257
29207
  "S",
29258
29208
  "O"
@@ -29266,10 +29216,10 @@
29266
29216
  "@class": "Ion",
29267
29217
  "@version": null
29268
29218
  },
29269
- "formula_html": "SO<sub>3</sub><sup>-2</sup>",
29270
- "formula_latex": "SO$_{3}$$^{-2}$",
29219
+ "formula_html": "S<sub>2</sub>O<sub>6</sub><sup>-2</sup>",
29220
+ "formula_latex": "S$_{2}$O$_{6}$$^{-2}$",
29271
29221
  "formula_hill": "O6 S2",
29272
- "formula_pretty": "SO3^-2",
29222
+ "formula_pretty": "S2O6^-2",
29273
29223
  "oxi_state_guesses": {
29274
29224
  "S": 5,
29275
29225
  "O": -2
@@ -29419,95 +29369,9 @@
29419
29369
  }
29420
29370
  },
29421
29371
  {
29422
- "formula": "SO42[-1]",
29423
- "charge": -1,
29424
- "molecular_weight": "704.0398 g/mol",
29425
- "elements": [
29426
- "S",
29427
- "O"
29428
- ],
29429
- "chemsys": "O-S",
29430
- "pmg_ion": {
29431
- "S": 1,
29432
- "O": 42,
29433
- "charge": -1,
29434
- "@module": "pymatgen.core.ion",
29435
- "@class": "Ion",
29436
- "@version": null
29437
- },
29438
- "formula_html": "SO<sub>42</sub><sup>-1</sup>",
29439
- "formula_latex": "SO$_{42}$$^{-1}$",
29440
- "formula_hill": "O42 S",
29441
- "formula_pretty": "SO42^-1",
29442
- "oxi_state_guesses": {
29443
- "S": 6,
29444
- "O": -0.16666666666666666
29445
- },
29446
- "n_atoms": 43,
29447
- "n_elements": 2,
29448
- "size": {
29449
- "radius_ionic": {
29450
- "value": "None",
29451
- "reference": "pymatgen",
29452
- "data_type": "experimental"
29453
- },
29454
- "radius_hydrated": null,
29455
- "radius_vdw": {
29456
- "value": "1.8 Å",
29457
- "reference": "pymatgen",
29458
- "data_type": "experimental"
29459
- },
29460
- "molar_volume": null
29461
- },
29462
- "thermo": {
29463
- "ΔG_hydration": null,
29464
- "ΔG_formation": null
29465
- },
29466
- "transport": {
29467
- "diffusion_coefficient": null
29468
- },
29469
- "model_parameters": {
29470
- "activity_pitzer": {
29471
- "Beta0": null,
29472
- "Beta1": null,
29473
- "Beta2": null,
29474
- "Cphi": null,
29475
- "Max_C": null
29476
- },
29477
- "molar_volume_pitzer": {
29478
- "Beta0": null,
29479
- "Beta1": null,
29480
- "Beta2": null,
29481
- "Cphi": null,
29482
- "V_o": null,
29483
- "Max_C": null
29484
- },
29485
- "viscosity_jones_dole": {
29486
- "B": null
29487
- },
29488
- "diffusion_temp_smolyakov": {
29489
- "a1": {
29490
- "value": "2.08 dimensionless",
29491
- "reference": "https://doi.org/10.1016/j.cemconres.2017.08.030",
29492
- "data_type": "fitted"
29493
- },
29494
- "a2": {
29495
- "value": "13.4 dimensionless",
29496
- "reference": "https://doi.org/10.1016/j.cemconres.2017.08.030",
29497
- "data_type": "fitted"
29498
- },
29499
- "d": {
29500
- "value": "34 dimensionless",
29501
- "reference": "https://doi.org/10.1016/j.cemconres.2017.08.030",
29502
- "data_type": "fitted"
29503
- }
29504
- }
29505
- }
29506
- },
29507
- {
29508
- "formula": "SO4[-1]",
29372
+ "formula": "S2O8[-2]",
29509
29373
  "charge": -2,
29510
- "molecular_weight": "96.0626 g/mol",
29374
+ "molecular_weight": "192.1252 g/mol",
29511
29375
  "elements": [
29512
29376
  "S",
29513
29377
  "O"
@@ -29521,10 +29385,10 @@
29521
29385
  "@class": "Ion",
29522
29386
  "@version": null
29523
29387
  },
29524
- "formula_html": "SO<sub>4</sub><sup>-2</sup>",
29525
- "formula_latex": "SO$_{4}$$^{-2}$",
29388
+ "formula_html": "S<sub>2</sub>O<sub>8</sub><sup>-2</sup>",
29389
+ "formula_latex": "S$_{2}$O$_{8}$$^{-2}$",
29526
29390
  "formula_hill": "O8 S2",
29527
- "formula_pretty": "SO4^-2",
29391
+ "formula_pretty": "S2O8^-2",
29528
29392
  "oxi_state_guesses": {
29529
29393
  "S": 5,
29530
29394
  "O": -1.5
@@ -29675,9 +29539,21 @@
29675
29539
  }
29676
29540
  },
29677
29541
  "diffusion_temp_smolyakov": {
29678
- "a1": null,
29679
- "a2": null,
29680
- "d": null
29542
+ "a1": {
29543
+ "value": "2.08 dimensionless",
29544
+ "reference": "https://doi.org/10.1016/j.cemconres.2017.08.030",
29545
+ "data_type": "fitted"
29546
+ },
29547
+ "a2": {
29548
+ "value": "13.4 dimensionless",
29549
+ "reference": "https://doi.org/10.1016/j.cemconres.2017.08.030",
29550
+ "data_type": "fitted"
29551
+ },
29552
+ "d": {
29553
+ "value": "34 dimensionless",
29554
+ "reference": "https://doi.org/10.1016/j.cemconres.2017.08.030",
29555
+ "data_type": "fitted"
29556
+ }
29681
29557
  },
29682
29558
  "dielectric_zuber": {
29683
29559
  "value": "-0.66 dimensionless",
@@ -34281,8 +34157,8 @@
34281
34157
  }
34282
34158
  },
34283
34159
  {
34284
- "formula": "WO4[-1]",
34285
- "charge": -1,
34160
+ "formula": "WO4[-2]",
34161
+ "charge": -2,
34286
34162
  "molecular_weight": "247.8376 g/mol",
34287
34163
  "elements": [
34288
34164
  "W",
@@ -34292,18 +34168,18 @@
34292
34168
  "pmg_ion": {
34293
34169
  "W": 1,
34294
34170
  "O": 4,
34295
- "charge": -1,
34171
+ "charge": -2,
34296
34172
  "@module": "pymatgen.core.ion",
34297
34173
  "@class": "Ion",
34298
34174
  "@version": null
34299
34175
  },
34300
- "formula_html": "WO<sub>4</sub><sup>-1</sup>",
34301
- "formula_latex": "WO$_{4}$$^{-1}$",
34176
+ "formula_html": "WO<sub>4</sub><sup>-2</sup>",
34177
+ "formula_latex": "WO$_{4}$$^{-2}$",
34302
34178
  "formula_hill": "O4 W",
34303
- "formula_pretty": "WO4^-1",
34179
+ "formula_pretty": "WO4^-2",
34304
34180
  "oxi_state_guesses": {
34305
34181
  "W": 6,
34306
- "O": -1.75
34182
+ "O": -2
34307
34183
  },
34308
34184
  "n_atoms": 5,
34309
34185
  "n_elements": 2,
@@ -34330,80 +34206,6 @@
34330
34206
  "data_type": "experimental"
34331
34207
  }
34332
34208
  },
34333
- "thermo": {
34334
- "ΔG_hydration": null,
34335
- "ΔG_formation": null
34336
- },
34337
- "transport": {
34338
- "diffusion_coefficient": null
34339
- },
34340
- "model_parameters": {
34341
- "activity_pitzer": {
34342
- "Beta0": null,
34343
- "Beta1": null,
34344
- "Beta2": null,
34345
- "Cphi": null,
34346
- "Max_C": null
34347
- },
34348
- "molar_volume_pitzer": {
34349
- "Beta0": null,
34350
- "Beta1": null,
34351
- "Beta2": null,
34352
- "Cphi": null,
34353
- "V_o": null,
34354
- "Max_C": null
34355
- },
34356
- "viscosity_jones_dole": {
34357
- "B": null
34358
- },
34359
- "diffusion_temp_smolyakov": {
34360
- "a1": null,
34361
- "a2": null,
34362
- "d": null
34363
- }
34364
- }
34365
- },
34366
- {
34367
- "formula": "WO4[-2]",
34368
- "charge": -2,
34369
- "molecular_weight": "247.8376 g/mol",
34370
- "elements": [
34371
- "W",
34372
- "O"
34373
- ],
34374
- "chemsys": "O-W",
34375
- "pmg_ion": {
34376
- "W": 1,
34377
- "O": 4,
34378
- "charge": -2,
34379
- "@module": "pymatgen.core.ion",
34380
- "@class": "Ion",
34381
- "@version": null
34382
- },
34383
- "formula_html": "WO<sub>4</sub><sup>-2</sup>",
34384
- "formula_latex": "WO$_{4}$$^{-2}$",
34385
- "formula_hill": "O4 W",
34386
- "formula_pretty": "WO4^-2",
34387
- "oxi_state_guesses": {
34388
- "W": 6,
34389
- "O": -2
34390
- },
34391
- "n_atoms": 5,
34392
- "n_elements": 2,
34393
- "size": {
34394
- "radius_ionic": {
34395
- "value": "None",
34396
- "reference": "pymatgen",
34397
- "data_type": "experimental"
34398
- },
34399
- "radius_hydrated": null,
34400
- "radius_vdw": {
34401
- "value": "2.18 Å",
34402
- "reference": "pymatgen",
34403
- "data_type": "experimental"
34404
- },
34405
- "molar_volume": null
34406
- },
34407
34209
  "thermo": {
34408
34210
  "ΔG_hydration": {
34409
34211
  "value": "-1318.0 ± 30 kJ/mol",
pyEQL/functions.py CHANGED
@@ -15,13 +15,17 @@ from pyEQL import Solution, ureg
15
15
  logger = logging.getLogger(__name__)
16
16
 
17
17
 
18
- def gibbs_mix(solution1: Solution, solution2: Solution):
18
+ def gibbs_mix(solution1: Solution, solution2: Solution, activity_correction: bool = True):
19
19
  r"""
20
20
  Return the Gibbs energy change associated with mixing two solutions.
21
21
 
22
22
  Args:
23
23
  solution1: a solution to be mixed.
24
24
  solution2: a solution to be mixed.
25
+ activity_correction : bool, optional
26
+ If True, activities will be used to calculate the true energy of
27
+ mixing. If False, mole fraction will be used, resulting in a
28
+ calculation of the ideal energy of mixing (i.e., :math:`\Delta_{mix} S \times T` )
25
29
 
26
30
  Returns:
27
31
  The change in Gibbs energy associated with complete mixing of the
@@ -32,10 +36,17 @@ def gibbs_mix(solution1: Solution, solution2: Solution):
32
36
 
33
37
  .. math::
34
38
 
35
- \Delta_{mix} G = \sum_i {(n_c + n_d) R T \ln a_b} - \sum_i {n_c R T \ln a_c} - \sum_i {n_d R T \ln a_d}
39
+ \Delta_{mix} G_{true} = \sum_i {(n_c + n_d) R T \ln a_b} - \sum_i {n_c R T \ln a_c} - \sum_i {n_d R T \ln a_d}
36
40
 
37
- Where :math:`n` is the number of moles of substance, :math:`T` is the temperature in kelvin,
38
- and subscripts :math:`b`, :math:`c`, and :math:`d` refer to the concentrated, dilute, and blended
41
+ or
42
+
43
+ .. math::
44
+
45
+ \Delta_{mix} G_{ideal} = \sum_i {(n_c + n_d) R T \ln x_b} - \sum_i {n_c R T \ln x_c} - \sum_i {n_d R T \ln x_d}
46
+
47
+
48
+ Where :math:`n` is the number of moles of substance, :math:`T` is the temperature in kelvin, :math:`a` is the activity of solute :math:`i`,
49
+ :math:`x` is the mole fraction of solute :math:`i`, and subscripts :math:`b`, :math:`c`, and :math:`d` refer to the concentrated, dilute, and blended
39
50
  Solutions, respectively.
40
51
 
41
52
  Note that dissociated ions must be counted as separate components,
@@ -56,7 +67,12 @@ def gibbs_mix(solution1: Solution, solution2: Solution):
56
67
  for solution in term_list:
57
68
  for solute in solution.components:
58
69
  if solution.get_amount(solute, "fraction") != 0:
59
- term_list[solution] += solution.get_amount(solute, "mol") * np.log(solution.get_activity(solute))
70
+ if activity_correction is True:
71
+ term_list[solution] += solution.get_amount(solute, "mol") * np.log(solution.get_activity(solute))
72
+ else:
73
+ term_list[solution] += solution.get_amount(solute, "mol") * np.log(
74
+ solution.get_amount(solute, "fraction")
75
+ )
60
76
 
61
77
  return (ureg.R * blend.temperature.to("K") * (term_list[blend] - term_list[concentrate] - term_list[dilute])).to(
62
78
  "J"
@@ -72,16 +88,16 @@ def entropy_mix(solution1: Solution, solution2: Solution):
72
88
 
73
89
  Returns:
74
90
  The ideal mixing entropy associated with complete mixing of the
75
- Solutions, in Joules.
91
+ Solutions, in Joules per Kelvin.
76
92
 
77
93
  Notes:
78
94
  The ideal entropy of mixing is calculated as follows
79
95
 
80
96
  .. math::
81
97
 
82
- \Delta_{mix} S = \sum_i {(n_c + n_d) R T \ln x_b} - \sum_i {n_c R T \ln x_c} - \sum_i {n_d R T \ln x_d}
98
+ \Delta_{mix} S = \sum_i {(n_c + n_d) R \ln x_b} - \sum_i {n_c R \ln x_c} - \sum_i {n_d R \ln x_d}
83
99
 
84
- Where :math:`n` is the number of moles of substance, :math:`T` is the temperature in kelvin,
100
+ Where :math:`n` is the number of moles of substance, :math:`T` is the temperature in kelvin, :math:`x` is the mole fraction of solute :math:`i`,
85
101
  and subscripts :math:`b`, :math:`c`, and :math:`d` refer to the concentrated, dilute, and blended
86
102
  Solutions, respectively.
87
103
 
@@ -107,9 +123,7 @@ def entropy_mix(solution1: Solution, solution2: Solution):
107
123
  solution.get_amount(solute, "fraction")
108
124
  )
109
125
 
110
- return (ureg.R * blend.temperature.to("K") * (term_list[blend] - term_list[concentrate] - term_list[dilute])).to(
111
- "J"
112
- )
126
+ return (ureg.R * (term_list[blend] - term_list[concentrate] - term_list[dilute])).to("J/K")
113
127
 
114
128
 
115
129
  def donnan_eql(solution: Solution, fixed_charge: str):
@@ -135,9 +149,9 @@ def donnan_eql(solution: Solution, fixed_charge: str):
135
149
 
136
150
  .. math::
137
151
 
138
- \big(\frac{a_{-}}{\bar a_{-}} \big)^(\frac{1}{z_{-})
139
- \big(\frac{\bar a_{+}}{a_{+}}\big)^(\frac{1}{z_{+})
140
- \exp(\frac{\Delta \pi \bar V}{RT z_{+} \nu_{+}})
152
+ \big(\frac{a_{-}}{\bar a_{-}} \big)^{(\frac{1}{z_{-}})}
153
+ \big(\frac{\bar a_{+}}{a_{+}}\big)^{(\frac{1}{z_{+}})}
154
+ =\exp \big(\frac{\Delta \pi \bar V}{RT z_{+} \nu_{+}}\big)
141
155
 
142
156
  Where subscripts :math:`+` and :math:`-` indicate the cation and anion, respectively,
143
157
  the overbar indicates the membrane phase,
@@ -1,6 +1,6 @@
1
- '@module': pyEQL.solution
2
- '@class': Solution
3
- '@version': 0.0.post1.dev699+g0764b1c
1
+ "@module": pyEQL.solution
2
+ "@class": Solution
3
+ "@version": 0.0.post1.dev699+g0764b1c
4
4
  solutes:
5
5
  H2O(aq): 55.2313771443148 mol
6
6
  Na[+1]: 0.13 mol
@@ -1,6 +1,6 @@
1
- '@module': pyEQL.solution
2
- '@class': Solution
3
- '@version': 0.0.post1.dev699+g0764b1c
1
+ "@module": pyEQL.solution
2
+ "@class": Solution
3
+ "@version": 0.0.post1.dev699+g0764b1c
4
4
  solutes:
5
5
  H2O(aq): 55.19703719794332 mol
6
6
  Na[+1]: 0.154 mol
@@ -1,6 +1,6 @@
1
- '@module': pyEQL.solution
2
- '@class': Solution
3
- '@version': 0.0.post1.dev699+g0764b1c
1
+ "@module": pyEQL.solution
2
+ "@class": Solution
3
+ "@version": 0.0.post1.dev699+g0764b1c
4
4
  solutes:
5
5
  H2O(aq): 55.34454944845822 mol
6
6
  HCO3[-1]: 3.162277660168379e-06 mol
@@ -1,6 +1,6 @@
1
- '@module': pyEQL.solution
2
- '@class': Solution
3
- '@version': 0.0.post1.dev699+g0764b1c
1
+ "@module": pyEQL.solution
2
+ "@class": Solution
3
+ "@version": 0.0.post1.dev699+g0764b1c
4
4
  solutes:
5
5
  H2O(aq): 55.34455401423017 mol
6
6
  Cl[-1]: 0.54425785619973 mol
pyEQL/presets/urine.yaml CHANGED
@@ -1,6 +1,6 @@
1
- '@module': pyEQL.solution
2
- '@class': Solution
3
- '@version': 0.0.post1.dev699+g0764b1c
1
+ "@module": pyEQL.solution
2
+ "@class": Solution
3
+ "@version": 0.0.post1.dev699+g0764b1c
4
4
  solutes:
5
5
  H2O(aq): 55.135679438263864 mol
6
6
  H4CN2O(aq): 0.333026615820163 mol
@@ -1,6 +1,6 @@
1
- '@module': pyEQL.solution
2
- '@class': Solution
3
- '@version': 0.0.post1.dev699+g0764b1c
1
+ "@module": pyEQL.solution
2
+ "@class": Solution
3
+ "@version": 0.0.post1.dev699+g0764b1c
4
4
  solutes:
5
5
  H2O(aq): 55.342123269143364 mol
6
6
  CH3COOH(aq): 0.006827420786931851 mol
pyEQL/solution.py CHANGED
@@ -1161,7 +1161,8 @@ class Solution(MSONable):
1161
1161
  :meth:`get_amount`
1162
1162
  :func:`pyEQL.utils.interpret_units`
1163
1163
  """
1164
- TOT: Quantity = 0
1164
+ _units = interpret_units(units)
1165
+ TOT: Quantity = ureg.Quantity(0, _units)
1165
1166
 
1166
1167
  # standardize the element formula and units
1167
1168
  el = str(Element(element.split("(")[0]))
@@ -1178,7 +1179,7 @@ class Solution(MSONable):
1178
1179
  else:
1179
1180
  species = []
1180
1181
  for k, v in comp_by_element.items():
1181
- if el in k:
1182
+ if k.split("(")[0] == el:
1182
1183
  species.extend(v)
1183
1184
 
1184
1185
  # loop through the species of interest, adding moles of element
@@ -2294,9 +2295,7 @@ class Solution(MSONable):
2294
2295
  self.logger.info("balance_charge is None, so no charge balancing will be performed.")
2295
2296
  return
2296
2297
 
2297
- self.logger.info(
2298
- f"Solution is not electroneutral (C.B. = {cb} eq/L). Adjusting {self._cb_species} to compensate."
2299
- )
2298
+ self.logger.info(f"Adjusting {self._cb_species} to compensate.")
2300
2299
 
2301
2300
  if self.balance_charge == "pH":
2302
2301
  # the charge imbalance associated with the H+ / OH- system can be expressed
pyEQL/utils.py CHANGED
@@ -61,15 +61,15 @@ def standardize_formula(formula: str):
61
61
  'Na+1', and 'Na[+]' will all standardize to "Na[+1]"
62
62
  """
63
63
  # fix permuted sign and charge number (e.g. Co2+)
64
- for str, rep in zip(["²⁺", "³⁺", "⁴⁺", "²⁻", "³⁻", "⁴⁻"], ["+2", "+3", "+4", "-2", "-3", "-4"]):
64
+ for str, rep in zip(["²⁺", "³⁺", "⁴⁺", "²⁻", "³⁻", "⁴⁻"], ["+2", "+3", "+4", "-2", "-3", "-4"], strict=False):
65
65
  formula = formula.replace(str, rep)
66
66
 
67
67
  # replace superscripts with non superscripts
68
- for char, rep in zip("⁻⁺⁰¹²³⁴⁵⁶⁷⁸⁹", "-+0123456789"):
68
+ for char, rep in zip("⁻⁺⁰¹²³⁴⁵⁶⁷⁸⁹", "-+0123456789", strict=False):
69
69
  formula = formula.replace(char, rep)
70
70
 
71
71
  # replace subscripts with non subscripts
72
- for char, rep in zip("₀₁₂₃₄₅₆₇₈₉", "0123456789"):
72
+ for char, rep in zip("₀₁₂₃₄₅₆₇₈₉", "0123456789", strict=False):
73
73
  formula = formula.replace(char, rep)
74
74
 
75
75
  sform = Ion.from_formula(formula).reduced_formula
@@ -81,18 +81,24 @@ def standardize_formula(formula: str):
81
81
  # ammonia
82
82
  if sform == "H4N[+1]":
83
83
  sform = "NH4[+1]"
84
+ elif "H4NCl" in sform:
85
+ sform = sform.replace("H4NCl", "NH4Cl")
86
+ elif sform == "SO3[-1]":
87
+ sform = "S2O6[-2]"
88
+ elif sform == "SO4[-1]":
89
+ sform = "S2O8[-2]"
84
90
  elif sform == "H3N(aq)":
85
91
  sform = "NH3(aq)"
86
92
  # phosphoric acid system
87
93
  elif sform == "PH3O4(aq)":
88
94
  sform = "H3PO4(aq)"
89
- elif sform == "PHO4[-2]":
90
- sform = "HPO4[-2]"
91
- elif sform == "P(HO2)2[-1]":
92
- sform = "H2PO4[-1]"
95
+ elif "PHO4" in sform:
96
+ sform = sform.replace("PHO4", "HPO4")
97
+ elif "P(HO2)2" in sform:
98
+ sform = sform.replace("P(HO2)2", "H2PO4")
93
99
  # thiocyanate
94
- elif sform == "CSN[-1]":
95
- sform = "SCN[-1]"
100
+ elif "CSN" in sform:
101
+ sform = sform.replace("CSN", "SCN")
96
102
  # triiodide, nitride, an phosphide
97
103
  elif sform == "I[-0.33333333]":
98
104
  sform = "I3[-1]"
@@ -137,6 +143,15 @@ def standardize_formula(formula: str):
137
143
  elif sform == "C2I2ClO2[-1]":
138
144
  sform = "CI2ClCOO[-1]"
139
145
 
146
+ # ammonium nitrate salts
147
+ elif sform == "H4N2O3(aq)":
148
+ sform = "NH4NO3(aq)"
149
+ # ammonium sulfate salts
150
+ elif sform == "H8S(NO2)2(aq)":
151
+ sform = "(NH4)2SO4(aq)"
152
+ elif sform == "H4SNO4[-1]":
153
+ sform = "NH4SO4[-1]"
154
+
140
155
  # TODO - consider adding recognition of special formulas like MeOH for methanol or Cit for citrate
141
156
  return sform
142
157
 
@@ -5,9 +5,12 @@ developed and maintained by the Kingsbury Lab at Princeton University.
5
5
 
6
6
  Other contributors, listed alphabetically, are:
7
7
 
8
- * Kirill Pushkarev (@kirill-push)
9
- * Dhruv Duseja (@DhruvDuseja)
10
- * Andrew Rosen (@arosen93)
11
- * Hernan Grecco (@hgrecco)
8
+ - Arpit Bhardwaj (@abhardwaj73)
9
+ - Dhruv Duseja (@DhruvDuseja)
10
+ - Hernan Grecco (@hgrecco)
11
+ - Jaebeom Park (@Jaebeom-P)
12
+ - Kirill Pushkarev (@kirill-push)
13
+ - Andrew Rosen (@arosen93)
14
+ - Sui Xiong Tay (@SuixiongTay)
12
15
 
13
16
  (If you think that your name belongs here, please let the maintainer know)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyEQL
3
- Version: 1.1.5
3
+ Version: 1.2.0
4
4
  Summary: A python interface for solution chemistry
5
5
  Author-email: Ryan Kingsbury <kingsbury@princeton.edu>
6
6
  Project-URL: Docs, https://pyeql.readthedocs.io/
@@ -15,19 +15,19 @@ Classifier: Development Status :: 4 - Beta
15
15
  Classifier: Intended Audience :: Science/Research
16
16
  Classifier: Operating System :: OS Independent
17
17
  Classifier: Topic :: Scientific/Engineering
18
- Requires-Python: >=3.9
18
+ Requires-Python: >=3.10
19
19
  Description-Content-Type: text/markdown
20
20
  License-File: LICENSE.txt
21
21
  License-File: COPYING
22
22
  License-File: AUTHORS.md
23
23
  Requires-Dist: pint >=0.19
24
- Requires-Dist: numpy <2
25
- Requires-Dist: scipy
26
- Requires-Dist: pymatgen ==2024.5.1
27
- Requires-Dist: iapws
24
+ Requires-Dist: numpy <2,>1.26
25
+ Requires-Dist: scipy >=1.12
26
+ Requires-Dist: pymatgen >=2024.9.10
27
+ Requires-Dist: iapws >=1.5.3
28
28
  Requires-Dist: monty >=2024.7.12
29
29
  Requires-Dist: maggma >=0.67.0
30
- Requires-Dist: phreeqpython
30
+ Requires-Dist: phreeqpython >=1.5.2
31
31
  Provides-Extra: docs
32
32
  Requires-Dist: sphinx >=3.2.1 ; extra == 'docs'
33
33
  Requires-Dist: sphinx-rtd-theme ; extra == 'docs'
@@ -35,20 +35,20 @@ Requires-Dist: myst-parser[linkify] ; extra == 'docs'
35
35
  Provides-Extra: full
36
36
  Requires-Dist: rich ; extra == 'full'
37
37
  Provides-Extra: testing
38
- Requires-Dist: setuptools ; extra == 'testing'
39
- Requires-Dist: pre-commit ; extra == 'testing'
40
- Requires-Dist: pytest ; extra == 'testing'
41
- Requires-Dist: pytest-cov ; extra == 'testing'
42
- Requires-Dist: pytest-xdist ; extra == 'testing'
38
+ Requires-Dist: setuptools >=68 ; extra == 'testing'
39
+ Requires-Dist: pre-commit >=2 ; extra == 'testing'
40
+ Requires-Dist: pytest >=7 ; extra == 'testing'
41
+ Requires-Dist: pytest-cov >=2.11 ; extra == 'testing'
42
+ Requires-Dist: pytest-xdist >2 ; extra == 'testing'
43
43
  Requires-Dist: black ; extra == 'testing'
44
- Requires-Dist: mypy ; extra == 'testing'
45
- Requires-Dist: ruff ; extra == 'testing'
44
+ Requires-Dist: mypy >1 ; extra == 'testing'
45
+ Requires-Dist: ruff >0.0.100 ; extra == 'testing'
46
46
  Requires-Dist: tox <4 ; extra == 'testing'
47
47
 
48
48
  [![Read the Docs](https://img.shields.io/readthedocs/pyeql)](https://pyeql.readthedocs.io/en/latest/)
49
49
  [![testing](https://github.com/KingsburyLab/pyeql/workflows/testing/badge.svg)](https://github.com/KingsburyLab/pyeql/actions?query=workflow%3Atesting)
50
50
  [![codecov](https://codecov.io/gh/KingsburyLab/pyeql/branch/main/graph/badge.svg?token=I7RP0QML6S)](https://codecov.io/gh/KingsburyLab/pyeql)
51
- ![Supported python versions](https://img.shields.io/badge/python-3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12-blue)
51
+ ![Supported python versions](https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12-blue)
52
52
  [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.8332915.svg)](https://doi.org/10.5281/zenodo.8332915)
53
53
  [![PyPI version](https://badge.fury.io/py/pyEQL.svg)](https://badge.fury.io/py/pyEQL)
54
54
  [![status](https://joss.theoj.org/papers/bdd9e247ea9736a0fdbbd5fe12bef7a6/status.svg)](https://joss.theoj.org/papers/bdd9e247ea9736a0fdbbd5fe12bef7a6)
@@ -112,7 +112,7 @@ Detailed documentation is available at [https://pyeql.readthedocs.io/](https://p
112
112
 
113
113
  ### Dependencies
114
114
 
115
- - Python 3.9+. This project will attempt to adhere to NumPy's
115
+ - Python 3.10+. This project will attempt to adhere to NumPy's
116
116
  [NEP 29](https://numpy.org/neps/nep-0029-deprecation_policy.html) deprecation policy
117
117
  for older version of Python.
118
118
  - [pint](https://github.com/hgrecco/pint) - for units-aware calculations
@@ -0,0 +1,26 @@
1
+ pyEQL/__init__.py,sha256=OCp_PiQEPyVoi1VX0ursBzHJWN6nDS1Id6bTBOgqCYs,1999
2
+ pyEQL/activity_correction.py,sha256=eOixjgTd5hTrTRD5s6aPCCG12lAIH7-lRN0Z1qHu678,37151
3
+ pyEQL/engines.py,sha256=VbdQSPKlNehW96U1XxWYwjTy6k6WDpZZEx_Y4l3qZv4,34686
4
+ pyEQL/equilibrium.py,sha256=YCtoAJSgn1WC9NJnc3H4FTJdKQvogsvCuj7HqlKMtww,8307
5
+ pyEQL/functions.py,sha256=8TePRHfOWsDnFsmBA-twv5XZyhrkMQI6VroDLouckho,11452
6
+ pyEQL/salt_ion_match.py,sha256=0nCZXmeo67VqcyYWQpPx-81hjSvnsg8HFB3fIyfjW_k,4070
7
+ pyEQL/solute.py,sha256=no00Rc3tRfHmyht4wm2UXA1KZhKC45tWMO5QEkZY6yg,5140
8
+ pyEQL/solution.py,sha256=3hvtqeu5KzfFKzeOdKlzS_aIFPTNgUfhjIwBurfuGJw,115754
9
+ pyEQL/utils.py,sha256=dXXM7_Mv0-8MWDjoPfNl9qoFmRgV0eVt_iSEhu1JYSc,7194
10
+ pyEQL/database/geothermal.dat,sha256=kksnfcBtWdOTpNn4CLXU1Mz16cwas2WuVKpuMU8CaVI,234230
11
+ pyEQL/database/llnl.dat,sha256=jN-a0kfUFbQlYMn2shTVRg1JX_ZhLa-tJ0lLw2YSpLU,751462
12
+ pyEQL/database/phreeqc_license.txt,sha256=8W1r8VxC2kVptIMSU9sDFNASYqN7MdwKEtIWWfjTQuM,2906
13
+ pyEQL/database/pyeql_db.json,sha256=OFUwq3KjbSzmpUE9kkn17TXF4aszs-2ki5N0VKX8E0o,1075941
14
+ pyEQL/presets/Ringers lactate.yaml,sha256=kaGiBbg_JFrmOm8xZqb_EMVqeQYxll7pOOvXcmxAJ5I,413
15
+ pyEQL/presets/normal saline.yaml,sha256=eT5MZKgc0uW-TrQOiX87ZoTwlMO-OEhTvQyQAXoIa80,318
16
+ pyEQL/presets/rainwater.yaml,sha256=QG3aol2Z5HwLj-s6frN7hYNQr01qw_HR2h5f4BdAvVc,337
17
+ pyEQL/presets/seawater.yaml,sha256=Kts0vAmXSPvPzy_PJpx0RR2uSt40izxp-687Qi02oro,843
18
+ pyEQL/presets/urine.yaml,sha256=Zpcr2Dp7xZrlLqzYk4UcMyWXlNrd2AFUexWpb8k9FEg,679
19
+ pyEQL/presets/wastewater.yaml,sha256=zJcpp9Ye4hIw6iInsdV5bgjTNuJ8oAUVimsUgZXlG-w,502
20
+ pyEQL-1.2.0.dist-info/AUTHORS.md,sha256=Ukdh6f3jO6jdgl2k_r_xdNOuzmjXcISMQqUTSH39QVw,506
21
+ pyEQL-1.2.0.dist-info/COPYING,sha256=Ww2oUywfFTn242v9ksCgQdIVSpcMXJiKKePn0GFm25E,7649
22
+ pyEQL-1.2.0.dist-info/LICENSE.txt,sha256=2Zf1F7RzbpeposgIxUydpurqNCMoMgDi2gAB65_GjwQ,969
23
+ pyEQL-1.2.0.dist-info/METADATA,sha256=okvLJvrb90RHE5Y3GoTDeXbvY0i_b4oP9MPa6TgIn5A,6151
24
+ pyEQL-1.2.0.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
25
+ pyEQL-1.2.0.dist-info/top_level.txt,sha256=QMOaZjCAm_lS4Njsjh4L0B5aWnJFGQMYKhuH88CG1co,6
26
+ pyEQL-1.2.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (72.0.0)
2
+ Generator: setuptools (75.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,26 +0,0 @@
1
- pyEQL/__init__.py,sha256=OCp_PiQEPyVoi1VX0ursBzHJWN6nDS1Id6bTBOgqCYs,1999
2
- pyEQL/activity_correction.py,sha256=eOixjgTd5hTrTRD5s6aPCCG12lAIH7-lRN0Z1qHu678,37151
3
- pyEQL/engines.py,sha256=VbdQSPKlNehW96U1XxWYwjTy6k6WDpZZEx_Y4l3qZv4,34686
4
- pyEQL/equilibrium.py,sha256=YCtoAJSgn1WC9NJnc3H4FTJdKQvogsvCuj7HqlKMtww,8307
5
- pyEQL/functions.py,sha256=nc-Hc61MmW-ELBR1PByJvQnELxM7PZexMHbU_O5-Bnw,10584
6
- pyEQL/salt_ion_match.py,sha256=0nCZXmeo67VqcyYWQpPx-81hjSvnsg8HFB3fIyfjW_k,4070
7
- pyEQL/solute.py,sha256=no00Rc3tRfHmyht4wm2UXA1KZhKC45tWMO5QEkZY6yg,5140
8
- pyEQL/solution.py,sha256=0eaPmI3bm_ipGyXtZCcQQ5kuA8Bv_0DBYZeZZ3eWXYk,115758
9
- pyEQL/utils.py,sha256=DWLtNm71qw5j4-jqBp5v3LssEjWgJnVvI6a_H60c5ic,6670
10
- pyEQL/database/geothermal.dat,sha256=kksnfcBtWdOTpNn4CLXU1Mz16cwas2WuVKpuMU8CaVI,234230
11
- pyEQL/database/llnl.dat,sha256=jN-a0kfUFbQlYMn2shTVRg1JX_ZhLa-tJ0lLw2YSpLU,751462
12
- pyEQL/database/phreeqc_license.txt,sha256=8W1r8VxC2kVptIMSU9sDFNASYqN7MdwKEtIWWfjTQuM,2906
13
- pyEQL/database/pyeql_db.json,sha256=-7Z8tpAddXhPlvpxms7cFQKL_DSSbemzOzxm6L5vaVk,1080801
14
- pyEQL/presets/Ringers lactate.yaml,sha256=vtSnuvgALHR27XEjpDzC0xyw5-E6b2FSsF1EUEBiWpw,413
15
- pyEQL/presets/normal saline.yaml,sha256=i2znhnIeXfNx1iMFFSif7crMRCFRP6xN1m7Wp7USduM,318
16
- pyEQL/presets/rainwater.yaml,sha256=S0WHZNDfCJyjSSFxNFdkypjn2s3P0jJGCiYIxvi1ibA,337
17
- pyEQL/presets/seawater.yaml,sha256=oryc1CkhRz20RpWE6uiGiT93HoZnqlB0s-0PmBWr3-U,843
18
- pyEQL/presets/urine.yaml,sha256=0Njtc-H1fFRo7UhquHdiSTT4z-8VZJ1utDCk02qk28M,679
19
- pyEQL/presets/wastewater.yaml,sha256=jTTFBpmKxczaEtkCZb0xUULIPZt7wfC8eAJ6rthGnmw,502
20
- pyEQL-1.1.5.dist-info/AUTHORS.md,sha256=K9ZLhKFwZ2zLlFXwN62VuUYCpr5T6n4mOUCUHlytTUs,415
21
- pyEQL-1.1.5.dist-info/COPYING,sha256=Ww2oUywfFTn242v9ksCgQdIVSpcMXJiKKePn0GFm25E,7649
22
- pyEQL-1.1.5.dist-info/LICENSE.txt,sha256=2Zf1F7RzbpeposgIxUydpurqNCMoMgDi2gAB65_GjwQ,969
23
- pyEQL-1.1.5.dist-info/METADATA,sha256=TXDkdGyqFqh4LJfyOFtcqlbRnNh87kySnIPAKzUE1k8,6096
24
- pyEQL-1.1.5.dist-info/WHEEL,sha256=Rp8gFpivVLXx-k3U95ozHnQw8yDcPxmhOpn_Gx8d5nc,91
25
- pyEQL-1.1.5.dist-info/top_level.txt,sha256=QMOaZjCAm_lS4Njsjh4L0B5aWnJFGQMYKhuH88CG1co,6
26
- pyEQL-1.1.5.dist-info/RECORD,,
File without changes