function FLUMO_discrete(x,u,p,t; tS=0.001)
V, I, N, A, D, k_offset1, k_offset2 = x
n, P0, F0, beta1, b_n, a_n, b_a, a_a = p
c_D = D ./ V
k_n = maximum([a_n .* (1 .+ abs(c_D)) .^ b_n .+ k_offset1, 0])
k_a = maximum([a_a .* (1 .+ abs(c_D)) .^ b_a .+ k_offset2, 0])
dI = -k_n .* I .- k_a .* I .^ n
dN = k_n .* I
dA = k_a .* I .^ n
Vn = x[1] .+ u[3] #Volume with discrete pulse events
In = x[2] .+ u[2] .+ dI .* tS #Intermediates with discrete pulse events
Nn = x[3] .+ dN .* tS #Native protein
An = x[4] .+ dA .* tS #Aggregated protein
Dn = x[5] .+ u[1] #Denaturant with discrete pulse events
return [Vn, In, Nn, An, Dn, k_offset1, k_offset2]
end
function FLUMO_discrete_measurement(x,u,p,t)
V, I, N, _, D, k_offset1,k_offset2 = x
n, P0, F0, beta1, b_n, a_n, b_a, a_a = p
c_D = D ./ V
k_n = maximum([a_n .* (1 .+ abs(c_D)) .^ b_n .+ k_offset1, 0])
k_a = maximum([a_a .* (1 .+ abs(c_D)) .^ b_a .+ k_offset2, 0])
dI = -k_n .* (I./V) .- k_a .* (I./V) .^ n
dAEW = dI ./ beta1
F = ((I+N)./V)*F0/(P0./V)
return [F, dAEW]
end