-
Notifications
You must be signed in to change notification settings - Fork 34
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Window models BuildingSystems.Buildings.Constructions.Windows.Window …
…and BuildingSystems.Buildings.Constructions.Windows.SlidingWindow updated
- Loading branch information
1 parent
5bf5273
commit b1e9b9f
Showing
22 changed files
with
286 additions
and
409 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,191 @@ | ||
within BuildingSystems.Buildings.BaseClasses; | ||
partial model WindowGeneral | ||
"General window model" | ||
extends BuildingSystems.Buildings.BaseClasses.ConstructionGeneral( | ||
width = 1.0, | ||
height = 1.0, | ||
final abs_1 = 0.0, | ||
final abs_2 = 0.0); | ||
|
||
replaceable parameter BuildingSystems.Buildings.Data.Constructions.TransparentConstruction constructionData | ||
"Data of the thermal construction" | ||
annotation(Dialog(tab = "General", group = "Construction"), choicesAllMatching=true); | ||
parameter Real framePortion = 0.2 | ||
"Frame portion of the window" | ||
annotation(Dialog(tab = "General", group = "Geometry")); | ||
final parameter Modelica.SIunits.Length thicknessPane = sum(constructionData.thickness) | ||
"Thickness of all panes" | ||
annotation(Dialog(tab = "General", group = "Geometry")); | ||
constant Modelica.SIunits.Density rhoPane = 2000.0 | ||
"Density of the panes" | ||
annotation(Dialog(tab = "General", group = "Thermal properties")); | ||
constant Modelica.SIunits.SpecificHeatCapacity cPane = 1000.0 | ||
"Specific heat capacity of the panes" | ||
annotation(Dialog(tab = "General", group = "Thermal properties")); | ||
final parameter Modelica.SIunits.CoefficientOfHeatTransfer UVal | ||
= (1.0 - framePortion) * constructionData.UValGla + framePortion * constructionData.UValFra | ||
"Mean U-value of the window" | ||
annotation(Dialog(tab = "General", group = "Thermal properties")); | ||
final parameter Real tauDir0 = constructionData.g | ||
"Transmittance of direct radiation for perpendicular irradiation" | ||
annotation(Dialog(tab = "General", group = "Optical properties")); | ||
final parameter Real tauDif = constructionData.g | ||
"Transmittance of diffuse radiation" | ||
annotation(Dialog(tab = "General", group = "Optical properties")); | ||
final parameter Real b0 = constructionData.g | ||
"Coefficient for radiation transmision curve" | ||
annotation(Dialog(tab = "General", group = "Optical properties")); | ||
parameter Boolean use_GSC_in = false | ||
"= true, use input for geometric shading coefficient GSC" | ||
annotation(Dialog(tab = "General", group = "Shadowing")); | ||
Modelica.Blocks.Interfaces.RealOutput GSC_constant( | ||
min = 0.0, | ||
max = 1.0) = 0.0 | ||
"Constant shading coefficient (if use_GSC_in = true)" | ||
annotation(Dialog(tab = "General", group = "Shadowing")); | ||
input Modelica.Blocks.Interfaces.RealInput GSC_in if use_GSC_in | ||
"Shading coefficient" | ||
annotation (Placement(transformation(extent={{-10,-10},{10,10}},rotation=90, origin={0,-62}), | ||
iconTransformation(extent={{-8,-8},{8,8}},rotation=90, origin={0,-76}))); | ||
parameter Boolean show_TSur = false | ||
"Show surface temperatures on both sides" | ||
annotation(Dialog(tab = "Advanced", group = "Surface variables")); | ||
BuildingSystems.Interfaces.Temp_KOutput TSur_1 = toSurfacePort_1.heatPort.T if show_TSur | ||
"Temperature on surface side 1" | ||
annotation (Placement(transformation(extent={{-10,-10},{10,10}},rotation=180,origin={-46,10}),iconTransformation(extent={{-10,10},{-30,30}}))); | ||
BuildingSystems.Interfaces.Temp_KOutput TSur_2 = toSurfacePort_2.heatPort.T if show_TSur | ||
"Temperature on surface side 2" | ||
annotation (Placement(transformation(extent={{-10,-10},{10,10}},origin={46,10}),iconTransformation(extent={{10,10},{30,30}}))); | ||
parameter Modelica.SIunits.Temp_K T_start=293.15 | ||
"Start temperature of the window" | ||
annotation (Dialog(tab="Initialization")); | ||
BuildingSystems.Buildings.Interfaces.SurfaceToConstructionPort toSurfacePort_2( | ||
abs = abs_2, | ||
geo( | ||
angleDegAzi = angleDegAzi, | ||
angleDegTil = angleDegTil, | ||
width = width, | ||
height = height, | ||
zMean = zLevel + Modelica.Math.sin(Modelica.Constants.pi/180.0*angleDegTil) * height, | ||
point( | ||
x = {0.0,width,width,0.0}, | ||
y = {0.0,0.0,height,height}, | ||
z = {0.0,0.0,0.0,0.0})), | ||
epsilon = epsilon_2) | ||
annotation (Placement(transformation(extent={{10,-10},{30,10}}), iconTransformation(extent={{10,-10},{30,10}}))); | ||
BuildingSystems.Buildings.Interfaces.SurfaceToConstructionPort toSurfacePort_1( | ||
abs = abs_1, | ||
geo( | ||
angleDegAzi = angleDegAzi, | ||
angleDegTil = angleDegTil, | ||
width = width, | ||
height = height, | ||
zMean = zLevel + Modelica.Math.sin(Modelica.Constants.pi/180.0*angleDegTil) * height, | ||
point( | ||
x = {0.0,width,width,0.0}, | ||
y = {0.0,0.0,height,height}, | ||
z = {0.0,0.0,0.0,0.0})), | ||
epsilon = epsilon_1) | ||
annotation (Placement(transformation(extent={{-30,-10},{-10,10}}), iconTransformation(extent={{-30,-10},{-10,10}}))); | ||
BuildingSystems.HAM.HeatConduction.HeatConduction1D heatTransfer( | ||
material( | ||
lambda = UVal*thicknessPane, | ||
rho = rhoPane, | ||
c = cPane), | ||
lengthX=thicknessPane, | ||
lengthY=width, | ||
lengthZ=height, | ||
T_start=T_start) | ||
annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); | ||
BuildingSystems.HAM.HeatAndMoistureTransport.Sources.MoistureFlowFixed moistBcPort1( | ||
m_flow_constant=0.0) | ||
annotation (Placement(transformation(extent={{-48,-8},{-32,8}}))); | ||
BuildingSystems.HAM.HeatAndMoistureTransport.Sources.MoistureFlowFixed moistBcPort2( | ||
m_flow_constant=0.0) | ||
annotation (Placement(transformation(extent={{48,-8},{32,8}}))); | ||
BuildingSystems.Buildings.Constructions.Windows.RadiationTransmission.RadiationTransmissionSimple radTra1to2( | ||
tauDir0=tauDir0, | ||
b0=b0, | ||
tauDif=tauDif, | ||
framePortion=framePortion) | ||
annotation (Placement(transformation(extent={{-10,30},{10,50}}))); | ||
BuildingSystems.Buildings.Constructions.Windows.RadiationTransmission.RadiationTransmissionSimple radTra2to1( | ||
tauDir0=tauDir0, | ||
b0=b0, | ||
tauDif=tauDif, | ||
framePortion=framePortion) | ||
annotation (Placement(transformation(extent={{-10,-50},{10,-30}}))); | ||
protected | ||
Modelica.Blocks.Interfaces.RealInput GSC_internal | ||
"Shading coefficient"; | ||
equation | ||
// Shadowing | ||
if use_GSC_in then | ||
connect(GSC_internal,GSC_in); | ||
else | ||
connect(GSC_internal,GSC_constant); | ||
end if; | ||
connect(GSC_internal, radTra2to1.GSC); | ||
connect(GSC_internal, radTra1to2.GSC); | ||
// Solar Transmittance | ||
connect(radTra1to2.radiationPort_in, toSurfacePort_1.radiationPort_in) | ||
annotation (Line( | ||
points={{-1,40},{-20,40},{-20,0}}, | ||
color={0,0,0}, | ||
pattern=LinePattern.Solid, | ||
smooth=Smooth.None)); | ||
connect(radTra1to2.radiationPort_out, toSurfacePort_2.radiationPort_out) | ||
annotation (Line( | ||
points={{1,40},{20,40},{20,0}}, | ||
color={0,0,0}, | ||
pattern=LinePattern.Solid, | ||
smooth=Smooth.None)); | ||
connect(radTra2to1.radiationPort_in, toSurfacePort_2.radiationPort_in) | ||
annotation (Line( | ||
points={{-1,-40},{20,-40},{20,0}}, | ||
color={0,0,0}, | ||
pattern=LinePattern.Solid, | ||
smooth=Smooth.None)); | ||
connect(radTra2to1.radiationPort_out, toSurfacePort_1.radiationPort_out) | ||
annotation (Line( | ||
points={{1,-40},{-20,-40},{-20,0}}, | ||
color={0,0,0}, | ||
pattern=LinePattern.Solid, | ||
smooth=Smooth.None)); | ||
// Heat transfer | ||
connect(heatTransfer.heatPort_x2, toSurfacePort_2.heatPort) annotation (Line( | ||
points={{8,0},{20,0}}, | ||
color={191,0,0}, | ||
smooth=Smooth.None)); | ||
connect(heatTransfer.heatPort_x1, toSurfacePort_1.heatPort) annotation (Line( | ||
points={{-8,0},{-20,0}}, | ||
color={191,0,0}, | ||
smooth=Smooth.None)); | ||
// Moisture transport | ||
connect(moistBcPort1.moisturePort, toSurfacePort_1.moisturePort) annotation ( | ||
Line( | ||
points={{-35.2,0},{-20,0}}, | ||
color={120,0,120}, | ||
smooth=Smooth.None)); | ||
connect(moistBcPort2.moisturePort, toSurfacePort_2.moisturePort) annotation ( | ||
Line( | ||
points={{35.2,0},{20,0}}, | ||
color={120,0,120}, | ||
smooth=Smooth.None)); | ||
|
||
annotation (Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{100,100}}),graphics={ | ||
Rectangle(extent={{-20,80},{20,-80}},lineColor={230,230,230},fillColor={230,230,230},fillPattern = FillPattern.Solid), | ||
Line(points={{-20,80},{-20,-80}},color={0,0,255},smooth=Smooth.None,thickness=0.5)}), | ||
Documentation(info="<html> | ||
<p> | ||
This is partial model description of a win dow. | ||
</p> | ||
</html>", revisions="<html> | ||
<ul> | ||
<li> | ||
January 14, 2018 by Christoph Nytsch-Geusen:<br/> | ||
First implementation. | ||
</li> | ||
</ul> | ||
</html>")); | ||
end WindowGeneral; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.