/*
 * This code is generated by BioUML FrameWork 
 * for BIOMD0000000071.xml diagram  at 2008.03.20 15:07:52
 */
import biouml.plugins.simulation.ae.NewtonSolver;
import biouml.plugins.simulation.java.JavaBaseModel;
import ru.biosoft.math.MathRoutines;

public class BIOMD0000000071 extends JavaBaseModel
{

/*
 * Write rules to calculate equation parameters
 */


/*
 * Write rules to calculate equation parameters excluding internal variables.
 */
    public void __internalRateVarInitFunc_0(double time, double[] x)
    {
        rate_vALD = vALD_Vm5*(-(vALD_Vm5r*x[4]*(vALD_Vt*x[1] - vALD_sumc5*vALD_Vc*(1 + vALD_Vc/vALD_Vg)*x[1]/(vALD_sumc4 + vALD_sumc5*vALD_Vc/vALD_Vg - x[0] - 2*x[2] - x[3] - x[4] - x[5] - x[13]))/(vALD_K5DHAP*vALD_K5GAP*vALD_Vg)) + 111.111111111111*vALD_Vm5f*x[2]/(1 + 0.735294117647059*(-vALD_sumAg + (1 - 4*vALD_KeqAK)*x[13] + Math.pow((4*(1 - 4*vALD_KeqAK)*vALD_KeqAK*Math.pow(x[13], 2) + Math.pow((vALD_sumAg - (1 - 4*vALD_KeqAK)*x[13]), 2)), 0.5))/(1 - 4*vALD_KeqAK) + 0.662251655629139*(x[13] - (-vALD_sumAg + (1 - 4*vALD_KeqAK)*x[13] + Math.pow((4*(1 - 4*vALD_KeqAK)*vALD_KeqAK*Math.pow(x[13], 2) + Math.pow((vALD_sumAg - (1 - 4*vALD_KeqAK)*x[13]), 2)), 0.5))/(1 - 4*vALD_KeqAK)) + 0.273972602739726*(vALD_sumAg - x[13] + (-vALD_sumAg + (1 - 4*vALD_KeqAK)*x[13] + Math.pow((4*(1 - 4*vALD_KeqAK)*vALD_KeqAK*Math.pow(x[13], 2) + Math.pow((vALD_sumAg - (1 - 4*vALD_KeqAK)*x[13]), 2)), 0.5))/(2*(1 - 4*vALD_KeqAK)))))/(1 + x[4]/vALD_K5GAP + (vALD_Vt*x[1] - vALD_sumc5*vALD_Vc*(1 + vALD_Vc/vALD_Vg)*x[1]/(vALD_sumc4 + vALD_sumc5*vALD_Vc/vALD_Vg - x[0] - 2*x[2] - x[3] - x[4] - x[5] - x[13]))/(vALD_K5DHAP*vALD_Vg) + x[4]*(vALD_Vt*x[1] - vALD_sumc5*vALD_Vc*(1 + vALD_Vc/vALD_Vg)*x[1]/(vALD_sumc4 + vALD_sumc5*vALD_Vc/vALD_Vg - x[0] - 2*x[2] - x[3] - x[4] - x[5] - x[13]))/(vALD_K5DHAP*vALD_K5GAP*vALD_Vg) + 111.111111111111*x[2]/(1 + 0.735294117647059*(-vALD_sumAg + (1 - 4*vALD_KeqAK)*x[13] + Math.pow((4*(1 - 4*vALD_KeqAK)*vALD_KeqAK*Math.pow(x[13], 2) + Math.pow((vALD_sumAg - (1 - 4*vALD_KeqAK)*x[13]), 2)), 0.5))/(1 - 4*vALD_KeqAK) + 0.662251655629139*(x[13] - (-vALD_sumAg + (1 - 4*vALD_KeqAK)*x[13] + Math.pow((4*(1 - 4*vALD_KeqAK)*vALD_KeqAK*Math.pow(x[13], 2) + Math.pow((vALD_sumAg - (1 - 4*vALD_KeqAK)*x[13]), 2)), 0.5))/(1 - 4*vALD_KeqAK)) + 0.273972602739726*(vALD_sumAg - x[13] + (-vALD_sumAg + (1 - 4*vALD_KeqAK)*x[13] + Math.pow((4*(1 - 4*vALD_KeqAK)*vALD_KeqAK*Math.pow(x[13], 2) + Math.pow((vALD_sumAg - (1 - 4*vALD_KeqAK)*x[13]), 2)), 0.5))/(2*(1 - 4*vALD_KeqAK)))) + 111.111111111111*x[2]*x[4]/(vALD_K5GAPi*(1 + 0.735294117647059*(-vALD_sumAg + (1 - 4*vALD_KeqAK)*x[13] + Math.pow((4*(1 - 4*vALD_KeqAK)*vALD_KeqAK*Math.pow(x[13], 2) + Math.pow((vALD_sumAg - (1 - 4*vALD_KeqAK)*x[13]), 2)), 0.5))/(1 - 4*vALD_KeqAK) + 0.662251655629139*(x[13] - (-vALD_sumAg + (1 - 4*vALD_KeqAK)*x[13] + Math.pow((4*(1 - 4*vALD_KeqAK)*vALD_KeqAK*Math.pow(x[13], 2) + Math.pow((vALD_sumAg - (1 - 4*vALD_KeqAK)*x[13]), 2)), 0.5))/(1 - 4*vALD_KeqAK)) + 0.273972602739726*(vALD_sumAg - x[13] + (-vALD_sumAg + (1 - 4*vALD_KeqAK)*x[13] + Math.pow((4*(1 - 4*vALD_KeqAK)*vALD_KeqAK*Math.pow(x[13], 2) + Math.pow((vALD_sumAg - (1 - 4*vALD_KeqAK)*x[13]), 2)), 0.5))/(2*(1 - 4*vALD_KeqAK))))));
        rate_vATPase = vATPase_K13*(-vATPase_sumAc + (1 - 4*vATPase_KeqAK)*x[11] + Math.pow((4*(1 - 4*vATPase_KeqAK)*vATPase_KeqAK*Math.pow(x[11], 2) + Math.pow((vATPase_sumAc - (1 - 4*vATPase_KeqAK)*x[11]), 2)), 0.5))/(2*(1 - 4*vATPase_KeqAK)*(x[11] - (-vATPase_sumAc + (1 - 4*vATPase_KeqAK)*x[11] + Math.pow((4*(1 - 4*vATPase_KeqAK)*vATPase_KeqAK*Math.pow(x[11], 2) + Math.pow((vATPase_sumAc - (1 - 4*vATPase_KeqAK)*x[11]), 2)), 0.5))/(1 - 4*vATPase_KeqAK)));
        rate_vGAPdh = vGAPdh_Vm7*(vGAPdh_Vm7f*(x[4]*(x[8]/vGAPdh_K7GAP/vGAPdh_K7NAD) - vGAPdh_Vm7r/vGAPdh_Vm7f*(x[0]*x[9]/vGAPdh_K7BPGA13/vGAPdh_K7NADH))/((1 + x[4]/vGAPdh_K7GAP + x[0]/vGAPdh_K7BPGA13)*(1 + x[8]/vGAPdh_K7NAD + x[9]/vGAPdh_K7NADH)));
        rate_vGDH = vGDH_Vm8*vGDH_Vm8f*(x[9]*(vGDH_Vt*x[1] - vGDH_sumc5*vGDH_Vc*(1 + vGDH_Vc/vGDH_Vg)*x[1]/(vGDH_sumc4 + vGDH_sumc5*vGDH_Vc/vGDH_Vg - x[0] - 2*x[2] - x[3] - x[4] - x[5] - x[13]))/(vGDH_K8DHAPg*vGDH_K8NADH*vGDH_Vg) - vGDH_Vm8r*x[8]*(vGDH_sumc4 - x[0] - 2*x[2] - x[3] - x[4] - x[5] - (vGDH_Vt*x[1] - vGDH_sumc5*vGDH_Vc*(1 + vGDH_Vc/vGDH_Vg)*x[1]/(vGDH_sumc4 + vGDH_sumc5*vGDH_Vc/vGDH_Vg - x[0] - 2*x[2] - x[3] - x[4] - x[5] - x[13]))/vGDH_Vg - x[13])/(vGDH_K8Gly3Pg*vGDH_K8NAD*vGDH_Vm8f))/((1 + x[8]/vGDH_K8NAD + x[9]/vGDH_K8NADH)*(1 + (vGDH_Vt*x[1] - vGDH_sumc5*vGDH_Vc*(1 + vGDH_Vc/vGDH_Vg)*x[1]/(vGDH_sumc4 + vGDH_sumc5*vGDH_Vc/vGDH_Vg - x[0] - 2*x[2] - x[3] - x[4] - x[5] - x[13]))/(vGDH_K8DHAPg*vGDH_Vg) + (vGDH_sumc4 - x[0] - 2*x[2] - x[3] - x[4] - x[5] - (vGDH_Vt*x[1] - vGDH_sumc5*vGDH_Vc*(1 + vGDH_Vc/vGDH_Vg)*x[1]/(vGDH_sumc4 + vGDH_sumc5*vGDH_Vc/vGDH_Vg - x[0] - 2*x[2] - x[3] - x[4] - x[5] - x[13]))/vGDH_Vg - x[13])/vGDH_K8Gly3Pg));
        rate_vGPO = vGPO_Vm9*(vGPO_sumc5 - vGPO_sumc5*(1 + vGPO_Vc/vGPO_Vg)*x[1]/(vGPO_sumc4 + vGPO_sumc5*vGPO_Vc/vGPO_Vg - x[0] - 2*x[2] - x[3] - x[4] - x[5] - x[13]))/(vGPO_K9Gly3Pc*(1 + (vGPO_sumc5 - vGPO_sumc5*(1 + vGPO_Vc/vGPO_Vg)*x[1]/(vGPO_sumc4 + vGPO_sumc5*vGPO_Vc/vGPO_Vg - x[0] - 2*x[2] - x[3] - x[4] - x[5] - x[13]))/vGPO_K9Gly3Pc));
        rate_vGlcTr = vGlcTr_Vm1*(_extracellular_GlcE_ - x[6])/(vGlcTr_K1Glc + _extracellular_GlcE_ + x[6] + vGlcTr_afac*_extracellular_GlcE_*x[6]/vGlcTr_K1Glc);
        rate_vGlyK = vGlyK_Vm14*(-(_glycosome_Gly_*vGlyK_Vm14r*(-vGlyK_sumAg + (1 - 4*vGlyK_KeqAK)*x[13] + Math.pow((4*(1 - 4*vGlyK_KeqAK)*vGlyK_KeqAK*Math.pow(x[13], 2) + Math.pow((vGlyK_sumAg - (1 - 4*vGlyK_KeqAK)*x[13]), 2)), 0.5)))/(2*vGlyK_K14ATPg*vGlyK_K14Gly*(1 - 4*vGlyK_KeqAK)) + vGlyK_Vm14f*(vGlyK_sumc4 - x[0] - 2*x[2] - x[3] - x[4] - x[5] - (vGlyK_Vt*x[1] - vGlyK_sumc5*vGlyK_Vc*(1 + vGlyK_Vc/vGlyK_Vg)*x[1]/(vGlyK_sumc4 + vGlyK_sumc5*vGlyK_Vc/vGlyK_Vg - x[0] - 2*x[2] - x[3] - x[4] - x[5] - x[13]))/vGlyK_Vg - x[13])*(x[13] - (-vGlyK_sumAg + (1 - 4*vGlyK_KeqAK)*x[13] + Math.pow((4*(1 - 4*vGlyK_KeqAK)*vGlyK_KeqAK*Math.pow(x[13], 2) + Math.pow((vGlyK_sumAg - (1 - 4*vGlyK_KeqAK)*x[13]), 2)), 0.5))/(1 - 4*vGlyK_KeqAK))/(vGlyK_K14ADPg*vGlyK_K14Gly3Pg))/((1 + _glycosome_Gly_/vGlyK_K14Gly + (vGlyK_sumc4 - x[0] - 2*x[2] - x[3] - x[4] - x[5] - (vGlyK_Vt*x[1] - vGlyK_sumc5*vGlyK_Vc*(1 + vGlyK_Vc/vGlyK_Vg)*x[1]/(vGlyK_sumc4 + vGlyK_sumc5*vGlyK_Vc/vGlyK_Vg - x[0] - 2*x[2] - x[3] - x[4] - x[5] - x[13]))/vGlyK_Vg - x[13])/vGlyK_K14Gly3Pg)*(1 + (-vGlyK_sumAg + (1 - 4*vGlyK_KeqAK)*x[13] + Math.pow((4*(1 - 4*vGlyK_KeqAK)*vGlyK_KeqAK*Math.pow(x[13], 2) + Math.pow((vGlyK_sumAg - (1 - 4*vGlyK_KeqAK)*x[13]), 2)), 0.5))/(2*vGlyK_K14ATPg*(1 - 4*vGlyK_KeqAK)) + (x[13] - (-vGlyK_sumAg + (1 - 4*vGlyK_KeqAK)*x[13] + Math.pow((4*(1 - 4*vGlyK_KeqAK)*vGlyK_KeqAK*Math.pow(x[13], 2) + Math.pow((vGlyK_sumAg - (1 - 4*vGlyK_KeqAK)*x[13]), 2)), 0.5))/(1 - 4*vGlyK_KeqAK))/vGlyK_K14ADPg));
        rate_vHK = vHK_Vm2*x[6]*(-vHK_sumAg + (1 - 4*vHK_KeqAK)*x[13] + Math.pow((4*(1 - 4*vHK_KeqAK)*vHK_KeqAK*Math.pow(x[13], 2) + Math.pow((vHK_sumAg - (1 - 4*vHK_KeqAK)*x[13]), 2)), 0.5))/(2*vHK_K2ATPg*vHK_K2GlcI*(1 - 4*vHK_KeqAK)*(1 + x[5]/vHK_K2Glc6P + x[6]/vHK_K2GlcI)*(1 + (-vHK_sumAg + (1 - 4*vHK_KeqAK)*x[13] + Math.pow((4*(1 - 4*vHK_KeqAK)*vHK_KeqAK*Math.pow(x[13], 2) + Math.pow((vHK_sumAg - (1 - 4*vHK_KeqAK)*x[13]), 2)), 0.5))/(2*vHK_K2ATPg*(1 - 4*vHK_KeqAK)) + (x[13] - (-vHK_sumAg + (1 - 4*vHK_KeqAK)*x[13] + Math.pow((4*(1 - 4*vHK_KeqAK)*vHK_KeqAK*Math.pow(x[13], 2) + Math.pow((vHK_sumAg - (1 - 4*vHK_KeqAK)*x[13]), 2)), 0.5))/(1 - 4*vHK_KeqAK))/vHK_K2ADPg));
        rate_vPFK = vPFK_K4i1Fru16BP*vPFK_Vm4*x[3]*(-vPFK_sumAg + (1 - 4*vPFK_KeqAK)*x[13] + Math.pow((4*(1 - 4*vPFK_KeqAK)*vPFK_KeqAK*Math.pow(x[13], 2) + Math.pow((vPFK_sumAg - (1 - 4*vPFK_KeqAK)*x[13]), 2)), 0.5))/(2*vPFK_K4ATPg*vPFK_K4Fru6P*(1 - 4*vPFK_KeqAK)*(vPFK_K4i1Fru16BP + x[2])*(1 + x[2]/vPFK_K4i2Fru16BP + x[3]/vPFK_K4Fru6P)*(1 + (-vPFK_sumAg + (1 - 4*vPFK_KeqAK)*x[13] + Math.pow((4*(1 - 4*vPFK_KeqAK)*vPFK_KeqAK*Math.pow(x[13], 2) + Math.pow((vPFK_sumAg - (1 - 4*vPFK_KeqAK)*x[13]), 2)), 0.5))/(2*vPFK_K4ATPg*(1 - 4*vPFK_KeqAK))));
        rate_vPGI = vPGI_Vm3*(x[5]/vPGI_K3Glc6P - x[3]/vPGI_K3Fru6P)/(1 + x[5]/vPGI_K3Glc6P + x[3]/vPGI_K3Fru6P);
        rate_vPGK = vPGK_Vm11*vPGK_Vm11f*(-((1 + vPGK_Vc/vPGK_Vg)*vPGK_Vm11r*x[12]*(-vPGK_sumAg + (1 - 4*vPGK_KeqAK)*x[13] + Math.pow((4*(1 - 4*vPGK_KeqAK)*vPGK_KeqAK*Math.pow(x[13], 2) + Math.pow((vPGK_sumAg - (1 - 4*vPGK_KeqAK)*x[13]), 2)), 0.5)))/(2*vPGK_K11ATPg*vPGK_K11PGA3*(1 - 4*vPGK_KeqAK)*(1 + (1 + vPGK_KeqPGM + vPGK_KeqENO*vPGK_KeqPGM)*vPGK_Vc/vPGK_Vg)*vPGK_Vm11f) + x[0]*(x[13] - (-vPGK_sumAg + (1 - 4*vPGK_KeqAK)*x[13] + Math.pow((4*(1 - 4*vPGK_KeqAK)*vPGK_KeqAK*Math.pow(x[13], 2) + Math.pow((vPGK_sumAg - (1 - 4*vPGK_KeqAK)*x[13]), 2)), 0.5))/(1 - 4*vPGK_KeqAK))/(vPGK_K11ADPg*vPGK_K11BPGA13))/((1 + x[0]/vPGK_K11BPGA13 + (1 + vPGK_Vc/vPGK_Vg)*x[12]/(vPGK_K11PGA3*(1 + (1 + vPGK_KeqPGM + vPGK_KeqENO*vPGK_KeqPGM)*vPGK_Vc/vPGK_Vg)))*(1 + (-vPGK_sumAg + (1 - 4*vPGK_KeqAK)*x[13] + Math.pow((4*(1 - 4*vPGK_KeqAK)*vPGK_KeqAK*Math.pow(x[13], 2) + Math.pow((vPGK_sumAg - (1 - 4*vPGK_KeqAK)*x[13]), 2)), 0.5))/(2*vPGK_K11ATPg*(1 - 4*vPGK_KeqAK)) + (x[13] - (-vPGK_sumAg + (1 - 4*vPGK_KeqAK)*x[13] + Math.pow((4*(1 - 4*vPGK_KeqAK)*vPGK_KeqAK*Math.pow(x[13], 2) + Math.pow((vPGK_sumAg - (1 - 4*vPGK_KeqAK)*x[13]), 2)), 0.5))/(1 - 4*vPGK_KeqAK))/vPGK_K11ADPg));
        rate_vPK = Math.pow(2.94117647058824, vPK_n12)*vPK_Vm12*(x[11] - (-vPK_sumAc + (1 - 4*vPK_KeqAK)*x[11] + Math.pow((4*(1 - 4*vPK_KeqAK)*vPK_KeqAK*Math.pow(x[11], 2) + Math.pow((vPK_sumAc - (1 - 4*vPK_KeqAK)*x[11]), 2)), 0.5))/(1 - 4*vPK_KeqAK))*Math.pow((vPK_KeqENO*vPK_KeqPGM*(1 + vPK_Vc/vPK_Vg)*x[12]/((1 + (1 + vPK_KeqPGM + vPK_KeqENO*vPK_KeqPGM)*vPK_Vc/vPK_Vg)*(1 + 0.87719298245614*(-vPK_sumAc + (1 - 4*vPK_KeqAK)*x[11] + Math.pow((4*(1 - 4*vPK_KeqAK)*vPK_KeqAK*Math.pow(x[11], 2) + Math.pow((vPK_sumAc - (1 - 4*vPK_KeqAK)*x[11]), 2)), 0.5))/(1 - 4*vPK_KeqAK) + 1.5625*(x[11] - (-vPK_sumAc + (1 - 4*vPK_KeqAK)*x[11] + Math.pow((4*(1 - 4*vPK_KeqAK)*vPK_KeqAK*Math.pow(x[11], 2) + Math.pow((vPK_sumAc - (1 - 4*vPK_KeqAK)*x[11]), 2)), 0.5))/(1 - 4*vPK_KeqAK))))), vPK_n12)/(vPK_K12ADP*(1 + (x[11] - (-vPK_sumAc + (1 - 4*vPK_KeqAK)*x[11] + Math.pow((4*(1 - 4*vPK_KeqAK)*vPK_KeqAK*Math.pow(x[11], 2) + Math.pow((vPK_sumAc - (1 - 4*vPK_KeqAK)*x[11]), 2)), 0.5))/(1 - 4*vPK_KeqAK))/vPK_K12ADP)*(1 + Math.pow(2.94117647058824, vPK_n12)*Math.pow((vPK_KeqENO*vPK_KeqPGM*(1 + vPK_Vc/vPK_Vg)*x[12]/((1 + (1 + vPK_KeqPGM + vPK_KeqENO*vPK_KeqPGM)*vPK_Vc/vPK_Vg)*(1 + 0.87719298245614*(-vPK_sumAc + (1 - 4*vPK_KeqAK)*x[11] + Math.pow((4*(1 - 4*vPK_KeqAK)*vPK_KeqAK*Math.pow(x[11], 2) + Math.pow((vPK_sumAc - (1 - 4*vPK_KeqAK)*x[11]), 2)), 0.5))/(1 - 4*vPK_KeqAK) + 1.5625*(x[11] - (-vPK_sumAc + (1 - 4*vPK_KeqAK)*x[11] + Math.pow((4*(1 - 4*vPK_KeqAK)*vPK_KeqAK*Math.pow(x[11], 2) + Math.pow((vPK_sumAc - (1 - 4*vPK_KeqAK)*x[11]), 2)), 0.5))/(1 - 4*vPK_KeqAK))))), vPK_n12)));
        rate_vPyrTr = vPyrTr_Vm10*x[10]/vPyrTr_K10Pyr/(1 + x[10]/vPyrTr_K10Pyr);
        rate_vTPI = vTPI_Vm6*(-5.7*x[4]/vTPI_K6GAP + (vTPI_Vt*x[1] - vTPI_sumc5*vTPI_Vc*(1 + vTPI_Vc/vTPI_Vg)*x[1]/(vTPI_sumc4 + vTPI_sumc5*vTPI_Vc/vTPI_Vg - x[0] - 2*x[2] - x[3] - x[4] - x[5] - x[13]))/(vTPI_K6DHAPg*vTPI_Vg))/(1 + x[4]/vTPI_K6GAP + (vTPI_Vt*x[1] - vTPI_sumc5*vTPI_Vc*(1 + vTPI_Vc/vTPI_Vg)*x[1]/(vTPI_sumc4 + vTPI_sumc5*vTPI_Vc/vTPI_Vg - x[0] - 2*x[2] - x[3] - x[4] - x[5] - x[13]))/(vTPI_K6DHAPg*vTPI_Vg));
    }

    public void Init()
    {
        initialValues = getInitialValues();
/*
 * Initialize variables
 */
        _extracellular_GlcE_ = 5.0; // initial value of $"extracellular.GlcE"
        vALD_K5DHAP = 0.015; // initial value of vALD_K5DHAP
        vALD_K5GAP = 0.067; // initial value of vALD_K5GAP
        vALD_K5GAPi = 0.098; // initial value of vALD_K5GAPi
        vALD_KeqAK = 0.442; // initial value of vALD_KeqAK
        vALD_Vc = 5.4549; // initial value of vALD_Vc
        vALD_Vg = 0.2451; // initial value of vALD_Vg
        vALD_Vm5 = 1.0; // initial value of vALD_Vm5
        vALD_Vm5f = 184.5; // initial value of vALD_Vm5f
        vALD_Vm5r = 219.555; // initial value of vALD_Vm5r
        vALD_Vt = 5.7; // initial value of vALD_Vt
        vALD_sumAg = 6.0; // initial value of vALD_sumAg
        vALD_sumc4 = 45.0; // initial value of vALD_sumc4
        vALD_sumc5 = 5.0; // initial value of vALD_sumc5
        vATPase_K13 = 50.0; // initial value of vATPase_K13
        vATPase_KeqAK = 0.442; // initial value of vATPase_KeqAK
        vATPase_sumAc = 3.9; // initial value of vATPase_sumAc
        vGAPdh_K7BPGA13 = 0.1; // initial value of vGAPdh_K7BPGA13
        vGAPdh_K7GAP = 0.15; // initial value of vGAPdh_K7GAP
        vGAPdh_K7NAD = 0.45; // initial value of vGAPdh_K7NAD
        vGAPdh_K7NADH = 0.02; // initial value of vGAPdh_K7NADH
        vGAPdh_Vm7 = 1.0; // initial value of vGAPdh_Vm7
        vGAPdh_Vm7f = 1470.0; // initial value of vGAPdh_Vm7f
        vGAPdh_Vm7r = 984.9; // initial value of vGAPdh_Vm7r
        vGDH_K8DHAPg = 0.1; // initial value of vGDH_K8DHAPg
        vGDH_K8Gly3Pg = 2.0; // initial value of vGDH_K8Gly3Pg
        vGDH_K8NAD = 0.4; // initial value of vGDH_K8NAD
        vGDH_K8NADH = 0.01; // initial value of vGDH_K8NADH
        vGDH_Vc = 5.4549; // initial value of vGDH_Vc
        vGDH_Vg = 0.2451; // initial value of vGDH_Vg
        vGDH_Vm8 = 1.0; // initial value of vGDH_Vm8
        vGDH_Vm8f = 533.0; // initial value of vGDH_Vm8f
        vGDH_Vm8r = 149.24; // initial value of vGDH_Vm8r
        vGDH_Vt = 5.7; // initial value of vGDH_Vt
        vGDH_sumc4 = 45.0; // initial value of vGDH_sumc4
        vGDH_sumc5 = 5.0; // initial value of vGDH_sumc5
        vGPO_K9Gly3Pc = 1.7; // initial value of vGPO_K9Gly3Pc
        vGPO_Vc = 5.4549; // initial value of vGPO_Vc
        vGPO_Vg = 0.2451; // initial value of vGPO_Vg
        vGPO_Vm9 = 368.0; // initial value of vGPO_Vm9
        vGPO_sumc4 = 45.0; // initial value of vGPO_sumc4
        vGPO_sumc5 = 5.0; // initial value of vGPO_sumc5
        vGlcTr_K1Glc = 2.0; // initial value of vGlcTr_K1Glc
        vGlcTr_Vm1 = 106.2; // initial value of vGlcTr_Vm1
        vGlcTr_afac = 0.75; // initial value of vGlcTr_afac
        vGlyK_K14ADPg = 0.12; // initial value of vGlyK_K14ADPg
        vGlyK_K14ATPg = 0.19; // initial value of vGlyK_K14ATPg
        vGlyK_K14Gly = 0.12; // initial value of vGlyK_K14Gly
        vGlyK_K14Gly3Pg = 5.1; // initial value of vGlyK_K14Gly3Pg
        vGlyK_KeqAK = 0.442; // initial value of vGlyK_KeqAK
        vGlyK_Vc = 5.4549; // initial value of vGlyK_Vc
        vGlyK_Vg = 0.2451; // initial value of vGlyK_Vg
        vGlyK_Vm14 = 1.0; // initial value of vGlyK_Vm14
        vGlyK_Vm14f = 200.0; // initial value of vGlyK_Vm14f
        vGlyK_Vm14r = 33400.0; // initial value of vGlyK_Vm14r
        vGlyK_Vt = 5.7; // initial value of vGlyK_Vt
        vGlyK_sumAg = 6.0; // initial value of vGlyK_sumAg
        vGlyK_sumc4 = 45.0; // initial value of vGlyK_sumc4
        vGlyK_sumc5 = 5.0; // initial value of vGlyK_sumc5
        vHK_K2ADPg = 0.126; // initial value of vHK_K2ADPg
        vHK_K2ATPg = 0.116; // initial value of vHK_K2ATPg
        vHK_K2Glc6P = 12.0; // initial value of vHK_K2Glc6P
        vHK_K2GlcI = 0.1; // initial value of vHK_K2GlcI
        vHK_KeqAK = 0.442; // initial value of vHK_KeqAK
        vHK_Vm2 = 625.0; // initial value of vHK_Vm2
        vHK_sumAg = 6.0; // initial value of vHK_sumAg
        vPFK_K4ATPg = 0.026; // initial value of vPFK_K4ATPg
        vPFK_K4Fru6P = 0.82; // initial value of vPFK_K4Fru6P
        vPFK_K4i1Fru16BP = 15.8; // initial value of vPFK_K4i1Fru16BP
        vPFK_K4i2Fru16BP = 10.7; // initial value of vPFK_K4i2Fru16BP
        vPFK_KeqAK = 0.442; // initial value of vPFK_KeqAK
        vPFK_Vm4 = 780.0; // initial value of vPFK_Vm4
        vPFK_sumAg = 6.0; // initial value of vPFK_sumAg
        vPGI_K3Fru6P = 0.12; // initial value of vPGI_K3Fru6P
        vPGI_K3Glc6P = 0.4; // initial value of vPGI_K3Glc6P
        vPGI_Vm3 = 848.0; // initial value of vPGI_Vm3
        vPGK_K11ADPg = 0.1; // initial value of vPGK_K11ADPg
        vPGK_K11ATPg = 0.29; // initial value of vPGK_K11ATPg
        vPGK_K11BPGA13 = 0.05; // initial value of vPGK_K11BPGA13
        vPGK_K11PGA3 = 1.62; // initial value of vPGK_K11PGA3
        vPGK_KeqAK = 0.442; // initial value of vPGK_KeqAK
        vPGK_KeqENO = 6.7; // initial value of vPGK_KeqENO
        vPGK_KeqPGM = 0.187; // initial value of vPGK_KeqPGM
        vPGK_Vc = 5.4549; // initial value of vPGK_Vc
        vPGK_Vg = 0.2451; // initial value of vPGK_Vg
        vPGK_Vm11 = 1.0; // initial value of vPGK_Vm11
        vPGK_Vm11f = 640.0; // initial value of vPGK_Vm11f
        vPGK_Vm11r = 18.56; // initial value of vPGK_Vm11r
        vPGK_sumAg = 6.0; // initial value of vPGK_sumAg
        vPK_K12ADP = 0.114; // initial value of vPK_K12ADP
        vPK_KeqAK = 0.442; // initial value of vPK_KeqAK
        vPK_KeqENO = 6.7; // initial value of vPK_KeqENO
        vPK_KeqPGM = 0.187; // initial value of vPK_KeqPGM
        vPK_Vc = 5.4549; // initial value of vPK_Vc
        vPK_Vg = 0.2451; // initial value of vPK_Vg
        vPK_Vm12 = 2600.0; // initial value of vPK_Vm12
        vPK_n12 = 2.5; // initial value of vPK_n12
        vPK_sumAc = 3.9; // initial value of vPK_sumAc
        vPyrTr_K10Pyr = 1.96; // initial value of vPyrTr_K10Pyr
        vPyrTr_Vm10 = 200.0; // initial value of vPyrTr_Vm10
        vTPI_K6DHAPg = 1.2; // initial value of vTPI_K6DHAPg
        vTPI_K6GAP = 0.25; // initial value of vTPI_K6GAP
        vTPI_Vc = 5.4549; // initial value of vTPI_Vc
        vTPI_Vg = 0.2451; // initial value of vTPI_Vg
        vTPI_Vm6 = 842.0; // initial value of vTPI_Vm6
        vTPI_Vt = 5.7; // initial value of vTPI_Vt
        vTPI_sumc4 = 45.0; // initial value of vTPI_sumc4
        vTPI_sumc5 = 5.0; // initial value of vTPI_sumc5
    }

    /*
     * Model variables initial values
     */
    protected double _extracellular_GlcE_;
    protected double _extracellular_PyrE_;
    protected double _glycosome_Gly_;
    protected double rate_vALD;
    protected double rate_vATPase;
    protected double rate_vGAPdh;
    protected double rate_vGDH;
    protected double rate_vGPO;
    protected double rate_vGlcTr;
    protected double rate_vGlyK;
    protected double rate_vHK;
    protected double rate_vPFK;
    protected double rate_vPGI;
    protected double rate_vPGK;
    protected double rate_vPK;
    protected double rate_vPyrTr;
    protected double rate_vTPI;
    protected double vALD_K5DHAP;
    protected double vALD_K5GAP;
    protected double vALD_K5GAPi;
    protected double vALD_KeqAK;
    protected double vALD_Vc;
    protected double vALD_Vg;
    protected double vALD_Vm5;
    protected double vALD_Vm5f;
    protected double vALD_Vm5r;
    protected double vALD_Vt;
    protected double vALD_sumAg;
    protected double vALD_sumc4;
    protected double vALD_sumc5;
    protected double vATPase_K13;
    protected double vATPase_KeqAK;
    protected double vATPase_sumAc;
    protected double vGAPdh_K7BPGA13;
    protected double vGAPdh_K7GAP;
    protected double vGAPdh_K7NAD;
    protected double vGAPdh_K7NADH;
    protected double vGAPdh_Vm7;
    protected double vGAPdh_Vm7f;
    protected double vGAPdh_Vm7r;
    protected double vGDH_K8DHAPg;
    protected double vGDH_K8Gly3Pg;
    protected double vGDH_K8NAD;
    protected double vGDH_K8NADH;
    protected double vGDH_Vc;
    protected double vGDH_Vg;
    protected double vGDH_Vm8;
    protected double vGDH_Vm8f;
    protected double vGDH_Vm8r;
    protected double vGDH_Vt;
    protected double vGDH_sumc4;
    protected double vGDH_sumc5;
    protected double vGPO_K9Gly3Pc;
    protected double vGPO_Vc;
    protected double vGPO_Vg;
    protected double vGPO_Vm9;
    protected double vGPO_sumc4;
    protected double vGPO_sumc5;
    protected double vGlcTr_K1Glc;
    protected double vGlcTr_Vm1;
    protected double vGlcTr_afac;
    protected double vGlyK_K14ADPg;
    protected double vGlyK_K14ATPg;
    protected double vGlyK_K14Gly;
    protected double vGlyK_K14Gly3Pg;
    protected double vGlyK_KeqAK;
    protected double vGlyK_Vc;
    protected double vGlyK_Vg;
    protected double vGlyK_Vm14;
    protected double vGlyK_Vm14f;
    protected double vGlyK_Vm14r;
    protected double vGlyK_Vt;
    protected double vGlyK_sumAg;
    protected double vGlyK_sumc4;
    protected double vGlyK_sumc5;
    protected double vHK_K2ADPg;
    protected double vHK_K2ATPg;
    protected double vHK_K2Glc6P;
    protected double vHK_K2GlcI;
    protected double vHK_KeqAK;
    protected double vHK_Vm2;
    protected double vHK_sumAg;
    protected double vPFK_K4ATPg;
    protected double vPFK_K4Fru6P;
    protected double vPFK_K4i1Fru16BP;
    protected double vPFK_K4i2Fru16BP;
    protected double vPFK_KeqAK;
    protected double vPFK_Vm4;
    protected double vPFK_sumAg;
    protected double vPGI_K3Fru6P;
    protected double vPGI_K3Glc6P;
    protected double vPGI_Vm3;
    protected double vPGK_K11ADPg;
    protected double vPGK_K11ATPg;
    protected double vPGK_K11BPGA13;
    protected double vPGK_K11PGA3;
    protected double vPGK_KeqAK;
    protected double vPGK_KeqENO;
    protected double vPGK_KeqPGM;
    protected double vPGK_Vc;
    protected double vPGK_Vg;
    protected double vPGK_Vm11;
    protected double vPGK_Vm11f;
    protected double vPGK_Vm11r;
    protected double vPGK_sumAg;
    protected double vPK_K12ADP;
    protected double vPK_KeqAK;
    protected double vPK_KeqENO;
    protected double vPK_KeqPGM;
    protected double vPK_Vc;
    protected double vPK_Vg;
    protected double vPK_Vm12;
    protected double vPK_n12;
    protected double vPK_sumAc;
    protected double vPyrTr_K10Pyr;
    protected double vPyrTr_Vm10;
    protected double vTPI_K6DHAPg;
    protected double vTPI_K6GAP;
    protected double vTPI_Vc;
    protected double vTPI_Vg;
    protected double vTPI_Vm6;
    protected double vTPI_Vt;
    protected double vTPI_sumc4;
    protected double vTPI_sumc5;

    public double[] extendResult(double time,double [] x)
    {
        this.time = time;


        double[] y = new double[14];
        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];
        return y;
    }
    public double[] getInitialValues()
    {
        double [] x = new double[14];
        this.time = 0.0;
        x[0] = 0.0326745; // - $"glycosome.BPGA13"
        x[1] = 3.89921; // - $"glycosome.DHAP"
        x[2] = 16.5371; // - $"glycosome.Fru16BP"
        x[3] = 0.511773; // - $"glycosome.Fru6P"
        x[4] = 0.0399329; // - $"glycosome.GAP"
        x[5] = 2.07199; // - $"glycosome.Glc6P"
        x[6] = 0.0340009; // - $"glycosome.GlcI"
        x[7] = 0.0; // - $"glycosome.Gly3P"
        x[8] = 3.95514; // - $"glycosome.NAD"
        x[9] = 0.0448639; // - $"glycosome.NADH"
        x[10] = 4.77413; // - $"glycosome.Pyr"
        x[11] = 6.51839; // - $cytosol.Pc
        x[12] = 1.59603; // - $glycosome.Nb
        x[13] = 7.63936; // - $glycosome.Pg

        __internalRateVarInitFunc_0(time, x);

        return x;
    }

/*
 * code for algebraic rules calculations
 */

/*
 * end of code for algebraic rules calculations
 */

    protected void calculateRates(double time, double[] x)
    {

        __internalRateVarInitFunc_0(time, x);

    }

        /*
         * calculate dy/dt for 'BIOMD0000000071.xml' model
         */
    public void __internalDyDt_0(double time, double [] x, double[] result)
    {
        result[0] = +rate_vGAPdh*4.087719-rate_vPGK*4.087719;
        result[1] = +rate_vALD*0.175439-rate_vGDH*0.175439+rate_vGPO*0.175439-rate_vTPI*0.175439;
        result[2] = -rate_vALD*4.087719+rate_vPFK*4.087719;
        result[3] = -rate_vPFK*4.087719+rate_vPGI*4.087719;
        result[4] = +rate_vALD*4.087719-rate_vGAPdh*4.087719+rate_vTPI*4.087719;
        result[5] = +rate_vHK*4.087719-rate_vPGI*4.087719;
        result[6] = +rate_vGlcTr*0.175439-rate_vHK*0.175439;
        result[7] = +rate_vGDH*0.175439-rate_vGPO*0.175439-rate_vGlyK*0.175439;
        result[8] = -rate_vGAPdh*4.087719+rate_vGDH*4.087719;
        result[9] = +rate_vGAPdh*4.087719-rate_vGDH*4.087719;
        result[10] = +rate_vPK*0.183306-rate_vPyrTr*0.183306;
        result[11] = -rate_vATPase*0.183306+rate_vPK*0.183306;
        result[12] = +rate_vPGK*0.175439-rate_vPK*0.175439;
        result[13] = +rate_vGlyK*4.087719-rate_vHK*4.087719-rate_vPFK*4.087719+rate_vPGK*4.087719;
    }
    protected double [] calculateResult(double time, double[] x)
    {
        double[] result = new double[14];
        __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 ...