diff --git a/IDEAS/Buildings/Components/BoundaryWall.mo b/IDEAS/Buildings/Components/BoundaryWall.mo
index 8b440c7d9..1ae6169c2 100644
--- a/IDEAS/Buildings/Components/BoundaryWall.mo
+++ b/IDEAS/Buildings/Components/BoundaryWall.mo
@@ -4,31 +4,36 @@ model BoundaryWall "Opaque wall with optional prescribed heat flow rate or tempe
final custom_q50=0,
final use_custom_q50=true,
final nWin=1,
- QTra_design=U_value*A*(273.15 + 21 - TRef_a),
dT_nominal_a=-1,
add_cracks=false,
+ final QTra_design(fixed=false),
layMul(disableInitPortB=use_T_in or use_T_fixed, monLay(monLayDyn(each
addRes_b=(sim.lineariseDymola and (use_T_in or use_T_fixed))))));
+ parameter Boolean use_T_in = false
+ "Use a temperature boundary condition which is read from the input connector T_in"
+ annotation(Dialog(group="Boundary conditions"));
parameter Boolean use_T_fixed = false
- "Get the boundary temperature from the input connector"
+ "Use a fixed temperature boundary condition which is read from the parameter T_fixed"
annotation(Dialog(group="Boundary conditions"));
parameter Modelica.Units.SI.Temperature T_fixed=294.15
"Fixed boundary temperature"
- annotation (Dialog(group="Boundary conditions", enable=use_T_fixed));
- parameter Boolean use_T_in = false
- "Get the boundary temperature from the input connector"
- annotation(Dialog(group="Boundary conditions"));
+ annotation (Dialog(group="Boundary conditions",enable=use_T_fixed));
+ parameter Modelica.Units.SI.Temperature T_in_nom=T_fixed
+ "Nominal boundary temperature, for calculation of design heat loss"
+ annotation (Dialog(group="Design power", tab="Advanced",enable=use_T_fixed or use_T_in));
parameter Boolean use_Q_in = false
- "Get the boundary heat flux from the input connector"
+ "Use a heat flow boundary condition which is read from the input connection Q_in"
annotation(Dialog(group="Boundary conditions"));
-
+ parameter Modelica.Units.SI.HeatFlowRate Q_in_nom=0
+ "Nominal boundary heat flux, for calculation of design heat loss (positive if entering the wall)"
+ annotation (Dialog(group="Design power", tab="Advanced", enable=use_Q_in));
Modelica.Blocks.Interfaces.RealInput T if use_T_in
"Input for boundary temperature" annotation (Placement(
transformation(extent={{-120,10},{-100,30}}),iconTransformation(extent={{-120,10},
{-100,30}})));
Modelica.Blocks.Interfaces.RealInput Q_flow if use_Q_in
- "Input for boundary heat flow rate entering the wall" annotation (Placement(
+ "Input for boundary heat flow rate entering the wall (positive)" annotation (Placement(
transformation(extent={{-120,-30},{-100,-10}}),
iconTransformation(extent={{-120,
-30},{-100,-10}})));
@@ -64,6 +69,8 @@ protected
IDEAS.Buildings.Components.Interfaces.WeaBus weaBus(final numSolBus=sim.numIncAndAziInBus,
outputAngles=sim.outputAngles) "Weather bus"
annotation (Placement(transformation(extent={{40,-80},{60,-60}})));
+initial equation
+ QTra_design=if use_T_in or use_T_fixed then U_value*A*(TRefZon - T_in_nom) else -Q_in_nom;
equation
assert(not (use_T_in and use_Q_in or use_T_in and use_T_fixed or use_Q_in and use_T_fixed),
"In "+getInstanceName()+": Only one of the following options can be used simultaneously: use_T_in, use_Q_in, use_T_fixed");
@@ -169,11 +176,18 @@ to enable an input for a prescribed boundary condition temperature or heat flow
Alternatively, parameters use_T_fixed
and T_fixed
can be used
to specify a fixed boundary condition temperature.
It is not allowed to enabled multiple of these three options.
-If all are disabled then an adiabatic boundary (Q_flow=0
) is used.
+If all are disabled, an adiabatic boundary (Q_flow=0
) is used.
T_in_nom
and Q_in_nom
are used for the calculation
+of heat losses, when the temperature boundary condition and heat flow boundary condition are applied, respectively.