idaes-pse
idaes-pse copied to clipboard
[WIP] Add PBR (packed bed reactor) model to IDAES
Fixes
Summary/Motivation:
This PR will add a packed bed reactor (PBR) unit model to IDAES. The PBR model is based on the PFR model that already exists in IDAES. The PBR model can be used to model packed-bed catalytic reactions.
[WIP] Tests for the PBR model
Possible unit inconsistency: Units for heat_duty
obtained using the PBR are W/m whereas in this PFR example, the units of heat_duty
are assumed to be W for the PFR (PBR model is based on the PBR)
Changes proposed in this PR:
- Add PBR unit model
- Add tests for PBR unit model
Legal Acknowledgement
By contributing to this software project, I agree to the following terms and conditions for my contribution:
- I agree my contributions are submitted under the license terms described in the LICENSE.txt file at the top level of this directory.
- I represent I am authorized to make the contributions and grant the license. If my employer has rights to intellectual property that includes these contributions, I represent that I have received permission to make contributions and grant the required license on behalf of that employer.
@kanishka-ghosh I have thought about this a little bit more, and I am beginning to wonder if this is the wrong way to go about modeling these systems. Notably, this approach assumes the reaction kinetics and a the catalyst material are separate - i.e. the catalyst proprieties are set on the unit level an the reaction properties are in the separate reaction package. I can see a number of issues that then arise from this, such as unit and thermodynamic consistency. I.e. the reaction kinetics are all based on a specific catalyst (activation energy and pre-exponential factor) which are at least partially coupled to the catalyst voidage and bulk density.
I wonder if the better approach is to instead build the catalyst properties into the reaction package and just use the standard reactor models (e.g. PFR). This keeps the catalyst and reaction properties coupled to ensure consistency is maintained. Basically, my proposal is that the reaction package should contain the catalyst parameters (bulk density and voidage) and the necessary calculations to take the experimental reaction rate in mol/s.kg_catalyst
and provide the corrected volumetric reaction rate (in mol/s.m^3
) - basically just move all the calculations to the reaction package.
@aostace01 @chineduobiora Do you have any thoughts on this?
@kanishka-ghosh I have thought about this a little bit more, and I am beginning to wonder if this is the wrong way to go about modeling these systems. Notably, this approach assumes the reaction kinetics and a the catalyst material are separate - i.e. the catalyst proprieties are set on the unit level an the reaction properties are in the separate reaction package. I can see a number of issues that then arise from this, such as unit and thermodynamic consistency. I.e. the reaction kinetics are all based on a specific catalyst (activation energy and pre-exponential factor) which are at least partially coupled to the catalyst voidage and bulk density.
I wonder if the better approach is to instead build the catalyst properties into the reaction package and just use the standard reactor models (e.g. PFR). This keeps the catalyst and reaction properties coupled to ensure consistency is maintained. Basically, my proposal is that the reaction package should contain the catalyst parameters (bulk density and voidage) and the necessary calculations to take the experimental reaction rate in
mol/s.kg_catalyst
and provide the corrected volumetric reaction rate (inmol/s.m^3
) - basically just move all the calculations to the reaction package.@aostace01 @chineduobiora Do you have any thoughts on this?
@kanishka-ghosh, I agree with @andrewlee94. I think the model is relatively simple and close enough to the PFR that that’s a reasonable way to go.
This is a great discussion. I asked @kanishka-ghosh to make a draft PR to get feedback just like this! @agarciadiego also helped with this example before his graduation. (Want to give credit and a shout-out.)
@kanishka-ghosh this is an interesting contribution, thanks for your efforts here. The IDAES library includes three gas-solid contactor models (FixedBed0D, MovingBed and BubblingFluidizedBed) that may be of interest to you. Relevant model, property/reaction package and flowsheet files may be found here: https://github.com/IDAES/idaes-pse/tree/main/idaes/models_extra/gas_solid_contactors.
@kanishka-ghosh Are you actively working on this? We have a big backlog of inactive PRs and I am trying to clear these up.
@andrewlee94 I have not been working on this PR recently. I plan to work on this towards the end of this month.
@adowling2, @kanishka-ghosh is this still active?
Yes, my intention is for this to get contributed.
For now, there does not seem to be much activity on this PR. I will close it for now to reduce clutter on the PR board and help us see what is outstanding for the upcoming release, but we can re-open this once activity start up again.
@kanishka-ghosh Sounds good.