C C There are a total of 13 entries in the algebraic variable array. C There are a total of 4 entries in each of the rate and state variable arrays. C There are a total of 43 entries in the constant variable array. C C C VOI is time in component environment (day). C STATES(1) is OB_p in component OB_p (dimensionless). C CONSTS(1) is D_OB_u in component OB_p (first_order_rate_constant). C CONSTS(2) is K_D1_TGF_beta in component OB_p (pM). C CONSTS(3) is K_D2_TGF_beta in component model_parameters (pM). C CONSTS(4) is D_OB_p in component model_parameters (first_order_rate_constant). C ALGBRC(4) is TGF_beta in component TGF_beta (pM). C STATES(2) is OB_a in component OB_a (dimensionless). C CONSTS(5) is A_OB_a in component OB_a (first_order_rate_constant). C STATES(3) is OC_a in component OC_a (dimensionless). C ALGBRC(2) is D_OC_p in component OC_a (first_order_rate_constant). C CONSTS(6) is A_OC_a in component OC_a (first_order_rate_constant). C CONSTS(7) is K_D3_TGF_beta in component OC_a (pM). C CONSTS(8) is OC_p in component OC_a (dimensionless). C ALGBRC(8) is RANKL in component RANKL (pM). C ALGBRC(9) is pi_RANKL_act_OC_p in component RANKL (dimensionless). C STATES(4) is BV in component BV (dimensionless). C ALGBRC(1) is OC_a_tilde in component BV (dimensionless). C ALGBRC(3) is OB_a_tilde in component BV (dimensionless). C CONSTS(9) is OC_a_initial in component BV (dimensionless). C CONSTS(10) is OB_a_initial in component BV (dimensionless). C CONSTS(11) is k_form in component BV (first_order_rate_constant). C CONSTS(12) is k_res in component model_parameters (first_order_rate_constant). C CONSTS(13) is alpha in component TGF_beta (pM). C CONSTS(14) is D_TGF_beta_tilde in component TGF_beta (first_order_rate_constant). C CONSTS(15) is S_TGF_beta in component TGF_beta (flux). C CONSTS(37) is PTH in component PTH (pM). C CONSTS(38) is pi_PTH_rep_OB_p in component PTH (dimensionless). C CONSTS(39) is pi_PTH_act_OB_p in component PTH (dimensionless). C CONSTS(16) is beta_PTH in component PTH (flux). C CONSTS(17) is D_PTH_tilde in component PTH (first_order_rate_constant). C CONSTS(18) is P_PTH_d in component PTH (flux). C CONSTS(19) is K_D4_PTH in component PTH (pM). C CONSTS(20) is K_D5_PTH in component PTH (pM). C CONSTS(21) is K_D6_PTH in component PTH (pM). C CONSTS(22) is K_D7_PTH in component PTH (pM). C CONSTS(40) is pi_PTH_act_OB_a in component PTH (dimensionless). C CONSTS(41) is pi_PTH_rep_OB_a in component PTH (dimensionless). C ALGBRC(5) is OPG in component OPG (pM). C CONSTS(23) is beta1_OPG in component OPG (flux). C CONSTS(24) is beta2_OPG in component OPG (flux). C CONSTS(25) is OPG_max in component OPG (pM). C ALGBRC(6) is P_OPG_e in component OPG (flux). C CONSTS(26) is P_OPG_d in component OPG (flux). C CONSTS(27) is D_OPG_tilde in component OPG (first_order_rate_constant). C CONSTS(42) is pi_PTH_rep_OB in component OPG (dimensionless). C CONSTS(28) is K_A2_RANKL in component RANKL (per_pM). C CONSTS(29) is K_A1_RANKL in component RANKL (per_pM). C CONSTS(30) is RANK in component RANKL (pM). C ALGBRC(7) is RANKL_eff in component RANKL (pM). C ALGBRC(10) is RANKL_tot in component RANKL (pM). C ALGBRC(13) is P_RANKL in component RANKL (flux). C ALGBRC(11) is P_RANKL_e in component RANKL (flux). C CONSTS(31) is P_RANKL_d in component RANKL (flux). C CONSTS(32) is R1_RANKL in component RANKL (pM). C CONSTS(33) is R2_RANKL in component RANKL (pM). C CONSTS(34) is beta_RANKL in component RANKL (flux). C ALGBRC(12) is D_RANKL in component RANKL (flux). C CONSTS(35) is D_RANKL_tilde in component RANKL (first_order_rate_constant). C CONSTS(43) is pi_PTH_act_OB in component RANKL (dimensionless). C CONSTS(36) is K_D8_RANKL in component RANKL (pM). C RATES(1) is d/dt OB_p in component OB_p (dimensionless). C RATES(2) is d/dt OB_a in component OB_a (dimensionless). C RATES(3) is d/dt OC_a in component OC_a (dimensionless). C RATES(4) is d/dt BV in component BV (dimensionless). C SUBROUTINE initConsts(CONSTS, RATES, STATES) REAL CONSTS(*), RATES(*), STATES(*) STATES(1) = 1.0 CONSTS(1) = 7.000e-4 CONSTS(2) = 4.545e-3 CONSTS(3) = 1.416e-3 CONSTS(4) = 5.348e-0 STATES(2) = 1.0 CONSTS(5) = 1.890e-1 STATES(3) = 1.0 CONSTS(6) = 7.000e-1 CONSTS(7) = 1.416e-3 CONSTS(8) = 1.0 STATES(4) = 100.0 CONSTS(9) = 1.0 CONSTS(10) = 1.0 CONSTS(11) = 1.571e0 CONSTS(12) = 1.000e0 CONSTS(13) = 1.000e0 CONSTS(14) = 1.000e0 CONSTS(15) = 0.0 CONSTS(16) = 2.500e2 CONSTS(17) = 8.600e1 CONSTS(18) = 0.0 CONSTS(19) = 1.5e2 CONSTS(20) = 1.5e2 CONSTS(21) = 2.226e-1 CONSTS(22) = 2.226e-1 CONSTS(23) = 1.0 CONSTS(24) = 0.0 CONSTS(25) = 2.000e8 CONSTS(26) = 0.0 CONSTS(27) = 3.500e-1 CONSTS(28) = 3.412e-2 CONSTS(29) = 1.000e-3 CONSTS(30) = 1.000e1 CONSTS(31) = 0.0 CONSTS(32) = 0.0 CONSTS(33) = 1.0 CONSTS(34) = 1.684e4 CONSTS(35) = 1.013e1 CONSTS(36) = 1.306e1 CONSTS(37) = (CONSTS(16)+CONSTS(18))/CONSTS(17) CONSTS(38) = 1.00000/(1.00000+CONSTS(37)/CONSTS(21)) CONSTS(39) = CONSTS(37)/(CONSTS(19)+CONSTS(37)) CONSTS(40) = CONSTS(37)/(CONSTS(20)+CONSTS(37)) CONSTS(41) = 1.00000/(1.00000+CONSTS(37)/CONSTS(22)) CONSTS(42) = CONSTS(38) CONSTS(43) = CONSTS(39) RETURN END SUBROUTINE computeRates(VOI, CONSTS, RATES, STATES, ALGBRC) REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*) ALGBRC(4) = ( CONSTS(13)*CONSTS(12)*STATES(3)+CONSTS(15))/CONSTS(14) RATES(1) = CONSTS(1)*(ALGBRC(4)/(CONSTS(2)+ALGBRC(4))) - CONSTS(4)*STATES(1)*(1.00000/(1.00000+ALGBRC(4)/CONSTS(3))) RATES(2) = CONSTS(4)*STATES(1)*(1.00000/(1.00000+ALGBRC(4)/CONSTS(3))) - CONSTS(5)*STATES(2) ALGBRC(1) = STATES(3) - CONSTS(9) ALGBRC(3) = STATES(2) - CONSTS(10) RATES(4) = CONSTS(11)*ALGBRC(3) - CONSTS(12)*ALGBRC(1) ALGBRC(2) = TERNRY(VOI.GT.0.00000.AND.VOI.LE.100.000, 0.0210000, 0.00210000) ALGBRC(5) = ( ( CONSTS(23)*STATES(1)+ CONSTS(24)*STATES(2))*CONSTS(42)+CONSTS(26))/(( ( CONSTS(23)*STATES(1)+ CONSTS(24)*STATES(2))*CONSTS(42))/CONSTS(25)+CONSTS(27)) ALGBRC(7) = ( CONSTS(32)*STATES(1)+ CONSTS(33)*STATES(2))*CONSTS(43) ALGBRC(8) = (ALGBRC(7)/(1.00000+ CONSTS(29)*ALGBRC(5)+ CONSTS(28)*CONSTS(30)))*((CONSTS(34)+CONSTS(31))/(CONSTS(34)+ CONSTS(35)*ALGBRC(7))) ALGBRC(9) = ALGBRC(8)/(CONSTS(36)+ALGBRC(8)) RATES(3) = ALGBRC(2)*CONSTS(8)*ALGBRC(9) - CONSTS(6)*STATES(3)*(ALGBRC(4)/(CONSTS(7)+ALGBRC(4))) RETURN END SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC) REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*) ALGBRC(4) = ( CONSTS(13)*CONSTS(12)*STATES(3)+CONSTS(15))/CONSTS(14) ALGBRC(1) = STATES(3) - CONSTS(9) ALGBRC(3) = STATES(2) - CONSTS(10) ALGBRC(2) = TERNRY(VOI.GT.0.00000.AND.VOI.LE.100.000, 0.0210000, 0.00210000) ALGBRC(5) = ( ( CONSTS(23)*STATES(1)+ CONSTS(24)*STATES(2))*CONSTS(42)+CONSTS(26))/(( ( CONSTS(23)*STATES(1)+ CONSTS(24)*STATES(2))*CONSTS(42))/CONSTS(25)+CONSTS(27)) ALGBRC(7) = ( CONSTS(32)*STATES(1)+ CONSTS(33)*STATES(2))*CONSTS(43) ALGBRC(8) = (ALGBRC(7)/(1.00000+ CONSTS(29)*ALGBRC(5)+ CONSTS(28)*CONSTS(30)))*((CONSTS(34)+CONSTS(31))/(CONSTS(34)+ CONSTS(35)*ALGBRC(7))) ALGBRC(9) = ALGBRC(8)/(CONSTS(36)+ALGBRC(8)) ALGBRC(6) = ( CONSTS(23)*STATES(1)+ CONSTS(24)*STATES(2))*CONSTS(42)*(1.00000 - ALGBRC(5)/CONSTS(25)) ALGBRC(10) = ALGBRC(8)*(1.00000+ CONSTS(29)*ALGBRC(5)+ CONSTS(28)*CONSTS(30)) ALGBRC(11) = CONSTS(34)*(1.00000 - ALGBRC(10)/ALGBRC(7)) ALGBRC(12) = - CONSTS(35)*ALGBRC(10) ALGBRC(13) = ALGBRC(11)+CONSTS(31) RETURN END REAL FUNCTION TERNRY(TEST, VALA, VALB) LOGICAL TEST REAL VALA, VALB IF (TEST) THEN TERNRY = VALA ELSE TERNRY = VALB ENDIF RETURN END