-- -------------------------------------------------------------------------- -- -- 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 -- : mechanical 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 MECHANICAL_SYSTEMS is -- type declarations -- subtype declarations subtype DISPLACEMENT is REAL tolerance "DEFAULT_DISPLACEMENT"; subtype FORCE is REAL tolerance "DEFAULT_FORCE"; subtype VELOCITY is REAL tolerance "DEFAULT_VELOCITY"; subtype ACCELERATION is REAL tolerance "DEFAULT_ACCELERATION"; subtype MASS is REAL tolerance "DEFAULT_MASS"; subtype STIFFNESS is REAL tolerance "DEFAULT_STIFFNESS"; subtype DAMPING is REAL tolerance "DEFAULT_DAMPING"; subtype MOMENTUM is REAL tolerance "DEFAULT_MOMENTUM"; subtype COMPLIANCE is REAL tolerance "DEFAULT_COMPLIANCE"; subtype ANGLE is REAL tolerance "DEFAULT_ANGLE"; subtype TORQUE is REAL tolerance "DEFAULT_TORQUE"; subtype ANGULAR_VELOCITY is REAL tolerance "DEFAULT_ANGULAR_VELOCITY"; subtype ANGULAR_ACCELERATION is REAL tolerance "DEFAULT_ANGULAR_ACCELERATION"; subtype MOMENT_INERTIA is REAL tolerance "DEFAULT_MOMENT_INERTIA"; subtype ANGULAR_MOMENTUM is REAL tolerance "DEFAULT_ANGULAR_MOMENTUM"; subtype ANGULAR_STIFFNESS is REAL tolerance "DEFAULT_ANGULAR_STIFFNESS"; subtype ANGULAR_DAMPING is REAL tolerance "DEFAULT_ANGULAR_DAMPING"; -- attribute declarations -- Use of UNIT to designate units attribute UNIT of DISPLACEMENT : subtype is "meter"; attribute UNIT of FORCE : subtype is "Newton"; attribute UNIT of VELOCITY : subtype is "meter/second"; attribute UNIT of ACCELERATION : subtype is "meter/second^2"; attribute UNIT of MASS : subtype is "kilogram"; attribute UNIT of STIFFNESS : subtype is "Newton/meter"; attribute UNIT of DAMPING : subtype is "Newton-second/meter"; attribute UNIT of MOMENTUM : subtype is "kilogram-meter/second"; attribute UNIT of COMPLIANCE : subtype is ""; ??? attribute UNIT of ANGLE : subtype is "radian"; attribute UNIT of TORQUE : subtype is "Newton-meter"; attribute UNIT of ANGULAR_VELOCITY : subtype is "radian/second"; attribute UNIT of ANGULAR_ACCELERATION : subtype is "radian/second^2"; attribute UNIT of MOMENT_INERTIA : subtype is "kilogram-meter^2"; attribute UNIT of ANGULAR_MOMENTUM : subtype is "kilogram radian/second"; ??? attribute UNIT of ANGULAR_STIFFNESS : subtype is "Newton radian"; ??? attribute UNIT of ANGULAR_DAMPING : subtype is "Newton second/radian"; ??? -- Use of UNIT to designate abbreviations of units attribute SYMBOL of DISPLACEMENT : subtype is "m"; attribute SYMBOL of FORCE : subtype is "N"; attribute SYMBOL of VELOCITY : subtype is "m/s"; attribute SYMBOL of ACCELERATION : subtype is "m/s^2"; attribute SYMBOL of MASS : subtype is "kg"; attribute SYMBOL of STIFFNESS : subtype is "N/m"; attribute SYMBOL of DAMPING : subtype is "N-s/m"; attribute SYMBOL of MOMENTUM : subtype is "kg-m/s"; attribute SYMBOL of COMPLIANCE : subtype is ""; ??? attribute SYMBOL of ANGLE : subtype is "rad"; attribute SYMBOL of TORQUE : subtype is "N-m"; attribute SYMBOL of ANGULAR_VELOCITY : subtype is "rad/s"; attribute SYMBOL of ANGULAR_ACCELERATION : subtype is "rad/s^2"; attribute SYMBOL of MOMENT_INERTIA : subtype is "kg-m^2"; attribute SYMBOL of ANGULAR_MOMENTUM : subtype is "kg-rad/s"; ??? attribute SYMBOL of ANGULAR_STIFFNESS : subtype is "N-rad"; ??? attribute SYMBOL of ANGULAR_DAMPING : subtype is "N-s/rad"; ??? -- nature declarations nature TRANSLATIONAL is DISPLACEMENT across FORCE through TRANSLATIONAL_REF reference; nature TRANSLATIONAL_VECTOR is array (NATURAL range <>) of TRANSLATIONAL; nature TRANSLATIONAL_VELOCITY is VELOCITY across FORCE through TRANSLATIONAL_VELOCITY_REF reference; nature TRANSLATIONAL_VELOCITY_VECTOR is array (NATURAL range <>) of TRANSLATIONAL_VELOCITY; nature ROTATIONAL is ANGLE across TORQUE through ROTATIONAL_REF reference; nature ROTATIONAL_VECTOR is array (NATURAL range <>) of ROTATIONAL; nature ROTATIONAL_VELOCITY is ANGULAR_VELOCITY across TORQUE through ROTATIONAL_VELOCITY_REF reference; nature ROTATIONAL_VELOCITY_VECTOR is array (NATURAL range <>) of ROTATIONAL_VELOCITY; -- vector subtype declarations subtype DISPLACEMENT_VECTOR is TRANSLATIONAL_VECTOR'across; subtype FORCE_VECTOR is TRANSLATIONAL_VECTOR'through; subtype VELOCITY_VECTOR is TRANSLATIONAL_VELOCITY_VECTOR'across; subtype FORCE_VELOCITY_VECTOR is TRANSLATIONAL_VELOCITY_VECTOR'through; subtype ANGLE_VECTOR is ROTATIONAL_VECTOR'across; subtype TORQUE_VECTOR is ROTATIONAL_VECTOR'through; subtype ANGULAR_VELOCITY_VECTOR is ROTATIONAL_VELOCITY_VECTOR'across; subtype TORQUE_VELOCITY_VECTOR is ROTATIONAL_VELOCITY_VECTOR'through; subtype ACCELERATION_VECTOR is REAL_VECTOR tolerance "DEFAULT_ACCELERATION"; subtype MASS_VECTOR is REAL_VECTOR tolerance "DEFAULT_MASS"; subtype STIFFNESS_VECTOR is REAL_VECTOR tolerance "DEFAULT_STIFFNESS"; subtype DAMPING_VECTOR is REAL_VECTOR tolerance "DEFAULT_DAMPING"; subtype MOMENTUM_VECTOR is REAL_VECTOR tolerance "DEFAULT_MOMENTUM"; subtype COMPLIANCE_VECTOR is REAL_VECTOR tolerance "DEFAULT_COMPLIANCE"; subtype ANGULAR_ACCELERATION_VECTOR is REAL_VECTOR tolerance "DEFAULT_ANGULAR_ACCEL"; subtype MOMENT_INERTIA_VECTOR is REAL_VECTOR tolerance "DEFAULT_MOMENT_INERTIA"; subtype ANGULAR_MOMENTUM_VECTOR is REAL_VECTOR tolerance "DEFAULT_ANGULAR_MOMENTUM"; subtype ANGULAR_STIFFNESS_VECTOR is REAL_VECTOR tolerance "DEFAULT_ANGULAR_STIFFNESS"; subtype ANGULAR_DAMPING_VECTOR is REAL_VECTOR tolerance "DEFAULT_ANGULAR_DAMPING"; -- attributes of vector subtypes -- Use of UNIT to designate units attribute UNIT of DISPLACEMENT_VECTOR : subtype is "meter"; attribute UNIT of FORCE_VECTOR : subtype is "Newton"; attribute UNIT of VELOCITY_VECTOR : subtype is "meter/second"; attribute UNIT of FORCE_VELOCITY_VECTOR : subtype is "Newton"; attribute UNIT of ACCELERATION_VECTOR : subtype is "meter/second^2"; attribute UNIT of MASS_VECTOR : subtype is "kilogram"; attribute UNIT of STIFFNESS_VECTOR : subtype is "Newton/meter"; attribute UNIT of DAMPING_VECTOR : subtype is "Newton second/meter"; attribute UNIT of MOMENTUM_VECTOR : subtype is "kilogram meter/second"; attribute UNIT of COMPLIANCE_VECTOR : subtype is ""; ??? attribute UNIT of ANGLE_VECTOR : subtype is "radian"; attribute UNIT of TORQUE_VECTOR : subtype is "Newton meter"; attribute UNIT of ANGULAR_VELOCITY_VECTOR : subtype is "radian/second"; attribute UNIT of TORQUE_VELOCITY_VECTOR : subtype is "Newton meter"; attribute UNIT of ANGULAR_ACCELERATION_VECTOR : subtype is "radian/second^2"; attribute UNIT of MOMENT_INERTIA_VECTOR : subtype is "kilogram meter^2"; attribute UNIT of ANGULAR_MOMENTUM_VECTOR : subtype is "kilogram radian/second"; ??? attribute UNIT of ANGULAR_STIFFNESS_VECTOR : subtype is "Newton radian"; ??? attribute UNIT of ANGULAR_DAMPING_VECTOR : subtype is "Newton second/radian"; ??? -- Use of SYMBOL to designate abbreviation of units attribute SYMBOL of DISPLACEMENT_VECTOR : subtype is "m"; attribute SYMBOL of FORCE_VECTOR : subtype is "N"; attribute SYMBOL of VELOCITY_VECTOR : subtype is "m/s"; attribute SYMBOL of FORCE_VELOCITY_VECTOR : subtype is "N"; attribute SYMBOL of ACCELERATION_VECTOR : subtype is "m/s^2"; attribute SYMBOL of MASS_VECTOR : subtype is "kg"; attribute SYMBOL of STIFFNESS_VECTOR : subtype is "N/m"; attribute SYMBOL of DAMPING_VECTOR : subtype is "N-s/m"; attribute SYMBOL of MOMENTUM_VECTOR : subtype is "kg-m/s"; attribute SYMBOL of COMPLIANCE_VECTOR : subtype is ""; ??? attribute SYMBOL of ANGLE_VECTOR : subtype is "rad"; attribute SYMBOL of TORQUE_VECTOR : subtype is "N-m"; attribute SYMBOL of ANGULAR_VELOCITY_VECTOR : subtype is "rad/s"; attribute SYMBOL of TORQUE_VELOCITY_VECTOR : subtype is "N-m"; attribute SYMBOL of ANGULAR_ACCELERATION_VECTOR : subtype is "rad/s^2"; attribute SYMBOL of MOMENT_INERTIA_VECTOR : subtype is "kg-m^2"; attribute SYMBOL of ANGULAR_MOMENTUM_VECTOR : subtype is "kg-rad/s"; ??? attribute SYMBOL of ANGULAR_STIFFNESS_VECTOR : subtype is "N-rad"; ??? attribute SYMBOL of ANGULAR_DAMPING_VECTOR : subtype is "N-s/rad"; ??? -- subnature declarations -- object declarations -- operation declarations (e.g., subprograms) -- alias declarations alias ANCHOR is TRANSLATIONAL_REF; alias TRANSLATIONAL_V is TRANSLATIONAL_VELOCITY; alias ROTATIONAL_V is ROTATIONAL_VELOCITY; end package MECHANICAL_SYSTEMS;