-- --------------------------------------------------------------------------
--
-- Title      : Draft Standard VHDL 1076.1 Multi Energy Domain Packages.
--
-- Library    : This package shall be compiled into a library symbolically
--            : named IEEE.
--
-- Developers : IEEE 1076.1 Working Group,
--              (to be changed with the actual WG PAR number).
--
-- Purpose    : This package contains declarations that are common across
--            : energy domains.
--
-- Note       :
--
-- --------------------------------------------------------------------------
--   Modification History :
--
--   Version   Date           Description
--     1.0     6 July 2001    Original version.
-- --------------------------------------------------------------------------

library IEEE;
    use IEEE.MATH_REAL.all;

package ENERGY_SYSTEMS is

   -- type declarations

   -- subtype declarations
   subtype ENERGY      is REAL tolerance "DEFAULT_ENERGY";
   subtype POWER       is REAL tolerance "DEFAULT_POWER";
   subtype PERIODICITY is REAL tolerance "DEFAULT_PERIODICITY";

   -- nature declarations

   -- subnature declarations

   -- object declarations
   -- common scaling factors
   constant  ATTO  : REAL := 1.0e-18;
   constant  FEMTO : REAL := 1.0e-15;
   constant  PICO  : REAL := 1.0e-12;
   constant  NANO  : REAL := 1.0e-9;
   constant  MICRO : REAL := 1.0e-6;
   constant  MILLI : REAL := 1.0e-3;
   constant  CENTI : REAL := 1.0e-2;
   constant  DENCI : REAL := 1.0e-1;
   constant  DEKA  : REAL := 1.0e+1;
   constant  HECTO : REAL := 1.0e+2;
   constant  KILO  : REAL := 1.0e+3;
   constant  MEGA  : REAL := 1.0e+6;
   constant  GIGA  : REAL := 1.0e+9;
   constant  TERA  : REAL := 1.0e+12;

   -- permittivity of vacuum <FARADS/METER>
   constant EPS0 : REAL := 8.854187817e-12;
   -- permeability of vacuum <HENRIES/METER>
   constant MU0 : REAL := 4.0e-7 * MATH_PI;

   -- electron charge <COULOMB>
   constant Q : REAL :=  1.602176462e-19;
   -- Boltzmann constant <JOULES/KELVIN>
   constant K : REAL :=  1.3806503e-23;
   -- Relative permittivity of silicon
   constant EPS_SI : REAL := 11.7;
   -- Relative permittivity of silicon dioxide
   constant EPS_SIO2 : REAL := 3.9;

   -- Young's Modulus for silicon <PASCALS>
   constant E_SI : REAL := 190.0e+9;
   -- Young's Modulus for silicon dioxide <PASCALS>
   constant E_SIO2 : REAL := 73.0e+9;
   -- Poisson's Ratio for silicon <100orientation
   constant NU_SI : REAL := 0.28;
   -- Acceleration due to gravity <METERS/SECOND_SQUARED>
   constant GRAV : REAL := 9.80665;

   -- attribute declarations
   attribute SYMBOL : STRING;

   -- operation declarations (e.g., subprograms)

   -- alias declarations
end package ENERGY_SYSTEMS;

