Hi all,

I have built a simulation for chemical reactions system in the tanks-in-series case. So far, the simulation results from CADET match those from MATLAB for a steady-state.

If we have unsteady-state operation of the reactor, where the temperature profile inside the reactor must be simulated, can we do that kinda simulation within CADET? So far, I’m only able to declare the Jacobian matrix for components, which returns only the concentration profiles.

Many thanks.

That should be possible, as CADET is a dynamic process simulator. I assume you are modeling temperature a a pseudo-component? It would be helpful if you could post your set of model equations.

Hi @lieres, I hope it’s okay if I post the the set of model equations as images here.

The reaction system is a two parallel reactions. Below is a scheme and mass balance equations:

Then, I wrote an energy balance for a CSTR in a system of CSTRs. Assuming the reactor is initially filled with water only.

Could you suggest how I could model temperature as a pseudo-component? Thanks for taking your time looking into my question.

Thanks for posting the equations. If I understand correctly, you need to consider the heat of both reactions in the equation for \frac{dT}{dt}.

Unfortunately this equation cannot be implemented in CADET using the mass action law formalism, as C_{P_i} occurs in the denominator. If the system is dilute, the equations can be simplified by only using the heat capacity of water. Water would then have a constant concentration and doesn’t have to be treated as a component.

Another problem is that in CADET one CSTR doesn’t know the temperature an an adjacent one. It should be possible to solve this problem by using the heat balance equation instead. The pseudo-component heat would then be transported from one CSTR to another like a chemical component.

Yet another approach would be to use a a dispersive plug flow reactor (DPFR) instead of the CSTR in series model. If you discretize the DPFR with the same number of finite volumes as you have tanks in the cascade, and set the disperion coefficient to zero, and choose the first order upwind scheme instead of WENO, the results will be the same but your model and code would be much more universal.

Many thanks Eric for your answers. I got two following-up questions:

- Do you have a link where I could learn more about pseudo-heat component implementation? I don’t know how to declare it in the code.
- Similarly, do you have a link so I could see more about DPFR by CADET?

CADET does not distinguish between components and pseudo-components. We usually refer to solute molecules (things that have a mass) as chemical components and use the term pseudo-components for properties like temperature, heat, etc.

In your case, the mass transfer equations and the heat transfer equations are mathematically identical. Hence, they can easily be solved together. In CADET, mass action law type of reactions can be configured to produce or consume heat when other components are converted into each other.

The DPFR model in CADET is a special case of the lumped rate model without pores.

Hi Eric, thanks for the links. I’m going to have a look into both.