Personal tools
You are here: Home Model Repository
 
Views

A numerical model of acid-base transport in rat distal tubule

Generated code

Programming Language

Download this code
  • The required array sizes are:
    • VARIABLES[7]
    • CONSTANTS[22]
    • BOUND[1]
    • RATES[6]
  • The following variables are defined:
    • Variable k1(CONSTANTS[0])
    • Variable k2(CONSTANTS[1])
    • Variable k3(CONSTANTS[2])
    • Variable k4(CONSTANTS[3])
    • Variable k5(CONSTANTS[4])
    • Variable k6(CONSTANTS[5])
    • Variable k7(CONSTANTS[6])
    • Variable k8(CONSTANTS[7])
    • Variable k9(CONSTANTS[8])
    • Variable EH_(RATES[0] and VARIABLES[0])
    • Variable time(BOUND[0])
    • Variable EH(RATES[1] and VARIABLES[1])
    • Variable E_(RATES[2] and VARIABLES[2])
    • Variable EH2_(RATES[3] and VARIABLES[3])
    • Variable EH2(RATES[4] and VARIABLES[4])
    • Variable E(RATES[5] and VARIABLES[5])
    • Variable k10(CONSTANTS[9])
    • Variable k11(CONSTANTS[10])
    • Variable k12(CONSTANTS[11])
    • Variable Ha(VARIABLES[6]; computed once)
    • Variable H_(CONSTANTS[12])
    • Variable ADP_(CONSTANTS[13])
    • Variable ATP_(CONSTANTS[14])
    • Variable Pi_(CONSTANTS[15])
    • Variable psi(CONSTANTS[16])
    • Variable psi_(CONSTANTS[17])
    • Variable H(CONSTANTS[18])
    • Variable R(CONSTANTS[19])
    • Variable T(CONSTANTS[20])
    • Variable F(CONSTANTS[21])
  • No equation needed for Newton-Raphson evaluation.
void SetupFixedConstants(double* CONSTANTS)
{
CONSTANTS[0] = 8.33e+09;
CONSTANTS[1] = 1000;
CONSTANTS[2] = 8.33e+09;
CONSTANTS[3] = 10000;
CONSTANTS[4] = 2.5e+10;
CONSTANTS[5] = 1000;
CONSTANTS[6] = 2.5e+10;
CONSTANTS[7] = 250;
CONSTANTS[8] = 1e+09;
CONSTANTS[9] = 180000;
CONSTANTS[10] = 500;
CONSTANTS[11] = 100;
CONSTANTS[12] = 1;
CONSTANTS[13] = 1;
CONSTANTS[14] = 1;
CONSTANTS[15] = 1;
CONSTANTS[16] = 1;
CONSTANTS[17] = -89.6;
CONSTANTS[18] = 1;
CONSTANTS[19] = 8.314;
CONSTANTS[20] = 310;
CONSTANTS[21] = 96500;
}

void SetupComputedConstants(double* CONSTANTS, double* VARIABLES)
{
VARIABLES[6] = (CONSTANTS[18]*exp(((CONSTANTS[21]*(CONSTANTS[16]+CONSTANTS[17]))/(CONSTANTS[19]*CONSTANTS[20]))));
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[1] = (((CONSTANTS[0]*VARIABLES[6]*VARIABLES[5])+(CONSTANTS[3]*VARIABLES[4]))-((CONSTANTS[1]*VARIABLES[1])+(CONSTANTS[2]*VARIABLES[6]*VARIABLES[1])));
RATES[5] = (((CONSTANTS[9]*CONSTANTS[13]*CONSTANTS[15]*VARIABLES[2])+(CONSTANTS[1]*VARIABLES[1]))-((CONSTANTS[0]*VARIABLES[6]*VARIABLES[5])+(CONSTANTS[8]*CONSTANTS[14]*VARIABLES[5])));
RATES[4] = (((CONSTANTS[2]*VARIABLES[6]*VARIABLES[1])+(CONSTANTS[11]*VARIABLES[3]))-((CONSTANTS[3]*VARIABLES[4])+(CONSTANTS[10]*VARIABLES[4])));
RATES[0] = (((CONSTANTS[4]*CONSTANTS[12]*VARIABLES[2])+(CONSTANTS[7]*VARIABLES[3]))-((CONSTANTS[5]*VARIABLES[0])+(CONSTANTS[6]*CONSTANTS[12]*VARIABLES[0])));
RATES[2] = (((CONSTANTS[8]*CONSTANTS[14]*VARIABLES[5])+(CONSTANTS[5]*VARIABLES[0]))-((CONSTANTS[4]*CONSTANTS[12]*VARIABLES[2])+(CONSTANTS[9]*CONSTANTS[13]*CONSTANTS[15]*VARIABLES[2])));
RATES[3] = (((CONSTANTS[6]*CONSTANTS[12]*VARIABLES[0])+(CONSTANTS[10]*VARIABLES[4]))-((CONSTANTS[7]*VARIABLES[3])+(CONSTANTS[11]*VARIABLES[3])));
}

void ComputeVariables(double* BOUND, double* RATES, double* CONSTANTS, double* VARIABLES)
{
#ifndef VARIABLES_FOR_RATES_ONLY
#endif
}