idaes-pse icon indicating copy to clipboard operation
idaes-pse copied to clipboard

[WIP] Add PBR (packed bed reactor) model to IDAES

Open kanishka-ghosh opened this issue 2 years ago • 4 comments

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:

  1. I agree my contributions are submitted under the license terms described in the LICENSE.txt file at the top level of this directory.
  2. 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 avatar Sep 07 '22 21:09 kanishka-ghosh

@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?

andrewlee94 avatar Sep 08 '22 13:09 andrewlee94

@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 agree with @andrewlee94. I think the model is relatively simple and close enough to the PFR that that’s a reasonable way to go.

chineduobiora avatar Sep 08 '22 14:09 chineduobiora

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.)

adowling2 avatar Sep 08 '22 18:09 adowling2

@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.

bpaul4 avatar Sep 15 '22 19:09 bpaul4

@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 avatar Nov 14 '22 14:11 andrewlee94

@andrewlee94 I have not been working on this PR recently. I plan to work on this towards the end of this month.

kanishka-ghosh avatar Nov 14 '22 15:11 kanishka-ghosh

@adowling2, @kanishka-ghosh is this still active?

ksbeattie avatar Jan 05 '23 19:01 ksbeattie

Yes, my intention is for this to get contributed.

adowling2 avatar Jan 05 '23 19:01 adowling2

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.

andrewlee94 avatar Feb 13 '23 21:02 andrewlee94

@kanishka-ghosh Sounds good.

adowling2 avatar Feb 13 '23 21:02 adowling2