/*
 * This code is generated by BioUML FrameWork 
 * for BIOMD0000000064.xml diagram  at 2008.03.20 15:04:49
 */
import biouml.plugins.simulation.ae.NewtonSolver;
import biouml.plugins.simulation.java.JavaBaseModel;
import ru.biosoft.math.MathRoutines;

public class BIOMD0000000064 extends JavaBaseModel
{

/*
 * Write rules to calculate equation parameters
 */
    private void __internalVarInitFunc_0(double time, double[] x)
    {
        L_PFK = Lzero_5*Math.pow(((1 + CiPFKATP_5*((x[8] - 4*KeqAK_5*x[8] - SUMAXP_5 + Math.pow((Math.pow(x[8], 2) - 4*KeqAK_5*Math.pow(x[8], 2) - 2*x[8]*SUMAXP_5 + 8*KeqAK_5*x[8]*SUMAXP_5 + Math.pow(SUMAXP_5, 2)), 0.5))/(2 - 8*KeqAK_5)/KiPFKATP_5))/(1 + (x[8] - 4*KeqAK_5*x[8] - SUMAXP_5 + Math.pow((Math.pow(x[8], 2) - 4*KeqAK_5*Math.pow(x[8], 2) - 2*x[8]*SUMAXP_5 + 8*KeqAK_5*x[8]*SUMAXP_5 + Math.pow(SUMAXP_5, 2)), 0.5))/(2 - 8*KeqAK_5)/KiPFKATP_5)), 2)*Math.pow(((1 + CPFKAMP_5*(2*KeqAK_5*Math.pow((SUMAXP_5 - Math.pow((Math.pow(x[8], 2) - 4*KeqAK_5*Math.pow(x[8], 2) - 2*x[8]*SUMAXP_5 + 8*KeqAK_5*x[8]*SUMAXP_5 + Math.pow(SUMAXP_5, 2)), 0.5)), 2)/((-1.0 + 4*KeqAK_5)*(-x[8] + 4*KeqAK_5*x[8] + SUMAXP_5 - Math.pow((Math.pow(x[8], 2) - 4*KeqAK_5*Math.pow(x[8], 2) - 2*x[8]*SUMAXP_5 + 8*KeqAK_5*x[8]*SUMAXP_5 + Math.pow(SUMAXP_5, 2)), 0.5))))/KPFKAMP_5)/(1 + 2*KeqAK_5*Math.pow((SUMAXP_5 - Math.pow((Math.pow(x[8], 2) - 4*KeqAK_5*Math.pow(x[8], 2) - 2*x[8]*SUMAXP_5 + 8*KeqAK_5*x[8]*SUMAXP_5 + Math.pow(SUMAXP_5, 2)), 0.5)), 2)/((-1.0 + 4*KeqAK_5)*(-x[8] + 4*KeqAK_5*x[8] + SUMAXP_5 - Math.pow((Math.pow(x[8], 2) - 4*KeqAK_5*Math.pow(x[8], 2) - 2*x[8]*SUMAXP_5 + 8*KeqAK_5*x[8]*SUMAXP_5 + Math.pow(SUMAXP_5, 2)), 0.5)))/KPFKAMP_5)), 2)*Math.pow(((1 + CPFKF26BP_5*F26BP_5/KPFKF26BP_5 + CPFKF16BP_5*x[2]/KPFKF16BP_5)/(1 + F26BP_5/KPFKF26BP_5 + x[2]/KPFKF16BP_5)), 2);
        Lambda1 = x[3]/KmPFKF6P_5;
        Lambda2 = (x[8] - 4*KeqAK_5*x[8] - SUMAXP_5 + Math.pow((Math.pow(x[8], 2) - 4*KeqAK_5*Math.pow(x[8], 2) - 2*x[8]*SUMAXP_5 + 8*KeqAK_5*x[8]*SUMAXP_5 + Math.pow(SUMAXP_5, 2)), 0.5))/(2 - 8*KeqAK_5)/KmPFKATP_5;
        R_PFK = 1 + x[3]/KmPFKF6P_5 + (x[8] - 4*KeqAK_5*x[8] - SUMAXP_5 + Math.pow((Math.pow(x[8], 2) - 4*KeqAK_5*Math.pow(x[8], 2) - 2*x[8]*SUMAXP_5 + 8*KeqAK_5*x[8]*SUMAXP_5 + Math.pow(SUMAXP_5, 2)), 0.5))/(2 - 8*KeqAK_5)/KmPFKATP_5 + gR_5*x[3]/KmPFKF6P_5*((x[8] - 4*KeqAK_5*x[8] - SUMAXP_5 + Math.pow((Math.pow(x[8], 2) - 4*KeqAK_5*Math.pow(x[8], 2) - 2*x[8]*SUMAXP_5 + 8*KeqAK_5*x[8]*SUMAXP_5 + Math.pow(SUMAXP_5, 2)), 0.5))/(2 - 8*KeqAK_5)/KmPFKATP_5);
        T_PFK = 1 + CPFKATP_5*((x[8] - 4*KeqAK_5*x[8] - SUMAXP_5 + Math.pow((Math.pow(x[8], 2) - 4*KeqAK_5*Math.pow(x[8], 2) - 2*x[8]*SUMAXP_5 + 8*KeqAK_5*x[8]*SUMAXP_5 + Math.pow(SUMAXP_5, 2)), 0.5))/(2 - 8*KeqAK_5))/KmPFKATP_5;
    }


/*
 * Write rules to calculate equation parameters excluding internal variables.
 */
    public void __internalRateVarInitFunc_0(double time, double[] x)
    {
        rate_vADH = -_extracellular_cytosol_*(vADH_VmADH_15/(vADH_KiADHNAD_15*vADH_KmADHETOH_15)*(x[6]*_extracellular_cytosol_ETOH_ - x[7]*x[0]/vADH_KeqADH_15)/(1 + x[6]/vADH_KiADHNAD_15 + vADH_KmADHNAD_15*_extracellular_cytosol_ETOH_/(vADH_KiADHNAD_15*vADH_KmADHETOH_15) + vADH_KmADHNADH_15*x[0]/(vADH_KiADHNADH_15*vADH_KmADHACE_15) + x[7]/vADH_KiADHNADH_15 + x[6]*_extracellular_cytosol_ETOH_/(vADH_KiADHNAD_15*vADH_KmADHETOH_15) + vADH_KmADHNADH_15*x[6]*x[0]/(vADH_KiADHNAD_15*vADH_KiADHNADH_15*vADH_KmADHACE_15) + vADH_KmADHNAD_15*_extracellular_cytosol_ETOH_*x[7]/(vADH_KiADHNAD_15*vADH_KmADHETOH_15*vADH_KiADHNADH_15) + x[7]*x[0]/(vADH_KiADHNADH_15*vADH_KmADHACE_15) + x[6]*_extracellular_cytosol_ETOH_*x[0]/(vADH_KiADHNAD_15*vADH_KmADHETOH_15*vADH_KiADHACE_15) + _extracellular_cytosol_ETOH_*x[7]*x[0]/(vADH_KiADHETOH_15*vADH_KiADHNADH_15*vADH_KmADHACE_15)));
        rate_vALD = _extracellular_cytosol_*vALD_VmALD_6/vALD_KmALDF16P_6*(x[2] - vALD_KeqTPI_6/(1 + vALD_KeqTPI_6)*x[13]*(1/(1 + vALD_KeqTPI_6))*x[13]/vALD_KeqALD_6)/(1 + x[2]/vALD_KmALDF16P_6 + vALD_KeqTPI_6/(1 + vALD_KeqTPI_6)*x[13]/vALD_KmALDGAP_6 + 1/(1 + vALD_KeqTPI_6)*x[13]/vALD_KmALDDHAP_6 + vALD_KeqTPI_6/(1 + vALD_KeqTPI_6)*x[13]*(1/(1 + vALD_KeqTPI_6))*x[13]/(vALD_KmALDGAP_6*vALD_KmALDDHAP_6) + x[2]*(vALD_KeqTPI_6/(1 + vALD_KeqTPI_6))*x[13]/(vALD_KmALDGAPi_6*vALD_KmALDF16P_6));
        rate_vATP = _extracellular_cytosol_*vATP_KATPASE_17*((x[8] - 4*vATP_KeqAK_17*x[8] - vATP_SUMAXP_17 + Math.pow((Math.pow(x[8], 2) - 4*vATP_KeqAK_17*Math.pow(x[8], 2) - 2*x[8]*vATP_SUMAXP_17 + 8*vATP_KeqAK_17*x[8]*vATP_SUMAXP_17 + Math.pow(vATP_SUMAXP_17, 2)), 0.5))/(2 - 8*vATP_KeqAK_17));
        rate_vENO = _extracellular_cytosol_*vENO_VmENO_10/vENO_KmENOP2G_10*(x[9] - x[11]/vENO_KeqENO_10)/(1 + x[9]/vENO_KmENOP2G_10 + x[11]/vENO_KmENOPEP_10);
        rate_vG3PDH = _extracellular_cytosol_*vG3PDH_VmG3PDH_16/(vG3PDH_KmG3PDHDHAP_16*vG3PDH_KmG3PDHNADH_16)*(1/(1 + vG3PDH_KeqTPI_16)*x[13]*x[7] - _extracellular_cytosol_GLY_*x[6]/vG3PDH_KeqG3PDH_16)/((1 + 1/(1 + vG3PDH_KeqTPI_16)*x[13]/vG3PDH_KmG3PDHDHAP_16 + _extracellular_cytosol_GLY_/vG3PDH_KmG3PDHGLY_16)*(1 + x[7]/vG3PDH_KmG3PDHNADH_16 + x[6]/vG3PDH_KmG3PDHNAD_16));
        rate_vGAPDH = _extracellular_cytosol_*(vGAPDH_VmGAPDHf_7*(vGAPDH_KeqTPI_7/(1 + vGAPDH_KeqTPI_7))*x[13]*x[6]/(vGAPDH_KmGAPDHGAP_7*vGAPDH_KmGAPDHNAD_7) - vGAPDH_VmGAPDHr_7*x[1]*x[7]/(vGAPDH_KmGAPDHBPG_7*vGAPDH_KmGAPDHNADH_7))/((1 + vGAPDH_KeqTPI_7/(1 + vGAPDH_KeqTPI_7)*x[13]/vGAPDH_KmGAPDHGAP_7 + x[1]/vGAPDH_KmGAPDHBPG_7)*(1 + x[6]/vGAPDH_KmGAPDHNAD_7 + x[7]/vGAPDH_KmGAPDHNADH_7));
        rate_vGLK = _extracellular_cytosol_*vGLK_VmGLK_1/(vGLK_KmGLKGLCi_1*vGLK_KmGLKATP_1)*(x[5]*((x[8] - 4*vGLK_KeqAK_1*x[8] - vGLK_SUMAXP_1 + Math.pow((Math.pow(x[8], 2) - 4*vGLK_KeqAK_1*Math.pow(x[8], 2) - 2*x[8]*vGLK_SUMAXP_1 + 8*vGLK_KeqAK_1*x[8]*vGLK_SUMAXP_1 + Math.pow(vGLK_SUMAXP_1, 2)), 0.5))/(2 - 8*vGLK_KeqAK_1)) - x[4]*(vGLK_SUMAXP_1 - Math.pow((Math.pow(x[8], 2) - 4*vGLK_KeqAK_1*Math.pow(x[8], 2) - 2*x[8]*vGLK_SUMAXP_1 + 8*vGLK_KeqAK_1*x[8]*vGLK_SUMAXP_1 + Math.pow(vGLK_SUMAXP_1, 2)), 0.5))/(1 - 4*vGLK_KeqAK_1)/vGLK_KeqGLK_1)/((1 + x[5]/vGLK_KmGLKGLCi_1 + x[4]/vGLK_KmGLKG6P_1)*(1 + (x[8] - 4*vGLK_KeqAK_1*x[8] - vGLK_SUMAXP_1 + Math.pow((Math.pow(x[8], 2) - 4*vGLK_KeqAK_1*Math.pow(x[8], 2) - 2*x[8]*vGLK_SUMAXP_1 + 8*vGLK_KeqAK_1*x[8]*vGLK_SUMAXP_1 + Math.pow(vGLK_SUMAXP_1, 2)), 0.5))/(2 - 8*vGLK_KeqAK_1)/vGLK_KmGLKATP_1 + (vGLK_SUMAXP_1 - Math.pow((Math.pow(x[8], 2) - 4*vGLK_KeqAK_1*Math.pow(x[8], 2) - 2*x[8]*vGLK_SUMAXP_1 + 8*vGLK_KeqAK_1*x[8]*vGLK_SUMAXP_1 + Math.pow(vGLK_SUMAXP_1, 2)), 0.5))/(1 - 4*vGLK_KeqAK_1)/vGLK_KmGLKADP_1));
        rate_vGLT = vGLT_VmGLT_14/vGLT_KmGLTGLCo_14*(extracellular*_extracellular_GLCo_ - _extracellular_cytosol_*x[5]/vGLT_KeqGLT_14)/(1 + _extracellular_GLCo_/vGLT_KmGLTGLCo_14 + x[5]/vGLT_KmGLTGLCi_14 + 0.91*_extracellular_GLCo_*x[5]/(vGLT_KmGLTGLCo_14*vGLT_KmGLTGLCi_14));
        rate_vGLYCO = _extracellular_cytosol_*vGLYCO_KGLYCOGEN_3;
        rate_vPDC = _extracellular_cytosol_*vPDC_VmPDC_12*(Math.pow(x[12], vPDC_nPDC_12)/Math.pow(vPDC_KmPDCPYR_12, vPDC_nPDC_12))/(1 + Math.pow(x[12], vPDC_nPDC_12)/Math.pow(vPDC_KmPDCPYR_12, vPDC_nPDC_12));
        rate_vPFK = _extracellular_cytosol_*vPFK_VmPFK_5*gR_5*Lambda1*Lambda2*R_PFK/(Math.pow(R_PFK, 2) + L_PFK*Math.pow(T_PFK, 2));
        rate_vPGI = _extracellular_cytosol_*vPGI_VmPGI_2/vPGI_KmPGIG6P_2*(x[4] - x[3]/vPGI_KeqPGI_2)/(1 + x[4]/vPGI_KmPGIG6P_2 + x[3]/vPGI_KmPGIF6P_2);
        rate_vPGK = _extracellular_cytosol_*vPGK_VmPGK_8/(vPGK_KmPGKP3G_8*vPGK_KmPGKATP_8)*(vPGK_KeqPGK_8*x[1]*(vPGK_SUMAXP_8 - Math.pow((Math.pow(x[8], 2) - 4*vPGK_KeqAK_8*Math.pow(x[8], 2) - 2*x[8]*vPGK_SUMAXP_8 + 8*vPGK_KeqAK_8*x[8]*vPGK_SUMAXP_8 + Math.pow(vPGK_SUMAXP_8, 2)), 0.5))/(1 - 4*vPGK_KeqAK_8) - x[10]*((x[8] - 4*vPGK_KeqAK_8*x[8] - vPGK_SUMAXP_8 + Math.pow((Math.pow(x[8], 2) - 4*vPGK_KeqAK_8*Math.pow(x[8], 2) - 2*x[8]*vPGK_SUMAXP_8 + 8*vPGK_KeqAK_8*x[8]*vPGK_SUMAXP_8 + Math.pow(vPGK_SUMAXP_8, 2)), 0.5))/(2 - 8*vPGK_KeqAK_8)))/((1 + x[1]/vPGK_KmPGKBPG_8 + x[10]/vPGK_KmPGKP3G_8)*(1 + (x[8] - 4*vPGK_KeqAK_8*x[8] - vPGK_SUMAXP_8 + Math.pow((Math.pow(x[8], 2) - 4*vPGK_KeqAK_8*Math.pow(x[8], 2) - 2*x[8]*vPGK_SUMAXP_8 + 8*vPGK_KeqAK_8*x[8]*vPGK_SUMAXP_8 + Math.pow(vPGK_SUMAXP_8, 2)), 0.5))/(2 - 8*vPGK_KeqAK_8)/vPGK_KmPGKATP_8 + (vPGK_SUMAXP_8 - Math.pow((Math.pow(x[8], 2) - 4*vPGK_KeqAK_8*Math.pow(x[8], 2) - 2*x[8]*vPGK_SUMAXP_8 + 8*vPGK_KeqAK_8*x[8]*vPGK_SUMAXP_8 + Math.pow(vPGK_SUMAXP_8, 2)), 0.5))/(1 - 4*vPGK_KeqAK_8)/vPGK_KmPGKADP_8));
        rate_vPGM = _extracellular_cytosol_*vPGM_VmPGM_9/vPGM_KmPGMP3G_9*(x[10] - x[9]/vPGM_KeqPGM_9)/(1 + x[10]/vPGM_KmPGMP3G_9 + x[9]/vPGM_KmPGMP2G_9);
        rate_vPYK = _extracellular_cytosol_*vPYK_VmPYK_11/(vPYK_KmPYKPEP_11*vPYK_KmPYKADP_11)*(x[11]*(vPYK_SUMAXP_11 - Math.pow((Math.pow(x[8], 2) - 4*vPYK_KeqAK_11*Math.pow(x[8], 2) - 2*x[8]*vPYK_SUMAXP_11 + 8*vPYK_KeqAK_11*x[8]*vPYK_SUMAXP_11 + Math.pow(vPYK_SUMAXP_11, 2)), 0.5))/(1 - 4*vPYK_KeqAK_11) - x[12]*((x[8] - 4*vPYK_KeqAK_11*x[8] - vPYK_SUMAXP_11 + Math.pow((Math.pow(x[8], 2) - 4*vPYK_KeqAK_11*Math.pow(x[8], 2) - 2*x[8]*vPYK_SUMAXP_11 + 8*vPYK_KeqAK_11*x[8]*vPYK_SUMAXP_11 + Math.pow(vPYK_SUMAXP_11, 2)), 0.5))/(2 - 8*vPYK_KeqAK_11))/vPYK_KeqPYK_11)/((1 + x[11]/vPYK_KmPYKPEP_11 + x[12]/vPYK_KmPYKPYR_11)*(1 + (x[8] - 4*vPYK_KeqAK_11*x[8] - vPYK_SUMAXP_11 + Math.pow((Math.pow(x[8], 2) - 4*vPYK_KeqAK_11*Math.pow(x[8], 2) - 2*x[8]*vPYK_SUMAXP_11 + 8*vPYK_KeqAK_11*x[8]*vPYK_SUMAXP_11 + Math.pow(vPYK_SUMAXP_11, 2)), 0.5))/(2 - 8*vPYK_KeqAK_11)/vPYK_KmPYKATP_11 + (vPYK_SUMAXP_11 - Math.pow((Math.pow(x[8], 2) - 4*vPYK_KeqAK_11*Math.pow(x[8], 2) - 2*x[8]*vPYK_SUMAXP_11 + 8*vPYK_KeqAK_11*x[8]*vPYK_SUMAXP_11 + Math.pow(vPYK_SUMAXP_11, 2)), 0.5))/(1 - 4*vPYK_KeqAK_11)/vPYK_KmPYKADP_11));
        rate_vSUC = _extracellular_cytosol_*vSUC_KSUCC_13*x[0];
        rate_vTreha = _extracellular_cytosol_*vTreha_KTREHALOSE_4;
    }

    public void Init()
    {
        initialValues = getInitialValues();
/*
 * Initialize variables
 */
        _extracellular_GLCo_ = 50.0; // initial value of $"extracellular.GLCo"
        _extracellular_cytosol_ = 1.0; // initial value of $"extracellular.cytosol"
        _extracellular_cytosol_CO2_ = 1.0; // initial value of $"extracellular.cytosol.CO2"
        _extracellular_cytosol_ETOH_ = 50.0; // initial value of $"extracellular.cytosol.ETOH"
        _extracellular_cytosol_GLY_ = 0.15; // initial value of $"extracellular.cytosol.GLY"
        extracellular = 1.0; // initial value of $extracellular
        CPFKAMP_5 = 0.0845; // initial value of CPFKAMP_5
        CPFKATP_5 = 3.0; // initial value of CPFKATP_5
        CPFKF16BP_5 = 0.397; // initial value of CPFKF16BP_5
        CPFKF26BP_5 = 0.0174; // initial value of CPFKF26BP_5
        CiPFKATP_5 = 100.0; // initial value of CiPFKATP_5
        F26BP_5 = 0.02; // initial value of F26BP_5
        KPFKAMP_5 = 0.0995; // initial value of KPFKAMP_5
        KPFKF16BP_5 = 0.111; // initial value of KPFKF16BP_5
        KPFKF26BP_5 = 6.82E-4; // initial value of KPFKF26BP_5
        KeqAK_5 = 0.45; // initial value of KeqAK_5
        KiPFKATP_5 = 0.65; // initial value of KiPFKATP_5
        KmPFKATP_5 = 0.71; // initial value of KmPFKATP_5
        KmPFKF6P_5 = 0.1; // initial value of KmPFKF6P_5
        Lzero_5 = 0.66; // initial value of Lzero_5
        SUMAXP_5 = 4.1; // initial value of SUMAXP_5
        gR_5 = 5.12; // initial value of gR_5
        vADH_KeqADH_15 = 6.9E-5; // initial value of vADH_KeqADH_15
        vADH_KiADHACE_15 = 1.1; // initial value of vADH_KiADHACE_15
        vADH_KiADHETOH_15 = 90.0; // initial value of vADH_KiADHETOH_15
        vADH_KiADHNADH_15 = 0.031; // initial value of vADH_KiADHNADH_15
        vADH_KiADHNAD_15 = 0.92; // initial value of vADH_KiADHNAD_15
        vADH_KmADHACE_15 = 1.11; // initial value of vADH_KmADHACE_15
        vADH_KmADHETOH_15 = 17.0; // initial value of vADH_KmADHETOH_15
        vADH_KmADHNADH_15 = 0.11; // initial value of vADH_KmADHNADH_15
        vADH_KmADHNAD_15 = 0.17; // initial value of vADH_KmADHNAD_15
        vADH_VmADH_15 = 810.0; // initial value of vADH_VmADH_15
        vALD_KeqALD_6 = 0.069; // initial value of vALD_KeqALD_6
        vALD_KeqTPI_6 = 0.045; // initial value of vALD_KeqTPI_6
        vALD_KmALDDHAP_6 = 2.4; // initial value of vALD_KmALDDHAP_6
        vALD_KmALDF16P_6 = 0.3; // initial value of vALD_KmALDF16P_6
        vALD_KmALDGAP_6 = 2.0; // initial value of vALD_KmALDGAP_6
        vALD_KmALDGAPi_6 = 10.0; // initial value of vALD_KmALDGAPi_6
        vALD_VmALD_6 = 321.3; // initial value of vALD_VmALD_6
        vATP_KATPASE_17 = 33.7; // initial value of vATP_KATPASE_17
        vATP_KeqAK_17 = 0.45; // initial value of vATP_KeqAK_17
        vATP_SUMAXP_17 = 4.1; // initial value of vATP_SUMAXP_17
        vENO_KeqENO_10 = 6.7; // initial value of vENO_KeqENO_10
        vENO_KmENOP2G_10 = 0.04; // initial value of vENO_KmENOP2G_10
        vENO_KmENOPEP_10 = 0.5; // initial value of vENO_KmENOPEP_10
        vENO_VmENO_10 = 364.5; // initial value of vENO_VmENO_10
        vG3PDH_KeqG3PDH_16 = 4300.0; // initial value of vG3PDH_KeqG3PDH_16
        vG3PDH_KeqTPI_16 = 0.045; // initial value of vG3PDH_KeqTPI_16
        vG3PDH_KmG3PDHDHAP_16 = 0.4; // initial value of vG3PDH_KmG3PDHDHAP_16
        vG3PDH_KmG3PDHGLY_16 = 1.0; // initial value of vG3PDH_KmG3PDHGLY_16
        vG3PDH_KmG3PDHNADH_16 = 0.023; // initial value of vG3PDH_KmG3PDHNADH_16
        vG3PDH_KmG3PDHNAD_16 = 0.93; // initial value of vG3PDH_KmG3PDHNAD_16
        vG3PDH_VmG3PDH_16 = 70.2; // initial value of vG3PDH_VmG3PDH_16
        vGAPDH_KeqTPI_7 = 0.045; // initial value of vGAPDH_KeqTPI_7
        vGAPDH_KmGAPDHBPG_7 = 0.0098; // initial value of vGAPDH_KmGAPDHBPG_7
        vGAPDH_KmGAPDHGAP_7 = 0.21; // initial value of vGAPDH_KmGAPDHGAP_7
        vGAPDH_KmGAPDHNADH_7 = 0.06; // initial value of vGAPDH_KmGAPDHNADH_7
        vGAPDH_KmGAPDHNAD_7 = 0.09; // initial value of vGAPDH_KmGAPDHNAD_7
        vGAPDH_VmGAPDHf_7 = 1188.0; // initial value of vGAPDH_VmGAPDHf_7
        vGAPDH_VmGAPDHr_7 = 6561.0; // initial value of vGAPDH_VmGAPDHr_7
        vGLK_KeqAK_1 = 0.45; // initial value of vGLK_KeqAK_1
        vGLK_KeqGLK_1 = 3800.0; // initial value of vGLK_KeqGLK_1
        vGLK_KmGLKADP_1 = 0.23; // initial value of vGLK_KmGLKADP_1
        vGLK_KmGLKATP_1 = 0.15; // initial value of vGLK_KmGLKATP_1
        vGLK_KmGLKG6P_1 = 30.0; // initial value of vGLK_KmGLKG6P_1
        vGLK_KmGLKGLCi_1 = 0.08; // initial value of vGLK_KmGLKGLCi_1
        vGLK_SUMAXP_1 = 4.1; // initial value of vGLK_SUMAXP_1
        vGLK_VmGLK_1 = 226.8; // initial value of vGLK_VmGLK_1
        vGLT_KeqGLT_14 = 1.0; // initial value of vGLT_KeqGLT_14
        vGLT_KmGLTGLCi_14 = 1.1918; // initial value of vGLT_KmGLTGLCi_14
        vGLT_KmGLTGLCo_14 = 1.1918; // initial value of vGLT_KmGLTGLCo_14
        vGLT_VmGLT_14 = 97.2; // initial value of vGLT_VmGLT_14
        vGLYCO_KGLYCOGEN_3 = 6.0; // initial value of vGLYCO_KGLYCOGEN_3
        vPDC_KmPDCPYR_12 = 4.33; // initial value of vPDC_KmPDCPYR_12
        vPDC_VmPDC_12 = 175.5; // initial value of vPDC_VmPDC_12
        vPDC_nPDC_12 = 1.9; // initial value of vPDC_nPDC_12
        vPFK_VmPFK_5 = 183.6; // initial value of vPFK_VmPFK_5
        vPGI_KeqPGI_2 = 0.314; // initial value of vPGI_KeqPGI_2
        vPGI_KmPGIF6P_2 = 0.3; // initial value of vPGI_KmPGIF6P_2
        vPGI_KmPGIG6P_2 = 1.4; // initial value of vPGI_KmPGIG6P_2
        vPGI_VmPGI_2 = 340.2; // initial value of vPGI_VmPGI_2
        vPGK_KeqAK_8 = 0.45; // initial value of vPGK_KeqAK_8
        vPGK_KeqPGK_8 = 3200.0; // initial value of vPGK_KeqPGK_8
        vPGK_KmPGKADP_8 = 0.2; // initial value of vPGK_KmPGKADP_8
        vPGK_KmPGKATP_8 = 0.3; // initial value of vPGK_KmPGKATP_8
        vPGK_KmPGKBPG_8 = 0.0030; // initial value of vPGK_KmPGKBPG_8
        vPGK_KmPGKP3G_8 = 0.53; // initial value of vPGK_KmPGKP3G_8
        vPGK_SUMAXP_8 = 4.1; // initial value of vPGK_SUMAXP_8
        vPGK_VmPGK_8 = 1296.0; // initial value of vPGK_VmPGK_8
        vPGM_KeqPGM_9 = 0.19; // initial value of vPGM_KeqPGM_9
        vPGM_KmPGMP2G_9 = 0.1; // initial value of vPGM_KmPGMP2G_9
        vPGM_KmPGMP3G_9 = 1.2; // initial value of vPGM_KmPGMP3G_9
        vPGM_VmPGM_9 = 2538.0; // initial value of vPGM_VmPGM_9
        vPYK_KeqAK_11 = 0.45; // initial value of vPYK_KeqAK_11
        vPYK_KeqPYK_11 = 6500.0; // initial value of vPYK_KeqPYK_11
        vPYK_KmPYKADP_11 = 0.53; // initial value of vPYK_KmPYKADP_11
        vPYK_KmPYKATP_11 = 1.5; // initial value of vPYK_KmPYKATP_11
        vPYK_KmPYKPEP_11 = 0.14; // initial value of vPYK_KmPYKPEP_11
        vPYK_KmPYKPYR_11 = 21.0; // initial value of vPYK_KmPYKPYR_11
        vPYK_SUMAXP_11 = 4.1; // initial value of vPYK_SUMAXP_11
        vPYK_VmPYK_11 = 1093.5; // initial value of vPYK_VmPYK_11
        vSUC_KSUCC_13 = 21.4; // initial value of vSUC_KSUCC_13
        vTreha_KTREHALOSE_4 = 2.4; // initial value of vTreha_KTREHALOSE_4
    }

    /*
     * Model variables initial values
     */
    protected double _extracellular_GLCo_;
    protected double _extracellular_cytosol_;
    protected double _extracellular_cytosol_CO2_;
    protected double _extracellular_cytosol_ETOH_;
    protected double _extracellular_cytosol_GLY_;
    protected double _extracellular_cytosol_Glyc_;
    protected double _extracellular_cytosol_SUCC_;
    protected double _extracellular_cytosol_Trh_;
    protected double rate_vADH;
    protected double rate_vALD;
    protected double rate_vATP;
    protected double rate_vENO;
    protected double rate_vG3PDH;
    protected double rate_vGAPDH;
    protected double rate_vGLK;
    protected double rate_vGLT;
    protected double rate_vGLYCO;
    protected double rate_vPDC;
    protected double rate_vPFK;
    protected double rate_vPGI;
    protected double rate_vPGK;
    protected double rate_vPGM;
    protected double rate_vPYK;
    protected double rate_vSUC;
    protected double rate_vTreha;
    protected double extracellular;
    protected double CPFKAMP_5;
    protected double CPFKATP_5;
    protected double CPFKF16BP_5;
    protected double CPFKF26BP_5;
    protected double CiPFKATP_5;
    protected double F26BP_5;
    protected double KPFKAMP_5;
    protected double KPFKF16BP_5;
    protected double KPFKF26BP_5;
    protected double KeqAK_5;
    protected double KiPFKATP_5;
    protected double KmPFKATP_5;
    protected double KmPFKF6P_5;
    protected double L_PFK;
    protected double Lambda1;
    protected double Lambda2;
    protected double Lzero_5;
    protected double R_PFK;
    protected double SUMAXP_5;
    protected double T_PFK;
    protected double gR_5;
    protected double vADH_KeqADH_15;
    protected double vADH_KiADHACE_15;
    protected double vADH_KiADHETOH_15;
    protected double vADH_KiADHNADH_15;
    protected double vADH_KiADHNAD_15;
    protected double vADH_KmADHACE_15;
    protected double vADH_KmADHETOH_15;
    protected double vADH_KmADHNADH_15;
    protected double vADH_KmADHNAD_15;
    protected double vADH_VmADH_15;
    protected double vALD_KeqALD_6;
    protected double vALD_KeqTPI_6;
    protected double vALD_KmALDDHAP_6;
    protected double vALD_KmALDF16P_6;
    protected double vALD_KmALDGAP_6;
    protected double vALD_KmALDGAPi_6;
    protected double vALD_VmALD_6;
    protected double vATP_KATPASE_17;
    protected double vATP_KeqAK_17;
    protected double vATP_SUMAXP_17;
    protected double vENO_KeqENO_10;
    protected double vENO_KmENOP2G_10;
    protected double vENO_KmENOPEP_10;
    protected double vENO_VmENO_10;
    protected double vG3PDH_KeqG3PDH_16;
    protected double vG3PDH_KeqTPI_16;
    protected double vG3PDH_KmG3PDHDHAP_16;
    protected double vG3PDH_KmG3PDHGLY_16;
    protected double vG3PDH_KmG3PDHNADH_16;
    protected double vG3PDH_KmG3PDHNAD_16;
    protected double vG3PDH_VmG3PDH_16;
    protected double vGAPDH_KeqTPI_7;
    protected double vGAPDH_KmGAPDHBPG_7;
    protected double vGAPDH_KmGAPDHGAP_7;
    protected double vGAPDH_KmGAPDHNADH_7;
    protected double vGAPDH_KmGAPDHNAD_7;
    protected double vGAPDH_VmGAPDHf_7;
    protected double vGAPDH_VmGAPDHr_7;
    protected double vGLK_KeqAK_1;
    protected double vGLK_KeqGLK_1;
    protected double vGLK_KmGLKADP_1;
    protected double vGLK_KmGLKATP_1;
    protected double vGLK_KmGLKG6P_1;
    protected double vGLK_KmGLKGLCi_1;
    protected double vGLK_SUMAXP_1;
    protected double vGLK_VmGLK_1;
    protected double vGLT_KeqGLT_14;
    protected double vGLT_KmGLTGLCi_14;
    protected double vGLT_KmGLTGLCo_14;
    protected double vGLT_VmGLT_14;
    protected double vGLYCO_KGLYCOGEN_3;
    protected double vPDC_KmPDCPYR_12;
    protected double vPDC_VmPDC_12;
    protected double vPDC_nPDC_12;
    protected double vPFK_VmPFK_5;
    protected double vPGI_KeqPGI_2;
    protected double vPGI_KmPGIF6P_2;
    protected double vPGI_KmPGIG6P_2;
    protected double vPGI_VmPGI_2;
    protected double vPGK_KeqAK_8;
    protected double vPGK_KeqPGK_8;
    protected double vPGK_KmPGKADP_8;
    protected double vPGK_KmPGKATP_8;
    protected double vPGK_KmPGKBPG_8;
    protected double vPGK_KmPGKP3G_8;
    protected double vPGK_SUMAXP_8;
    protected double vPGK_VmPGK_8;
    protected double vPGM_KeqPGM_9;
    protected double vPGM_KmPGMP2G_9;
    protected double vPGM_KmPGMP3G_9;
    protected double vPGM_VmPGM_9;
    protected double vPYK_KeqAK_11;
    protected double vPYK_KeqPYK_11;
    protected double vPYK_KmPYKADP_11;
    protected double vPYK_KmPYKATP_11;
    protected double vPYK_KmPYKPEP_11;
    protected double vPYK_KmPYKPYR_11;
    protected double vPYK_SUMAXP_11;
    protected double vPYK_VmPYK_11;
    protected double vSUC_KSUCC_13;
    protected double vTreha_KTREHALOSE_4;

    public double[] extendResult(double time,double [] x)
    {
        this.time = time;

        __internalVarInitFunc_0(time, x);

        double[] y = new double[19];
        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] = L_PFK;
        y[15] = Lambda1;
        y[16] = Lambda2;
        y[17] = R_PFK;
        y[18] = T_PFK;
        return y;
    }
    public double[] getInitialValues()
    {
        double [] x = new double[14];
        this.time = 0.0;
        x[0] = 0.17; // - $"extracellular.cytosol.ACE"
        x[1] = 0.0; // - $"extracellular.cytosol.BPG"
        x[2] = 5.51; // - $"extracellular.cytosol.F16P"
        x[3] = 0.62; // - $"extracellular.cytosol.F6P"
        x[4] = 2.45; // - $"extracellular.cytosol.G6P"
        x[5] = 0.087; // - $"extracellular.cytosol.GLCi"
        x[6] = 1.2; // - $"extracellular.cytosol.NAD"
        x[7] = 0.39; // - $"extracellular.cytosol.NADH"
        x[8] = 6.31; // - $"extracellular.cytosol.P"
        x[9] = 0.12; // - $"extracellular.cytosol.P2G"
        x[10] = 0.9; // - $"extracellular.cytosol.P3G"
        x[11] = 0.07; // - $"extracellular.cytosol.PEP"
        x[12] = 1.85; // - $"extracellular.cytosol.PYR"
        x[13] = 0.96; // - $"extracellular.cytosol.TRIO"

        __internalVarInitFunc_0(time, x);
        __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)
    {

        __internalVarInitFunc_0(time, x);
        __internalRateVarInitFunc_0(time, x);

    }

        /*
         * calculate dy/dt for 'BIOMD0000000064.xml' model
         */
    public void __internalDyDt_0(double time, double [] x, double[] result)
    {
        result[0] = -rate_vADH+rate_vPDC-rate_vSUC*2;
        result[1] = +rate_vGAPDH-rate_vPGK;
        result[2] = -rate_vALD+rate_vPFK;
        result[3] = -rate_vPFK+rate_vPGI;
        result[4] = +rate_vGLK-rate_vGLYCO-rate_vPGI-rate_vTreha*2;
        result[5] = -rate_vGLK+rate_vGLT;
        result[6] = +rate_vADH+rate_vG3PDH-rate_vGAPDH-rate_vSUC*3;
        result[7] = -rate_vADH-rate_vG3PDH+rate_vGAPDH+rate_vSUC*3;
        result[8] = -rate_vATP-rate_vGLK-rate_vGLYCO-rate_vPFK+rate_vPGK+rate_vPYK-rate_vSUC*4-rate_vTreha;
        result[9] = -rate_vENO+rate_vPGM;
        result[10] = +rate_vPGK-rate_vPGM;
        result[11] = +rate_vENO-rate_vPYK;
        result[12] = -rate_vPDC+rate_vPYK;
        result[13] = +rate_vALD*2-rate_vG3PDH-rate_vGAPDH;
    }
    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 ...