/*
 * This code is generated by BioUML FrameWork 
 * for BIOMD0000000051.xml diagram  at 2008.03.20 15:04:30
 */
import biouml.plugins.simulation.ae.NewtonSolver;
import biouml.plugins.simulation.java.JavaBaseModel;
import ru.biosoft.math.MathRoutines;

public class BIOMD0000000051 extends JavaBaseModel
{

/*
 * Write rules to calculate equation parameters
 */
    private void __internalVarInitFunc_0(double time, double[] x)
    {
        catp = 4.27 - 4.163*(time/(0.657 + 1.43*time + 0.0364*Math.pow(time, 2)));
        cnadh = 0.0934 + 0.00111*Math.pow(2.371, (-0.123*time))*(0.844*time + 0.104*Math.pow(time, 3));
        cnad = 1.314 + 1.314*Math.pow(2.73, (-0.0435*time - 0.342)) - (time + 7.871)*(Math.pow(2.73, (-0.0218*time - 0.171))/(8.481 + time));
        cadp = 0.582 + 1.73*Math.pow(2.731, (-0.15*time))*(0.12*time + 2.14E-4*Math.pow(time, 3));
        camp = 0.123 + 7.25*(time/(7.25 + 1.47*time + 0.17*Math.pow(time, 2))) + 1.073/(1.29 + 8.05*time);
        cnadph = 0.062 + 0.332*Math.pow(2.718, (-0.464*time))*(0.0166*Math.pow(time, 1.58) + 1.66E-4*Math.pow(time, 4.73) + 1.3120000000000002E-10*Math.pow(time, 7.89) + 1.362E-13*Math.pow(time, 11) + 1.2330000000000003E-16*Math.pow(time, 14.2));
        cnadp = 0.159 - 0.00554*(time/(2.8 - 0.271*time + 0.01*Math.pow(time, 2))) + 0.182/(4.82 + 0.526*time);
    }


/*
 * Write rules to calculate equation parameters excluding internal variables.
 */
    public void __internalRateVarInitFunc_0(double time, double[] x)
    {
        rate_vALDO = _extracellular_cytosol_*vALDO_rmaxALDO*(x[4] - x[7]*x[1]/vALDO_kALDOeq)/(vALDO_kALDOfdp + x[4] + vALDO_kALDOgap*x[1]/(vALDO_kALDOeq*vALDO_VALDOblf) + vALDO_kALDOdhap*x[7]/(vALDO_kALDOeq*vALDO_VALDOblf) + x[4]*x[7]/vALDO_kALDOgapinh + x[7]*x[1]/(vALDO_VALDOblf*vALDO_kALDOeq));
        rate_vDAHPS = _extracellular_cytosol_*vDAHPS_rmaxDAHPS*Math.pow(x[2], vDAHPS_nDAHPSe4p)*Math.pow(x[8], vDAHPS_nDAHPSpep)/((vDAHPS_KDAHPSe4p + Math.pow(x[2], vDAHPS_nDAHPSe4p))*(vDAHPS_KDAHPSpep + Math.pow(x[8], vDAHPS_nDAHPSpep)));
        rate_vDHAP = _extracellular_cytosol_*vDHAP_mu*x[1];
        rate_vE4P = _extracellular_cytosol_*vE4P_mu*x[2];
        rate_vENO = _extracellular_cytosol_*vENO_rmaxENO*(x[10] - x[8]/vENO_KENOeq)/(vENO_KENOpg2*(1 + x[8]/vENO_KENOpep) + x[10]);
        rate_vEXTER = extracellular*vEXTER_Dil*(vEXTER_cfeed - x[0]);
        rate_vG1PAT = _extracellular_cytosol_*vG1PAT_rmaxG1PAT*x[5]*catp*(1 + Math.pow((x[4]/vG1PAT_KG1PATfdp), vG1PAT_nG1PATfdp))/((vG1PAT_KG1PATatp + catp)*(vG1PAT_KG1PATg1p + x[5]));
        rate_vG3PDH = _extracellular_cytosol_*vG3PDH_rmaxG3PDH*x[1]/(vG3PDH_KG3PDHdhap + x[1]);
        rate_vG6P = _extracellular_cytosol_*vG6P_mu*x[6];
        rate_vG6PDH = _extracellular_cytosol_*vG6PDH_rmaxG6PDH*x[6]*cnadp/((x[6] + vG6PDH_KG6PDHg6p)*(1 + cnadph/vG6PDH_KG6PDHnadphg6pinh)*(vG6PDH_KG6PDHnadp*(1 + cnadph/vG6PDH_KG6PDHnadphnadpinh) + cnadp));
        rate_vGAP = _extracellular_cytosol_*vGAP_mu*x[7];
        rate_vGAPDH = _extracellular_cytosol_*vGAPDH_rmaxGAPDH*(x[7]*cnad - x[12]*cnadh/vGAPDH_KGAPDHeq)/((vGAPDH_KGAPDHgap*(1 + x[12]/vGAPDH_KGAPDHpgp) + x[7])*(vGAPDH_KGAPDHnad*(1 + cnadh/vGAPDH_KGAPDHnadh) + cnad));
        rate_vGLP = _extracellular_cytosol_*vGLP_mu*x[5];
        rate_vMURSyNTH = _extracellular_cytosol_*vMURSyNTH_rmaxMurSynth;
        rate_vMethSynth = _extracellular_cytosol_*vMethSynth_rmaxMetSynth;
        rate_vPDH = _extracellular_cytosol_*vPDH_rmaxPDH*Math.pow(x[13], vPDH_nPDH)/(vPDH_KPDHpyr + Math.pow(x[13], vPDH_nPDH));
        rate_vPEP = _extracellular_cytosol_*vPEP_mu*x[8];
        rate_vPFK = _extracellular_cytosol_*vPFK_rmaxPFK*catp*x[3]/((catp + vPFK_KPFKatps*(1 + cadp/vPFK_KPFKadpc))*(x[3] + vPFK_KPFKf6ps*(1 + x[8]/vPFK_KPFKpep + cadp/vPFK_KPFKadpb + camp/vPFK_KPFKampb)/(1 + cadp/vPFK_KPFKadpa + camp/vPFK_KPFKampa))*(1 + vPFK_LPFK/Math.pow((1 + x[3]*(1 + cadp/vPFK_KPFKadpa + camp/vPFK_KPFKampa)/(vPFK_KPFKf6ps*(1 + x[8]/vPFK_KPFKpep + cadp/vPFK_KPFKadpb + camp/vPFK_KPFKampb))), vPFK_nPFK)));
        rate_vPG = _extracellular_cytosol_*vPG_mu*x[9];
        rate_vPG3 = _extracellular_cytosol_*vPG3_mu*x[11];
        rate_vPGDH = _extracellular_cytosol_*vPGDH_rmaxPGDH*x[9]*cnadp/((x[9] + vPGDH_KPGDHpg)*(cnadp + vPGDH_KPGDHnadp*(1 + cnadph/vPGDH_KPGDHnadphinh)*(1 + catp/vPGDH_KPGDHatpinh)));
        rate_vPGI = _extracellular_cytosol_*vPGI_rmaxPGI*(x[6] - x[3]/vPGI_KPGIeq)/(vPGI_KPGIg6p*(1 + x[3]/(vPGI_KPGIf6p*(1 + x[9]/vPGI_KPGIf6ppginh)) + x[9]/vPGI_KPGIg6ppginh) + x[6]);
        rate_vPGK = _extracellular_cytosol_*vPGK_rmaxPGK*(cadp*x[12] - catp*x[11]/vPGK_KPGKeq)/((vPGK_KPGKadp*(1 + catp/vPGK_KPGKatp) + cadp)*(vPGK_KPGKpgp*(1 + x[11]/vPGK_KPGKpg3) + x[12]));
        rate_vPGM = _extracellular_cytosol_*vPGM_rmaxPGM*(x[6] - x[5]/vPGM_KPGMeq)/(vPGM_KPGMg6p*(1 + x[5]/vPGM_KPGMg1p) + x[6]);
        rate_vPGP = _extracellular_cytosol_*vPGP_mu*x[12];
        rate_vPK = _extracellular_cytosol_*vPK_rmaxPK*x[8]*Math.pow((x[8]/vPK_KPKpep + 1), (vPK_nPK - 1))*cadp/(vPK_KPKpep*(vPK_LPK*Math.pow(((1 + catp/vPK_KPKatp)/(x[4]/vPK_KPKfdp + camp/vPK_KPKamp + 1)), vPK_nPK) + Math.pow((x[8]/vPK_KPKpep + 1), vPK_nPK))*(cadp + vPK_KPKadp));
        rate_vPPK = _extracellular_cytosol_*vPPK_rmaxRPPK*x[14]/(vPPK_KRPPKrib5p + x[14]);
        rate_vPTS = extracellular*vPTS_rmaxPTS*x[0]*(x[8]/x[13])/((vPTS_KPTSa1 + vPTS_KPTSa2*(x[8]/x[13]) + vPTS_KPTSa3*x[0] + x[0]*(x[8]/x[13]))*(1 + Math.pow(x[6], vPTS_nPTSg6p)/vPTS_KPTSg6p));
        rate_vR5PI = _extracellular_cytosol_*vR5PI_rmaxR5PI*(x[15] - x[14]/vR5PI_KR5PIeq);
        rate_vRIB5P = _extracellular_cytosol_*vRIB5P_mu*x[14];
        rate_vRibu5p = _extracellular_cytosol_*vRibu5p_mu*x[15];
        rate_vRu5P = _extracellular_cytosol_*vRu5P_rmaxRu5P*(x[15] - x[17]/vRu5P_KRu5Peq);
        rate_vSED7P = _extracellular_cytosol_*vSED7P_mu*x[16];
        rate_vSynth1 = _extracellular_cytosol_*vSynth1_rmaxSynth1*x[8]/(vSynth1_KSynth1pep + x[8]);
        rate_vSynth2 = _extracellular_cytosol_*vSynth2_rmaxSynth2*x[13]/(vSynth2_KSynth2pyr + x[13]);
        rate_vTA = _extracellular_cytosol_*vTA_rmaxTA*(x[7]*x[16] - x[2]*x[3]/vTA_KTAeq);
        rate_vTIS = _extracellular_cytosol_*vTIS_rmaxTIS*(x[1] - x[7]/vTIS_kTISeq)/(vTIS_kTISdhap*(1 + x[7]/vTIS_kTISgap) + x[1]);
        rate_vTKA = _extracellular_cytosol_*vTKA_rmaxTKa*(x[14]*x[17] - x[16]*x[7]/vTKA_KTKaeq);
        rate_vTKB = _extracellular_cytosol_*vTKB_rmaxTKb*(x[17]*x[2] - x[3]*x[7]/vTKB_KTKbeq);
        rate_vTRPSYNTH = _extracellular_cytosol_*vTRPSYNTH_rmaxTrpSynth;
    }
    public void __internalRateVarInitFunc_1(double time, double[] x)
    {
        rate_vXYL5P = _extracellular_cytosol_*vXYL5P_mu*x[17];
        rate_vf6P = _extracellular_cytosol_*vf6P_mu*x[3];
        rate_vfdP = _extracellular_cytosol_*vfdP_mu*x[4];
        rate_vpepCxylase = _extracellular_cytosol_*vpepCxylase_rmaxpepCxylase*x[8]*(1 + Math.pow((x[4]/vpepCxylase_KpepCxylasefdp), vpepCxylase_npepCxylasefdp))/(vpepCxylase_KpepCxylasepep + x[8]);
        rate_vpg2 = _extracellular_cytosol_*vpg2_mu*x[10];
        rate_vpyr = _extracellular_cytosol_*vpyr_mu*x[13];
        rate_vrpGluMu = _extracellular_cytosol_*vrpGluMu_rmaxPGluMu*(x[11] - x[10]/vrpGluMu_KPGluMueq)/(vrpGluMu_KPGluMupg3*(1 + x[10]/vrpGluMu_KPGluMupg2) + x[11]);
        rate_vsersynth = _extracellular_cytosol_*vsersynth_rmaxSerSynth*x[11]/(vsersynth_KSerSynthpg3 + x[11]);
    }

    public void Init()
    {
        initialValues = getInitialValues();
/*
 * Initialize variables
 */
        _extracellular_cytosol_ = 1.0; // initial value of $"extracellular.cytosol"
        extracellular = 1.0; // initial value of $extracellular
        cadp = 0.595; // initial value of cadp
        camp = 0.955; // initial value of camp
        catp = 4.27; // initial value of catp
        cnad = 1.47; // initial value of cnad
        cnadh = 0.1; // initial value of cnadh
        cnadp = 0.195; // initial value of cnadp
        cnadph = 0.062; // initial value of cnadph
        vALDO_VALDOblf = 2.0; // initial value of vALDO_VALDOblf
        vALDO_kALDOdhap = 0.088; // initial value of vALDO_kALDOdhap
        vALDO_kALDOeq = 0.144; // initial value of vALDO_kALDOeq
        vALDO_kALDOfdp = 1.75; // initial value of vALDO_kALDOfdp
        vALDO_kALDOgap = 0.088; // initial value of vALDO_kALDOgap
        vALDO_kALDOgapinh = 0.6; // initial value of vALDO_kALDOgapinh
        vALDO_rmaxALDO = 17.41464425; // initial value of vALDO_rmaxALDO
        vDAHPS_KDAHPSe4p = 0.035; // initial value of vDAHPS_KDAHPSe4p
        vDAHPS_KDAHPSpep = 0.0053; // initial value of vDAHPS_KDAHPSpep
        vDAHPS_nDAHPSe4p = 2.6; // initial value of vDAHPS_nDAHPSe4p
        vDAHPS_nDAHPSpep = 2.2; // initial value of vDAHPS_nDAHPSpep
        vDAHPS_rmaxDAHPS = 0.1079531227; // initial value of vDAHPS_rmaxDAHPS
        vDHAP_mu = 2.78E-5; // initial value of vDHAP_mu
        vE4P_mu = 2.78E-5; // initial value of vE4P_mu
        vENO_KENOeq = 6.73; // initial value of vENO_KENOeq
        vENO_KENOpep = 0.135; // initial value of vENO_KENOpep
        vENO_KENOpg2 = 0.1; // initial value of vENO_KENOpg2
        vENO_rmaxENO = 330.4476151; // initial value of vENO_rmaxENO
        vEXTER_Dil = 2.78E-5; // initial value of vEXTER_Dil
        vEXTER_cfeed = 110.96; // initial value of vEXTER_cfeed
        vG1PAT_KG1PATatp = 4.42; // initial value of vG1PAT_KG1PATatp
        vG1PAT_KG1PATfdp = 0.119; // initial value of vG1PAT_KG1PATfdp
        vG1PAT_KG1PATg1p = 3.2; // initial value of vG1PAT_KG1PATg1p
        vG1PAT_nG1PATfdp = 1.2; // initial value of vG1PAT_nG1PATfdp
        vG1PAT_rmaxG1PAT = 0.007525458026; // initial value of vG1PAT_rmaxG1PAT
        vG3PDH_KG3PDHdhap = 1.0; // initial value of vG3PDH_KG3PDHdhap
        vG3PDH_rmaxG3PDH = 0.01162042696; // initial value of vG3PDH_rmaxG3PDH
        vG6PDH_KG6PDHg6p = 14.4; // initial value of vG6PDH_KG6PDHg6p
        vG6PDH_KG6PDHnadp = 0.0246; // initial value of vG6PDH_KG6PDHnadp
        vG6PDH_KG6PDHnadphg6pinh = 6.43; // initial value of vG6PDH_KG6PDHnadphg6pinh
        vG6PDH_KG6PDHnadphnadpinh = 0.01; // initial value of vG6PDH_KG6PDHnadphnadpinh
        vG6PDH_rmaxG6PDH = 1.380196955; // initial value of vG6PDH_rmaxG6PDH
        vG6P_mu = 2.78E-5; // initial value of vG6P_mu
        vGAPDH_KGAPDHeq = 0.63; // initial value of vGAPDH_KGAPDHeq
        vGAPDH_KGAPDHgap = 0.683; // initial value of vGAPDH_KGAPDHgap
        vGAPDH_KGAPDHnad = 0.252; // initial value of vGAPDH_KGAPDHnad
        vGAPDH_KGAPDHnadh = 1.09; // initial value of vGAPDH_KGAPDHnadh
        vGAPDH_KGAPDHpgp = 1.04E-5; // initial value of vGAPDH_KGAPDHpgp
        vGAPDH_rmaxGAPDH = 921.5942861; // initial value of vGAPDH_rmaxGAPDH
        vGAP_mu = 2.78E-5; // initial value of vGAP_mu
        vGLP_mu = 2.78E-5; // initial value of vGLP_mu
        vMURSyNTH_rmaxMurSynth = 4.3711E-4; // initial value of vMURSyNTH_rmaxMurSynth
        vMethSynth_rmaxMetSynth = 0.0022627; // initial value of vMethSynth_rmaxMetSynth
        vPDH_KPDHpyr = 1159.0; // initial value of vPDH_KPDHpyr
        vPDH_nPDH = 3.68; // initial value of vPDH_nPDH
        vPDH_rmaxPDH = 6.059531017; // initial value of vPDH_rmaxPDH
        vPEP_mu = 2.78E-5; // initial value of vPEP_mu
        vPFK_KPFKadpa = 128.0; // initial value of vPFK_KPFKadpa
        vPFK_KPFKadpb = 3.89; // initial value of vPFK_KPFKadpb
        vPFK_KPFKadpc = 4.14; // initial value of vPFK_KPFKadpc
        vPFK_KPFKampa = 19.1; // initial value of vPFK_KPFKampa
        vPFK_KPFKampb = 3.2; // initial value of vPFK_KPFKampb
        vPFK_KPFKatps = 0.123; // initial value of vPFK_KPFKatps
        vPFK_KPFKf6ps = 0.325; // initial value of vPFK_KPFKf6ps
        vPFK_KPFKpep = 3.26; // initial value of vPFK_KPFKpep
        vPFK_LPFK = 5629067.0; // initial value of vPFK_LPFK
        vPFK_nPFK = 11.1; // initial value of vPFK_nPFK
        vPFK_rmaxPFK = 1840.584747; // initial value of vPFK_rmaxPFK
        vPG3_mu = 2.78E-5; // initial value of vPG3_mu
        vPGDH_KPGDHatpinh = 208.0; // initial value of vPGDH_KPGDHatpinh
        vPGDH_KPGDHnadp = 0.0506; // initial value of vPGDH_KPGDHnadp
        vPGDH_KPGDHnadphinh = 0.0138; // initial value of vPGDH_KPGDHnadphinh
        vPGDH_KPGDHpg = 37.5; // initial value of vPGDH_KPGDHpg
        vPGDH_rmaxPGDH = 16.23235977; // initial value of vPGDH_rmaxPGDH
        vPGI_KPGIeq = 0.1725; // initial value of vPGI_KPGIeq
        vPGI_KPGIf6p = 0.266; // initial value of vPGI_KPGIf6p
        vPGI_KPGIf6ppginh = 0.2; // initial value of vPGI_KPGIf6ppginh
        vPGI_KPGIg6p = 2.9; // initial value of vPGI_KPGIg6p
        vPGI_KPGIg6ppginh = 0.2; // initial value of vPGI_KPGIg6ppginh
        vPGI_rmaxPGI = 650.9878687; // initial value of vPGI_rmaxPGI
        vPGK_KPGKadp = 0.185; // initial value of vPGK_KPGKadp
        vPGK_KPGKatp = 0.653; // initial value of vPGK_KPGKatp
        vPGK_KPGKeq = 1934.4; // initial value of vPGK_KPGKeq
        vPGK_KPGKpg3 = 0.473; // initial value of vPGK_KPGKpg3
        vPGK_KPGKpgp = 0.0468; // initial value of vPGK_KPGKpgp
        vPGK_rmaxPGK = 3021.773771; // initial value of vPGK_rmaxPGK
        vPGM_KPGMeq = 0.196; // initial value of vPGM_KPGMeq
        vPGM_KPGMg1p = 0.0136; // initial value of vPGM_KPGMg1p
        vPGM_KPGMg6p = 1.038; // initial value of vPGM_KPGMg6p
        vPGM_rmaxPGM = 0.8398242773; // initial value of vPGM_rmaxPGM
        vPGP_mu = 2.78E-5; // initial value of vPGP_mu
        vPG_mu = 2.78E-5; // initial value of vPG_mu
        vPK_KPKadp = 0.26; // initial value of vPK_KPKadp
        vPK_KPKamp = 0.2; // initial value of vPK_KPKamp
        vPK_KPKatp = 22.5; // initial value of vPK_KPKatp
        vPK_KPKfdp = 0.19; // initial value of vPK_KPKfdp
        vPK_KPKpep = 0.31; // initial value of vPK_KPKpep
        vPK_LPK = 1000.0; // initial value of vPK_LPK
        vPK_nPK = 4.0; // initial value of vPK_nPK
        vPK_rmaxPK = 0.06113150238; // initial value of vPK_rmaxPK
        vPPK_KRPPKrib5p = 0.1; // initial value of vPPK_KRPPKrib5p
        vPPK_rmaxRPPK = 0.01290045226; // initial value of vPPK_rmaxRPPK
        vPTS_KPTSa1 = 3082.3; // initial value of vPTS_KPTSa1
        vPTS_KPTSa2 = 0.01; // initial value of vPTS_KPTSa2
        vPTS_KPTSa3 = 245.3; // initial value of vPTS_KPTSa3
        vPTS_KPTSg6p = 2.15; // initial value of vPTS_KPTSg6p
        vPTS_nPTSg6p = 3.66; // initial value of vPTS_nPTSg6p
        vPTS_rmaxPTS = 7829.78; // initial value of vPTS_rmaxPTS
        vR5PI_KR5PIeq = 4.0; // initial value of vR5PI_KR5PIeq
        vR5PI_rmaxR5PI = 4.83841193; // initial value of vR5PI_rmaxR5PI
        vRIB5P_mu = 2.78E-5; // initial value of vRIB5P_mu
        vRibu5p_mu = 2.78E-5; // initial value of vRibu5p_mu
        vRu5P_KRu5Peq = 1.4; // initial value of vRu5P_KRu5Peq
        vRu5P_rmaxRu5P = 6.739029475; // initial value of vRu5P_rmaxRu5P
        vSED7P_mu = 2.78E-5; // initial value of vSED7P_mu
        vSynth1_KSynth1pep = 1.0; // initial value of vSynth1_KSynth1pep
        vSynth1_rmaxSynth1 = 0.01953897003; // initial value of vSynth1_rmaxSynth1
        vSynth2_KSynth2pyr = 1.0; // initial value of vSynth2_KSynth2pyr
        vSynth2_rmaxSynth2 = 0.07361855055; // initial value of vSynth2_rmaxSynth2
        vTA_KTAeq = 1.05; // initial value of vTA_KTAeq
        vTA_rmaxTA = 10.87164108; // initial value of vTA_rmaxTA
        vTIS_kTISdhap = 2.8; // initial value of vTIS_kTISdhap
        vTIS_kTISeq = 1.39; // initial value of vTIS_kTISeq
        vTIS_kTISgap = 0.3; // initial value of vTIS_kTISgap
        vTIS_rmaxTIS = 68.67474392; // initial value of vTIS_rmaxTIS
        vTKA_KTKaeq = 1.2; // initial value of vTKA_KTKaeq
        vTKA_rmaxTKa = 9.473384783; // initial value of vTKA_rmaxTKa
        vTKB_KTKbeq = 10.0; // initial value of vTKB_KTKbeq
        vTKB_rmaxTKb = 86.55855855; // initial value of vTKB_rmaxTKb
        vTRPSYNTH_rmaxTrpSynth = 0.001037; // initial value of vTRPSYNTH_rmaxTrpSynth
        vXYL5P_mu = 2.78E-5; // initial value of vXYL5P_mu
        vf6P_mu = 2.78E-5; // initial value of vf6P_mu
        vfdP_mu = 2.78E-5; // initial value of vfdP_mu
        vpepCxylase_KpepCxylasefdp = 0.7; // initial value of vpepCxylase_KpepCxylasefdp
        vpepCxylase_KpepCxylasepep = 4.07; // initial value of vpepCxylase_KpepCxylasepep
        vpepCxylase_npepCxylasefdp = 4.21; // initial value of vpepCxylase_npepCxylasefdp
        vpepCxylase_rmaxpepCxylase = 0.1070205858; // initial value of vpepCxylase_rmaxpepCxylase
        vpg2_mu = 2.78E-5; // initial value of vpg2_mu
        vpyr_mu = 2.78E-5; // initial value of vpyr_mu
        vrpGluMu_KPGluMueq = 0.188; // initial value of vrpGluMu_KPGluMueq
        vrpGluMu_KPGluMupg2 = 0.369; // initial value of vrpGluMu_KPGluMupg2
        vrpGluMu_KPGluMupg3 = 0.2; // initial value of vrpGluMu_KPGluMupg3
        vrpGluMu_rmaxPGluMu = 89.04965407; // initial value of vrpGluMu_rmaxPGluMu
        vsersynth_KSerSynthpg3 = 1.0; // initial value of vsersynth_KSerSynthpg3
        vsersynth_rmaxSerSynth = 0.025712107; // initial value of vsersynth_rmaxSerSynth
    }

    /*
     * Model variables initial values
     */
    protected double _extracellular_cytosol_;
    protected double rate_vALDO;
    protected double rate_vDAHPS;
    protected double rate_vDHAP;
    protected double rate_vE4P;
    protected double rate_vENO;
    protected double rate_vEXTER;
    protected double rate_vG1PAT;
    protected double rate_vG3PDH;
    protected double rate_vG6P;
    protected double rate_vG6PDH;
    protected double rate_vGAP;
    protected double rate_vGAPDH;
    protected double rate_vGLP;
    protected double rate_vMURSyNTH;
    protected double rate_vMethSynth;
    protected double rate_vPDH;
    protected double rate_vPEP;
    protected double rate_vPFK;
    protected double rate_vPG;
    protected double rate_vPG3;
    protected double rate_vPGDH;
    protected double rate_vPGI;
    protected double rate_vPGK;
    protected double rate_vPGM;
    protected double rate_vPGP;
    protected double rate_vPK;
    protected double rate_vPPK;
    protected double rate_vPTS;
    protected double rate_vR5PI;
    protected double rate_vRIB5P;
    protected double rate_vRibu5p;
    protected double rate_vRu5P;
    protected double rate_vSED7P;
    protected double rate_vSynth1;
    protected double rate_vSynth2;
    protected double rate_vTA;
    protected double rate_vTIS;
    protected double rate_vTKA;
    protected double rate_vTKB;
    protected double rate_vTRPSYNTH;
    protected double rate_vXYL5P;
    protected double rate_vf6P;
    protected double rate_vfdP;
    protected double rate_vpepCxylase;
    protected double rate_vpg2;
    protected double rate_vpyr;
    protected double rate_vrpGluMu;
    protected double rate_vsersynth;
    protected double extracellular;
    protected double cadp;
    protected double camp;
    protected double catp;
    protected double cnad;
    protected double cnadh;
    protected double cnadp;
    protected double cnadph;
    protected double time;
    protected double vALDO_VALDOblf;
    protected double vALDO_kALDOdhap;
    protected double vALDO_kALDOeq;
    protected double vALDO_kALDOfdp;
    protected double vALDO_kALDOgap;
    protected double vALDO_kALDOgapinh;
    protected double vALDO_rmaxALDO;
    protected double vDAHPS_KDAHPSe4p;
    protected double vDAHPS_KDAHPSpep;
    protected double vDAHPS_nDAHPSe4p;
    protected double vDAHPS_nDAHPSpep;
    protected double vDAHPS_rmaxDAHPS;
    protected double vDHAP_mu;
    protected double vE4P_mu;
    protected double vENO_KENOeq;
    protected double vENO_KENOpep;
    protected double vENO_KENOpg2;
    protected double vENO_rmaxENO;
    protected double vEXTER_Dil;
    protected double vEXTER_cfeed;
    protected double vG1PAT_KG1PATatp;
    protected double vG1PAT_KG1PATfdp;
    protected double vG1PAT_KG1PATg1p;
    protected double vG1PAT_nG1PATfdp;
    protected double vG1PAT_rmaxG1PAT;
    protected double vG3PDH_KG3PDHdhap;
    protected double vG3PDH_rmaxG3PDH;
    protected double vG6PDH_KG6PDHg6p;
    protected double vG6PDH_KG6PDHnadp;
    protected double vG6PDH_KG6PDHnadphg6pinh;
    protected double vG6PDH_KG6PDHnadphnadpinh;
    protected double vG6PDH_rmaxG6PDH;
    protected double vG6P_mu;
    protected double vGAPDH_KGAPDHeq;
    protected double vGAPDH_KGAPDHgap;
    protected double vGAPDH_KGAPDHnad;
    protected double vGAPDH_KGAPDHnadh;
    protected double vGAPDH_KGAPDHpgp;
    protected double vGAPDH_rmaxGAPDH;
    protected double vGAP_mu;
    protected double vGLP_mu;
    protected double vMURSyNTH_rmaxMurSynth;
    protected double vMethSynth_rmaxMetSynth;
    protected double vPDH_KPDHpyr;
    protected double vPDH_nPDH;
    protected double vPDH_rmaxPDH;
    protected double vPEP_mu;
    protected double vPFK_KPFKadpa;
    protected double vPFK_KPFKadpb;
    protected double vPFK_KPFKadpc;
    protected double vPFK_KPFKampa;
    protected double vPFK_KPFKampb;
    protected double vPFK_KPFKatps;
    protected double vPFK_KPFKf6ps;
    protected double vPFK_KPFKpep;
    protected double vPFK_LPFK;
    protected double vPFK_nPFK;
    protected double vPFK_rmaxPFK;
    protected double vPG3_mu;
    protected double vPGDH_KPGDHatpinh;
    protected double vPGDH_KPGDHnadp;
    protected double vPGDH_KPGDHnadphinh;
    protected double vPGDH_KPGDHpg;
    protected double vPGDH_rmaxPGDH;
    protected double vPGI_KPGIeq;
    protected double vPGI_KPGIf6p;
    protected double vPGI_KPGIf6ppginh;
    protected double vPGI_KPGIg6p;
    protected double vPGI_KPGIg6ppginh;
    protected double vPGI_rmaxPGI;
    protected double vPGK_KPGKadp;
    protected double vPGK_KPGKatp;
    protected double vPGK_KPGKeq;
    protected double vPGK_KPGKpg3;
    protected double vPGK_KPGKpgp;
    protected double vPGK_rmaxPGK;
    protected double vPGM_KPGMeq;
    protected double vPGM_KPGMg1p;
    protected double vPGM_KPGMg6p;
    protected double vPGM_rmaxPGM;
    protected double vPGP_mu;
    protected double vPG_mu;
    protected double vPK_KPKadp;
    protected double vPK_KPKamp;
    protected double vPK_KPKatp;
    protected double vPK_KPKfdp;
    protected double vPK_KPKpep;
    protected double vPK_LPK;
    protected double vPK_nPK;
    protected double vPK_rmaxPK;
    protected double vPPK_KRPPKrib5p;
    protected double vPPK_rmaxRPPK;
    protected double vPTS_KPTSa1;
    protected double vPTS_KPTSa2;
    protected double vPTS_KPTSa3;
    protected double vPTS_KPTSg6p;
    protected double vPTS_nPTSg6p;
    protected double vPTS_rmaxPTS;
    protected double vR5PI_KR5PIeq;
    protected double vR5PI_rmaxR5PI;
    protected double vRIB5P_mu;
    protected double vRibu5p_mu;
    protected double vRu5P_KRu5Peq;
    protected double vRu5P_rmaxRu5P;
    protected double vSED7P_mu;
    protected double vSynth1_KSynth1pep;
    protected double vSynth1_rmaxSynth1;
    protected double vSynth2_KSynth2pyr;
    protected double vSynth2_rmaxSynth2;
    protected double vTA_KTAeq;
    protected double vTA_rmaxTA;
    protected double vTIS_kTISdhap;
    protected double vTIS_kTISeq;
    protected double vTIS_kTISgap;
    protected double vTIS_rmaxTIS;
    protected double vTKA_KTKaeq;
    protected double vTKA_rmaxTKa;
    protected double vTKB_KTKbeq;
    protected double vTKB_rmaxTKb;
    protected double vTRPSYNTH_rmaxTrpSynth;
    protected double vXYL5P_mu;
    protected double vf6P_mu;
    protected double vfdP_mu;
    protected double vpepCxylase_KpepCxylasefdp;
    protected double vpepCxylase_KpepCxylasepep;
    protected double vpepCxylase_npepCxylasefdp;
    protected double vpepCxylase_rmaxpepCxylase;
    protected double vpg2_mu;
    protected double vpyr_mu;
    protected double vrpGluMu_KPGluMueq;
    protected double vrpGluMu_KPGluMupg2;
    protected double vrpGluMu_KPGluMupg3;
    protected double vrpGluMu_rmaxPGluMu;
    protected double vsersynth_KSerSynthpg3;
    protected double vsersynth_rmaxSerSynth;

    public double[] extendResult(double time,double [] x)
    {
        this.time = time;

        __internalVarInitFunc_0(time, x);

        double[] y = new double[25];
        y[0] = x[0];
        y[1] = x[1];
        y[2] = x[2];
        y[3] = x[3];
        y[4] = x[4];
        y[5] = x[5];
        y[6] = x[6];
        y[7] = x[7];
        y[8] = x[8];
        y[9] = x[9];
        y[10] = x[10];
        y[11] = x[11];
        y[12] = x[12];
        y[13] = x[13];
        y[14] = x[14];
        y[15] = x[15];
        y[16] = x[16];
        y[17] = x[17];
        y[18] = cadp;
        y[19] = camp;
        y[20] = catp;
        y[21] = cnad;
        y[22] = cnadh;
        y[23] = cnadp;
        y[24] = cnadph;
        return y;
    }
    public double[] getInitialValues()
    {
        double [] x = new double[18];
        this.time = 0.0;
        x[0] = 2.0; // - $"extracellular.cglcex"
        x[1] = 0.167; // - $"extracellular.cytosol.cdhap"
        x[2] = 0.098; // - $"extracellular.cytosol.ce4p"
        x[3] = 0.6; // - $"extracellular.cytosol.cf6p"
        x[4] = 0.272; // - $"extracellular.cytosol.cfdp"
        x[5] = 0.653; // - $"extracellular.cytosol.cg1p"
        x[6] = 3.48; // - $"extracellular.cytosol.cg6p"
        x[7] = 0.218; // - $"extracellular.cytosol.cgap"
        x[8] = 2.67; // - $"extracellular.cytosol.cpep"
        x[9] = 0.808; // - $"extracellular.cytosol.cpg"
        x[10] = 0.399; // - $"extracellular.cytosol.cpg2"
        x[11] = 2.13; // - $"extracellular.cytosol.cpg3"
        x[12] = 0.0080; // - $"extracellular.cytosol.cpgp"
        x[13] = 2.67; // - $"extracellular.cytosol.cpyr"
        x[14] = 0.398; // - $"extracellular.cytosol.crib5p"
        x[15] = 0.111; // - $"extracellular.cytosol.cribu5p"
        x[16] = 0.276; // - $"extracellular.cytosol.csed7p"
        x[17] = 0.138; // - $"extracellular.cytosol.cxyl5p"

        __internalVarInitFunc_0(time, x);
        __internalRateVarInitFunc_0(time, x);
        __internalRateVarInitFunc_1(time, x);

        return x;
    }

/*
 * code for algebraic rules calculations
 */

/*
 * end of code for algebraic rules calculations
 */

    protected void calculateRates(double time, double[] x)
    {

        __internalVarInitFunc_0(time, x);
        __internalRateVarInitFunc_0(time, x);
        __internalRateVarInitFunc_1(time, x);

    }

        /*
         * calculate dy/dt for 'BIOMD0000000051.xml' model
         */
    public void __internalDyDt_0(double time, double [] x, double[] result)
    {
        result[0] = +rate_vEXTER-rate_vPTS;
        result[1] = +rate_vALDO-rate_vDHAP-rate_vG3PDH-rate_vTIS;
        result[2] = -rate_vDAHPS-rate_vE4P+rate_vTA-rate_vTKB;
        result[3] = -rate_vMURSyNTH*2-rate_vPFK+rate_vPGI+rate_vTA+rate_vTKB-rate_vf6P;
        result[4] = -rate_vALDO+rate_vPFK-rate_vfdP;
        result[5] = -rate_vG1PAT-rate_vGLP+rate_vPGM;
        result[6] = -rate_vG6P-rate_vG6PDH-rate_vPGI-rate_vPGM+rate_vPTS*65;
        result[7] = +rate_vALDO-rate_vGAP-rate_vGAPDH-rate_vTA+rate_vTIS+rate_vTKA+rate_vTKB+rate_vTRPSYNTH;
        result[8] = -rate_vDAHPS+rate_vENO-rate_vPEP-rate_vPK-rate_vPTS*65-rate_vSynth1-rate_vpepCxylase;
        result[9] = +rate_vG6PDH-rate_vPG-rate_vPGDH;
        result[10] = -rate_vENO-rate_vpg2+rate_vrpGluMu;
        result[11] = -rate_vPG3+rate_vPGK-rate_vrpGluMu-rate_vsersynth;
        result[12] = +rate_vGAPDH-rate_vPGK-rate_vPGP;
        result[13] = +rate_vMethSynth-rate_vPDH+rate_vPK+rate_vPTS*65-rate_vSynth2+rate_vTRPSYNTH-rate_vpyr;
        result[14] = -rate_vPPK+rate_vR5PI-rate_vRIB5P-rate_vTKA;
        result[15] = +rate_vPGDH-rate_vR5PI-rate_vRibu5p-rate_vRu5P;
        result[16] = -rate_vSED7P-rate_vTA+rate_vTKA;
        result[17] = +rate_vRu5P-rate_vTKA-rate_vTKB-rate_vXYL5P;
    }
    protected double [] calculateResult(double time, double[] x)
    {
        double[] result = new double[18];
        __internalDyDt_0(time, x, result);
        return result;
    }
    public double[] dy_dt(double time, double[] x)
    {
        this.time = time;
        calculateRates( time,x );

        return calculateResult( time,x );
    }

} // class ...