LBL logo

Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses

Package with base classes for Buildings.Fluid.HeatExchangers.RadiantSlabs

Information

This package contains base classes that are used to construct the models in Buildings.Fluid.HeatExchangers.RadiantSlabs.

Extends from Modelica.Icons.BasesPackage (Icon for packages containing base classes).

Package Content

NameDescription
Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.InternalFlowConvection InternalFlowConvection Convective heat transfer in pipes
Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.HeatFlowRateMultiplier HeatFlowRateMultiplier Multiplies the heat flow rate
Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.MassFlowRateMultiplier MassFlowRateMultiplier Model that multiplies the mass flow rate
Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.Slab Slab Base class for radiant slab
Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.Functions Functions Functions for convective heat transfer
Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.Types Types Types for radiant slab model


Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.InternalFlowConvection Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.InternalFlowConvection

Convective heat transfer in pipes

Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.InternalFlowConvection

Information

Model to compute the convective heat transfer inside a straight pipe. The convective heat transfer coefficient is computed as a function of the mass flow rate using the function Modelica.Fluid.Dissipation.HeatTransfer.StraightPipe.kc_overall_KC.

Parameters

TypeNameDefaultDescription
replaceable package MediumModelica.Media.Interfaces.Pa...Medium in the component
AreaA Pipe inside surface area [m2]
kc_overall_IN_conkc_IN_con Parameters for convective heat transfer calculation

Connectors

TypeNameDescription
replaceable package MediumMedium in the component
HeatPort_asolidHeat port at solid interface
HeatPort_bfluidHeat port at fluid interface
input RealInputm_flowFluid mass flow rate [kg/s]

Modelica definition

model InternalFlowConvection "Convective heat transfer in pipes"
  replaceable package Medium =
    Modelica.Media.Interfaces.PartialMedium "Medium in the component";
  Modelica.SIunits.HeatFlowRate Q_flow "Heat flow rate from solid -> fluid";
  Modelica.SIunits.TemperatureDifference dT "= solid.T - fluid.T";
  Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a solid 
    "Heat port at solid interface";
  Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_b fluid 
    "Heat port at fluid interface";
  parameter Modelica.SIunits.Area A "Pipe inside surface area";
  parameter Modelica.Fluid.Dissipation.HeatTransfer.StraightPipe.kc_overall_IN_con
    kc_IN_con "Parameters for convective heat transfer calculation";
  Modelica.Fluid.Dissipation.HeatTransfer.StraightPipe.kc_overall_IN_var
    kc_IN_var(
    cp=Medium.specificHeatCapacityCp(fluSta),
    eta=Medium.dynamicViscosity(fluSta),
    lambda=Medium.thermalConductivity(fluSta),
    rho=Medium.density(fluSta),
    m_flow=m_flow) "Variables for convective heat transfer calculation";
  Modelica.Blocks.Interfaces.RealInput m_flow(unit="kg/s") 
    "Fluid mass flow rate";
  Modelica.SIunits.CoefficientOfHeatTransfer hCon 
    "Convective heat transfer coefficient";
protected 
  Medium.ThermodynamicState fluSta = Medium.setState_pTX(p=Medium.p_default, T=fluid.T, X=Medium.X_default) 
    "State of the medium";
equation 
  hCon = Modelica.Fluid.Dissipation.HeatTransfer.StraightPipe.kc_overall_KC(
     IN_con=kc_IN_con, IN_var=kc_IN_var);

  dT = solid.T - fluid.T;
  solid.Q_flow = Q_flow;
  fluid.Q_flow = -Q_flow;
  Q_flow = hCon*A*dT;
end InternalFlowConvection;

Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.HeatFlowRateMultiplier Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.HeatFlowRateMultiplier

Multiplies the heat flow rate

Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.HeatFlowRateMultiplier

Information

This model multiplies the heat flow rate so that 0 = port_b.Q_flow + k * port_Q.m_flow.

The temperature remains unchanged. Therefore, this model does not conserve energy. It is used in Buildings.Fluid.HeatExchangers.RadiantSlabs.ParallelCircuitsSlab to avoid having to instanciate multiple slab models in parallel, with each having the same mass flow rate and temperatures.

Parameters

TypeNameDefaultDescription
Realk Gain for mass flow rate

Connectors

TypeNameDescription
HeatPort_aport_a 
HeatPort_bport_b 

Modelica definition

model HeatFlowRateMultiplier "Multiplies the heat flow rate"

  Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a port_a;
  Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_b port_b;
  parameter Real k "Gain for mass flow rate";
initial equation 
  assert( k > Modelica.Constants.small or -k < -Modelica.Constants.small,
    "Gain must not be zero. Received k = " + String(k));
equation 
  // Energy balance. (Energy is not conserved by this model!)
  port_b.Q_flow = -k*port_a.Q_flow;
  port_a.T = port_b.T;
end HeatFlowRateMultiplier;

Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.MassFlowRateMultiplier Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.MassFlowRateMultiplier

Model that multiplies the mass flow rate

Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.MassFlowRateMultiplier

Information

This model multiplies the mass flow rate so that 0 = port_b.m_flow + k * port_a.m_flow.

The specific enthalpy, the species concentration and the trace substance concentration remains unchanged. Therefore, this model does not conserve mass or energy. It is used in Buildings.Fluid.HeatExchangers.RadiantSlabs.ParallelCircuitsSlab to avoid having to instanciate multiple slab models in parallel, with each having the same mass flow rate and temperatures.

Parameters

TypeNameDefaultDescription
replaceable package MediumModelica.Media.Interfaces.Pa...Medium in the component
Realk Gain for mass flow rate

Connectors

TypeNameDescription
replaceable package MediumMedium in the component
FluidPort_aport_aFluid connector a
FluidPort_bport_bFluid connector b

Modelica definition

model MassFlowRateMultiplier 
  "Model that multiplies the mass flow rate"

  replaceable package Medium =
      Modelica.Media.Interfaces.PartialMedium "Medium in the component";

  parameter Real k "Gain for mass flow rate";
  Modelica.Fluid.Interfaces.FluidPort_a port_a(
                     redeclare package Medium = Medium) "Fluid connector a";
  Modelica.Fluid.Interfaces.FluidPort_b port_b(
                     redeclare package Medium = Medium) "Fluid connector b";
initial equation 
  assert( k > Modelica.Constants.small or -k < -Modelica.Constants.small,
    "Gain must not be zero. Received k = " + String(k));
equation 
    // Pressure drop in design flow direction
  port_a.p = port_b.p;

  // Mass balance (mass is not conserved by this model!)
 port_b.m_flow = -k*port_a.m_flow;

  // Specific enthalpy flow rate
  port_a.h_outflow = inStream(port_b.h_outflow);
  port_b.h_outflow = inStream(port_a.h_outflow);
  // Transport of substances
  port_a.Xi_outflow = inStream(port_b.Xi_outflow);
  port_b.Xi_outflow = inStream(port_a.Xi_outflow);

  port_a.C_outflow = inStream(port_b.C_outflow);
  port_b.C_outflow = inStream(port_a.C_outflow);

end MassFlowRateMultiplier;

Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.Slab Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.Slab

Base class for radiant slab

Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.Slab

Information

This partial model is used to construct radiant slab models with one circuit or with multiple parallel circuits.

Parameters

TypeNameDefaultDescription
SystemTypesysTyp Radiant system type
DistancedisPip Pipe distance [m]
Genericpipe Record for pipe geometry and material
Construction
Genericlayers Construction definition
IntegeriLayPip Number of interface layer in which pipes are located
Initialization
Construction
BooleansteadyStateInitialfalse=true initializes dT(0)/dt=0, false initializes T(0) at fixed temperature using T_a_start, T_c_start and T_b_start
TemperatureT_a_start293.15Initial temperature at surf_a, used if steadyStateInitial = false [K]
TemperatureT_b_start293.15Initial temperature at surf_b, used if steadyStateInitial = false [K]

Connectors

TypeNameDescription
HeatPort_asurf_aHeat port at construction surface
HeatPort_asurf_bHeat port at construction surface

Modelica definition

partial model Slab "Base class for radiant slab"
  parameter Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.Types.SystemType
     sysTyp "Radiant system type";

  parameter Modelica.SIunits.Distance disPip "Pipe distance";

  parameter Buildings.Fluid.Data.Pipes.Generic pipe 
    "Record for pipe geometry and material";

  parameter HeatTransfer.Data.OpaqueConstructions.Generic layers 
    "Construction definition";
  parameter Boolean steadyStateInitial=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";

  parameter Integer iLayPip(min=1) 
    "Number of interface layer in which pipes are located";

  parameter Modelica.SIunits.Temperature T_a_start=293.15 
    "Initial temperature at surf_a, used if steadyStateInitial = false";
  parameter Modelica.SIunits.Temperature T_b_start=293.15 
    "Initial temperature at surf_b, used if steadyStateInitial = false";

  Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a surf_a 
    "Heat port at construction surface";
  Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a surf_b 
    "Heat port at construction surface";
end Slab;

Automatically generated Tue Jan 8 08:30:12 2013.