/* 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) { }