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