/* There are a total of 24 entries in the algebraic variable array. There are a total of 24 entries in each of the rate and state variable arrays. There are a total of 58 entries in the constant variable array. */ /* * VOI is time in component environment (minute). * STATES[0] is Glc_x_0 in component Glc_x_0 (millimolar). * ALGEBRAIC[0] is inGlc in component inGlc (flux). * STATES[1] is Glc_x in component Glc_x (millimolar). * ALGEBRAIC[1] is GlcTrans in component GlcTrans (flux). * STATES[2] is Glc in component Glc (millimolar). * ALGEBRAIC[2] is HK in component HK (flux). * STATES[3] is G6P in component G6P (millimolar). * ALGEBRAIC[3] is PGI in component PGI (flux). * ALGEBRAIC[21] is storage in component storage (flux). * STATES[4] is F6P in component F6P (millimolar). * ALGEBRAIC[4] is PFK in component PFK (flux). * STATES[5] is FBP in component FBP (millimolar). * ALGEBRAIC[5] is ALD in component ALD (flux). * STATES[6] is GAP in component GAP (millimolar). * ALGEBRAIC[7] is GAPDH in component GAPDH (flux). * ALGEBRAIC[6] is TIM in component TIM (flux). * STATES[7] is DHAP in component DHAP (millimolar). * ALGEBRAIC[14] is lpGlyc in component lpGlyc (flux). * STATES[8] is BPG in component BPG (millimolar). * ALGEBRAIC[8] is lpPEP in component lpPEP (flux). * STATES[9] is PEP in component PEP (millimolar). * ALGEBRAIC[9] is PK in component PK (flux). * STATES[10] is Pyr in component Pyr (millimolar). * ALGEBRAIC[10] is PDC in component PDC (flux). * STATES[11] is ATP in component ATP (millimolar). * ALGEBRAIC[22] is consum in component consum (flux). * ALGEBRAIC[23] is AK in component AK (flux). * STATES[12] is ADP in component ADP (millimolar). * STATES[13] is AMP in component AMP (millimolar). * STATES[14] is CN_x_0 in component CN_x_0 (millimolar). * ALGEBRAIC[20] is inCN in component inCN (flux). * STATES[15] is CN_x in component CN_x (millimolar). * ALGEBRAIC[19] is lacto in component lacto (flux). * STATES[16] is ACA in component ACA (millimolar). * ALGEBRAIC[18] is difACA in component difACA (flux). * ALGEBRAIC[11] is ADH in component ADH (flux). * STATES[17] is ACA_x in component ACA_x (millimolar). * ALGEBRAIC[17] is outACA in component outACA (flux). * STATES[18] is EtOH in component EtOH (millimolar). * ALGEBRAIC[13] is difEtOH in component difEtOH (flux). * STATES[19] is EtOH_x in component EtOH_x (millimolar). * ALGEBRAIC[12] is outEtOH in component outEtOH (flux). * STATES[20] is Glyc in component Glyc (millimolar). * ALGEBRAIC[16] is difGlyc in component difGlyc (flux). * STATES[21] is Glyc_x in component Glyc_x (millimolar). * ALGEBRAIC[15] is outGlyc in component outGlyc (flux). * STATES[22] is NADH in component NADH (millimolar). * STATES[23] is NAD in component NAD (millimolar). * CONSTANTS[0] is k0 in component model_parameters (first_order_rate_constant). * CONSTANTS[1] is y_vol in component model_parameters (dimensionless). * CONSTANTS[2] is K2_Glc in component GlcTrans (millimolar). * CONSTANTS[3] is K2_IG6P in component GlcTrans (millimolar). * CONSTANTS[4] is K2_IIG6P in component GlcTrans (millimolar). * CONSTANTS[5] is V_2m in component GlcTrans (flux). * CONSTANTS[6] is P2 in component GlcTrans (dimensionless). * CONSTANTS[7] is K3_DGlc in component HK (millimolar). * CONSTANTS[8] is K3_Glc in component HK (millimolar). * CONSTANTS[9] is K3_ATP in component HK (millimolar). * CONSTANTS[10] is V_3m in component HK (flux). * CONSTANTS[11] is V_4m in component PGI (flux). * CONSTANTS[12] is K4_G6P in component PGI (millimolar). * CONSTANTS[13] is K4_F6P in component PGI (millimolar). * CONSTANTS[14] is K4_eq in component PGI (dimensionless). * CONSTANTS[15] is K5 in component PFK (millimolar2). * CONSTANTS[16] is kappa5 in component PFK (dimensionless). * CONSTANTS[17] is V_5m in component PFK (flux). * CONSTANTS[18] is K6_eq in component ALD (millimolar). * CONSTANTS[19] is K6_FBP in component ALD (millimolar). * CONSTANTS[20] is K6_DHAP in component ALD (millimolar). * CONSTANTS[21] is K6_GAP in component ALD (millimolar). * CONSTANTS[22] is K6_IGAP in component ALD (millimolar). * CONSTANTS[23] is V_6r in component ALD (flux). * CONSTANTS[24] is V_6f in component ALD (flux). * CONSTANTS[25] is K7_eq in component TIM (dimensionless). * CONSTANTS[26] is K7_DHAP in component TIM (millimolar). * CONSTANTS[27] is K7_GAP in component TIM (millimolar). * CONSTANTS[28] is V_7m in component TIM (flux). * CONSTANTS[29] is K8_NAD in component GAPDH (millimolar). * CONSTANTS[30] is K8_NADH in component GAPDH (millimolar). * CONSTANTS[31] is K8_GAP in component GAPDH (millimolar). * CONSTANTS[32] is K8_BPG in component GAPDH (millimolar). * CONSTANTS[33] is K8_eq in component GAPDH (dimensionless). * CONSTANTS[34] is V_8m in component GAPDH (flux). * CONSTANTS[35] is k9f in component lpPEP (second_order_rate_constant). * CONSTANTS[36] is k9r in component lpPEP (second_order_rate_constant). * CONSTANTS[37] is K10_PEP in component PK (millimolar). * CONSTANTS[38] is K10_ADP in component PK (millimolar). * CONSTANTS[39] is V_10m in component PK (flux). * CONSTANTS[40] is K11 in component PDC (millimolar). * CONSTANTS[41] is V_11m in component PDC (flux). * CONSTANTS[42] is K12_NADH in component ADH (millimolar). * CONSTANTS[43] is K12_ACA in component ADH (millimolar). * CONSTANTS[44] is V_12m in component ADH (flux). * CONSTANTS[45] is k13 in component difEtOH (first_order_rate_constant). * CONSTANTS[46] is K15_NADH in component lpGlyc (millimolar). * CONSTANTS[47] is K15_INADH in component lpGlyc (millimolar). * CONSTANTS[48] is K15_INAD in component lpGlyc (millimolar). * CONSTANTS[49] is K15_DHAP in component lpGlyc (millimolar). * CONSTANTS[50] is V_15m in component lpGlyc (flux). * CONSTANTS[51] is k16 in component difGlyc (first_order_rate_constant). * CONSTANTS[52] is k18 in component difACA (first_order_rate_constant). * CONSTANTS[53] is k20 in component lacto (second_order_rate_constant). * CONSTANTS[54] is k22 in component storage (second_order_rate_constant). * CONSTANTS[55] is k23 in component consum (first_order_rate_constant). * CONSTANTS[56] is k24f in component AK (second_order_rate_constant). * CONSTANTS[57] is k24r in component AK (second_order_rate_constant). * RATES[0] is d/dt Glc_x_0 in component Glc_x_0 (millimolar). * RATES[1] is d/dt Glc_x in component Glc_x (millimolar). * RATES[2] is d/dt Glc in component Glc (millimolar). * RATES[3] is d/dt G6P in component G6P (millimolar). * RATES[4] is d/dt F6P in component F6P (millimolar). * RATES[5] is d/dt FBP in component FBP (millimolar). * RATES[6] is d/dt GAP in component GAP (millimolar). * RATES[7] is d/dt DHAP in component DHAP (millimolar). * RATES[8] is d/dt BPG in component BPG (millimolar). * RATES[9] is d/dt PEP in component PEP (millimolar). * RATES[10] is d/dt Pyr in component Pyr (millimolar). * RATES[11] is d/dt ATP in component ATP (millimolar). * RATES[12] is d/dt ADP in component ADP (millimolar). * RATES[13] is d/dt AMP in component AMP (millimolar). * RATES[14] is d/dt CN_x_0 in component CN_x_0 (millimolar). * RATES[15] is d/dt CN_x in component CN_x (millimolar). * RATES[16] is d/dt ACA in component ACA (millimolar). * RATES[17] is d/dt ACA_x in component ACA_x (millimolar). * RATES[18] is d/dt EtOH in component EtOH (millimolar). * RATES[19] is d/dt EtOH_x in component EtOH_x (millimolar). * RATES[20] is d/dt Glyc in component Glyc (millimolar). * RATES[21] is d/dt Glyc_x in component Glyc_x (millimolar). * RATES[22] is d/dt NADH in component NADH (millimolar). * RATES[23] is d/dt NAD in component NAD (millimolar). * There are a total of 0 condition variables. */ void initConsts(double* CONSTANTS, double* RATES, double *STATES) { STATES[0] = 24.0; STATES[1] = 6.7; STATES[2] = 0.573074; STATES[3] = 4.2; STATES[4] = 0.49; STATES[5] = 4.64; STATES[6] = 0.115; STATES[7] = 2.95; STATES[8] = 0.00027; STATES[9] = 0.04; STATES[10] = 8.7; STATES[11] = 2.1; STATES[12] = 1.5; STATES[13] = 0.33; STATES[14] = 5.60; STATES[15] = 5.20358; STATES[16] = 1.48153; STATES[17] = 1.28836; STATES[18] = 19.2379; STATES[19] = 16.4514; STATES[20] = 4.196; STATES[21] = 1.68478; STATES[22] = 0.33; STATES[23] = 0.65; CONSTANTS[0] = 0.048; CONSTANTS[1] = 59.0; CONSTANTS[2] = 1.7; CONSTANTS[3] = 1.2; CONSTANTS[4] = 7.2; CONSTANTS[5] = 1014.96; CONSTANTS[6] = 1.0; CONSTANTS[7] = 0.37; CONSTANTS[8] = 0.0; CONSTANTS[9] = 0.1; CONSTANTS[10] = 5.7547; CONSTANTS[11] = 496.042; CONSTANTS[12] = 0.8; CONSTANTS[13] = 0.15; CONSTANTS[14] = 0.13; CONSTANTS[15] = 0.021; CONSTANTS[16] = 0.15; CONSTANTS[17] = 45.4327; CONSTANTS[18] = 0.081; CONSTANTS[19] = 0.3; CONSTANTS[20] = 2.0; CONSTANTS[21] = 4.0; CONSTANTS[22] = 10.0; CONSTANTS[23] = 1.10391E4; CONSTANTS[24] = 2.20782E3; CONSTANTS[25] = 0.055; CONSTANTS[26] = 1.23; CONSTANTS[27] = 1.27; CONSTANTS[28] = 1.16365E2; CONSTANTS[29] = 0.1; CONSTANTS[30] = 0.06; CONSTANTS[31] = 0.6; CONSTANTS[32] = 0.01; CONSTANTS[33] = 0.0055; CONSTANTS[34] = 8.33858E2; CONSTANTS[35] = 4.43866E5; CONSTANTS[36] = 1.52862E3; CONSTANTS[37] = 0.2; CONSTANTS[38] = 0.17; CONSTANTS[39] = 3.43096E2; CONSTANTS[40] = 0.3; CONSTANTS[41] = 5.31328E1; CONSTANTS[42] = 0.1; CONSTANTS[43] = 0.71; CONSTANTS[44] = 8.98023E1; CONSTANTS[45] = 16.72; CONSTANTS[46] = 0.13; CONSTANTS[47] = 0.034; CONSTANTS[48] = 0.13; CONSTANTS[49] = 25.0; CONSTANTS[50] = 8.14797E1; CONSTANTS[51] = 1.9; CONSTANTS[52] = 24.7; CONSTANTS[53] = 2.83828E-3; CONSTANTS[54] = 2.25932; CONSTANTS[55] = 3.20760; CONSTANTS[56] = 4.32900E2; CONSTANTS[57] = 1.33333E2; RATES[0] = 0.1001; RATES[1] = 0.1001; RATES[2] = 0.1001; RATES[3] = 0.1001; RATES[4] = 0.1001; RATES[5] = 0.1001; RATES[6] = 0.1001; RATES[7] = 0.1001; RATES[8] = 0.1001; RATES[9] = 0.1001; RATES[10] = 0.1001; RATES[11] = 0.1001; RATES[12] = 0.1001; RATES[13] = 0.1001; RATES[14] = 0.1001; RATES[15] = 0.1001; RATES[16] = 0.1001; RATES[17] = 0.1001; RATES[18] = 0.1001; RATES[19] = 0.1001; RATES[20] = 0.1001; RATES[21] = 0.1001; RATES[22] = 0.1001; RATES[23] = 0.1001; } void computeResiduals(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES, double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS) { resid[0] = RATES[0] - ALGEBRAIC[0]; resid[1] = RATES[1] - ALGEBRAIC[0]+ALGEBRAIC[1]; resid[2] = RATES[2] - ALGEBRAIC[1]+ALGEBRAIC[2]; resid[3] = RATES[3] - ALGEBRAIC[2]+ALGEBRAIC[3]+ALGEBRAIC[21]; resid[4] = RATES[4] - ALGEBRAIC[3]+ALGEBRAIC[4]; resid[5] = RATES[5] - ALGEBRAIC[4]+ALGEBRAIC[5]; resid[6] = RATES[6] - ALGEBRAIC[5]+ALGEBRAIC[6]+ALGEBRAIC[7]; resid[7] = RATES[7] - ALGEBRAIC[5]+ALGEBRAIC[6]+ALGEBRAIC[14]; resid[8] = RATES[8] - ALGEBRAIC[7]+ALGEBRAIC[8]; resid[9] = RATES[9] - ALGEBRAIC[8]+ALGEBRAIC[9]; resid[10] = RATES[10] - ALGEBRAIC[9]+ALGEBRAIC[10]; resid[11] = RATES[11] - ALGEBRAIC[4]+ALGEBRAIC[9]+ALGEBRAIC[8]+ALGEBRAIC[21]+ALGEBRAIC[2]+ALGEBRAIC[22]+ALGEBRAIC[23]; resid[12] = RATES[12] - ALGEBRAIC[4]+ALGEBRAIC[9]+ALGEBRAIC[8]+ALGEBRAIC[21]+ALGEBRAIC[2]+ALGEBRAIC[22]+ALGEBRAIC[23]; resid[13] = RATES[13] - ALGEBRAIC[23]; resid[14] = RATES[14] - ALGEBRAIC[20]; resid[15] = RATES[15] - ALGEBRAIC[19]+ALGEBRAIC[20]; resid[16] = RATES[16] - ALGEBRAIC[18]+ALGEBRAIC[10]+ALGEBRAIC[11]; resid[17] = RATES[17] - ALGEBRAIC[19]+ALGEBRAIC[18]+ALGEBRAIC[17]; resid[18] = RATES[18] - ALGEBRAIC[13]+ALGEBRAIC[11]; resid[19] = RATES[19] - ALGEBRAIC[13]+ALGEBRAIC[12]; resid[20] = RATES[20] - ALGEBRAIC[16]+ALGEBRAIC[14]; resid[21] = RATES[21] - ALGEBRAIC[16]+ALGEBRAIC[15]; resid[22] = RATES[22] - ALGEBRAIC[7]+ALGEBRAIC[11]+ALGEBRAIC[14]; resid[23] = RATES[23] - ALGEBRAIC[7]+ALGEBRAIC[11]+ALGEBRAIC[14]; } void computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC) { } void computeEssentialVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC) { ALGEBRAIC[0] = CONSTANTS[0]*(STATES[0] - STATES[1]); ALGEBRAIC[1] = (CONSTANTS[5]/CONSTANTS[1])*((STATES[1]/CONSTANTS[2])/(1.00000+STATES[1]/CONSTANTS[2]+ (( CONSTANTS[6]*(STATES[1]/CONSTANTS[2])+1.00000)/( CONSTANTS[6]*(STATES[2]/CONSTANTS[2])+1.00000))*(1.00000+STATES[2]/CONSTANTS[2])+STATES[3]/CONSTANTS[3]+( STATES[2]*STATES[3])/( CONSTANTS[2]*CONSTANTS[4]))) - (CONSTANTS[5]/CONSTANTS[1])*((STATES[2]/CONSTANTS[2])/(1.00000+STATES[2]/CONSTANTS[2]+ (( CONSTANTS[6]*(STATES[2]/CONSTANTS[2])+1.00000)/( CONSTANTS[6]*(STATES[1]/CONSTANTS[2])+1.00000))*(1.00000+STATES[1]/CONSTANTS[2])+STATES[3]/CONSTANTS[3]+( STATES[2]*STATES[3])/( CONSTANTS[2]*CONSTANTS[4]))); ALGEBRAIC[2] = ( CONSTANTS[10]*STATES[11]*STATES[2])/( CONSTANTS[7]*CONSTANTS[9]+ CONSTANTS[8]*STATES[11]+ CONSTANTS[9]*STATES[2]+ STATES[2]*STATES[11]); ALGEBRAIC[3] = ( CONSTANTS[11]*STATES[3])/(CONSTANTS[12]+STATES[3]+ (CONSTANTS[12]/CONSTANTS[13])*STATES[4]) - ( CONSTANTS[11]*(STATES[4]/CONSTANTS[14]))/(CONSTANTS[12]+STATES[3]+ (CONSTANTS[12]/CONSTANTS[13])*STATES[4]); ALGEBRAIC[4] = ( CONSTANTS[17]*pow(STATES[4], 2.00000))/( CONSTANTS[15]*(1.00000+ CONSTANTS[16]*(STATES[11]/STATES[13]))+pow(STATES[4], 2.00000)); ALGEBRAIC[5] = ( CONSTANTS[24]*STATES[5])/(CONSTANTS[19]+STATES[5]+( STATES[6]*CONSTANTS[20]*CONSTANTS[24])/( CONSTANTS[18]*CONSTANTS[23])+( STATES[7]*CONSTANTS[21]*CONSTANTS[24])/( CONSTANTS[18]*CONSTANTS[23])+( STATES[5]*STATES[6])/CONSTANTS[22]+( STATES[6]*STATES[7]*CONSTANTS[24])/( CONSTANTS[18]*CONSTANTS[23])) - ( CONSTANTS[24]*(( STATES[6]*STATES[7])/CONSTANTS[18]))/(CONSTANTS[19]+STATES[5]+( STATES[6]*CONSTANTS[20]*CONSTANTS[24])/( CONSTANTS[18]*CONSTANTS[23])+( STATES[7]*CONSTANTS[21]*CONSTANTS[24])/( CONSTANTS[18]*CONSTANTS[23])+( STATES[5]*STATES[6])/CONSTANTS[22]+( STATES[6]*STATES[7]*CONSTANTS[24])/( CONSTANTS[18]*CONSTANTS[23])); ALGEBRAIC[6] = ( CONSTANTS[28]*STATES[7])/(CONSTANTS[26]+STATES[7]+ (CONSTANTS[26]/CONSTANTS[27])*STATES[6]) - ( CONSTANTS[28]*(STATES[6]/CONSTANTS[25]))/(CONSTANTS[26]+STATES[7]+ (CONSTANTS[26]/CONSTANTS[27])*STATES[6]); ALGEBRAIC[7] = ( CONSTANTS[34]*STATES[6]*STATES[23])/( CONSTANTS[31]*CONSTANTS[29]*(1.00000+STATES[6]/CONSTANTS[31]+STATES[8]/CONSTANTS[32])*(1.00000+STATES[23]/CONSTANTS[29]+STATES[22]/CONSTANTS[30])) - ( CONSTANTS[34]*(( STATES[8]*STATES[22])/CONSTANTS[33]))/( CONSTANTS[31]*CONSTANTS[29]*(1.00000+STATES[6]/CONSTANTS[31]+STATES[8]/CONSTANTS[32])*(1.00000+STATES[23]/CONSTANTS[29]+STATES[22]/CONSTANTS[30])); ALGEBRAIC[8] = CONSTANTS[35]*STATES[8]*STATES[12] - CONSTANTS[36]*STATES[9]*STATES[11]; ALGEBRAIC[9] = ( CONSTANTS[39]*STATES[12]*STATES[9])/( (CONSTANTS[37]+STATES[9])*(CONSTANTS[38]+STATES[12])); ALGEBRAIC[10] = ( CONSTANTS[41]*STATES[10])/(CONSTANTS[40]+STATES[10]); ALGEBRAIC[11] = ( CONSTANTS[44]*STATES[16]*STATES[22])/( (CONSTANTS[42]+STATES[22])*(CONSTANTS[43]+STATES[16])); ALGEBRAIC[12] = CONSTANTS[0]*STATES[19]; ALGEBRAIC[13] = (CONSTANTS[45]/CONSTANTS[1])*(STATES[18] - STATES[19]); ALGEBRAIC[14] = ( CONSTANTS[50]*STATES[7])/( CONSTANTS[49]*(1.00000+ (CONSTANTS[47]/STATES[22])*(1.00000+STATES[23]/CONSTANTS[48]))+ STATES[7]*(1.00000+ (CONSTANTS[46]/STATES[22])*(1.00000+STATES[23]/CONSTANTS[48]))); ALGEBRAIC[15] = CONSTANTS[0]*STATES[21]; ALGEBRAIC[16] = (CONSTANTS[51]/CONSTANTS[1])*(STATES[20] - STATES[21]); ALGEBRAIC[17] = CONSTANTS[0]*STATES[17]; ALGEBRAIC[18] = (CONSTANTS[52]/CONSTANTS[1])*(STATES[16] - STATES[17]); ALGEBRAIC[19] = CONSTANTS[53]*STATES[17]*STATES[15]; ALGEBRAIC[20] = CONSTANTS[0]*(STATES[14] - STATES[15]); ALGEBRAIC[21] = CONSTANTS[54]*STATES[11]*STATES[3]; ALGEBRAIC[22] = CONSTANTS[55]*STATES[11]; ALGEBRAIC[23] = CONSTANTS[56]*STATES[13]*STATES[11] - CONSTANTS[57]*pow(STATES[12], 2.00000); } void getStateInformation(double* SI) { SI[0] = 1.0; SI[1] = 1.0; SI[2] = 1.0; SI[3] = 1.0; SI[4] = 1.0; SI[5] = 1.0; SI[6] = 1.0; SI[7] = 1.0; SI[8] = 1.0; SI[9] = 1.0; SI[10] = 1.0; SI[11] = 1.0; SI[12] = 1.0; SI[13] = 1.0; SI[14] = 1.0; SI[15] = 1.0; SI[16] = 1.0; SI[17] = 1.0; SI[18] = 1.0; SI[19] = 1.0; SI[20] = 1.0; SI[21] = 1.0; SI[22] = 1.0; SI[23] = 1.0; } void computeRoots(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES, double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS) { }