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 |
Empirical
|
Example for using the empirical air filter model |
Example for using the empirical air filter model
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
| Type | Name | Default | Description |
| Generic | per | per(mCon_max=2, mCon_start=0... | Performance dataset |
Modelica definition
model Empirical
extends Modelica.Icons.Example;
package Medium =
Buildings.Media.Air(extraPropertiesNames={"VOC","Particle"})
;
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) ;
Buildings.Fluid.Sources.Boundary_pT sou(
redeclare package Medium = Medium,
use_C_in=true,
p(displayUnit="Pa") = 101325 + 100,
nPorts=1)
;
Buildings.Fluid.Sources.Boundary_pT sin(
redeclare package Medium = Medium,
p(displayUnit="Pa") = 101325,
nPorts=1)
;
Buildings.Fluid.AirFilters.Empirical airFil(
redeclare package Medium = Medium,
per=per) ;
Buildings.Fluid.Sensors.TraceSubstancesTwoPort senTraSubParIn(
redeclare package Medium = Medium, m_flow_nominal=1,
substanceName="Particle")
;
Buildings.Fluid.Sensors.TraceSubstancesTwoPort senTraSubVOCIn(
redeclare package Medium = Medium,
m_flow_nominal=1,
substanceName="VOC") ;
Buildings.Fluid.Sensors.TraceSubstancesTwoPort senTraSubParOut(
redeclare package Medium = Medium,
m_flow_nominal=1,
substanceName="Particle")
;
Buildings.Fluid.Sensors.TraceSubstancesTwoPort senTraSubVOCOut(
redeclare package Medium = Medium,
m_flow_nominal=1,
substanceName="VOC") ;
Buildings.Controls.OBC.CDL.Reals.Sources.Sin parSou(
amplitude = 25/1000000000/1.293,
freqHz = 1/(24*3600*365),
offset = 100/1000000000/1.293)
;
Buildings.Controls.OBC.CDL.Reals.Sources.Sin vocSou(
amplitude = 5/1000000000/1.293,
freqHz = 1/(24*3600*365),
offset = 10/1000000000/1.293)
;
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;