Buildings.Fluid.AirFilters.Validation

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.AirFilters.

Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).

Package Content

Name Description
Buildings.Fluid.AirFilters.Validation.Empirical Empirical Example for using the empirical air filter model

Buildings.Fluid.AirFilters.Validation.Empirical Buildings.Fluid.AirFilters.Validation.Empirical

Example for using the empirical air filter model

Buildings.Fluid.AirFilters.Validation.Empirical

Information

The example shows a filter that captures particles and VOCs. It has different filtration efficiencies capturing the particles and VOCs.

It set up a simulation that shows the performance change of the filter in 2 years operation. The filtration efficiencies for both contaminants decrease along with the contaminant accumulation on the filtration.

When the contaminant accumulation reaches the maximum at around 412 days, the filter is replaced and the contaminants accumulated the the filter, and hence the filtration efficiencies, are reset.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Parameters

TypeNameDefaultDescription
Genericperper(mCon_max=2, mCon_start=0...Performance dataset

Modelica definition

model Empirical "Example for using the empirical air filter model" extends Modelica.Icons.Example; package Medium = Buildings.Media.Air(extraPropertiesNames={"VOC","Particle"}) "Air"; parameter Buildings.Fluid.AirFilters.Data.Generic per( mCon_max= 2, mCon_start=0, namCon={"Particle","VOC"}, filEffPar={ Buildings.Fluid.AirFilters.Data.Characteristics.FiltrationEfficiencyParameters( rat={0,0.5,1}, eps={0.7,0.6,0.5}), Buildings.Fluid.AirFilters.Data.Characteristics.FiltrationEfficiencyParameters( rat={0,0.5,1}, eps={0.8,0.7,0.5})}, m_flow_nominal=1, dp_nominal=100) "Performance dataset"; Buildings.Fluid.Sources.Boundary_pT sou( redeclare package Medium = Medium, use_C_in=true, p(displayUnit="Pa") = 101325 + 100, nPorts=1) "Air source"; Buildings.Fluid.Sources.Boundary_pT sin( redeclare package Medium = Medium, p(displayUnit="Pa") = 101325, nPorts=1) "Air sink"; Buildings.Fluid.AirFilters.Empirical airFil( redeclare package Medium = Medium, per=per) "Air filter"; Buildings.Fluid.Sensors.TraceSubstancesTwoPort senTraSubParIn( redeclare package Medium = Medium, m_flow_nominal=1, substanceName="Particle") "Trace substance sensor of CO2 in inlet air"; Buildings.Fluid.Sensors.TraceSubstancesTwoPort senTraSubVOCIn( redeclare package Medium = Medium, m_flow_nominal=1, substanceName="VOC") "Trace substance sensor of VOC in inlet air"; Buildings.Fluid.Sensors.TraceSubstancesTwoPort senTraSubParOut( redeclare package Medium = Medium, m_flow_nominal=1, substanceName="Particle") "Trace substance sensor of CO2 in outlet air"; Buildings.Fluid.Sensors.TraceSubstancesTwoPort senTraSubVOCOut( redeclare package Medium = Medium, m_flow_nominal=1, substanceName="VOC") "Trace substance sensor of VOC in outlet air"; Buildings.Controls.OBC.CDL.Reals.Sources.Sin parSou( amplitude = 25/1000000000/1.293, freqHz = 1/(24*3600*365), offset = 100/1000000000/1.293) "Particle mass flow rate"; Buildings.Controls.OBC.CDL.Reals.Sources.Sin vocSou( amplitude = 5/1000000000/1.293, freqHz = 1/(24*3600*365), offset = 10/1000000000/1.293) "VOC mass flow rate"; equation connect(senTraSubVOCIn.port_b, airFil.port_a); connect(senTraSubParIn.port_b, senTraSubVOCIn.port_a); connect(sou.ports[1], senTraSubParIn.port_a); connect(airFil.port_b, senTraSubParOut.port_a); connect(senTraSubParOut.port_b, senTraSubVOCOut.port_a); connect(senTraSubVOCOut.port_b, sin.ports[1]); connect(vocSou.y, sou.C_in[1]); connect(parSou.y, sou.C_in[2]); connect(airFil.yRep, airFil.uRep); end Empirical;