Personal tools
You are here: Home Model Repository
 
Views

Effects of extracellular calcium on electrical bursting and intracellular and luminal calcium oscillations in insulin secreting pancreatic beta-cells

Generated code

Programming Language

Download this code
  • The required array sizes are:
    • VARIABLES[21]
    • CONSTANTS[33]
    • BOUND[1]
    • RATES[6]
  • The following variables are defined:
    • Variable f_infinity(VARIABLES[6]; recomputed after rate changes)
    • Variable i_NS(VARIABLES[7]; recomputed after rate changes)
    • Variable g_NS(CONSTANTS[0])
    • Variable K_NS(CONSTANTS[1])
    • Variable VNS(CONSTANTS[2])
    • Variable i_K_dr(VARIABLES[8]; recomputed after rate changes)
    • Variable V_K(CONSTANTS[3])
    • Variable g_K_dr(CONSTANTS[4])
    • Variable n(RATES[0] and VARIABLES[0])
    • Variable lamda_n(CONSTANTS[5])
    • Variable Vn(CONSTANTS[6])
    • Variable Sn(CONSTANTS[7])
    • Variable n_infinity(VARIABLES[9]; recomputed after rate changes)
    • Variable tau_n(VARIABLES[10]; recomputed after rate changes)
    • Variable i_K_Ca(VARIABLES[11]; recomputed after rate changes)
    • Variable g_K_Ca(CONSTANTS[8])
    • Variable i_K_ATP(VARIABLES[12]; recomputed after rate changes)
    • Variable g_K_ATP(CONSTANTS[9])
    • Variable i_NaL(VARIABLES[13]; recomputed after rate changes)
    • Variable g_NaL(CONSTANTS[10])
    • Variable V_Na(CONSTANTS[11])
    • Variable Ca_i(RATES[1] and VARIABLES[1])
    • Variable Ca_lum(RATES[2] and VARIABLES[2])
    • Variable k_rel(CONSTANTS[12])
    • Variable k_Ca(CONSTANTS[13])
    • Variable k_pump(CONSTANTS[14])
    • Variable omega(CONSTANTS[15])
    • Variable h(RATES[3] and VARIABLES[3])
    • Variable lamda_h(CONSTANTS[16])
    • Variable tau_h(VARIABLES[14]; recomputed after rate changes)
    • Variable h_infinity(VARIABLES[15]; recomputed after rate changes)
    • Variable Vh(CONSTANTS[17])
    • Variable Sh(CONSTANTS[18])
    • Variable i_Ca(VARIABLES[16]; recomputed after rate changes)
    • Variable K_Ca(CONSTANTS[19])
    • Variable P_Ca(CONSTANTS[20])
    • Variable Ca_o(CONSTANTS[21])
    • Variable d(RATES[4] and VARIABLES[4])
    • Variable lamda_d(CONSTANTS[22])
    • Variable tau_d(VARIABLES[17]; recomputed after rate changes)
    • Variable d_infinity(VARIABLES[18]; recomputed after rate changes)
    • Variable Vd(CONSTANTS[23])
    • Variable Sd(CONSTANTS[24])
    • Variable time(BOUND[0])
    • Variable V(RATES[5] and VARIABLES[5])
    • Variable R(CONSTANTS[25])
    • Variable T(CONSTANTS[26])
    • Variable F(CONSTANTS[27])
    • Variable Cm(CONSTANTS[28])
    • Variable i_fast(VARIABLES[19]; recomputed after rate changes)
    • Variable g_fast(CONSTANTS[29])
    • Variable V_fast(CONSTANTS[30])
    • Variable m_infinity(VARIABLES[20]; recomputed after rate changes)
    • Variable Vm(CONSTANTS[31])
    • Variable Sm(CONSTANTS[32])
  • No equation needed for Newton-Raphson evaluation.
void SetupFixedConstants(double* CONSTANTS)
{
CONSTANTS[0] = 5;
CONSTANTS[1] = 50;
CONSTANTS[2] = -20;
CONSTANTS[3] = -75;
CONSTANTS[4] = 600;
CONSTANTS[5] = 12.5;
CONSTANTS[6] = -18;
CONSTANTS[7] = 14;
CONSTANTS[8] = 5;
CONSTANTS[9] = 2;
CONSTANTS[10] = 0.3;
CONSTANTS[11] = 80;
CONSTANTS[12] = 0.2;
CONSTANTS[13] = 7;
CONSTANTS[14] = 30;
CONSTANTS[15] = 0.2;
CONSTANTS[16] = 12.5;
CONSTANTS[17] = -48;
CONSTANTS[18] = -7;
CONSTANTS[19] = 1;
CONSTANTS[20] = 2;
CONSTANTS[21] = 2500;
CONSTANTS[22] = 2.5;
CONSTANTS[23] = -10;
CONSTANTS[24] = 5;
CONSTANTS[25] = 8314;
CONSTANTS[26] = 310;
CONSTANTS[27] = 96485;
CONSTANTS[28] = 1;
CONSTANTS[29] = 600;
CONSTANTS[30] = 80;
CONSTANTS[31] = -25;
CONSTANTS[32] = 9;
}

void SetupComputedConstants(double* CONSTANTS, double* VARIABLES)
{
VARIABLES[0] = 0.18364;
VARIABLES[1] = 0.695947;
VARIABLES[2] = 102.686;
VARIABLES[3] = 0.214723;
VARIABLES[4] = 0.00317112;
VARIABLES[5] = -38.3415;
}

void ComputeRates(double* BOUND, double* RATES, double* CONSTANTS, double* VARIABLES)
{
RATES[5] = ((-(VARIABLES[8]+VARIABLES[11]+VARIABLES[12]+VARIABLES[19]+VARIABLES[16]+VARIABLES[7]+VARIABLES[13]))/CONSTANTS[28]);
RATES[3] = ((VARIABLES[15]-VARIABLES[3])/VARIABLES[14]);
RATES[4] = ((VARIABLES[18]-VARIABLES[4])/VARIABLES[17]);
RATES[0] = ((VARIABLES[9]-VARIABLES[0])/VARIABLES[10]);
RATES[1] = ((CONSTANTS[12]*(VARIABLES[2]-VARIABLES[1]))-((CONSTANTS[15]*VARIABLES[16])+(CONSTANTS[13]*VARIABLES[1])+(CONSTANTS[14]*VARIABLES[1])));
RATES[2] = (((-CONSTANTS[12])*(VARIABLES[2]-VARIABLES[1]))+(CONSTANTS[14]*VARIABLES[1]));
}

void ComputeVariables(double* BOUND, double* RATES, double* CONSTANTS, double* VARIABLES)
{
VARIABLES[7] = (((CONSTANTS[0]*pow(CONSTANTS[1],2.00000))/(pow(CONSTANTS[1],2.00000)+pow(VARIABLES[2],2.00000)))*(((VARIABLES[5]-CONSTANTS[2])/(1.00000-exp((0.100000*(CONSTANTS[2]-VARIABLES[5])))))-10.0000));
VARIABLES[6] = (CONSTANTS[19]/(CONSTANTS[19]+VARIABLES[1]));
VARIABLES[8] = (CONSTANTS[4]*pow(VARIABLES[0],4.00000)*(VARIABLES[5]-CONSTANTS[3]));
VARIABLES[9] = (1.00000/(1.00000+exp(((CONSTANTS[6]-VARIABLES[5])/CONSTANTS[7]))));
VARIABLES[10] = (1.00000/(CONSTANTS[5]*(exp(((CONSTANTS[6]-VARIABLES[5])/(2.00000*CONSTANTS[7])))+exp(((VARIABLES[5]-CONSTANTS[6])/(2.00000*CONSTANTS[7]))))));
VARIABLES[11] = (((CONSTANTS[8]*pow(VARIABLES[1],3.00000))/(pow(CONSTANTS[19],3.00000)+pow(VARIABLES[1],3.00000)))*(VARIABLES[5]-CONSTANTS[3]));
VARIABLES[12] = (CONSTANTS[9]*(VARIABLES[5]-CONSTANTS[3]));
VARIABLES[13] = (CONSTANTS[10]*(VARIABLES[5]-CONSTANTS[11]));
VARIABLES[14] = (1.00000/(CONSTANTS[16]*(exp(((CONSTANTS[17]-VARIABLES[5])/(2.00000*CONSTANTS[18])))+exp(((VARIABLES[5]-CONSTANTS[17])/(2.00000*CONSTANTS[18]))))));
VARIABLES[15] = (1.00000/(1.00000+exp(((CONSTANTS[17]-VARIABLES[5])/CONSTANTS[18]))));
VARIABLES[16] = ((((CONSTANTS[20]*VARIABLES[4]*VARIABLES[6]*2.00000*CONSTANTS[27]*VARIABLES[5])/(CONSTANTS[25]*CONSTANTS[26]))*(CONSTANTS[21]-(VARIABLES[1]*exp(((2.00000*CONSTANTS[27]*VARIABLES[5])/(CONSTANTS[25]*CONSTANTS[26]))))))/(1.00000-exp(((2.00000*CONSTANTS[27]*VARIABLES[5])/(CONSTANTS[25]*CONSTANTS[26])))));
VARIABLES[17] = (1.00000/(CONSTANTS[22]*(exp(((CONSTANTS[23]-VARIABLES[5])/(2.00000*CONSTANTS[24])))+exp(((VARIABLES[5]-CONSTANTS[23])/(2.00000*CONSTANTS[24]))))));
VARIABLES[18] = (1.00000/(1.00000+exp(((CONSTANTS[23]-VARIABLES[5])/CONSTANTS[24]))));
VARIABLES[20] = (1.00000/(1.00000+exp(((CONSTANTS[31]-VARIABLES[5])/CONSTANTS[32]))));
VARIABLES[19] = (CONSTANTS[29]*pow(VARIABLES[20],3.00000)*VARIABLES[3]*(VARIABLES[5]-CONSTANTS[30]));
#ifndef VARIABLES_FOR_RATES_ONLY
#endif
}