Gosilico results regeneration in CADET

Hi CADET community,

I hope everyone doing well!
I am trying to regenerate the Gosilico results in CADET for IEX-SMA process.
I have trained my model in Gosilico and using same model parameters in Gosilico.
Following plots showing the comparison between CADET vs Gosilico:

15 CV Gradient (column.discretization.ncol = 7)

15 CV Gradient (column.discretization.ncol = 30)

30 CV Gradient (column.discretization.ncol = 7)

Step (column.discretization.ncol = 7)

Step (column.discretization.ncol = 30)

Found interesting results, at column.discretization.ncol 7 match between CADET and Gosilico results more favoured than at discretization ncol 30. Can you please give your suggestions? what should be the actual issue for this mismatch. Ideally, we should use higher discretization, but results are not matching.
I have converted keq and kkin into kad and kd by formulas, keq = kad/kd and kkin = 1/kd.

Looking forward to any suggestions.
Thanks in Advance

1 Like

The compared software packages use different numerical methods to approximate the same solution. Hence, the discretization parameters cannot be directly compared. To study this in detail, you first need to perform a mesh independence study by refining the mesh until the resulty no longer vary (within a certain tolerance) for each individual simulator. Only then the results can be directly compared (and should be the same across simulators).

1 Like

I agree with Eric that the simulators should agree for high mesh discretizations.

To add: Looking at the salt profile in the step elution, I think the discretization and transport parameters aren’t the core of the problem, because both profiles agree very closely in the ncol = 30 case and disagree in the ncol = 7 case. So I think CADET reproduces the transport within the column correctly with a “high” discretization of 30 (or above).

The one place that this leaves for investigation is the kinetics of the binding model. To check:

  • Did you set is_kinetic to True?
  • What happens if you divide both kA and kD by 10, 1000, 100000 to introduce more delay in the mass transfer?

Just as a related comment, @Flynn and I recently did a comparison between CADET and GoSilico using LRM and GIEX. We didn’t do a full discretization study, just used 40 axial nodes for a column with 5 cm bed height. We saw some notable differences between the simulation results that we could not reconcile. Our conclusion was that one should stick to only one software for the project, this way you would not have to deal with these issues.

I do think though that this is something that may be worth investigating because it seems like a larger issue. We also cannot see any of GoSilico implementation so that makes this difficult.

Hello @lieres,
Simulations generated in Gosilico are with high number of discretization to make sure no further changes in chromatogram. But the same results are not reproducible in CADET.

  1. currently, is_kinetic = True but I also tried False: no change in results.
  2. both kA and kD devided by 10, 1000, 100000 to introduce more delay in the mass transfer but no change in simulations

Hi @alters, Thanks for your comments!
What I thought, Ideally the simulations from any simulator should match for the same model equations.

Mutual comparison of simulation results is one of the most effective methods for verifying codes. Non-matching results indicate either that different equations are solved or that (at least) one of the simulators is not correctly implemented.

2 Likes

I also agree with Eric and Ron, since we are solving the same equation we should have the same results when the resolution is enough, no matter what the numerical method is.

As Scott mentioned, we had similar issues for other isotherm models too. Even after proper unit and k_{kin} transformation, no matter how fine we discretize the space (nodes up to 3.2k), the results were still significantly different in some cases.

One problem with GoSilico is that you really can’t see the code, so there are not too many ways to debug. Practically, I would just suggest using one software consistently and don’t change during a project.

2 Likes

Just a thought, but note that while the equations are the same, there is a chance that we use different definitions for the control volumes, e.g. in Go-Silico the solid phase concentration might refer to the overall particle volume, whereas in CADET we only consider the actual solid phase backbone. Please verify that all parameters use the same reference volume, and in case they do not, transform them accordingly to compensate. Otherwise, this could contribute to the two simulators giving different results.

1 Like

That is surprising to me. Can you share the model setup for the step elution?