Trouble with SMA Isotherm

Hi,
I tried to simulate a four-section (load, wash, linear gradient wash, high salt wash) two-component (salt and protein). I found difficult to use SMA isotherm. I did two trials
Trial 1: Lumped rate model without pore coupled with Multicomponent colloidal

Trial 2: Lumped rate model without pores coupled with SMA isotherm

In trial 2, the eluate comes at start of simulation (loading), while trial 1 makes more sense that eluate comes in linear gradient wash step. Could I please ask what potential reasons for that?

Multicomponent colloidal setting:

adsorption_model = "MULTI_COMPONENT_COLLOIDAL"
adsorption_parameters = Dict()

# Vijesh's model parameters for Bpp
adsorption_parameters.col_bpp_ph_exp = [0.0, 0.0] 
adsorption_parameters.col_bpp_salt_expargmult = [0.0, 0.0] 
adsorption_parameters.col_bpp_salt_expfact = [0.0, 0.2625] 
adsorption_parameters.col_bpp_salt_powexp = [0.0, -2.252] 
adsorption_parameters.col_bpp_salt_powfact = [0.0, 37220.0] 


adsorption_parameters.col_cordnum = 6.0 # hexagonal packing 
adsorption_parameters.col_kappa_const = 2.5 # nm
adsorption_parameters.col_kappa_exp = 0.0 
adsorption_parameters.col_kappa_fact = 0.0 
adsorption_parameters.col_kkin = [1.0e10, 1.0e10] # e6 to e12 for instant equilibration; 0.1-0.9 for kinetic effects -- doesn't work though
adsorption_parameters.col_linear_threshold = 1.0e-7 

# Vijesh's model parameters for Keq
adsorption_parameters.col_logkeq_ph_exp = [0.0, 0.0] 
adsorption_parameters.col_logkeq_salt_expargmult = [0.0, 0.0] 
adsorption_parameters.col_logkeq_salt_expfact = [0.0, -3.929] 
adsorption_parameters.col_logkeq_salt_powexp = [0.0, 1.715] 
adsorption_parameters.col_logkeq_salt_powfact = [0.0, 53430.0] 

adsorption_parameters.col_phi = 4.923e7 # m2 / m3
adsorption_parameters.col_radius = [1.59e-9, 4.5e-9] # make nonzero
adsorption_parameters.col_use_ph = False 
adsorption_parameters.is_kinetic = True 

lwe_model.root.input.model.unit_001.adsorption_model = adsorption_model
lwe_model.root.input.model.unit_001.adsorption = adsorption_parameters

lwe_model.root.input.model.unit_001.init_c = [salt_initial_concentration, 0.0]
lwe_model.root.input.model.unit_001.init_q = [0, 0.0]

run_simulation(lwe_model)

SMA setting:

sma_refc0 = lwe_model.root.input.model.unit_000.sec_002.lin_coeff[0] * (t_end - grad_start)
lambda_ = 225

lwe_model.root.input.model.unit_001.adsorption_model = 'STERIC_MASS_ACTION'
lwe_model.root.input.model.unit_001.adsorption.is_kinetic = 1
lwe_model.root.input.model.unit_001.adsorption.sma_ka = [0.0, 0.0335]
lwe_model.root.input.model.unit_001.adsorption.sma_kd = [0.0, 0.000765]
lwe_model.root.input.model.unit_001.adsorption.sma_lambda = lambda_
lwe_model.root.input.model.unit_001.adsorption.sma_nu = [0.0, 3.27]
lwe_model.root.input.model.unit_001.adsorption.sma_sigma = [0.0, 0.0]

lwe_model.root.input.model.unit_001.adsorption.sma_refc0 = sma_refc0
lwe_model.root.input.model.unit_001.adsorption.sma_refq = lambda_

lwe_model.root.input.model.unit_001.init_c = [salt_initial_concentration, 0.0]
lwe_model.root.input.model.unit_001.init_q = [0, 0.0]

run_simulation(lwe_model)

Hey Annie,

I haven’t given it a good look, but one thing caught my eye:

lwe_model.root.input.model.unit_001.init_q = [0, 0.0]

Initially, the solid phase salt concentration should equal the capacity (all binding sites are occupied by salt ions) because of electro-neutrality:

lwe_model.root.input.model.unit_001.init_q = [lambda_, 0.0]
2 Likes

Thank you very much Samuel!
I tried to change the setting of q for salt as lambda_, however, it didn’t seem like changing the outlet solution profile.