Commit Graph

9867 Commits

Author SHA1 Message Date
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
ad19892583 Provide better error messages for Python extensions 2022-09-11 10:59:30 -04:00
Ray Speth
bcade68e3d Allow Delegator to delete Python rates 2022-09-11 10:59:30 -04:00
Ray Speth
cd7b90ff97 Register ExtensibleRate types with ReactionRateFactory 2022-09-11 10:59:30 -04:00
Ray Speth
4f45b14c98 Scan user-provided Python module for ExtensibleRate classes 2022-09-11 10:59:30 -04:00
Ray Speth
920adff6d6 Add machinery for managing user extensions 2022-09-11 10:59:30 -04:00
Ray Speth
0958f7cf31 [SCons] Extract Python module-building environment setup 2022-09-11 10:59:30 -04:00
Ray Speth
9875cb49f4 Make Delegator ownership optional for ExtensibleRate 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
Anthony Walker
c91e9eba6f Version documentation for MoleReactors 2022-09-09 13:51:46 -04:00
Anthony Walker
08698845e6 Updates to documentation
Co-authored-by: Ingmar Schoegl <ischoegl@lsu.edu>
2022-09-09 13:51:46 -04:00
Anthony Walker
a999ead68f Implements MoleReactor and ConstPressureMoleReactor, tests, and docs.
This commit implements MoleReactor and ConstPressureMoleReactor classes,
it adds the appropriate python interfaces for them, it also adds a test
comparing surface chemistry of mole reactors to traditional reactors.

test_component_names had a bug because the network was not initialized
so self.net.n_vars was 0 and the loop was never entered. Adding a line
to initialize the network reveal that the test failed for
IdealGasMoleReactor so the appropriate lines were added to fix it.

Add wrappers for Extensible...MoleReactor, update docs, comment fixes.
2022-09-09 13:51:46 -04:00
Ingmar Schoegl
e3080edd57 [OneD] Clarify docstring for StFlow::m_trans_shared 2022-09-05 13:28:19 -04:00
Ingmar Schoegl
3b2978ec03 [oneD] Deprecate Sim1D::solution/getSolution 2022-09-05 13:28:19 -04:00
Ingmar Schoegl
d67a1aa4b4 Address review comments
Co-authored-by: Bryan Weber <bryan.w.weber@gmail.com>
2022-09-05 13:28:19 -04:00
Ingmar Schoegl
da3f19a600 Clarify C++ transportType() as transportModel() and deprecate old method
Transport::transportType() is not consistent with nomenclature used in the
Python API, which uses Transport.transport_model.
2022-09-05 13:28:19 -04:00
Ingmar Schoegl
9af42f701e Clarify nomenclature for Solution::setTransportModel 2022-09-05 13:28:19 -04:00
Ingmar Schoegl
905709ce42 [samples] Create StFlow from Solution 2022-09-05 13:28:19 -04:00
Ingmar Schoegl
2b6b1a20bb [UnitTest] Update oneD Python tests 2022-09-05 13:28:19 -04:00
Ingmar Schoegl
f2984b5ae4 [Python] Create OneD objects from Solution 2022-09-05 13:28:19 -04:00
Ingmar Schoegl
cad3ab5051 [OneD] Set pressure automatically 2022-09-05 13:28:19 -04:00
Ingmar Schoegl
79c0a79e2f [OneD] Introduce Solution manager to OneD 2022-09-05 13:28:19 -04:00
Ingmar Schoegl
d03c0d6895 [OneD] Deprecate StFlow::setThermo 2022-09-05 13:28:19 -04:00
Ingmar Schoegl
de35145ef5 [OneD] Add docstrings for save/restore 2022-09-05 13:28:19 -04:00
Ingmar Schoegl
a64d2409ff Bump version to 3.0.0a3 2022-09-02 08:49:05 -04:00
Ingmar Schoegl
97e9a9cbba [samples] Fix fortran linking on macOS 2022-08-30 22:32:57 -05:00
Ingmar Schoegl
fd3f254691 [samples] Avoid redundant incdir/libdir entries 2022-08-30 22:32:57 -05:00
Ingmar Schoegl
009342ab33 [samples] Add missing F77 samples to SCons and unit tests 2022-08-30 22:32:57 -05:00
Ingmar Schoegl
b9762e8641 [samples] Fix f77 cxx flags 2022-08-30 22:32:57 -05:00
Ingmar Schoegl
af7625e052 [SCons] Remove unused code
The 'data' folder no longer has subfolders.
2022-08-30 13:45:34 -04:00
Ingmar Schoegl
e87749369e [samples] Fix CMAKE_CXX_STANDARD 2022-08-30 13:45:34 -04:00
Ingmar Schoegl
5753715733 [SCons] Ensure paths use posix-style separators 2022-08-30 13:45:34 -04:00
Ray Speth
c7d84a7018 Document Jacobian approximations 2022-08-30 13:23:38 -04:00
Ray Speth
c69d2fd073 Return string from Preconditioner::preconditionerSide 2022-08-30 13:23:38 -04:00
Ray Speth
f6415bfa28 Fix Jacobian term calculations for IdealGasMoleReactor 2022-08-30 13:23:38 -04:00
Ray Speth
ae8ed3aeac Fix Jacobian term calculations for IdealGasConstPressureMoleReactor
Make exclusion of terms that cause Jacobian to be dense explicit
rather than accidental.

Include full derivatives of species equation in the derivatives of the
energy equation, since this does not affect sparsity.
2022-08-30 13:23:38 -04:00
Ray Speth
57da9e3909 [Reactor] Make finite-difference Jacobian available
This is a useful reference for checking analytic or approximate Jacobian
formulations, even if it isn't a particularly good Jacobian to use for
integration generally.
2022-08-30 13:23:38 -04:00
Ray Speth
8c638bfa96 Implement IdealGasMoleReactor::componentName 2022-08-30 13:23:38 -04:00
Ray Speth
351db5c8a5 Fix temperature derivatives in reactor Jacobians
Finite differences were being calculated incorrectly due to the arguments
to the eval function being misinterpreted.
2022-08-30 13:23:38 -04:00
Ray Speth
357902cd3d Fix temperature delta for IdealGasConstPressureMoleReactor 2022-08-30 13:23:38 -04:00
Ray Speth
3fc279ed31 Make Reactor Jacobian available in Python 2022-08-30 13:23:38 -04:00
Ray Speth
9101e60b0b [Reactor] Remove unnecessary arguments from jacobian() 2022-08-30 13:23:38 -04:00
Ray Speth
5b2132a22e [Python] Simplify and generalize conversion of sparse matrices 2022-08-30 13:23:38 -04:00
Ray Speth
2ec692c850 [Reactor] Use right preconditioning by default
Using right preconditioning provides a more reliable performance benefit
even after the ignition event, allowing the solver to take reasonable
timesteps and showing a CPU-time benefit even for a single reactor with
the 100-species n-dodecane mechanism.
2022-08-30 13:23:38 -04:00
Ray Speth
4dfbfab981 Allow specifying left or right preconditioning 2022-08-30 13:23:38 -04:00
Ray Speth
0d7ca269ac Use override specifer in AdaptivePreconditioner 2022-08-30 13:23:38 -04:00
Ray Speth
245f851c81 Add more CVODES solver stats 2022-08-30 13:23:38 -04:00
Ray Speth
48b0998675 Combine CVODES stats retrieval functions 2022-08-30 13:23:38 -04:00