Generated Code

The following is c_ida code generated by the CellML API from this CellML file. (Back to language selection)

The raw code is available.

/*
   There are a total of 7 entries in the algebraic variable array.
   There are a total of 3 entries in each of the rate and state variable arrays.
   There are a total of 10 entries in the constant variable array.
 */
/*
 * VOI is time in component environment (second).
 * CONSTANTS[0] is q_Cai_init in component environment (fmol).
 * CONSTANTS[1] is q_TRPN_init in component environment (fmol).
 * CONSTANTS[2] is q_Ca_TRPN_init in component environment (fmol).
 * ALGEBRAIC[0] is q_Cai in component environment (fmol).
 * ALGEBRAIC[1] is q_TRPN in component environment (fmol).
 * ALGEBRAIC[2] is q_Ca_TRPN in component environment (fmol).
 * STATES[0] is q_Cai in component TRPN (fmol).
 * STATES[1] is q_TRPN in component TRPN (fmol).
 * STATES[2] is q_Ca_TRPN in component TRPN (fmol).
 * CONSTANTS[3] is kappa_R_TRPNCa in component TRPN_parameters (fmol_per_sec).
 * CONSTANTS[4] is K_Cai in component TRPN_parameters (per_fmol).
 * CONSTANTS[5] is K_TRPN in component TRPN_parameters (per_fmol).
 * CONSTANTS[6] is K_Ca_TRPN in component TRPN_parameters (per_fmol).
 * CONSTANTS[7] is R in component constants (J_per_K_per_mol).
 * CONSTANTS[8] is T in component constants (kelvin).
 * ALGEBRAIC[3] is mu_Cai in component TRPN (J_per_mol).
 * ALGEBRAIC[4] is mu_TRPN in component TRPN (J_per_mol).
 * ALGEBRAIC[5] is mu_Ca_TRPN in component TRPN (J_per_mol).
 * ALGEBRAIC[6] is v_R_TRPNCa in component TRPN (fmol_per_sec).
 * CONSTANTS[9] is F in component constants (C_per_mol).
 * RATES[0] is d/dt q_Cai in component TRPN (fmol).
 * RATES[1] is d/dt q_TRPN in component TRPN (fmol).
 * RATES[2] is d/dt q_Ca_TRPN in component TRPN (fmol).
 * There are a total of 0 condition variables.
 */
void
initConsts(double* CONSTANTS, double* RATES, double *STATES)
{
CONSTANTS[0] = 6.82e-1;
CONSTANTS[1] = 2.57;
CONSTANTS[2] = 1e-16;
STATES[0] = 1e-16;
STATES[1] = 1e-16;
STATES[2] = 1e-16;
CONSTANTS[3] = 83.2553;
CONSTANTS[4] = 1.00748;
CONSTANTS[5] = 1.00748;
CONSTANTS[6] = 0.0698328;
CONSTANTS[7] = 8.31;
CONSTANTS[8] = 310;
CONSTANTS[9] = 96485;
RATES[0] = 0.1001;
RATES[1] = 0.1001;
RATES[2] = 0.1001;
}
void
computeResiduals(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
                 double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
resid[0] = RATES[0] - - ALGEBRAIC[6];
resid[1] = RATES[1] - - ALGEBRAIC[6];
resid[2] = RATES[2] - ALGEBRAIC[6];
}
void
computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
}
void
computeEssentialVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[0] = STATES[0]+CONSTANTS[0];
ALGEBRAIC[3] =  CONSTANTS[7]*CONSTANTS[8]*log( CONSTANTS[4]*ALGEBRAIC[0]);
ALGEBRAIC[1] = STATES[1]+CONSTANTS[1];
ALGEBRAIC[4] =  CONSTANTS[7]*CONSTANTS[8]*log( CONSTANTS[5]*ALGEBRAIC[1]);
ALGEBRAIC[2] = STATES[2]+CONSTANTS[2];
ALGEBRAIC[5] =  CONSTANTS[7]*CONSTANTS[8]*log( CONSTANTS[6]*ALGEBRAIC[2]);
ALGEBRAIC[6] =  CONSTANTS[3]*(exp((ALGEBRAIC[3]+ALGEBRAIC[4])/( CONSTANTS[7]*CONSTANTS[8])) - exp(ALGEBRAIC[5]/( CONSTANTS[7]*CONSTANTS[8])));
}
void
getStateInformation(double* SI)
{
SI[0] = 1.0;
SI[1] = 1.0;
SI[2] = 1.0;
}
void
computeRoots(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
             double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
}
Source
Derived from workspace BG_TRPN at changeset 97c70a3d4262.
Collaboration
To begin collaborating on this work, please use your git client and issue this command:
License
The terms of use/license for this work is unspecified.