Commit Graph

27 Commits

Author SHA1 Message Date
Ray Speth
4d509b5423 [Python] Fix Numpy 2.0 compatibility issues 2024-06-19 10:27:10 -04:00
Ray Speth
1b56a06cbb [Kinetics] Simplify input for extensible interface reactions
Fixes #1620
2024-06-11 22:25:21 -04:00
Ray Speth
5311183966 [Test] Add test for extensible interface reaction 2024-06-11 22:25:21 -04:00
Ray Speth
61ba170b2f [Test] Fix test order dependency in sticking reaction tests 2024-06-10 21:17:16 -05:00
Bang-Shiuh Chen
da64d8f66c [test] add TestElectronCollisionPlasmaReaction 2024-03-28 10:55:04 -04:00
Ray Speth
2050fee1b8 [Python/Test] Filter expected warnings 2023-07-02 09:58:03 -04:00
Ray Speth
b0a55f3965 [Python] Reuse existing Python wrappers for "adjacent" phases
The code for instantiating Python Solution wrappers for phases adjacent to an
interface did not link them as the wrapper to be used by ExtensibleRate objects.
2023-06-10 20:57:53 -06:00
Ray Speth
a40579e4ee [Python] Add test for directly-instantiated ExtensibleRate objects 2023-06-10 20:57:53 -06:00
Ray Speth
1760a3145f Implement ExtensibleRate.validate 2023-04-18 09:33:15 -05:00
Ray Speth
f1f0895ece [Python] Implement output unit conversions for AnyMap 2023-04-18 09:33:15 -05:00
Ray Speth
131ac1c421 Distinguish between rate units and units in rate parameterization
These differ specifically in the case of sticking reactions, where the
rate coefficient has units like m^3/kmol/s, depending on the reactant
orders while the sticking coefficient itself is dimensionless.
2023-04-18 09:33:15 -05:00
Ray Speth
5edba4e473 Add tests for rate coefficient units 2023-04-18 09:33:15 -05:00
Ray Speth
22ddb168fd [Python] Add basic serialization support for ExtensibleRate 2023-04-18 09:33:15 -05:00
Ray Speth
0c53011268 [Python] Add more complete handling of UnitStack in ExtensibleRate 2023-04-18 09:33:15 -05:00
Ray Speth
b9cf03faf3 Move undefined units handling into UnitSystem
Handling this centrally simplifies the implementation of user-defined
rate functions
2023-04-18 09:33:15 -05:00
Ray Speth
cbea8f62c3 [Python] Improve access to ExtensibleRate objects
Previously, accessing an ExtensibleRate object from a Reaction object
would create a new wrapper object rather than providing access to the
"original" object that is used by the ReactionRateDelegator, and this
wrapper object would not behave the same as the original object except
for methods that passed through via the Delegator.

Now, we return the underlying object, ensuring consistency. This requires
more complex memory management because the ExtensibleRate/Delegator pair
form a reference cycle that can be attached to other objects either from
the C++ or the Python side.
2023-04-18 09:33:15 -05:00
Ray Speth
fde6650a0b Deprecate most XML-era model names 2023-03-13 22:58:24 -05:00
Ray Speth
97839894e2 Fix spelling errors 2023-01-23 12:57:58 -05:00
Ray Speth
19d55aa426 Test ExtensibleRate memory management 2023-01-21 17:43:37 -06:00
Ray Speth
5e5e7dfd23 Remove need for prefixing required delegates 2023-01-21 17:43:37 -06:00
Ray Speth
f687bfdbf7 Implement ExtensibleRateData for Python interface 2023-01-21 17:43:37 -06:00
Ray Speth
ad78ce5aba Test error conditions for ExtensibleRate 2022-09-11 10:59:30 -04:00
Ray Speth
bf1e2b4b73 Implement delegation of ReactionRate::setParameters 2022-09-11 10:59:30 -04:00
Ray Speth
da59a9044a Use decorator to register ExtensibleRate objects 2022-09-11 10:59:30 -04:00
Ray Speth
6e23308948 Pass an arbitrary argument to user rate function 2022-09-11 10:59:30 -04:00
Ray Speth
9dcb02c00b Minimal implementation of ExtensibleRate 2022-09-11 10:59:30 -04:00
Ingmar Schoegl
6e3c7e8296 [UnitTests] Move Python test suite and update SCons build process 2022-08-06 15:11:53 -04:00