200 Commits

Author SHA1 Message Date
Ian Bell
d5761cb150 Use ninja for the examples (#2635)
* Use ninja for the examples

Should help a little bit with doc building

* FIx some templates

* Fix template deduction error in count_x_for_y_many functions

The count_x_for_y_many and count_x_for_y_manyC functions were using
a single template parameter for both input (double) and output (size_t)
arrays, causing template deduction failures in Cython bindings.

Changed to use separate template parameters YContainer and CountContainer
to properly support different types for input y values and output counts.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix types in PXD header too

* Docs should get ninja too

* Changes from clang-format

* Fix git diff argument order in clang-format script

The script was comparing PR_BRANCH to TARGET_BRANCH, which shows changes from the PR branch to the target (what's in target that's NOT in PR). For PR validation, we need the opposite: changes from target to PR (what's in PR that's NOT in target).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix Cython template deduction errors in solve_for_x_manyC and count_x_for_y_manyC

Add explicit template parameters [double, size_t] to both function calls
to resolve template type deduction errors when compiling with Cython.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix wheel building by removing return from void Cython template calls

The functions solve_for_x_manyC and count_x_for_y_manyC return void in C++.
When Cython sees a return statement with a void function call containing
template arguments with commas (e.g., [double, size_t]), it wraps the call
in the __Pyx_void_to_None macro. This macro is a simple preprocessor macro
that cannot handle the commas in template arguments, treating them as macro
argument separators instead.

The fix is to remove the return statements, making these simple void function
calls. This prevents the __Pyx_void_to_None wrapping and allows the wheel to
build successfully.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-10-12 09:28:57 -04:00
Ian Bell
b4f60955ef Try to relax a tolerance to get plots tests to pass 2025-08-07 18:40:09 -04:00
Ian Bell
a21f8eaccc Update plot test data with auto-generation script
Closes #2536
See #2484
2025-07-04 12:25:45 -04:00
Ian Bell
df23e1c568 Fix reference states to match REFPROP 10.0
Something weird with incbin not pulling in new version of file
2025-06-15 09:07:07 -04:00
Ian Bell
267d64533a Superancillaries for pure fluids (#2511)
* Expansions are fully wrapped, looking good. Next step is the set of expansions that is the 1D approximation

* Get 1D approx working via cython

* Count solutions

* SuperAncillary class is working

>1000x speedup for water
Time for C++!

* Superancillaries are working!

In C++, speedup is more than 2000x. In Python, more like 150x because of Python <-> C++ overhead

* Add pmax check for PQ superancillary calls

* Update tests

* Allow T limits to be obtained

* Implement get_fluid_parameter_double for getting superanc value

* Add tests for getting parameters from superanc

* Script for testing superancillaries for sphinx

* Microoptimizations; don't help speed

The limiting factor remains the clear function, which takes about 30 ns

* Add R125 superancillary

* Use the release from fastchebpure for the files

* Drop a .gitignore in the unzipped folder

* Update superancillary injection script

* Turn on superancillaries by default

* Missing header

* Many int conversions in superancillary

* Another int cast

* More annoying solution for boost iter max

* Fix warnings

* One more warning

* Clear up the calculation of rho

* Update docs_docker-build.yml

Use arm64 since the containers were built on mac

* Superfluous ;

* Update backend.py

* Get the critical points working for superancillaries

* Fix wrapping changes of xmin&xmax methods

* squelch warnings

* Version 0 of jupyter notebook for docs

* Try to add the notebook to the docs

* Add jupyter notebook for superancillary

* Lots of updates to superancillary notebook

* More updates to docs

* Skip pseudo-pure for superancillary docs

* Fix output of superancillary figures

* Add superancillary plots to docs for the page for each fluid

* Make a placeholder figure for fluids without superancillary

* Add superancillary plots to task list

* Bump to release fixing m-xylene

* Relax the location of the REFPROP stuff

* Change default name for R-1336mzz(E)

* No need for figures to be so large

* Don't need REFPROP setting

* Bump to fastchebpure release with methanol

* Benchmark caching options

* Benchmark more granularly

* Add the fast methods to public API for HEOS class

* Back to memset - can memset with 0 but no other value

* Fix how caching is managed in Helmholtz class

* Close to final implementation

Perhaps a tiny bit more optimization possible?

* Update function name

* Make message more accurate

* Fix init order

* Expose update_QT_pure_superanc to Python

* Fix when _reducing is set for pures

* Fix the post_update

* Indent

* Notebook

* Notebook

* Make ln(p) construction lazy

Only really matters for debug builds

* Also make reference non-const

* Inject superancillary for methanol

* Make the superancillary loading entirely lazy in debug

* Fix PH bug for Nitrogen

 Closes #2470

* Force the clear to be called on SatL and SatV

To invalidate them at start

* Default is non-lazy superancillary loading

* Add CMake option to have lazy-loading superancillaries [skip ci]

Not a good idea unless doing very narrow testing
2025-05-17 20:27:19 -04:00
Ian Bell
347ab5d813 Fix bug in example generation script warning on OSX [skip ci] 2025-04-21 09:36:28 -04:00
Ian Bell
9787e03eb2 Turn octave back on in docs [skip ci] 2025-04-21 09:35:54 -04:00
Ian Bell
6b0a94c97f Ignore example build folders and mathjax [skip ci] 2025-04-21 09:35:26 -04:00
Ian Bell
eb6cef3160 Add some info for how to get java working 2025-04-07 20:44:42 -04:00
Ian Bell
700a1ac7df Assume R to be provided by homebrew on mac 2025-04-07 19:37:33 -04:00
Ian Bell
8484f8fb71 Inject superanc 2025-03-10 20:32:22 -04:00
Jorrit Wronski
8d3aec55c4 Prepare for v6.4.3 2022-12-16 11:35:35 +01:00
Jorrit Wronski
9faf4ae9bb Prepare for v6.4.2 2022-12-13 14:03:39 +01:00
Jorrit Wronski
ce63a3c01e Finished labelling all the closed issues and PRs 2022-12-08 00:11:53 +01:00
Jorrit Wronski
2841dfe217 Build the docs for v6.4.2 (#2191)
- Streamlined the build of the HTML documentation based on a private docker image.
- Invoke doxygen and Sphinx to create the final HTML pages.
- Employ a cache for the GitHub actions to store the output of the expensive tasks.
- Restructured the GitHub actions builders and introduced a naming scheme.
- Fixed a few typos in the docs.
- Automatically publish the documentation to GitHub pages.
2022-12-07 11:55:16 +01:00
Julien Marrec
6913fc41dc Format macros, they keep getting picked incrementally by clang format + Strip trailing whitespaces
```
find . -regextype posix-extended -regex '.*\.(cpp|hpp|c|h|cxx|hxx|py)$' | xargs -I@ sed -i 's/[ \t]*$//' "@"
```
2022-04-01 07:39:35 -04:00
Ian Bell
eca6a2b16e Try to specify the java path when running java example; see #1963 2020-08-08 15:37:42 -04:00
Jorrit Wronski
2096e4f122 Disable the example generator when building the web docs. 2020-07-30 09:24:31 +02:00
Jorrit Wronski
779520d3f3 One more attempt to handle #1933 2020-07-29 11:02:39 +02:00
Jorrit Wronski
51e03754cc One more permission change in the release script. 2020-05-11 09:59:28 +02:00
Jorrit Wronski
ff4c6e0eea Our hosting provider tags some files in the pybind module as potentially harmful and makes the unreadable. This seems to be what kept breaking the nightly builds... 2020-05-11 09:52:44 +02:00
Ian Bell
d623fc2027 Make all REFPROP fluids uppercase 2020-05-01 11:30:06 -04:00
Jorrit Wronski
fb1ff7de7d Exclude the GNU/Linux libraries, they caused an error in the release process 2019-05-22 08:22:18 +02:00
Jorrit Wronski
9142a1373c Force permissions on SourceForge as discussed in #1828 2019-05-21 22:43:34 +02:00
Jorrit Wronski
057941be07 Learnings from releasing v6.3.0 2019-05-19 23:15:32 +02:00
Jorrit Wronski
72c22a6454 Ready for v6.3.0? 2019-05-18 09:46:35 +02:00
Jorrit Wronski
d83c05a372 back to python 3 2019-05-18 00:13:16 +02:00
Jorrit Wronski
5e73550523 typo in Python script 2019-05-17 23:52:28 +02:00
Jorrit Wronski
ed95d7cbdf Updated docs and release script 2019-05-17 23:48:58 +02:00
Jorrit Wronski
30eeb120b3 First working version of the update release docs and scripts 2019-05-17 22:49:14 +02:00
Ian Bell
66a2c9c435 A nicer reference sstate setter function 2019-01-27 15:56:19 -07:00
Ian Bell
933e1a7343 Update state injector script 2019-01-22 21:09:22 -07:00
Ian Bell
3b1eb50324 More pep8 whitespace; see #1612 2019-01-12 20:45:25 -07:00
Ian Bell
8d131a2e59 More safe whitespace changes 2019-01-12 20:24:55 -07:00
Ian Bell
0749936bc3 Use new linux example runner 2019-01-11 18:58:28 -07:00
Ian Bell
feacf2abf3 Make example runner run in python 3 on linux 2019-01-11 18:58:28 -07:00
Jorrit Wronski
fe7c8f1805 Feature/recent compilers (#1783)
This fixes many issues: 
- Python packages can be built with XCode 10, closes #1782 
- Handling of CMake options for OSX stdc++ is streamlined
- TR1 warnings from MSVC 2017 have been silenced
- Nightly builds fixed, closes #1778 
- Documentation builds fixed, closes #1762 
- Python source packages are updated with recent Cython, closes #1777
2019-01-11 11:42:55 +01:00
Ian Bell
54dab7e73a Fix R path 2019-01-10 15:49:21 -07:00
Jorrit Wronski
0fcc744286 Changed the Javscript builder and release settings 2018-10-28 08:36:25 +01:00
Jorrit Wronski
5231cd9ab2 Getting ready for v6.2, #1604 has already been closed, updated changelog 2018-10-26 17:26:46 +02:00
scls19fr
5045c96322 Fix Python print (#1746)
* Fix print

* Some manual fixes

* Revert
2018-10-19 22:59:31 +02:00
luzpaz
93f4a986e2 Misc. typos (#1726)
Found via `codespell -i 3 -w -I ../coolprop-word-whitelist.txt` whereby whitelist consists of:
```
cas
formate
hel
nd
te
tim
ue
uint
```
2018-08-14 23:06:49 -06:00
Matthis Thorade
19a4875879 More autopep8 (#1621)
* autopep8 rule-groups E101,W1,W2,W3

* autopep8 with rule group E3 (blank lines)

autopep8 --in-place --recursive --max-line-length=200 --exclude="externals" --select="E101,E3,W1,W2,W3" .

* tabs and space W191

* autopep8 aggressive
2017-12-13 14:43:41 +01:00
Matthis Thorade
526cb198a4 autopep8 whitespace (#1613)
* autopep8 whitespace only:

--select="E101,W1,W2"

* revert single file: web2py_online.py

Should this be a .py file at all?

* revert file Tickets/1443.py because the diff looked strange:

maybe there is an encoding problem?

* Rename web2py_online.py to web2py_online.rst
2017-12-12 08:32:38 -07:00
Ian Bell
a0e7c7680d Disable the MATLAB examples 2017-11-19 22:35:11 -07:00
Jorrit Wronski
4a4e3232a5 Reducing the push frequency for the coverity_scan branch, coupling it to the nightly builds 2017-04-22 00:01:06 +02:00
Jorrit Wronski
3fe5e7dfe6 Fixed the scripts to handle the coverity_scan 2017-04-21 23:52:36 +02:00
Jorrit Wronski
053448af20 Update release.bsh
An attempt to handle #1469
2017-04-10 00:10:31 +02:00
Ian Bell
a6c778977a Fix formula for deuterium; see #1396
Add testing script
2017-03-14 19:50:06 -06:00
Ian Bell
ebd6eb0907 Update ECS fitter script for python 3 2016-11-21 23:07:36 -07:00