Pressure.php 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  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 pressure conversions
  28. *
  29. * @category Zend
  30. * @package Zend_Measure
  31. * @subpackage Zend_Measure_Pressure
  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_Pressure extends Zend_Measure_Abstract
  36. {
  37. const STANDARD = 'NEWTON_PER_SQUARE_METER';
  38. const ATMOSPHERE = 'ATMOSPHERE';
  39. const ATMOSPHERE_TECHNICAL = 'ATMOSPHERE_TECHNICAL';
  40. const ATTOBAR = 'ATTOBAR';
  41. const ATTOPASCAL = 'ATTOPASCAL';
  42. const BAR = 'BAR';
  43. const BARAD = 'BARAD';
  44. const BARYE = 'BARYE';
  45. const CENTIBAR = 'CENTIBAR';
  46. const CENTIHG = 'CENTIHG';
  47. const CENTIMETER_MERCURY_0C = 'CENTIMETER_MERCURY_0C';
  48. const CENTIMETER_WATER_4C = 'CENTIMETER_WATER_4C';
  49. const CENTIPASCAL = 'CENTIPASCAL';
  50. const CENTITORR = 'CENTITORR';
  51. const DECIBAR = 'DECIBAR';
  52. const DECIPASCAL = 'DECIPASCAL';
  53. const DECITORR = 'DECITORR';
  54. const DEKABAR = 'DEKABAR';
  55. const DEKAPASCAL = 'DEKAPASCAL';
  56. const DYNE_PER_SQUARE_CENTIMETER = 'DYNE_PER_SQUARE_CENTIMETER';
  57. const EXABAR = 'EXABAR';
  58. const EXAPASCAL = 'EXAPASCAL';
  59. const FEMTOBAR = 'FEMTOBAR';
  60. const FEMTOPASCAL = 'FEMTOPASCAL';
  61. const FOOT_AIR_0C = 'FOOT_AIR_0C';
  62. const FOOT_AIR_15C = 'FOOT_AIR_15C';
  63. const FOOT_HEAD = 'FOOT_HEAD';
  64. const FOOT_MERCURY_0C = 'FOOT_MERCURY_0C';
  65. const FOOT_WATER_4C = 'FOOT_WATER_4C';
  66. const GIGABAR = 'GIGABAR';
  67. const GIGAPASCAL = 'GIGAPASCAL';
  68. const GRAM_FORCE_SQUARE_CENTIMETER = 'GRAM_FORCE_SQUARE_CENTIMETER';
  69. const HECTOBAR = 'HECTOBAR';
  70. const HECTOPASCAL = 'HECTOPASCAL';
  71. const INCH_AIR_0C = 'INCH_AIR_0C';
  72. const INCH_AIR_15C = 'INCH_AIR_15C';
  73. const INCH_MERCURY_0C = 'INCH_MERCURY_0C';
  74. const INCH_WATER_4C = 'INCH_WATER_4C';
  75. const KILOBAR = 'KILOBAR';
  76. const KILOGRAM_FORCE_PER_SQUARE_CENTIMETER = 'KILOGRAM_FORCE_PER_SQUARE_CENTIMETER';
  77. const KILOGRAM_FORCE_PER_SQUARE_METER = 'KILOGRAM_FORCE_PER_SQUARE_METER';
  78. const KILOGRAM_FORCE_PER_SQUARE_MILLIMETER = 'KILOGRAM_FORCE_PER_SQUARE_MILLIMETER';
  79. const KILONEWTON_PER_SQUARE_METER = 'KILONEWTON_PER_SQUARE_METER';
  80. const KILOPASCAL = 'KILOPASCAL';
  81. const KILOPOND_PER_SQUARE_CENTIMETER = 'KILOPOND_PER_SQUARE_CENTIMETER';
  82. const KILOPOND_PER_SQUARE_METER = 'KILOPOND_PER_SQUARE_METER';
  83. const KILOPOND_PER_SQUARE_MILLIMETER = 'KILOPOND_PER_SQUARE_MILLIMETER';
  84. const KIP_PER_SQUARE_FOOT = 'KIP_PER_SQUARE_FOOT';
  85. const KIP_PER_SQUARE_INCH = 'KIP_PER_SQUARE_INCH';
  86. const MEGABAR = 'MEGABAR';
  87. const MEGANEWTON_PER_SQUARE_METER = 'MEGANEWTON_PER_SQUARE_METER';
  88. const MEGAPASCAL = 'MEGAPASCAL';
  89. const METER_AIR_0C = 'METER_AIR_0C';
  90. const METER_AIR_15C = 'METER_AIR_15C';
  91. const METER_HEAD = 'METER_HEAD';
  92. const MICROBAR = 'MICROBAR';
  93. const MICROMETER_MERCURY_0C = 'MICROMETER_MERCURY_0C';
  94. const MICROMETER_WATER_4C = 'MICROMETER_WATER_4C';
  95. const MICRON_MERCURY_0C = 'MICRON_MERCURY_0C';
  96. const MICROPASCAL = 'MICROPASCAL';
  97. const MILLIBAR = 'MILLIBAR';
  98. const MILLIHG = 'MILLIHG';
  99. const MILLIMETER_MERCURY_0C = 'MILLIMETER_MERCURY_0C';
  100. const MILLIMETER_WATER_4C = 'MILLIMETER_WATER_4C';
  101. const MILLIPASCAL = 'MILLIPASCAL';
  102. const MILLITORR = 'MILLITORR';
  103. const NANOBAR = 'NANOBAR';
  104. const NANOPASCAL = 'NANOPASCAL';
  105. const NEWTON_PER_SQUARE_METER = 'NEWTON_PER_SQUARE_METER';
  106. const NEWTON_PER_SQUARE_MILLIMETER = 'NEWTON_PER_SQUARE_MILLIMETER';
  107. const OUNCE_PER_SQUARE_INCH = 'OUNCE_PER_SQUARE_INCH';
  108. const PASCAL = 'PASCAL';
  109. const PETABAR = 'PETABAR';
  110. const PETAPASCAL = 'PETAPASCAL';
  111. const PICOBAR = 'PICOBAR';
  112. const PICOPASCAL = 'PICOPASCAL';
  113. const PIEZE = 'PIEZE';
  114. const POUND_PER_SQUARE_FOOT = 'POUND_PER_SQUARE_FOOT';
  115. const POUND_PER_SQUARE_INCH = 'POUND_PER_SQUARE_INCH';
  116. const POUNDAL_PER_SQUARE_FOOT = 'POUNDAL_PER_SQUARE_FOOT';
  117. const STHENE_PER_SQUARE_METER = 'STHENE_PER_SQUARE_METER';
  118. const TECHNICAL_ATMOSPHERE = 'TECHNICAL_ATMOSPHERE';
  119. const TERABAR = 'TERABAR';
  120. const TERAPASCAL = 'TERAPASCAL';
  121. const TON_PER_SQUARE_FOOT = 'TON_PER_SQUARE_FOOT';
  122. const TON_PER_SQUARE_FOOT_SHORT = 'TON_PER_SQUARE_FOOT_SHORT';
  123. const TON_PER_SQUARE_INCH = 'TON_PER_SQUARE_INCH';
  124. const TON_PER_SQUARE_INCH_SHORT = 'TON_PER_SQUARE_INCH_SHORT';
  125. const TON_PER_SQUARE_METER = 'TON_PER_SQUARE_METER';
  126. const TORR = 'TORR';
  127. const WATER_COLUMN_CENTIMETER = 'WATER_COLUMN_CENTIMETER';
  128. const WATER_COLUMN_INCH = 'WATER_COLUMN_INCH';
  129. const WATER_COLUMN_MILLIMETER = 'WATER_COLUMN_MILLIMETER';
  130. const YOCTOBAR = 'YOCTOBAR';
  131. const YOCTOPASCAL = 'YOCTOPASCAL';
  132. const YOTTABAR = 'YOTTABAR';
  133. const YOTTAPASCAL = 'YOTTAPASCAL';
  134. const ZEPTOBAR = 'ZEPTOBAR';
  135. const ZEPTOPASCAL = 'ZEPTOPASCAL';
  136. const ZETTABAR = 'ZETTABAR';
  137. const ZETTAPASCAL = 'ZETTAPASCAL';
  138. /**
  139. * Calculations for all pressure units
  140. *
  141. * @var array
  142. */
  143. protected $_units = array(
  144. 'ATMOSPHERE' => array('101325.01', 'atm'),
  145. 'ATMOSPHERE_TECHNICAL' => array('98066.5', 'atm'),
  146. 'ATTOBAR' => array('1.0e-13', 'ab'),
  147. 'ATTOPASCAL' => array('1.0e-18', 'aPa'),
  148. 'BAR' => array('100000', 'b'),
  149. 'BARAD' => array('0.1', 'barad'),
  150. 'BARYE' => array('0.1', 'ba'),
  151. 'CENTIBAR' => array('1000', 'cb'),
  152. 'CENTIHG' => array('1333.2239', 'cHg'),
  153. 'CENTIMETER_MERCURY_0C' => array('1333.2239', 'cm mercury (0°C)'),
  154. 'CENTIMETER_WATER_4C' => array('98.0665', 'cm water (4°C)'),
  155. 'CENTIPASCAL' => array('0.01', 'cPa'),
  156. 'CENTITORR' => array('1.3332237', 'cTorr'),
  157. 'DECIBAR' => array('10000', 'db'),
  158. 'DECIPASCAL' => array('0.1', 'dPa'),
  159. 'DECITORR' => array('13.332237', 'dTorr'),
  160. 'DEKABAR' => array('1000000', 'dab'),
  161. 'DEKAPASCAL' => array('10', 'daPa'),
  162. 'DYNE_PER_SQUARE_CENTIMETER' => array('0.1', 'dyn/cm²'),
  163. 'EXABAR' => array('1.0e+23', 'Eb'),
  164. 'EXAPASCAL' => array('1.0e+18', 'EPa'),
  165. 'FEMTOBAR' => array('1.0e-10', 'fb'),
  166. 'FEMTOPASCAL' => array('1.0e-15', 'fPa'),
  167. 'FOOT_AIR_0C' => array('3.8640888', 'ft air (0°C)'),
  168. 'FOOT_AIR_15C' => array('3.6622931', 'ft air (15°C)'),
  169. 'FOOT_HEAD' => array('2989.0669', 'ft head'),
  170. 'FOOT_MERCURY_0C' => array('40636.664', 'ft mercury (0°C)'),
  171. 'FOOT_WATER_4C' => array('2989.0669', 'ft water (4°C)'),
  172. 'GIGABAR' => array('1.0e+14', 'Gb'),
  173. 'GIGAPASCAL' => array('1.0e+9', 'GPa'),
  174. 'GRAM_FORCE_SQUARE_CENTIMETER' => array('98.0665', 'gf'),
  175. 'HECTOBAR' => array('1.0e+7', 'hb'),
  176. 'HECTOPASCAL' => array('100', 'hPa'),
  177. 'INCH_AIR_0C' => array(array('' => '3.8640888', '/' => '12'), 'in air (0°C)'),
  178. 'INCH_AIR_15C' => array(array('' => '3.6622931', '/' => '12'), 'in air (15°C)'),
  179. 'INCH_MERCURY_0C' => array(array('' => '40636.664', '/' => '12'), 'in mercury (0°C)'),
  180. 'INCH_WATER_4C' => array(array('' => '2989.0669', '/' => '12'), 'in water (4°C)'),
  181. 'KILOBAR' => array('1.0e+8', 'kb'),
  182. 'KILOGRAM_FORCE_PER_SQUARE_CENTIMETER' => array('98066.5', 'kgf/cm²'),
  183. 'KILOGRAM_FORCE_PER_SQUARE_METER' => array('9.80665', 'kgf/m²'),
  184. 'KILOGRAM_FORCE_PER_SQUARE_MILLIMETER' => array('9806650', 'kgf/mm²'),
  185. 'KILONEWTON_PER_SQUARE_METER' => array('1000', 'kN/m²'),
  186. 'KILOPASCAL' => array('1000', 'kPa'),
  187. 'KILOPOND_PER_SQUARE_CENTIMETER' => array('98066.5', 'kp/cm²'),
  188. 'KILOPOND_PER_SQUARE_METER' => array('9.80665', 'kp/m²'),
  189. 'KILOPOND_PER_SQUARE_MILLIMETER' => array('9806650', 'kp/mm²'),
  190. 'KIP_PER_SQUARE_FOOT' => array(array('' => '430.92233', '/' => '0.009'), 'kip/ft²'),
  191. 'KIP_PER_SQUARE_INCH' => array(array('' => '62052.81552', '/' => '0.009'), 'kip/in²'),
  192. 'MEGABAR' => array('1.0e+11', 'Mb'),
  193. 'MEGANEWTON_PER_SQUARE_METER' => array('1000000', 'MN/m²'),
  194. 'MEGAPASCAL' => array('1000000', 'MPa'),
  195. 'METER_AIR_0C' => array('12.677457', 'm air (0°C)'),
  196. 'METER_AIR_15C' => array('12.015397', 'm air (15°C)'),
  197. 'METER_HEAD' => array('9804.139432', 'm head'),
  198. 'MICROBAR' => array('0.1', 'µb'),
  199. 'MICROMETER_MERCURY_0C' => array('0.13332239', 'µm mercury (0°C)'),
  200. 'MICROMETER_WATER_4C' => array('0.00980665', 'µm water (4°C)'),
  201. 'MICRON_MERCURY_0C' => array('0.13332239', 'µ mercury (0°C)'),
  202. 'MICROPASCAL' => array('0.000001', 'µPa'),
  203. 'MILLIBAR' => array('100', 'mb'),
  204. 'MILLIHG' => array('133.32239', 'mHg'),
  205. 'MILLIMETER_MERCURY_0C' => array('133.32239', 'mm mercury (0°C)'),
  206. 'MILLIMETER_WATER_4C' => array('9.80665', 'mm water (0°C)'),
  207. 'MILLIPASCAL' => array('0.001', 'mPa'),
  208. 'MILLITORR' => array('0.13332237', 'mTorr'),
  209. 'NANOBAR' => array('0.0001', 'nb'),
  210. 'NANOPASCAL' => array('1.0e-9', 'nPa'),
  211. 'NEWTON_PER_SQUARE_METER' => array('1', 'N/m²'),
  212. 'NEWTON_PER_SQUARE_MILLIMETER' => array('1000000', 'N/mm²'),
  213. 'OUNCE_PER_SQUARE_INCH' => array('430.92233', 'oz/in²'),
  214. 'PASCAL' => array('1', 'Pa'),
  215. 'PETABAR' => array('1.0e+20', 'Pb'),
  216. 'PETAPASCAL' => array('1.0e+15', 'PPa'),
  217. 'PICOBAR' => array('0.0000001', 'pb'),
  218. 'PICOPASCAL' => array('1.0e-12', 'pPa'),
  219. 'PIEZE' => array('1000', 'pz'),
  220. 'POUND_PER_SQUARE_FOOT' => array(array('' => '430.92233', '/' => '9'), 'lb/ft²'),
  221. 'POUND_PER_SQUARE_INCH' => array('6894.75728', 'lb/in²'),
  222. 'POUNDAL_PER_SQUARE_FOOT' => array('1.4881639', 'pdl/ft²'),
  223. 'STHENE_PER_SQUARE_METER' => array('1000', 'sn/m²'),
  224. 'TECHNICAL_ATMOSPHERE' => array('98066.5', 'at'),
  225. 'TERABAR' => array('1.0e+17', 'Tb'),
  226. 'TERAPASCAL' => array('1.0e+12', 'TPa'),
  227. 'TON_PER_SQUARE_FOOT' => array(array('' => '120658.2524', '/' => '1.125'), 't/ft²'),
  228. 'TON_PER_SQUARE_FOOT_SHORT' => array(array('' => '430.92233', '/' => '0.0045'), 't/ft²'),
  229. 'TON_PER_SQUARE_INCH' => array(array('' => '17374788.3456', '/' => '1.125'), 't/in²'),
  230. 'TON_PER_SQUARE_INCH_SHORT' => array(array('' => '62052.81552', '/' => '0.0045'), 't/in²'),
  231. 'TON_PER_SQUARE_METER' => array('9806.65', 't/m²'),
  232. 'TORR' => array('133.32237', 'Torr'),
  233. 'WATER_COLUMN_CENTIMETER' => array('98.0665', 'WC (cm)'),
  234. 'WATER_COLUMN_INCH' => array(array('' => '2989.0669', '/' => '12'), 'WC (in)'),
  235. 'WATER_COLUMN_MILLIMETER' => array('9.80665', 'WC (mm)'),
  236. 'YOCTOBAR' => array('1.0e-19', 'yb'),
  237. 'YOCTOPASCAL' => array('1.0e-24', 'yPa'),
  238. 'YOTTABAR' => array('1.0e+29', 'Yb'),
  239. 'YOTTAPASCAL' => array('1.0e+24', 'YPa'),
  240. 'ZEPTOBAR' => array('1.0e-16', 'zb'),
  241. 'ZEPTOPASCAL' => array('1.0e-21', 'zPa'),
  242. 'ZETTABAR' => array('1.0e+26', 'Zb'),
  243. 'ZETTAPASCAL' => array('1.0e+21', 'ZPa'),
  244. 'STANDARD' => 'NEWTON_PER_SQUARE_METER'
  245. );
  246. }