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

void SetupComputedConstants(double* CONSTANTS, double* VARIABLES)
{
VARIABLES[0] = 0;
VARIABLES[1] = 0;
VARIABLES[2] = 0;
VARIABLES[3] = 0;
VARIABLES[4] = 0;
VARIABLES[5] = 0;
}

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

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