Create Equivalent Systems for Conical Poppet Valves
This example shows how to model a conical popped valve by using a composite Simscape™ component or by creating a model using Simscape blocks. To learn about how to model other kind of valves, see Model a Pressure Relief Valve in the Position-Based Translational Domain and Model a Spring in Chamber with Composite Components in the Position-Based Translational Domain.
Compare a Composite Component to an Equivalent Simscape Model
Open the PositionBasedPressureReliefValveComponentization
model. Conical Poppet Valve
is a Variant Subsystem that contains three variants: Composite
, Position-Based Orifice
, and Equivalent System
, which all model a conical popped valve with different approaches. The figure below shows the Composite
and Position-Based Orifice
variants. The composite component uses position-based translational Mass, Hard Stop, Spacer, and World blocks. The position-based Orifice block is a modified version of the Orifice (IL) block and uses position-based translational ports for the orifice opening distance. The position-based Orifice block calculates the fluid force based on the orifice geometry.
Run the model for the two variants and compare the results.
model = 'PositionBasedPressureReliefValveComponentization'; variant = [model '/Conical Poppet Valve']; open_system(model); % Set Model Variant to "Composite" set_param(variant, 'OverrideUsingVariant', 'Composite') % Set the Simlog output name and run the model for the Composite case set_param(model,'SimscapeLogName','simlog_Composite'); sim('PositionBasedPressureReliefValveComponentization'); % Set Model Variant to "Position-Based Orifice" set_param(variant, 'OverrideUsingVariant', 'PositionBasedOrifice') % Set the Simlog output name and run the model for the Position-Based % Orifice case set_param(model,'SimscapeLogName','simlog_PositionBasedOrifice') sim('PositionBasedPressureReliefValveComponentization');
% Close existing figures to reset axes for livescript use close all; % Plot the composite variant results PositionBasedPressureReliefValveComponentizationPlotComparison('Composite'); PositionBasedPressureReliefValveComponentizationPlotComparison('PositionBasedOrifice'); figure(h1_PositionBasedPressureReliefValveComponentization); nexttile(1) legend('Composite','Position-Based Orifice','location','southeast'); nexttile(2) legend('Composite','Position-Based Orifice','location','southeast');
The two implementations return identical results. Set the model to the default settings.
set_param(model,'SimscapeLogName','simlog_PositionBasedPressureReliefValveComponentization') set_param(variant, 'OverrideUsingVariant', 'Composite')
Compare a Composite Component to a Model That Uses Physical Signal Equations
The Equivalent System
variant uses an unmodified Orifice (IL) block. This variant uses PS signals to perform the force calculations that the position-based orifice variant performed internally. The PS force signal is an input to the Actuator block, which applies the force to the Position-Based Translational network. The model canvas complexity illustrates the advantages of implementing similar modeling situations within a Simscape component instead.
This figure shows the Fluid Force Calculations
subsystem.
This code runs the model in the Equivalent System
variant and compares the results to the Composite
variant results.
% Set Model Variant to "Equivalent System" set_param(variant, 'OverrideUsingVariant', 'EquivalentSystem') % Set the Simlog output name and run the model for the Equivalent System % case set_param(model,'SimscapeLogName','simlog_EquivalentSystem') sim('PositionBasedPressureReliefValveComponentization');
% Close existing figures to reset axes for livescript use close all; % Plot the Composite variant results PositionBasedPressureReliefValveComponentizationPlotComparison('Composite'); PositionBasedPressureReliefValveComponentizationPlotComparison('EquivalentSystem'); figure(h1_PositionBasedPressureReliefValveComponentization); nexttile(1) legend('Composite','Equivalent System','location','southeast'); nexttile(2) legend('Composite','Equivalent System','location','southeast');
The results are different because the conical poppet valve composite component performs smoothing calculations, but the recreated equations model does not.
% Restore defaults set_param(model,'SimscapeLogName','simlog_PositionBasedPressureReliefValveComponentization') set_param(variant,'OverrideUsingVariant', 'Composite')