Personal tools
You are here: Home Model Repository The Phantom Burster Model for Pancreatic Beta Cells
 
Views

The Phantom Burster Model for Pancreatic Beta Cells

Generated code

Programming Language

Download this code
  • The required array sizes are:
    • VARIABLES[14]
    • CONSTANTS[11]
    • BOUND[1]
    • RATES[4]
  • The following variables are defined:
    • Variable V(RATES[0] and VARIABLES[0])
    • Variable Cm(CONSTANTS[0])
    • Variable time(BOUND[0])
    • Variable i_Ca(VARIABLES[4]; recomputed after rate changes)
    • Variable V_Ca(CONSTANTS[1])
    • Variable g_Ca(CONSTANTS[2])
    • Variable m_infinity(VARIABLES[5]; recomputed after rate changes)
    • Variable i_K(VARIABLES[6]; recomputed after rate changes)
    • Variable V_K(CONSTANTS[3])
    • Variable g_K(CONSTANTS[4])
    • Variable n(RATES[1] and VARIABLES[1])
    • Variable n_infinity(VARIABLES[7]; recomputed after rate changes)
    • Variable tau_n(VARIABLES[8]; recomputed after rate changes)
    • Variable i_s1(VARIABLES[9]; recomputed after rate changes)
    • Variable g_s1(CONSTANTS[5])
    • Variable s1(RATES[2] and VARIABLES[2])
    • Variable s1_infinity(VARIABLES[10]; recomputed after rate changes)
    • Variable tau_s1(CONSTANTS[6])
    • Variable i_s2(VARIABLES[11]; recomputed after rate changes)
    • Variable g_s2(CONSTANTS[7])
    • Variable s2(RATES[3] and VARIABLES[3])
    • Variable s2_infinity(VARIABLES[12]; recomputed after rate changes)
    • Variable tau_s2(CONSTANTS[8])
    • Variable i_L(VARIABLES[13]; recomputed after rate changes)
    • Variable g_L(CONSTANTS[9])
    • Variable V_L(CONSTANTS[10])
  • No equation needed for Newton-Raphson evaluation.
void SetupFixedConstants(double* CONSTANTS)
{
CONSTANTS[0] = 4524;
CONSTANTS[1] = 100;
CONSTANTS[2] = 280;
CONSTANTS[3] = -80;
CONSTANTS[4] = 1300;
CONSTANTS[5] = 3;
CONSTANTS[6] = 1;
CONSTANTS[7] = 32;
CONSTANTS[8] = 2;
CONSTANTS[9] = 25;
CONSTANTS[10] = -40;
}

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

void ComputeRates(double* BOUND, double* RATES, double* CONSTANTS, double* VARIABLES)
{
RATES[0] = ((-(VARIABLES[4]+VARIABLES[6]+VARIABLES[9]+VARIABLES[11]+VARIABLES[13]))/CONSTANTS[0]);
RATES[1] = ((VARIABLES[7]-VARIABLES[1])/VARIABLES[8]);
RATES[2] = ((VARIABLES[10]-VARIABLES[2])/CONSTANTS[6]);
RATES[3] = ((VARIABLES[12]-VARIABLES[3])/CONSTANTS[8]);
}

void ComputeVariables(double* BOUND, double* RATES, double* CONSTANTS, double* VARIABLES)
{
VARIABLES[5] = (1.00000/(1.00000+exp(((-22.0000-VARIABLES[0])/7.50000))));
VARIABLES[4] = (CONSTANTS[2]*VARIABLES[5]*(VARIABLES[0]-CONSTANTS[1]));
VARIABLES[6] = (CONSTANTS[4]*VARIABLES[1]*(VARIABLES[0]-CONSTANTS[3]));
VARIABLES[7] = (1.00000/(1.00000+exp(((-9.00000-VARIABLES[0])/10.0000))));
VARIABLES[8] = (8.30000/(1.00000+exp(((VARIABLES[0]+9.00000)/10.0000))));
VARIABLES[9] = (CONSTANTS[5]*VARIABLES[2]*(VARIABLES[0]-CONSTANTS[3]));
VARIABLES[10] = (1.00000/(1.00000+exp(((-40.0000-VARIABLES[0])/0.500000))));
VARIABLES[11] = (CONSTANTS[7]*VARIABLES[3]*(VARIABLES[0]-CONSTANTS[3]));
VARIABLES[12] = (1.00000/(1.00000+exp(((-42.0000-VARIABLES[0])/0.400000))));
VARIABLES[13] = (CONSTANTS[9]*(VARIABLES[0]-CONSTANTS[10]));
#ifndef VARIABLES_FOR_RATES_ONLY
#endif
}