C C There are a total of 34 entries in the algebraic variable array. C There are a total of 14 entries in each of the rate and state variable arrays. C There are a total of 88 entries in the constant variable array. C C C VOI is t in component environment (second). C ALGBRC(19) is Pi in component TempCDa (UnitP). C STATES(1) is Pi in component TempRLC (UnitP). C ALGBRC(31) is Qo in component TempRC (UnitQ). C ALGBRC(11) is Qo in component TempCDv (UnitQ). C ALGBRC(20) is Pi in component TempCDa (UnitP). C STATES(2) is Pi in component TempRLC (UnitP). C ALGBRC(32) is Qo in component TempRC (UnitQ). C ALGBRC(12) is Qo in component TempCDv (UnitQ). C ALGBRC(7) is Pi in component TempCDv (UnitP). C ALGBRC(23) is Qo in component TempCDa (UnitQ). C CONSTS(1) is CVao in component ParaHeart (UnitCV). C ALGBRC(5) is E in component EVentricle (UnitE). C STATES(3) is V in component TempCDv (UnitV). C CONSTS(2) is PlvIni in component ParaHeart (UnitP). C CONSTS(3) is VlvIni in component ParaHeart (UnitV). C ALGBRC(9) is Tao in component TempCDv (dimensionless). C CONSTS(4) is Vlv0 in component ParaHeart (UnitV). C CONSTS(5) is CVmi in component ParaHeart (UnitCV). C ALGBRC(17) is E in component EAtrium (UnitE). C STATES(4) is V in component TempCDa (UnitV). C CONSTS(6) is PlaIni in component ParaHeart (UnitP). C CONSTS(7) is VlaIni in component ParaHeart (UnitV). C ALGBRC(21) is Tao in component TempCDa (dimensionless). C CONSTS(8) is Vla0 in component ParaHeart (UnitV). C CONSTS(9) is ElvMax in component ParaHeart (UnitE). C CONSTS(10) is ElvMin in component ParaHeart (UnitE). C CONSTS(11) is T in component ParaHeart (second). C CONSTS(12) is Ts1 in component ParaHeart (dimensionless). C CONSTS(13) is Ts2 in component ParaHeart (dimensionless). C ALGBRC(1) is mt in component EVentricle (second). C ALGBRC(3) is et in component EVentricle (dimensionless). C CONSTS(14) is ElaMax in component ParaHeart (UnitE). C CONSTS(15) is ElaMin in component ParaHeart (UnitE). C CONSTS(16) is Tpwb in component ParaHeart (dimensionless). C CONSTS(17) is Tpww in component ParaHeart (dimensionless). C ALGBRC(13) is mt in component EAtrium (second). C ALGBRC(15) is et in component EAtrium (dimensionless). C CONSTS(18) is EraMax in component ParaHeart (UnitE). C CONSTS(19) is EraMin in component ParaHeart (UnitE). C CONSTS(20) is PraIni in component ParaHeart (UnitP). C CONSTS(21) is VraIni in component ParaHeart (UnitV). C CONSTS(22) is ErvMax in component ParaHeart (UnitE). C CONSTS(23) is ErvMin in component ParaHeart (UnitE). C CONSTS(24) is PrvIni in component ParaHeart (UnitP). C CONSTS(25) is VrvIni in component ParaHeart (UnitV). C CONSTS(26) is CVpa in component ParaHeart (UnitCV). C CONSTS(27) is CVti in component ParaHeart (UnitCV). C CONSTS(28) is Vra0 in component ParaHeart (UnitV). C CONSTS(29) is Vrv0 in component ParaHeart (UnitV). C ALGBRC(8) is Pi in component TempCDv (UnitP). C ALGBRC(24) is Qo in component TempCDa (UnitQ). C CONSTS(30) is CVpa in component ParaHeart (UnitCV). C ALGBRC(6) is E in component EVentricle (UnitE). C STATES(5) is V in component TempCDv (UnitV). C CONSTS(31) is PrvIni in component ParaHeart (UnitP). C CONSTS(32) is VrvIni in component ParaHeart (UnitV). C ALGBRC(10) is Tao in component TempCDv (dimensionless). C CONSTS(33) is Vrv0 in component ParaHeart (UnitV). C CONSTS(34) is CVti in component ParaHeart (UnitCV). C ALGBRC(18) is E in component EAtrium (UnitE). C STATES(6) is V in component TempCDa (UnitV). C CONSTS(35) is PraIni in component ParaHeart (UnitP). C CONSTS(36) is VraIni in component ParaHeart (UnitV). C ALGBRC(22) is Tao in component TempCDa (dimensionless). C CONSTS(37) is Vra0 in component ParaHeart (UnitV). C CONSTS(38) is ErvMax in component ParaHeart (UnitE). C CONSTS(39) is ErvMin in component ParaHeart (UnitE). C CONSTS(40) is T in component ParaHeart (second). C CONSTS(41) is Ts1 in component ParaHeart (dimensionless). C CONSTS(42) is Ts2 in component ParaHeart (dimensionless). C ALGBRC(2) is mt in component EVentricle (second). C ALGBRC(4) is et in component EVentricle (dimensionless). C CONSTS(43) is EraMax in component ParaHeart (UnitE). C CONSTS(44) is EraMin in component ParaHeart (UnitE). C CONSTS(45) is Tpwb in component ParaHeart (dimensionless). C CONSTS(46) is Tpww in component ParaHeart (dimensionless). C ALGBRC(14) is mt in component EAtrium (second). C ALGBRC(16) is et in component EAtrium (dimensionless). C CONSTS(47) is ElaMax in component ParaHeart (UnitE). C CONSTS(48) is ElaMin in component ParaHeart (UnitE). C CONSTS(49) is PlaIni in component ParaHeart (UnitP). C CONSTS(50) is VlaIni in component ParaHeart (UnitV). C CONSTS(51) is ElvMax in component ParaHeart (UnitE). C CONSTS(52) is ElvMin in component ParaHeart (UnitE). C CONSTS(53) is PlvIni in component ParaHeart (UnitP). C CONSTS(54) is VlvIni in component ParaHeart (UnitV). C CONSTS(55) is CVao in component ParaHeart (UnitCV). C CONSTS(56) is CVmi in component ParaHeart (UnitCV). C CONSTS(57) is Vlv0 in component ParaHeart (UnitV). C CONSTS(58) is Vla0 in component ParaHeart (UnitV). C STATES(7) is Pi in component TempRLC (UnitP). C STATES(8) is Qo in component TempRLC (UnitQ). C CONSTS(59) is Rsas in component ParaSys (UnitR). C CONSTS(60) is Csas in component ParaSys (UnitC). C CONSTS(61) is Lsas in component ParaSys (UnitL). C CONSTS(62) is P0sas in component ParaSys (UnitP). C CONSTS(63) is Q0sas in component ParaSys (UnitQ). C ALGBRC(33) is Pi in component TempR (UnitP). C STATES(9) is Qo in component TempRLC (UnitQ). C CONSTS(64) is Rsat in component ParaSys (UnitR). C CONSTS(65) is Csat in component ParaSys (UnitC). C CONSTS(66) is Lsat in component ParaSys (UnitL). C CONSTS(67) is P0sat in component ParaSys (UnitP). C CONSTS(68) is Q0sat in component ParaSys (UnitQ). C ALGBRC(29) is Pi in component TempR (UnitP). C ALGBRC(26) is Qo in component TempR (UnitQ). C CONSTS(69) is Rsar in component ParaSys (UnitR). C STATES(10) is Pi in component TempRC (UnitP). C ALGBRC(28) is Qo in component TempR (UnitQ). C CONSTS(70) is Rscp in component ParaSys (UnitR). C CONSTS(71) is Rsvn in component ParaSys (UnitR). C CONSTS(72) is Csvn in component ParaSys (UnitC). C CONSTS(73) is P0svn in component ParaSys (UnitP). C STATES(11) is Pi in component TempRLC (UnitP). C STATES(12) is Qo in component TempRLC (UnitQ). C CONSTS(74) is Rpas in component ParaPul (UnitR). C CONSTS(75) is Cpas in component ParaPul (UnitC). C CONSTS(76) is Lpas in component ParaPul (UnitL). C CONSTS(77) is P0pas in component ParaPul (UnitP). C CONSTS(78) is Q0pas in component ParaPul (UnitQ). C ALGBRC(34) is Pi in component TempR (UnitP). C STATES(13) is Qo in component TempRLC (UnitQ). C CONSTS(79) is Rpat in component ParaPul (UnitR). C CONSTS(80) is Cpat in component ParaPul (UnitC). C CONSTS(81) is Lpat in component ParaPul (UnitL). C CONSTS(82) is P0pat in component ParaPul (UnitP). C CONSTS(83) is Q0pat in component ParaPul (UnitQ). C ALGBRC(30) is Pi in component TempR (UnitP). C ALGBRC(25) is Qo in component TempR (UnitQ). C CONSTS(84) is Rpar in component ParaPul (UnitR). C STATES(14) is Pi in component TempRC (UnitP). C ALGBRC(27) is Qo in component TempR (UnitQ). C CONSTS(85) is Rpcp in component ParaPul (UnitR). C CONSTS(86) is Rpvn in component ParaPul (UnitR). C CONSTS(87) is Cpvn in component ParaPul (UnitC). C CONSTS(88) is P0pvn in component ParaPul (UnitP). C RATES(3) is d/dt V in component TempCDv (UnitV). C RATES(4) is d/dt V in component TempCDa (UnitV). C RATES(5) is d/dt V in component TempCDv (UnitV). C RATES(6) is d/dt V in component TempCDa (UnitV). C RATES(1) is d/dt Pi in component TempRLC (UnitP). C RATES(8) is d/dt Qo in component TempRLC (UnitQ). C RATES(7) is d/dt Pi in component TempRLC (UnitP). C RATES(9) is d/dt Qo in component TempRLC (UnitQ). C RATES(10) is d/dt Pi in component TempRC (UnitP). C RATES(2) is d/dt Pi in component TempRLC (UnitP). C RATES(12) is d/dt Qo in component TempRLC (UnitQ). C RATES(11) is d/dt Pi in component TempRLC (UnitP). C RATES(13) is d/dt Qo in component TempRLC (UnitQ). C RATES(14) is d/dt Pi in component TempRC (UnitP). C SUBROUTINE initConsts(CONSTS, RATES, STATES) REAL CONSTS(*), RATES(*), STATES(*) CONSTS(1) = 350. CONSTS(2) = 1.0 CONSTS(3) = 5.0 CONSTS(4) = 500 CONSTS(5) = 400. CONSTS(6) = 1.0 CONSTS(7) = 4.0 CONSTS(8) = 20 CONSTS(9) = 2.5 CONSTS(10) = 0.1 CONSTS(11) = 1.0 CONSTS(12) = 0.3 CONSTS(13) = 0.45 CONSTS(14) = 0.25 CONSTS(15) = 0.15 CONSTS(16) = 0.92 CONSTS(17) = 0.09 CONSTS(18) = 0.25 CONSTS(19) = 0.15 CONSTS(20) = 1.0 CONSTS(21) = 4.0 CONSTS(22) = 1.15 CONSTS(23) = 0.1 CONSTS(24) = 1.0 CONSTS(25) = 10.0 CONSTS(26) = 350. CONSTS(27) = 400. CONSTS(28) = 20 CONSTS(29) = 500 CONSTS(30) = 350. CONSTS(31) = 1.0 CONSTS(32) = 10.0 CONSTS(33) = 500 CONSTS(34) = 400. CONSTS(35) = 1.0 CONSTS(36) = 4.0 CONSTS(37) = 20 CONSTS(38) = 1.15 CONSTS(39) = 0.1 CONSTS(40) = 1.0 CONSTS(41) = 0.3 CONSTS(42) = 0.45 CONSTS(43) = 0.25 CONSTS(44) = 0.15 CONSTS(45) = 0.92 CONSTS(46) = 0.09 CONSTS(47) = 0.25 CONSTS(48) = 0.15 CONSTS(49) = 1.0 CONSTS(50) = 4.0 CONSTS(51) = 2.5 CONSTS(52) = 0.1 CONSTS(53) = 1.0 CONSTS(54) = 5.0 CONSTS(55) = 350. CONSTS(56) = 400. CONSTS(57) = 500 CONSTS(58) = 20 CONSTS(59) = 0.003 CONSTS(60) = 0.08 CONSTS(61) = 0.000062 CONSTS(62) = 100. CONSTS(63) = 0. CONSTS(64) = 0.05 CONSTS(65) = 1.6 CONSTS(66) = 0.0017 CONSTS(67) = 100. CONSTS(68) = 0. CONSTS(69) = 0.5 CONSTS(70) = 0.52 CONSTS(71) = 0.075 CONSTS(72) = 20.5 CONSTS(73) = 0. CONSTS(74) = 0.002 CONSTS(75) = 0.18 CONSTS(76) = 0.000052 CONSTS(77) = 30. CONSTS(78) = 0. CONSTS(79) = 0.01 CONSTS(80) = 3.8 CONSTS(81) = 0.0017 CONSTS(82) = 30. CONSTS(83) = 0. CONSTS(84) = 0.05 CONSTS(85) = 0.25 CONSTS(86) = 0.0006 CONSTS(87) = 20.5 CONSTS(88) = 0. STATES(1) = CONSTS(62) STATES(2) = CONSTS(77) STATES(3) = CONSTS(4) STATES(4) = CONSTS(8) STATES(5) = CONSTS(33) STATES(6) = CONSTS(37) STATES(7) = CONSTS(67) STATES(8) = CONSTS(63) STATES(9) = CONSTS(68) STATES(10) = CONSTS(73) STATES(11) = CONSTS(82) STATES(12) = CONSTS(78) STATES(13) = CONSTS(83) STATES(14) = CONSTS(88) RETURN END SUBROUTINE computeRates(VOI, CONSTS, RATES, STATES, ALGBRC) REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*) RATES(8) = ((STATES(1) - STATES(7)) - CONSTS(59)*STATES(8))/CONSTS(61) RATES(7) = (STATES(8) - STATES(9))/CONSTS(65) RATES(12) = ((STATES(2) - STATES(11)) - CONSTS(74)*STATES(12))/CONSTS(76) RATES(11) = (STATES(12) - STATES(13))/CONSTS(80) ALGBRC(1) = VOI - CONSTS(11)*INT(VOI/CONSTS(11)) ALGBRC(3) = TERNRY(ALGBRC(1).GE.0.00000.AND.ALGBRC(1).LE. CONSTS(12)*CONSTS(11), 1.00000 - cos(( 3.14159*ALGBRC(1))/( CONSTS(12)*CONSTS(11))), TERNRY(ALGBRC(1).GT. CONSTS(12)*CONSTS(11).AND.ALGBRC(1).LE. CONSTS(13)*CONSTS(11), 1.00000+cos(( 3.14159*(ALGBRC(1) - CONSTS(12)*CONSTS(11)))/( (CONSTS(13) - CONSTS(12))*CONSTS(11))), TERNRY(ALGBRC(1).GT. CONSTS(13)*CONSTS(11).AND.ALGBRC(1).LT.CONSTS(11), 0.00000, 0.0/0.0) ALGBRC(5) = CONSTS(10)+( ALGBRC(3)*(CONSTS(9) - CONSTS(10)))/2.00000 ALGBRC(7) = CONSTS(2)+ ALGBRC(5)*(STATES(3) - CONSTS(3)) ALGBRC(9) = TERNRY(ALGBRC(7).GE.STATES(1), 1.00000, TERNRY(ALGBRC(7).LT.STATES(1), 0.00000, 0.0/0.0) ALGBRC(11) = TERNRY(ALGBRC(7).GE.STATES(1), CONSTS(1)*ALGBRC(9)*ABS(ALGBRC(7) - STATES(1)) ** 0.500000, TERNRY(ALGBRC(7).LT.STATES(1), -1.00000*CONSTS(1)*ALGBRC(9)*ABS(STATES(1) - ALGBRC(7)) ** 0.500000, 0.0/0.0) RATES(1) = (ALGBRC(11) - STATES(8))/CONSTS(60) ALGBRC(2) = VOI - CONSTS(40)*INT(VOI/CONSTS(40)) ALGBRC(4) = TERNRY(ALGBRC(2).GE.0.00000.AND.ALGBRC(2).LE. CONSTS(41)*CONSTS(40), 1.00000 - cos(( 3.14159*ALGBRC(2))/( CONSTS(41)*CONSTS(40))), TERNRY(ALGBRC(2).GT. CONSTS(41)*CONSTS(40).AND.ALGBRC(2).LE. CONSTS(42)*CONSTS(40), 1.00000+cos(( 3.14159*(ALGBRC(2) - CONSTS(41)*CONSTS(40)))/( (CONSTS(42) - CONSTS(41))*CONSTS(40))), TERNRY(ALGBRC(2).GT. CONSTS(42)*CONSTS(40).AND.ALGBRC(2).LT.CONSTS(40), 0.00000, 0.0/0.0) ALGBRC(6) = CONSTS(39)+( ALGBRC(4)*(CONSTS(38) - CONSTS(39)))/2.00000 ALGBRC(8) = CONSTS(31)+ ALGBRC(6)*(STATES(5) - CONSTS(32)) ALGBRC(10) = TERNRY(ALGBRC(8).GE.STATES(2), 1.00000, TERNRY(ALGBRC(8).LT.STATES(2), 0.00000, 0.0/0.0) ALGBRC(12) = TERNRY(ALGBRC(8).GE.STATES(2), CONSTS(30)*ALGBRC(10)*ABS(ALGBRC(8) - STATES(2)) ** 0.500000, TERNRY(ALGBRC(8).LT.STATES(2), -1.00000*CONSTS(30)*ALGBRC(10)*ABS(STATES(2) - ALGBRC(8)) ** 0.500000, 0.0/0.0) RATES(2) = (ALGBRC(12) - STATES(12))/CONSTS(75) ALGBRC(13) = VOI - CONSTS(11)*INT(VOI/CONSTS(11)) ALGBRC(15) = TERNRY(ALGBRC(13).GE.0.00000.AND.ALGBRC(13).LE. (CONSTS(16)+CONSTS(17))*CONSTS(11) - CONSTS(11), 1.00000 - cos(( 2.00000*3.14159*((ALGBRC(13) - CONSTS(16)*CONSTS(11))+CONSTS(11)))/( CONSTS(17)*CONSTS(11))), TERNRY(ALGBRC(13).GT. (CONSTS(16)+CONSTS(17))*CONSTS(11) - CONSTS(11).AND.ALGBRC(13).LE. CONSTS(16)*CONSTS(11), 0.00000, TERNRY(ALGBRC(13).GT. CONSTS(16)*CONSTS(11).AND.ALGBRC(13).LE.CONSTS(11), 1.00000 - cos(( 2.00000*3.14159*(ALGBRC(13) - CONSTS(16)*CONSTS(11)))/( CONSTS(17)*CONSTS(11))), 0.0/0.0) ALGBRC(17) = CONSTS(15)+( ALGBRC(15)*(CONSTS(14) - CONSTS(15)))/2.00000 ALGBRC(19) = CONSTS(6)+ ALGBRC(17)*(STATES(4) - CONSTS(7)) ALGBRC(21) = TERNRY(ALGBRC(19).GE.ALGBRC(7), 1.00000, TERNRY(ALGBRC(19).LT.ALGBRC(7), 0.00000, 0.0/0.0) ALGBRC(23) = TERNRY(ALGBRC(19).GE.ALGBRC(7), CONSTS(5)*ALGBRC(21)*ABS(ALGBRC(19) - ALGBRC(7)) ** 0.500000, TERNRY(ALGBRC(19).LT.ALGBRC(7), -1.00000*CONSTS(5)*ALGBRC(21)*ABS(ALGBRC(7) - ALGBRC(19)) ** 0.500000, 0.0/0.0) RATES(3) = ALGBRC(23) - ALGBRC(11) ALGBRC(14) = VOI - CONSTS(40)*INT(VOI/CONSTS(40)) ALGBRC(16) = TERNRY(ALGBRC(14).GE.0.00000.AND.ALGBRC(14).LE. (CONSTS(45)+CONSTS(46))*CONSTS(40) - CONSTS(40), 1.00000 - cos(( 2.00000*3.14159*((ALGBRC(14) - CONSTS(45)*CONSTS(40))+CONSTS(40)))/( CONSTS(46)*CONSTS(40))), TERNRY(ALGBRC(14).GT. (CONSTS(45)+CONSTS(46))*CONSTS(40) - CONSTS(40).AND.ALGBRC(14).LE. CONSTS(45)*CONSTS(40), 0.00000, TERNRY(ALGBRC(14).GT. CONSTS(45)*CONSTS(40).AND.ALGBRC(14).LE.CONSTS(40), 1.00000 - cos(( 2.00000*3.14159*(ALGBRC(14) - CONSTS(45)*CONSTS(40)))/( CONSTS(46)*CONSTS(40))), 0.0/0.0) ALGBRC(18) = CONSTS(44)+( ALGBRC(16)*(CONSTS(43) - CONSTS(44)))/2.00000 ALGBRC(20) = CONSTS(35)+ ALGBRC(18)*(STATES(6) - CONSTS(36)) ALGBRC(22) = TERNRY(ALGBRC(20).GE.ALGBRC(8), 1.00000, TERNRY(ALGBRC(20).LT.ALGBRC(8), 0.00000, 0.0/0.0) ALGBRC(24) = TERNRY(ALGBRC(20).GE.ALGBRC(8), CONSTS(34)*ALGBRC(22)*ABS(ALGBRC(20) - ALGBRC(8)) ** 0.500000, TERNRY(ALGBRC(20).LT.ALGBRC(8), -1.00000*CONSTS(34)*ALGBRC(22)*ABS(ALGBRC(8) - ALGBRC(20)) ** 0.500000, 0.0/0.0) RATES(5) = ALGBRC(24) - ALGBRC(12) ALGBRC(31) = (STATES(14) - ALGBRC(19))/CONSTS(86) RATES(4) = ALGBRC(31) - ALGBRC(23) ALGBRC(32) = (STATES(10) - ALGBRC(20))/CONSTS(71) RATES(6) = ALGBRC(32) - ALGBRC(24) ALGBRC(26) = STATES(9) ALGBRC(29) = STATES(10)+ CONSTS(70)*ALGBRC(26) ALGBRC(33) = ALGBRC(29)+ CONSTS(69)*STATES(9) RATES(9) = ((STATES(7) - ALGBRC(33)) - CONSTS(64)*STATES(9))/CONSTS(66) ALGBRC(28) = ALGBRC(26) RATES(10) = (ALGBRC(28) - ALGBRC(32))/CONSTS(72) ALGBRC(25) = STATES(13) ALGBRC(30) = STATES(14)+ CONSTS(85)*ALGBRC(25) ALGBRC(34) = ALGBRC(30)+ CONSTS(84)*STATES(13) RATES(13) = ((STATES(11) - ALGBRC(34)) - CONSTS(79)*STATES(13))/CONSTS(81) ALGBRC(27) = ALGBRC(25) RATES(14) = (ALGBRC(27) - ALGBRC(31))/CONSTS(87) RETURN END SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC) REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*) ALGBRC(1) = VOI - CONSTS(11)*INT(VOI/CONSTS(11)) ALGBRC(3) = TERNRY(ALGBRC(1).GE.0.00000.AND.ALGBRC(1).LE. CONSTS(12)*CONSTS(11), 1.00000 - cos(( 3.14159*ALGBRC(1))/( CONSTS(12)*CONSTS(11))), TERNRY(ALGBRC(1).GT. CONSTS(12)*CONSTS(11).AND.ALGBRC(1).LE. CONSTS(13)*CONSTS(11), 1.00000+cos(( 3.14159*(ALGBRC(1) - CONSTS(12)*CONSTS(11)))/( (CONSTS(13) - CONSTS(12))*CONSTS(11))), TERNRY(ALGBRC(1).GT. CONSTS(13)*CONSTS(11).AND.ALGBRC(1).LT.CONSTS(11), 0.00000, 0.0/0.0) ALGBRC(5) = CONSTS(10)+( ALGBRC(3)*(CONSTS(9) - CONSTS(10)))/2.00000 ALGBRC(7) = CONSTS(2)+ ALGBRC(5)*(STATES(3) - CONSTS(3)) ALGBRC(9) = TERNRY(ALGBRC(7).GE.STATES(1), 1.00000, TERNRY(ALGBRC(7).LT.STATES(1), 0.00000, 0.0/0.0) ALGBRC(11) = TERNRY(ALGBRC(7).GE.STATES(1), CONSTS(1)*ALGBRC(9)*ABS(ALGBRC(7) - STATES(1)) ** 0.500000, TERNRY(ALGBRC(7).LT.STATES(1), -1.00000*CONSTS(1)*ALGBRC(9)*ABS(STATES(1) - ALGBRC(7)) ** 0.500000, 0.0/0.0) ALGBRC(2) = VOI - CONSTS(40)*INT(VOI/CONSTS(40)) ALGBRC(4) = TERNRY(ALGBRC(2).GE.0.00000.AND.ALGBRC(2).LE. CONSTS(41)*CONSTS(40), 1.00000 - cos(( 3.14159*ALGBRC(2))/( CONSTS(41)*CONSTS(40))), TERNRY(ALGBRC(2).GT. CONSTS(41)*CONSTS(40).AND.ALGBRC(2).LE. CONSTS(42)*CONSTS(40), 1.00000+cos(( 3.14159*(ALGBRC(2) - CONSTS(41)*CONSTS(40)))/( (CONSTS(42) - CONSTS(41))*CONSTS(40))), TERNRY(ALGBRC(2).GT. CONSTS(42)*CONSTS(40).AND.ALGBRC(2).LT.CONSTS(40), 0.00000, 0.0/0.0) ALGBRC(6) = CONSTS(39)+( ALGBRC(4)*(CONSTS(38) - CONSTS(39)))/2.00000 ALGBRC(8) = CONSTS(31)+ ALGBRC(6)*(STATES(5) - CONSTS(32)) ALGBRC(10) = TERNRY(ALGBRC(8).GE.STATES(2), 1.00000, TERNRY(ALGBRC(8).LT.STATES(2), 0.00000, 0.0/0.0) ALGBRC(12) = TERNRY(ALGBRC(8).GE.STATES(2), CONSTS(30)*ALGBRC(10)*ABS(ALGBRC(8) - STATES(2)) ** 0.500000, TERNRY(ALGBRC(8).LT.STATES(2), -1.00000*CONSTS(30)*ALGBRC(10)*ABS(STATES(2) - ALGBRC(8)) ** 0.500000, 0.0/0.0) ALGBRC(13) = VOI - CONSTS(11)*INT(VOI/CONSTS(11)) ALGBRC(15) = TERNRY(ALGBRC(13).GE.0.00000.AND.ALGBRC(13).LE. (CONSTS(16)+CONSTS(17))*CONSTS(11) - CONSTS(11), 1.00000 - cos(( 2.00000*3.14159*((ALGBRC(13) - CONSTS(16)*CONSTS(11))+CONSTS(11)))/( CONSTS(17)*CONSTS(11))), TERNRY(ALGBRC(13).GT. (CONSTS(16)+CONSTS(17))*CONSTS(11) - CONSTS(11).AND.ALGBRC(13).LE. CONSTS(16)*CONSTS(11), 0.00000, TERNRY(ALGBRC(13).GT. CONSTS(16)*CONSTS(11).AND.ALGBRC(13).LE.CONSTS(11), 1.00000 - cos(( 2.00000*3.14159*(ALGBRC(13) - CONSTS(16)*CONSTS(11)))/( CONSTS(17)*CONSTS(11))), 0.0/0.0) ALGBRC(17) = CONSTS(15)+( ALGBRC(15)*(CONSTS(14) - CONSTS(15)))/2.00000 ALGBRC(19) = CONSTS(6)+ ALGBRC(17)*(STATES(4) - CONSTS(7)) ALGBRC(21) = TERNRY(ALGBRC(19).GE.ALGBRC(7), 1.00000, TERNRY(ALGBRC(19).LT.ALGBRC(7), 0.00000, 0.0/0.0) ALGBRC(23) = TERNRY(ALGBRC(19).GE.ALGBRC(7), CONSTS(5)*ALGBRC(21)*ABS(ALGBRC(19) - ALGBRC(7)) ** 0.500000, TERNRY(ALGBRC(19).LT.ALGBRC(7), -1.00000*CONSTS(5)*ALGBRC(21)*ABS(ALGBRC(7) - ALGBRC(19)) ** 0.500000, 0.0/0.0) ALGBRC(14) = VOI - CONSTS(40)*INT(VOI/CONSTS(40)) ALGBRC(16) = TERNRY(ALGBRC(14).GE.0.00000.AND.ALGBRC(14).LE. (CONSTS(45)+CONSTS(46))*CONSTS(40) - CONSTS(40), 1.00000 - cos(( 2.00000*3.14159*((ALGBRC(14) - CONSTS(45)*CONSTS(40))+CONSTS(40)))/( CONSTS(46)*CONSTS(40))), TERNRY(ALGBRC(14).GT. (CONSTS(45)+CONSTS(46))*CONSTS(40) - CONSTS(40).AND.ALGBRC(14).LE. CONSTS(45)*CONSTS(40), 0.00000, TERNRY(ALGBRC(14).GT. CONSTS(45)*CONSTS(40).AND.ALGBRC(14).LE.CONSTS(40), 1.00000 - cos(( 2.00000*3.14159*(ALGBRC(14) - CONSTS(45)*CONSTS(40)))/( CONSTS(46)*CONSTS(40))), 0.0/0.0) ALGBRC(18) = CONSTS(44)+( ALGBRC(16)*(CONSTS(43) - CONSTS(44)))/2.00000 ALGBRC(20) = CONSTS(35)+ ALGBRC(18)*(STATES(6) - CONSTS(36)) ALGBRC(22) = TERNRY(ALGBRC(20).GE.ALGBRC(8), 1.00000, TERNRY(ALGBRC(20).LT.ALGBRC(8), 0.00000, 0.0/0.0) ALGBRC(24) = TERNRY(ALGBRC(20).GE.ALGBRC(8), CONSTS(34)*ALGBRC(22)*ABS(ALGBRC(20) - ALGBRC(8)) ** 0.500000, TERNRY(ALGBRC(20).LT.ALGBRC(8), -1.00000*CONSTS(34)*ALGBRC(22)*ABS(ALGBRC(8) - ALGBRC(20)) ** 0.500000, 0.0/0.0) ALGBRC(31) = (STATES(14) - ALGBRC(19))/CONSTS(86) ALGBRC(32) = (STATES(10) - ALGBRC(20))/CONSTS(71) ALGBRC(26) = STATES(9) ALGBRC(29) = STATES(10)+ CONSTS(70)*ALGBRC(26) ALGBRC(33) = ALGBRC(29)+ CONSTS(69)*STATES(9) ALGBRC(28) = ALGBRC(26) ALGBRC(25) = STATES(13) ALGBRC(30) = STATES(14)+ CONSTS(85)*ALGBRC(25) ALGBRC(34) = ALGBRC(30)+ CONSTS(84)*STATES(13) ALGBRC(27) = ALGBRC(25) RETURN END REAL FUNCTION TERNRY(TEST, VALA, VALB) LOGICAL TEST REAL VALA, VALB IF (TEST) THEN TERNRY = VALA ELSE TERNRY = VALB ENDIF RETURN END