Skip to content
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

Create 'ReactorEdge' class in the reactor code to model edge interactions #203

Open
gkogekar opened this issue May 15, 2024 · 1 comment · May be fixed by Cantera/cantera#1697
Open

Create 'ReactorEdge' class in the reactor code to model edge interactions #203

gkogekar opened this issue May 15, 2024 · 1 comment · May be fixed by Cantera/cantera#1697
Labels
feature-request New feature request

Comments

@gkogekar
Copy link
Member

Abstract

The existing reactor code only considers gas, surface and the bulk phases. The existing edgephase between two surfaces (defined in Cantera thermo) and the corresponding kinetics needs to be included in the reactor model.

Motivation

The evalsurfaces() function in the reactor code solves for the surface concentrations based on the species' net production rates at each surface. If the edge is present in the model, additional rate terms are needed to account for the edge reactions.

Possible Solutions

Similar to the ReactorSurf class, a new ReactorEdge class can be implemented. This class will contain all necessary information such as two adjacent surfaces and length of the edge. The residual equations from evalSurfaces() must be updated to include edge reactions (or another function such as evalEdges() can also be implemented).

References

This was motivated by discussion on the Slack channel regarding surface diffusion modeling.

@gkogekar gkogekar added the feature-request New feature request label May 15, 2024
@speth
Copy link
Member

speth commented May 16, 2024

Thanks for writing this up, @gkogekar. I realize that this idea is quite timely, in light of #202. The second potential solution I described there, of separating ReactorSurface evaluation from the evaluation of a specific Reactor is probably the cleanest way to implement a ReactorEdge, given the number of phases that can be affected by an edge reaction -- up to 3 different surfaces and 3 different bulk phases, in addition to the edge itself.

@gkogekar gkogekar linked a pull request May 23, 2024 that will close this issue
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request New feature request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants