Views
Complex calcium oscillations and the role of mitochondria and cytosolic proteins
Generated code
Download this code
- The required array sizes are:
- VARIABLES[10]
- CONSTANTS[17]
- BOUND[1]
- RATES[3]
- The following variables are defined:
- Variable Ca_ER(RATES[0] and VARIABLES[0])
- Variable rho_ER(CONSTANTS[0])
- Variable beta_ER(CONSTANTS[1])
- Variable Ca_m(RATES[1] and VARIABLES[1])
- Variable rho_m(CONSTANTS[2])
- Variable beta_m(CONSTANTS[3])
- Variable J_pump(VARIABLES[3]; recomputed after rate changes)
- Variable k_pump(CONSTANTS[4])
- Variable J_ch(VARIABLES[4]; recomputed after rate changes)
- Variable k_ch(CONSTANTS[5])
- Variable K1(CONSTANTS[6])
- Variable J_leak(VARIABLES[5]; recomputed after rate changes)
- Variable k_leak(CONSTANTS[7])
- Variable J_in(VARIABLES[6]; recomputed after rate changes)
- Variable k_in(CONSTANTS[8])
- Variable K2(CONSTANTS[9])
- Variable J_out(VARIABLES[7]; recomputed after rate changes)
- Variable k_out(CONSTANTS[10])
- Variable k_m(CONSTANTS[11])
- Variable K3(CONSTANTS[12])
- Variable Ca_tot(CONSTANTS[13])
- Variable Ca_Pr(VARIABLES[8]; recomputed after rate changes)
- Variable Pr(VARIABLES[9]; recomputed after rate changes)
- Variable Pr_tot(CONSTANTS[14])
- Variable Ca_cyt(RATES[2] and VARIABLES[2])
- Variable k_plus(CONSTANTS[15])
- Variable k_minus(CONSTANTS[16])
- Variable time(BOUND[0])
-
- Equation with cmeta ID no cmeta ID in math with cmeta ID no cmeta ID
- Equation with cmeta ID no cmeta ID in math with cmeta ID no cmeta ID
double NR_minfunc_1(double* CONSTANTS, double* VARIABLES, double* BOUND)
{
return (((VARIABLES[2]+((CONSTANTS[0]/CONSTANTS[1])*VARIABLES[0])+((CONSTANTS[2]/CONSTANTS[3])*VARIABLES[1])+VARIABLES[8])) - (CONSTANTS[13]));
}
double NR_minfunc_2(double* CONSTANTS, double* VARIABLES, double* BOUND)
{
return (((VARIABLES[9]+VARIABLES[8])) - (CONSTANTS[14]));
}
void SetupFixedConstants(double* CONSTANTS)
{
CONSTANTS[0] = 0.01;
CONSTANTS[1] = 0.0025;
CONSTANTS[2] = 0.01;
CONSTANTS[3] = 0.0025;
CONSTANTS[4] = 20;
CONSTANTS[5] = 4100;
CONSTANTS[6] = 5;
CONSTANTS[7] = 0.05;
CONSTANTS[8] = 300;
CONSTANTS[9] = 0.8;
CONSTANTS[10] = 125;
CONSTANTS[11] = 0.00625;
CONSTANTS[12] = 5;
CONSTANTS[13] = 90;
CONSTANTS[14] = 120;
CONSTANTS[15] = 0.1;
CONSTANTS[16] = 0.01;
}
void SetupComputedConstants(double* CONSTANTS, double* VARIABLES)
{
VARIABLES[0] = 0;
VARIABLES[1] = 0;
VARIABLES[2] = 0;
}
void ComputeRates(double* BOUND, double* RATES, double* CONSTANTS, double* VARIABLES)
{
RATES[2] = ((VARIABLES[4]+VARIABLES[5]+VARIABLES[7]+(CONSTANTS[16]*VARIABLES[8]))-(VARIABLES[3]+VARIABLES[6]+(CONSTANTS[15]*VARIABLES[2]*VARIABLES[9])));
RATES[0] = ((CONSTANTS[1]/CONSTANTS[0])*(VARIABLES[3]-(VARIABLES[4]+VARIABLES[5])));
RATES[1] = ((CONSTANTS[3]/CONSTANTS[2])*(VARIABLES[6]-VARIABLES[7]));
}
void ComputeVariables(double* BOUND, double* RATES, double* CONSTANTS, double* VARIABLES)
{
VARIABLES[3] = (CONSTANTS[4]*VARIABLES[2]);
VARIABLES[4] = (CONSTANTS[5]*(pow(VARIABLES[2],2.00000)/(pow(CONSTANTS[6],2.00000)+pow(VARIABLES[2],2.00000)))*(VARIABLES[0]-VARIABLES[2]));
VARIABLES[5] = (CONSTANTS[7]*(VARIABLES[0]-VARIABLES[2]));
VARIABLES[6] = (CONSTANTS[8]*(pow(VARIABLES[2],8.00000)/(pow(CONSTANTS[9],8.00000)+pow(VARIABLES[2],8.00000))));
VARIABLES[7] = (((CONSTANTS[10]*(pow(VARIABLES[2],2.00000)/(pow(CONSTANTS[12],2.00000)+pow(VARIABLES[2],2.00000))))+CONSTANTS[11])*VARIABLES[1]);
NR_MINIMISE(NR_minfunc_1, CONSTANTS, VARIABLES, BOUND, 8);
NR_MINIMISE(NR_minfunc_2, CONSTANTS, VARIABLES, BOUND, 9);
#ifndef VARIABLES_FOR_RATES_ONLY
#endif
}
