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
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Fluid.HeatExchangers.RadiantSlabs.Types.SystemType | sysTyp (from Slab) | Radiant system type | |
| Modelica.Units.SI.Distance | disPip (from Slab) | Pipe distance | |
| Buildings.Fluid.Data.Pipes.Generic | pipe (from Slab) | Record for pipe geometry and material | |
| Boolean | homotopyInitialization (from Pipe) | true | = true, use homotopy method |
| Integer | nSeg (from Pipe) | 10 | Number of volume segments |
| Modelica.Units.SI.Length | thicknessIns (from Pipe) | Thickness of insulation | |
| Modelica.Units.SI.ThermalConductivity | lambdaIns (from Pipe) | Heat conductivity of insulation | |
| Modelica.Units.SI.Length | diameter (from Pipe) | Pipe diameter (without insulation) | |
| Modelica.Units.SI.Length | length (from Pipe) | Length of the pipe | |
| Buildings.Fluid.HeatExchangers.RadiantSlabs.Types.HeatTransfer | heatTransfer | Types.HeatTransfer.EpsilonNTU | Model for heat transfer between fluid and slab |
| Modelica.Units.SI.Velocity | v_nominal | 4*m_flow_nominal/pipe.dIn^2/Modelica.Constants.pi/rho_default | Velocity at m_flow_nominal |
| Construction | |||
| HeatTransfer.Data.OpaqueConstructions.Generic | layers (from Slab) | Definition of the construction, which must have at least two material layers | |
| Integer | iLayPip (from Slab) | Number of the interface layer in which the pipes are located | |
| Modelica.Units.SI.Area | A | Surface area of radiant slab | |
| Initialization › Construction | |||
| Boolean | steadyStateInitial (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.Temperature | T_a_start (from Slab) | 293.15 | Initial temperature at surf_a, used if steadyStateInitial = false |
| Modelica.Units.SI.Temperature | T_b_start (from Slab) | 293.15 | Initial temperature at surf_b, used if steadyStateInitial = false |
| Modelica.Units.SI.Temperature | T_c_start | (T_a_start*con_b[1].layers.R + T_b_start*con_a[1].layers.R)/layers.R | Initial construction temperature in the layer that contains the pipes, used if steadyStateInitial = false |
| Dynamics | |||
| Boolean | stateAtSurface_a (from Slab) | true | =true, a state will be at the surface a |
| Boolean | stateAtSurface_b (from Slab) | true | =true, a state will be at the surface b |
| Real | mSenFac (from LumpedVolumeDeclarations) | 1 | Factor for scaling the sensible thermal mass of the volume |
| Dynamics › Conservation equations | |||
| Modelica.Fluid.Types.Dynamics | energyDynamics (from LumpedVolumeDeclarations) | Modelica.Fluid.Types.Dynamics.DynamicFreeInitial | Type of energy balance: dynamic (3 initialization options) or steady state |
| Modelica.Fluid.Types.Dynamics | substanceDynamics (from LumpedVolumeDeclarations) | energyDynamics | Type of independent mass fraction balance: dynamic (3 initialization options) or steady state |
| Modelica.Fluid.Types.Dynamics | traceDynamics (from LumpedVolumeDeclarations) | energyDynamics | Type of trace substance balance: dynamic (3 initialization options) or steady state |
| Advanced › Dynamics | |||
| Modelica.Fluid.Types.Dynamics | massDynamics (from LumpedVolumeDeclarations) | energyDynamics | Type of mass balance: dynamic (3 initialization options) or steady state, must be steady state if energyDynamics is steady state |
| Initialization | |||
| Medium.AbsolutePressure | p_start (from LumpedVolumeDeclarations) | Medium.p_default | Start value of pressure |
| Medium.Temperature | T_start (from LumpedVolumeDeclarations) | Medium.T_default | Start value of temperature |
| Medium.MassFraction[Medium.nX] | X_start (from LumpedVolumeDeclarations) | Medium.X_default | Start 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 | |||
| Boolean | allowFlowReversal (from PartialTwoPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Nominal condition | |||
| Modelica.Units.SI.MassFlowRate | m_flow_nominal (from PartialTwoPortInterface) | Nominal mass flow rate | |
| Modelica.Units.SI.PressureDifference | dp_nominal (from TwoPortFlowResistanceParameters) | Pressure difference | |
| Advanced | |||
| Modelica.Units.SI.MassFlowRate | m_flow_small (from PartialTwoPortInterface) | 1E-4*abs(m_flow_nominal) | Small mass flow rate for regularization of zero flow |
| Advanced › Diagnostics | |||
| Boolean | show_T (from PartialTwoPortInterface) | false | = true, if actual temperature at port is computed |
| Flow resistance | |||
| Boolean | computeFlowResistance (from TwoPortFlowResistanceParameters) | true | =true, compute flow resistance. Set to false to assume no friction |
| Boolean | from_dp (from TwoPortFlowResistanceParameters) | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
| Real | n (from TwoPortFlowResistanceParameters) | 2 | Flow exponent, n=1 for laminar, n=2 for turbulent |
| Boolean | linearizeFlowResistance (from TwoPortFlowResistanceParameters) | false | = true, use linear relation between m_flow and dp for any flow rate |
| Real | deltaM (from TwoPortFlowResistanceParameters) | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
| Real | ReC (from Pipe) | 4000 | Reynolds number where transition to turbulence starts |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a | surf_a (from Slab) | Heat port at construction surface | |
| Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a | surf_b (from Slab) | Heat port at construction surface | |
| Modelica.Fluid.Interfaces.FluidPort_a | port_a (from PartialTwoPort) | Fluid connector a (positive design flow direction is from port_a to port_b) | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_b (from PartialTwoPort) | Fluid connector b (positive design flow direction is from port_a to port_b) |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.MassFlowRate | m_flow (from PartialTwoPortInterface) | port_a.m_flow | Mass flow rate from port_a to port_b (m_flow > 0 is design flow direction) |
| Modelica.Units.SI.PressureDifference | dp (from PartialTwoPortInterface) | port_a.p - port_b.p | Pressure difference between port_a and port_b |
| Medium.ThermodynamicState | sta_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.ThermodynamicState | sta_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.PressureDrop | preDro (from Pipe) | Flow resistance | |
| Buildings.Fluid.MixingVolumes.BaseClasses.MixingVolumeHeatPort | vol (from Pipe) | Volume for pipe fluid | |
| Buildings.HeatTransfer.Conduction.MultiLayer[nSeg] | con_a | Construction near the surface port surf_a | |
| Buildings.HeatTransfer.Conduction.MultiLayer[nSeg] | con_b | Construction near the surface port surf_b |
Revisions
-
October 18, 2017, by Michael Wetter:
Removed state at surface b ofcon_b. As this surface is connected to surface a ofcon_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 parameternSta2tonSta. -
November 17, 2016, by Thierry S. Nouidui:
Added parameternSta2to 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:
RenamedrestopreDrofor #292. -
September 12, 2014, by Michael Wetter:
Set start value forhPip(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 replacingRFic[nSeg](each G=A/Rx)withRFic[nSeg](each G=A/nSeg/Rx). -
April 5, 2012, by Michael Wetter:
Revised implementation. -
April 3, 2012, by Xiufeng Pang:
First implementation.