model ThrottleCheckValvePT1
HydraulicsByFluidon.Components.Valves.CheckValves.CheckValvePT1 checkValvePT11(forwardFluidProperties = false, valveEdge1(idealResistorVariable1(resistorType = resistorTypeCV), NominalPressureDifference = NominalPressureDifferenceCV, NominalVolumeFlow = NominalVolumeFlowCV), ReferenceDensity = ReferenceDensity, OpeningPressure = OpeningPressureCV, MaxOpeningPressure = MaxOpeningPressureCV, deadVolume = deadVolume, pA = pA, pB = pB) annotation (Placement(
visible = true,
transformation(
origin = {30, 10},
extent = {
{-10, -10},
{10, 10}},
rotation = 0)));
HydraulicsByFluidon.Components.Resistors.IdealResistor idealResistor1(forwardFluidProperties = false, NominalVolumeFlow = NominalVolumeFlowThrottle, NominalPressureDifference = NominalPressureDifferenceThrottle, resistorType = HydraulicsByFluidon.Types.TResistorTypes.Throttle) annotation (Placement(
visible = true,
transformation(
origin = {-30, 10},
extent = {
{-10, -10},
{10, 10}},
rotation = 0)));
parameter Modelica.SIunits.VolumeFlowRate NominalVolumeFlowThrottle = 5e-4 "Nominal volume flow"
annotation (Dialog(group = "Throttle"));
parameter Modelica.SIunits.Pressure NominalPressureDifferenceThrottle = 500000 "Nominal pressure difference"
annotation (Dialog(group = "Throttle"));
parameter Modelica.SIunits.Pressure OpeningPressureCV = 100000 "Opening pressure difference"
annotation (Dialog(group = "Check Valve"));
parameter Modelica.SIunits.Pressure MaxOpeningPressureCV = 200000 "Opening pressure difference"
annotation (Dialog(group = "Check Valve"));
parameter Modelica.SIunits.VolumeFlowRate NominalVolumeFlowCV = 5e-4 "Nominal volume flow"
annotation (Dialog(group = "Check Valve"));
parameter Modelica.SIunits.Pressure NominalPressureDifferenceCV = 500000 "Nominal pressure difference"
annotation (Dialog(group = "Check Valve"));
parameter HydraulicsByFluidon.Types.TResistorTypes resistorTypeCV = HydraulicsByFluidon.Types.TResistorTypes.Orifice "Type of the resistor"
annotation (Dialog(group = "Check Valve"));
parameter Modelica.SIunits.Density ReferenceDensity = 860 "Reference density for volume flow and pressure difference";
parameter Modelica.SIunits.Volume deadVolume(final min = 1e-9) = 1e-6 "Dead volume at ports"
annotation (Dialog(group = "Geometry"));
extends HydraulicsByFluidon.Components.Base.HydTwoPortVerticalExt annotation (IconMap(
extent = {
{-100, -100},
{100, 100}},
primitivesVisible = true));
equation
connect(checkValvePT11.fluidPortA,fluidPortA) annotation (Line(
points = {
{30, 0},
{30, 0},
{30, -10},
{0, -10},
{0, -100},
{0, -100}},
color = {0, 93, 152}));
connect(checkValvePT11.fluidPortB,fluidPortB) annotation (Line(
points = {
{30, 20},
{30, 20},
{30, 30},
{0, 30},
{0, 100},
{0, 100}},
color = {0, 93, 152}));
connect(idealResistor1.fluidPortA,fluidPortA) annotation (Line(
points = {
{-30, 0},
{-30, 0},
{-30, -10},
{0, -10},
{0, -100},
{0, -100}},
color = {0, 93, 152}));
connect(idealResistor1.fluidPortB,fluidPortB) annotation (Line(
points = {
{-30, 20},
{-30, 20},
{-30, 30},
{0, 30},
{0, 100},
{0, 100}},
color = {0, 93, 152}));
annotation (
Icon(
coordinateSystem(
extent = {
{-60, -100},
{140, 100}},
initialScale = 0.1,
preserveAspectRatio = false),
graphics = {
Rectangle(
origin = {-40, -80},
extent = {
{0, 0},
{160, 160}}),
Ellipse(
origin = {0, 60},
fillColor = {0, 0, 0},
fillPattern = FillPattern.Solid,
extent = {
{-5, 5},
{5, -5}},
endAngle = 360),
Line(
origin = {10, 0},
points = {
{12, -30},
{4, -20},
{-1, 0},
{4, 20},
{12, 30}},
smooth = Smooth.Bezier),
Line(
origin = {-10, 0},
points = {
{-12, -30},
{-4, -20},
{1, 0},
{-4, 20},
{-12, 30}},
smooth = Smooth.Bezier),
Line(
origin = {0, 60},
points = {
{0, 0},
{80, 0}}),
Ellipse(
origin = {0, -60},
fillColor = {0, 0, 0},
fillPattern = FillPattern.Solid,
extent = {
{-5, 5},
{5, -5}},
endAngle = 360),
Line(
origin = {0, -60},
points = {
{0, 0},
{80, 0}}),
Ellipse(
origin = {80, 0},
fillColor = {255, 255, 255},
fillPattern = FillPattern.Solid,
extent = {
{-7.5, 7.5},
{7.5, -7.5}},
endAngle = 360),
Line(
origin = {80, 60},
points = {
{0, 0},
{0, -52.5}}),
Line(
origin = {80, -12},
points = {
{-15, 15},
{0, 0},
{15, 15}}),
Line(
origin = {80, -60},
points = {
{0, 0},
{0, 48}}),
Line(
origin = {0, 0},
points = {
{0, 93},
{0, -93}})}),
Documentation(info = "<html>\n <p>\n The component ThrottleCheckValvePT1 is a model that combines a <a href=\"modelica://HydraulicsByFluidon.Components.Resistors.IdealResistor\">throttle</a> \n and a <a href=\"modelica://HydraulicsByFluidon.Components.Valves.CheckValves.CheckValvePT1\">check valve</a>.\n If pressure p2 > p1 the flow passes the throttle only whereas if the pressure p1 > p2 \n the flow will be distributed over throttle and check valve according to the respective resistances.\n </p>\n <p>\n The opening condition is:\n </p>\n <p>\n fluidPortA.p > fluidPortB.p + Opening pressure difference. \n </p>\n <p>\n <var>Max. opening pressure difference</var> defines the point where the check valve is completely open and the \n values <var>Nominal volume flow</var> and <var>Nominal pressure difference</var> apply. From <var>Opening pressure difference</var> to \n <var>Max. opening pressure difference</var> the flow is scaled proportionally.\n </p>\n </html>"));
end ThrottleCheckValvePT1;