web/enmi/Zend/Measure/Energy.php
changeset 19 1c2f13fd785c
parent 0 4eba9c11703f
equal deleted inserted replaced
18:bd595ad770fc 19:1c2f13fd785c
       
     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 }