Generated Code

The following is c_ida code generated by the CellML API from this CellML file. (Back to language selection)

The raw code is available.

/*
   There are a total of 17 entries in the algebraic variable array.
   There are a total of 16 entries in each of the rate and state variable arrays.
   There are a total of 72 entries in the constant variable array.
 */
/*
 * VOI is time in component environment (minute).
 * STATES[0] is N in component N (nanomolar).
 * CONSTANTS[0] is KdN in component N (nanomolar).
 * CONSTANTS[1] is vsN in component N (flux).
 * CONSTANTS[2] is vdN in component N (flux).
 * CONSTANTS[3] is kc in component model_parameters (first_order_rate_constant).
 * CONSTANTS[4] is KIF in component model_parameters (nanomolar).
 * STATES[1] is F in component F (nanomolar).
 * CONSTANTS[5] is epsilon in component model_parameters (dimensionless).
 * CONSTANTS[6] is j in component model_parameters (dimensionless).
 * STATES[2] is Na in component Na (nanomolar).
 * ALGEBRAIC[0] is Vtr in component Na (flux).
 * CONSTANTS[7] is KdNa in component Na (nanomolar).
 * CONSTANTS[8] is VdNa in component Na (flux).
 * CONSTANTS[9] is kt1 in component Na (first_order_rate_constant).
 * CONSTANTS[10] is kt2 in component Na (first_order_rate_constant).
 * STATES[3] is Nan in component Nan (nanomolar).
 * CONSTANTS[11] is KdNan in component Nan (nanomolar).
 * CONSTANTS[12] is VdNan in component Nan (flux).
 * STATES[4] is MF in component MF (nanomolar).
 * CONSTANTS[13] is KdMF in component MF (nanomolar).
 * CONSTANTS[14] is vsF in component MF (flux).
 * CONSTANTS[15] is vmF in component MF (flux).
 * CONSTANTS[16] is KA in component MF (nanomolar).
 * CONSTANTS[17] is p in component model_parameters (dimensionless).
 * CONSTANTS[18] is KdF in component F (nanomolar).
 * CONSTANTS[19] is vdF in component F (flux).
 * CONSTANTS[20] is ksF in component F (first_order_rate_constant).
 * STATES[5] is K in component K (nanomolar).
 * ALGEBRAIC[2] is V1 in component Wnt_parameters (flux).
 * CONSTANTS[21] is theta in component model_parameters (dimensionless).
 * STATES[6] is B in component B (nanomolar).
 * CONSTANTS[22] is kd1 in component B (first_order_rate_constant).
 * CONSTANTS[23] is vsB in component B (flux).
 * ALGEBRAIC[4] is VK in component Wnt_parameters (flux).
 * ALGEBRAIC[5] is VP in component Wnt_parameters (flux).
 * ALGEBRAIC[3] is V2 in component Wnt_parameters (flux).
 * CONSTANTS[24] is Kt in component Wnt_parameters (nanomolar).
 * ALGEBRAIC[1] is AK in component Wnt_parameters (nanomolar).
 * STATES[7] is Bp in component Bp (nanomolar).
 * CONSTANTS[25] is kd2 in component Bp (first_order_rate_constant).
 * STATES[8] is BN in component BN (nanomolar).
 * STATES[9] is MAx in component MAx (nanomolar).
 * CONSTANTS[26] is v0 in component MAx (flux).
 * CONSTANTS[27] is vMB in component MAx (flux).
 * CONSTANTS[28] is vmd in component MAx (flux).
 * CONSTANTS[29] is KaB in component MAx (nanomolar).
 * CONSTANTS[30] is Kmd in component MAx (nanomolar).
 * CONSTANTS[31] is n in component MAx (dimensionless).
 * STATES[10] is A in component A (nanomolar).
 * CONSTANTS[32] is ksAx in component A (first_order_rate_constant).
 * CONSTANTS[33] is vdAx in component A (flux).
 * CONSTANTS[34] is KdAx in component A (nanomolar).
 * CONSTANTS[35] is d1 in component Wnt_parameters (first_order_rate_constant).
 * CONSTANTS[36] is a1 in component Wnt_parameters (second_order_rate_constant).
 * CONSTANTS[37] is K1 in component Wnt_parameters (nanomolar).
 * CONSTANTS[38] is K2 in component Wnt_parameters (nanomolar).
 * CONSTANTS[39] is D in component Wnt_parameters (nanomolar).
 * CONSTANTS[40] is KID in component Wnt_parameters (nanomolar).
 * CONSTANTS[41] is kt3 in component Wnt_parameters (first_order_rate_constant).
 * CONSTANTS[42] is kt4 in component Wnt_parameters (first_order_rate_constant).
 * CONSTANTS[43] is VMK in component Wnt_parameters (flux).
 * CONSTANTS[44] is VMP in component Wnt_parameters (flux).
 * STATES[11] is Rasa in component Rasa (nanomolar).
 * ALGEBRAIC[7] is VaRas in component FGF_parameters (flux).
 * ALGEBRAIC[8] is VdRas in component FGF_parameters (flux).
 * CONSTANTS[45] is eta in component model_parameters (dimensionless).
 * STATES[12] is ERKa in component ERKa (nanomolar).
 * ALGEBRAIC[10] is VaErk in component FGF_parameters (flux).
 * ALGEBRAIC[11] is VdErk in component FGF_parameters (flux).
 * STATES[13] is Xa in component Xa (nanomolar).
 * ALGEBRAIC[13] is VaX in component FGF_parameters (flux).
 * ALGEBRAIC[14] is VdX in component FGF_parameters (flux).
 * STATES[14] is MDusp in component MDusp (nanomolar).
 * ALGEBRAIC[15] is VsMDusp in component FGF_parameters (flux).
 * ALGEBRAIC[16] is VdMDusp in component FGF_parameters (flux).
 * STATES[15] is Dusp in component Dusp (nanomolar).
 * CONSTANTS[46] is ksDusp in component Dusp (first_order_rate_constant).
 * CONSTANTS[47] is vdDusp in component Dusp (flux).
 * CONSTANTS[48] is KdDusp in component Dusp (nanomolar).
 * ALGEBRAIC[6] is Rasi in component FGF_parameters (nanomolar).
 * ALGEBRAIC[9] is ERKi in component FGF_parameters (nanomolar).
 * ALGEBRAIC[12] is Xi in component FGF_parameters (nanomolar).
 * CONSTANTS[49] is Rast in component FGF_parameters (nanomolar).
 * CONSTANTS[50] is ERKt in component FGF_parameters (nanomolar).
 * CONSTANTS[51] is Xt in component FGF_parameters (nanomolar).
 * CONSTANTS[52] is kcDusp in component FGF_parameters (first_order_rate_constant).
 * CONSTANTS[53] is VMaRas in component FGF_parameters (flux).
 * CONSTANTS[54] is VMdRas in component FGF_parameters (flux).
 * CONSTANTS[55] is VMaErk in component FGF_parameters (flux).
 * CONSTANTS[56] is VMaX in component FGF_parameters (flux).
 * CONSTANTS[57] is VMdX in component FGF_parameters (flux).
 * CONSTANTS[58] is VMsMDusp in component FGF_parameters (flux).
 * CONSTANTS[59] is VMdMDusp in component FGF_parameters (flux).
 * CONSTANTS[60] is Fgf in component FGF_parameters (nanomolar).
 * CONSTANTS[61] is KaFgf in component FGF_parameters (nanomolar).
 * CONSTANTS[62] is KaRas in component FGF_parameters (nanomolar).
 * CONSTANTS[63] is KdRas in component FGF_parameters (nanomolar).
 * CONSTANTS[64] is KdErk in component FGF_parameters (nanomolar).
 * CONSTANTS[65] is KaErk in component FGF_parameters (nanomolar).
 * CONSTANTS[66] is KaX in component FGF_parameters (nanomolar).
 * CONSTANTS[67] is KdX in component FGF_parameters (nanomolar).
 * CONSTANTS[68] is KaMDusp in component FGF_parameters (nanomolar).
 * CONSTANTS[69] is KdMDusp in component FGF_parameters (nanomolar).
 * CONSTANTS[70] is q in component FGF_parameters (dimensionless).
 * CONSTANTS[71] is r in component FGF_parameters (dimensionless).
 * RATES[0] is d/dt N in component N (nanomolar).
 * RATES[2] is d/dt Na in component Na (nanomolar).
 * RATES[3] is d/dt Nan in component Nan (nanomolar).
 * RATES[4] is d/dt MF in component MF (nanomolar).
 * RATES[1] is d/dt F in component F (nanomolar).
 * RATES[5] is d/dt K in component K (nanomolar).
 * RATES[6] is d/dt B in component B (nanomolar).
 * RATES[7] is d/dt Bp in component Bp (nanomolar).
 * RATES[8] is d/dt BN in component BN (nanomolar).
 * RATES[9] is d/dt MAx in component MAx (nanomolar).
 * RATES[10] is d/dt A in component A (nanomolar).
 * RATES[11] is d/dt Rasa in component Rasa (nanomolar).
 * RATES[12] is d/dt ERKa in component ERKa (nanomolar).
 * RATES[13] is d/dt Xa in component Xa (nanomolar).
 * RATES[14] is d/dt MDusp in component MDusp (nanomolar).
 * RATES[15] is d/dt Dusp in component Dusp (nanomolar).
 * There are a total of 0 condition variables.
 */
void
initConsts(double* CONSTANTS, double* RATES, double *STATES)
{
STATES[0] = 0.5;
CONSTANTS[0] = 1.4;
CONSTANTS[1] = 0.23;
CONSTANTS[2] = 2.82;
CONSTANTS[3] = 3.45;
CONSTANTS[4] = 0.5;
STATES[1] = 0.001;
CONSTANTS[5] = 0.3;
CONSTANTS[6] = 2.0;
STATES[2] = 0.2;
CONSTANTS[7] = 0.001;
CONSTANTS[8] = 0.01;
CONSTANTS[9] = 0.1;
CONSTANTS[10] = 0.1;
STATES[3] = 0.0;
CONSTANTS[11] = 0.001;
CONSTANTS[12] = 0.1;
STATES[4] = 0.1;
CONSTANTS[13] = 0.768;
CONSTANTS[14] = 3.0;
CONSTANTS[15] = 1.92;
CONSTANTS[16] = 0.05;
CONSTANTS[17] = 2.0;
CONSTANTS[18] = 0.37;
CONSTANTS[19] = 0.39;
CONSTANTS[20] = 0.3;
STATES[5] = 3.0;
CONSTANTS[21] = 1.5;
STATES[6] = 0.1;
CONSTANTS[22] = 0.0;
CONSTANTS[23] = 0.087;
CONSTANTS[24] = 3.0;
STATES[7] = 0.1;
CONSTANTS[25] = 7.062;
STATES[8] = 0.001;
STATES[9] = 0.1;
CONSTANTS[26] = 0.06;
CONSTANTS[27] = 1.64;
CONSTANTS[28] = 0.8;
CONSTANTS[29] = 0.7;
CONSTANTS[30] = 0.48;
CONSTANTS[31] = 2.0;
STATES[10] = 0.1;
CONSTANTS[32] = 0.02;
CONSTANTS[33] = 0.6;
CONSTANTS[34] = 0.63;
CONSTANTS[35] = 0.1;
CONSTANTS[36] = 1.8;
CONSTANTS[37] = 0.28;
CONSTANTS[38] = 0.03;
CONSTANTS[39] = 2.0;
CONSTANTS[40] = 0.5;
CONSTANTS[41] = 0.7;
CONSTANTS[42] = 1.5;
CONSTANTS[43] = 5.08;
CONSTANTS[44] = 1.0;
STATES[11] = 0.5;
CONSTANTS[45] = 0.3;
STATES[12] = 0.2;
STATES[13] = 0.1;
STATES[14] = 0.1;
STATES[15] = 0.1;
CONSTANTS[46] = 0.5;
CONSTANTS[47] = 2.0;
CONSTANTS[48] = 0.5;
CONSTANTS[49] = 2.0;
CONSTANTS[50] = 2.0;
CONSTANTS[51] = 2.0;
CONSTANTS[52] = 1.35;
CONSTANTS[53] = 4.968;
CONSTANTS[54] = 0.41;
CONSTANTS[55] = 3.30;
CONSTANTS[56] = 1.6;
CONSTANTS[57] = 0.5;
CONSTANTS[58] = 0.9;
CONSTANTS[59] = 0.5;
CONSTANTS[60] = 1.0;
CONSTANTS[61] = 0.5;
CONSTANTS[62] = 0.103;
CONSTANTS[63] = 0.1;
CONSTANTS[64] = 0.05;
CONSTANTS[65] = 0.05;
CONSTANTS[66] = 0.05;
CONSTANTS[67] = 0.05;
CONSTANTS[68] = 0.5;
CONSTANTS[69] = 0.5;
CONSTANTS[70] = 2.0;
CONSTANTS[71] = 2.0;
RATES[0] = 0.1001;
RATES[2] = 0.1001;
RATES[3] = 0.1001;
RATES[4] = 0.1001;
RATES[1] = 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;
}
void
computeResiduals(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
                 double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
resid[0] = RATES[0] -  CONSTANTS[5]*(CONSTANTS[1] - ( CONSTANTS[2]*(STATES[0]/(CONSTANTS[0]+STATES[0]))+ CONSTANTS[3]*STATES[0]*(pow(CONSTANTS[4], CONSTANTS[6])/(pow(CONSTANTS[4], CONSTANTS[6])+pow(STATES[1], CONSTANTS[6])))));
resid[1] = RATES[2] -  CONSTANTS[5]*( CONSTANTS[3]*STATES[0]*(pow(CONSTANTS[4], CONSTANTS[6])/(pow(CONSTANTS[4], CONSTANTS[6])+pow(STATES[1], CONSTANTS[6]))) - ( CONSTANTS[8]*(STATES[2]/(CONSTANTS[7]+STATES[2]))+ALGEBRAIC[0]));
resid[2] = RATES[3] -  CONSTANTS[5]*(ALGEBRAIC[0] -  CONSTANTS[12]*(STATES[3]/(CONSTANTS[11]+STATES[3])));
resid[3] = RATES[4] -  CONSTANTS[5]*( CONSTANTS[14]*(pow(STATES[3], CONSTANTS[17])/(pow(CONSTANTS[16], CONSTANTS[17])+pow(STATES[3], CONSTANTS[17]))) -  CONSTANTS[15]*(STATES[4]/(CONSTANTS[13]+STATES[4])));
resid[4] = RATES[1] -  CONSTANTS[5]*( CONSTANTS[20]*STATES[4] -  CONSTANTS[19]*(STATES[1]/(CONSTANTS[18]+STATES[1])));
resid[5] = RATES[5] -  CONSTANTS[21]*ALGEBRAIC[2];
resid[6] = RATES[6] -  CONSTANTS[21]*((CONSTANTS[23]+ALGEBRAIC[5]+ALGEBRAIC[3]) - ( ALGEBRAIC[4]*(ALGEBRAIC[1]/CONSTANTS[24])+ CONSTANTS[22]*STATES[6]));
resid[7] = RATES[7] -  CONSTANTS[21]*( ALGEBRAIC[4]*(ALGEBRAIC[1]/CONSTANTS[24]) - (ALGEBRAIC[5]+ CONSTANTS[25]*STATES[7]));
resid[8] = RATES[8] - - ( CONSTANTS[21]*ALGEBRAIC[3]);
resid[9] = RATES[9] -  CONSTANTS[21]*((CONSTANTS[26]+ CONSTANTS[27]*(pow(STATES[8], CONSTANTS[31])/(pow(CONSTANTS[29], CONSTANTS[31])+pow(STATES[8], CONSTANTS[31])))) -  CONSTANTS[28]*(STATES[9]/(CONSTANTS[30]+STATES[9])));
resid[10] = RATES[10] -  CONSTANTS[21]*(( CONSTANTS[32]*STATES[9]+ALGEBRAIC[2]) -  CONSTANTS[33]*(STATES[10]/(CONSTANTS[34]+STATES[10])));
resid[11] = RATES[11] -  CONSTANTS[45]*(ALGEBRAIC[7] - ALGEBRAIC[8]);
resid[12] = RATES[12] -  CONSTANTS[45]*(ALGEBRAIC[10] - ALGEBRAIC[11]);
resid[13] = RATES[13] -  CONSTANTS[45]*(ALGEBRAIC[13] - ALGEBRAIC[14]);
resid[14] = RATES[14] -  CONSTANTS[45]*(ALGEBRAIC[15] - ALGEBRAIC[16]);
resid[15] = RATES[15] -  CONSTANTS[45]*( CONSTANTS[46]*STATES[14] -  CONSTANTS[47]*(STATES[15]/(CONSTANTS[48]+STATES[15])));
}
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[9]*STATES[2] -  CONSTANTS[10]*STATES[3];
ALGEBRAIC[1] = CONSTANTS[24] - STATES[5];
ALGEBRAIC[2] =  CONSTANTS[35]*ALGEBRAIC[1] -  CONSTANTS[36]*STATES[10]*STATES[5];
ALGEBRAIC[3] =  CONSTANTS[42]*STATES[8] -  CONSTANTS[41]*STATES[6];
ALGEBRAIC[4] =  CONSTANTS[43]*(CONSTANTS[40]/(CONSTANTS[40]+CONSTANTS[39]))*(STATES[6]/(CONSTANTS[37]+STATES[6]));
ALGEBRAIC[5] =  CONSTANTS[44]*(STATES[7]/(CONSTANTS[38]+STATES[7]));
ALGEBRAIC[6] = CONSTANTS[49] - STATES[11];
ALGEBRAIC[7] =  CONSTANTS[53]*(pow(CONSTANTS[60], CONSTANTS[71])/(pow(CONSTANTS[61], CONSTANTS[71])+pow(CONSTANTS[60], CONSTANTS[71])))*(ALGEBRAIC[6]/(CONSTANTS[62]+ALGEBRAIC[6]));
ALGEBRAIC[8] =  CONSTANTS[54]*(STATES[11]/(CONSTANTS[63]+STATES[11]));
ALGEBRAIC[9] = CONSTANTS[50] - STATES[12];
ALGEBRAIC[10] =  CONSTANTS[55]*(STATES[11]/CONSTANTS[49])*(ALGEBRAIC[9]/(CONSTANTS[65]+ALGEBRAIC[9]));
ALGEBRAIC[11] =  CONSTANTS[52]*STATES[15]*(STATES[12]/(CONSTANTS[64]+STATES[12]));
ALGEBRAIC[12] = CONSTANTS[51] - STATES[13];
ALGEBRAIC[13] =  CONSTANTS[56]*(STATES[12]/CONSTANTS[50])*(ALGEBRAIC[12]/(CONSTANTS[66]+ALGEBRAIC[12]));
ALGEBRAIC[14] =  CONSTANTS[57]*(STATES[13]/(CONSTANTS[67]+STATES[13]));
ALGEBRAIC[15] =  CONSTANTS[58]*(pow(STATES[13], CONSTANTS[70])/(pow(CONSTANTS[68], CONSTANTS[70])+pow(STATES[13], CONSTANTS[70])));
ALGEBRAIC[16] =  CONSTANTS[59]*(STATES[14]/(CONSTANTS[69]+STATES[14]));
}
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;
}
void
computeRoots(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
             double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
}