def model O_S3 as def import using "../cellLib/Components/units.cellml" for unit ms using unit ms; unit per_ms using unit per_ms; enddef; def import using "../cellLib/Components/MarkovS.cellml" for comp S3 using comp S3; enddef; def comp O_S3 as var k_L: per_ms {pub: in}; var k_Lminus: per_ms {pub: in}; var k_C: per_ms {pub: in}; var k_Cminus: per_ms {pub: in}; var f: dimensionless {pub: in}; var k_i1: per_ms {pub: out, priv: out}; var k_i2: per_ms {pub: out, priv: out}; var k_i3: per_ms {pub: out, priv: out}; var k_1i: per_ms {pub: out, priv: out}; var k_2i: per_ms {pub: out, priv: out}; var k_3i: per_ms {pub: out, priv: out}; var norm: dimensionless {pub: in, priv: out}; var S_1: dimensionless {pub: in, priv: out}; var S_2: dimensionless {pub: in, priv: out}; var S_3: dimensionless {pub: in, priv: out}; var S_i: dimensionless {pub: out, priv: in}; var dS_i: per_ms {pub: out, priv: in}; var Si_init: dimensionless {pub: in, priv: out}; var N: dimensionless {pub: in}; var i: dimensionless {pub: in}; var t: ms {pub: in, priv: out}; k_i1 = k_Cminus*i*f; k_i2 = k_Lminus*pow(f, i); k_i3 = (N-i)*k_C/f; k_1i = (N-i+1{dimensionless})*k_C/f; k_2i = k_L/pow(f, i); k_3i = (i+1{dimensionless})*k_Cminus*f; enddef; def group as encapsulation for comp O_S3 incl comp S3; endcomp; enddef; def map between S3 and O_S3 for vars S_i and S_i; vars dS_i and dS_i; vars t and t; vars Si_init and Si_init; vars k_i1 and k_i1; vars k_i2 and k_i2; vars k_i3 and k_i3; vars k_1i and k_1i; vars k_2i and k_2i; vars k_3i and k_3i; vars norm and norm; vars S_1 and S_1; vars S_2 and S_2; vars S_3 and S_3; enddef; enddef;