Buildings.Fluid.Movers.Examples

Collection of models that illustrate model use and test models

Information


This package contains examples for the use of models
that can be found in 
Buildings.Fluid.Movers.

Extends from Buildings.BaseClasses.BaseIconExamples (Icon for Examples packages).

Package Content

NameDescription
FlowMachine_y  
FlowMachine_Nrpm  
FlowMachine_dp  
FlowMachine_m_flow  
ControlledFlowMachineDynamic  
ControlledFlowMachine  
FlowMachine  
Buildings.Fluid.Movers.Examples.BaseClasses BaseClasses Base classes for examples


Buildings.Fluid.Movers.Examples.FlowMachine_y

Buildings.Fluid.Movers.Examples.FlowMachine_y

Information


This example demonstrates and tests the use of a flow machine whose mass flow rate is reduced to zero.

Extends from Buildings.Fluid.Movers.Examples.BaseClasses.FlowMachine_ZeroFlow (Base class to test flow machines with zero flow rate).

Parameters

TypeNameDefaultDescription
MassFlowRatem_flow_nominal1Nominal mass flow rate [kg/s]
Pressuredp_nominal500Nominal pressure difference [Pa]

Modelica definition

model FlowMachine_y
  import Buildings;
 extends Buildings.Fluid.Movers.Examples.BaseClasses.FlowMachine_ZeroFlow(
    gain(k=1),
    redeclare Buildings.Fluid.Movers.FlowMachine_y floMacSta(
      redeclare package Medium = Medium,
      m_flow_nominal=m_flow_nominal,
      redeclare function flowCharacteristic =
          Buildings.Fluid.Movers.BaseClasses.Characteristics.quadraticFlow (
            V_flow_nominal={0,m_flow_nominal,2*m_flow_nominal}/1.2, dp_nominal={
              2*dp_nominal,dp_nominal,0})),
    redeclare Buildings.Fluid.Movers.FlowMachine_y floMacDyn(
      redeclare package Medium = Medium,
      m_flow_nominal=m_flow_nominal,
      redeclare function flowCharacteristic =
          Buildings.Fluid.Movers.BaseClasses.Characteristics.quadraticFlow (
            V_flow_nominal={0,m_flow_nominal,2*m_flow_nominal}/1.2, dp_nominal={
              2*dp_nominal,dp_nominal,0})));

equation 
  connect(gain.y, floMacDyn.y);
  connect(gain.y, floMacSta.y);
end FlowMachine_y;

Buildings.Fluid.Movers.Examples.FlowMachine_Nrpm

Buildings.Fluid.Movers.Examples.FlowMachine_Nrpm

Information


This example demonstrates and tests the use of a flow machine whose mass flow rate is reduced to zero.

Extends from Buildings.Fluid.Movers.Examples.BaseClasses.FlowMachine_ZeroFlow (Base class to test flow machines with zero flow rate).

Parameters

TypeNameDefaultDescription
MassFlowRatem_flow_nominal1Nominal mass flow rate [kg/s]
Pressuredp_nominal500Nominal pressure difference [Pa]

Modelica definition

model FlowMachine_Nrpm
  import Buildings;
 extends Buildings.Fluid.Movers.Examples.BaseClasses.FlowMachine_ZeroFlow(
    gain(k=1500),
    redeclare Buildings.Fluid.Movers.FlowMachine_Nrpm floMacSta(
      redeclare package Medium = Medium,
      m_flow_nominal=m_flow_nominal,
      redeclare function flowCharacteristic =
          Buildings.Fluid.Movers.BaseClasses.Characteristics.quadraticFlow (
            V_flow_nominal={0,m_flow_nominal,2*m_flow_nominal}/1.2, dp_nominal={
              2*dp_nominal,dp_nominal,0})),
    redeclare Buildings.Fluid.Movers.FlowMachine_Nrpm floMacDyn(
      redeclare package Medium = Medium,
      m_flow_nominal=m_flow_nominal,
      redeclare function flowCharacteristic =
          Buildings.Fluid.Movers.BaseClasses.Characteristics.quadraticFlow (
            V_flow_nominal={0,m_flow_nominal,2*m_flow_nominal}/1.2, dp_nominal={
              2*dp_nominal,dp_nominal,0})));

equation 
  connect(gain.y, floMacSta.Nrpm);
  connect(gain.y, floMacDyn.Nrpm);
end FlowMachine_Nrpm;

Buildings.Fluid.Movers.Examples.FlowMachine_dp

Buildings.Fluid.Movers.Examples.FlowMachine_dp

Information


This example demonstrates and tests the use of a flow machine whose mass flow rate is reduced to zero.

Extends from Buildings.Fluid.Movers.Examples.BaseClasses.FlowMachine_ZeroFlow (Base class to test flow machines with zero flow rate).

Parameters

TypeNameDefaultDescription
MassFlowRatem_flow_nominal1Nominal mass flow rate [kg/s]
Pressuredp_nominal500Nominal pressure difference [Pa]

Modelica definition

model FlowMachine_dp
  import Buildings;
 extends Buildings.Fluid.Movers.Examples.BaseClasses.FlowMachine_ZeroFlow(
    gain(k=dp_nominal),
    redeclare Buildings.Fluid.Movers.FlowMachine_dp floMacSta(
      redeclare package Medium = Medium,
      m_flow_nominal=m_flow_nominal),
    redeclare Buildings.Fluid.Movers.FlowMachine_dp floMacDyn(
      redeclare package Medium = Medium,
      m_flow_nominal=m_flow_nominal));

equation 
  connect(gain.y, floMacSta.dp_in);
  connect(gain.y, floMacDyn.dp_in);
end FlowMachine_dp;

Buildings.Fluid.Movers.Examples.FlowMachine_m_flow

Buildings.Fluid.Movers.Examples.FlowMachine_m_flow

Information


This example demonstrates and tests the use of a flow machine whose mass flow rate is reduced to zero.

Extends from Buildings.Fluid.Movers.Examples.BaseClasses.FlowMachine_ZeroFlow (Base class to test flow machines with zero flow rate).

Parameters

TypeNameDefaultDescription
MassFlowRatem_flow_nominal1Nominal mass flow rate [kg/s]
Pressuredp_nominal500Nominal pressure difference [Pa]

Modelica definition

model FlowMachine_m_flow
  import Buildings;
 extends Buildings.Fluid.Movers.Examples.BaseClasses.FlowMachine_ZeroFlow(
    gain(k=m_flow_nominal),
    redeclare Buildings.Fluid.Movers.FlowMachine_m_flow floMacSta(
      redeclare package Medium = Medium,
      m_flow_nominal=m_flow_nominal),
    redeclare Buildings.Fluid.Movers.FlowMachine_m_flow floMacDyn(
      redeclare package Medium = Medium,
      m_flow_nominal=m_flow_nominal));

equation 
  connect(gain.y, floMacSta.m_flow_in);
  connect(gain.y, floMacDyn.m_flow_in);
end FlowMachine_m_flow;

Buildings.Fluid.Movers.Examples.ControlledFlowMachineDynamic

Buildings.Fluid.Movers.Examples.ControlledFlowMachineDynamic

Information


This example demonstrates the use of the flow model with four different configuration.
At steady-state, all flow models have the same mass flow rate and pressure difference.

Extends from Buildings.Fluid.Movers.Examples.BaseClasses.ControlledFlowMachine.

Modelica definition

model ControlledFlowMachineDynamic
extends Buildings.Fluid.Movers.Examples.BaseClasses.ControlledFlowMachine(
    fan4(dynamicBalance=true),
    fan1(dynamicBalance=true),
    fan2(dynamicBalance=true),
    fan3(dynamicBalance=true),
    limiter(uMin=0.03));

end ControlledFlowMachineDynamic;

Buildings.Fluid.Movers.Examples.ControlledFlowMachine

Buildings.Fluid.Movers.Examples.ControlledFlowMachine

Information


This example demonstrates the use of the flow model with four different configuration.
At steady-state, all flow models have the same mass flow rate and pressure difference.

Extends from Buildings.Fluid.Movers.Examples.BaseClasses.ControlledFlowMachine.

Modelica definition

model ControlledFlowMachine
  import Buildings;
extends Buildings.Fluid.Movers.Examples.BaseClasses.ControlledFlowMachine;

end ControlledFlowMachine;

Buildings.Fluid.Movers.Examples.FlowMachine

Buildings.Fluid.Movers.Examples.FlowMachine

Modelica definition

model FlowMachine
  import Buildings;

   package Medium = Buildings.Media.IdealGases.SimpleAir;
  //  package Medium =  Buildings.Media.PerfectGases.MoistAir;
  //package Medium = Modelica.Media.Air.SimpleAir;
    Modelica.Blocks.Sources.Ramp P(
    height=-1500,
    offset=101325,
    duration=1.5);
  Buildings.Fluid.Movers.FlowMachinePolynomial fan(
    D=0.6858,
    a={4.2904,-1.387,4.2293,-3.92920,0.8534},
    b={0.1162,1.5404,-1.4825,0.7664,-0.1971},
    mNorMin_flow=1,
    mNorMax_flow=2,
    redeclare package Medium = Medium,
    m_flow_nominal=10);
  Modelica.Blocks.Sources.Constant N(k=22.3333);
  Buildings.Fluid.Sources.Boundary_pT sou(             redeclare package Medium
      = Medium,
    use_p_in=true,
    nPorts=1,
    T=293.15);
  Buildings.Fluid.Sources.Boundary_pT sin(             redeclare package Medium
      = Medium,
    use_p_in=true,
    nPorts=1,
    T=293.15);
    Modelica.Blocks.Sources.Constant PAtm(k=101325);
  Buildings.Utilities.Reports.Printer printer(
    nin=6,
    header="time dp dpNorm mNorm m_flow power");
  Modelica.Blocks.Sources.RealExpression fan_mFlow(y=fan.m_flow);
  Modelica.Blocks.Sources.RealExpression simTim2(y=time);
  Modelica.Blocks.Sources.RealExpression fan_dp(y=fan.dp);
  Modelica.Blocks.Sources.RealExpression fan_dpNor(y=fan.pNor);
  Modelica.Blocks.Sources.RealExpression fan_mNor(y=fan.mNor_flow);
  Modelica.Blocks.Sources.RealExpression fan_PSha(y=fan.PSha);
  inner Modelica.Fluid.System system;
  Buildings.Fluid.Sensors.Temperature TIn(redeclare package Medium = Medium);
  Buildings.Fluid.Sensors.Temperature TOut(redeclare package Medium = Medium);
  Buildings.Utilities.Diagnostics.AssertInequality assertInequality;
equation 

  connect(simTim2.y, printer.x[1]);
  connect(fan_dp.y, printer.x[2]);
  connect(fan_dpNor.y, printer.x[3]);
  connect(fan_mNor.y, printer.x[4]);
  connect(fan_PSha.y, printer.x[6]);
  connect(fan_mFlow.y, printer.x[5]);
  connect(N.y, fan.N_in);
  connect(P.y, sou.p_in);
  connect(PAtm.y, sin.p_in);
  connect(sou.ports[1], fan.port_a);
  connect(fan.port_b, sin.ports[1]);
  connect(fan.port_a, TIn.port);
  connect(fan.port_b, TOut.port);
  connect(TOut.T, assertInequality.u1);
  connect(TIn.T, assertInequality.u2);
end FlowMachine;

HTML-documentation generated by Dymola Thu Jun 24 16:55:00 2010.