Other order reaction implementation

Hi everyone,
I would like to model other types of chemical reaction, for instance,
A + B + C → D + E

My experience with CADET is that one must provide



stoich = [-1, 

However, I can’t find a way to manipulate the reaction rate equation, which in this case is

r = kfwd*cA*cB*cC

My question is whether CADET allows user to specify a complicated reaction rate equation? If so, could anyone provide me an example?
Thank you so much.

Hey Hoang,

I don’t have a lot of experience with the reaction model, but I’ll try to help. Any input from other users with more experience is very welcome.

Just to clarify, do you want a one-directional reaction or a bidirectional reaction? I’m asking, because you used the one-sided arrow → and formulated the reaction rate equation without the backward feed.

Hi @ronald.jaepel it is the irreversible reaction as an example.
The difference between this reaction and others in tutorials is that it is not first-order reaction.
With Matlab, I could simply multiply stoich with the r = kfwd*cA*cB*cC.
I’m not sure how one is supposed to do it with CADET.
Thanks for your comment.

Our implementation covers any type of mass action law type of reaction. It is documented here.

Hey Hoang,

good to read you! :slight_smile:

Maybe you wanna join our next Office Hours to present your issue?

Hi @lieres, I’ll read more about it. Thanks for the link.

Hey Jo,
I didn’t know we have Office Hours meeting. Thanks for a heads-up. Will try to join :smile:

Assuming you have forward reactions only, by specifying the stoichiometry coefficient:

stoich = [-1, -1, -1, 1, 1, ]

CADET is already assuming the reaction flux has the form:

r = kfwd*cA*cB*cC

You don’t have to do something special. Please refer to the reaction model document (especially the mass action law equations) for more details.

The reason behind this is because without manually specifying the exponent e_{fwd}, CADET uses the relationship:

e_{fwd,j}=max(0, -s_j), where j is the index of the reactant.

to determine e_{fwd,j} automatically. In this case it’s:

e_{fwd} = [1, 1, 1, 0, 0]

which corresponds to cA^1*cB^1*cC^1*cD^0*cE^0.

Hope it helps,


Thank you to everyone for the quick responses!

Hello @Flynn, thank you so much for your response. I didn’t know that stoich could also be used to dictate the reaction rate implicitly. I’ll have a go and refer to the docs.
Thanks everyone for your helps.