Power.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. <?php
  2. /**
  3. * Zend Framework
  4. *
  5. * LICENSE
  6. *
  7. * This source file is subject to the new BSD license that is bundled
  8. * with this package in the file LICENSE.txt.
  9. * It is also available through the world-wide-web at this URL:
  10. * http://framework.zend.com/license/new-bsd
  11. * If you did not receive a copy of the license and are unable to
  12. * obtain it through the world-wide-web, please send an email
  13. * to license@zend.com so we can send you a copy immediately.
  14. *
  15. * @category Zend
  16. * @package Zend_Measure
  17. * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
  18. * @license http://framework.zend.com/license/new-bsd New BSD License
  19. * @version $Id$
  20. */
  21. /**
  22. * Implement needed classes
  23. */
  24. #require_once 'Zend/Measure/Abstract.php';
  25. #require_once 'Zend/Locale.php';
  26. /**
  27. * Class for handling power conversions
  28. *
  29. * @category Zend
  30. * @package Zend_Measure
  31. * @subpackage Zend_Measure_Power
  32. * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
  33. * @license http://framework.zend.com/license/new-bsd New BSD License
  34. */
  35. class Zend_Measure_Power extends Zend_Measure_Abstract
  36. {
  37. const STANDARD = 'WATT';
  38. const ATTOWATT = 'ATTOWATT';
  39. const BTU_PER_HOUR = 'BTU_PER_HOUR';
  40. const BTU_PER_MINUTE = 'BTU_PER_MINUTE';
  41. const BTU_PER_SECOND = 'BTU_PER_SECOND';
  42. const CALORIE_PER_HOUR = 'CALORIE_PER_HOUR';
  43. const CALORIE_PER_MINUTE = 'CALORIE_PER_MINUTE';
  44. const CALORIE_PER_SECOND = 'CALORIE_PER_SECOND';
  45. const CENTIWATT = 'CENTIWATT';
  46. const CHEVAL_VAPEUR = 'CHEVAL_VAPEUR';
  47. const CLUSEC = 'CLUSEC';
  48. const DECIWATT = 'DECIWATT';
  49. const DEKAWATT = 'DEKAWATT';
  50. const DYNE_CENTIMETER_PER_HOUR = 'DYNE_CENTIMETER_PER_HOUR';
  51. const DYNE_CENTIMETER_PER_MINUTE = 'DYNE_CENTIMETER_PER_MINUTE';
  52. const DYNE_CENTIMETER_PER_SECOND = 'DYNE_CENTIMETER_PER_SECOND';
  53. const ERG_PER_HOUR = 'ERG_PER_HOUR';
  54. const ERG_PER_MINUTE = 'ERG_PER_MINUTE';
  55. const ERG_PER_SECOND = 'ERG_PER_SECOND';
  56. const EXAWATT = 'EXAWATT';
  57. const FEMTOWATT = 'FEMTOWATT';
  58. const FOOT_POUND_FORCE_PER_HOUR = 'FOOT_POUND_FORCE_PER_HOUR';
  59. const FOOT_POUND_FORCE_PER_MINUTE = 'FOOT_POUND_FORCE_PER_MINUTE';
  60. const FOOT_POUND_FORCE_PER_SECOND = 'FOOT_POUND_FORCE_PER_SECOND';
  61. const FOOT_POUNDAL_PER_HOUR = 'FOOT_POUNDAL_PER_HOUR';
  62. const FOOT_POUNDAL_PER_MINUTE = 'FOOT_POUNDAL_PER_MINUTE';
  63. const FOOT_POUNDAL_PER_SECOND = 'FOOT_POUNDAL_PER_SECOND';
  64. const GIGAWATT = 'GIGAWATT';
  65. const GRAM_FORCE_CENTIMETER_PER_HOUR = 'GRAM_FORCE_CENTIMETER_PER_HOUR';
  66. const GRAM_FORCE_CENTIMETER_PER_MINUTE = 'GRAM_FORCE_CENTIMETER_PER_MINUTE';
  67. const GRAM_FORCE_CENTIMETER_PER_SECOND = 'GRAM_FORCE_CENTIMETER_PER_SECOND';
  68. const HECTOWATT = 'HECTOWATT';
  69. const HORSEPOWER_INTERNATIONAL = 'HORSEPOWER_INTERNATIONAL';
  70. const HORSEPOWER_ELECTRIC = 'HORSEPOWER_ELECTRIC';
  71. const HORSEPOWER = 'HORSEPOWER';
  72. const HORSEPOWER_WATER = 'HORSEPOWER_WATER';
  73. const INCH_OUNCE_FORCE_REVOLUTION_PER_MINUTE = 'INCH_OUNCH_FORCE_REVOLUTION_PER_MINUTE';
  74. const JOULE_PER_HOUR = 'JOULE_PER_HOUR';
  75. const JOULE_PER_MINUTE = 'JOULE_PER_MINUTE';
  76. const JOULE_PER_SECOND = 'JOULE_PER_SECOND';
  77. const KILOCALORIE_PER_HOUR = 'KILOCALORIE_PER_HOUR';
  78. const KILOCALORIE_PER_MINUTE = 'KILOCALORIE_PER_MINUTE';
  79. const KILOCALORIE_PER_SECOND = 'KILOCALORIE_PER_SECOND';
  80. const KILOGRAM_FORCE_METER_PER_HOUR = 'KILOGRAM_FORCE_METER_PER_HOUR';
  81. const KILOGRAM_FORCE_METER_PER_MINUTE = 'KILOGRAM_FORCE_METER_PER_MINUTE';
  82. const KILOGRAM_FORCE_METER_PER_SECOND = 'KILOGRAM_FORCE_METER_PER_SECOND';
  83. const KILOPOND_METER_PER_HOUR = 'KILOPOND_METER_PER_HOUR';
  84. const KILOPOND_METER_PER_MINUTE = 'KILOPOND_METER_PER_MINUTE';
  85. const KILOPOND_METER_PER_SECOND = 'KILOPOND_METER_PER_SECOND';
  86. const KILOWATT = 'KILOWATT';
  87. const MEGAWATT = 'MEGAWATT';
  88. const MICROWATT = 'MICROWATT';
  89. const MILLION_BTU_PER_HOUR = 'MILLION_BTU_PER_HOUR';
  90. const MILLIWATT = 'MILLIWATT';
  91. const NANOWATT = 'NANOWATT';
  92. const NEWTON_METER_PER_HOUR = 'NEWTON_METER_PER_HOUR';
  93. const NEWTON_METER_PER_MINUTE = 'NEWTON_METER_PER_MINUTE';
  94. const NEWTON_METER_PER_SECOND = 'NEWTON_METER_PER_SECOND';
  95. const PETAWATT = 'PETAWATT';
  96. const PFERDESTAERKE = 'PFERDESTAERKE';
  97. const PICOWATT = 'PICOWATT';
  98. const PONCELET = 'PONCELET';
  99. const POUND_SQUARE_FOOR_PER_CUBIC_SECOND = 'POUND_SQUARE_FOOT_PER_CUBIC_SECOND';
  100. const TERAWATT = 'TERAWATT';
  101. const TON_OF_REFRIGERATION = 'TON_OF_REFRIGERATION';
  102. const WATT = 'WATT';
  103. const YOCTOWATT = 'YOCTOWATT';
  104. const YOTTAWATT = 'YOTTAWATT';
  105. const ZEPTOWATT = 'ZEPTOWATT';
  106. const ZETTAWATT = 'ZETTAWATT';
  107. /**
  108. * Calculations for all power units
  109. *
  110. * @var array
  111. */
  112. protected $_units = array(
  113. 'ATTOWATT' => array('1.0e-18', 'aW'),
  114. 'BTU_PER_HOUR' => array('0.29307197', 'BTU/h'),
  115. 'BTU_PER_MINUTE' => array('17.5843182', 'BTU/m'),
  116. 'BTU_PER_SECOND' => array('1055.059092', 'BTU/s'),
  117. 'CALORIE_PER_HOUR' => array(array('' => '11630', '*' => '1.0e-7'), 'cal/h'),
  118. 'CALORIE_PER_MINUTE' => array(array('' => '697800', '*' => '1.0e-7'), 'cal/m'),
  119. 'CALORIE_PER_SECOND' => array(array('' => '41868000', '*' => '1.0e-7'), 'cal/s'),
  120. 'CENTIWATT' => array('0.01', 'cW'),
  121. 'CHEVAL_VAPEUR' => array('735.49875', 'cv'),
  122. 'CLUSEC' => array('0.0000013332237', 'clusec'),
  123. 'DECIWATT' => array('0.1', 'dW'),
  124. 'DEKAWATT' => array('10', 'daW'),
  125. 'DYNE_CENTIMETER_PER_HOUR' => array(array('' => '1.0e-7','/' => '3600'), 'dyn cm/h'),
  126. 'DYNE_CENTIMETER_PER_MINUTE' => array(array('' => '1.0e-7','/' => '60'), 'dyn cm/m'),
  127. 'DYNE_CENTIMETER_PER_SECOND' => array('1.0e-7', 'dyn cm/s'),
  128. 'ERG_PER_HOUR' => array(array('' => '1.0e-7','/' => '3600'), 'erg/h'),
  129. 'ERG_PER_MINUTE' => array(array('' => '1.0e-7','/' => '60'), 'erg/m'),
  130. 'ERG_PER_SECOND' => array('1.0e-7', 'erg/s'),
  131. 'EXAWATT' => array('1.0e+18', 'EW'),
  132. 'FEMTOWATT' => array('1.0e-15', 'fW'),
  133. 'FOOT_POUND_FORCE_PER_HOUR' => array(array('' => '1.3558179', '/' => '3600'), 'ft lb/h'),
  134. 'FOOT_POUND_FORCE_PER_MINUTE' => array(array('' => '1.3558179', '/' => '60'), 'ft lb/m'),
  135. 'FOOT_POUND_FORCE_PER_SECOND' => array('1.3558179', 'ft lb/s'),
  136. 'FOOT_POUNDAL_PER_HOUR' => array(array('' => '0.04214011','/' => '3600'), 'ft pdl/h'),
  137. 'FOOT_POUNDAL_PER_MINUTE' => array(array('' => '0.04214011', '/' => '60'), 'ft pdl/m'),
  138. 'FOOT_POUNDAL_PER_SECOND' => array('0.04214011', 'ft pdl/s'),
  139. 'GIGAWATT' => array('1.0e+9', 'GW'),
  140. 'GRAM_FORCE_CENTIMETER_PER_HOUR' => array(array('' => '0.0000980665','/' => '3600'), 'gf cm/h'),
  141. 'GRAM_FORCE_CENTIMETER_PER_MINUTE' => array(array('' => '0.0000980665','/' => '60'), 'gf cm/m'),
  142. 'GRAM_FORCE_CENTIMETER_PER_SECOND' => array('0.0000980665', 'gf cm/s'),
  143. 'HECTOWATT' => array('100', 'hW'),
  144. 'HORSEPOWER_INTERNATIONAL' => array('745.69987', 'hp'),
  145. 'HORSEPOWER_ELECTRIC' => array('746', 'hp'),
  146. 'HORSEPOWER' => array('735.49875', 'hp'),
  147. 'HORSEPOWER_WATER' => array('746.043', 'hp'),
  148. 'INCH_OUNCH_FORCE_REVOLUTION_PER_MINUTE' => array('0.00073948398', 'in ocf/m'),
  149. 'JOULE_PER_HOUR' => array(array('' => '1', '/' => '3600'), 'J/h'),
  150. 'JOULE_PER_MINUTE' => array(array('' => '1', '/' => '60'), 'J/m'),
  151. 'JOULE_PER_SECOND' => array('1', 'J/s'),
  152. 'KILOCALORIE_PER_HOUR' => array('1.163', 'kcal/h'),
  153. 'KILOCALORIE_PER_MINUTE' => array('69.78', 'kcal/m'),
  154. 'KILOCALORIE_PER_SECOND' => array('4186.8', 'kcal/s'),
  155. 'KILOGRAM_FORCE_METER_PER_HOUR' => array(array('' => '9.80665', '/' => '3600'), 'kgf m/h'),
  156. 'KILOGRAM_FORCE_METER_PER_MINUTE' => array(array('' => '9.80665', '/' => '60'), 'kfg m/m'),
  157. 'KILOGRAM_FORCE_METER_PER_SECOND' => array('9.80665', 'kfg m/s'),
  158. 'KILOPOND_METER_PER_HOUR' => array(array('' => '9.80665', '/' => '3600'), 'kp/h'),
  159. 'KILOPOND_METER_PER_MINUTE' => array(array('' => '9.80665', '/' => '60'), 'kp/m'),
  160. 'KILOPOND_METER_PER_SECOND' => array('9.80665', 'kp/s'),
  161. 'KILOWATT' => array('1000', 'kW'),
  162. 'MEGAWATT' => array('1000000', 'MW'),
  163. 'MICROWATT' => array('0.000001', 'µW'),
  164. 'MILLION_BTU_PER_HOUR' => array('293071.07', 'mio BTU/h'),
  165. 'MILLIWATT' => array('0.001', 'mM'),
  166. 'NANOWATT' => array('1.0e-9', 'nN'),
  167. 'NEWTON_METER_PER_HOUR' => array(array('' => '1', '/' => '3600'), 'Nm/h'),
  168. 'NEWTON_METER_PER_MINUTE' => array(array('' => '1', '/' => '60'), 'Nm/m'),
  169. 'NEWTON_METER_PER_SECOND' => array('1', 'Nm/s'),
  170. 'PETAWATT' => array('1.0e+15', 'PW'),
  171. 'PFERDESTAERKE' => array('735.49875', 'PS'),
  172. 'PICOWATT' => array('1.0e-12', 'pW'),
  173. 'PONCELET' => array('980.665', 'p'),
  174. 'POUND_SQUARE_FOOT_PER_CUBIC_SECOND' => array('0.04214011', 'lb ft²/s³'),
  175. 'TERAWATT' => array('1.0e+12', 'TW'),
  176. 'TON_OF_REFRIGERATION' => array('3516.85284', 'RT'),
  177. 'WATT' => array('1', 'W'),
  178. 'YOCTOWATT' => array('1.0e-24', 'yW'),
  179. 'YOTTAWATT' => array('1.0e+24', 'YW'),
  180. 'ZEPTOWATT' => array('1.0e-21', 'zW'),
  181. 'ZETTAWATT' => array('1.0e+21', 'ZW'),
  182. 'STANDARD' => 'WATT'
  183. );
  184. }