|
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: Energy.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 energy conversions |
|
30 * |
|
31 * @category Zend |
|
32 * @package Zend_Measure |
|
33 * @subpackage Zend_Measure_Energy |
|
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_Energy extends Zend_Measure_Abstract |
|
38 { |
|
39 const STANDARD = 'JOULE'; |
|
40 |
|
41 const ATTOJOULE = 'ATTOJOULE'; |
|
42 const BOARD_OF_TRADE_UNIT = 'BOARD_OF_TRADE_UNIT'; |
|
43 const BTU = 'BTU'; |
|
44 const BTU_THERMOCHEMICAL = 'BTU_TERMOCHEMICAL'; |
|
45 const CALORIE = 'CALORIE'; |
|
46 const CALORIE_15C = 'CALORIE_15C'; |
|
47 const CALORIE_NUTRITIONAL = 'CALORIE_NUTRITIONAL'; |
|
48 const CALORIE_THERMOCHEMICAL = 'CALORIE_THERMOCHEMICAL'; |
|
49 const CELSIUS_HEAT_UNIT = 'CELSIUS_HEAT_UNIT'; |
|
50 const CENTIJOULE = 'CENTIJOULE'; |
|
51 const CHEVAL_VAPEUR_HEURE = 'CHEVAL_VAPEUR_HEURE'; |
|
52 const DECIJOULE = 'DECIJOULE'; |
|
53 const DEKAJOULE = 'DEKAJOULE'; |
|
54 const DEKAWATT_HOUR = 'DEKAWATT_HOUR'; |
|
55 const DEKATHERM = 'DEKATHERM'; |
|
56 const ELECTRONVOLT = 'ELECTRONVOLT'; |
|
57 const ERG = 'ERG'; |
|
58 const EXAJOULE = 'EXAJOULE'; |
|
59 const EXAWATT_HOUR = 'EXAWATT_HOUR'; |
|
60 const FEMTOJOULE = 'FEMTOJOULE'; |
|
61 const FOOT_POUND = 'FOOT_POUND'; |
|
62 const FOOT_POUNDAL = 'FOOT_POUNDAL'; |
|
63 const GALLON_UK_AUTOMOTIVE = 'GALLON_UK_AUTOMOTIVE'; |
|
64 const GALLON_US_AUTOMOTIVE = 'GALLON_US_AUTOMOTIVE'; |
|
65 const GALLON_UK_AVIATION = 'GALLON_UK_AVIATION'; |
|
66 const GALLON_US_AVIATION = 'GALLON_US_AVIATION'; |
|
67 const GALLON_UK_DIESEL = 'GALLON_UK_DIESEL'; |
|
68 const GALLON_US_DIESEL = 'GALLON_US_DIESEL'; |
|
69 const GALLON_UK_DISTILATE = 'GALLON_UK_DISTILATE'; |
|
70 const GALLON_US_DISTILATE = 'GALLON_US_DISTILATE'; |
|
71 const GALLON_UK_KEROSINE_JET = 'GALLON_UK_KEROSINE_JET'; |
|
72 const GALLON_US_KEROSINE_JET = 'GALLON_US_KEROSINE_JET'; |
|
73 const GALLON_UK_LPG = 'GALLON_UK_LPG'; |
|
74 const GALLON_US_LPG = 'GALLON_US_LPG'; |
|
75 const GALLON_UK_NAPHTA = 'GALLON_UK_NAPHTA'; |
|
76 const GALLON_US_NAPHTA = 'GALLON_US_NAPHTA'; |
|
77 const GALLON_UK_KEROSENE = 'GALLON_UK_KEROSINE'; |
|
78 const GALLON_US_KEROSENE = 'GALLON_US_KEROSINE'; |
|
79 const GALLON_UK_RESIDUAL = 'GALLON_UK_RESIDUAL'; |
|
80 const GALLON_US_RESIDUAL = 'GALLON_US_RESIDUAL'; |
|
81 const GIGAELECTRONVOLT = 'GIGAELECTRONVOLT'; |
|
82 const GIGACALORIE = 'GIGACALORIE'; |
|
83 const GIGACALORIE_15C = 'GIGACALORIE_15C'; |
|
84 const GIGAJOULE = 'GIGAJOULE'; |
|
85 const GIGAWATT_HOUR = 'GIGAWATT_HOUR'; |
|
86 const GRAM_CALORIE = 'GRAM_CALORIE'; |
|
87 const HARTREE = 'HARTREE'; |
|
88 const HECTOJOULE = 'HECTOJOULE'; |
|
89 const HECTOWATT_HOUR = 'HECTOWATT_HOUR'; |
|
90 const HORSEPOWER_HOUR = 'HORSEPOWER_HOUR'; |
|
91 const HUNDRED_CUBIC_FOOT_GAS = 'HUNDRED_CUBIC_FOOT_GAS'; |
|
92 const INCH_OUNCE = 'INCH_OUNCE'; |
|
93 const INCH_POUND = 'INCH_POUND'; |
|
94 const JOULE = 'JOULE'; |
|
95 const KILOCALORIE_15C = 'KILOCALORIE_15C'; |
|
96 const KILOCALORIE = 'KILOCALORIE'; |
|
97 const KILOCALORIE_THERMOCHEMICAL = 'KILOCALORIE_THERMOCHEMICAL'; |
|
98 const KILOELECTRONVOLT = 'KILOELECTRONVOLT'; |
|
99 const KILOGRAM_CALORIE = 'KILOGRAM_CALORIE'; |
|
100 const KILOGRAM_FORCE_METER = 'KILOGRAM_FORCE_METER'; |
|
101 const KILOJOULE = 'KILOJOULE'; |
|
102 const KILOPOND_METER = 'KILOPOND_METER'; |
|
103 const KILOTON = 'KILOTON'; |
|
104 const KILOWATT_HOUR = 'KILOWATT_HOUR'; |
|
105 const LITER_ATMOSPHERE = 'LITER_ATMOSPHERE'; |
|
106 const MEGAELECTRONVOLT = 'MEGAELECTRONVOLT'; |
|
107 const MEGACALORIE = 'MEGACALORIE'; |
|
108 const MEGACALORIE_15C = 'MEGACALORIE_15C'; |
|
109 const MEGAJOULE = 'MEGAJOULE'; |
|
110 const MEGALERG = 'MEGALERG'; |
|
111 const MEGATON = 'MEGATON'; |
|
112 const MEGAWATTHOUR = 'MEGAWATTHOUR'; |
|
113 const METER_KILOGRAM_FORCE = 'METER_KILOGRAM_FORCE'; |
|
114 const MICROJOULE = 'MICROJOULE'; |
|
115 const MILLIJOULE = 'MILLIJOULE'; |
|
116 const MYRIAWATT_HOUR = 'MYRIAWATT_HOUR'; |
|
117 const NANOJOULE = 'NANOJOULE'; |
|
118 const NEWTON_METER = 'NEWTON_METER'; |
|
119 const PETAJOULE = 'PETAJOULE'; |
|
120 const PETAWATTHOUR = 'PETAWATTHOUR'; |
|
121 const PFERDESTAERKENSTUNDE = 'PFERDESTAERKENSTUNDE'; |
|
122 const PICOJOULE = 'PICOJOULE'; |
|
123 const Q_UNIT = 'Q_UNIT'; |
|
124 const QUAD = 'QUAD'; |
|
125 const TERAELECTRONVOLT = 'TERAELECTRONVOLT'; |
|
126 const TERAJOULE = 'TERAJOULE'; |
|
127 const TERAWATTHOUR = 'TERAWATTHOUR'; |
|
128 const THERM = 'THERM'; |
|
129 const THERM_US = 'THERM_US'; |
|
130 const THERMIE = 'THERMIE'; |
|
131 const TON = 'TON'; |
|
132 const TONNE_COAL = 'TONNE_COAL'; |
|
133 const TONNE_OIL = 'TONNE_OIL'; |
|
134 const WATTHOUR = 'WATTHOUR'; |
|
135 const WATTSECOND = 'WATTSECOND'; |
|
136 const YOCTOJOULE = 'YOCTOJOULE'; |
|
137 const YOTTAJOULE = 'YOTTAJOULE'; |
|
138 const YOTTAWATTHOUR = 'YOTTAWATTHOUR'; |
|
139 const ZEPTOJOULE = 'ZEPTOJOULE'; |
|
140 const ZETTAJOULE = 'ZETTAJOULE'; |
|
141 const ZETTAWATTHOUR = 'ZETTAWATTHOUR'; |
|
142 |
|
143 /** |
|
144 * Calculations for all energy units |
|
145 * |
|
146 * @var array |
|
147 */ |
|
148 protected $_units = array( |
|
149 'ATTOJOULE' => array('1.0e-18', 'aJ'), |
|
150 'BOARD_OF_TRADE_UNIT' => array('3600000', 'BOTU'), |
|
151 'BTU' => array('1055.0559', 'Btu'), |
|
152 'BTU_TERMOCHEMICAL' => array('1054.3503', 'Btu'), |
|
153 'CALORIE' => array('4.1868', 'cal'), |
|
154 'CALORIE_15C' => array('6.1858', 'cal'), |
|
155 'CALORIE_NUTRITIONAL' => array('4186.8', 'cal'), |
|
156 'CALORIE_THERMOCHEMICAL' => array('4.184', 'cal'), |
|
157 'CELSIUS_HEAT_UNIT' => array('1899.1005', 'Chu'), |
|
158 'CENTIJOULE' => array('0.01', 'cJ'), |
|
159 'CHEVAL_VAPEUR_HEURE' => array('2647795.5', 'cv heure'), |
|
160 'DECIJOULE' => array('0.1', 'dJ'), |
|
161 'DEKAJOULE' => array('10', 'daJ'), |
|
162 'DEKAWATT_HOUR' => array('36000', 'daWh'), |
|
163 'DEKATHERM' => array('1.055057e+9', 'dathm'), |
|
164 'ELECTRONVOLT' => array('1.6021773e-19', 'eV'), |
|
165 'ERG' => array('0.0000001', 'erg'), |
|
166 'EXAJOULE' => array('1.0e+18', 'EJ'), |
|
167 'EXAWATT_HOUR' => array('3.6e+21', 'EWh'), |
|
168 'FEMTOJOULE' => array('1.0e-15', 'fJ'), |
|
169 'FOOT_POUND' => array('1.3558179', 'ft lb'), |
|
170 'FOOT_POUNDAL' => array('0.04214011', 'ft poundal'), |
|
171 'GALLON_UK_AUTOMOTIVE' => array('158237172', 'gal car gasoline'), |
|
172 'GALLON_US_AUTOMOTIVE' => array('131760000', 'gal car gasoline'), |
|
173 'GALLON_UK_AVIATION' => array('158237172', 'gal jet gasoline'), |
|
174 'GALLON_US_AVIATION' => array('131760000', 'gal jet gasoline'), |
|
175 'GALLON_UK_DIESEL' => array('175963194', 'gal diesel'), |
|
176 'GALLON_US_DIESEL' => array('146520000', 'gal diesel'), |
|
177 'GALLON_UK_DISTILATE' => array('175963194', 'gal destilate fuel'), |
|
178 'GALLON_US_DISTILATE' => array('146520000', 'gal destilate fuel'), |
|
179 'GALLON_UK_KEROSINE_JET' => array('170775090', 'gal jet kerosine'), |
|
180 'GALLON_US_KEROSINE_JET' => array('142200000', 'gal jet kerosine'), |
|
181 'GALLON_UK_LPG' => array('121005126.0865275', 'gal lpg'), |
|
182 'GALLON_US_LPG' => array('100757838.45', 'gal lpg'), |
|
183 'GALLON_UK_NAPHTA' => array('160831224', 'gal jet fuel'), |
|
184 'GALLON_US_NAPHTA' => array('133920000', 'gal jet fuel'), |
|
185 'GALLON_UK_KEROSINE' => array('170775090', 'gal kerosine'), |
|
186 'GALLON_US_KEROSINE' => array('142200000', 'gal kerosine'), |
|
187 'GALLON_UK_RESIDUAL' => array('189798138', 'gal residual fuel'), |
|
188 'GALLON_US_RESIDUAL' => array('158040000', 'gal residual fuel'), |
|
189 'GIGAELECTRONVOLT' => array('1.6021773e-10', 'GeV'), |
|
190 'GIGACALORIE' => array('4186800000', 'Gcal'), |
|
191 'GIGACALORIE_15C' => array('4185800000', 'Gcal'), |
|
192 'GIGAJOULE' => array('1.0e+9', 'GJ'), |
|
193 'GIGAWATT_HOUR' => array('3.6e+12', 'GWh'), |
|
194 'GRAM_CALORIE' => array('4.1858', 'g cal'), |
|
195 'HARTREE' => array('4.3597482e-18', 'Eh'), |
|
196 'HECTOJOULE' => array('100', 'hJ'), |
|
197 'HECTOWATT_HOUR' => array('360000', 'hWh'), |
|
198 'HORSEPOWER_HOUR' => array('2684519.5', 'hph'), |
|
199 'HUNDRED_CUBIC_FOOT_GAS' => array('108720000', 'hundred ft� gas'), |
|
200 'INCH_OUNCE' => array('0.0070615518', 'in oc'), |
|
201 'INCH_POUND' => array('0.112984825', 'in lb'), |
|
202 'JOULE' => array('1', 'J'), |
|
203 'KILOCALORIE_15C' => array('4185.8', 'kcal'), |
|
204 'KILOCALORIE' => array('4186','8', 'kcal'), |
|
205 'KILOCALORIE_THERMOCHEMICAL' => array('4184', 'kcal'), |
|
206 'KILOELECTRONVOLT' => array('1.6021773e-16', 'keV'), |
|
207 'KILOGRAM_CALORIE' => array('4185.8', 'kg cal'), |
|
208 'KILOGRAM_FORCE_METER' => array('9.80665', 'kgf m'), |
|
209 'KILOJOULE' => array('1000', 'kJ'), |
|
210 'KILOPOND_METER' => array('9.80665', 'kp m'), |
|
211 'KILOTON' => array('4.184e+12', 'kt'), |
|
212 'KILOWATT_HOUR' => array('3600000', 'kWh'), |
|
213 'LITER_ATMOSPHERE' => array('101.325', 'l atm'), |
|
214 'MEGAELECTRONVOLT' => array('1.6021773e-13', 'MeV'), |
|
215 'MEGACALORIE' => array('4186800', 'Mcal'), |
|
216 'MEGACALORIE_15C' => array('4185800', 'Mcal'), |
|
217 'MEGAJOULE' => array('1000000', 'MJ'), |
|
218 'MEGALERG' => array('0.1', 'megalerg'), |
|
219 'MEGATON' => array('4.184e+15', 'Mt'), |
|
220 'MEGAWATTHOUR' => array('3.6e+9', 'MWh'), |
|
221 'METER_KILOGRAM_FORCE' => array('9.80665', 'm kgf'), |
|
222 'MICROJOULE' => array('0.000001', '�J'), |
|
223 'MILLIJOULE' => array('0.001', 'mJ'), |
|
224 'MYRIAWATT_HOUR' => array('3.6e+7', 'myWh'), |
|
225 'NANOJOULE' => array('1.0e-9', 'nJ'), |
|
226 'NEWTON_METER' => array('1', 'Nm'), |
|
227 'PETAJOULE' => array('1.0e+15', 'PJ'), |
|
228 'PETAWATTHOUR' => array('3.6e+18', 'PWh'), |
|
229 'PFERDESTAERKENSTUNDE' => array('2647795.5', 'ps h'), |
|
230 'PICOJOULE' => array('1.0e-12', 'pJ'), |
|
231 'Q_UNIT' => array('1.0550559e+21', 'Q unit'), |
|
232 'QUAD' => array('1.0550559e+18', 'quad'), |
|
233 'TERAELECTRONVOLT' => array('1.6021773e-7', 'TeV'), |
|
234 'TERAJOULE' => array('1.0e+12', 'TJ'), |
|
235 'TERAWATTHOUR' => array('3.6e+15', 'TWh'), |
|
236 'THERM' => array('1.0550559e+8', 'thm'), |
|
237 'THERM_US' => array('1.054804e+8', 'thm'), |
|
238 'THERMIE' => array('4185800', 'th'), |
|
239 'TON' => array('4.184e+9', 'T explosive'), |
|
240 'TONNE_COAL' => array('2.93076e+10', 'T coal'), |
|
241 'TONNE_OIL' => array('4.1868e+10', 'T oil'), |
|
242 'WATTHOUR' => array('3600', 'Wh'), |
|
243 'WATTSECOND' => array('1', 'Ws'), |
|
244 'YOCTOJOULE' => array('1.0e-24', 'yJ'), |
|
245 'YOTTAJOULE' => array('1.0e+24', 'YJ'), |
|
246 'YOTTAWATTHOUR' => array('3.6e+27', 'YWh'), |
|
247 'ZEPTOJOULE' => array('1.0e-21', 'zJ'), |
|
248 'ZETTAJOULE' => array('1.0e+21', 'ZJ'), |
|
249 'ZETTAWATTHOUR' => array('3.6e+24', 'ZWh'), |
|
250 'STANDARD' => 'JOULE' |
|
251 ); |
|
252 } |