-- -------------------------------------------------------------------------- -- -- Title : Draft Standard VHDL 1076.1.1 Packages for Multiple Energy -- : Domain Support. -- -- Library : This package shall be compiled into a library symbolically -- : named IEEE. -- -- Developers : IEEE 1076.1.1 Working Group -- -- Purpose : This package contains declarations for modeling in the -- : thermal energy domain. -- -- Note : -- -- -------------------------------------------------------------------------- -- Modification History : -- -- Version Date Description -- 1.0 6 July 2001 Original version. -- 1.1 4 March 2002 FDL 2001 & BMAS 2001 revisions -- 1.2 31 Aug 2002 DAC 2002 revisions -- 1.3 30 Sep 2002 FDL 2002 revisions -- -------------------------------------------------------------------------- library IEEE; use IEEE.FUNDAMENTAL_CONSTANTS.all; package THERMAL_SYSTEMS is -- type declarations -- subtype declarations (no thermal resistance or capacitance?) subtype TEMPERATURE is REAL tolerance "DEFAULT_TEMPERATURE"; subtype HEAT_FLOW is REAL tolerance "DEFAULT_HEAT_FLOW"; subtype THERMAL_CAPACITANCE is REAL tolerance "DEFAULT_THERMAL_CAPACITANCE"; subtype THERMAL_RESISTANCE is REAL tolerance "DEFAULT_THERMAL_RESISTANCE"; -- attribute declarations -- CORRECT UNITS? attribute UNIT of TEMPERATURE : subtype is "Kelvin"; attribute UNIT of HEAT_FLOW : subtype is "Joule/second"; attribute UNIT of THERMAL_CAPACITANCE : subtype is "Joule-Kelvin"; attribute UNIT of THERMAL_RESISTANCE : subtype is "Kelvin-second/Joule"; attribute SYMBOL of TEMPERATURE : subtype is "K"; attribute SYMBOL of HEAT_FLOW : subtype is "J/s"; attribute SYMBOL of THERMAL_CAPACITANCE : subtype is "J-K"; attribute SYMBOL of THERMAL_RESISTANCE : subtype is "K-s/J"; -- nature declarations nature THERMAL is TEMPERATURE across HEAT_FLOW through THERMAL_REF reference; nature THERMAL_VECTOR is array (NATURAL range <>) of THERMAL; -- another nature with entropy as through variable? -- vector subtype declarations subtype TEMPERATURE_VECTOR is THERMAL_VECTOR'across; subtype HEAT_FLOW_VECTOR is THERMAL_VECTOR'through; subtype THERMAL_CAPACITANCE_VECTOR is REAL_VECTOR tolerance "DEFAULT_THERMAL_CAPACITANCE"; subtype THERMAL_RESISTANCE_VECTOR is REAL_VECTOR tolerance "DEFAULT_THERMAL_RESISTANCE"; -- attributes of vector subtypes attribute UNIT of TEMPERATURE_VECTOR : subtype is "Kelvin"; attribute UNIT of HEAT_FLOW_VECTOR : subtype is "Joule/second"; attribute UNIT of THERMAL_CAPACITANCE_VECTOR : subtype is "Joule-Kelvin"; attribute UNIT of THERMAL_RESISTANCE_VECTOR : subtype is "Kelvin-second/Joule"; attribute SYMBOL of TEMPERATURE_VECTOR : subtype is "K"; attribute SYMBOL of HEAT_FLOW_VECTOR : subtype is "J/s"; attribute SYMBOL of THERMAL_CAPACITANCE_VECTOR : subtype is "J-K"; attribute SYMBOL of THERMAL_RESISTANCE_VECTOR : subtype is "K-s/J"; -- subnature declarations -- object declarations (no quantities) -- operation declarations (e.g., subprograms) -- alias declarations end package THERMAL_SYSTEMS;