253 lines
14 KiB
PHP
253 lines
14 KiB
PHP
|
<?php
|
|||
|
/**
|
|||
|
* Zend Framework
|
|||
|
*
|
|||
|
* LICENSE
|
|||
|
*
|
|||
|
* This source file is subject to the new BSD license that is bundled
|
|||
|
* with this package in the file LICENSE.txt.
|
|||
|
* It is also available through the world-wide-web at this URL:
|
|||
|
* http://framework.zend.com/license/new-bsd
|
|||
|
* If you did not receive a copy of the license and are unable to
|
|||
|
* obtain it through the world-wide-web, please send an email
|
|||
|
* to license@zend.com so we can send you a copy immediately.
|
|||
|
*
|
|||
|
* @category Zend
|
|||
|
* @package Zend_Measure
|
|||
|
* @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
|
|||
|
* @license http://framework.zend.com/license/new-bsd New BSD License
|
|||
|
* @version $Id: Energy.php 16220 2009-06-21 19:49:21Z thomas $
|
|||
|
*/
|
|||
|
|
|||
|
/**
|
|||
|
* Implement needed classes
|
|||
|
*/
|
|||
|
require_once 'Zend/Measure/Abstract.php';
|
|||
|
require_once 'Zend/Locale.php';
|
|||
|
|
|||
|
/**
|
|||
|
* Class for handling energy conversions
|
|||
|
*
|
|||
|
* @category Zend
|
|||
|
* @package Zend_Measure
|
|||
|
* @subpackage Zend_Measure_Energy
|
|||
|
* @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
|
|||
|
* @license http://framework.zend.com/license/new-bsd New BSD License
|
|||
|
*/
|
|||
|
class Zend_Measure_Energy extends Zend_Measure_Abstract
|
|||
|
{
|
|||
|
const STANDARD = 'JOULE';
|
|||
|
|
|||
|
const ATTOJOULE = 'ATTOJOULE';
|
|||
|
const BOARD_OF_TRADE_UNIT = 'BOARD_OF_TRADE_UNIT';
|
|||
|
const BTU = 'BTU';
|
|||
|
const BTU_THERMOCHEMICAL = 'BTU_TERMOCHEMICAL';
|
|||
|
const CALORIE = 'CALORIE';
|
|||
|
const CALORIE_15C = 'CALORIE_15C';
|
|||
|
const CALORIE_NUTRITIONAL = 'CALORIE_NUTRITIONAL';
|
|||
|
const CALORIE_THERMOCHEMICAL = 'CALORIE_THERMOCHEMICAL';
|
|||
|
const CELSIUS_HEAT_UNIT = 'CELSIUS_HEAT_UNIT';
|
|||
|
const CENTIJOULE = 'CENTIJOULE';
|
|||
|
const CHEVAL_VAPEUR_HEURE = 'CHEVAL_VAPEUR_HEURE';
|
|||
|
const DECIJOULE = 'DECIJOULE';
|
|||
|
const DEKAJOULE = 'DEKAJOULE';
|
|||
|
const DEKAWATT_HOUR = 'DEKAWATT_HOUR';
|
|||
|
const DEKATHERM = 'DEKATHERM';
|
|||
|
const ELECTRONVOLT = 'ELECTRONVOLT';
|
|||
|
const ERG = 'ERG';
|
|||
|
const EXAJOULE = 'EXAJOULE';
|
|||
|
const EXAWATT_HOUR = 'EXAWATT_HOUR';
|
|||
|
const FEMTOJOULE = 'FEMTOJOULE';
|
|||
|
const FOOT_POUND = 'FOOT_POUND';
|
|||
|
const FOOT_POUNDAL = 'FOOT_POUNDAL';
|
|||
|
const GALLON_UK_AUTOMOTIVE = 'GALLON_UK_AUTOMOTIVE';
|
|||
|
const GALLON_US_AUTOMOTIVE = 'GALLON_US_AUTOMOTIVE';
|
|||
|
const GALLON_UK_AVIATION = 'GALLON_UK_AVIATION';
|
|||
|
const GALLON_US_AVIATION = 'GALLON_US_AVIATION';
|
|||
|
const GALLON_UK_DIESEL = 'GALLON_UK_DIESEL';
|
|||
|
const GALLON_US_DIESEL = 'GALLON_US_DIESEL';
|
|||
|
const GALLON_UK_DISTILATE = 'GALLON_UK_DISTILATE';
|
|||
|
const GALLON_US_DISTILATE = 'GALLON_US_DISTILATE';
|
|||
|
const GALLON_UK_KEROSINE_JET = 'GALLON_UK_KEROSINE_JET';
|
|||
|
const GALLON_US_KEROSINE_JET = 'GALLON_US_KEROSINE_JET';
|
|||
|
const GALLON_UK_LPG = 'GALLON_UK_LPG';
|
|||
|
const GALLON_US_LPG = 'GALLON_US_LPG';
|
|||
|
const GALLON_UK_NAPHTA = 'GALLON_UK_NAPHTA';
|
|||
|
const GALLON_US_NAPHTA = 'GALLON_US_NAPHTA';
|
|||
|
const GALLON_UK_KEROSENE = 'GALLON_UK_KEROSINE';
|
|||
|
const GALLON_US_KEROSENE = 'GALLON_US_KEROSINE';
|
|||
|
const GALLON_UK_RESIDUAL = 'GALLON_UK_RESIDUAL';
|
|||
|
const GALLON_US_RESIDUAL = 'GALLON_US_RESIDUAL';
|
|||
|
const GIGAELECTRONVOLT = 'GIGAELECTRONVOLT';
|
|||
|
const GIGACALORIE = 'GIGACALORIE';
|
|||
|
const GIGACALORIE_15C = 'GIGACALORIE_15C';
|
|||
|
const GIGAJOULE = 'GIGAJOULE';
|
|||
|
const GIGAWATT_HOUR = 'GIGAWATT_HOUR';
|
|||
|
const GRAM_CALORIE = 'GRAM_CALORIE';
|
|||
|
const HARTREE = 'HARTREE';
|
|||
|
const HECTOJOULE = 'HECTOJOULE';
|
|||
|
const HECTOWATT_HOUR = 'HECTOWATT_HOUR';
|
|||
|
const HORSEPOWER_HOUR = 'HORSEPOWER_HOUR';
|
|||
|
const HUNDRED_CUBIC_FOOT_GAS = 'HUNDRED_CUBIC_FOOT_GAS';
|
|||
|
const INCH_OUNCE = 'INCH_OUNCE';
|
|||
|
const INCH_POUND = 'INCH_POUND';
|
|||
|
const JOULE = 'JOULE';
|
|||
|
const KILOCALORIE_15C = 'KILOCALORIE_15C';
|
|||
|
const KILOCALORIE = 'KILOCALORIE';
|
|||
|
const KILOCALORIE_THERMOCHEMICAL = 'KILOCALORIE_THERMOCHEMICAL';
|
|||
|
const KILOELECTRONVOLT = 'KILOELECTRONVOLT';
|
|||
|
const KILOGRAM_CALORIE = 'KILOGRAM_CALORIE';
|
|||
|
const KILOGRAM_FORCE_METER = 'KILOGRAM_FORCE_METER';
|
|||
|
const KILOJOULE = 'KILOJOULE';
|
|||
|
const KILOPOND_METER = 'KILOPOND_METER';
|
|||
|
const KILOTON = 'KILOTON';
|
|||
|
const KILOWATT_HOUR = 'KILOWATT_HOUR';
|
|||
|
const LITER_ATMOSPHERE = 'LITER_ATMOSPHERE';
|
|||
|
const MEGAELECTRONVOLT = 'MEGAELECTRONVOLT';
|
|||
|
const MEGACALORIE = 'MEGACALORIE';
|
|||
|
const MEGACALORIE_15C = 'MEGACALORIE_15C';
|
|||
|
const MEGAJOULE = 'MEGAJOULE';
|
|||
|
const MEGALERG = 'MEGALERG';
|
|||
|
const MEGATON = 'MEGATON';
|
|||
|
const MEGAWATTHOUR = 'MEGAWATTHOUR';
|
|||
|
const METER_KILOGRAM_FORCE = 'METER_KILOGRAM_FORCE';
|
|||
|
const MICROJOULE = 'MICROJOULE';
|
|||
|
const MILLIJOULE = 'MILLIJOULE';
|
|||
|
const MYRIAWATT_HOUR = 'MYRIAWATT_HOUR';
|
|||
|
const NANOJOULE = 'NANOJOULE';
|
|||
|
const NEWTON_METER = 'NEWTON_METER';
|
|||
|
const PETAJOULE = 'PETAJOULE';
|
|||
|
const PETAWATTHOUR = 'PETAWATTHOUR';
|
|||
|
const PFERDESTAERKENSTUNDE = 'PFERDESTAERKENSTUNDE';
|
|||
|
const PICOJOULE = 'PICOJOULE';
|
|||
|
const Q_UNIT = 'Q_UNIT';
|
|||
|
const QUAD = 'QUAD';
|
|||
|
const TERAELECTRONVOLT = 'TERAELECTRONVOLT';
|
|||
|
const TERAJOULE = 'TERAJOULE';
|
|||
|
const TERAWATTHOUR = 'TERAWATTHOUR';
|
|||
|
const THERM = 'THERM';
|
|||
|
const THERM_US = 'THERM_US';
|
|||
|
const THERMIE = 'THERMIE';
|
|||
|
const TON = 'TON';
|
|||
|
const TONNE_COAL = 'TONNE_COAL';
|
|||
|
const TONNE_OIL = 'TONNE_OIL';
|
|||
|
const WATTHOUR = 'WATTHOUR';
|
|||
|
const WATTSECOND = 'WATTSECOND';
|
|||
|
const YOCTOJOULE = 'YOCTOJOULE';
|
|||
|
const YOTTAJOULE = 'YOTTAJOULE';
|
|||
|
const YOTTAWATTHOUR = 'YOTTAWATTHOUR';
|
|||
|
const ZEPTOJOULE = 'ZEPTOJOULE';
|
|||
|
const ZETTAJOULE = 'ZETTAJOULE';
|
|||
|
const ZETTAWATTHOUR = 'ZETTAWATTHOUR';
|
|||
|
|
|||
|
/**
|
|||
|
* Calculations for all energy units
|
|||
|
*
|
|||
|
* @var array
|
|||
|
*/
|
|||
|
protected $_units = array(
|
|||
|
'ATTOJOULE' => array('1.0e-18', 'aJ'),
|
|||
|
'BOARD_OF_TRADE_UNIT' => array('3600000', 'BOTU'),
|
|||
|
'BTU' => array('1055.0559', 'Btu'),
|
|||
|
'BTU_TERMOCHEMICAL' => array('1054.3503', 'Btu'),
|
|||
|
'CALORIE' => array('4.1868', 'cal'),
|
|||
|
'CALORIE_15C' => array('6.1858', 'cal'),
|
|||
|
'CALORIE_NUTRITIONAL' => array('4186.8', 'cal'),
|
|||
|
'CALORIE_THERMOCHEMICAL' => array('4.184', 'cal'),
|
|||
|
'CELSIUS_HEAT_UNIT' => array('1899.1005', 'Chu'),
|
|||
|
'CENTIJOULE' => array('0.01', 'cJ'),
|
|||
|
'CHEVAL_VAPEUR_HEURE' => array('2647795.5', 'cv heure'),
|
|||
|
'DECIJOULE' => array('0.1', 'dJ'),
|
|||
|
'DEKAJOULE' => array('10', 'daJ'),
|
|||
|
'DEKAWATT_HOUR' => array('36000', 'daWh'),
|
|||
|
'DEKATHERM' => array('1.055057e+9', 'dathm'),
|
|||
|
'ELECTRONVOLT' => array('1.6021773e-19', 'eV'),
|
|||
|
'ERG' => array('0.0000001', 'erg'),
|
|||
|
'EXAJOULE' => array('1.0e+18', 'EJ'),
|
|||
|
'EXAWATT_HOUR' => array('3.6e+21', 'EWh'),
|
|||
|
'FEMTOJOULE' => array('1.0e-15', 'fJ'),
|
|||
|
'FOOT_POUND' => array('1.3558179', 'ft lb'),
|
|||
|
'FOOT_POUNDAL' => array('0.04214011', 'ft poundal'),
|
|||
|
'GALLON_UK_AUTOMOTIVE' => array('158237172', 'gal car gasoline'),
|
|||
|
'GALLON_US_AUTOMOTIVE' => array('131760000', 'gal car gasoline'),
|
|||
|
'GALLON_UK_AVIATION' => array('158237172', 'gal jet gasoline'),
|
|||
|
'GALLON_US_AVIATION' => array('131760000', 'gal jet gasoline'),
|
|||
|
'GALLON_UK_DIESEL' => array('175963194', 'gal diesel'),
|
|||
|
'GALLON_US_DIESEL' => array('146520000', 'gal diesel'),
|
|||
|
'GALLON_UK_DISTILATE' => array('175963194', 'gal destilate fuel'),
|
|||
|
'GALLON_US_DISTILATE' => array('146520000', 'gal destilate fuel'),
|
|||
|
'GALLON_UK_KEROSINE_JET' => array('170775090', 'gal jet kerosine'),
|
|||
|
'GALLON_US_KEROSINE_JET' => array('142200000', 'gal jet kerosine'),
|
|||
|
'GALLON_UK_LPG' => array('121005126.0865275', 'gal lpg'),
|
|||
|
'GALLON_US_LPG' => array('100757838.45', 'gal lpg'),
|
|||
|
'GALLON_UK_NAPHTA' => array('160831224', 'gal jet fuel'),
|
|||
|
'GALLON_US_NAPHTA' => array('133920000', 'gal jet fuel'),
|
|||
|
'GALLON_UK_KEROSINE' => array('170775090', 'gal kerosine'),
|
|||
|
'GALLON_US_KEROSINE' => array('142200000', 'gal kerosine'),
|
|||
|
'GALLON_UK_RESIDUAL' => array('189798138', 'gal residual fuel'),
|
|||
|
'GALLON_US_RESIDUAL' => array('158040000', 'gal residual fuel'),
|
|||
|
'GIGAELECTRONVOLT' => array('1.6021773e-10', 'GeV'),
|
|||
|
'GIGACALORIE' => array('4186800000', 'Gcal'),
|
|||
|
'GIGACALORIE_15C' => array('4185800000', 'Gcal'),
|
|||
|
'GIGAJOULE' => array('1.0e+9', 'GJ'),
|
|||
|
'GIGAWATT_HOUR' => array('3.6e+12', 'GWh'),
|
|||
|
'GRAM_CALORIE' => array('4.1858', 'g cal'),
|
|||
|
'HARTREE' => array('4.3597482e-18', 'Eh'),
|
|||
|
'HECTOJOULE' => array('100', 'hJ'),
|
|||
|
'HECTOWATT_HOUR' => array('360000', 'hWh'),
|
|||
|
'HORSEPOWER_HOUR' => array('2684519.5', 'hph'),
|
|||
|
'HUNDRED_CUBIC_FOOT_GAS' => array('108720000', 'hundred ft<66> gas'),
|
|||
|
'INCH_OUNCE' => array('0.0070615518', 'in oc'),
|
|||
|
'INCH_POUND' => array('0.112984825', 'in lb'),
|
|||
|
'JOULE' => array('1', 'J'),
|
|||
|
'KILOCALORIE_15C' => array('4185.8', 'kcal'),
|
|||
|
'KILOCALORIE' => array('4186','8', 'kcal'),
|
|||
|
'KILOCALORIE_THERMOCHEMICAL' => array('4184', 'kcal'),
|
|||
|
'KILOELECTRONVOLT' => array('1.6021773e-16', 'keV'),
|
|||
|
'KILOGRAM_CALORIE' => array('4185.8', 'kg cal'),
|
|||
|
'KILOGRAM_FORCE_METER' => array('9.80665', 'kgf m'),
|
|||
|
'KILOJOULE' => array('1000', 'kJ'),
|
|||
|
'KILOPOND_METER' => array('9.80665', 'kp m'),
|
|||
|
'KILOTON' => array('4.184e+12', 'kt'),
|
|||
|
'KILOWATT_HOUR' => array('3600000', 'kWh'),
|
|||
|
'LITER_ATMOSPHERE' => array('101.325', 'l atm'),
|
|||
|
'MEGAELECTRONVOLT' => array('1.6021773e-13', 'MeV'),
|
|||
|
'MEGACALORIE' => array('4186800', 'Mcal'),
|
|||
|
'MEGACALORIE_15C' => array('4185800', 'Mcal'),
|
|||
|
'MEGAJOULE' => array('1000000', 'MJ'),
|
|||
|
'MEGALERG' => array('0.1', 'megalerg'),
|
|||
|
'MEGATON' => array('4.184e+15', 'Mt'),
|
|||
|
'MEGAWATTHOUR' => array('3.6e+9', 'MWh'),
|
|||
|
'METER_KILOGRAM_FORCE' => array('9.80665', 'm kgf'),
|
|||
|
'MICROJOULE' => array('0.000001', '<27>J'),
|
|||
|
'MILLIJOULE' => array('0.001', 'mJ'),
|
|||
|
'MYRIAWATT_HOUR' => array('3.6e+7', 'myWh'),
|
|||
|
'NANOJOULE' => array('1.0e-9', 'nJ'),
|
|||
|
'NEWTON_METER' => array('1', 'Nm'),
|
|||
|
'PETAJOULE' => array('1.0e+15', 'PJ'),
|
|||
|
'PETAWATTHOUR' => array('3.6e+18', 'PWh'),
|
|||
|
'PFERDESTAERKENSTUNDE' => array('2647795.5', 'ps h'),
|
|||
|
'PICOJOULE' => array('1.0e-12', 'pJ'),
|
|||
|
'Q_UNIT' => array('1.0550559e+21', 'Q unit'),
|
|||
|
'QUAD' => array('1.0550559e+18', 'quad'),
|
|||
|
'TERAELECTRONVOLT' => array('1.6021773e-7', 'TeV'),
|
|||
|
'TERAJOULE' => array('1.0e+12', 'TJ'),
|
|||
|
'TERAWATTHOUR' => array('3.6e+15', 'TWh'),
|
|||
|
'THERM' => array('1.0550559e+8', 'thm'),
|
|||
|
'THERM_US' => array('1.054804e+8', 'thm'),
|
|||
|
'THERMIE' => array('4185800', 'th'),
|
|||
|
'TON' => array('4.184e+9', 'T explosive'),
|
|||
|
'TONNE_COAL' => array('2.93076e+10', 'T coal'),
|
|||
|
'TONNE_OIL' => array('4.1868e+10', 'T oil'),
|
|||
|
'WATTHOUR' => array('3600', 'Wh'),
|
|||
|
'WATTSECOND' => array('1', 'Ws'),
|
|||
|
'YOCTOJOULE' => array('1.0e-24', 'yJ'),
|
|||
|
'YOTTAJOULE' => array('1.0e+24', 'YJ'),
|
|||
|
'YOTTAWATTHOUR' => array('3.6e+27', 'YWh'),
|
|||
|
'ZEPTOJOULE' => array('1.0e-21', 'zJ'),
|
|||
|
'ZETTAJOULE' => array('1.0e+21', 'ZJ'),
|
|||
|
'ZETTAWATTHOUR' => array('3.6e+24', 'ZWh'),
|
|||
|
'STANDARD' => 'JOULE'
|
|||
|
);
|
|||
|
}
|