Commit Graph

10230 Commits

Author SHA1 Message Date
Ray Speth
e82f932119 [Python] Clarify use of unit conversion functions 2023-04-18 09:33:15 -05:00
Ray Speth
8f3b106fdf Update ExtensibleReaction example to model additional methods 2023-04-18 09:33:15 -05:00
Ray Speth
1760a3145f Implement ExtensibleRate.validate 2023-04-18 09:33:15 -05:00
Ray Speth
e053f58e61 [Kinetics] Make Solution object available while adding reactions 2023-04-18 09:33:15 -05:00
Ray Speth
b2120c513b [Delegator] Move handling of Solution wrapper name to ExtensionManager 2023-04-18 09:33:15 -05:00
Ray Speth
7537d15d0f Make functions with signature void(string&, void*) delegatable 2023-04-18 09:33:15 -05:00
Ray Speth
3e07f34f4f Update gitignore 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
d29cd1b5bc [Kinetics] Simplify falloff serialization 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
20977ef95f [Test] Avoid modifying shared Solution object 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
2def1d89b3 Fix setting of Reaction.rate_units 2023-04-18 09:33:15 -05:00
Ray Speth
ee0d7dd3d5 Fix calculateRateCoeffUnits for falloff reactions
The forward rate constants for falloff and chemically activated reactions
already incorporate the third-body dependency, so the units should only
reflect the explicit reactants. This was being compensated for when
setting the units of the high/low pressure rate expressions, so it did
not affect any results.
2023-04-18 09:33:15 -05:00
Ray Speth
b676438d1d Include AnyMap in Python docs 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
6de0d02de0 Centralize serialization of ReactionRate 'type' attribute 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
ae7b1585f6 Add holdExternalHandle to Delegator 2023-04-18 09:33:15 -05:00
Ray Speth
6c45457d6e [Python] Add unit handling to AnyMap 2023-04-18 09:33:15 -05:00
Ray Speth
c2863ce4be [Python] Add UnitSystem.convert_to / convert_activation_energy_to 2023-04-18 09:33:15 -05:00
Ray Speth
8ff7a71ae8 [Cython] Update function names for AnyMap conversions 2023-04-18 09:33:15 -05:00
Ray Speth
4b88a20d34 [Cython] Retain units info when converting AnyMap to Python 2023-04-18 09:33:15 -05:00
Ray Speth
803f106c37 [Cython] Use built-in declarations for shared_ptr 2023-04-18 09:33:15 -05:00
Ray Speth
6e2a5c0a41 [Equil] Handle factorization errors in initial estimator
Fixes #1473
2023-04-17 17:56:28 -05:00
Ingmar Schoegl
055a530af4 Bump version to 3.0.0a5 2023-04-16 16:29:08 -04:00
Ingmar Schoegl
0c6a566d0b [onedim] Fix order of components
A domain may define extra state entries added after species, where the
appropriate order needs to be maintained.
2023-04-16 16:29:08 -04:00
Ingmar Schoegl
2f98dd402a Fix doxygen copydoc targets 2023-04-16 16:29:08 -04:00
Ingmar Schoegl
a1ca8d0d4d [Python] Use UnstrainedFlow for BurnerFlame 2023-04-14 15:37:13 -04:00
Ingmar Schoegl
ef8c935b2c [oneD] Add unstrained-flow domain 2023-04-14 15:37:13 -04:00
Ingmar Schoegl
708a8bfbba [CI] Force system_highfive on windows-2022 2023-04-14 13:06:45 -04:00
Ingmar Schoegl
bc07e52332 [HDF] Enable native HighFive Boolean 2023-04-14 13:06:45 -04:00
Ingmar Schoegl
4569fcdcd3 [HDF] Fix clash of names with new upstream function
HighFive 2.7.0 introduces a new create_enum_boolean function, which
clashes with an existing local function in Storage.cpp.
2023-04-14 13:06:45 -04:00
Ingmar Schoegl
cffcca7e7b [SCons] Detect HighFive version
Also use system installation by default.
2023-04-14 13:06:45 -04:00
Ingmar Schoegl
1f1751b16c [unittest] Add tests for SolutionArray.info 2023-04-10 21:59:35 -04:00
Ingmar Schoegl
38b51fd7f7 [Python] Detect width of terminal for SolutionArray.info 2023-04-10 21:59:35 -04:00
Ingmar Schoegl
756f595604 [Python] Support select_species in SolutionArray 2023-04-10 21:59:35 -04:00
Ingmar Schoegl
ec454fce6a [SolutionArray] Select keys in SolutionArray::info 2023-04-10 21:59:35 -04:00
Ingmar Schoegl
1df5ec4f3c [Python] Use SolutionArray.info for __repr__ 2023-04-10 21:59:35 -04:00
Ingmar Schoegl
b9b84738dc [Python] Add SolutionArray.info 2023-04-10 21:59:35 -04:00
Ingmar Schoegl
0b7b493667 [SolutionArray] Implement SolutionArray::info 2023-04-10 21:59:35 -04:00
Anthony Walker
9f25dd5ee3 Typo fixes and move setting of composition dependence. 2023-04-10 21:01:41 -04:00
Anthony Walker
03d1ecd13c This commit fixes types, updates tests, and composition dependence
`test_net_rop_ddCi` was updated to use and account for reaction orders
appropriately. Many updates to docstrings and comments. Typo fixes.
usesCoverageDependence was also implemented in a more generic manner
so it can be extended to other reaction types.
2023-04-10 21:01:41 -04:00
Anthony Walker
cfee65f854 This commit adds some simple reactor jacobian tests and fixes bugs
The indexing has been fixed and works with multiple surfaces correctly avoiding
non-interacting phases. Tests were added to compare simple surface jacobians, gas
phase jacobians, and single reactions. Removed surface contribution to energy
equation terms as these contributions are not currently included in the system
of equations and caus spurious entries.
2023-04-10 21:01:41 -04:00
Anthony Walker
f3ebe53415 This commit addresses requested PR changes.
Updating documentation, notation, renaming, etc. It also fixes some
bugs that were founded. It finally adds a couple of methods to specify
if a surface has certain reaction types
2023-04-10 21:01:41 -04:00
Anthony Walker
30369efdcd Fix documentation building and change _ddN to _ddCi 2023-04-10 21:01:41 -04:00
Anthony Walker
69d63d5f2b Implement other _ddN interfaces, tests, and missing interface functions 2023-04-10 21:01:41 -04:00
Anthony Walker
f3df9b07e2 Update to MoleReactor surface jacobian function and test
This commit updates the way the Jacobian is translated to the reactor
jacobian and fixes the bug that causes difference by a factor of area
and volume. A test is added to compare two reactors with various bulk
phases and different orders of the phases.
2023-04-10 21:01:41 -04:00