In your particular example (breaking up the simulation in parts with same isotherm), I suggest to disable consistent initialization for the second part:
model.root.input.solver.consistent_init_mode = 0 # or 3
My theory is that consistent initialization somehow fails and produces those unreasonable values.
Another way to accomplish your goal (change isotherm parameters during simulation) are external functions. Here, the isotherm parameters are taken as
where T = T(t) is some profile provided to the simulator. So each isotherm parameter is a third-degree polynomial of a given profile. You could set the constant coefficients of the isotherm parameters to your first configuration and the linear coefficients to
second configuration - first configuration.
For the first part of the simulation, we need to set T = 0 and for the second, we change to T=1. Here are the docs for specifying a profile, where you’d set VELOCITY to inf: A profile is usually moved along the column over time. In your case, we want the profile to instantly apply to all spatial positions (solely depend on time).
We have some posts in the forum about external functions.