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.HeatExchangers.RadiantSlabs.
Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).
Package Content
Name |
Description |
SingleCircuitMultipleCircuitEpsilonNTU
|
Model that tests the radiant slab with multiple parallel circuits and epsilon-NTU configuration |
SingleCircuitMultipleCircuitFiniteDifference
|
Model that tests the radiant slab with multiple parallel circuits |
StepResponseEpsilonNTU
|
Model that tests the radiant slab with epsilon-NTU configuration |
StepResponseFiniteDifference
|
Model that tests the radiant slab |
Model that tests the radiant slab with multiple parallel circuits and epsilon-NTU configuration
Information
This model is identical to
Buildings.Fluid.HeatExchangers.RadiantSlabs.Examples.SingleCircuitMultipleCircuit
except that the number of segments in the slab is set to 1
and the heat transfer between the fluid and the slab is computed using
an epsilon-NTU model.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
Type | Name | Default | Description |
MassFlowRate | m_flow_nominal | 0.167 | Nominal mass flow rate for each circuit [kg/s] |
Area | A | 10 | Heat transfer area for each circuit [m2] |
Generic | layers | | Material layers from surface a to b (8cm concrete, 5 cm insulation, 20 cm reinforced concrete) |
PEX_RADTEST | pipe | | Pipe material |
Integer | nCir | 2 | Number of parallel circuits for slab 3 |
Modelica definition
model SingleCircuitMultipleCircuitEpsilonNTU
extends Modelica.Icons.Example;
package Medium =
Buildings.Media.Water;
Sources.Boundary_ph sin(
redeclare package Medium = Medium, nPorts=3,
p(displayUnit="Pa") = 300000) ;
Modelica.Blocks.Sources.Pulse pulse(
startTime=0,
amplitude=50*400,
offset=300000 - 50*200,
width=50,
period=86400/2);
Buildings.Fluid.HeatExchangers.RadiantSlabs.SingleCircuitSlab sla1(
m_flow_nominal=m_flow_nominal,
redeclare package Medium = Medium,
layers=layers,
iLayPip=1,
pipe=pipe,
sysTyp=Buildings.Fluid.HeatExchangers.RadiantSlabs.Types.SystemType.Floor,
disPip=0.2,
A=A,
energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
from_dp=true) ;
parameter Modelica.SIunits.MassFlowRate m_flow_nominal=
0.167 ;
Modelica.Thermal.HeatTransfer.Sources.FixedTemperature TAbo(T=293.15)
;
Modelica.Thermal.HeatTransfer.Sources.FixedTemperature TBel(T=293.15)
;
Modelica.Thermal.HeatTransfer.Components.ThermalConductor conAbo1(G=20*A)
;
parameter Modelica.SIunits.Area A=10 ;
Modelica.Thermal.HeatTransfer.Components.ThermalConductor conBel1(G=20*A)
;
parameter HeatTransfer.Data.OpaqueConstructions.Generic layers(nLay=3, material={
Buildings.HeatTransfer.Data.Solids.Generic(
x=0.08,
k=1.13,
c=1000,
d=1400,
nSta=5),
Buildings.HeatTransfer.Data.Solids.Generic(
x=0.05,
k=0.04,
c=1400,
d=10),
Buildings.HeatTransfer.Data.Solids.Generic(
x=0.2,
k=1.8,
c=1100,
d=2400)})
;
parameter Data.Pipes.PEX_RADTEST pipe ;
Modelica.Thermal.HeatTransfer.Components.ThermalConductor conAbo2(G=20*A)
;
Buildings.Fluid.HeatExchangers.RadiantSlabs.SingleCircuitSlab sla2(
m_flow_nominal=m_flow_nominal,
redeclare package Medium = Medium,
layers=layers,
iLayPip=1,
pipe=pipe,
sysTyp=Buildings.Fluid.HeatExchangers.RadiantSlabs.Types.SystemType.Floor,
disPip=0.2,
A=A,
energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
from_dp=true) ;
Modelica.Thermal.HeatTransfer.Components.ThermalConductor conBel2(G=20*A)
;
Modelica.Thermal.HeatTransfer.Components.ThermalConductor conBel3(G=nCir*20*A)
;
ParallelCircuitsSlab sla3(
redeclare package Medium = Medium,
layers=layers,
iLayPip=1,
pipe=pipe,
sysTyp=Buildings.Fluid.HeatExchangers.RadiantSlabs.Types.SystemType.Floor,
disPip=0.2,
nCir=nCir,
A=nCir*A,
m_flow_nominal=nCir*m_flow_nominal,
energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
from_dp=true) ;
Modelica.Thermal.HeatTransfer.Components.ThermalConductor conAbo3(G=nCir*20*A)
;
Sensors.TemperatureTwoPort senTem1(
redeclare package Medium = Medium,
m_flow_nominal=m_flow_nominal/2) ;
Sensors.TemperatureTwoPort senTem2(
redeclare package Medium = Medium,
m_flow_nominal=m_flow_nominal/2) ;
Sensors.TemperatureTwoPort senTem3(
redeclare package Medium = Medium,
m_flow_nominal=nCir*m_flow_nominal) ;
Sources.Boundary_pT sou(
redeclare package Medium = Medium,
nPorts=3,
use_p_in=true,
T=313.15) ;
parameter Integer nCir=2 ;
equation
connect(TBel.port, conBel1.port_a);
connect(conBel1.port_b, sla1.surf_b);
connect(sla1.surf_a, conAbo1.port_a);
connect(TAbo.port, conAbo1.port_b);
connect(TAbo.port, conAbo2.port_b);
connect(conAbo2.port_a, sla2.surf_a);
connect(TBel.port, conBel2.port_a);
connect(TBel.port, conBel3.port_a);
connect(TAbo.port, conAbo3.port_b);
connect(conAbo3.port_a, sla3.surf_a);
connect(conBel3.port_b, sla3.surf_b);
connect(sla1.port_b, senTem1.port_a);
connect(sla2.port_b, senTem2.port_a);
connect(sla3.port_b, senTem3.port_a);
connect(senTem1.port_b, sin.ports[1]);
connect(senTem2.port_b, sin.ports[2]);
connect(senTem3.port_b, sin.ports[3]);
connect(conBel2.port_b, sla2.surf_b);
connect(pulse.y, sou.p_in);
connect(sou.ports[1], sla1.port_a);
connect(sou.ports[2], sla2.port_a);
connect(sou.ports[3], sla3.port_a);
end SingleCircuitMultipleCircuitEpsilonNTU;
Model that tests the radiant slab with multiple parallel circuits
Information
This example compares the results of two models of a single circuit that are arranged in
parallel, versus a model that directly implements two parallel circuits.
Both configurations have the same mass flow rate and temperatures.
For simplicity, a combined convective and radiative resistance
which is independent of the temperature difference has been used.
The model is exposed to a step change in pressure, which causes forward and reverse
flow.
Extends from Buildings.Fluid.HeatExchangers.RadiantSlabs.Examples.SingleCircuitMultipleCircuitEpsilonNTU (Model that tests the radiant slab with multiple parallel circuits and epsilon-NTU configuration).
Parameters
Type | Name | Default | Description |
MassFlowRate | m_flow_nominal | 0.167 | Nominal mass flow rate for each circuit [kg/s] |
Area | A | 10 | Heat transfer area for each circuit [m2] |
Generic | layers | | Material layers from surface a to b (8cm concrete, 5 cm insulation, 20 cm reinforced concrete) |
PEX_RADTEST | pipe | | Pipe material |
Integer | nCir | 2 | Number of parallel circuits for slab 3 |
Modelica definition
model SingleCircuitMultipleCircuitFiniteDifference
extends Buildings.Fluid.HeatExchangers.RadiantSlabs.Examples.SingleCircuitMultipleCircuitEpsilonNTU
(
sla1(heatTransfer=Buildings.Fluid.HeatExchangers.RadiantSlabs.Types.HeatTransfer.FiniteDifference),
sla2(heatTransfer=Buildings.Fluid.HeatExchangers.RadiantSlabs.Types.HeatTransfer.FiniteDifference),
sla3(heatTransfer=Buildings.Fluid.HeatExchangers.RadiantSlabs.Types.HeatTransfer.FiniteDifference));
end SingleCircuitMultipleCircuitFiniteDifference;
Model that tests the radiant slab with epsilon-NTU configuration
Information
This model is identical to
Buildings.Fluid.HeatExchangers.RadiantSlabs.Examples.StepResponse
except that the number of segments in the slab is set to 1
and the heat transfer between the fluid and the slab is computed using
an epsilon-NTU model.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
Type | Name | Default | Description |
MassFlowRate | m_flow_nominal | 0.167 | Nominal mass flow rate [kg/s] |
Area | A | 10 | Heat transfer area [m2] |
Generic | layers | | Material layers from surface a to b (8cm concrete, 5 cm insulation, 20 cm reinforced concrete) |
PEX_RADTEST | pipe | | Pipe material |
Modelica definition
model StepResponseEpsilonNTU
extends Modelica.Icons.Example;
package Medium =
Buildings.Media.Water;
Sources.Boundary_ph sin(
redeclare package Medium = Medium, nPorts=1) ;
Sources.MassFlowSource_T sou(
redeclare package Medium = Medium,
use_m_flow_in=true,
T=298.15,
nPorts=1) ;
Modelica.Blocks.Sources.Pulse pulse(
period=86400,
startTime=0,
amplitude=-m_flow_nominal,
offset=m_flow_nominal);
Buildings.Fluid.HeatExchangers.RadiantSlabs.SingleCircuitSlab
sla(
m_flow_nominal=m_flow_nominal,
redeclare package Medium = Medium,
layers=layers,
iLayPip=1,
pipe=pipe,
sysTyp=Buildings.Fluid.HeatExchangers.RadiantSlabs.Types.SystemType.Floor,
disPip=0.2,
A=A,
energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
heatTransfer=Buildings.Fluid.HeatExchangers.RadiantSlabs.Types.HeatTransfer.FiniteDifference)
;
parameter Modelica.SIunits.MassFlowRate m_flow_nominal=
0.167 ;
Modelica.Thermal.HeatTransfer.Sources.FixedTemperature TAirAbo(T=293.15)
;
Modelica.Thermal.HeatTransfer.Sources.FixedTemperature TRadAbo(T=293.15)
;
Modelica.Thermal.HeatTransfer.Sources.FixedTemperature TAirBel(T=293.15)
;
Modelica.Thermal.HeatTransfer.Sources.FixedTemperature TRadBel(T=293.15)
;
HeatTransfer.Convection.Interior conAbo(
A=A,
conMod=Buildings.HeatTransfer.Types.InteriorConvection.Temperature,
til=Buildings.Types.Tilt.Floor)
;
parameter Modelica.SIunits.Area A=10 ;
HeatTransfer.Convection.Interior conBel(
A=A,
conMod=Buildings.HeatTransfer.Types.InteriorConvection.Temperature,
til=Buildings.Types.Tilt.Ceiling)
;
Modelica.Thermal.HeatTransfer.Components.BodyRadiation hRadAbo(Gr=A/(1/0.7 + 1
/0.7 - 1)) ;
Modelica.Thermal.HeatTransfer.Components.BodyRadiation hRadBel(Gr=A/(1/0.7 + 1
/0.7 - 1)) ;
parameter HeatTransfer.Data.OpaqueConstructions.Generic layers(nLay=3, material={
Buildings.HeatTransfer.Data.Solids.Generic(
x=0.08,
k=1.13,
c=1000,
d=1400,
nSta=5),
Buildings.HeatTransfer.Data.Solids.Generic(
x=0.05,
k=0.04,
c=1400,
d=10),
Buildings.HeatTransfer.Data.Solids.Generic(
x=0.2,
k=1.8,
c=1100,
d=2400)})
;
parameter Data.Pipes.PEX_RADTEST pipe ;
Sensors.TemperatureTwoPort TOut(
redeclare package Medium = Medium,
m_flow_nominal=m_flow_nominal) ;
equation
connect(pulse.y, sou.m_flow_in);
connect(sou.ports[1], sla.port_a);
connect(TAirAbo.port, conAbo.fluid);
connect(TRadAbo.port, hRadAbo.port_a);
connect(TAirBel.port, conBel.fluid);
connect(TRadBel.port, hRadBel.port_a);
connect(conAbo.solid, sla.surf_a);
connect(hRadAbo.port_b, sla.surf_a);
connect(conBel.solid, sla.surf_b);
connect(hRadBel.port_b, sla.surf_b);
connect(sla.port_b, TOut.port_a);
connect(TOut.port_b, sin.ports[1]);
end StepResponseEpsilonNTU;
Model that tests the radiant slab
Information
This example models the step response of a radiant slab.
Extends from Buildings.Fluid.HeatExchangers.RadiantSlabs.Examples.StepResponseEpsilonNTU (Model that tests the radiant slab with epsilon-NTU configuration).
Parameters
Type | Name | Default | Description |
MassFlowRate | m_flow_nominal | 0.167 | Nominal mass flow rate [kg/s] |
Area | A | 10 | Heat transfer area [m2] |
Generic | layers | | Material layers from surface a to b (8cm concrete, 5 cm insulation, 20 cm reinforced concrete) |
PEX_RADTEST | pipe | | Pipe material |
Modelica definition