Ray Speth
f19bd3f77d
[Thermo] Use current partial molar volumes in BinarySolutionTabulatedThermo
...
Previously, calculations of partial molar enthalpies, entropies, and chemical
potentials were using the pure-species molar volumes rather than the ones
calculated by inverting the tabulated mixture molar volume.
2023-03-03 23:14:15 -05:00
Ray Speth
8658c1bcdf
[Thermo] Add missing pressure term to IdealSolidSolnPhase::gibbs_mole
2023-03-03 23:14:15 -05:00
Ray Speth
597d6e907d
Fix interpolation of partial molar volumes in BinarySolutionTabulateThermo
...
Calculate partial molar volumes based on linearly interpolated dV/dXtab
rather than linearly interpolating the partial molar volumes themselves,
which does not satisfy the identity Vm == sum(vm[k]*X[k]).
2023-03-03 23:14:15 -05:00
Ray Speth
4a49ed891e
Fix serialization of BinarySolutionTabulatedThermo
...
Tabulated molar volumes were not being included in YAML output
2023-03-03 23:14:15 -05:00
Ray Speth
c54e429472
Add callbacks for synchronizing with C++ Solution members
...
Objects that need to hold pointers to the members of a C++ Solution,
like the Python Solution object or StFlow, can register a callback
with the Solution that will be called if any of the thermo/kinetics/transport
objects change.
Fixes #1409
2023-02-27 19:49:38 -06:00
Ray Speth
6392724bd0
Fix setuptools warning about package data
...
Setuptools started giving the warning:
"Installing 'cantera.test' as data is deprecated, please list it in
`packages`."
for the data, test, and examples directories.
2023-02-24 19:32:34 -05:00
Ray Speth
98eb6dadd7
[SCons] Avoid compiler warnings from non-Cantera headers
2023-02-24 19:32:34 -05:00
Ray Speth
e39d1e85be
Fix warning from implicit type conversion in format string
2023-02-24 19:32:34 -05:00
Ray Speth
26fcb399e3
Fix warnings about sprintf from Apple Clang
...
Starting in macOS 13.2, the use of sprintf started generating
deprecation warnings, even though it's not deprecated by the C++ standard.
2023-02-24 19:32:34 -05:00
Ray Speth
5810a2abe4
Fix some compiler warnings
2023-02-24 19:32:34 -05:00
Ray Speth
bf7d079f8a
[CI] Run with _GLIBCXX_ASSERTIONS enabled
2023-02-24 19:32:34 -05:00
Ray Speth
e494c0a926
Fix issues identified by _GLIBCXX_ASSERTIONS macro
...
Resolves #1430
2023-02-24 19:32:34 -05:00
Gandhali Kogekar
924bdf3ff3
Removing another redundant line
2023-02-17 15:05:49 -06:00
Gandhali Kogekar
4958ba9220
Cleaning up the redundant line inside the for loop
2023-02-17 15:05:49 -06:00
Ingmar Schoegl
3d434130bd
Bump version to 3.0.0a4
2023-02-16 13:31:06 -05:00
Ingmar Schoegl
7cf69d2933
Update Copyright information
2023-02-16 13:31:06 -05:00
Ingmar Schoegl
97d4755e25
Fix author order
2023-02-16 13:31:06 -05:00
Ingmar Schoegl
1c9c63c353
[SCons] Check for pytest when running scons test
...
Addendum to #1434 ; update ensures that checks are run for all tests of
the test suite that involve pytest.
2023-02-16 13:31:06 -05:00
Ingmar Schoegl
ba76a7be0a
[dotnet] Replace 'RP' by 'DP'
2023-02-10 19:27:26 -06:00
Ingmar Schoegl
474dc293e5
[matlab] Redirect RP setter to thermo_set_DP
2023-02-10 19:27:26 -06:00
Ingmar Schoegl
b20cfec0fc
[clib] Add set_thermo_TD/DP
2023-02-10 19:27:26 -06:00
Ingmar Schoegl
84153559b7
[Thermo] Rename setState_RP to setState_DP
...
Also deprecate full state setters.
2023-02-10 19:27:26 -06:00
Ingmar Schoegl
8a81299ff5
[Thermo] Deprecate setState_TRX/Y
2023-02-10 19:27:26 -06:00
Ingmar Schoegl
3113f2554d
[Thermo] Rename setState_TR to setState_TD
2023-02-10 19:27:26 -06:00
Sergey Torokhov
0ce1a1b516
[Scons] Remove "install" target from "check_for_pytest"
...
The `check_for_pytest` depends on `check_for_ruamel_yaml`
the pytest package is required on `install` phase and it results in
the Cantera installation fail if pytest absent
even if tests were not required.
This patch swap `check_for_pytest` and `check_for_ruamel_yaml`
dependency order.
The explicit `test-python-convert`, `test-python` targets are dropped
from `check_for_ruamel_yaml` because the `check_for_pytest`
includes `target.startswith("test-python")`.
Signed-off-by: Sergey Torokhov <torokhov-s-a@yandex.ru>
2023-02-10 18:50:19 -06:00
Ray Speth
808023c0fa
[SCons] Trim set of symbols exported in cantera_shared.dll
2023-02-02 18:33:16 -06:00
Ray Speth
b66a249581
Handle multiple versions of Python extensions
2023-02-02 18:33:16 -06:00
Ray Speth
1c5595e16c
[SCons] Consolidate addition of build/lib to search path
2023-02-02 18:33:16 -06:00
Ray Speth
360e85b163
Check for match between shared lib and Python module
...
When the Python module is linked to the Cantera shared library,
it is possible that a user has multiple incompatible versions of
the library installed. This checks that the Cantera version and
Git commit are the same when importing the Python module, to avoid
crashes or erroneous behavior due to ABI mismatches.
2023-02-02 18:33:16 -06:00
Ray Speth
57a95782d6
Add function to distinguish shared vs static linking at runtime
...
This is important because extensions can only be loaded correctly when
Cantera is linked as a shared library.
2023-02-02 18:33:16 -06:00
Ray Speth
36ccb1b3e1
Fix export of registration function when using MinGW
2023-02-02 18:33:16 -06:00
Ray Speth
6910c8d839
[CI] Show timing info for brew install commands
...
Trying this to understand why this step can sometimes take
upwards of 8 minutes.
2023-02-02 18:33:16 -06:00
Ray Speth
7a891d0685
[CI] Use newer Python/Windows for MinGW builds
2023-02-02 18:33:16 -06:00
Ray Speth
caa99f88de
[CI] Upload MinGW libraries and gtest binaries for debugging
2023-02-02 18:33:16 -06:00
Ray Speth
5729492c2c
[CI] Disable mucking around with MinGW libraries
2023-02-02 18:33:16 -06:00
Ray Speth
ca527b48c4
[CI] Upload wheel from MinGW to enable debugging
2023-02-02 18:33:16 -06:00
Ray Speth
922759965c
[SCons] Link to shared standard libraries with MinGW
...
This requires copying the relevant MinGW runtime libraries into the
Python module.
2023-02-02 18:33:16 -06:00
Ray Speth
74fd8795c8
[SCons] Restore functionality of buildutils.which
...
Broken in 97fc050bde
2023-02-02 18:33:16 -06:00
Ray Speth
713b7b118f
[SCons] Enforce minimum MACOS_DEPLOYMENT_TARGET
...
10.15 or newer is required for C++17 support
2023-02-02 18:33:16 -06:00
Ray Speth
7f93a6292d
Bump vendored Eigen to version 3.4.0
2023-02-02 18:33:16 -06:00
Ray Speth
081f434cf6
[SCons] Link tests and samples to shared library on Windows
2023-02-02 18:33:16 -06:00
Ray Speth
3c9af75f05
Bump vendored fmt library to version 9.1.0
...
This version properly exports all necessary DLL symbols, eliminating the
need to embed it separately in the Cython module.
2023-02-02 18:33:16 -06:00
Ray Speth
ae9687ad36
Handle case where extension manager comes from existing Python module
2023-02-02 18:33:16 -06:00
Ray Speth
8114f2f828
[SCons] Link Python module to Cantera shared library
2023-02-02 18:33:16 -06:00
Ray Speth
5ae4847239
Introduce cantera_python shim and load only when needed
...
This eliminates the need to directly link the Cantera shared library
or Cantera applications to libpython.
2023-02-02 18:33:16 -06:00
Ray Speth
29c7094b80
[SCons] Compile using C++17 standard
...
This is a prerequisite to using Boost.DLL with the std::filesystem library.
2023-02-02 18:33:16 -06:00
Ray Speth
e428489656
Eliminate obsolete CANTERA_USE_INTERNAL
2023-02-02 18:33:16 -06:00
Ray Speth
076dff7462
[SCons] Automatically export symbols for DLL
2023-02-02 18:33:16 -06:00
Ray Speth
626ab1e554
Add "using" directives for common types
2023-02-02 18:33:16 -06:00
Ray Speth
cc0377deec
Fix compilation failures with PCH and Eigen
...
Compilation of polyfit.cpp was failing with GCC on some systems with the
error: "second argument to '__builtin_prefetch' must be a constant"
2023-02-02 18:33:16 -06:00