ShuttleValve

model ShuttleValve
    import HydraulicsByFluidon.Media.Base.FluidInterface;

    parameter Modelica.SIunits.VolumeFlowRate NominalVolumeFlow = 5e-4 "Nominal volume flow";
    parameter Modelica.SIunits.Pressure NominalPressureDifference = 500000 "Nominal pressure difference";
    parameter Modelica.SIunits.Density ReferenceDensity = 860 "Reference density for volume flow and pressure difference";
    parameter Modelica.SIunits.Pressure SwitchingThreshold = 100 "Pressure threshold to switch between ports";
    parameter Modelica.SIunits.Volume deadVolume(final min = 1e-9) = 1e-6 "Dead volume at ports";
    parameter Boolean forwardFluidProperties = true "Forward fluid properties between ports";
    HydraulicsByFluidon.Interfaces.FluidPort fluidPortA(p(start = environment.pAmbient, nominal = 100000)) "Hydraulic port A";
    HydraulicsByFluidon.Interfaces.FluidPort fluidPortB(p(start = environment.pAmbient, nominal = 100000)) "Hydraulic port B";
    HydraulicsByFluidon.Interfaces.FluidPort fluidPortC(p(start = environment.pAmbient, nominal = 100000)) "Hydraulic port C";
equation
    /* Implementation is Protected */
end ShuttleValve;