modelSingleCircuitSlab

Model of a single circuit of a radiant slab

Extends from Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.Slab (Base class for radiant slab), Buildings.Fluid.FixedResistances.BaseClasses.Pipe (Model of a pipe with finite volume discretization along the flow path).

Information

This is a model of a single flow circuit of a radiant slab with pipes or a capillary heat exchanger embedded in the construction. For a model with multiple parallel flow circuits, see Buildings.Fluid.HeatExchangers.RadiantSlabs.ParallelCircuitsSlab.

See the user's guide for more information.

Parameters

TypeNameDefaultDescription
Buildings.Fluid.HeatExchangers.RadiantSlabs.Types.SystemTypesysTyp (from Slab)Radiant system type
Modelica.Units.SI.DistancedisPip (from Slab)Pipe distance
Buildings.Fluid.Data.Pipes.Genericpipe (from Slab)Record for pipe geometry and material
BooleanhomotopyInitialization (from Pipe)true= true, use homotopy method
IntegernSeg (from Pipe)10Number of volume segments
Modelica.Units.SI.LengththicknessIns (from Pipe)Thickness of insulation
Modelica.Units.SI.ThermalConductivitylambdaIns (from Pipe)Heat conductivity of insulation
Modelica.Units.SI.Lengthdiameter (from Pipe)Pipe diameter (without insulation)
Modelica.Units.SI.Lengthlength (from Pipe)Length of the pipe
Buildings.Fluid.HeatExchangers.RadiantSlabs.Types.HeatTransferheatTransferTypes.HeatTransfer.EpsilonNTUModel for heat transfer between fluid and slab
Modelica.Units.SI.Velocityv_nominal4*m_flow_nominal/pipe.dIn^2/Modelica.Constants.pi/rho_defaultVelocity at m_flow_nominal
Construction
HeatTransfer.Data.OpaqueConstructions.Genericlayers (from Slab)Definition of the construction, which must have at least two material layers
IntegeriLayPip (from Slab)Number of the interface layer in which the pipes are located
Modelica.Units.SI.AreaASurface area of radiant slab
Initialization › Construction
BooleansteadyStateInitial (from Slab)false=true initializes dT(0)/dt=0, false initializes T(0) at fixed temperature using T_a_start, T_c_start and T_b_start
Modelica.Units.SI.TemperatureT_a_start (from Slab)293.15Initial temperature at surf_a, used if steadyStateInitial = false
Modelica.Units.SI.TemperatureT_b_start (from Slab)293.15Initial temperature at surf_b, used if steadyStateInitial = false
Modelica.Units.SI.TemperatureT_c_start(T_a_start*con_b[1].layers.R + T_b_start*con_a[1].layers.R)/layers.RInitial construction temperature in the layer that contains the pipes, used if steadyStateInitial = false
Dynamics
BooleanstateAtSurface_a (from Slab)true=true, a state will be at the surface a
BooleanstateAtSurface_b (from Slab)true=true, a state will be at the surface b
RealmSenFac (from LumpedVolumeDeclarations)1Factor for scaling the sensible thermal mass of the volume
Dynamics › Conservation equations
Modelica.Fluid.Types.DynamicsenergyDynamics (from LumpedVolumeDeclarations)Modelica.Fluid.Types.Dynamics.DynamicFreeInitialType of energy balance: dynamic (3 initialization options) or steady state
Modelica.Fluid.Types.DynamicssubstanceDynamics (from LumpedVolumeDeclarations)energyDynamicsType of independent mass fraction balance: dynamic (3 initialization options) or steady state
Modelica.Fluid.Types.DynamicstraceDynamics (from LumpedVolumeDeclarations)energyDynamicsType of trace substance balance: dynamic (3 initialization options) or steady state
Advanced › Dynamics
Modelica.Fluid.Types.DynamicsmassDynamics (from LumpedVolumeDeclarations)energyDynamicsType of mass balance: dynamic (3 initialization options) or steady state, must be steady state if energyDynamics is steady state
Initialization
Medium.AbsolutePressurep_start (from LumpedVolumeDeclarations)Medium.p_defaultStart value of pressure
Medium.TemperatureT_start (from LumpedVolumeDeclarations)Medium.T_defaultStart value of temperature
Medium.MassFraction[Medium.nX]X_start (from LumpedVolumeDeclarations)Medium.X_defaultStart value of mass fractions m_i/m
Medium.ExtraProperty[Medium.nC]C_start (from LumpedVolumeDeclarations)fill(0, Medium.nC)Start value of trace substances
Medium.ExtraProperty[Medium.nC]C_nominal (from LumpedVolumeDeclarations)fill(1E-2, Medium.nC)Nominal value of trace substances. (Set to typical order of magnitude.)
Assumptions
BooleanallowFlowReversal (from PartialTwoPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal
Nominal condition
Modelica.Units.SI.MassFlowRatem_flow_nominal (from PartialTwoPortInterface)Nominal mass flow rate
Modelica.Units.SI.PressureDifferencedp_nominal (from TwoPortFlowResistanceParameters)Pressure difference
Advanced
Modelica.Units.SI.MassFlowRatem_flow_small (from PartialTwoPortInterface)1E-4*abs(m_flow_nominal)Small mass flow rate for regularization of zero flow
Advanced › Diagnostics
Booleanshow_T (from PartialTwoPortInterface)false= true, if actual temperature at port is computed
Flow resistance
BooleancomputeFlowResistance (from TwoPortFlowResistanceParameters)true=true, compute flow resistance. Set to false to assume no friction
Booleanfrom_dp (from TwoPortFlowResistanceParameters)false= true, use m_flow = f(dp) else dp = f(m_flow)
Realn (from TwoPortFlowResistanceParameters)2Flow exponent, n=1 for laminar, n=2 for turbulent
BooleanlinearizeFlowResistance (from TwoPortFlowResistanceParameters)false= true, use linear relation between m_flow and dp for any flow rate
RealdeltaM (from TwoPortFlowResistanceParameters)0.1Fraction of nominal flow rate where flow transitions to laminar
RealReC (from Pipe)4000Reynolds number where transition to turbulence starts

Connectors

TypeNameDefaultDescription
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_asurf_a (from Slab)Heat port at construction surface
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_asurf_b (from Slab)Heat port at construction surface
Modelica.Fluid.Interfaces.FluidPort_aport_a (from PartialTwoPort)Fluid connector a (positive design flow direction is from port_a to port_b)
Modelica.Fluid.Interfaces.FluidPort_bport_b (from PartialTwoPort)Fluid connector b (positive design flow direction is from port_a to port_b)

Components

TypeNameDefaultDescription
Modelica.Units.SI.MassFlowRatem_flow (from PartialTwoPortInterface)port_a.m_flowMass flow rate from port_a to port_b (m_flow > 0 is design flow direction)
Modelica.Units.SI.PressureDifferencedp (from PartialTwoPortInterface)port_a.p - port_b.pPressure difference between port_a and port_b
Medium.ThermodynamicStatesta_a (from PartialTwoPortInterface)if allowFlowReversal then Medium.setState_phX(port_a.p, noEvent(actualStream(port_a.h_outflow)), noEvent(actualStream(port_a.Xi_outflow))) else Medium.setState_phX(port_a.p, noEvent(inStream(port_a.h_outflow)), noEvent(inStream(port_a.Xi_outflow)))Medium properties in port_a
Medium.ThermodynamicStatesta_b (from PartialTwoPortInterface)if allowFlowReversal then Medium.setState_phX(port_b.p, noEvent(actualStream(port_b.h_outflow)), noEvent(actualStream(port_b.Xi_outflow))) else Medium.setState_phX(port_b.p, noEvent(port_b.h_outflow), noEvent(port_b.Xi_outflow))Medium properties in port_b
Buildings.Fluid.FixedResistances.PressureDroppreDro (from Pipe)Flow resistance
Buildings.Fluid.MixingVolumes.BaseClasses.MixingVolumeHeatPortvol (from Pipe)Volume for pipe fluid
Buildings.HeatTransfer.Conduction.MultiLayer[nSeg]con_aConstruction near the surface port surf_a
Buildings.HeatTransfer.Conduction.MultiLayer[nSeg]con_bConstruction near the surface port surf_b

Revisions

  • October 18, 2017, by Michael Wetter:
    Removed state at surface b of con_b. As this surface is connected to surface a of con_a, which already has a state, the state can be removed, rather than relying on the symbolic processor to remove one of these two states that are directly coupled. This is indeed required to avoid a warning about overdetermined initial equations.
  • January 06, 2016, by Thierry S. Nouidui:
    Renamed parameter nSta2 to nSta.
  • November 17, 2016, by Thierry S. Nouidui:
    Added parameter nSta2 to avoid translation error in Dymola 2107. This is a work-around for a bug in Dymola which will be addressed in future releases.
  • February 5, 2015, by Michael Wetter:
    Renamed res to preDro for #292.
  • September 12, 2014, by Michael Wetter:
    Set start value for hPip(fluid(T)) to avoid a warning about conflicting start values in Dymola 2015 FD01.
  • February 27, 2013, by Michael Wetter:
    Fixed bug in the assignment of the fictitious thermal resistance by replacing RFic[nSeg](each G=A/Rx) with RFic[nSeg](each G=A/nSeg/Rx).
  • April 5, 2012, by Michael Wetter:
    Revised implementation.
  • April 3, 2012, by Xiufeng Pang:
    First implementation.