Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1076 commits
Select commit Hold shift + click to select a range
06024d1
fixes
May 14, 2025
7f23760
fix example (remove it)
May 14, 2025
b1725ac
fixed tolerances
May 15, 2025
79e262b
flash_vt
SalvadorBrandolin May 15, 2025
4f75d56
flash_vt
SalvadorBrandolin May 15, 2025
4ddee20
fix if
May 15, 2025
394e1d8
PSRK on python
SalvadorBrandolin May 15, 2025
8bd4152
relativamente tox
SalvadorBrandolin May 15, 2025
1627846
Keep testing dortmund
SalvadorBrandolin May 16, 2025
4bb7ef2
tx
May 16, 2025
92a214c
tx
May 19, 2025
d5e66bd
tx test
May 19, 2025
08a4401
docum
May 19, 2025
0ccb2fa
fix
May 19, 2025
df4d68e
se vienen cositas
May 19, 2025
b93be23
Dortmuuuuund
SalvadorBrandolin May 20, 2025
5674464
Merge branch 'dev' into dortmund
SalvadorBrandolin May 20, 2025
d8a2776
cant find cep :C
May 20, 2025
55a8f58
mesón
May 20, 2025
7dae1af
some cep fails
May 20, 2025
0c9db55
doc. we should move a lot of stuff from here for a new version
May 20, 2025
96e250c
Merge pull request #142 from ipqa-research/dortmund
fedebenelli May 20, 2025
176a145
fix
May 20, 2025
cae82d4
tmp
May 20, 2025
c5a73ab
tmp
May 20, 2025
9df7652
fix
May 20, 2025
ef77e86
fix
May 20, 2025
708a504
Merge branch 'fix' into dev
May 20, 2025
eb09a6c
pxy
May 22, 2025
67500e8
Spec root for envelopes (PT missing)
May 24, 2025
74d87a5
txy pxy
May 24, 2025
fd6cce7
len
May 24, 2025
c411f4b
doc
May 24, 2025
3220692
extracting the critical point detection to an isolated subroutine
May 30, 2025
5557b24
kinds for pt
May 31, 2025
83d9aab
test
May 31, 2025
171cb30
pt kinds
May 31, 2025
31f2043
fix docum
Jun 2, 2025
4b9e722
test lnlphip
Jun 2, 2025
7e5d147
test
Jun 2, 2025
9b4d1db
envlopes
Jun 10, 2025
2d283f6
envl
Jun 10, 2025
b10dcf3
gpec
Jun 10, 2025
2d03f9c
test
Jun 10, 2025
4b3bbec
Px step, I need to be smarter
Jun 10, 2025
e3299cb
core fix pt3
Jun 11, 2025
f7e8ebc
txy
Jun 11, 2025
e2c00d3
gerg2008 python
Jun 11, 2025
966f5be
fix segfault
Jun 11, 2025
344b911
forgot
Jun 11, 2025
de13cc4
coverage
Jun 12, 2025
2036d7d
fix for LL lines
Jun 12, 2025
21235a2
breaking and fixing
Jun 12, 2025
c5ca6d7
breaking and fixing
Jun 12, 2025
792793d
flash_vt python
SalvadorBrandolin Jun 12, 2025
ec0201a
Merge branch 'dev' into flash_vt_python
SalvadorBrandolin Jun 12, 2025
2d0c7a8
Merge pull request #145 from ipqa-research/flash_vt_python
SalvadorBrandolin Jun 12, 2025
8505d74
wiwi malo malo
SalvadorBrandolin Jun 12, 2025
0df983f
Merge pull request #146 from ipqa-research/wiwisfix3.0
fedebenelli Jun 23, 2025
93a5ced
prettier
Jun 25, 2025
b859431
error msg
Jun 25, 2025
571c368
sometimes the algorithm gets stuck near the minima, just quit then
Jun 25, 2025
d905bc1
CP interpolation
Jun 25, 2025
58e8bf5
tol
Jun 25, 2025
edfbc58
world is not ready for this
Jun 25, 2025
00d031f
doc
Jun 25, 2025
7deb3f3
better cp
Jun 27, 2025
ebdb180
doc and warn
Jun 27, 2025
434d9e2
cp
Jun 27, 2025
31cc41a
cp
Jun 27, 2025
86b0d9e
cp
Jun 27, 2025
059aefd
blacked and forgot more cp
Jun 27, 2025
c1e0beb
no cp
Jun 28, 2025
9168594
sometimes we end at dS ~= 1e-15
Jun 30, 2025
46e472d
Just calculate a ton of points if necessary
Jun 30, 2025
90ace6a
doc
Jun 30, 2025
99f719a
docsm
Jun 30, 2025
9006b83
be kind
Jun 30, 2025
fcbfb1e
docm
Jun 30, 2025
288f081
black
Jun 30, 2025
5d6b9ac
write
Jun 30, 2025
79377ad
test
Jun 30, 2025
9ef2ade
test
Jun 30, 2025
01c10ae
how did this work?
Jun 30, 2025
33b82db
nrtl model by huron-vidal, d2T/dT2 missing
Jul 1, 2025
c7e0864
nrtl model by huron-vidal, d2T/dT2 missing
Jul 1, 2025
50ee3e6
derivadinhas completinhas
Jul 1, 2025
94d429f
ene ere te ele
Jul 1, 2025
69fc35b
formats
Jul 1, 2025
89ac770
oopsie
Jul 1, 2025
762fdc1
nrtl doc
Jul 1, 2025
227e408
details
Jul 1, 2025
b5eecfd
read
Jul 1, 2025
b371eac
using analytically nrtl for detault too now
Jul 1, 2025
3277d44
NRTLHV
Jul 1, 2025
71efff9
docs
Jul 1, 2025
09c35fa
version
Jul 1, 2025
f376356
test
Jul 1, 2025
568040b
a lot of points
Jul 1, 2025
7f9697f
tx end
Jul 1, 2025
110c525
Stability changes condition (Fede aproves)
SalvadorBrandolin Jul 1, 2025
2bce24e
debuggeable compilation
Jul 9, 2025
dd8e7ba
slicing for envelopes, and fix on dsp calculation
Jul 9, 2025
d35b1ab
Merge branch 'dev' of github.com:fedebenelli/yaeos into dev
Jul 9, 2025
1a6496f
docum
Jul 14, 2025
4326be6
maybe fix
Jul 15, 2025
aca3a7d
new intersect API
Jul 15, 2025
c489b8a
intersection updated, and avoid unreal betas
Jul 15, 2025
f17e97c
limit of positive beta
Jul 15, 2025
3f51a75
weird envelopes
Jul 16, 2025
43bb0b0
change stopping
Jul 16, 2025
22367a5
now CP is stored in another way
Jul 16, 2025
818f073
plot fix
Jul 16, 2025
e68fa20
order
Jul 16, 2025
c04b53c
Bad alpha update
Jul 16, 2025
3f729db
order
Jul 16, 2025
ed98dd6
version
Jul 16, 2025
6f42b08
This step limit in the newton solver seems to be better
Jul 17, 2025
7003a4f
Merge pull request #150 from ipqa-research/dev_fix_ll
fedebenelli Jul 17, 2025
1094078
version number
Jul 18, 2025
2bcb06a
A bit more strict critical lines
Jul 18, 2025
2ca5531
jump jump everybody jump
Jul 18, 2025
189747e
a bit more inteligent (i think) newton step selection
Jul 18, 2025
4a11824
now some limits
Jul 18, 2025
bd2443e
version number
Jul 18, 2025
92c9407
pep8 and docstyle
Jul 19, 2025
44d377b
tesm
Jul 21, 2025
8dcb4cb
MPFlash
Jul 21, 2025
da4b04b
aux
Jul 21, 2025
a1455df
lines
Jul 21, 2025
66bc32a
dont stop at negative
Jul 21, 2025
5c5e7e7
stab and flashmp need work
Jul 21, 2025
c895d99
moleting
SalvadorBrandolin Jul 21, 2025
4e1ac08
betas hard
Jul 21, 2025
9e2fc0e
flash multiplayer python
Jul 22, 2025
61187b6
Merge pull request #154 from ipqa-research/stability_molesting
fedebenelli Jul 22, 2025
0c0cb46
Simplified a bit this test
Jul 22, 2025
7a3e4c2
prettier?
Jul 22, 2025
4bc80f0
not using this
Jul 22, 2025
083cf1f
use y in dew points
SalvadorBrandolin Jul 22, 2025
c247167
Little docstrings
SalvadorBrandolin Jul 22, 2025
5507384
Check for null LL
Jul 22, 2025
490e58e
gerg 2008 doc
Jul 22, 2025
cb1b3a8
Well lets sphinxing in general
SalvadorBrandolin Jul 22, 2025
610da4f
I hate sphinx
SalvadorBrandolin Jul 22, 2025
1de7db9
More docs
SalvadorBrandolin Jul 23, 2025
c8bff73
Idk i've been forreated
SalvadorBrandolin Jul 23, 2025
ba06cd3
black
SalvadorBrandolin Jul 23, 2025
691af2f
intersections
Jul 23, 2025
1456ae1
newton
Jul 23, 2025
1c2067a
niuton
Jul 23, 2025
65f4b60
fix numpy deprecation warning ohsiiii
SalvadorBrandolin Jul 24, 2025
3e4cd09
just dumb error
SalvadorBrandolin Jul 24, 2025
f1782a5
black
SalvadorBrandolin Jul 24, 2025
39ab0c4
more errors, there?
SalvadorBrandolin Jul 24, 2025
d2f68da
greg
Jul 24, 2025
3532694
greg
Jul 24, 2025
135373d
use a slightly modified volume solver
Jul 24, 2025
ce2637a
gerg
Jul 24, 2025
92e7663
vsol
Jul 24, 2025
b748c5d
better purepsat solver
Jul 24, 2025
0bd70e1
changes in UNIFAC fortran documentations, still missing some little t…
SalvadorBrandolin Jul 26, 2025
2c74f64
Finally the Fortran UNIFAC documentation is how I wanted
SalvadorBrandolin Jul 26, 2025
6bf0a7f
little steps
SalvadorBrandolin Jul 26, 2025
5a59f56
report probably failed points
Jul 30, 2025
32568a2
bugeadinho
Jul 30, 2025
21c2137
dejavu
Jul 30, 2025
6b22839
handbrake
Jul 30, 2025
07055e5
better
SalvadorBrandolin Jul 31, 2025
46a4230
handbrake
Jul 31, 2025
a5b6673
critical jump
Jul 31, 2025
fd52090
step
Jul 31, 2025
f9a555a
Cp excess, all thermoprops tested in python
SalvadorBrandolin Jul 31, 2025
7e83bc2
generalized lines
Aug 2, 2025
2c4bc3a
imports
Aug 2, 2025
c07259a
flashmpout
Aug 2, 2025
67e9b91
type
Aug 2, 2025
411c1c3
moved
Aug 2, 2025
691c72b
test test
Aug 2, 2025
3df3be3
print
Aug 3, 2025
4e81c83
log scale
Aug 3, 2025
ac37fcc
lnBeta
Aug 3, 2025
5066e81
lnBeta
Aug 3, 2025
8fce770
nstab
Aug 3, 2025
c6af7d1
print
Aug 3, 2025
756c7bc
ayuda?
Aug 3, 2025
d1d62d6
pstep
Aug 3, 2025
e9f0809
oopsie
Aug 3, 2025
86160ab
stopped working on python
Aug 3, 2025
d4dd3d2
no print
Aug 3, 2025
1b25b7a
wrapper
Aug 4, 2025
e6f7c3b
docsm
Aug 4, 2025
82f9f80
Merge branch 'dev' into salva_fitting
SalvadorBrandolin Aug 4, 2025
e2f0d57
adding more function to ArModel
SalvadorBrandolin Aug 4, 2025
052e994
keep working
SalvadorBrandolin Aug 5, 2025
bd7fa11
generalized isopleth
Aug 5, 2025
c518076
geniso
Aug 5, 2025
369e613
critical points might not have composition data
Aug 5, 2025
6c4aeec
dejavu for local minima, leaving old way commented just in case
Aug 5, 2025
e35e42d
version
Aug 5, 2025
ffd5cb5
read
Aug 5, 2025
a79a897
py313
Aug 5, 2025
9731c73
as always, this need improvement
Aug 5, 2025
3791288
unlog
Aug 5, 2025
fa9f6ab
dejavunt
Aug 6, 2025
2826f64
Update src/equilibria/flash_mp.f90
fedebenelli Aug 6, 2025
598f593
Update test/test_math/test_math.f90
fedebenelli Aug 6, 2025
4485537
well thats a lot of documentation
SalvadorBrandolin Aug 6, 2025
656121f
little improves on cubics. keep working later
SalvadorBrandolin Aug 6, 2025
b93e4b5
Done with cubics documentation
SalvadorBrandolin Aug 7, 2025
af98c6d
Mixing rules
SalvadorBrandolin Aug 7, 2025
da0f123
properties and GeModels en API python
SalvadorBrandolin Aug 11, 2025
31c3faa
change a bit limit
Aug 13, 2025
2b7c0b6
Merge branch 'dev' of github.com:fedebenelli/yaeos into dev
Aug 13, 2025
68bff54
keep working
SalvadorBrandolin Aug 13, 2025
d18a1b7
keep working later
SalvadorBrandolin Aug 18, 2025
d538b16
keep working later
SalvadorBrandolin Aug 18, 2025
0bbaef1
keep working
SalvadorBrandolin Aug 19, 2025
be275c6
infiteable
SalvadorBrandolin Aug 19, 2025
3598fc7
little GPEC doc fix
SalvadorBrandolin Aug 20, 2025
9a227da
only fitting missing
SalvadorBrandolin Aug 21, 2025
ef92fd6
levenverg
Aug 29, 2025
14bdfea
farquad
Aug 29, 2025
05789af
test
Aug 29, 2025
ae751c0
minpack
Aug 29, 2025
53cb256
flash mp with log(beta)
Sep 17, 2025
a2c4afa
doc
Sep 17, 2025
2229264
binary LLV
Sep 17, 2025
7573fc3
This seems better for CP
Sep 17, 2025
ac21cf2
test
Sep 17, 2025
0af3d16
doc
Sep 17, 2025
c43095a
fix kinds and prec line
Sep 17, 2025
21e5199
give it a chance!
Sep 18, 2025
3eb728b
happy?
Sep 18, 2025
4cb326f
math
Sep 19, 2025
07387fc
Merge pull request #161 from ipqa-research/docum_api_python
fedebenelli Sep 22, 2025
26e9516
kinds
Sep 23, 2025
bc1d893
correct T
Sep 24, 2025
80cc580
include custom errors
Sep 24, 2025
7dfa8fd
docs
Sep 24, 2025
86df2c6
size is mandatory now
Oct 9, 2025
369c95e
from key
Oct 13, 2025
373173a
use lij
Oct 13, 2025
1ad693a
comment
Oct 13, 2025
de1cd75
Merge branch 'dev' into salva_fitting
Oct 14, 2025
beba888
format
Oct 14, 2025
d3c6c28
size
Nov 5, 2025
d4cca34
size
Nov 5, 2025
2d1ffd3
patch is a bit problematic
Nov 5, 2025
d265b7d
Merge pull request #155 from ipqa-research/salva_fitting
fedebenelli Nov 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.ipynb -linguist-detectable
148 changes: 125 additions & 23 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
name: CI
on: [push]
on: [push, pull_request, release]


jobs:
Build:
tests_and_coverage:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
Expand All @@ -12,14 +12,9 @@ jobs:
python-version: [3.9]
toolchain:
- {compiler: gcc, version: 10}
- {compiler: gcc, version: 11}
- {compiler: gcc, version: 12}
- {compiler: gcc, version: 13}
# - {compiler: intel-classic, version: '2024.1'}
- {compiler: intel, version: '2024.1'}
- {compiler: intel, version: '2023.2'}
# - {compiler: nvidia-hpc, version: '23.11'}
# - {compiler: intel-classic, version: '2023.2'}
- {compiler: gcc, version: 14}
- {compiler: intel, version: '2024.2'}
# - {compiler: intel, version: '2023.2'}
steps:
- name: Checkout code
uses: actions/checkout@v2
Expand All @@ -42,32 +37,26 @@ jobs:
uses: ts-graphviz/setup-graphviz@v1

- name: Setup Fortran Package Manager
uses: fortran-lang/setup-fpm@v4
uses: fortran-lang/setup-fpm@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}

- name: Install Python dependencies
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install ford numpy matplotlib gcovr numpy scipy
pip install ford numpy matplotlib gcovr numpy scipy coverage
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
sudo apt-get install libnlopt-dev libblas-dev liblapack-dev

- name: Install NLopt
run:
sudo apt-get install libnlopt-dev

# - name: Compile
# run: fpm build --profile release --compiler ${{ env.FC }} --c-compiler gcc

- name: Run tests without coverage
if: ${{ env.FC != 'gfortran' }}
run: |
fpm test --profile debug --compiler ${{ env.FC }} --c-compiler gcc
fpm test --profile release --flag "-g" --compiler ${{ env.FC }} --c-compiler gcc

- name: Run tests with coverage
if: ${{ env.FC == 'gfortran' }}
run: |
fpm test --profile debug --flag -coverage --compiler ${{ env.FC }} --c-compiler gcc
fpm test --profile release --flag "-g -coverage" --compiler ${{ env.FC }} --c-compiler gcc
bash ci/ci.sh

- name: Coverage
Expand All @@ -76,7 +65,120 @@ jobs:

- name: Upload coverage reports to Codecov
if: ${{ env.FC == 'gfortran' }}
uses: codecov/codecov-action@v4.0.1
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
slug: ipqa-research/yaeos
files: "coverage.xml"

Python-API:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
python-version: ["3.12"]
toolchain:
- {compiler: gcc, version: 14}

steps:
- name: Checkout code
uses: actions/checkout@v2
with:
submodules: false

- name: Install Python
uses: actions/setup-python@v1 # Use pip to install latest CMake, & FORD/Jin2For, etc.
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: |
sudo apt-get install libnlopt-dev pandoc libblas-dev liblapack-dev

- name: install tox
run: |
pip install tox tox-gh-actions

- name: Setup Fortran Compiler
uses: fortran-lang/setup-fortran@v1
id: setup-fortran
with:
compiler: ${{ matrix.toolchain.compiler }}
version: ${{ matrix.toolchain.version }}

- name: Run tox
run: |
cd python # && tox -r

build_wheels:
name: Build wheels on ${{ matrix.os }}
needs:
- tests_and_coverage
- Python-API
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest] #, windows-latest, macos-13, macos-14]

steps:
- uses: actions/checkout@v4

# Used to host cibuildwheel
- uses: actions/setup-python@v5

- name: Install
run: |
sudo apt install gfortran-14
sudo update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-14 14

# Install fpm for Windows
- name: Install fpm
uses: fortran-lang/setup-fpm@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}

# CiBuildWheel
- name: Install dependencies
run: |
python -m pip install cibuildwheel

- name: Build wheels
run: python -m cibuildwheel python/ --output-dir wheelhouse --debug-traceback

# to supply options, put them in 'env', like:
env:
# CIBW_BUILD_VERBOSITY: 3
CIBW_BUILD_FRONTEND: build
# MACOSX_DEPLOYMENT_TARGET: "13.0"
CIBW_BEFORE_TEST: pip install pytest
CIBW_TEST_COMMAND: pytest {project}/python/tests --import-mode=importlib

- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-${{ matrix.os }}
path: ./wheelhouse/*.whl

publish_to_testpypi:
name: Publish Python 🐍 wheels 🛞 to PyPI
if: github.event_name == 'release'
needs: build_wheels
runs-on: ubuntu-latest
environment:
name: pypi
url: https://test.pypi.org/p/yaeos
permissions:
id-token: write # IMPORTANT: mandatory for trusted publishing
steps:
- name: Download all the dists
uses: actions/download-artifact@v4
with:
path: dist/
pattern: cibw-wheels-*
merge-multiple: true
- run: ls -R dist
- name: Publish distribution 📦 to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
skip-existing: true
26 changes: 19 additions & 7 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,40 @@ on: [push, pull_request, workflow_dispatch]

jobs:
documentation:
runs-on: ubuntu-22.04

env:
FC: gfortran
GCC_V: 12
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Setup Fortran Compiler
uses: fortran-lang/setup-fortran@v1
id: setup-fortran
with:
compiler: "gcc"
version: 14

- name: Install Dependencies Ubuntu
run: |
sudo apt-get update
sudo apt install -y gfortran-${GCC_V} python3-dev graphviz
sudo apt install -y python3-dev graphviz pandoc libblas-dev liblapack-dev
sudo pip install ford markdown
pip install -r python/docs/requirements.txt
pip install -r python/requirements-build.txt
pip install -v python/

- name: Build Developer Documentation
run: |
ford ford.md
cd python/docs
sphinx-build -b html source build
rm -r ../../doc/ford_site/page/python-api
mv build ../../doc/ford_site/page/python-api
cd ../../
touch doc/ford_site/.nojekyll

- name: Upload Documentation
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: documentation
path: doc/ford_site
Expand Down
62 changes: 62 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
*.whl
fitting_data
ge_test_vals.txt
co2
plot*
model.py
psat_fit
fort.*
.stuff
build
.vscode
tools/Makefile
Expand All @@ -8,10 +17,12 @@ doc/ford_site
*.smod
*mypy*
*.so
*.egg-info
tools/uml
tools/uml.png
tools/uml.svg
python/yaeos/script.py
__pycache__
iso
log
coverage.xml
Expand Down Expand Up @@ -56,3 +67,54 @@ log2
para.py
tools/plotting/pt_envel_2ph.gnu
tools/notebooks/other.ipynb
dist
python/py
.tox
.coverage
tmp_editable
hsprpxy
iters
n2c8data
prpxy
wheelhouse
python/numpy-2.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
python/yaeos-0.1.0-cp312-cp312-linux_x86_64.whl
python/fpm_build
tools/notebooks/saturation.ipynb
app/coso.f90
app/fit_vl_vp.f90
app/mine.f90
app/fit_co2-bi.f90
gf.py
kij_sweep
kij_sweep2
lnphi.gnu
sweep
err
bench
GPECIN.DAT
GPECOUT.DAT
gpecplot.gp
save.DAT
fla.py
script.py
python/playground.ipynb
clap
cos
env
envlog
lg
pl
asd
coso
envlops
f
pt
pt_cp
pt_hpl
gpec_cl1.dat
gpec_cl2.dat
gpec_cl3.dat
gpec_psat1.dat
gpec_psat2.dat
gpecout
Loading
Loading