------------------------------------------------------------------------------- -- Copyright (c) 2001 Mentor Graphics Corporation -- -- This model is a component of the Mentor Graphics VHDL-AMS educational open -- source model library, and is covered by this license agreement. This model, -- including any updates, modifications, revisions, copies, and documentation -- are copyrighted works of Mentor Graphics. USE OF THIS MODEL INDICATES YOUR -- COMPLETE AND UNCONDITIONAL ACCEPTANCE OF THE TERMS AND CONDITIONS SET FORTH -- IN THIS LICENSE AGREEMENT. Mentor Graphics grants you a non-exclusive -- license to use, reproduce, modify and distribute this model, provided that: -- (a) no fee or other consideration is charged for any distribution except -- compilations distributed in accordance with Section (d) of this license -- agreement; (b) the comment text embedded in this model is included verbatim -- in each copy of this model made or distributed by you, whether or not such -- version is modified; (c) any modified version must include a conspicuous -- notice that this model has been modified and the date of modification; and -- (d) any compilations sold by you that include this model must include a -- conspicuous notice that this model is available from Mentor Graphics in its -- original form at no charge. -- -- THIS MODEL IS LICENSED TO YOU "AS IS" AND WITH NO WARRANTIES, EXPRESS OR -- IMPLIED. MENTOR GRAPHICS SPECIFICALLY DISCLAIMS ALL IMPLIED WARRANTIES OF -- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. MENTOR GRAPHICS SHALL -- HAVE NO RESPONSIBILITY FOR ANY DAMAGES WHATSOEVER. ------------------------------------------------------------------------------- -- File : chamber_extend.vhd -- Author : Mentor Graphics -- Created : 2001-06-16 -- Last update: 2003-05-13 ------------------------------------------------------------------------------- -- Description: Extending Fluid Chamber (hydraulic/mechanical transducer) ------------------------------------------------------------------------------- -- Revisions : -- Date Version Author Description -- 2001-06-16 1.0 Mentor Graphics Created -- 2002-05-23 1.1 Mentor Graphics Updated std format ------------------------------------------------------------------------------- -- -- ...Model Summary -- -- The Extending Fluid Chamber models the characteristics of hydraulic -- pressure acting on an area to create a mechanical (translational) -- force. -- In addition, applied mechanical force creates pressure using the same -- conservative pressure-force relationship. The pressure used is that -- present at the hydraulic (FLUIDIC) port and the mechanical force is -- relative to the two mechanical (TRANSLATIONAL) attachments. The -- polarity of the mechanical force is consistant with the general -- convention where the value is positive when the force "flow" is from -- attach1 to attach2. -- The flow rate into the chamber is a function of both the rate of -- relative mechanical displacement and the fluid compressibility due to -- change in pressure. -- -- -- ...Netlist Example -- -- This netlist example illustrates a typical application where the -- chamber_extend model is used to simulate force applied to one end of a -- valve spool by pressure in the chamber. -- -- Actuator_extend: entity work.chamber_extend(internal) -- generic map ( area => 80.0e6, -- length_min => 0.0, -- volume_min => 1.0e-6, -- bulk_modulus => 1.0e9 -- ) -- port map (attach1=> pos_spool, attach2 => translational_ref, -- port1 => pr_spool_end); ------------------------------------------------------------------------------- library IEEE; use IEEE.MATH_REAL.all; use IEEE.fluidic_systems.all; use IEEE.mechanical_systems.all; entity chamber_extend is generic ( area : real; -- Area acted on by pressure [m**2] length_min : displacement := 0.0; -- Min. length [m] volume_min : volume := 1.0e-6; -- Min. volume at length_min [m**3] bulk_modulus : pressure := 1.0e9); -- Fluid bulk modulus [N/m**2] port (terminal port1 : fluidic; -- Hydraulic port terminal attach1, -- Mechanical attachment #1 attach2 : translational); -- Mechanical attachment #2 end entity chamber_extend; ------------------------------------------------------------------------------- -- ...Model Characteristics -- -- The force applied relative to the two mechanical attachments is calculated -- using the following equation: -- -- force = -1.0 * pressure * area -- where -- pressure = pressure at port1 -- area = cross-sectional area -- -- The flow rate into the chamber through port1 is modeled using the -- following equation(s): -- -- flow = d(volume)/dt + [(volume/bulk_modulus) * d(pressure)/dt] -- where -- volume = instantaneous physical volume of chamber = area * relative length -- bulk_modulus = fluid bulk modulus -- -- Note that the first term of the flow equation is simply the area multiplied -- by the mechanical separation velocity. The second term relates to the -- compressibility of the fluid characterized by the fluid bulk modulus. ------------------------------------------------------------------------------- architecture behavioral of chamber_extend is quantity p across flow through port1 to fluidic_ref; quantity position across pforce through attach1 to attach2; quantity vol_fluid : volume; -- Effective fluid volume quantity vol : volume; -- Instantaneous physical volume begin pforce == -1.0 * p * area; -- Simple pressure - force -- equation. Note polarity. if position'above(length_min) use -- Discontinuity for volume at -- position = length_min vol == volume_min + -- Calculate physical volume (position - length_min) * area; else vol == volume_min; -- Physical volume at minimum length end use; vol_fluid == vol * (1.0 + p/bulk_modulus); -- Effective fluid volume flow == vol_fluid'dot; -- Basic flow equation break on position'above(length_min); -- BREAK used at slope discontinuity -- point for volume vs. position end architecture behavioral; ------------------------------------------------------------------------------- -- Copyright (c) 2001 Mentor Graphics Corporation -------------------------------------------------------------------------------