Location: ECC_MSK (Rios et al. 1993) @ 20e3e451c787 / Components / buildsrc / MWC_10.txt

Author:
WeiweiAi <wai484@aucklanduni.ac.nz>
Date:
2022-07-01 10:53:47+12:00
Desc:
First version of the model and original data
Permanent Source URI:
https://models.physiomeproject.org/workspace/8af/rawfile/20e3e451c78771d3f0cb8f5244f0ca68d84b4139/Components/buildsrc/MWC_10.txt

def model MWC_10 as
    def import using "../cellLib/Components/units.cellml" for
        unit mV using unit mV;
        unit ms using unit ms;
        unit per_ms using unit per_ms;
    enddef;

    def import using "C0_S2.cellml" for
        comp C0 using comp C0_S2;
    enddef;

    def import using "C_S3.cellml" for
        comp C1 using comp C_S3;
    enddef;

    def import using "C_S3.cellml" for
        comp C2 using comp C_S3;
    enddef;

    def import using "C_S3.cellml" for
        comp C3 using comp C_S3;
    enddef;

    def import using "CN_S2.cellml" for
        comp C4 using comp CN_S2;
    enddef;

    def import using "O0_S2.cellml" for
        comp O0 using comp O0_S2;
    enddef;

    def import using "O_S3.cellml" for
        comp O1 using comp O_S3;
    enddef;

    def import using "O_S3.cellml" for
        comp O2 using comp O_S3;
    enddef;

    def import using "O_S3.cellml" for
        comp O3 using comp O_S3;
    enddef;

    def import using "ON_S2.cellml" for
        comp O4 using comp ON_S2;
    enddef;

    def comp MWC_10 as
        var alpha: per_ms {pub: in};
        var C0_init: dimensionless {pub: in, priv: out};
        var C1_init: dimensionless {pub: in, priv: out};
        var C2_init: dimensionless {pub: in, priv: out};
        var C3_init: dimensionless {pub: in, priv: out};
        var C4_init: dimensionless {pub: in, priv: out};
        var O0_init: dimensionless {pub: in, priv: out};
        var O1_init: dimensionless {pub: in, priv: out};
        var O2_init: dimensionless {pub: in, priv: out};
        var O3_init: dimensionless {pub: in, priv: out};
        var O4_init: dimensionless {pub: in, priv: out};
        var N: dimensionless {init: 4, pub: out, priv: out};
        var C1_i: dimensionless {pub: in, priv: out};
        var C2_i: dimensionless {pub: in, priv: out};
        var C3_i: dimensionless {pub: in, priv: out};
        var O1_i: dimensionless {pub: in, priv: out};
        var O2_i: dimensionless {pub: in, priv: out};
        var O3_i: dimensionless {pub: in, priv: out};
        var K: mV {pub: in};
        var k_L: per_ms {pub: in, priv: out};
        var k_Lminus: per_ms {pub: in, priv: out};
        var f: dimensionless {pub: in, priv: out};
        var V0: mV {pub: in};
        var k_C: per_ms {pub: out, priv: out};
        var k_Cminus: per_ms {pub: out, priv: out};
        var V: mV {pub: in};
        var C_0: dimensionless {pub: out, priv: in};
        var C_1: dimensionless {pub: out, priv: in};
        var C_2: dimensionless {pub: out, priv: in};
        var C_3: dimensionless {pub: out, priv: in};
        var C_4: dimensionless {pub: out, priv: in};
        var O_0: dimensionless {pub: out, priv: in};
        var O_1: dimensionless {pub: out, priv: in};
        var O_2: dimensionless {pub: out, priv: in};
        var O_3: dimensionless {pub: out, priv: in};
        var O_4: dimensionless {pub: out, priv: in};
        var dC_1: per_ms {pub: out, priv: in};
        var dC_2: per_ms {pub: out, priv: in};
        var dC_3: per_ms {pub: out, priv: in};
        var dC_4: per_ms {pub: out, priv: in};
        var dO_1: per_ms {pub: out, priv: in};
        var dO_2: per_ms {pub: out, priv: in};
        var dO_3: per_ms {pub: out, priv: in};
        var dO_4: per_ms {pub: out, priv: in};
        var O: dimensionless ;
        var C: dimensionless ;
        var norm: dimensionless {pub: out, priv: out};
        var P_o: dimensionless {pub: out};
        var Q: dimensionless {pub: out};
        var dQ: per_ms {pub: out};
        var t: ms {pub: in, priv: out};

        k_C = 0.5{dimensionless}*alpha*exp((V-V0)/(8{dimensionless}*K));
        k_Cminus = 0.5{dimensionless}*alpha*exp(-(V-V0)/(8{dimensionless}*K));
        O = O_0+O_1+O_2+O_3+O_4;
        C = C_0+C_1+C_2+C_3+C_4;
        norm = C+O;
        P_o = O/norm;
        Q = (O_1+2{dimensionless}*O_2+3{dimensionless}*O_3+4{dimensionless}*O_4+C_1+2{dimensionless}*C_2+3{dimensionless}*C_3+4{dimensionless}*C_4)/4{dimensionless};
        dQ = (dO_1+2{dimensionless}*dO_2+3{dimensionless}*dO_3+4{dimensionless}*dO_4+dC_1+2{dimensionless}*dC_2+3{dimensionless}*dC_3+4{dimensionless}*dC_4)/4{dimensionless};

    enddef;

    def group as encapsulation for
        comp MWC_10 incl
            comp C0;
            comp C1;
            comp C2;
            comp C3;
            comp C4;
            comp O0;
            comp O1;
            comp O2;
            comp O3;
            comp O4;
        endcomp;
    enddef;

    def map between C0 and C1 for
        vars S_i and S_1;
        vars S_2 and S_i;
    enddef;

    def map between C0 and O0 for
        vars S_i and S_1;
        vars S_1 and S_i;
    enddef;

    def map between C0 and MWC_10 for
        vars S_i and C_0;
        vars k_L and k_L;
        vars k_Lminus and k_Lminus;
        vars k_C and k_C;
        vars k_Cminus and k_Cminus;
        vars norm and norm;
        vars Si_init and C0_init;
        vars N and N;
        vars t and t;
    enddef;

    def map between C1 and C2 for
        vars S_i and S_1;
        vars S_3 and S_i;
    enddef;

    def map between C1 and O1 for
        vars S_i and S_2;
        vars S_2 and S_i;
    enddef;

    def map between C1 and MWC_10 for
        vars S_i and C_1;
        vars dS_i and dC_1;
        vars k_L and k_L;
        vars k_Lminus and k_Lminus;
        vars k_C and k_C;
        vars k_Cminus and k_Cminus;
        vars f and f;
        vars norm and norm;
        vars Si_init and C1_init;
        vars N and N;
        vars i and C1_i;
        vars t and t;
    enddef;

    def map between C2 and C3 for
        vars S_i and S_1;
        vars S_3 and S_i;
    enddef;

    def map between C2 and O2 for
        vars S_i and S_2;
        vars S_2 and S_i;
    enddef;

    def map between C2 and MWC_10 for
        vars S_i and C_2;
        vars dS_i and dC_2;
        vars k_L and k_L;
        vars k_Lminus and k_Lminus;
        vars k_C and k_C;
        vars k_Cminus and k_Cminus;
        vars f and f;
        vars norm and norm;
        vars Si_init and C2_init;
        vars N and N;
        vars i and C2_i;
        vars t and t;
    enddef;

    def map between C3 and C4 for
        vars S_i and S_1;
        vars S_3 and S_i;
    enddef;

    def map between C3 and O3 for
        vars S_i and S_2;
        vars S_2 and S_i;
    enddef;

    def map between C3 and MWC_10 for
        vars S_i and C_3;
        vars dS_i and dC_3;
        vars k_L and k_L;
        vars k_Lminus and k_Lminus;
        vars k_C and k_C;
        vars k_Cminus and k_Cminus;
        vars f and f;
        vars norm and norm;
        vars Si_init and C3_init;
        vars N and N;
        vars i and C3_i;
        vars t and t;
    enddef;

    def map between C4 and O4 for
        vars S_i and S_2;
        vars S_2 and S_i;
    enddef;

    def map between C4 and MWC_10 for
        vars S_i and C_4;
        vars dS_i and dC_4;
        vars k_L and k_L;
        vars k_Lminus and k_Lminus;
        vars k_C and k_C;
        vars k_Cminus and k_Cminus;
        vars f and f;
        vars norm and norm;
        vars Si_init and C4_init;
        vars N and N;
        vars t and t;
    enddef;

    def map between O0 and O1 for
        vars S_i and S_1;
        vars S_2 and S_i;
    enddef;

    def map between O0 and MWC_10 for
        vars S_i and O_0;
        vars k_L and k_L;
        vars k_Lminus and k_Lminus;
        vars k_C and k_C;
        vars k_Cminus and k_Cminus;
        vars f and f;
        vars norm and norm;
        vars Si_init and O0_init;
        vars N and N;
        vars t and t;
    enddef;

    def map between O1 and O2 for
        vars S_i and S_1;
        vars S_3 and S_i;
    enddef;

    def map between O1 and MWC_10 for
        vars S_i and O_1;
        vars dS_i and dO_1;
        vars k_L and k_L;
        vars k_Lminus and k_Lminus;
        vars k_C and k_C;
        vars k_Cminus and k_Cminus;
        vars f and f;
        vars norm and norm;
        vars Si_init and O1_init;
        vars N and N;
        vars i and O1_i;
        vars t and t;
    enddef;

    def map between O2 and O3 for
        vars S_i and S_1;
        vars S_3 and S_i;
    enddef;

    def map between O2 and MWC_10 for
        vars S_i and O_2;
        vars dS_i and dO_2;
        vars k_L and k_L;
        vars k_Lminus and k_Lminus;
        vars k_C and k_C;
        vars k_Cminus and k_Cminus;
        vars f and f;
        vars norm and norm;
        vars Si_init and O2_init;
        vars N and N;
        vars i and O2_i;
        vars t and t;
    enddef;

    def map between O3 and O4 for
        vars S_i and S_1;
        vars S_3 and S_i;
    enddef;

    def map between O3 and MWC_10 for
        vars S_i and O_3;
        vars dS_i and dO_3;
        vars k_L and k_L;
        vars k_Lminus and k_Lminus;
        vars k_C and k_C;
        vars k_Cminus and k_Cminus;
        vars f and f;
        vars norm and norm;
        vars Si_init and O3_init;
        vars N and N;
        vars i and O3_i;
        vars t and t;
    enddef;

    def map between O4 and MWC_10 for
        vars S_i and O_4;
        vars dS_i and dO_4;
        vars k_L and k_L;
        vars k_Lminus and k_Lminus;
        vars k_C and k_C;
        vars k_Cminus and k_Cminus;
        vars f and f;
        vars norm and norm;
        vars Si_init and O4_init;
        vars N and N;
        vars t and t;
    enddef;

enddef;