-
Notifications
You must be signed in to change notification settings - Fork 38
Add reaction system all units #528
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
8c9e2a7 to
c8f0547
Compare
fd3ecd7 to
5fc1120
Compare
4bb22ad to
ede5229
Compare
|
Follow-up issue #544
|
|
Did these tests run before your changes or were they 'never' running? |
They were never running. They are part of the tests related to #476 |
jbreue16
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is so cool to have, thanks a lot !! :)
Maybe cadet/CADET-Verification#57 can be continued once we have nice test cases, e.g. from one of the planned publications?
| Cross phase reactions take place between a liquid phase and a solid phase. | ||
|
|
||
| To specify the number of reaction models, use the parameter at the column or particle level: | ||
| - ``NREAC_CROSS_PHASE`` for cross-phase reactions i.e. ``unit_XXX/NREAC_CROSS_PHASE`` or ``particle_type_XXX/NREAC_CROSS_PHASE``. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this specification should be in a unique place, without an option to choose particle or unit operation level? I don't care if this should go in the unit or particle level though... @schmoelder ?
ede5229 to
61756fc
Compare
Add ReactionSystem to all unit operation types
Summary
This PR extends the reaction system architecture to support reactions in all unit operation types and phases. The main improvement is consolidating reaction handling across bulk liquid, liquid phase in particles, and solid phase in particles into a unified framework, replacing the previous separate cross-phase reaction model approach.
Key Changes
Unified Reaction Parameters
MassActionLawReaction now supports phase-specific rate constants:
MAL_KFWD_BULK/MAL_KBWD_BULK- Forward/backward rates for bulk volume reactionsMAL_KFWD_LIQUID/MAL_KBWD_LIQUID- Forward/backward rates for particle liquid phaseMAL_KFWD_SOLID/MAL_KBWD_SOLID- Forward/backward rates for particle solid phaseModel Consolidation
MassActionLawReactionCrossPhasemodel (merged intoMassActionLawReaction)ReactionModel Interface Refactoring
Method naming and signatures updated for clarity:
residualFluxAdd()->residualLiquidAdd()(explicit phase indication)analyticJacobianAdd()->analyticJacobianLiquidAdd()numReactions()virtual methodExtended Unit Operation Support
All unit operations now support the complete ReactionSystem:
Documentation Updates
Further Changes
BandedEigenSparseRowIteratorfor matrix operationsCellParametersTesting
Note: This is a breaking change for custom reaction configurations.