Recent Releases of ugropy
ugropy - v3.1.5 Change ILP solver argument
What's Changed
- Version 3.1.5 by @SalvadorBrandolin in https://github.com/ipqa-research/ugropy/pull/36
Now it's possible to change the PulP ILP solver by an argument. For example:
shell
pip install xpress
```python from ugropy import unifac
sol = unifac.getgroups("toluene", solverarguments={"solver": "XPRESS_PY"}) ```
Full Changelog: https://github.com/ipqa-research/ugropy/compare/v3.1.0...v3.1.5
- Python
Published by SalvadorBrandolin 9 months ago
ugropy - v3.1.0 nonoptimal solutions
Now, along with multiple solutions, nonoptimal solutions could be obtained if desired. Example:
```python from ugropy import unifac
toluene = unifac.getgroups("toluene", searchmultiplesolutions=True, searchnonoptimal=True)
print(toluene[0].subgroups) print(toluene[1].subgroups) ```
You will obtain:
{'ACH': 5, 'ACCH3': 1}
{'CH3': 1, 'ACH': 5, 'AC': 1}
The solutions are always ordered from most optimal to less optimal.
What's Changed
- Nonoptimal by @SalvadorBrandolin in https://github.com/ipqa-research/ugropy/pull/35
Full Changelog: https://github.com/ipqa-research/ugropy/compare/v3.0.5...v3.1.0
- Python
Published by SalvadorBrandolin 10 months ago
ugropy - v3.0.5
What's Changed
- Dortmund by @SalvadorBrandolin in https://github.com/ipqa-research/ugropy/pull/34
New model!
Dortmund UNIFAC has been added. You can try it with:
```python from ugropy import dortmund
chex = dortmund.get_groups("cyclohexane")
print(chex.subgroups) ```
New writer:
Writer to_yaeos is implemented. It generates the Fortran source for groups definitions for yaeos.
Example:
```python from ugropy import unifac, writers
names = ["ethane", "ethanol", "toluene", "water"]
groups = [unifac.get_groups(name).subgroups for name in names]
fortrancode = writers.toyaeos(groups, unifac)
print(fortran_code) ```
You will obtain:
``` use yaeos_modelsgegroupcontribution_unifac, only: Groups
type(Groups) :: molecules(4)
molecules(1)%groupsids = [1] molecules(1)%numberof_groups = [2]
molecules(2)%groupsids = [1, 2, 14] molecules(2)%numberof_groups = [1, 1, 1]
molecules(3)%groupsids = [9, 11] molecules(3)%numberof_groups = [5, 1]
molecules(4)%groupsids = [16] molecules(4)%numberof_groups = [1] ```
Full Changelog: https://github.com/ipqa-research/ugropy/compare/v3.0.0...v3.0.5
- Python
Published by SalvadorBrandolin 12 months ago
ugropy - v3.0.0
What's Changed
- 27 get rid of problematic structures by @SalvadorBrandolin in https://github.com/ipqa-research/ugropy/pull/28
- Better not found on PubChem error by @SalvadorBrandolin in https://github.com/ipqa-research/ugropy/pull/31
- 22 implement abdulelah gani by @SalvadorBrandolin in https://github.com/ipqa-research/ugropy/pull/32
- Travel to 3.0.0 by @SalvadorBrandolin in https://github.com/ipqa-research/ugropy/pull/33
Problematic structures definition for each model are not longer needed. A big algorithm overhaul performed to achieve that.
News
New model available! Abdulelah-Gani property estimator: https://github.com/PEESEgroup/Pure-Component-Property-Estimation
Now properties estimated by properties estimators have units provided by the library Pint
Breaking changes
The function get_groups not longer exist. Each model is imported individually and get_groups is a method:
```python from ugropy import unifac, psrk, joback, abdulelah_gani
unifacgroups = unifac.getgroups("hexane") psrkgroups = unifac.getgroups("hexane", searchmultiplesolutions=True)
print(unifacgroups.subgroups) print(psrkgroups.subgroups) ```
Gibbs excess models estimates de $R$ and $Q$ values of molecules:
python
print(unifac_groups.r, unifac_groups.q)
The Joback and Abdulelah-Gani models have all estimated properties on the output object:
```python jobackgroups = joback.getgroups("hexane")
print(jobackgroups.criticaltemperature) ```
Check the tutorial for more information of all the new features of ugropy
Full Changelog: https://github.com/ipqa-research/ugropy/compare/v2.0.7...v3.0.0
- Python
Published by SalvadorBrandolin about 1 year ago
ugropy - v2.0.5
What's Changed
- 18 implement constantinou and gani model by @SalvadorBrandolin in https://github.com/ipqa-research/ugropy/pull/21
- Migration to
pathliband cache groups for better end-user experience by @fedebenelli in https://github.com/ipqa-research/ugropy/pull/23 - pathlib to models module and Windows and MacOS added to CI by @SalvadorBrandolin in https://github.com/ipqa-research/ugropy/pull/25
- release 2.0.5 by @SalvadorBrandolin in https://github.com/ipqa-research/ugropy/pull/26
New Contributors
- @fedebenelli made their first contribution in https://github.com/ipqa-research/ugropy/pull/23
Full Changelog: https://github.com/ipqa-research/ugropy/compare/v2.0.0...v2.0.5
- Python
Published by SalvadorBrandolin almost 2 years ago
ugropy - v2.0.0
What's Changed
- Changes in
ugropyAPI. getmodelgroups no longer exist. All model uses the get_groups function (see tutorial) - New writer! Now
ugropycan write the group dictionaries for Caleb Bell's Thermo library. - New feature ".draw()": Now the fragmentation models results return a Fragmentation object that allows the user to represent the fragmentation result graphically (see tutorial)
- Changes in the algorithm:
ugropychecks if the solution can be fitted in the molecule's atoms before throwing the solution for molecules with composed structures.
Full Changelog: https://github.com/ipqa-research/ugropy/compare/v1.0.0...v2.0.0
- Python
Published by SalvadorBrandolin almost 2 years ago