Views
The Phantom Burster Model for Pancreatic Beta Cells
Generated code
Download this code
- The required array sizes are:
- VARIABLES[14]
- CONSTANTS[21]
- BOUND[1]
- RATES[4]
- The following variables are defined:
- Variable Cm(CONSTANTS[0])
- Variable V(RATES[0] and VARIABLES[0])
- Variable Vm(CONSTANTS[1])
- Variable VCa(CONSTANTS[2])
- Variable gCa(CONSTANTS[3])
- Variable minf(VARIABLES[4]; recomputed after rate changes)
- Variable time(BOUND[0])
- Variable taun(VARIABLES[5]; recomputed after rate changes)
- Variable ninf(VARIABLES[6]; recomputed after rate changes)
- Variable Is1(VARIABLES[7]; recomputed after rate changes)
- Variable gs1(CONSTANTS[4])
- Variable s1(RATES[1] and VARIABLES[1])
- Variable s1inf(VARIABLES[8]; recomputed after rate changes)
- Variable Vs1(CONSTANTS[5])
- Variable ss1(CONSTANTS[6])
- Variable taus1(CONSTANTS[7])
- Variable sm(CONSTANTS[8])
- Variable ICa(VARIABLES[9]; recomputed after rate changes)
- Variable IK(VARIABLES[10]; recomputed after rate changes)
- Variable VK(CONSTANTS[9])
- Variable gK(CONSTANTS[10])
- Variable n(RATES[2] and VARIABLES[2])
- Variable lambda(CONSTANTS[11])
- Variable tnbar(CONSTANTS[12])
- Variable Vn(CONSTANTS[13])
- Variable sn(CONSTANTS[14])
- Variable Vs2(CONSTANTS[15])
- Variable s2(RATES[3] and VARIABLES[3])
- Variable s2inf(VARIABLES[11]; recomputed after rate changes)
- Variable ss2(CONSTANTS[16])
- Variable gs2(CONSTANTS[17])
- Variable taus2(CONSTANTS[18])
- Variable Is2(VARIABLES[12]; recomputed after rate changes)
- Variable Il(VARIABLES[13]; recomputed after rate changes)
- Variable gl(CONSTANTS[19])
- Variable Vl(CONSTANTS[20])
- No equation needed for Newton-Raphson evaluation.
void SetupFixedConstants(double* CONSTANTS)
{
CONSTANTS[0] = 4524;
CONSTANTS[1] = -22;
CONSTANTS[2] = 100;
CONSTANTS[3] = 280;
CONSTANTS[4] = 20;
CONSTANTS[5] = -40;
CONSTANTS[6] = 0.5;
CONSTANTS[7] = 1000;
CONSTANTS[8] = 7.5;
CONSTANTS[9] = -80;
CONSTANTS[10] = 1300;
CONSTANTS[11] = 1.1;
CONSTANTS[12] = 9.09;
CONSTANTS[13] = -9;
CONSTANTS[14] = 10;
CONSTANTS[15] = -42;
CONSTANTS[16] = 0.4;
CONSTANTS[17] = 32;
CONSTANTS[18] = 120000;
CONSTANTS[19] = 25;
CONSTANTS[20] = -40;
}
void SetupComputedConstants(double* CONSTANTS, double* VARIABLES)
{
VARIABLES[0] = -43;
VARIABLES[1] = 0.1;
VARIABLES[2] = 0.03;
VARIABLES[3] = 0.434;
}
void ComputeRates(double* BOUND, double* RATES, double* CONSTANTS, double* VARIABLES)
{
RATES[0] = ((-(VARIABLES[9]+VARIABLES[10]+VARIABLES[13]+VARIABLES[7]+VARIABLES[12]))/CONSTANTS[0]);
RATES[2] = ((CONSTANTS[11]*(VARIABLES[6]-VARIABLES[2]))/(VARIABLES[5]*VARIABLES[0]));
RATES[1] = ((VARIABLES[8]-VARIABLES[1])/CONSTANTS[7]);
RATES[3] = ((VARIABLES[11]-VARIABLES[3])/CONSTANTS[18]);
}
void ComputeVariables(double* BOUND, double* RATES, double* CONSTANTS, double* VARIABLES)
{
VARIABLES[10] = (CONSTANTS[10]*VARIABLES[2]*(VARIABLES[0]-CONSTANTS[9]));
VARIABLES[4] = (1.00000/(1.00000+exp(((CONSTANTS[1]-VARIABLES[0])/CONSTANTS[8]))));
VARIABLES[5] = (CONSTANTS[12]/(1.00000+exp(((VARIABLES[0]-CONSTANTS[13])/CONSTANTS[14]))));
VARIABLES[6] = (1.00000/(1.00000+exp(((CONSTANTS[13]-VARIABLES[0])/CONSTANTS[14]))));
VARIABLES[7] = (CONSTANTS[4]*VARIABLES[1]*(VARIABLES[0]-CONSTANTS[9]));
VARIABLES[8] = (1.00000/(1.00000+exp(((CONSTANTS[5]-VARIABLES[0])/CONSTANTS[6]))));
VARIABLES[9] = (CONSTANTS[3]*VARIABLES[4]*(VARIABLES[0]-CONSTANTS[2]));
VARIABLES[11] = (1.00000/(1.00000+exp(((CONSTANTS[15]-VARIABLES[0])/CONSTANTS[16]))));
VARIABLES[12] = (CONSTANTS[17]*VARIABLES[3]*(VARIABLES[0]-CONSTANTS[9]));
VARIABLES[13] = (CONSTANTS[19]*(VARIABLES[0]-CONSTANTS[20]));
#ifndef VARIABLES_FOR_RATES_ONLY
#endif
}
