/* There are a total of 13 entries in the algebraic variable array. There are a total of 8 entries in each of the rate and state variable arrays. There are a total of 25 entries in the constant variable array. */ /* * VOI is time in component environment (second). * STATES[0] is Pyr in component Pyr (micromolar). * CONSTANTS[24] is v1 in component v1 (micromolar_per_second). * ALGEBRAIC[0] is v2 in component v2 (micromolar_per_second). * ALGEBRAIC[5] is v7 in component v7 (micromolar_per_second). * STATES[1] is AcCoA in component AcCoA (micromolar). * ALGEBRAIC[1] is v3 in component v3 (micromolar_per_second). * STATES[2] is Cit in component Cit (micromolar). * ALGEBRAIC[2] is v4 in component v4 (micromolar_per_second). * STATES[3] is KG in component KG (micromolar). * ALGEBRAIC[3] is v5 in component v5 (micromolar_per_second). * ALGEBRAIC[4] is v6 in component v6 (micromolar_per_second). * STATES[4] is OAA in component OAA (micromolar). * ALGEBRAIC[6] is v8 in component v8 (micromolar_per_second). * STATES[5] is NAD in component NAD (micromolar). * ALGEBRAIC[9] is vresp in component vresp (micromolar_per_second). * STATES[6] is ATP in component ATP (micromolar). * ALGEBRAIC[12] is vATP in component vATP (micromolar_per_second). * ALGEBRAIC[7] is vANT in component vANT (micromolar_per_second). * STATES[7] is delta_psi in component delta_psi (millivolt). * CONSTANTS[0] is C in component delta_psi (millimolar_per_millivolt). * ALGEBRAIC[8] is vleak in component vleak (micromolar_per_second). * CONSTANTS[1] is k1 in component v1 (micromolar_per_second). * CONSTANTS[2] is k2 in component v2 (second_order_rate_constant). * CONSTANTS[3] is k3 in component v3 (second_order_rate_constant). * CONSTANTS[4] is k4 in component v4 (second_order_rate_constant). * CONSTANTS[5] is k5 in component v5 (third_order_rate_constant). * CONSTANTS[6] is At in component model_parameters (millimolar). * CONSTANTS[7] is k6 in component v6 (first_order_rate_constant). * CONSTANTS[8] is k7 in component v7 (second_order_rate_constant). * CONSTANTS[9] is k8 in component v8 (first_order_rate_constant). * CONSTANTS[10] is kANT in component vANT (first_order_rate_constant). * CONSTANTS[11] is kleak in component vleak (molar_per_millivolt_per_second). * CONSTANTS[12] is kresp in component vresp (millimolar_per_second). * CONSTANTS[13] is K in component vresp (millimolar). * CONSTANTS[14] is a in component vresp (per_millivolt). * CONSTANTS[15] is delta_psi_m in component vresp (millivolt). * CONSTANTS[16] is Nt in component model_parameters (millimolar). * CONSTANTS[17] is kATP in component vATP (millimolar_per_second). * CONSTANTS[18] is b in component vATP (per_micromolar). * ALGEBRAIC[11] is ATP_crit_delta_psi in component ATP_crit_delta_psi (micromolar). * CONSTANTS[19] is R in component ATP_crit_delta_psi (joule_per_mole_kelvin). * CONSTANTS[20] is T in component ATP_crit_delta_psi (kelvin). * CONSTANTS[21] is F in component ATP_crit_delta_psi (coulomb_per_mole). * CONSTANTS[22] is Kapp in component ATP_crit_delta_psi (per_millimolar). * CONSTANTS[23] is Pi in component ATP_crit_delta_psi (millimolar). * ALGEBRAIC[10] is delta_G_transport in component ATP_crit_delta_psi (joule_per_mole). * RATES[0] is d/dt Pyr in component Pyr (micromolar). * RATES[1] is d/dt AcCoA in component AcCoA (micromolar). * RATES[2] is d/dt Cit in component Cit (micromolar). * RATES[3] is d/dt KG in component KG (micromolar). * RATES[4] is d/dt OAA in component OAA (micromolar). * RATES[5] is d/dt NAD in component NAD (micromolar). * RATES[6] is d/dt ATP in component ATP (micromolar). * RATES[7] is d/dt delta_psi in component delta_psi (millivolt). * There are a total of 0 condition variables. */ void initConsts(double* CONSTANTS, double* RATES, double *STATES) { STATES[0] = 0.154; STATES[1] = 0.063; STATES[2] = 0.44; STATES[3] = 0.225; STATES[4] = 0.005; STATES[5] = 0.856; STATES[6] = 3.536; STATES[7] = 150.0; CONSTANTS[0] = 6.75e-06; CONSTANTS[1] = 38.0; CONSTANTS[2] = 152.0; CONSTANTS[3] = 57142.0; CONSTANTS[4] = 53.0; CONSTANTS[5] = 82361.0; CONSTANTS[6] = 4.160; CONSTANTS[7] = 3.2e-3; CONSTANTS[8] = 40.0; CONSTANTS[9] = 3.6; CONSTANTS[10] = 0.1; CONSTANTS[11] = 0.426; CONSTANTS[12] = 2.5; CONSTANTS[13] = 2; CONSTANTS[14] = 0.1; CONSTANTS[15] = 150.0; CONSTANTS[16] = 1.070; CONSTANTS[17] = 131.9; CONSTANTS[18] = 4; CONSTANTS[19] = 8.314; CONSTANTS[20] = 298; CONSTANTS[21] = 96485; CONSTANTS[22] = 4.4e-6; CONSTANTS[23] = 2.440; CONSTANTS[24] = CONSTANTS[1]; 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; } void computeResiduals(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES, double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS) { resid[0] = RATES[0] - CONSTANTS[24] - (ALGEBRAIC[0]+ALGEBRAIC[5]); resid[1] = RATES[1] - ALGEBRAIC[0] - ALGEBRAIC[1]; resid[2] = RATES[2] - ALGEBRAIC[1] - ALGEBRAIC[2]; resid[3] = RATES[3] - (ALGEBRAIC[2]+ALGEBRAIC[4]) - ALGEBRAIC[3]; resid[4] = RATES[4] - (ALGEBRAIC[3]+ALGEBRAIC[5]) - (ALGEBRAIC[1]+ALGEBRAIC[6]+ALGEBRAIC[4]); resid[5] = RATES[5] - ALGEBRAIC[9] - (ALGEBRAIC[0]+ALGEBRAIC[2]+ 2.00000*ALGEBRAIC[3]); resid[6] = RATES[6] - (ALGEBRAIC[12]+ALGEBRAIC[3]) - (ALGEBRAIC[7]+ALGEBRAIC[5]); resid[7] = RATES[7] - (1.00000/CONSTANTS[0])*( 10.0000*ALGEBRAIC[9] - ( 3.00000*ALGEBRAIC[12]+ALGEBRAIC[8]+ALGEBRAIC[7])); } 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[2]*STATES[0]*STATES[5]; ALGEBRAIC[1] = CONSTANTS[3]*STATES[4]*STATES[1]; ALGEBRAIC[2] = CONSTANTS[4]*STATES[2]*STATES[5]; ALGEBRAIC[3] = CONSTANTS[5]*STATES[3]*STATES[5]*(CONSTANTS[6] - STATES[6]); ALGEBRAIC[4] = CONSTANTS[7]*(STATES[4] - STATES[3]); ALGEBRAIC[5] = CONSTANTS[8]*STATES[0]*STATES[6]; ALGEBRAIC[6] = CONSTANTS[9]*STATES[4]; ALGEBRAIC[7] = CONSTANTS[10]*STATES[6]; ALGEBRAIC[8] = CONSTANTS[11]*STATES[7]; ALGEBRAIC[9] = CONSTANTS[12]*((CONSTANTS[16] - STATES[5])/((CONSTANTS[13]+CONSTANTS[16]) - STATES[5]))*(1.00000/(1.00000+exp( CONSTANTS[14]*(STATES[7] - CONSTANTS[15])))); ALGEBRAIC[10] = 0.00120000*CONSTANTS[21]*STATES[7]; ALGEBRAIC[11] = CONSTANTS[6]/(1.00000+exp(( -3.00000*ALGEBRAIC[10])/( CONSTANTS[19]*CONSTANTS[20]))/( CONSTANTS[22]*CONSTANTS[23])); ALGEBRAIC[12] = CONSTANTS[17]*(2.00000/(1.00000+exp( CONSTANTS[18]*(STATES[6] - ALGEBRAIC[11]))) - 1.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; } void computeRoots(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES, double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS) { }